From db7b138cb66a2b48492e457fdf0ae8cd65cc73db Mon Sep 17 00:00:00 2001 From: troido Date: Mon, 13 Apr 2020 13:13:04 +0200 Subject: volate replaced by grow --- src/systems/growth.rs | 8 ++++++-- src/systems/mod.rs | 2 -- src/systems/volate.rs | 34 ---------------------------------- 3 files changed, 6 insertions(+), 38 deletions(-) delete mode 100644 src/systems/volate.rs (limited to 'src/systems') diff --git a/src/systems/growth.rs b/src/systems/growth.rs index 3baa3e8..7daa3d7 100644 --- a/src/systems/growth.rs +++ b/src/systems/growth.rs @@ -33,8 +33,12 @@ impl <'a> System<'a> for Growth{ for (entity, grow) in (&entities, &mut grows).join(){ if grow.target_time == None { let creation_time = time.time + time_offsets.get(entity).map(|ct| ct.dtime).unwrap_or(0); - let duration = grow.delay as f64 * (1.0 + rand::random::()) / (if rand::random() {1.0} else {2.0}); - grow.target_time = Some(creation_time + duration as i64); + let mut r = 1.0 - rand::random::() * grow.spread; + if rand::random() { + r = 1.0 / r; + } + let duration = (grow.delay as f64 * r + 0.4) as i64; + grow.target_time = Some(creation_time + duration); } let target_time = grow.target_time.unwrap(); if target_time <= time.time { diff --git a/src/systems/mod.rs b/src/systems/mod.rs index 72a6845..fbd5c64 100644 --- a/src/systems/mod.rs +++ b/src/systems/mod.rs @@ -12,7 +12,6 @@ mod attacking; mod trapping; mod fight; mod heal; -mod volate; mod updatecooldowns; mod controlai; mod die; @@ -37,7 +36,6 @@ pub use self::{ trapping::Trapping, fight::Fight, heal::Heal, - volate::Volate, updatecooldowns::UpdateCooldowns, controlai::ControlAI, die::Die, diff --git a/src/systems/volate.rs b/src/systems/volate.rs deleted file mode 100644 index cd50995..0000000 --- a/src/systems/volate.rs +++ /dev/null @@ -1,34 +0,0 @@ - -use specs::{ - Read, - WriteStorage, - Entities, - System, - Join -}; - -use crate::{ - components::{Volatile, Removed}, - resources::Time -}; - -pub struct Volate; -impl <'a> System<'a> for Volate { - type SystemData = ( - Entities<'a>, - WriteStorage<'a, Volatile>, - WriteStorage<'a, Removed>, - Read<'a, Time> - ); - fn run(&mut self, (entities, mut volatiles, mut removals, timestamp): Self::SystemData) { - for (ent, volatile) in (&entities, &mut volatiles).join() { - if let Some(time) = volatile.end_time { - if time <= timestamp.time { - removals.insert(ent, Removed).unwrap(); - } - } else { - volatile.end_time = Some(timestamp.time + volatile.delay); - } - } - } -} -- cgit