td

Artifact [41eba223ea]
Login

Artifact [41eba223ea]

Artifact 41eba223ea16f62f76cd207208b9667df65ad6e9268a5a54e84bd65375f8482e:


//! 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).
        }
    }
}