Update zone/spell_effects.cpp

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
This commit is contained in:
Vayle 2026-01-31 15:12:58 -05:00 committed by GitHub
parent 9eb982ef15
commit fa3bbec739
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194

View File

@ -4693,6 +4693,8 @@ void Mob::BuffFadeBySlot(int slot, bool iRecalcBonuses, bool suppress, uint32 su
if (!IsValidSpell(buffs[slot].spellid))
return;
const auto& spell = spells[buffs[slot].spellid];
if (IsValidSpell(buffs[slot].spellid)) {
const auto &spell = spells[buffs[slot].spellid];
// Restore nimbus (visual aura) effect before processing individual spell effects,
// mirroring Client::ReapplyBuff and bot buff restoration behavior.
if (spell.nimbus_effect) {
@ -4709,9 +4711,6 @@ void Mob::BuffFadeBySlot(int slot, bool iRecalcBonuses, bool suppress, uint32 su
case SpellEffect::Amnesia:
Amnesia(true);
break;
case SpellEffect::DivineAura:
invulnerable = true;
break;
case SpellEffect::AddMeleeProc:
case SpellEffect::WeaponProc:
AddProcToWeapon(GetProcID(buffs[slot].spellid, i), false, 100 + spell.limit_value[i], buffs[slot].spellid, buffs[slot].casterlevel, GetSpellProcLimitTimer(buffs[slot].spellid, ProcType::MELEE_PROC));
@ -4727,6 +4726,7 @@ void Mob::BuffFadeBySlot(int slot, bool iRecalcBonuses, bool suppress, uint32 su
}
}
}
}
} else {
buffs[slot].spellid = SPELL_UNKNOWN;
}