diff options
| author | Shauren <shauren.trinity@gmail.com> | 2014-09-14 16:14:12 +0200 |
|---|---|---|
| committer | Shauren <shauren.trinity@gmail.com> | 2014-09-14 16:14:12 +0200 |
| commit | a0e50ea35fca61447bf07fc45d93c98234ba59f7 (patch) | |
| tree | b4ee69a63866f42e466a3c03fc031ce0710ac762 /src/server/game/Battlefield | |
| parent | ce67a097bf3c0c3241f4441a808e32639ddbaafb (diff) | |
Core/Entities: Use ObjectGuid class in game project
Diffstat (limited to 'src/server/game/Battlefield')
| -rw-r--r-- | src/server/game/Battlefield/Battlefield.cpp | 41 | ||||
| -rw-r--r-- | src/server/game/Battlefield/Battlefield.h | 33 | ||||
| -rw-r--r-- | src/server/game/Battlefield/Zones/BattlefieldWG.cpp | 40 | ||||
| -rw-r--r-- | src/server/game/Battlefield/Zones/BattlefieldWG.h | 10 |
4 files changed, 60 insertions, 64 deletions
diff --git a/src/server/game/Battlefield/Battlefield.cpp b/src/server/game/Battlefield/Battlefield.cpp index b7ecd4b1e24..d54ce790c5b 100644 --- a/src/server/game/Battlefield/Battlefield.cpp +++ b/src/server/game/Battlefield/Battlefield.cpp @@ -56,7 +56,6 @@ Battlefield::Battlefield() m_LastResurrectTimer = 30 * IN_MILLISECONDS; m_StartGroupingTimer = 0; m_StartGrouping = false; - StalkerGuid = 0; } Battlefield::~Battlefield() @@ -299,7 +298,7 @@ void Battlefield::KickAfkPlayers() KickPlayerFromBattlefield(*itr); } -void Battlefield::KickPlayerFromBattlefield(uint64 guid) +void Battlefield::KickPlayerFromBattlefield(ObjectGuid guid) { if (Player* player = ObjectAccessor::FindPlayer(guid)) if (player->GetZoneId() == GetZoneId()) @@ -503,17 +502,17 @@ void Battlefield::ShowNpc(Creature* creature, bool aggressive) Group* Battlefield::GetFreeBfRaid(TeamId TeamId) { for (GuidSet::const_iterator itr = m_Groups[TeamId].begin(); itr != m_Groups[TeamId].end(); ++itr) - if (Group* group = sGroupMgr->GetGroupByGUID(*itr)) + if (Group* group = sGroupMgr->GetGroupByGUID(itr->GetCounter())) if (!group->IsFull()) return group; return NULL; } -Group* Battlefield::GetGroupPlayer(uint64 guid, TeamId TeamId) +Group* Battlefield::GetGroupPlayer(ObjectGuid guid, TeamId TeamId) { for (GuidSet::const_iterator itr = m_Groups[TeamId].begin(); itr != m_Groups[TeamId].end(); ++itr) - if (Group* group = sGroupMgr->GetGroupByGUID(*itr)) + if (Group* group = sGroupMgr->GetGroupByGUID(itr->GetCounter())) if (group->IsMember(guid)) return group; @@ -598,7 +597,7 @@ WorldSafeLocsEntry const* Battlefield::GetClosestGraveYard(Player* player) return NULL; } -void Battlefield::AddPlayerToResurrectQueue(uint64 npcGuid, uint64 playerGuid) +void Battlefield::AddPlayerToResurrectQueue(ObjectGuid npcGuid, ObjectGuid playerGuid) { for (uint8 i = 0; i < m_GraveyardList.size(); i++) { @@ -613,7 +612,7 @@ void Battlefield::AddPlayerToResurrectQueue(uint64 npcGuid, uint64 playerGuid) } } -void Battlefield::RemovePlayerFromResurrectQueue(uint64 playerGuid) +void Battlefield::RemovePlayerFromResurrectQueue(ObjectGuid playerGuid) { for (uint8 i = 0; i < m_GraveyardList.size(); i++) { @@ -628,7 +627,7 @@ void Battlefield::RemovePlayerFromResurrectQueue(uint64 playerGuid) } } -void Battlefield::SendAreaSpiritHealerQueryOpcode(Player* player, uint64 guid) +void Battlefield::SendAreaSpiritHealerQueryOpcode(Player* player, ObjectGuid guid) { WorldPacket data(SMSG_AREA_SPIRIT_HEALER_TIME, 12); uint32 time = m_LastResurrectTimer; // resurrect every 30 seconds @@ -645,8 +644,8 @@ BfGraveyard::BfGraveyard(Battlefield* battlefield) m_Bf = battlefield; m_GraveyardId = 0; m_ControlTeam = TEAM_NEUTRAL; - m_SpiritGuide[0] = 0; - m_SpiritGuide[1] = 0; + m_SpiritGuide[0].Clear(); + m_SpiritGuide[1].Clear(); } void BfGraveyard::Initialize(TeamId startControl, uint32 graveyardId) @@ -673,7 +672,7 @@ float BfGraveyard::GetDistance(Player* player) return player->GetDistance2d(safeLoc->x, safeLoc->y); } -void BfGraveyard::AddPlayer(uint64 playerGuid) +void BfGraveyard::AddPlayer(ObjectGuid playerGuid) { if (!m_ResurrectQueue.count(playerGuid)) { @@ -684,7 +683,7 @@ void BfGraveyard::AddPlayer(uint64 playerGuid) } } -void BfGraveyard::RemovePlayer(uint64 playerGuid) +void BfGraveyard::RemovePlayer(ObjectGuid playerGuid) { m_ResurrectQueue.erase(m_ResurrectQueue.find(playerGuid)); @@ -756,7 +755,7 @@ void BfGraveyard::RelocateDeadPlayers() } } -bool BfGraveyard::HasNpc(uint64 guid) +bool BfGraveyard::HasNpc(ObjectGuid guid) { if (!m_SpiritGuide[0] || !m_SpiritGuide[1]) return false; @@ -838,25 +837,25 @@ GameObject* Battlefield::SpawnGameObject(uint32 entry, float x, float y, float z return go; } -Creature* Battlefield::GetCreature(uint64 GUID) +Creature* Battlefield::GetCreature(ObjectGuid guid) { if (!m_Map) return NULL; - return m_Map->GetCreature(GUID); + return m_Map->GetCreature(guid); } -GameObject* Battlefield::GetGameObject(uint64 GUID) +GameObject* Battlefield::GetGameObject(ObjectGuid guid) { if (!m_Map) return NULL; - return m_Map->GetGameObject(GUID); + return m_Map->GetGameObject(guid); } // ******************************************************* // ******************* CapturePoint ********************** // ******************************************************* -BfCapturePoint::BfCapturePoint(Battlefield* battlefield) : m_Bf(battlefield), m_capturePointGUID(0) +BfCapturePoint::BfCapturePoint(Battlefield* battlefield) : m_Bf(battlefield), m_capturePointGUID() { m_team = TEAM_NEUTRAL; m_value = 0; @@ -921,7 +920,7 @@ bool BfCapturePoint::SetCapturePointData(GameObject* capturePoint) TC_LOG_DEBUG("bg.battlefield", "Creating capture point %u", capturePoint->GetEntry()); - m_capturePointGUID = MAKE_NEW_GUID(capturePoint->GetGUIDLow(), capturePoint->GetEntry(), HIGHGUID_GAMEOBJECT); + m_capturePointGUID = ObjectGuid(HIGHGUID_GAMEOBJECT, capturePoint->GetEntry(), capturePoint->GetGUIDLow()); // check info existence GameObjectTemplate const* goinfo = capturePoint->GetGOInfo(); @@ -966,7 +965,7 @@ bool BfCapturePoint::DelCapturePoint() capturePoint->Delete(); capturePoint = NULL; } - m_capturePointGUID = 0; + m_capturePointGUID.Clear(); } return true; @@ -1102,7 +1101,7 @@ void BfCapturePoint::SendUpdateWorldState(uint32 field, uint32 value) player->SendUpdateWorldState(field, value); } -void BfCapturePoint::SendObjectiveComplete(uint32 id, uint64 guid) +void BfCapturePoint::SendObjectiveComplete(uint32 id, ObjectGuid guid) { uint8 team; switch (m_State) diff --git a/src/server/game/Battlefield/Battlefield.h b/src/server/game/Battlefield/Battlefield.h index c6bfee40cd2..c7322e63a21 100644 --- a/src/server/game/Battlefield/Battlefield.h +++ b/src/server/game/Battlefield/Battlefield.h @@ -64,9 +64,8 @@ class Unit; class Battlefield; class BfGraveyard; -typedef std::set<uint64> GuidSet; typedef std::vector<BfGraveyard*> GraveyardVect; -typedef std::map<uint64, time_t> PlayerTimerMap; +typedef std::map<ObjectGuid, time_t> PlayerTimerMap; class BfCapturePoint { @@ -81,7 +80,7 @@ class BfCapturePoint void SendUpdateWorldState(uint32 field, uint32 value); // Send kill notify to players in the controlling faction - void SendObjectiveComplete(uint32 id, uint64 guid); + void SendObjectiveComplete(uint32 id, ObjectGuid guid); // Used when player is activated/inactivated in the area virtual bool HandlePlayerEnter(Player* player); @@ -132,7 +131,7 @@ class BfCapturePoint uint32 m_capturePointEntry; // Gameobject related to that capture point - uint64 m_capturePointGUID; + ObjectGuid m_capturePointGUID; }; class BfGraveyard @@ -154,10 +153,10 @@ class BfGraveyard void SetSpirit(Creature* spirit, TeamId team); // Add a player to the graveyard - void AddPlayer(uint64 player_guid); + void AddPlayer(ObjectGuid player_guid); // Remove a player from the graveyard - void RemovePlayer(uint64 player_guid); + void RemovePlayer(ObjectGuid player_guid); // Resurrect players void Resurrect(); @@ -166,10 +165,10 @@ class BfGraveyard void RelocateDeadPlayers(); // Check if this graveyard has a spirit guide - bool HasNpc(uint64 guid); + bool HasNpc(ObjectGuid guid); // Check if a player is in this graveyard's resurrect queue - bool HasPlayer(uint64 guid) { return m_ResurrectQueue.find(guid) != m_ResurrectQueue.end(); } + bool HasPlayer(ObjectGuid guid) { return m_ResurrectQueue.find(guid) != m_ResurrectQueue.end(); } // Get the graveyard's ID. uint32 GetGraveyardId() const { return m_GraveyardId; } @@ -177,7 +176,7 @@ class BfGraveyard protected: TeamId m_ControlTeam; uint32 m_GraveyardId; - uint64 m_SpiritGuide[BG_TEAMS_COUNT]; + ObjectGuid m_SpiritGuide[BG_TEAMS_COUNT]; GuidSet m_ResurrectQueue; Battlefield* m_Bf; }; @@ -237,7 +236,7 @@ class Battlefield : public ZoneScript * \brief Kick player from battlefield and teleport him to kick-point location * \param guid : guid of player who must be kick */ - void KickPlayerFromBattlefield(uint64 guid); + void KickPlayerFromBattlefield(ObjectGuid guid); /// Called when player (player) enter in zone void HandlePlayerEnterZone(Player* player, uint32 zone); @@ -266,7 +265,7 @@ class Battlefield : public ZoneScript */ Group* GetFreeBfRaid(TeamId TeamId); /// Return battlefield group where player is. - Group* GetGroupPlayer(uint64 guid, TeamId TeamId); + Group* GetGroupPlayer(ObjectGuid guid, TeamId TeamId); /// Force player to join a battlefield group bool AddOrSetPlayerToCorrectBfGroup(Player* player); @@ -274,8 +273,8 @@ class Battlefield : public ZoneScript // Find which graveyard the player must be teleported to to be resurrected by spiritguide WorldSafeLocsEntry const* GetClosestGraveYard(Player* player); - virtual void AddPlayerToResurrectQueue(uint64 npc_guid, uint64 player_guid); - void RemovePlayerFromResurrectQueue(uint64 player_guid); + virtual void AddPlayerToResurrectQueue(ObjectGuid npc_guid, ObjectGuid player_guid); + void RemovePlayerFromResurrectQueue(ObjectGuid player_guid); void SetGraveyardNumber(uint32 number) { m_GraveyardList.resize(number); } BfGraveyard* GetGraveyardById(uint32 id) const; @@ -284,8 +283,8 @@ class Battlefield : public ZoneScript Creature* SpawnCreature(uint32 entry, Position const& pos, TeamId /*teamId*/); GameObject* SpawnGameObject(uint32 entry, float x, float y, float z, float o); - Creature* GetCreature(uint64 GUID); - GameObject* GetGameObject(uint64 GUID); + Creature* GetCreature(ObjectGuid guid); + GameObject* GetGameObject(ObjectGuid guid); // Script-methods @@ -321,7 +320,7 @@ class Battlefield : public ZoneScript /// Return if we can use mount in battlefield bool CanFlyIn() { return !m_isActive; } - void SendAreaSpiritHealerQueryOpcode(Player* player, uint64 guid); + void SendAreaSpiritHealerQueryOpcode(Player* player, ObjectGuid guid); void StartBattle(); void EndBattle(bool endByTimer); @@ -342,7 +341,7 @@ class Battlefield : public ZoneScript void InitStalker(uint32 entry, Position const& pos); protected: - uint64 StalkerGuid; + ObjectGuid StalkerGuid; uint32 m_Timer; // Global timer for event bool m_IsEnabled; bool m_isActive; diff --git a/src/server/game/Battlefield/Zones/BattlefieldWG.cpp b/src/server/game/Battlefield/Zones/BattlefieldWG.cpp index e05c918f501..a6eb0c24ece 100644 --- a/src/server/game/Battlefield/Zones/BattlefieldWG.cpp +++ b/src/server/game/Battlefield/Zones/BattlefieldWG.cpp @@ -301,7 +301,7 @@ void BattlefieldWG::OnBattleEnd(bool endByTimer) if (m_titansRelicGUID) if (GameObject* relic = GetGameObject(m_titansRelicGUID)) relic->RemoveFromWorld(); - m_titansRelicGUID = 0; + m_titansRelicGUID.Clear(); // Remove turret for (GuidSet::const_iterator itr = CanonList.begin(); itr != CanonList.end(); ++itr) @@ -1065,7 +1065,6 @@ BfWGGameObjectBuilding::BfWGGameObjectBuilding(BattlefieldWG* wg) { m_WG = wg; m_Team = 0; - m_BuildGUID = 0; m_Type = 0; m_WorldState = 0; m_State = 0; @@ -1119,11 +1118,11 @@ void BfWGGameObjectBuilding::Damaged() if (m_NameId) // tower damage + name m_WG->SendWarningToAllInZone(m_NameId); - for (uint64 guid : m_CreatureTopList[m_WG->GetAttackerTeam()]) + for (ObjectGuid guid : m_CreatureTopList[m_WG->GetAttackerTeam()]) if (Creature* creature = m_WG->GetCreature(guid)) m_WG->HideNpc(creature); - for (uint64 guid : m_TurretTopList) + for (ObjectGuid guid : m_TurretTopList) if (Creature* creature = m_WG->GetCreature(guid)) m_WG->HideNpc(creature); @@ -1331,34 +1330,34 @@ void BfWGGameObjectBuilding::Init(GameObject* go, uint32 type, uint32 worldstate void BfWGGameObjectBuilding::UpdateCreatureAndGo() { - for (uint64 guid : m_CreatureTopList[m_WG->GetDefenderTeam()]) + for (ObjectGuid guid : m_CreatureTopList[m_WG->GetDefenderTeam()]) if (Creature* creature = m_WG->GetCreature(guid)) m_WG->HideNpc(creature); - for (uint64 guid : m_CreatureTopList[m_WG->GetAttackerTeam()]) + for (ObjectGuid guid : m_CreatureTopList[m_WG->GetAttackerTeam()]) if (Creature* creature = m_WG->GetCreature(guid)) m_WG->ShowNpc(creature, true); - for (uint64 guid : m_CreatureBottomList[m_WG->GetDefenderTeam()]) + for (ObjectGuid guid : m_CreatureBottomList[m_WG->GetDefenderTeam()]) if (Creature* creature = m_WG->GetCreature(guid)) m_WG->HideNpc(creature); - for (uint64 guid : m_CreatureBottomList[m_WG->GetAttackerTeam()]) + for (ObjectGuid guid : m_CreatureBottomList[m_WG->GetAttackerTeam()]) if (Creature* creature = m_WG->GetCreature(guid)) m_WG->ShowNpc(creature, true); - for (uint64 guid : m_GameObjectList[m_WG->GetDefenderTeam()]) + for (ObjectGuid guid : m_GameObjectList[m_WG->GetDefenderTeam()]) if (GameObject* object = m_WG->GetGameObject(guid)) object->SetRespawnTime(RESPAWN_ONE_DAY); - for (uint64 guid : m_GameObjectList[m_WG->GetAttackerTeam()]) + for (ObjectGuid guid : m_GameObjectList[m_WG->GetAttackerTeam()]) if (GameObject* object = m_WG->GetGameObject(guid)) object->SetRespawnTime(RESPAWN_IMMEDIATELY); } void BfWGGameObjectBuilding::UpdateTurretAttack(bool disable) { - for (uint64 guid : m_TowerCannonBottomList) + for (ObjectGuid guid : m_TowerCannonBottomList) { if (Creature* creature = m_WG->GetCreature(guid)) { @@ -1391,7 +1390,7 @@ void BfWGGameObjectBuilding::UpdateTurretAttack(bool disable) } } - for (uint64 guid : m_TurretTopList) + for (ObjectGuid guid : m_TurretTopList) { if (Creature* creature = m_WG->GetCreature(guid)) { @@ -1492,7 +1491,6 @@ void WGWorkshop::Save() WintergraspWorkshopData::WintergraspWorkshopData(BattlefieldWG* wg) { m_WG = wg; - m_BuildGUID = 0; m_Type = 0; m_State = 0; m_WorldState = 0; @@ -1538,22 +1536,22 @@ void WintergraspWorkshopData::GiveControlTo(uint8 team, bool init) case BATTLEFIELD_WG_TEAM_ALLIANCE: { // Show Alliance creature - for (uint64 guid : m_CreatureOnPoint[TEAM_ALLIANCE]) + for (ObjectGuid guid : m_CreatureOnPoint[TEAM_ALLIANCE]) if (Creature* creature = m_WG->GetCreature(guid)) m_WG->ShowNpc(creature, creature->GetEntry() != 30499); // Hide Horde creature - for (uint64 guid : m_CreatureOnPoint[TEAM_HORDE]) + for (ObjectGuid guid : m_CreatureOnPoint[TEAM_HORDE]) if (Creature* creature = m_WG->GetCreature(guid)) m_WG->HideNpc(creature); // Show Alliance gameobject - for (uint64 guid : m_GameObjectOnPoint[TEAM_ALLIANCE]) + for (ObjectGuid guid : m_GameObjectOnPoint[TEAM_ALLIANCE]) if (GameObject* object = m_WG->GetGameObject(guid)) object->SetRespawnTime(RESPAWN_IMMEDIATELY); // Hide Horde gameobject - for (uint64 guid : m_GameObjectOnPoint[TEAM_HORDE]) + for (ObjectGuid guid : m_GameObjectOnPoint[TEAM_HORDE]) if (GameObject* object = m_WG->GetGameObject(guid)) object->SetRespawnTime(RESPAWN_ONE_DAY); @@ -1577,22 +1575,22 @@ void WintergraspWorkshopData::GiveControlTo(uint8 team, bool init) case BATTLEFIELD_WG_TEAM_HORDE: { // Show Horde creature - for (uint64 guid : m_CreatureOnPoint[TEAM_HORDE]) + for (ObjectGuid guid : m_CreatureOnPoint[TEAM_HORDE]) if (Creature* creature = m_WG->GetCreature(guid)) m_WG->ShowNpc(creature, creature->GetEntry() != 30400); // Hide Alliance creature - for (uint64 guid : m_CreatureOnPoint[TEAM_ALLIANCE]) + for (ObjectGuid guid : m_CreatureOnPoint[TEAM_ALLIANCE]) if (Creature* creature = m_WG->GetCreature(guid)) m_WG->HideNpc(creature); // Hide Alliance gameobject - for (uint64 guid : m_GameObjectOnPoint[TEAM_ALLIANCE]) + for (ObjectGuid guid : m_GameObjectOnPoint[TEAM_ALLIANCE]) if (GameObject* object = m_WG->GetGameObject(guid)) object->SetRespawnTime(RESPAWN_ONE_DAY); // Show Horde gameobject - for (uint64 guid : m_GameObjectOnPoint[TEAM_HORDE]) + for (ObjectGuid guid : m_GameObjectOnPoint[TEAM_HORDE]) if (GameObject* object = m_WG->GetGameObject(guid)) object->SetRespawnTime(RESPAWN_IMMEDIATELY); diff --git a/src/server/game/Battlefield/Zones/BattlefieldWG.h b/src/server/game/Battlefield/Zones/BattlefieldWG.h index 341ccdeb44c..f5fa9b24377 100644 --- a/src/server/game/Battlefield/Zones/BattlefieldWG.h +++ b/src/server/game/Battlefield/Zones/BattlefieldWG.h @@ -383,7 +383,7 @@ class BattlefieldWG : public Battlefield GameObject* GetRelic() { return GetGameObject(m_titansRelicGUID); } /// Define relic object - void SetRelic(uint64 relicGUID) { m_titansRelicGUID = relicGUID; } + void SetRelic(ObjectGuid relicGUID) { m_titansRelicGUID = relicGUID; } /// Check if players can interact with the relic (Only if the last door has been broken) bool CanInteractWithRelic() { return m_isRelicInteractible; } @@ -429,7 +429,7 @@ class BattlefieldWG : public Battlefield uint32 m_tenacityStack; uint32 m_saveTimer; - uint64 m_titansRelicGUID; + ObjectGuid m_titansRelicGUID; }; uint32 const VehNumWorldState[] = { 3680, 3490 }; @@ -578,7 +578,7 @@ struct WintergraspBuildingSpawnData struct WintergraspRebuildableBuildingData { - uint64 Guid; + ObjectGuid Guid; uint32 entry; uint32 WorldState; float x; @@ -1068,7 +1068,7 @@ struct BfWGGameObjectBuilding BattlefieldWG* m_WG; // Linked gameobject - uint64 m_BuildGUID; + ObjectGuid m_BuildGUID; // eWGGameObjectBuildingType uint32 m_Type; @@ -1132,7 +1132,7 @@ struct WGWorkshop struct WintergraspWorkshopData { BattlefieldWG* m_WG; // Pointer to wintergrasp - uint64 m_BuildGUID; + ObjectGuid m_BuildGUID; uint32 m_Type; uint32 m_State; // For worldstate uint32 m_WorldState; |
