diff options
Diffstat (limited to 'server/src/entity')
-rw-r--r-- | server/src/entity/book.rs | 2 | ||||
-rw-r--r-- | server/src/entity/customers.rs | 1 | ||||
-rw-r--r-- | server/src/entity/mod.rs | 7 |
3 files changed, 8 insertions, 2 deletions
diff --git a/server/src/entity/book.rs b/server/src/entity/book.rs index 70197764..8b152bb9 100644 --- a/server/src/entity/book.rs +++ b/server/src/entity/book.rs @@ -32,7 +32,7 @@ impl Entity for Book { ) -> Result<bool, TrError> { if pos == Some(self.0) { if let Some(r) = c.replies { - r.push(PacketC::Menu(Menu::Book)); + r.push(PacketC::Menu(Menu::Document(c.serverdata.book.clone()))); } return Ok(true); } diff --git a/server/src/entity/customers.rs b/server/src/entity/customers.rs index 1e8b6b13..0c3ced8d 100644 --- a/server/src/entity/customers.rs +++ b/server/src/entity/customers.rs @@ -65,6 +65,7 @@ impl Entity for Customers { for bot in &mut self.customers { bot.tick(EntityContext { game: c.game, + serverdata: c.serverdata, packet_out: c.packet_out, packet_in: c.packet_in, score_changed: c.score_changed, diff --git a/server/src/entity/mod.rs b/server/src/entity/mod.rs index 87656f0d..044fccab 100644 --- a/server/src/entity/mod.rs +++ b/server/src/entity/mod.rs @@ -25,7 +25,11 @@ pub mod item_portal; pub mod player_portal; pub mod tutorial; -use crate::{data::ItemTileRegistry, message::TrError, scoreboard::ScoreboardStore}; +use crate::{ + data::{ItemTileRegistry, Serverdata}, + message::TrError, + scoreboard::ScoreboardStore, +}; use anyhow::{anyhow, Result}; use book::Book; use campaign::{Gate, GateCondition, Map}; @@ -47,6 +51,7 @@ pub type Entities = Vec<DynEntity>; pub struct EntityContext<'a> { pub game: &'a mut Game, + pub serverdata: &'a Serverdata, pub packet_out: &'a mut VecDeque<PacketC>, pub packet_in: &'a mut VecDeque<PacketS>, pub score_changed: &'a mut bool, |