diff options
author | megamage <none@none> | 2009-05-29 00:18:41 -0500 |
---|---|---|
committer | megamage <none@none> | 2009-05-29 00:18:41 -0500 |
commit | bc32144310e94e0c7e62c7cd7119bfdd4e719e6f (patch) | |
tree | edb4c10942113f366058e8dd3b51e30a30559989 /src/game/OutdoorPvPMgr.cpp | |
parent | 1288761fb704be6d3c24e8480a809f66200ddf04 (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.cpp | 18 |
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; } } - |