aboutsummaryrefslogtreecommitdiff
path: root/src/game/OutdoorPvPMgr.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/game/OutdoorPvPMgr.cpp')
-rw-r--r--src/game/OutdoorPvPMgr.cpp18
1 files changed, 9 insertions, 9 deletions
diff --git a/src/game/OutdoorPvPMgr.cpp b/src/game/OutdoorPvPMgr.cpp
index ff0d1269447..7d367392764 100644
--- a/src/game/OutdoorPvPMgr.cpp
+++ b/src/game/OutdoorPvPMgr.cpp
@@ -207,21 +207,22 @@ bool OutdoorPvPMgr::HandleCustomSpell(Player *plr, uint32 spellId, GameObject *
return false;
}
-bool OutdoorPvPMgr::HandleOpenGo(Player *plr, uint64 guid)
+void OutdoorPvPMgr::OnGameObjectCreate(GameObject *go, bool add)
{
+ if(go->GetGoType() != GAMEOBJECT_TYPE_CAPTURE_POINT)
+ return;
+
for(OutdoorPvPSet::iterator itr = m_OutdoorPvPSet.begin(); itr != m_OutdoorPvPSet.end(); ++itr)
- {
- if((*itr)->HandleOpenGo(plr,guid))
- return true;
- }
- return false;
+ for(OutdoorPvP::OPvPCapturePointMap::iterator itr2 = (*itr)->m_capturePoints.begin(); itr2 != (*itr)->m_capturePoints.end(); ++itr2)
+ if((*itr2)->m_CapturePointGUID == go->GetDBTableGUIDLow())
+ (*itr2)->m_capturePoint = add ? go : NULL;
}
-bool OutdoorPvPMgr::HandleCaptureCreaturePlayerMoveInLos(Player * plr, Creature * c)
+bool OutdoorPvPMgr::HandleOpenGo(Player *plr, uint64 guid)
{
for(OutdoorPvPSet::iterator itr = m_OutdoorPvPSet.begin(); itr != m_OutdoorPvPSet.end(); ++itr)
{
- if((*itr)->HandleCaptureCreaturePlayerMoveInLos(plr,c))
+ if((*itr)->HandleOpenGo(plr,guid))
return true;
}
return false;
@@ -254,4 +255,3 @@ void OutdoorPvPMgr::HandleDropFlag(Player *plr, uint32 spellId)
return;
}
}
-