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()); | 
