fix: add missing enchantment effects for rotTouch, soulRend, master, and legendary spells
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 spell_rotTouch to BASIC_SPELL_EFFECTS (death element Tier 1) - Add spell_soulRend to TIER2_SPELL_EFFECTS (death element Tier 2) - Add spell_cosmicStorm, spell_heavenLight, spell_oblivion, spell_deathMark to TIER3_SPELL_EFFECTS (master spells) - Create legendary-spells.ts with spell_stellarNova, spell_voidCollapse, spell_crystalShatter (legendary spells) - Update spell-effects/index.ts to include LEGENDARY_SPELL_EFFECTS in SPELL_EFFECTS Closes #41
This commit is contained in:
@@ -1,8 +1,10 @@
|
||||
# Circular Dependencies
|
||||
Generated: 2026-05-18T17:38:26.640Z
|
||||
Found: 1 circular chain(s) — these MUST be fixed before modifying involved files.
|
||||
Generated: 2026-05-18T18:09:58.620Z
|
||||
Found: 3 circular chain(s) — these MUST be fixed before modifying involved files.
|
||||
|
||||
1. Processed 123 files (1.3s) (29 warnings)
|
||||
2. 1) data/equipment/index.ts > data/equipment/utils.ts
|
||||
3. 2) data/golems/index.ts > data/golems/utils.ts
|
||||
|
||||
## How to fix
|
||||
1. Identify which import in the chain can be extracted to a shared types/utils file.
|
||||
|
||||
+20
-18
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"_meta": {
|
||||
"generated": "2026-05-18T17:38:25.120Z",
|
||||
"generated": "2026-05-18T18:09:57.081Z",
|
||||
"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."
|
||||
},
|
||||
@@ -21,12 +21,15 @@
|
||||
"constants/guardians.ts",
|
||||
"constants/prestige.ts",
|
||||
"constants/rooms.ts",
|
||||
"constants/spells.ts"
|
||||
"constants/spells.ts",
|
||||
"types/game.ts"
|
||||
],
|
||||
"constants/prestige.ts": [
|
||||
"types.ts"
|
||||
],
|
||||
"constants/rooms.ts": [],
|
||||
"constants/rooms.ts": [
|
||||
"types/game.ts"
|
||||
],
|
||||
"constants/spells-modules/advanced-spells.ts": [
|
||||
"constants/elements.ts",
|
||||
"types.ts"
|
||||
@@ -255,6 +258,7 @@
|
||||
"data/enchantments/spell-effects/types.ts"
|
||||
],
|
||||
"data/enchantments/spell-effects/index.ts": [
|
||||
"data/enchantment-types.ts",
|
||||
"data/enchantments/spell-effects/basic-spells.ts",
|
||||
"data/enchantments/spell-effects/lightning-spells.ts",
|
||||
"data/enchantments/spell-effects/metal-spells.ts",
|
||||
@@ -278,7 +282,10 @@
|
||||
"data/enchantments/spell-effects/tier3-spells.ts": [
|
||||
"data/enchantments/spell-effects/types.ts"
|
||||
],
|
||||
"data/enchantments/spell-effects/types.ts": [],
|
||||
"data/enchantments/spell-effects/types.ts": [
|
||||
"data/enchantment-types.ts",
|
||||
"data/equipment/index.ts"
|
||||
],
|
||||
"data/enchantments/utility-effects.ts": [
|
||||
"data/enchantment-types.ts",
|
||||
"data/equipment/index.ts"
|
||||
@@ -323,17 +330,11 @@
|
||||
"data/equipment/swords.ts": [
|
||||
"data/equipment/types.ts"
|
||||
],
|
||||
"data/equipment/types.ts": [],
|
||||
"data/equipment/types.ts": [
|
||||
"types/equipmentSlot.ts"
|
||||
],
|
||||
"data/equipment/utils.ts": [
|
||||
"data/equipment/accessories.ts",
|
||||
"data/equipment/body.ts",
|
||||
"data/equipment/casters.ts",
|
||||
"data/equipment/catalysts.ts",
|
||||
"data/equipment/feet.ts",
|
||||
"data/equipment/hands.ts",
|
||||
"data/equipment/head.ts",
|
||||
"data/equipment/shields.ts",
|
||||
"data/equipment/swords.ts",
|
||||
"data/equipment/index.ts",
|
||||
"data/equipment/types.ts"
|
||||
],
|
||||
"data/golems/base-golems.ts": [
|
||||
@@ -354,9 +355,7 @@
|
||||
],
|
||||
"data/golems/types.ts": [],
|
||||
"data/golems/utils.ts": [
|
||||
"data/golems/base-golems.ts",
|
||||
"data/golems/elemental-golems.ts",
|
||||
"data/golems/hybrid-golems.ts",
|
||||
"data/golems/index.ts",
|
||||
"data/golems/types.ts"
|
||||
],
|
||||
"data/loot-drops.ts": [
|
||||
@@ -524,7 +523,9 @@
|
||||
"types/elements.ts"
|
||||
],
|
||||
"types/elements.ts": [],
|
||||
"types/equipment.ts": [],
|
||||
"types/equipment.ts": [
|
||||
"types/equipmentSlot.ts"
|
||||
],
|
||||
"types/equipmentSlot.ts": [],
|
||||
"types/game.ts": [
|
||||
"types/attunements.ts",
|
||||
@@ -535,6 +536,7 @@
|
||||
"types/index.ts": [
|
||||
"types/attunements.ts",
|
||||
"types/elements.ts",
|
||||
"types/equipment.ts",
|
||||
"types/equipmentSlot.ts",
|
||||
"types/game.ts",
|
||||
"types/spells.ts"
|
||||
|
||||
@@ -204,6 +204,7 @@ Mana-Loop/
|
||||
│ │ │ │ ├── spell-effects/
|
||||
│ │ │ │ │ ├── basic-spells.ts
|
||||
│ │ │ │ │ ├── index.ts
|
||||
│ │ │ │ │ ├── legendary-spells.ts
|
||||
│ │ │ │ │ ├── lightning-spells.ts
|
||||
│ │ │ │ │ ├── metal-spells.ts
|
||||
│ │ │ │ │ ├── sand-spells.ts
|
||||
|
||||
@@ -117,6 +117,16 @@ export const BASIC_SPELL_EFFECTS: Record<string, EnchantmentEffectDef> = {
|
||||
allowedEquipmentCategories: ALL_CASTER,
|
||||
effect: { type: 'spell', spellId: 'drain' }
|
||||
},
|
||||
spell_rotTouch: {
|
||||
id: 'spell_rotTouch',
|
||||
name: 'Rot Touch',
|
||||
description: 'Grants the ability to cast Rot Touch (14 death damage)',
|
||||
category: 'spell',
|
||||
baseCapacityCost: 80,
|
||||
maxStacks: 1,
|
||||
allowedEquipmentCategories: ALL_CASTER,
|
||||
effect: { type: 'spell', spellId: 'rotTouch' }
|
||||
},
|
||||
|
||||
// Additional Tier 1 Spells
|
||||
spell_windSlash: {
|
||||
|
||||
@@ -12,6 +12,7 @@ import { METAL_SPELL_EFFECTS } from './metal-spells';
|
||||
import { SAND_SPELL_EFFECTS } from './sand-spells';
|
||||
import { TIER2_SPELL_EFFECTS } from './tier2-spells';
|
||||
import { TIER3_SPELL_EFFECTS } from './tier3-spells';
|
||||
import { LEGENDARY_SPELL_EFFECTS } from './legendary-spells';
|
||||
|
||||
// Combine all spell effects into SPELL_EFFECTS
|
||||
export const SPELL_EFFECTS = {
|
||||
@@ -21,4 +22,5 @@ export const SPELL_EFFECTS = {
|
||||
...SAND_SPELL_EFFECTS,
|
||||
...TIER2_SPELL_EFFECTS,
|
||||
...TIER3_SPELL_EFFECTS,
|
||||
...LEGENDARY_SPELL_EFFECTS,
|
||||
};
|
||||
|
||||
@@ -0,0 +1,38 @@
|
||||
// ─── Legendary Spell Effects ───────────────────────────────────
|
||||
// Legendary spells - Tier 4, exotic elements (stellar, void, crystal)
|
||||
|
||||
import type { EnchantmentEffectDef } from './types';
|
||||
import { ALL_CASTER } from './types';
|
||||
|
||||
export const LEGENDARY_SPELL_EFFECTS: Record<string, EnchantmentEffectDef> = {
|
||||
spell_stellarNova: {
|
||||
id: 'spell_stellarNova',
|
||||
name: 'Stellar Nova',
|
||||
description: 'Grants the ability to cast Stellar Nova (500 stellar damage)',
|
||||
category: 'spell',
|
||||
baseCapacityCost: 600,
|
||||
maxStacks: 1,
|
||||
allowedEquipmentCategories: ALL_CASTER,
|
||||
effect: { type: 'spell', spellId: 'stellarNova' }
|
||||
},
|
||||
spell_voidCollapse: {
|
||||
id: 'spell_voidCollapse',
|
||||
name: 'Void Collapse',
|
||||
description: 'Grants the ability to cast Void Collapse (450 void damage)',
|
||||
category: 'spell',
|
||||
baseCapacityCost: 550,
|
||||
maxStacks: 1,
|
||||
allowedEquipmentCategories: ALL_CASTER,
|
||||
effect: { type: 'spell', spellId: 'voidCollapse' }
|
||||
},
|
||||
spell_crystalShatter: {
|
||||
id: 'spell_crystalShatter',
|
||||
name: 'Crystal Shatter',
|
||||
description: 'Grants the ability to cast Crystal Shatter (400 crystal damage)',
|
||||
category: 'spell',
|
||||
baseCapacityCost: 500,
|
||||
maxStacks: 1,
|
||||
allowedEquipmentCategories: ALL_CASTER,
|
||||
effect: { type: 'spell', spellId: 'crystalShatter' }
|
||||
},
|
||||
};
|
||||
@@ -126,4 +126,14 @@ export const TIER2_SPELL_EFFECTS: Record<string, EnchantmentEffectDef> = {
|
||||
allowedEquipmentCategories: ALL_CASTER,
|
||||
effect: { type: 'spell', spellId: 'shadowStorm' }
|
||||
},
|
||||
spell_soulRend: {
|
||||
id: 'spell_soulRend',
|
||||
name: 'Soul Rend',
|
||||
description: 'Grants the ability to cast Soul Rend (50 death damage)',
|
||||
category: 'spell',
|
||||
baseCapacityCost: 170,
|
||||
maxStacks: 1,
|
||||
allowedEquipmentCategories: ALL_CASTER,
|
||||
effect: { type: 'spell', spellId: 'soulRend' }
|
||||
},
|
||||
};
|
||||
|
||||
@@ -34,4 +34,44 @@ export const TIER3_SPELL_EFFECTS: Record<string, EnchantmentEffectDef> = {
|
||||
allowedEquipmentCategories: ALL_CASTER,
|
||||
effect: { type: 'spell', spellId: 'meteorStrike' }
|
||||
},
|
||||
spell_cosmicStorm: {
|
||||
id: 'spell_cosmicStorm',
|
||||
name: 'Cosmic Storm',
|
||||
description: 'Grants the ability to cast Cosmic Storm (200 air damage)',
|
||||
category: 'spell',
|
||||
baseCapacityCost: 370,
|
||||
maxStacks: 1,
|
||||
allowedEquipmentCategories: ALL_CASTER,
|
||||
effect: { type: 'spell', spellId: 'cosmicStorm' }
|
||||
},
|
||||
spell_heavenLight: {
|
||||
id: 'spell_heavenLight',
|
||||
name: "Heaven's Light",
|
||||
description: 'Grants the ability to cast Heaven\'s Light (240 light damage)',
|
||||
category: 'spell',
|
||||
baseCapacityCost: 390,
|
||||
maxStacks: 1,
|
||||
allowedEquipmentCategories: ALL_CASTER,
|
||||
effect: { type: 'spell', spellId: 'heavenLight' }
|
||||
},
|
||||
spell_oblivion: {
|
||||
id: 'spell_oblivion',
|
||||
name: 'Oblivion',
|
||||
description: 'Grants the ability to cast Oblivion (230 dark damage)',
|
||||
category: 'spell',
|
||||
baseCapacityCost: 385,
|
||||
maxStacks: 1,
|
||||
allowedEquipmentCategories: ALL_CASTER,
|
||||
effect: { type: 'spell', spellId: 'oblivion' }
|
||||
},
|
||||
spell_deathMark: {
|
||||
id: 'spell_deathMark',
|
||||
name: 'Death Mark',
|
||||
description: 'Grants the ability to cast Death Mark (200 death damage)',
|
||||
category: 'spell',
|
||||
baseCapacityCost: 370,
|
||||
maxStacks: 1,
|
||||
allowedEquipmentCategories: ALL_CASTER,
|
||||
effect: { type: 'spell', spellId: 'deathMark' }
|
||||
},
|
||||
};
|
||||
|
||||
Reference in New Issue
Block a user