*Backed out changeset 3be01fb200a5
--HG-- branch : trunk
This commit is contained in:
@@ -15,6 +15,7 @@
|
||||
* along with this program; if not, write to the Free Software
|
||||
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
|
||||
*/
|
||||
|
||||
#include "OutdoorPvPMgr.h"
|
||||
#include "OutdoorPvPHP.h"
|
||||
#include "OutdoorPvPNA.h"
|
||||
@@ -25,12 +26,15 @@
|
||||
#include "Wintergrasp.h"
|
||||
#include "Player.h"
|
||||
#include "Policies/SingletonImp.h"
|
||||
|
||||
INSTANTIATE_SINGLETON_1( OutdoorPvPMgr );
|
||||
|
||||
OutdoorPvPMgr::OutdoorPvPMgr()
|
||||
{
|
||||
m_UpdateTimer = 0;
|
||||
//sLog.outDebug("Instantiating OutdoorPvPMgr");
|
||||
}
|
||||
|
||||
OutdoorPvPMgr::~OutdoorPvPMgr()
|
||||
{
|
||||
//sLog.outDebug("Deleting OutdoorPvPMgr");
|
||||
@@ -39,6 +43,7 @@ OutdoorPvPMgr::~OutdoorPvPMgr()
|
||||
(*itr)->DeleteSpawns();
|
||||
}
|
||||
}
|
||||
|
||||
void OutdoorPvPMgr::InitOutdoorPvP()
|
||||
{
|
||||
// create new opvp
|
||||
@@ -55,6 +60,7 @@ void OutdoorPvPMgr::InitOutdoorPvP()
|
||||
sLog.outDebug("OutdoorPvP : HP successfully initiated.");
|
||||
}
|
||||
|
||||
|
||||
pOP = new OutdoorPvPNA;
|
||||
// respawn, init variables
|
||||
if(!pOP->SetupOutdoorPvP())
|
||||
@@ -68,6 +74,7 @@ void OutdoorPvPMgr::InitOutdoorPvP()
|
||||
sLog.outDebug("OutdoorPvP : NA successfully initiated.");
|
||||
}
|
||||
|
||||
|
||||
pOP = new OutdoorPvPTF;
|
||||
// respawn, init variables
|
||||
if(!pOP->SetupOutdoorPvP())
|
||||
@@ -80,6 +87,7 @@ void OutdoorPvPMgr::InitOutdoorPvP()
|
||||
m_OutdoorPvPSet.push_back(pOP);
|
||||
sLog.outDebug("OutdoorPvP : TF successfully initiated.");
|
||||
}
|
||||
|
||||
pOP = new OutdoorPvPZM;
|
||||
// respawn, init variables
|
||||
if(!pOP->SetupOutdoorPvP())
|
||||
@@ -92,6 +100,7 @@ void OutdoorPvPMgr::InitOutdoorPvP()
|
||||
m_OutdoorPvPSet.push_back(pOP);
|
||||
sLog.outDebug("OutdoorPvP : ZM successfully initiated.");
|
||||
}
|
||||
|
||||
pOP = new OutdoorPvPSI;
|
||||
// respawn, init variables
|
||||
if(!pOP->SetupOutdoorPvP())
|
||||
@@ -104,6 +113,7 @@ void OutdoorPvPMgr::InitOutdoorPvP()
|
||||
m_OutdoorPvPSet.push_back(pOP);
|
||||
sLog.outDebug("OutdoorPvP : SI successfully initiated.");
|
||||
}
|
||||
|
||||
pOP = new OutdoorPvPEP;
|
||||
// respawn, init variables
|
||||
if(!pOP->SetupOutdoorPvP())
|
||||
@@ -116,6 +126,7 @@ void OutdoorPvPMgr::InitOutdoorPvP()
|
||||
m_OutdoorPvPSet.push_back(pOP);
|
||||
sLog.outDebug("OutdoorPvP : EP successfully initiated.");
|
||||
}
|
||||
|
||||
pOP = new OPvPWintergrasp;
|
||||
// respawn, init variables
|
||||
if(!pOP->SetupOutdoorPvP())
|
||||
@@ -129,32 +140,40 @@ void OutdoorPvPMgr::InitOutdoorPvP()
|
||||
sLog.outDebug("OutdoorPvP : Wintergrasp successfully initiated.");
|
||||
}
|
||||
}
|
||||
|
||||
void OutdoorPvPMgr::AddZone(uint32 zoneid, OutdoorPvP *handle)
|
||||
{
|
||||
m_OutdoorPvPMap[zoneid] = handle;
|
||||
}
|
||||
|
||||
|
||||
void OutdoorPvPMgr::HandlePlayerEnterZone(Player *plr, uint32 zoneid)
|
||||
{
|
||||
OutdoorPvPMap::iterator itr = m_OutdoorPvPMap.find(zoneid);
|
||||
if(itr == m_OutdoorPvPMap.end())
|
||||
return;
|
||||
|
||||
if(itr->second->HasPlayer(plr))
|
||||
return;
|
||||
|
||||
itr->second->HandlePlayerEnterZone(plr, zoneid);
|
||||
sLog.outDebug("Player %u entered outdoorpvp id %u", plr->GetGUIDLow(), itr->second->GetTypeId());
|
||||
}
|
||||
|
||||
void OutdoorPvPMgr::HandlePlayerLeaveZone(Player *plr, uint32 zoneid)
|
||||
{
|
||||
OutdoorPvPMap::iterator itr = m_OutdoorPvPMap.find(zoneid);
|
||||
if(itr == m_OutdoorPvPMap.end())
|
||||
return;
|
||||
|
||||
// teleport: remove once in removefromworld, once in updatezone
|
||||
if(!itr->second->HasPlayer(plr))
|
||||
return;
|
||||
|
||||
itr->second->HandlePlayerLeaveZone(plr, zoneid);
|
||||
sLog.outDebug("Player %u left outdoorpvp id %u",plr->GetGUIDLow(), itr->second->GetTypeId());
|
||||
}
|
||||
|
||||
OutdoorPvP * OutdoorPvPMgr::GetOutdoorPvPToZoneId(uint32 zoneid)
|
||||
{
|
||||
OutdoorPvPMap::iterator itr = m_OutdoorPvPMap.find(zoneid);
|
||||
@@ -165,6 +184,7 @@ OutdoorPvP * OutdoorPvPMgr::GetOutdoorPvPToZoneId(uint32 zoneid)
|
||||
}
|
||||
return itr->second;
|
||||
}
|
||||
|
||||
void OutdoorPvPMgr::Update(uint32 diff)
|
||||
{
|
||||
m_UpdateTimer += diff;
|
||||
@@ -175,6 +195,7 @@ void OutdoorPvPMgr::Update(uint32 diff)
|
||||
m_UpdateTimer = 0;
|
||||
}
|
||||
}
|
||||
|
||||
bool OutdoorPvPMgr::HandleCustomSpell(Player *plr, uint32 spellId, GameObject * go)
|
||||
{
|
||||
for(OutdoorPvPSet::iterator itr = m_OutdoorPvPSet.begin(); itr != m_OutdoorPvPSet.end(); ++itr)
|
||||
@@ -184,6 +205,7 @@ bool OutdoorPvPMgr::HandleCustomSpell(Player *plr, uint32 spellId, GameObject *
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
ZoneScript * OutdoorPvPMgr::GetZoneScript(uint32 zoneId)
|
||||
{
|
||||
OutdoorPvPMap::iterator itr = m_OutdoorPvPMap.find(zoneId);
|
||||
@@ -192,6 +214,7 @@ ZoneScript * OutdoorPvPMgr::GetZoneScript(uint32 zoneId)
|
||||
else
|
||||
return NULL;
|
||||
}
|
||||
|
||||
bool OutdoorPvPMgr::HandleOpenGo(Player *plr, uint64 guid)
|
||||
{
|
||||
for(OutdoorPvPSet::iterator itr = m_OutdoorPvPSet.begin(); itr != m_OutdoorPvPSet.end(); ++itr)
|
||||
@@ -201,6 +224,7 @@ bool OutdoorPvPMgr::HandleOpenGo(Player *plr, uint64 guid)
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
void OutdoorPvPMgr::HandleGossipOption(Player *plr, uint64 guid, uint32 gossipid)
|
||||
{
|
||||
for(OutdoorPvPSet::iterator itr = m_OutdoorPvPSet.begin(); itr != m_OutdoorPvPSet.end(); ++itr)
|
||||
@@ -209,6 +233,7 @@ void OutdoorPvPMgr::HandleGossipOption(Player *plr, uint64 guid, uint32 gossipid
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
||||
bool OutdoorPvPMgr::CanTalkTo(Player * plr, Creature * c, GossipOption & gso)
|
||||
{
|
||||
for(OutdoorPvPSet::iterator itr = m_OutdoorPvPSet.begin(); itr != m_OutdoorPvPSet.end(); ++itr)
|
||||
@@ -218,6 +243,7 @@ bool OutdoorPvPMgr::CanTalkTo(Player * plr, Creature * c, GossipOption & gso)
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
void OutdoorPvPMgr::HandleDropFlag(Player *plr, uint32 spellId)
|
||||
{
|
||||
for(OutdoorPvPSet::iterator itr = m_OutdoorPvPSet.begin(); itr != m_OutdoorPvPSet.end(); ++itr)
|
||||
|
||||
Reference in New Issue
Block a user