diff options
Diffstat (limited to 'src/game/Wintergrasp.cpp')
-rw-r--r-- | src/game/Wintergrasp.cpp | 60 |
1 files changed, 58 insertions, 2 deletions
diff --git a/src/game/Wintergrasp.cpp b/src/game/Wintergrasp.cpp index a6f84c83b2e..06ef39bd599 100644 --- a/src/game/Wintergrasp.cpp +++ b/src/game/Wintergrasp.cpp @@ -19,7 +19,8 @@ #include "Wintergrasp.h" #include "SpellAuras.h" #include "Vehicle.h" -#include "GameEventMgr.h" +//#include "GameEventMgr.h" +#include "ObjectMgr.h" bool OPvPWintergrasp::SetupOutdoorPvP() { @@ -33,11 +34,66 @@ bool OPvPWintergrasp::SetupOutdoorPvP() } m_defender = TeamId(rand()%2); - gameeventmgr.StartInternalEvent(GameEventWintergraspDefender[m_defender]); + //m_defender = TEAM_ALLIANCE; + //gameeventmgr.StartInternalEvent(GameEventWintergraspDefender[m_defender]); return true; } +uint32 OPvPWintergrasp::GetCreatureEntry(uint32 guidlow, uint32 entry) +{ + if(m_defender == TEAM_ALLIANCE) + { + switch(entry) + { + case 30739: return 30740; + case 30740: return 30739; + } + } + return entry; +} + +/* +uint32 OPvPWintergrasp::GetGameObjectEntry(uint32 guidlow, uint32 entry) +{ + if(m_defender == TEAM_ALLIANCE) + { + GameObjectInfo const* goInfo = objmgr.GetGameObjectInfo(entry); + if(!goInfo) + return 0; + switch(goInfo->displayId) + { + case 5651: return 192289; + case 5652: return 192288; + case 8256: return 192502; + case 8257: return 192501; + } + } + return entry; +} +*/ + +void OPvPWintergrasp::OnGameObjectCreate(GameObject *go, bool add) +{ + OutdoorPvP::OnGameObjectCreate(go, add); + if(m_defender == TEAM_ALLIANCE) + { + switch(go->GetEntry()) + { + case 190763: go->SetUInt32Value(GAMEOBJECT_FACTION, WintergraspFaction[m_defender]); break; + } + + // Note: this is only for test, still need db support + switch(go->GetGOInfo()->displayId) + { + case 5651: go->SetUInt32Value(GAMEOBJECT_DISPLAYID, 5652); break; + case 5652: go->SetUInt32Value(GAMEOBJECT_DISPLAYID, 5651); break; + case 8256: go->SetUInt32Value(GAMEOBJECT_DISPLAYID, 8257); break; + case 8257: go->SetUInt32Value(GAMEOBJECT_DISPLAYID, 8256); break; + } + } +} + void OPvPWintergrasp::HandlePlayerEnterZone(Player * plr, uint32 zone) { if(!plr->HasAura(SPELL_RECRUIT) && !plr->HasAura(SPELL_CORPORAL) |