//! Concrete weapon upgrades — each a `ProjectileBehavior`, constructed by the registry from
//! a `WeaponID` + tier (see `crate::registry::WeaponRegistry`, `crate::tower::Tower`). There's
//! no separate lifecycle trait: each weapon's stats are a pure function of tier, so leveling
//! up is just "the tower's tier number for this id goes up," not an in-place mutation this
//! module needs to define a contract for.

pub mod impact;
pub mod poison;
