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/entity/conveyor.rs | 1 + server/src/entity/portal.rs | 1 + server/src/game.rs | 4 ++++ 3 files changed, 6 insertions(+) (limited to 'server/src') diff --git a/server/src/entity/conveyor.rs b/server/src/entity/conveyor.rs index 7f3d8688..b370356c 100644 --- a/server/src/entity/conveyor.rs +++ b/server/src/entity/conveyor.rs @@ -77,6 +77,7 @@ impl EntityT for Conveyor { Some(to.kind), packet_out, &mut game.score, + &mut game.score_changed, true, ); } diff --git a/server/src/entity/portal.rs b/server/src/entity/portal.rs index dc376681..3ed19719 100644 --- a/server/src/entity/portal.rs +++ b/server/src/entity/portal.rs @@ -50,6 +50,7 @@ impl EntityT for Portal { Some(to.kind), packet_out, &mut game.score, + &mut game.score_changed, true, ); } 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') 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