From 29772d6b2f244c6c172347c5e96530a16ca4517d Mon Sep 17 00:00:00 2001 From: metamuffin Date: Tue, 3 Jun 2025 21:37:38 +0200 Subject: pedestrian speed config --- server/src/entity/mod.rs | 11 +++++++++-- server/src/entity/pedestrians.rs | 3 ++- 2 files changed, 11 insertions(+), 3 deletions(-) (limited to 'server/src') diff --git a/server/src/entity/mod.rs b/server/src/entity/mod.rs index 2eadc0ff..6d69436d 100644 --- a/server/src/entity/mod.rs +++ b/server/src/entity/mod.rs @@ -150,7 +150,8 @@ pub enum EntityDecl { Book, Pedestrians { spawn_delay: f32, - spawn_delay_stdev: f32, + spawn_delay_stdev: Option, + speed: Option, points: Vec, }, } @@ -240,11 +241,17 @@ pub fn construct_entity( spawn_delay, spawn_delay_stdev, points, + speed, } => Box::new(Pedestrians { players: HashMap::new(), points, - spawn_delay_distr: rand_distr::Normal::new(spawn_delay, spawn_delay_stdev).unwrap(), + spawn_delay_distr: rand_distr::Normal::new( + spawn_delay, + spawn_delay_stdev.unwrap_or(0.), + ) + .unwrap(), cooldown: 0., + speed: speed.unwrap_or(0.6), }), }) } diff --git a/server/src/entity/pedestrians.rs b/server/src/entity/pedestrians.rs index 64adf57b..cedb9e46 100644 --- a/server/src/entity/pedestrians.rs +++ b/server/src/entity/pedestrians.rs @@ -27,6 +27,7 @@ pub struct Pedestrians { pub points: Vec, pub spawn_delay_distr: rand_distr::Normal, pub cooldown: f32, + pub speed: f32, } impl Entity for Pedestrians { @@ -65,7 +66,7 @@ impl Entity for Pedestrians { } else { c.packet_in.push_back(PacketS::Movement { player: *id, - dir: diff, + dir: diff.normalize_or_zero() * self.speed, boost: false, pos: None, }); -- cgit v1.2.3-70-g09d2