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

- 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:
2026-05-18 20:30:46 +02:00
parent 594eec1ab4
commit a9918e83a6
8 changed files with 125 additions and 20 deletions
@@ -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' }
},
};