[High] [Task] DoT/debuff system fully implemented and wired into combat pipeline #286
Reference in New Issue
Block a user
Delete Branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Type: Verification / Documentation update
Priority: High
Investigation findings:
The DoT/debuff system is fully implemented and wired into the combat pipeline. This contradicts the spire-combat-spec.md §11 "Known Gaps" table which lists it as "No runtime".
What's implemented:
dot-runtime.ts—applyOnHitEffect()andprocessDoTPhase()are completebypassArmorandbypassBarrierflags work correctlycombat-actions.tsat line 169 (on-hit) and line 318 (DoT tick phase)Minor gap: The
curseeffect amplifies incoming damage but the actual multiplication of incoming damage by curse magnitude is not visible incombat-actions.tsorcombat-tick.ts. It may need to be applied inapplyEnemyDefensesoronDamageDealt.Action needed: Update spire-combat-spec.md §11 "Known Gaps" table to reflect that DoT/debuff is implemented. Investigate curse amplification.
Starting investigation of the DoT/debuff system verification. The issue reports that the curse effect amplifies incoming damage but the actual multiplication may not be applied in combat-actions.ts or combat-tick.ts. Will investigate the code path.
DoT/Debuff System Verification Complete
Findings
The DoT/debuff system in
dot-runtime.tsis fully implemented and wired into the combat pipeline. All 9 effect types from spec §6 are handled:Gap Found and Fixed: Curse Amplification
Issue: The curse effect was stored on enemies via
applyOnHitEffect()but the amplification was never applied to incoming damage. TheprocessDoTPhase()function had a comment// No immediate HP effect — curse multiplier is stored on the enemybut no code anywhere consumed the curse effect.Fix: Added curse amplification check in
applyEnemyDefenses()(combat-tick.ts):activeEffectsfor curse effects(1 + magnitude)for each curseTests Added
curse-amplification.test.ts— 9 tests covering:Spec Updated
Updated
spire-combat-spec.md§11 Known Gaps table to reflect:Verification
325949c,bd15df8)