td

slow.rs at trunk
Login

slow.rs at trunk

File src/pools/slow.rs artifact 41eba223ea on branch trunk


//! Per-tick slow for a slow field — applies a status to enemies in range.

use crate::{behavior::pool::PoolBehavior, context::TickContext, pool::GroundPool};

#[derive(Clone)]
pub struct SlowTick {
    pub factor: f32,
}
impl PoolBehavior for SlowTick {
    fn on_tick(&mut self, pool: &mut GroundPool, c: &mut TickContext) {
        for _e in c.query.enemies_in_radius(pool.pos, pool.radius) {
            // TODO: apply a real "Slow" StatusBehavior once movement-modifier statuses
            // exist (`StatusBehavior` today only supports the periodic-damage shape via
            // `PeriodDamage` — a speed modifier needs its own impl, not a fake Status).
        }
    }
}