From 516546c3d20e1715370073acf2e6b8114351f8e9 Mon Sep 17 00:00:00 2001 From: metamuffin Date: Sat, 11 Oct 2025 22:25:31 +0200 Subject: Improve server logging and use central player id counter (close #450) --- server/src/entity/tram.rs | 24 ++++++++++-------------- 1 file changed, 10 insertions(+), 14 deletions(-) (limited to 'server/src/entity/tram.rs') diff --git a/server/src/entity/tram.rs b/server/src/entity/tram.rs index 391d16a9..2d6aa8c1 100644 --- a/server/src/entity/tram.rs +++ b/server/src/entity/tram.rs @@ -1,5 +1,3 @@ -use std::random::random; - /* Hurry Curry! - a game about cooking Copyright (C) 2025 Hurry Curry! Contributors @@ -36,18 +34,16 @@ impl Entity for Tram { false } fn tick(&mut self, c: EntityContext<'_>) -> Result<()> { - if self.ids.is_empty() { - for i in 0..self.length { - let id = PlayerID(random(..)); - c.packet_in.push_back(PacketS::Join { - name: format!("Tram {i}"), - character: self.character, - class: PlayerClass::Tram, - id: Some(id), - position: self.points.first().copied(), - }); - self.ids.push(id); - } + if self.ids.len() < self.length { + let id = c.game.get_unused_player_id(); + c.packet_in.push_back(PacketS::Join { + id: Some(id), + name: format!("Tram {}", self.ids.len()), + character: self.character, + class: PlayerClass::Tram, + position: self.points.first().copied(), + }); + self.ids.push(id); } for (i, id) in self.ids.iter().enumerate() { -- cgit v1.3