diff options
Diffstat (limited to 'src/game/SpellMgr.cpp')
-rw-r--r-- | src/game/SpellMgr.cpp | 35 |
1 files changed, 13 insertions, 22 deletions
diff --git a/src/game/SpellMgr.cpp b/src/game/SpellMgr.cpp index dc6bbc728df..5600f1d2bf2 100644 --- a/src/game/SpellMgr.cpp +++ b/src/game/SpellMgr.cpp @@ -819,6 +819,7 @@ bool SpellMgr::_isPositiveEffect(uint32 spellId, uint32 effIndex, bool deep) con case 38638: // Nether Exhaustion (green) case 38639: // Nether Exhaustion (blue) case 11196: // Recently Bandaged + case 44689: // Relay Race Accept Hidden Debuff - DND return false; default: break; @@ -3030,31 +3031,17 @@ bool SpellArea::IsFitToRequirements(Player const* player, uint32 newZone, uint32 return false; } - if (auraSpell) + if(auraSpell) { // not have expected aura - if (!player || auraSpell > 0 && !player->HasAura(auraSpell) || auraSpell < 0 && player->HasAura(-auraSpell)) + if(!player) return false; - } - - // Extra conditions - switch(spellId) - { - case 58045: // Essence of Wintergrasp - Wintergrasp - case 57940: // Essence of Wintergrasp - Northrend - if (!player || player->GetTeamId() != sWorld.getState(WORLDSTATE_WINTERGRASP_CONTROLING_FACTION)) - return false; - break; - case 58600: // No fly Zone - Dalaran (Krasus Landing exception) - if (!player || player->GetAreaId() == 4564 || !player->HasAuraType(SPELL_AURA_MOD_INCREASE_MOUNTED_FLIGHT_SPEED) && !player->HasAuraType(SPELL_AURA_FLY) - || player->HasAura(44795)) - return false; - break; - case 58730: // No fly Zone - Wintergrasp - if (!player || !player->HasAuraType(SPELL_AURA_MOD_INCREASE_MOUNTED_FLIGHT_SPEED) && !player->HasAuraType(SPELL_AURA_FLY) - || player->HasAura(45472) || player->HasAura(44795)) - return false; - break; + if(auraSpell > 0) + // have expected aura + return player->HasAura(auraSpell); + else + // not have expected aura + return !player->HasAura(-auraSpell); } return true; @@ -3656,6 +3643,10 @@ void SpellMgr::LoadSpellCustomAttr() case 32182: spellInfo->excludeCasterAuraSpell = 57723; // Exhaustion break; + // Bloodlust + case 2825: + spellInfo->excludeCasterAuraSpell = 57724; // Sated + break; // Heart of the Crusader case 20335: case 20336: |