summaryrefslogtreecommitdiff
path: root/server/src/entity
diff options
context:
space:
mode:
Diffstat (limited to 'server/src/entity')
-rw-r--r--server/src/entity/book.rs2
-rw-r--r--server/src/entity/customers.rs1
-rw-r--r--server/src/entity/mod.rs7
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,