diff options
-rw-r--r-- | src/bindings/scripts/scripts/northrend/wintergrasp.cpp | 2 | ||||
-rw-r--r-- | src/game/BattleGroundHandler.cpp | 6 | ||||
-rw-r--r-- | src/game/CMakeLists.txt | 4 | ||||
-rw-r--r-- | src/game/Level2.cpp | 18 | ||||
-rw-r--r-- | src/game/OutdoorPvP.h | 2 | ||||
-rw-r--r-- | src/game/OutdoorPvPMgr.cpp | 4 | ||||
-rw-r--r-- | src/game/OutdoorPvPWG.cpp (renamed from src/game/Wintergrasp.cpp) | 223 | ||||
-rw-r--r-- | src/game/OutdoorPvPWG.h (renamed from src/game/Wintergrasp.h) | 100 | ||||
-rw-r--r-- | win/VC80/game.vcproj | 4 | ||||
-rw-r--r-- | win/VC90/game.vcproj | 4 |
10 files changed, 175 insertions, 192 deletions
diff --git a/src/bindings/scripts/scripts/northrend/wintergrasp.cpp b/src/bindings/scripts/scripts/northrend/wintergrasp.cpp index 53e6fca2af7..89b886083a5 100644 --- a/src/bindings/scripts/scripts/northrend/wintergrasp.cpp +++ b/src/bindings/scripts/scripts/northrend/wintergrasp.cpp @@ -15,7 +15,7 @@ */ #include "precompiled.h" -#include "Wintergrasp.h" +#include "OutdoorPvPWG.h" #define GOSSIP_HELLO_DEMO1 "Build catapult." #define GOSSIP_HELLO_DEMO2 "Build demolisher." diff --git a/src/game/BattleGroundHandler.cpp b/src/game/BattleGroundHandler.cpp index bcd446cadfa..8413198272e 100644 --- a/src/game/BattleGroundHandler.cpp +++ b/src/game/BattleGroundHandler.cpp @@ -36,7 +36,7 @@ #include "Opcodes.h" // Temporal fix to wintergrasp spirit guides till 3.2 -#include "Wintergrasp.h" +#include "OutdoorPvPWG.h" #include "OutdoorPvPMgr.h" // WG end @@ -601,7 +601,7 @@ void WorldSession::HandleAreaSpiritHealerQueryOpcode( WorldPacket & recv_data ) { // Wintergrasp Hack till 3.2 and it's implemented as BG if (GetPlayer()->GetZoneId() == 4197) { - OPvPWintergrasp *pvpWG = (OPvPWintergrasp*)sOutdoorPvPMgr.GetOutdoorPvPToZoneId(4197); + OutdoorPvPWG *pvpWG = (OutdoorPvPWG*)sOutdoorPvPMgr.GetOutdoorPvPToZoneId(4197); if (pvpWG && pvpWG->isWarTime()) pvpWG->SendAreaSpiritHealerQueryOpcode(_player, guid); } @@ -632,7 +632,7 @@ void WorldSession::HandleAreaSpiritHealerQueueOpcode( WorldPacket & recv_data ) { // Wintergrasp Hack till 3.2 and it's implemented as BG if (GetPlayer()->GetZoneId() == 4197) { - OPvPWintergrasp *pvpWG = (OPvPWintergrasp*)sOutdoorPvPMgr.GetOutdoorPvPToZoneId(4197); + OutdoorPvPWG *pvpWG = (OutdoorPvPWG*)sOutdoorPvPMgr.GetOutdoorPvPToZoneId(4197); if (pvpWG && pvpWG->isWarTime()) pvpWG->AddPlayerToResurrectQueue(guid, _player->GetGUID()); } diff --git a/src/game/CMakeLists.txt b/src/game/CMakeLists.txt index a657bb99c50..663e827812b 100644 --- a/src/game/CMakeLists.txt +++ b/src/game/CMakeLists.txt @@ -192,6 +192,8 @@ SET(game_STAT_SRCS OutdoorPvPTF.h OutdoorPvPZM.cpp OutdoorPvPZM.h + OutdoorPvPWG.cpp + OutdoorPvPWG.h Path.h PetAI.cpp PetAI.h @@ -290,8 +292,6 @@ SET(game_STAT_SRCS GroupReference.h GroupRefManager.h OutdoorPvPImpl.h - Wintergrasp.h - Wintergrasp.cpp ZoneScript.h ) add_definitions(-fopenmp) diff --git a/src/game/Level2.cpp b/src/game/Level2.cpp index 836acbb3174..3c2a7bf8f1d 100644 --- a/src/game/Level2.cpp +++ b/src/game/Level2.cpp @@ -40,7 +40,7 @@ #include <fstream> #include <map> #include "GlobalEvents.h" -#include "Wintergrasp.h" +#include "OutdoorPvPWG.h" #include "OutdoorPvPMgr.h" #include "TargetedMovementGenerator.h" // for HandleNpcUnFollowCommand @@ -4240,7 +4240,7 @@ bool ChatHandler::HandleNpcSetLinkCommand(const char* args) bool ChatHandler::HandleWintergraspStatusCommand(const char* args) { - OPvPWintergrasp *pvpWG = (OPvPWintergrasp*)sOutdoorPvPMgr.GetOutdoorPvPToZoneId(4197); + OutdoorPvPWG *pvpWG = (OutdoorPvPWG*)sOutdoorPvPMgr.GetOutdoorPvPToZoneId(4197); if (!pvpWG || !sWorld.getConfig(CONFIG_OUTDOORPVP_WINTERGRASP_ENABLED)) { @@ -4250,7 +4250,7 @@ bool ChatHandler::HandleWintergraspStatusCommand(const char* args) } PSendSysMessage(LANG_BG_WG_STATUS, objmgr.GetTrinityStringForDBCLocale( - pvpWG->GetTeam() == TEAM_ALLIANCE ? LANG_BG_AB_ALLY : LANG_BG_AB_HORDE), + pvpWG->getDefenderTeam() == TEAM_ALLIANCE ? LANG_BG_AB_ALLY : LANG_BG_AB_HORDE), secsToTimeString(pvpWG->GetTimer(), true).c_str(), pvpWG->isWarTime() ? "Yes" : "No", pvpWG->GetNumPlayersH(), @@ -4260,7 +4260,7 @@ bool ChatHandler::HandleWintergraspStatusCommand(const char* args) bool ChatHandler::HandleWintergraspStartCommand(const char* args) { - OPvPWintergrasp *pvpWG = (OPvPWintergrasp*)sOutdoorPvPMgr.GetOutdoorPvPToZoneId(4197); + OutdoorPvPWG *pvpWG = (OutdoorPvPWG*)sOutdoorPvPMgr.GetOutdoorPvPToZoneId(4197); if (!pvpWG || !sWorld.getConfig(CONFIG_OUTDOORPVP_WINTERGRASP_ENABLED)) { @@ -4275,7 +4275,7 @@ bool ChatHandler::HandleWintergraspStartCommand(const char* args) bool ChatHandler::HandleWintergraspStopCommand(const char* args) { - OPvPWintergrasp *pvpWG = (OPvPWintergrasp*)sOutdoorPvPMgr.GetOutdoorPvPToZoneId(4197); + OutdoorPvPWG *pvpWG = (OutdoorPvPWG*)sOutdoorPvPMgr.GetOutdoorPvPToZoneId(4197); if (!pvpWG || !sWorld.getConfig(CONFIG_OUTDOORPVP_WINTERGRASP_ENABLED)) { @@ -4293,7 +4293,7 @@ bool ChatHandler::HandleWintergraspEnableCommand(const char* args) if(!*args) return false; - OPvPWintergrasp *pvpWG = (OPvPWintergrasp*)sOutdoorPvPMgr.GetOutdoorPvPToZoneId(4197); + OutdoorPvPWG *pvpWG = (OutdoorPvPWG*)sOutdoorPvPMgr.GetOutdoorPvPToZoneId(4197); if (!pvpWG || !sWorld.getConfig(CONFIG_OUTDOORPVP_WINTERGRASP_ENABLED)) { @@ -4335,7 +4335,7 @@ bool ChatHandler::HandleWintergraspTimerCommand(const char* args) if(!*args) return false; - OPvPWintergrasp *pvpWG = (OPvPWintergrasp*)sOutdoorPvPMgr.GetOutdoorPvPToZoneId(4197); + OutdoorPvPWG *pvpWG = (OutdoorPvPWG*)sOutdoorPvPMgr.GetOutdoorPvPToZoneId(4197); if (!pvpWG) { @@ -4367,7 +4367,7 @@ bool ChatHandler::HandleWintergraspTimerCommand(const char* args) bool ChatHandler::HandleWintergraspSwitchTeamCommand(const char* args) { - OPvPWintergrasp *pvpWG = (OPvPWintergrasp*)sOutdoorPvPMgr.GetOutdoorPvPToZoneId(4197); + OutdoorPvPWG *pvpWG = (OutdoorPvPWG*)sOutdoorPvPMgr.GetOutdoorPvPToZoneId(4197); if (!pvpWG) { @@ -4378,6 +4378,6 @@ bool ChatHandler::HandleWintergraspSwitchTeamCommand(const char* args) uint32 timer = pvpWG->GetTimer(); pvpWG->forceChangeTeam(); pvpWG->setTimer(timer); - PSendSysMessage(LANG_BG_WG_SWITCH_FACTION, GetTrinityString(pvpWG->GetTeam() == TEAM_ALLIANCE ? LANG_BG_AB_ALLY : LANG_BG_AB_HORDE)); + PSendSysMessage(LANG_BG_WG_SWITCH_FACTION, GetTrinityString(pvpWG->getDefenderTeam() == TEAM_ALLIANCE ? LANG_BG_AB_ALLY : LANG_BG_AB_HORDE)); return true; } diff --git a/src/game/OutdoorPvP.h b/src/game/OutdoorPvP.h index 99f97451728..a68f0b84cf8 100644 --- a/src/game/OutdoorPvP.h +++ b/src/game/OutdoorPvP.h @@ -33,7 +33,7 @@ enum OutdoorPvPTypes OUTDOOR_PVP_ZM, OUTDOOR_PVP_SI, OUTDOOR_PVP_EP, - OPVP_WINTERGRASP, + OUTDOOR_PVP_WG, OUTDOOR_PVP_NR, }; diff --git a/src/game/OutdoorPvPMgr.cpp b/src/game/OutdoorPvPMgr.cpp index 4df07914b36..75f08e04e4e 100644 --- a/src/game/OutdoorPvPMgr.cpp +++ b/src/game/OutdoorPvPMgr.cpp @@ -23,7 +23,7 @@ #include "OutdoorPvPZM.h" #include "OutdoorPvPSI.h" #include "OutdoorPvPEP.h" -#include "Wintergrasp.h" +#include "OutdoorPvPWG.h" #include "Player.h" #include "Policies/SingletonImp.h" @@ -125,7 +125,7 @@ void OutdoorPvPMgr::InitOutdoorPvP() sLog.outDebug("OutdoorPvP : EP successfully initiated."); } - pOP = new OPvPWintergrasp; + pOP = new OutdoorPvPWG; // respawn, init variables if(!pOP->SetupOutdoorPvP()) { diff --git a/src/game/Wintergrasp.cpp b/src/game/OutdoorPvPWG.cpp index 81f3f600426..28cf16645e6 100644 --- a/src/game/Wintergrasp.cpp +++ b/src/game/OutdoorPvPWG.cpp @@ -16,7 +16,7 @@ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA */ -#include "Wintergrasp.h" +#include "OutdoorPvPWG.h" #include "SpellAuras.h" #include "Vehicle.h" #include "ObjectMgr.h" @@ -24,41 +24,7 @@ #include "Chat.h" #include "MapManager.h" -typedef uint32 TeamPair[2]; - -enum WintergraspQuest -{ - A_VICTORY_IN_WG = 13181, - H_VICTORY_IN_WG = 13183, - CRE_PVP_KILL = 31086, //Quest Objective - CRE_PVP_KILL_V = 31093, //Quest Objective -}; - -enum CreatureEntry -{ - CRE_ENG_A = 30499, - CRE_ENG_H = 30400, - CRE_SPI_A = 31842, - CRE_SPI_H = 31841, -}; - -const TeamPair CreatureEntryPair[] = -{ - {32307, 32308}, // Guards - {30739, 30740}, // Champions - {32296, 32294}, // Quartermaster - {32615, 32626}, // Warbringer & Brigadier General - {0,0} // Do not delete Used in LoadTeamPair -}; - -const TeamPair GODisplayPair[] = -{ - {5651, 5652}, - {8256, 8257}, - {0,0} // Do not delete Used in LoadTeamPair -}; - -void LoadTeamPair(TeamPairMap &pairMap, const TeamPair *pair) +void _LoadTeamPair(TeamPairMap &pairMap, const TeamPair *pair) { while((*pair)[0]) { @@ -68,7 +34,7 @@ void LoadTeamPair(TeamPairMap &pairMap, const TeamPair *pair) } } -void RespawnCreatureIfNeeded(Creature *cr, uint32 entry) +void _RespawnCreatureIfNeeded(Creature *cr, uint32 entry) { if (cr) { @@ -79,25 +45,14 @@ void RespawnCreatureIfNeeded(Creature *cr, uint32 entry) } } -#define REMOVE_WARTIME_AURAS(p) (p)->RemoveAura(SPELL_RECRUIT);\ - (p)->RemoveAura(SPELL_CORPORAL);(p)->RemoveAura(SPELL_LIEUTENANT);\ - (p)->RemoveAura(SPELL_TOWER_CONTROL);\ - (p)->RemoveAura(SPELL_SPIRITUAL_IMMUNITY) - -// Visual defines, easier to understand code -#define getDefenderTeam() m_defender -#define getAttackerTeam() OTHER_TEAM(m_defender) - -typedef std::list<const AreaPOIEntry *> AreaPOIList; - -OPvPWintergrasp::OPvPWintergrasp() +OutdoorPvPWG::OutdoorPvPWG() { - m_TypeId = OPVP_WINTERGRASP; + m_TypeId = OUTDOOR_PVP_WG; m_LastResurrectTime = 0; // Temporal copy of BG system till 3.2 } -bool OPvPWintergrasp::SetupOutdoorPvP() +bool OutdoorPvPWG::SetupOutdoorPvP() { if (!sWorld.getConfig(CONFIG_OUTDOORPVP_WINTERGRASP_ENABLED)) { @@ -340,7 +295,7 @@ bool OPvPWintergrasp::SetupOutdoorPvP() } // Inside fortress won't be capturable - SiegeWorkshop *workshop = new SiegeWorkshop(this, m_buildingStates[guid]); + OPvPCapturePointWG *workshop = new OPvPCapturePointWG(this, m_buildingStates[guid]); if (goData->posX < POS_X_CENTER && !workshop->SetCapturePointData(capturePointEntry, goData->mapid, goData->posX + 40 * cos(goData->orientation + M_PI / 2), goData->posY + 40 * sin(goData->orientation + M_PI / 2), goData->posZ)) { delete workshop; @@ -429,16 +384,11 @@ bool OPvPWintergrasp::SetupOutdoorPvP() ++itr; } - //for (AreaPOIList::iterator itr = areaPOIs.begin(); itr != areaPOIs.end(); ++itr) - // sLog.outError("not assigned %u %f %f", (*itr)->id, (*itr)->x, (*itr)->y); - - //gameeventmgr.StartInternalEvent(GameEventWintergraspDefender[getDefenderTeam()]); - - //Titan Relic eventid = 19982 + //Titan Relic objmgr.AddGOData(192829, 571, 5440, 2840.8, 420.43 + 10, 0); - LoadTeamPair(m_goDisplayPair, GODisplayPair); - LoadTeamPair(m_creEntryPair, CreatureEntryPair); + _LoadTeamPair(m_goDisplayPair, OutdoorPvPWGGODisplayPair); + _LoadTeamPair(m_creEntryPair, OutdoorPvPWGCreEntryPair); m_wartime = false; m_timer = sWorld.getConfig(CONFIG_OUTDOORPVP_WINTERGRASP_START_TIME) * MINUTE * IN_MILISECONDS; @@ -454,9 +404,9 @@ bool OPvPWintergrasp::SetupOutdoorPvP() return true; } -void OPvPWintergrasp::ProcessEvent(GameObject *obj, uint32 eventId) +void OutdoorPvPWG::ProcessEvent(GameObject *obj, uint32 eventId) { - if (obj->GetEntry() == 192829) + if (obj->GetEntry() == 192829) // Titan Relic { if (obj->GetGOInfo()->goober.eventId == eventId && isWarTime() && m_gate && m_gate->damageState == DAMAGE_DESTROYED) { @@ -589,14 +539,14 @@ void OPvPWintergrasp::ProcessEvent(GameObject *obj, uint32 eventId) } } -void OPvPWintergrasp::RemoveOfflinePlayerWGAuras() +void OutdoorPvPWG::RemoveOfflinePlayerWGAuras() { // if server crashed while in battle there could be players with rank or tenacity CharacterDatabase.PExecute("DELETE FROM character_aura WHERE spell IN (%u, %u, %u, %u, %u)", SPELL_RECRUIT, SPELL_CORPORAL, SPELL_LIEUTENANT, SPELL_TENACITY, SPELL_TOWER_CONTROL); } -void OPvPWintergrasp::ModifyWorkshopCount(TeamId team, bool add) +void OutdoorPvPWG::ModifyWorkshopCount(TeamId team, bool add) { if (team == TEAM_NEUTRAL) return; @@ -606,12 +556,12 @@ void OPvPWintergrasp::ModifyWorkshopCount(TeamId team, bool add) else if (m_workshopCount[team]) --m_workshopCount[team]; else - sLog.outError("OPvPWintergrasp::ModifyWorkshopCount: negative workshop count!"); + sLog.outError("OutdoorPvPWG::ModifyWorkshopCount: negative workshop count!"); SendUpdateWorldState(MaxVehNumWorldState[team], m_workshopCount[team] * MAX_VEHICLE_PER_WORKSHOP); } -uint32 OPvPWintergrasp::GetCreatureEntry(uint32 guidlow, const CreatureData *data) +uint32 OutdoorPvPWG::GetCreatureEntry(uint32 guidlow, const CreatureData *data) { if (getDefenderTeam() == TEAM_ALLIANCE) { @@ -625,7 +575,7 @@ uint32 OPvPWintergrasp::GetCreatureEntry(uint32 guidlow, const CreatureData *dat return data->id; } -WintergraspCreType OPvPWintergrasp::GetCreatureType(uint32 entry) const +OutdoorPvPWGCreType OutdoorPvPWG::GetCreatureType(uint32 entry) const { // VEHICLES, GUARDS and TURRETS gives kill credit // OTHER Not in wartime @@ -671,7 +621,7 @@ WintergraspCreType OPvPWintergrasp::GetCreatureType(uint32 entry) const } } -void OPvPWintergrasp::OnCreatureCreate(Creature *creature, bool add) +void OutdoorPvPWG::OnCreatureCreate(Creature *creature, bool add) { uint32 entry = creature->GetEntry(); switch(GetCreatureType(entry)) @@ -693,7 +643,7 @@ void OPvPWintergrasp::OnCreatureCreate(Creature *creature, bool add) if (uint32 engLowguid = GUID_LOPART(((TempSummon*)creature)->GetSummonerGUID())) { - if (SiegeWorkshop *workshop = GetWorkshopByEngGuid(engLowguid)) + if (OPvPCapturePointWG *workshop = GetWorkshopByEngGuid(engLowguid)) { if (CanBuildVehicle(workshop)) { @@ -733,7 +683,7 @@ void OPvPWintergrasp::OnCreatureCreate(Creature *creature, bool add) case CREATURE_ENGINEER: for (OutdoorPvP::OPvPCapturePointMap::iterator itr = m_capturePoints.begin(); itr != m_capturePoints.end(); ++itr) { - if (SiegeWorkshop *workshop = dynamic_cast<SiegeWorkshop*>(itr->second)) + if (OPvPCapturePointWG *workshop = dynamic_cast<OPvPCapturePointWG*>(itr->second)) if (workshop->m_engGuid == creature->GetDBTableGUIDLow()) { workshop->m_engineer = add ? creature : NULL; @@ -744,7 +694,7 @@ void OPvPWintergrasp::OnCreatureCreate(Creature *creature, bool add) case CREATURE_SPIRIT_GUIDE: for (OutdoorPvP::OPvPCapturePointMap::iterator itr = m_capturePoints.begin(); itr != m_capturePoints.end(); ++itr) { - if (SiegeWorkshop *workshop = dynamic_cast<SiegeWorkshop*>(itr->second)) + if (OPvPCapturePointWG *workshop = dynamic_cast<OPvPCapturePointWG*>(itr->second)) if (workshop->m_spiGuid == creature->GetDBTableGUIDLow()) { workshop->m_spiritguide = add ? creature : NULL; @@ -766,7 +716,7 @@ void OPvPWintergrasp::OnCreatureCreate(Creature *creature, bool add) } } -void OPvPWintergrasp::OnGameObjectCreate(GameObject *go, bool add) +void OutdoorPvPWG::OnGameObjectCreate(GameObject *go, bool add) { OutdoorPvP::OnGameObjectCreate(go, add); @@ -798,7 +748,7 @@ void OPvPWintergrasp::OnGameObjectCreate(GameObject *go, bool add) } } -void OPvPWintergrasp::UpdateAllWorldObject() +void OutdoorPvPWG::UpdateAllWorldObject() { // update cre and go factions for (GameObjectSet::iterator itr = m_gobjects.begin(); itr != m_gobjects.end(); ++itr) @@ -813,11 +763,11 @@ void OPvPWintergrasp::UpdateAllWorldObject() // update capture points for (OPvPCapturePointMap::iterator itr = m_capturePoints.begin(); itr != m_capturePoints.end(); ++itr) - if (SiegeWorkshop *workshop = dynamic_cast<SiegeWorkshop*>(itr->second)) + if (OPvPCapturePointWG *workshop = dynamic_cast<OPvPCapturePointWG*>(itr->second)) workshop->SetTeamByBuildingState(); } -void OPvPWintergrasp::RebuildAllBuildings() +void OutdoorPvPWG::RebuildAllBuildings() { for (BuildingStateMap::const_iterator itr = m_buildingStates.begin(); itr != m_buildingStates.end(); ++itr) { @@ -845,7 +795,7 @@ void OPvPWintergrasp::RebuildAllBuildings() m_towerDestroyedCount[TEAM_HORDE] = 0; } -void OPvPWintergrasp::SendInitWorldStatesTo(Player *player) const +void OutdoorPvPWG::SendInitWorldStatesTo(Player *player) const { WorldPacket data(SMSG_INIT_WORLD_STATES, (4+4+4+2+(m_buildingStates.size()*8))); data << uint32(571); @@ -875,7 +825,7 @@ void OPvPWintergrasp::SendInitWorldStatesTo(Player *player) const BroadcastPacket(data); } -void OPvPWintergrasp::BroadcastStateChange(BuildingState *state) const +void OutdoorPvPWG::BroadcastStateChange(BuildingState *state) const { if (m_sendUpdate) for (uint32 team = 0; team < 2; ++team) @@ -884,7 +834,7 @@ void OPvPWintergrasp::BroadcastStateChange(BuildingState *state) const } // Called at Start and Battle End -bool OPvPWintergrasp::UpdateCreatureInfo(Creature *creature) +bool OutdoorPvPWG::UpdateCreatureInfo(Creature *creature) { if (!creature) return false; @@ -946,7 +896,7 @@ bool OPvPWintergrasp::UpdateCreatureInfo(Creature *creature) if (itr != m_creEntryPair.end()) { entry = getDefenderTeam() == TEAM_ALLIANCE ? itr->second : itr->first; - RespawnCreatureIfNeeded(creature, entry); + _RespawnCreatureIfNeeded(creature, entry); } return false; } @@ -955,7 +905,7 @@ bool OPvPWintergrasp::UpdateCreatureInfo(Creature *creature) } } -bool OPvPWintergrasp::UpdateQuestGiverPosition(uint32 guid, Creature *creature) +bool OutdoorPvPWG::UpdateQuestGiverPosition(uint32 guid, Creature *creature) { assert(guid); Position pos = m_qgPosMap[std::pair<uint32, bool>(guid, getDefenderTeam() == TEAM_HORDE)]; @@ -989,7 +939,7 @@ bool OPvPWintergrasp::UpdateQuestGiverPosition(uint32 guid, Creature *creature) // Return false = Need to rebuild at battle End/Start // true = no need to rebuild (ie: Banners or teleporters) -bool OPvPWintergrasp::UpdateGameObjectInfo(GameObject *go) const +bool OutdoorPvPWG::UpdateGameObjectInfo(GameObject *go) const { uint32 attFaction = 35; uint32 defFaction = 35; @@ -1020,7 +970,7 @@ bool OPvPWintergrasp::UpdateGameObjectInfo(GameObject *go) const go->SetUInt32Value(GAMEOBJECT_FACTION, attFaction); return false; case 8208: // Goblin Workshop - SiegeWorkshop *workshop = GetWorkshopByGOGuid(go->GetGUID()); + OPvPCapturePointWG *workshop = GetWorkshopByGOGuid(go->GetGUID()); if (workshop) go->SetUInt32Value(GAMEOBJECT_FACTION, WintergraspFaction[workshop->m_buildingState->GetTeam()]); return false; @@ -1037,7 +987,7 @@ bool OPvPWintergrasp::UpdateGameObjectInfo(GameObject *go) const return false; } -void OPvPWintergrasp::HandlePlayerEnterZone(Player * plr, uint32 zone) +void OutdoorPvPWG::HandlePlayerEnterZone(Player * plr, uint32 zone) { if (!sWorld.getConfig(CONFIG_OUTDOORPVP_WINTERGRASP_ENABLED)) return; @@ -1068,7 +1018,7 @@ void OPvPWintergrasp::HandlePlayerEnterZone(Player * plr, uint32 zone) } // Reapply Auras if needed -void OPvPWintergrasp::HandlePlayerResurrects(Player * plr, uint32 zone) +void OutdoorPvPWG::HandlePlayerResurrects(Player * plr, uint32 zone) { if (!sWorld.getConfig(CONFIG_OUTDOORPVP_WINTERGRASP_ENABLED)) return; @@ -1106,7 +1056,7 @@ void OPvPWintergrasp::HandlePlayerResurrects(Player * plr, uint32 zone) OutdoorPvP::HandlePlayerResurrects(plr, zone); } -void OPvPWintergrasp::HandlePlayerLeaveZone(Player * plr, uint32 zone) +void OutdoorPvPWG::HandlePlayerLeaveZone(Player * plr, uint32 zone) { if (!sWorld.getConfig(CONFIG_OUTDOORPVP_WINTERGRASP_ENABLED)) return; @@ -1115,14 +1065,18 @@ void OPvPWintergrasp::HandlePlayerLeaveZone(Player * plr, uint32 zone) { if (plr->GetVehicle()) // dismiss in change zone case plr->GetVehicle()->Dismiss(); - REMOVE_WARTIME_AURAS(plr); + plr->RemoveAurasDueToSpell(SPELL_RECRUIT); + plr->RemoveAurasDueToSpell(SPELL_CORPORAL); + plr->RemoveAurasDueToSpell(SPELL_LIEUTENANT); + plr->RemoveAurasDueToSpell(SPELL_TOWER_CONTROL); + plr->RemoveAurasDueToSpell(SPELL_SPIRITUAL_IMMUNITY); } plr->RemoveAurasDueToSpell(SPELL_TENACITY); OutdoorPvP::HandlePlayerLeaveZone(plr, zone); UpdateTenacityStack(); } -void OPvPWintergrasp::PromotePlayer(Player *killer) const +void OutdoorPvPWG::PromotePlayer(Player *killer) const { Aura *aur; if (aur = killer->GetAura(SPELL_RECRUIT)) @@ -1149,7 +1103,7 @@ void OPvPWintergrasp::PromotePlayer(Player *killer) const } } -void OPvPWintergrasp::HandleKill(Player *killer, Unit *victim) +void OutdoorPvPWG::HandleKill(Player *killer, Unit *victim) { if (!sWorld.getConfig(CONFIG_OUTDOORPVP_WINTERGRASP_ENABLED) || !isWarTime()) return; @@ -1193,7 +1147,7 @@ void OPvPWintergrasp::HandleKill(Player *killer, Unit *victim) } // Recalculates Tenacity and applies it to Players / Vehicles -void OPvPWintergrasp::UpdateTenacityStack() +void OutdoorPvPWG::UpdateTenacityStack() { if (!isWarTime()) return; @@ -1258,7 +1212,7 @@ void OPvPWintergrasp::UpdateTenacityStack() } } -void OPvPWintergrasp::UpdateClockDigit(uint32 &timer, uint32 digit, uint32 mod) +void OutdoorPvPWG::UpdateClockDigit(uint32 &timer, uint32 digit, uint32 mod) { uint32 value = timer%mod; timer /= mod; @@ -1269,7 +1223,7 @@ void OPvPWintergrasp::UpdateClockDigit(uint32 &timer, uint32 digit, uint32 mod) } } -void OPvPWintergrasp::UpdateClock() +void OutdoorPvPWG::UpdateClock() { uint32 timer = m_timer / 1000; UpdateClockDigit(timer, 0, 10); @@ -1280,7 +1234,7 @@ void OPvPWintergrasp::UpdateClock() UpdateClockDigit(timer, 4, 10); } -bool OPvPWintergrasp::Update(uint32 diff) +bool OutdoorPvPWG::Update(uint32 diff) { if (!sWorld.getConfig(CONFIG_OUTDOORPVP_WINTERGRASP_ENABLED)) return false; @@ -1387,7 +1341,7 @@ bool OPvPWintergrasp::Update(uint32 diff) return false; } -void OPvPWintergrasp::forceStartBattle() +void OutdoorPvPWG::forceStartBattle() { // Uptime will do all the work m_wartime = false; @@ -1398,7 +1352,7 @@ void OPvPWintergrasp::forceStartBattle() } } -void OPvPWintergrasp::forceStopBattle() +void OutdoorPvPWG::forceStopBattle() { // Uptime will do all the work. if (!isWarTime()) @@ -1411,7 +1365,7 @@ void OPvPWintergrasp::forceStopBattle() } } -void OPvPWintergrasp::forceChangeTeam() +void OutdoorPvPWG::forceChangeTeam() { m_changeDefender = true; m_timer = 1; @@ -1423,7 +1377,7 @@ void OPvPWintergrasp::forceChangeTeam() } // Can be forced by gm's while in battle so have to reset in case it was wartime -void OPvPWintergrasp::StartBattle() +void OutdoorPvPWG::StartBattle() { m_wartime = true; m_timer = sWorld.getConfig(CONFIG_OUTDOORPVP_WINTERGRASP_BATTLE_TIME) * MINUTE * IN_MILISECONDS; @@ -1446,7 +1400,11 @@ void OPvPWintergrasp::StartBattle() // Remove All Wintergrasp auras. Add Recruit rank and Tower Control for (PlayerSet::iterator itr = m_players[getAttackerTeam()].begin(); itr != m_players[getAttackerTeam()].end(); ++itr) { - REMOVE_WARTIME_AURAS(*itr); + (*itr)->RemoveAurasDueToSpell(SPELL_RECRUIT); + (*itr)->RemoveAurasDueToSpell(SPELL_CORPORAL); + (*itr)->RemoveAurasDueToSpell(SPELL_LIEUTENANT); + (*itr)->RemoveAurasDueToSpell(SPELL_TOWER_CONTROL); + (*itr)->RemoveAurasDueToSpell(SPELL_SPIRITUAL_IMMUNITY); if ((*itr)->getLevel() > 69) { (*itr)->SetAuraStack(SPELL_TOWER_CONTROL, (*itr), 3); @@ -1457,14 +1415,18 @@ void OPvPWintergrasp::StartBattle() // Remove All Wintergrasp auras. Add Recruit rank for (PlayerSet::iterator itr = m_players[getDefenderTeam()].begin(); itr != m_players[getDefenderTeam()].end(); ++itr) { - REMOVE_WARTIME_AURAS(*itr); + (*itr)->RemoveAurasDueToSpell(SPELL_RECRUIT); + (*itr)->RemoveAurasDueToSpell(SPELL_CORPORAL); + (*itr)->RemoveAurasDueToSpell(SPELL_LIEUTENANT); + (*itr)->RemoveAurasDueToSpell(SPELL_TOWER_CONTROL); + (*itr)->RemoveAurasDueToSpell(SPELL_SPIRITUAL_IMMUNITY); if ((*itr)->getLevel() > 69) (*itr)->CastSpell(*itr, SPELL_RECRUIT, true); } UpdateTenacityStack(); } -void OPvPWintergrasp::EndBattle() +void OutdoorPvPWG::EndBattle() { // Cast Essence of Wintergrasp to all players (CheckCast will determine who to cast) sWorld.setState(WORLDSTATE_WINTERGRASP_CONTROLING_FACTION, getDefenderTeam()); @@ -1500,7 +1462,11 @@ void OPvPWintergrasp::EndBattle() { for (PlayerSet::iterator itr = m_players[team].begin(); itr != m_players[team].end(); ++itr) { - REMOVE_WARTIME_AURAS(*itr); + (*itr)->RemoveAurasDueToSpell(SPELL_RECRUIT); + (*itr)->RemoveAurasDueToSpell(SPELL_CORPORAL); + (*itr)->RemoveAurasDueToSpell(SPELL_LIEUTENANT); + (*itr)->RemoveAurasDueToSpell(SPELL_TOWER_CONTROL); + (*itr)->RemoveAurasDueToSpell(SPELL_SPIRITUAL_IMMUNITY); } continue; } @@ -1509,7 +1475,7 @@ void OPvPWintergrasp::EndBattle() uint32 intactNum = 0; uint32 damagedNum = 0; for (OutdoorPvP::OPvPCapturePointMap::const_iterator itr = m_capturePoints.begin(); itr != m_capturePoints.end(); ++itr) - if (SiegeWorkshop *workshop = dynamic_cast<SiegeWorkshop*>(itr->second)) + if (OPvPCapturePointWG *workshop = dynamic_cast<OPvPCapturePointWG*>(itr->second)) if (workshop->m_buildingState->GetTeam() == team) if (workshop->m_buildingState->damageState == DAMAGE_DAMAGED) ++damagedNum; @@ -1613,7 +1579,11 @@ void OPvPWintergrasp::EndBattle() (*itr)->AreaExploredOrEventHappens(H_VICTORY_IN_WG); } } - REMOVE_WARTIME_AURAS(*itr); + (*itr)->RemoveAurasDueToSpell(SPELL_RECRUIT); + (*itr)->RemoveAurasDueToSpell(SPELL_CORPORAL); + (*itr)->RemoveAurasDueToSpell(SPELL_LIEUTENANT); + (*itr)->RemoveAurasDueToSpell(SPELL_TOWER_CONTROL); + (*itr)->RemoveAurasDueToSpell(SPELL_SPIRITUAL_IMMUNITY); } } @@ -1623,14 +1593,7 @@ void OPvPWintergrasp::EndBattle() RemoveOfflinePlayerWGAuras(); } -void OPvPWintergrasp::SetData(uint32 id, uint32 value) -{ - //if (id == DATA_ENGINEER_DIE) - // if (SiegeWorkshop *workshop = GetWorkshopByEngGuid(value)) - // workshop->DespawnAllVehicles(); -} - -bool OPvPWintergrasp::CanBuildVehicle(SiegeWorkshop *workshop) const +bool OutdoorPvPWG::CanBuildVehicle(OPvPCapturePointWG *workshop) const { TeamId team = workshop->m_buildingState->GetTeam(); if (team == TEAM_NEUTRAL) @@ -1641,16 +1604,16 @@ bool OPvPWintergrasp::CanBuildVehicle(SiegeWorkshop *workshop) const && m_vehicles[team].size() < m_workshopCount[team] * MAX_VEHICLE_PER_WORKSHOP; } -uint32 OPvPWintergrasp::GetData(uint32 id) +uint32 OutdoorPvPWG::GetData(uint32 id) { // if can build more vehicles - if (SiegeWorkshop *workshop = GetWorkshopByEngGuid(id)) + if (OPvPCapturePointWG *workshop = GetWorkshopByEngGuid(id)) return CanBuildVehicle(workshop) ? 1 : 0; return 0; } -void OPvPWintergrasp::RewardMarkOfHonor(Player *plr, uint32 count) +void OutdoorPvPWG::RewardMarkOfHonor(Player *plr, uint32 count) { // 'Inactive' this aura prevents the player from gaining honor points and battleground tokens if (plr->HasAura(SPELL_AURA_PLAYER_INACTIVE)) @@ -1676,7 +1639,7 @@ void OPvPWintergrasp::RewardMarkOfHonor(Player *plr, uint32 count) plr->SendNewItem(item, count, true, false); } -void OPvPWintergrasp::LoadQuestGiverMap(uint32 guid, Position posHorde, Position posAlli) +void OutdoorPvPWG::LoadQuestGiverMap(uint32 guid, Position posHorde, Position posAlli) { m_qgPosMap[std::pair<uint32, bool>(guid, true)] = posHorde, m_qgPosMap[std::pair<uint32, bool>(guid, false)] = posAlli, @@ -1685,26 +1648,26 @@ void OPvPWintergrasp::LoadQuestGiverMap(uint32 guid, Position posHorde, Position objmgr.MoveCreData(guid, 571, posAlli); } -SiegeWorkshop *OPvPWintergrasp::GetWorkshop(uint32 lowguid) const +OPvPCapturePointWG *OutdoorPvPWG::GetWorkshop(uint32 lowguid) const { if (OPvPCapturePoint *cp = GetCapturePoint(lowguid)) - return dynamic_cast<SiegeWorkshop*>(cp); + return dynamic_cast<OPvPCapturePointWG*>(cp); return NULL; } -SiegeWorkshop *OPvPWintergrasp::GetWorkshopByEngGuid(uint32 lowguid) const +OPvPCapturePointWG *OutdoorPvPWG::GetWorkshopByEngGuid(uint32 lowguid) const { for (OutdoorPvP::OPvPCapturePointMap::const_iterator itr = m_capturePoints.begin(); itr != m_capturePoints.end(); ++itr) - if (SiegeWorkshop *workshop = dynamic_cast<SiegeWorkshop*>(itr->second)) + if (OPvPCapturePointWG *workshop = dynamic_cast<OPvPCapturePointWG*>(itr->second)) if (workshop->m_engGuid == lowguid) return workshop; return NULL; } -SiegeWorkshop *OPvPWintergrasp::GetWorkshopByGOGuid(uint32 lowguid) const +OPvPCapturePointWG *OutdoorPvPWG::GetWorkshopByGOGuid(uint32 lowguid) const { for (OutdoorPvP::OPvPCapturePointMap::const_iterator itr = m_capturePoints.begin(); itr != m_capturePoints.end(); ++itr) - if (SiegeWorkshop *workshop = dynamic_cast<SiegeWorkshop*>(itr->second)) + if (OPvPCapturePointWG *workshop = dynamic_cast<OPvPCapturePointWG*>(itr->second)) if (workshop->m_workshopGuid == lowguid) return workshop; return NULL; @@ -1713,7 +1676,7 @@ SiegeWorkshop *OPvPWintergrasp::GetWorkshopByGOGuid(uint32 lowguid) const /*######################################################## * Copy of Battleground system to make Spirit Guides Work *#######################################################*/ -void OPvPWintergrasp::SendAreaSpiritHealerQueryOpcode(Player *pl, const uint64& guid) +void OutdoorPvPWG::SendAreaSpiritHealerQueryOpcode(Player *pl, const uint64& guid) { WorldPacket data(SMSG_AREA_SPIRIT_HEALER_TIME, 12); uint32 time_ = 30000 - GetLastResurrectTime(); // resurrect every 30 seconds @@ -1723,7 +1686,7 @@ void OPvPWintergrasp::SendAreaSpiritHealerQueryOpcode(Player *pl, const uint64& pl->GetSession()->SendPacket(&data); } -void OPvPWintergrasp::AddPlayerToResurrectQueue(uint64 npc_guid, uint64 player_guid) +void OutdoorPvPWG::AddPlayerToResurrectQueue(uint64 npc_guid, uint64 player_guid) { m_ReviveQueue[npc_guid].push_back(player_guid); @@ -1734,7 +1697,7 @@ void OPvPWintergrasp::AddPlayerToResurrectQueue(uint64 npc_guid, uint64 player_g plr->CastSpell(plr, SPELL_WAITING_FOR_RESURRECT, true); } -void OPvPWintergrasp::RemovePlayerFromResurrectQueue(uint64 player_guid) +void OutdoorPvPWG::RemovePlayerFromResurrectQueue(uint64 player_guid) { for (std::map<uint64, std::vector<uint64> >::iterator itr = m_ReviveQueue.begin(); itr != m_ReviveQueue.end(); ++itr) { @@ -1756,7 +1719,7 @@ void OPvPWintergrasp::RemovePlayerFromResurrectQueue(uint64 player_guid) } } -void OPvPWintergrasp::RelocateDeadPlayers(Creature *cr) +void OutdoorPvPWG::RelocateDeadPlayers(Creature *cr) { if (!cr || GetCreatureType(cr->GetEntry()) != CREATURE_SPIRIT_GUIDE) return; @@ -1782,16 +1745,16 @@ void OPvPWintergrasp::RelocateDeadPlayers(Creature *cr) } /*###### -##SiegeWorkshop +##OPvPCapturePointWG ######*/ -SiegeWorkshop::SiegeWorkshop(OPvPWintergrasp *opvp, BuildingState *state) +OPvPCapturePointWG::OPvPCapturePointWG(OutdoorPvPWG *opvp, BuildingState *state) : OPvPCapturePoint(opvp), m_buildingState(state), m_wintergrasp(opvp) , m_engineer(NULL), m_engGuid(0), m_spiritguide(NULL), m_spiGuid(0) { } -void SiegeWorkshop::SetTeamByBuildingState() +void OPvPCapturePointWG::SetTeamByBuildingState() { if (m_buildingState->GetTeam() == TEAM_ALLIANCE) { @@ -1819,7 +1782,7 @@ void SiegeWorkshop::SetTeamByBuildingState() SendChangePhase(); } -void SiegeWorkshop::ChangeTeam(TeamId oldTeam) +void OPvPCapturePointWG::ChangeTeam(TeamId oldTeam) { uint32 entry = 0; uint32 guide_entry = 0; @@ -1849,12 +1812,12 @@ void SiegeWorkshop::ChangeTeam(TeamId oldTeam) if (m_engGuid) { *m_engEntry = entry; - RespawnCreatureIfNeeded(m_engineer, entry); + _RespawnCreatureIfNeeded(m_engineer, entry); } if (m_spiGuid) { *m_spiEntry = guide_entry; - RespawnCreatureIfNeeded(m_spiritguide, guide_entry); + _RespawnCreatureIfNeeded(m_spiritguide, guide_entry); m_wintergrasp->RelocateDeadPlayers(m_spiritguide); } } diff --git a/src/game/Wintergrasp.h b/src/game/OutdoorPvPWG.h index cc34520ae34..63381b15f7b 100644 --- a/src/game/Wintergrasp.h +++ b/src/game/OutdoorPvPWG.h @@ -16,8 +16,8 @@ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA */ -#ifndef TRINITY_WINTERGRASP_H -#define TRINITY_WINTERGRASP_H +#ifndef OUTDOOR_PVP_WG_ +#define OUTDOOR_PVP_WG_ #include "OutdoorPvPImpl.h" @@ -31,7 +31,7 @@ const uint32 VehNumWorldState[2] = {3680,3490}; const uint32 MaxVehNumWorldState[2] = {3681,3491}; const uint32 ClockWorldState[5] = {3785,3784,3782,3976,3975}; -enum WintergraspSpell +enum OutdoorPvPWGSpell { // Wartime auras SPELL_RECRUIT = 37795, @@ -85,7 +85,7 @@ enum OutdoorPvP_WG_KeepStatus }; */ -enum WintergraspCreType +enum OutdoorPvPWGCreType { CREATURE_OTHER, CREATURE_SIEGE_VEHICLE, @@ -98,21 +98,56 @@ enum WintergraspCreType CREATURE_QUESTGIVER, }; -enum BuildingType +enum OutdoorPvPWGBuildingType { BUILDING_WALL, BUILDING_WORKSHOP, BUILDING_TOWER, }; -enum DamageState +enum OutdoorPvPWGDamageState { // Do not change order DAMAGE_INTACT, DAMAGE_DAMAGED, DAMAGE_DESTROYED, }; +typedef uint32 TeamPair[2]; + +enum OutdoorPvPWGQuest +{ + A_VICTORY_IN_WG = 13181, + H_VICTORY_IN_WG = 13183, + CRE_PVP_KILL = 31086, //Quest Objective - Fixme: this should be handled by DB + CRE_PVP_KILL_V = 31093, //Quest Objective - Fixme: this should be handled by DB +}; + +enum OutdoorPvPWGCreEntry +{ + CRE_ENG_A = 30499, + CRE_ENG_H = 30400, + CRE_SPI_A = 31842, + CRE_SPI_H = 31841, +}; + +const TeamPair OutdoorPvPWGCreEntryPair[] = +{ + {32307, 32308}, // Guards + {30739, 30740}, // Champions + {32296, 32294}, // Quartermaster + {32615, 32626}, // Warbringer & Brigadier General + {0,0} // Do not delete Used in LoadTeamPair +}; + +const TeamPair OutdoorPvPWGGODisplayPair[] = +{ + {5651, 5652}, + {8256, 8257}, + {0,0} // Do not delete Used in LoadTeamPair +}; + const uint32 AreaPOIIconId[3][3] = {{7,8,9},{4,5,6},{1,2,3}}; +typedef std::list<const AreaPOIEntry *> AreaPOIList; struct BuildingState { @@ -124,10 +159,10 @@ struct BuildingState uint32 worldState; uint32 health; TeamId defaultTeam; - DamageState damageState; + OutdoorPvPWGDamageState damageState; GameObject *building; uint32 *graveTeam; - BuildingType type; + OutdoorPvPWGBuildingType type; void SendUpdate(Player *player) const { @@ -154,9 +189,9 @@ private: typedef std::map<uint32, uint32> TeamPairMap; -class SiegeWorkshop; +class OPvPCapturePointWG; -class OPvPWintergrasp : public OutdoorPvP +class OutdoorPvPWG : public OutdoorPvP { protected: typedef std::map<uint32, BuildingState *> BuildingStateMap; @@ -165,11 +200,10 @@ class OPvPWintergrasp : public OutdoorPvP typedef std::map<std::pair<uint32, bool>, Position> QuestGiverPositionMap; typedef std::map<uint32, Creature*> QuestGiverMap; public: - OPvPWintergrasp(); + OutdoorPvPWG(); bool SetupOutdoorPvP(); uint32 GetCreatureEntry(uint32 guidlow, const CreatureData *data); - //uint32 GetGameObjectEntry(uint32 guidlow, uint32 entry); void OnCreatureCreate(Creature *creature, bool add); void OnGameObjectCreate(GameObject *go, bool add); @@ -186,26 +220,16 @@ class OPvPWintergrasp : public OutdoorPvP void BroadcastStateChange(BuildingState *state) const; uint32 GetData(uint32 id); - void SetData(uint32 id, uint32 value); + void SetData(uint32 id, uint32 value) {}; void ModifyWorkshopCount(TeamId team, bool add); uint32 GetTimer() const { return m_timer / 1000; }; - TeamId GetTeam() const { return m_defender; }; bool isWarTime() const { return m_wartime; }; - void setTimer(uint32 timer) - { - if (timer >= 0) - m_timer = timer; - }; - uint32 GetNumPlayersA() const - { - return m_players[TEAM_ALLIANCE].size(); - } - - uint32 GetNumPlayersH() const - { - return m_players[TEAM_HORDE].size(); - } + void setTimer(uint32 timer) { if (timer >= 0) m_timer = timer; }; + uint32 GetNumPlayersA() const { return m_players[TEAM_ALLIANCE].size(); }; + uint32 GetNumPlayersH() const { return m_players[TEAM_HORDE].size(); }; + TeamId getDefenderTeam() const { return m_defender; }; + TeamId getAttackerTeam() const { return OTHER_TEAM(m_defender); }; void forceChangeTeam(); void forceStopBattle(); void forceStartBattle(); @@ -249,9 +273,9 @@ class OPvPWintergrasp : public OutdoorPvP uint32 m_towerDestroyedCount[2]; uint32 m_towerDamagedCount[2]; - SiegeWorkshop *GetWorkshop(uint32 lowguid) const; - SiegeWorkshop *GetWorkshopByEngGuid(uint32 lowguid) const; - SiegeWorkshop *GetWorkshopByGOGuid(uint32 lowguid) const; + OPvPCapturePointWG *GetWorkshop(uint32 lowguid) const; + OPvPCapturePointWG *GetWorkshopByEngGuid(uint32 lowguid) const; + OPvPCapturePointWG *GetWorkshopByGOGuid(uint32 lowguid) const; void StartBattle(); void EndBattle(); @@ -264,8 +288,8 @@ class OPvPWintergrasp : public OutdoorPvP bool UpdateCreatureInfo(Creature *creature); bool UpdateGameObjectInfo(GameObject *go) const; - bool CanBuildVehicle(SiegeWorkshop *workshop) const; - WintergraspCreType GetCreatureType(uint32 entry) const; + bool CanBuildVehicle(OPvPCapturePointWG *workshop) const; + OutdoorPvPWGCreType GetCreatureType(uint32 entry) const; void RebuildAllBuildings(); @@ -277,16 +301,13 @@ class OPvPWintergrasp : public OutdoorPvP bool UpdateQuestGiverPosition(uint32 guid, Creature *creature); }; -class SiegeWorkshop : public OPvPCapturePoint +class OPvPCapturePointWG : public OPvPCapturePoint { public: - explicit SiegeWorkshop(OPvPWintergrasp *opvp, BuildingState *state); + explicit OPvPCapturePointWG(OutdoorPvPWG *opvp, BuildingState *state); void SetTeamByBuildingState(); void ChangeState() {} void ChangeTeam(TeamId oldteam); - //void DespawnAllVehicles(); - - //bool CanBuildVehicle() const { return m_vehicles.size() < MAX_VEHICLE_PER_WORKSHOP && m_buildingState->damageState != DAMAGE_DESTROYED; } uint32 *m_spiEntry; uint32 m_spiGuid; @@ -296,10 +317,9 @@ class SiegeWorkshop : public OPvPCapturePoint uint32 m_engGuid; Creature *m_engineer; uint32 m_workshopGuid; - //CreatureSet m_vehicles; BuildingState *m_buildingState; protected: - OPvPWintergrasp *m_wintergrasp; + OutdoorPvPWG *m_wintergrasp; }; #endif diff --git a/win/VC80/game.vcproj b/win/VC80/game.vcproj index 2877fb6bd20..aeae52ea1ee 100644 --- a/win/VC80/game.vcproj +++ b/win/VC80/game.vcproj @@ -1698,11 +1698,11 @@ > </File> <File - RelativePath="..\..\src\game\Wintergrasp.cpp" + RelativePath="..\..\src\game\OutdoorPvPWG.cpp" > </File> <File - RelativePath="..\..\src\game\Wintergrasp.h" + RelativePath="..\..\src\game\OutdoorPvPWG.h" > </File> </Filter> diff --git a/win/VC90/game.vcproj b/win/VC90/game.vcproj index 9a58042d9ff..c9f6e1e7c12 100644 --- a/win/VC90/game.vcproj +++ b/win/VC90/game.vcproj @@ -1699,11 +1699,11 @@ > </File> <File - RelativePath="..\..\src\game\Wintergrasp.cpp" + RelativePath="..\..\src\game\OutdoorPvPWG.cpp" > </File> <File - RelativePath="..\..\src\game\Wintergrasp.h" + RelativePath="..\..\src\game\OutdoorPvPWG.h" > </File> </Filter> |