diff options
author | metamuffin <metamuffin@disroot.org> | 2025-06-03 21:37:38 +0200 |
---|---|---|
committer | metamuffin <metamuffin@disroot.org> | 2025-06-03 21:37:38 +0200 |
commit | 29772d6b2f244c6c172347c5e96530a16ca4517d (patch) | |
tree | d0efbf6d035a5b8ca07f0b87abebd6097ccc7181 /server | |
parent | 5acdf0a7ae6fcf92d399d9023da07240e7870fef (diff) | |
download | hurrycurry-29772d6b2f244c6c172347c5e96530a16ca4517d.tar hurrycurry-29772d6b2f244c6c172347c5e96530a16ca4517d.tar.bz2 hurrycurry-29772d6b2f244c6c172347c5e96530a16ca4517d.tar.zst |
pedestrian speed config
Diffstat (limited to 'server')
-rw-r--r-- | server/src/entity/mod.rs | 11 | ||||
-rw-r--r-- | server/src/entity/pedestrians.rs | 3 |
2 files changed, 11 insertions, 3 deletions
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<f32>, + speed: Option<f32>, points: Vec<Vec2>, }, } @@ -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<Vec2>, pub spawn_delay_distr: rand_distr::Normal<f32>, 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, }); |