refactor: replace static guardians with elemental progression system
Replace the old GUARDIANS constant (arbitrary floor assignments) with a proper elemental → compound → exotic → combo progression: - Floors 10-70: Base elements (Fire, Water, Air, Earth, Light, Dark, Death) - Floor 80: Utility element (Transference) - Floors 90-110: Compound elements (Metal, Sand, Lightning) - Floors 120-140: Exotic elements (Crystal, Stellar, Void) - Floor 150+: Procedural combo guardians (scaling with floor) Key changes: - Create guardian-data.ts with BASE_GUARDIANS (14 static entries) - Simplify guardian-encounters.ts to only handle procedural combos (150+) - getGuardianForFloor() now generates names for empty-name entries - Remove old compound/exotic duplicate definitions from guardian-encounters.ts - Update spire-utils.test.ts to test the new progression - Update SpireSummaryTab.test.ts floor counts (14 static + 10 combo = 24) All 89 guardian-related tests pass. 3 pre-existing failures in room-utils-floor-state.test.ts are unrelated (speed room / floor 0 edge cases).
This commit is contained in:
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"_meta": {
|
||||
"generated": "2026-05-23T12:53:15.385Z",
|
||||
"generated": "2026-05-23T14:09:22.569Z",
|
||||
"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."
|
||||
},
|
||||
@@ -12,13 +12,9 @@
|
||||
"constants/elements.ts": [
|
||||
"types.ts"
|
||||
],
|
||||
"constants/guardians.ts": [
|
||||
"types.ts"
|
||||
],
|
||||
"constants/index.ts": [
|
||||
"constants/core.ts",
|
||||
"constants/elements.ts",
|
||||
"constants/guardians.ts",
|
||||
"constants/prestige.ts",
|
||||
"constants/rooms.ts",
|
||||
"constants/spells.ts",
|
||||
@@ -358,8 +354,11 @@
|
||||
"data/golems/golems-data.ts",
|
||||
"data/golems/types.ts"
|
||||
],
|
||||
"data/guardian-data.ts": [
|
||||
"types.ts"
|
||||
],
|
||||
"data/guardian-encounters.ts": [
|
||||
"constants/guardians.ts",
|
||||
"data/guardian-data.ts",
|
||||
"types.ts"
|
||||
],
|
||||
"data/loot-drops.ts": [
|
||||
@@ -392,6 +391,7 @@
|
||||
"effects/upgrade-effects.types.ts": [],
|
||||
"hooks/useGameDerived.ts": [
|
||||
"constants.ts",
|
||||
"data/guardian-encounters.ts",
|
||||
"effects/special-effects.ts",
|
||||
"effects/upgrade-effects.ts",
|
||||
"stores/combatStore.ts",
|
||||
@@ -408,6 +408,7 @@
|
||||
],
|
||||
"stores/combat-actions.ts": [
|
||||
"constants.ts",
|
||||
"data/guardian-encounters.ts",
|
||||
"effects/discipline-effects.ts",
|
||||
"stores/combat-state.types.ts",
|
||||
"types.ts",
|
||||
@@ -497,6 +498,7 @@
|
||||
"stores/gameStore.ts": [
|
||||
"constants.ts",
|
||||
"data/attunements.ts",
|
||||
"data/guardian-encounters.ts",
|
||||
"effects.ts",
|
||||
"effects/discipline-effects.ts",
|
||||
"effects/special-effects.ts",
|
||||
@@ -537,6 +539,7 @@
|
||||
],
|
||||
"stores/prestigeStore.ts": [
|
||||
"constants.ts",
|
||||
"data/guardian-encounters.ts",
|
||||
"types.ts",
|
||||
"utils/result.ts",
|
||||
"utils/safe-persist.ts"
|
||||
@@ -593,6 +596,8 @@
|
||||
"utils/combat-utils.ts": [
|
||||
"constants.ts",
|
||||
"data/enchantment-effects.ts",
|
||||
"data/guardian-data.ts",
|
||||
"data/guardian-encounters.ts",
|
||||
"types.ts",
|
||||
"utils/mana-utils.ts"
|
||||
],
|
||||
@@ -610,7 +615,8 @@
|
||||
"utils/floor-utils.ts"
|
||||
],
|
||||
"utils/floor-utils.ts": [
|
||||
"constants.ts"
|
||||
"constants.ts",
|
||||
"data/guardian-encounters.ts"
|
||||
],
|
||||
"utils/formatting.ts": [],
|
||||
"utils/index.ts": [
|
||||
@@ -633,6 +639,7 @@
|
||||
"utils/result.ts": [],
|
||||
"utils/room-utils.ts": [
|
||||
"constants.ts",
|
||||
"data/guardian-encounters.ts",
|
||||
"types.ts",
|
||||
"utils/enemy-utils.ts",
|
||||
"utils/floor-utils.ts"
|
||||
|
||||
Reference in New Issue
Block a user