Parent
Restructure spec: #13 (RESTRUCTURE_PLAN.md)
What to build
WeaponService owning per-brother weapon slots, switching, and ammo facts in WeaponsState; a single ammo listener replaces the per-switch signal reconnect dance in the input handler; the ammo API duplicated across weapons and the medkit is unified. Knockback, recoil, and shot visuals stay on the weapon node. Behavior is identical and ammo/switching rules are headlessly testable.
Acceptance criteria
Blocked by
Parent
Restructure spec: #13 (RESTRUCTURE_PLAN.md)
What to build
WeaponService owning per-brother weapon slots, switching, and ammo facts in WeaponsState; a single ammo listener replaces the per-switch signal reconnect dance in the input handler; the ammo API duplicated across weapons and the medkit is unified. Knockback, recoil, and shot visuals stay on the weapon node. Behavior is identical and ammo/switching rules are headlessly testable.
Acceptance criteria
Blocked by