fix(Core/Spells): Fix SetSpellModTakingSpell assert from re-entrant calls (#24863)

Co-authored-by: blinkysc <blinkysc@users.noreply.github.com>
This commit is contained in:
blinkysc
2026-02-24 19:38:11 -06:00
committed by GitHub
parent fca1ee550d
commit e17df40a57

View File

@@ -10027,10 +10027,10 @@ bool Player::HasSpellModApplied(SpellModifier* mod, Spell* spell)
void Player::SetSpellModTakingSpell(Spell* spell, bool apply) void Player::SetSpellModTakingSpell(Spell* spell, bool apply)
{ {
if (apply && m_spellModTakingSpell) if (apply && m_spellModTakingSpell && m_spellModTakingSpell != spell)
ASSERT(m_spellModTakingSpell == nullptr); return;
else if (!apply) else if (!apply && m_spellModTakingSpell != spell)
ASSERT(m_spellModTakingSpell && m_spellModTakingSpell == spell); return;
m_spellModTakingSpell = apply ? spell : nullptr; m_spellModTakingSpell = apply ? spell : nullptr;
} }