From 9cd92ce6266bfe7be6a44e3985ee49f959f88e16 Mon Sep 17 00:00:00 2001 From: metamuffin Date: Tue, 25 Jun 2024 23:52:32 +0200 Subject: dont add players twice on map change --- server/src/game.rs | 15 +++++++++++++-- 1 file changed, 13 insertions(+), 2 deletions(-) (limited to 'server/src') diff --git a/server/src/game.rs b/server/src/game.rs index c0a03616..48427ba1 100644 --- a/server/src/game.rs +++ b/server/src/game.rs @@ -92,6 +92,7 @@ impl Game { let players = self .players .iter() + .filter(|(id, _)| id.0 >= 0) .map(|(id, p)| (*id, (p.name.to_owned(), p.character))) .collect::>(); @@ -111,8 +112,18 @@ impl Game { ); } for (id, (name, character)) in players { - self.packet_in(id, PacketS::Join { name, character }) - .unwrap(); + self.players.insert( + id, + Player { + item: None, + last_position_ts: Instant::now(), + character, + position: self.data.chef_spawn, + communicate: None, + interacting: None, + name: name.clone(), + }, + ); } self.packet_out.extend(self.prime_client()); -- cgit v1.2.3-70-g09d2