diff --git a/src/server/game/Entities/Creature/Creature.cpp b/src/server/game/Entities/Creature/Creature.cpp index 918e889b5..841f42d5a 100644 --- a/src/server/game/Entities/Creature/Creature.cpp +++ b/src/server/game/Entities/Creature/Creature.cpp @@ -2580,20 +2580,26 @@ void Creature::SetInCombatWithZone() void Creature::ProhibitSpellSchool(SpellSchoolMask idSchoolMask, uint32 unTimeMs) { for (uint8 i = SPELL_SCHOOL_NORMAL; i < MAX_SPELL_SCHOOL; ++i) + { if (idSchoolMask & (1 << i)) + { m_ProhibitSchoolTime[i] = World::GetGameTimeMS() + unTimeMs; + } + } } bool Creature::IsSpellProhibited(SpellSchoolMask idSchoolMask) const { - const CreatureTemplate* cinfo = GetCreatureTemplate(); - if (!(cinfo && cinfo->flags_extra & CREATURE_FLAG_EXTRA_ALL_DIMINISH) && (isWorldBoss() || IsDungeonBoss())) - return false; - for (uint8 i = SPELL_SCHOOL_NORMAL; i < MAX_SPELL_SCHOOL; ++i) + { if (idSchoolMask & (1 << i)) + { if (m_ProhibitSchoolTime[i] >= World::GetGameTimeMS()) + { return true; + } + } + } return false; }