mod-paragon: single Arcane Torrent for Paragon Blood Elves
Blood Elf racial skill line 756 grants three different Arcane Torrent spell IDs (28730 mana, 25046 rogue energy, 50613 DK runic power). The blanket SkillLineAbility overlay in 2026_05_10_02 OR'd class 12 into all three, so Paragon Blood Elves auto-learned every variant and the spellbook listed three identical "Arcane Torrent" entries. Add db-world migration 2026_05_10_03.sql to clear the class-12 bit on the rogue and DK rows only (SkillLineAbility IDs 13338 and 17510), leaving 28730 as the sole Paragon-visible racial cast. OnPlayerLogin removes 25046/50613 if still present so existing characters self-heal without a manual unlearn. The fractured-tooling DBC overlay generator is updated in the same workspace to skip those two rows when regenerating SkillLineAbility SQL. Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
@@ -559,6 +559,23 @@ void RevokeUnwantedCascadeSpellsForPlayer(Player* pl)
|
||||
toRevoke.size(), pl->GetName(), ourSkillLines.size(), allowed.size());
|
||||
}
|
||||
|
||||
// Blood Elf racial "Arcane Torrent" is three different spell IDs in WotLK
|
||||
// (28730 mana, 25046 rogue energy, 50613 DK runic power), all on skill line
|
||||
// 756. The blanket SkillLineAbility overlay opened all three to class 12;
|
||||
// Paragon should keep only the mana version (matches primary power display).
|
||||
void RevokeDuplicateBloodElfArcaneTorrent(Player* pl)
|
||||
{
|
||||
if (!pl || pl->getRace() != RACE_BLOODELF)
|
||||
return;
|
||||
|
||||
constexpr uint32 SPELL_ARCANE_TORRENT_ROGUE = 25046;
|
||||
constexpr uint32 SPELL_ARCANE_TORRENT_DK = 50613;
|
||||
|
||||
for (uint32 sid : { SPELL_ARCANE_TORRENT_ROGUE, SPELL_ARCANE_TORRENT_DK })
|
||||
if (pl->HasSpell(sid))
|
||||
pl->removeSpell(sid, SPEC_MASK_ALL, false);
|
||||
}
|
||||
|
||||
// Snapshot of currently-known spell IDs (excluding entries marked removed).
|
||||
// Used by PanelLearnSpellChain to detect spells that AzerothCore's
|
||||
// addSpell machinery auto-learns alongside the spell we asked for.
|
||||
@@ -1441,6 +1458,9 @@ public:
|
||||
// cascade re-fire on relog. Only walks our own SkillLines, so
|
||||
// racials / weapon skills / Defense rewards are never touched.
|
||||
RevokeUnwantedCascadeSpellsForPlayer(player);
|
||||
// Step 3: Blood Elf only -- strip rogue/DK Arcane Torrent clones
|
||||
// (skill-line overlay taught all three; see 2026_05_10_03.sql).
|
||||
RevokeDuplicateBloodElfArcaneTorrent(player);
|
||||
|
||||
// Intentionally NOT calling SendSilenceClose here -- the chat
|
||||
// frame buffers system messages during the loading screen and
|
||||
|
||||
Reference in New Issue
Block a user