aboutsummaryrefslogtreecommitdiff
path: root/src/game/OutdoorPvPMgr.cpp
diff options
context:
space:
mode:
authormegamage <none@none>2009-05-29 00:18:41 -0500
committermegamage <none@none>2009-05-29 00:18:41 -0500
commitbc32144310e94e0c7e62c7cd7119bfdd4e719e6f (patch)
treeedb4c10942113f366058e8dd3b51e30a30559989 /src/game/OutdoorPvPMgr.cpp
parent1288761fb704be6d3c24e8480a809f66200ddf04 (diff)
*Update OutdoorPvP functions. No longer need creature triggers for capture points.
--HG-- branch : trunk
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;
}
}
-