feat: implement DoT/debuff runtime system (spec §6, AC-12, AC-13)
Build and Publish Mana Loop Docker Image / build-and-publish (push) Successful in 1m18s
Build and Publish Mana Loop Docker Image / build-and-publish (push) Successful in 1m18s
- Add ActiveEffect, EffectType types to game.ts; activeEffects + effectiveArmor on EnemyState - Add SpellOnHitEffect + onHitEffect field to SpellDefinition - Wire onHitEffect to fire (burn), death (curse), lightning (armor_corrode), frost (freeze), soul (bypassArmor burn) - Add applyOnHitEffect() — applies on-hit effect on successful spell hit (spec §6.2) - Add processDoTPhase() — ticks all active effects after weapon/golem attacks (spec §6.3) - Add bypassArmor/bypassBarrier support in applyEnemyDefenses() (AC-13) - Export standalone applyEnemyDefenses from combat-tick.ts for DoT pipeline - Split DoT runtime into separate dot-runtime.ts (135 lines) to keep combat-actions.ts under 400 lines - Update all enemy generation sites with activeEffects/effectiveArmor defaults - Fix test helpers for new required fields All 921 tests pass (45 test files)
This commit is contained in:
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"_meta": {
|
||||
"generated": "2026-06-02T14:39:44.895Z",
|
||||
"generated": "2026-06-03T13:40:50.953Z",
|
||||
"description": "Import dependency graph for src/lib/game. Keys are files, values are arrays of files they import.",
|
||||
"usage": "To find what a file affects, search for its path in the VALUES. To find what a file depends on, look at its KEY entry."
|
||||
},
|
||||
@@ -533,22 +533,33 @@
|
||||
"data/guardian-encounters.ts",
|
||||
"effects/discipline-effects.ts",
|
||||
"stores/combat-state.types.ts",
|
||||
"stores/golem-combat-actions.ts",
|
||||
"types.ts",
|
||||
"utils/index.ts"
|
||||
],
|
||||
"stores/combat-descent-actions.ts": [
|
||||
"data/guardian-encounters.ts",
|
||||
"stores/combat-state.types.ts",
|
||||
"stores/discipline-slice.ts",
|
||||
"stores/golem-combat-actions.ts",
|
||||
"stores/manaStore.ts",
|
||||
"stores/prestigeStore.ts",
|
||||
"types.ts",
|
||||
"utils/spire-utils.ts"
|
||||
],
|
||||
"stores/combat-state.types.ts": [
|
||||
"types.ts"
|
||||
],
|
||||
"stores/combatStore.ts": [
|
||||
"data/guardian-encounters.ts",
|
||||
"stores/combat-actions.ts",
|
||||
"stores/combat-descent-actions.ts",
|
||||
"stores/combat-state.types.ts",
|
||||
"types.ts",
|
||||
"utils/activity-log.ts",
|
||||
"utils/index.ts",
|
||||
"utils/room-utils.ts",
|
||||
"utils/safe-persist.ts",
|
||||
"utils/spire-utils.ts"
|
||||
"utils/safe-persist.ts"
|
||||
],
|
||||
"stores/crafting-equipment-tick.ts": [
|
||||
"constants.ts",
|
||||
@@ -661,15 +672,23 @@
|
||||
"stores/manaStore.ts",
|
||||
"stores/pipelines/combat-tick.ts",
|
||||
"stores/pipelines/enchanting-tick.ts",
|
||||
"stores/pipelines/golem-combat.ts",
|
||||
"stores/pipelines/pact-ritual.ts",
|
||||
"stores/prestigeStore.ts",
|
||||
"stores/tick-pipeline.ts",
|
||||
"stores/uiStore.ts",
|
||||
"types.ts",
|
||||
"utils/element-cap-bonus.ts",
|
||||
"utils/index.ts",
|
||||
"utils/safe-persist.ts"
|
||||
],
|
||||
"stores/gameStore.types.ts": [],
|
||||
"stores/golem-combat-actions.ts": [
|
||||
"constants.ts",
|
||||
"data/golems/index.ts",
|
||||
"types.ts",
|
||||
"utils/index.ts"
|
||||
],
|
||||
"stores/index.ts": [
|
||||
"constants.ts",
|
||||
"stores/attunementStore.ts",
|
||||
@@ -696,7 +715,9 @@
|
||||
"constants.ts",
|
||||
"data/guardian-encounters.ts",
|
||||
"effects/special-effects.ts",
|
||||
"effects/upgrade-effects.types.ts"
|
||||
"effects/upgrade-effects.types.ts",
|
||||
"stores/golem-combat-actions.ts",
|
||||
"types.ts"
|
||||
],
|
||||
"stores/pipelines/enchanting-tick.ts": [
|
||||
"constants.ts",
|
||||
@@ -715,6 +736,12 @@
|
||||
"stores/manaStore.ts",
|
||||
"stores/uiStore.ts"
|
||||
],
|
||||
"stores/pipelines/golem-combat.ts": [
|
||||
"stores/combatStore.ts",
|
||||
"stores/golem-combat-actions.ts",
|
||||
"stores/manaStore.ts",
|
||||
"types.ts"
|
||||
],
|
||||
"stores/pipelines/pact-ritual.ts": [
|
||||
"constants.ts",
|
||||
"data/guardian-encounters.ts",
|
||||
|
||||
Reference in New Issue
Block a user