Mob::TryFadeEffect sanity checks for potential crashing

This commit is contained in:
Akkadius 2017-10-16 13:15:03 -05:00
parent 3bcfcc6308
commit a7d0251b77

View File

@ -3949,10 +3949,17 @@ int16 Mob::GetHealRate(uint16 spell_id, Mob* caster) {
bool Mob::TryFadeEffect(int slot) bool Mob::TryFadeEffect(int slot)
{ {
if (!buffs[slot].spellid)
return false;
if(IsValidSpell(buffs[slot].spellid)) if(IsValidSpell(buffs[slot].spellid))
{ {
for(int i = 0; i < EFFECT_COUNT; i++) for(int i = 0; i < EFFECT_COUNT; i++)
{ {
if (!spells[buffs[slot].spellid].effectid[i])
continue;
if (spells[buffs[slot].spellid].effectid[i] == SE_CastOnFadeEffectAlways || if (spells[buffs[slot].spellid].effectid[i] == SE_CastOnFadeEffectAlways ||
spells[buffs[slot].spellid].effectid[i] == SE_CastOnRuneFadeEffect) spells[buffs[slot].spellid].effectid[i] == SE_CastOnRuneFadeEffect)
{ {