aboutsummaryrefslogtreecommitdiff
path: root/src/game/SpellMgr.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/game/SpellMgr.cpp')
-rw-r--r--src/game/SpellMgr.cpp35
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: