aboutsummaryrefslogtreecommitdiff
path: root/src/server/scripts/Northrend
diff options
context:
space:
mode:
Diffstat (limited to 'src/server/scripts/Northrend')
-rw-r--r--src/server/scripts/Northrend/zone_wintergrasp.cpp26
1 files changed, 15 insertions, 11 deletions
diff --git a/src/server/scripts/Northrend/zone_wintergrasp.cpp b/src/server/scripts/Northrend/zone_wintergrasp.cpp
index 2290a35bfa4..fb981b037aa 100644
--- a/src/server/scripts/Northrend/zone_wintergrasp.cpp
+++ b/src/server/scripts/Northrend/zone_wintergrasp.cpp
@@ -172,7 +172,7 @@ struct npc_wg_demolisher_engineer : public ScriptedAI
private:
bool CanBuild() const
{
- Battlefield* wintergrasp = sBattlefieldMgr->GetBattlefieldByBattleId(BATTLEFIELD_BATTLEID_WG);
+ Battlefield* wintergrasp = sBattlefieldMgr->GetBattlefieldByBattleId(me->GetMap(), BATTLEFIELD_BATTLEID_WG);
if (!wintergrasp)
return false;
@@ -203,7 +203,7 @@ struct npc_wg_spirit_guide : public ScriptedAI
if (me->IsQuestGiver())
player->PrepareQuestMenu(me->GetGUID());
- Battlefield* wintergrasp = sBattlefieldMgr->GetBattlefieldByBattleId(BATTLEFIELD_BATTLEID_WG);
+ Battlefield* wintergrasp = sBattlefieldMgr->GetBattlefieldByBattleId(me->GetMap(), BATTLEFIELD_BATTLEID_WG);
if (!wintergrasp)
return true;
@@ -221,7 +221,7 @@ struct npc_wg_spirit_guide : public ScriptedAI
uint32 const action = player->PlayerTalkClass->GetGossipOptionAction(gossipListId);
CloseGossipMenuFor(player);
- Battlefield* wintergrasp = sBattlefieldMgr->GetBattlefieldByBattleId(BATTLEFIELD_BATTLEID_WG);
+ Battlefield* wintergrasp = sBattlefieldMgr->GetBattlefieldByBattleId(me->GetMap(), BATTLEFIELD_BATTLEID_WG);
if (wintergrasp)
{
GraveyardVect gy = wintergrasp->GetGraveyardVector();
@@ -272,7 +272,7 @@ struct npc_wg_queue : public ScriptedAI
if (me->IsQuestGiver())
player->PrepareQuestMenu(me->GetGUID());
- Battlefield* wintergrasp = sBattlefieldMgr->GetBattlefieldByBattleId(BATTLEFIELD_BATTLEID_WG);
+ Battlefield* wintergrasp = sBattlefieldMgr->GetBattlefieldByBattleId(me->GetMap(), BATTLEFIELD_BATTLEID_WG);
if (!wintergrasp)
return true;
@@ -300,7 +300,7 @@ struct npc_wg_queue : public ScriptedAI
{
CloseGossipMenuFor(player);
- Battlefield* wintergrasp = sBattlefieldMgr->GetBattlefieldByBattleId(BATTLEFIELD_BATTLEID_WG);
+ Battlefield* wintergrasp = sBattlefieldMgr->GetBattlefieldByBattleId(me->GetMap(), BATTLEFIELD_BATTLEID_WG);
if (!wintergrasp)
return true;
@@ -441,8 +441,8 @@ class spell_wintergrasp_defender_teleport : public SpellScript
SpellCastResult CheckCast()
{
- if (Battlefield* wg = sBattlefieldMgr->GetBattlefieldByBattleId(BATTLEFIELD_BATTLEID_WG))
- if (Player* target = GetExplTargetUnit()->ToPlayer())
+ if (Player* target = GetExplTargetUnit()->ToPlayer())
+ if (Battlefield* wg = sBattlefieldMgr->GetBattlefieldByBattleId(target->GetMap(), BATTLEFIELD_BATTLEID_WG))
// check if we are in Wintergrasp at all, SotA uses same teleport spells
if ((target->GetZoneId() == AREA_WINTERGRASP && target->GetTeamId() != wg->GetDefenderTeam()) || target->HasAura(SPELL_WINTERGRASP_TELEPORT_TRIGGER))
return SPELL_FAILED_BAD_TARGETS;
@@ -528,9 +528,11 @@ class condition_is_wintergrasp_horde : public ConditionScript
public:
condition_is_wintergrasp_horde() : ConditionScript("condition_is_wintergrasp_horde") { }
- bool OnConditionCheck(Condition const* /* condition */, ConditionSourceInfo& /* sourceInfo */)
+ bool OnConditionCheck(Condition const* /* condition */, ConditionSourceInfo& sourceInfo)
{
- Battlefield* wintergrasp = sBattlefieldMgr->GetBattlefieldByBattleId(BATTLEFIELD_BATTLEID_WG);
+ if (!sourceInfo.mConditionMap)
+ return false;
+ Battlefield* wintergrasp = sBattlefieldMgr->GetBattlefieldByBattleId(sourceInfo.mConditionMap, BATTLEFIELD_BATTLEID_WG);
if (wintergrasp->IsEnabled() && wintergrasp->GetDefenderTeam() == TEAM_HORDE)
return true;
return false;
@@ -542,9 +544,11 @@ class condition_is_wintergrasp_alliance : public ConditionScript
public:
condition_is_wintergrasp_alliance() : ConditionScript("condition_is_wintergrasp_alliance") { }
- bool OnConditionCheck(Condition const* /* condition */, ConditionSourceInfo& /* sourceInfo */)
+ bool OnConditionCheck(Condition const* /* condition */, ConditionSourceInfo& sourceInfo)
{
- Battlefield* wintergrasp = sBattlefieldMgr->GetBattlefieldByBattleId(BATTLEFIELD_BATTLEID_WG);
+ if (!sourceInfo.mConditionMap)
+ return false;
+ Battlefield* wintergrasp = sBattlefieldMgr->GetBattlefieldByBattleId(sourceInfo.mConditionMap, BATTLEFIELD_BATTLEID_WG);
if (wintergrasp->IsEnabled() && wintergrasp->GetDefenderTeam() == TEAM_ALLIANCE)
return true;
return false;