diff options
author | metamuffin <metamuffin@disroot.org> | 2024-06-25 23:52:32 +0200 |
---|---|---|
committer | metamuffin <metamuffin@disroot.org> | 2024-06-25 23:52:32 +0200 |
commit | 9cd92ce6266bfe7be6a44e3985ee49f959f88e16 (patch) | |
tree | a5d524407f217ee15f3e1cf0d745171c67d2c78b /server/src/game.rs | |
parent | ab6279e726ac7e10a4c5211a3d3827471fd35ccf (diff) | |
download | hurrycurry-9cd92ce6266bfe7be6a44e3985ee49f959f88e16.tar hurrycurry-9cd92ce6266bfe7be6a44e3985ee49f959f88e16.tar.bz2 hurrycurry-9cd92ce6266bfe7be6a44e3985ee49f959f88e16.tar.zst |
dont add players twice on map change
Diffstat (limited to 'server/src/game.rs')
-rw-r--r-- | server/src/game.rs | 15 |
1 files changed, 13 insertions, 2 deletions
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::<HashMap<_, _>>(); @@ -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()); |