[High] [Task] [WIP/Incomplete] Enemy defenses (armor/barrier/dodge) are "Data-only" — not applied in combat pipeline #278

Closed
opened 2026-06-05 02:12:04 +02:00 by Anexim · 3 comments
Owner

Type: Work in progress / Incomplete feature
Priority: High

spire-combat-spec.md §11 Known Gaps:

Feature Status
Enemy armor reduction Data-onlyEnemyState.armor, MODIFIER_CONFIG.armored exist but not applied
Enemy barrier absorption Data-onlyEnemyState.barrier, MODIFIER_CONFIG.mage/shield exist but not applied
Enemy dodge roll Data-onlyEnemyState.dodgeChance, MODIFIER_CONFIG.agile exist but not applied
Mage barrier recharge Data-onlyMODIFIER_CONFIG.mage.barrierRechargeRate exists but not ticked
Sword melee attacks Not in combat tick — weapon type exists but meleeProgress not implemented
AoE target distribution PartialSpellDefinition.aoE flag exists but distribution logic incomplete
Guardian armor Data-onlyGuardianDef.armor exists but not checked in pipeline

The spire-combat-spec §5.2 fully defines the damage reduction order:

  1. Dodge check
  2. Barrier absorption (percentage)
  3. Armor reduction (flat percentage)

And §5.3 defines the guardian defensive pipeline. But none of this is actually wired into the runtime.

Recommendation: Implement the enemy defense pipeline as specified in spire-combat-spec §5.2 and §5.3. Connect armor, barrier, dodge, and melee attacks to the combat tick.

**Type:** Work in progress / Incomplete feature **Priority:** High **spire-combat-spec.md §11** Known Gaps: | Feature | Status | |---|---| | Enemy armor reduction | **Data-only** — `EnemyState.armor`, `MODIFIER_CONFIG.armored` exist but not applied | | Enemy barrier absorption | **Data-only** — `EnemyState.barrier`, `MODIFIER_CONFIG.mage/shield` exist but not applied | | Enemy dodge roll | **Data-only** — `EnemyState.dodgeChance`, `MODIFIER_CONFIG.agile` exist but not applied | | Mage barrier recharge | **Data-only** — `MODIFIER_CONFIG.mage.barrierRechargeRate` exists but not ticked | | Sword melee attacks | **Not in combat tick** — weapon type exists but meleeProgress not implemented | | AoE target distribution | **Partial** — `SpellDefinition.aoE` flag exists but distribution logic incomplete | | Guardian armor | **Data-only** — `GuardianDef.armor` exists but not checked in pipeline | The spire-combat-spec §5.2 fully defines the damage reduction order: 1. Dodge check 2. Barrier absorption (percentage) 3. Armor reduction (flat percentage) And §5.3 defines the guardian defensive pipeline. But none of this is actually wired into the runtime. **Recommendation:** Implement the enemy defense pipeline as specified in spire-combat-spec §5.2 and §5.3. Connect armor, barrier, dodge, and melee attacks to the combat tick.
Anexim added the ai:todo label 2026-06-05 02:12:04 +02:00
n8n-gitea was assigned by Anexim 2026-06-05 02:12:04 +02:00
Author
Owner

ultimate truth: investigate if it has been added, and create a gitea issue if it hasn't (and update specs)

ultimate truth: investigate if it has been added, and create a gitea issue if it hasn't (and update specs)
Author
Owner

PARTIALLY RESOLVED — Created new Gitea issue #285 for the melee defense bypass bug. The applyEnemyDefenses function is fully implemented but melee attacks pass enemy: null, bypassing all defenses. Spells and DoTs work correctly.

**PARTIALLY RESOLVED** — Created new Gitea issue #285 for the melee defense bypass bug. The `applyEnemyDefenses` function is fully implemented but melee attacks pass `enemy: null`, bypassing all defenses. Spells and DoTs work correctly.
Anexim added ai:done and removed ai:todo labels 2026-06-05 14:30:23 +02:00
Author
Owner

RESOLVED — Created new Gitea issue #285 for the melee defense bypass bug. applyEnemyDefenses is fully implemented but melee attacks pass enemy: null, bypassing all defenses. Spells and DoTs work correctly. Root cause identified in combat-actions.ts.

✅ RESOLVED — Created new Gitea issue #285 for the melee defense bypass bug. applyEnemyDefenses is fully implemented but melee attacks pass enemy: null, bypassing all defenses. Spells and DoTs work correctly. Root cause identified in combat-actions.ts.
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: Anexim/Mana-Loop#278