From 1675781c5ee3cbd6e9dc9960a59fda58d9cb75c8 Mon Sep 17 00:00:00 2001 From: nokoe Date: Tue, 23 Jul 2024 13:13:01 +0200 Subject: fix score not being sent when interacting --- server/src/game.rs | 4 ++++ 1 file changed, 4 insertions(+) (limited to 'server/src/game.rs') diff --git a/server/src/game.rs b/server/src/game.rs index 89ea7dfc..e3d170a1 100644 --- a/server/src/game.rs +++ b/server/src/game.rs @@ -415,6 +415,7 @@ impl Game { None, packet_out, &mut self.score, + &mut self.score_changed, false, ) } else { @@ -433,6 +434,7 @@ impl Game { Some(tile.kind), packet_out, &mut self.score, + &mut self.score_changed, false, ) } @@ -628,6 +630,7 @@ pub fn interact_effect( this_tile_kind: Option, packet_out: &mut VecDeque, score: &mut Score, + score_changed: &mut bool, automated: bool, ) { let this_had_item = this.is_some(); @@ -651,6 +654,7 @@ pub fn interact_effect( } InteractEffect::Produce => { info!("produce {this_loc} <~ {other_loc}"); + *score_changed = true; if this_had_item { packet_out.push_back(PacketC::SetProgress { item: this_loc, -- cgit v1.2.3-70-g09d2 From eb6af5d8bf056bad6528509846d3735c31a2d061 Mon Sep 17 00:00:00 2001 From: nokoe Date: Tue, 23 Jul 2024 13:31:30 +0200 Subject: send correct time in initial score packet --- server/src/game.rs | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) (limited to 'server/src/game.rs') diff --git a/server/src/game.rs b/server/src/game.rs index e3d170a1..1692de34 100644 --- a/server/src/game.rs +++ b/server/src/game.rs @@ -136,7 +136,10 @@ impl Game { self.lobby = gamedata.map_name == "lobby"; self.data = gamedata.into(); - self.score = Score::default(); + self.score = Score { + time_remaining: timer.map(|dur| dur.as_secs_f64()).unwrap_or(0.), + ..Default::default() + }; self.end = timer.map(|dur| Instant::now() + dur); self.entities = Arc::new(RwLock::new(self.data.entities.clone())); -- cgit v1.2.3-70-g09d2