aboutsummaryrefslogtreecommitdiff
path: root/src/server/game/BattlePets
diff options
context:
space:
mode:
authorShauren <shauren.trinity@gmail.com>2021-12-17 14:05:01 +0100
committerShauren <shauren.trinity@gmail.com>2021-12-17 14:23:43 +0100
commite8b3dda4a0cbbea0236ec607265fe80236c17a74 (patch)
tree63eadf6097808d98235a1a33329e02e811cc8206 /src/server/game/BattlePets
parent446997cdf2bf24163141d7dcaa80bb6ef891f933 (diff)
Core/BattlePets: Wrap battle pet related code in a separate namespace
Diffstat (limited to 'src/server/game/BattlePets')
-rw-r--r--src/server/game/BattlePets/BattlePetMgr.cpp20
-rw-r--r--src/server/game/BattlePets/BattlePetMgr.h30
2 files changed, 26 insertions, 24 deletions
diff --git a/src/server/game/BattlePets/BattlePetMgr.cpp b/src/server/game/BattlePets/BattlePetMgr.cpp
index dbb408325dc..c9166d86a02 100644
--- a/src/server/game/BattlePets/BattlePetMgr.cpp
+++ b/src/server/game/BattlePets/BattlePetMgr.cpp
@@ -31,7 +31,17 @@
#include "World.h"
#include "WorldSession.h"
-void BattlePetMgr::BattlePet::CalculateStats()
+namespace BattlePets
+{
+namespace
+{
+std::unordered_map<uint16 /*BreedID*/, std::unordered_map<BattlePetState /*state*/, int32 /*value*/, std::hash<std::underlying_type<BattlePetState>::type> >> _battlePetBreedStates;
+std::unordered_map<uint32 /*SpeciesID*/, std::unordered_map<BattlePetState /*state*/, int32 /*value*/, std::hash<std::underlying_type<BattlePetState>::type> >> _battlePetSpeciesStates;
+std::unordered_map<uint32 /*SpeciesID*/, std::unordered_set<uint8 /*breed*/>> _availableBreedsPerSpecies;
+std::unordered_map<uint32 /*SpeciesID*/, uint8 /*quality*/> _defaultQualityPerSpecies;
+}
+
+void BattlePet::CalculateStats()
{
float health = 0.0f;
float power = 0.0f;
@@ -80,11 +90,6 @@ void BattlePetMgr::BattlePet::CalculateStats()
PacketInfo.Speed = uint32(round(speed / 100));
}
-std::unordered_map<uint16 /*BreedID*/, std::unordered_map<BattlePetState /*state*/, int32 /*value*/, std::hash<std::underlying_type<BattlePetState>::type> >> BattlePetMgr::_battlePetBreedStates;
-std::unordered_map<uint32 /*SpeciesID*/, std::unordered_map<BattlePetState /*state*/, int32 /*value*/, std::hash<std::underlying_type<BattlePetState>::type> >> BattlePetMgr::_battlePetSpeciesStates;
-std::unordered_map<uint32 /*SpeciesID*/, std::unordered_set<uint8 /*breed*/>> BattlePetMgr::_availableBreedsPerSpecies;
-std::unordered_map<uint32 /*SpeciesID*/, uint8 /*quality*/> BattlePetMgr::_defaultQualityPerSpecies;
-
void BattlePetMgr::Initialize()
{
if (QueryResult result = LoginDatabase.Query("SELECT MAX(guid) FROM battle_pets"))
@@ -414,7 +419,7 @@ void BattlePetMgr::SaveToDB(LoginDatabaseTransaction& trans)
}
}
-BattlePetMgr::BattlePet* BattlePetMgr::GetPet(ObjectGuid guid)
+BattlePet* BattlePetMgr::GetPet(ObjectGuid guid)
{
return Trinity::Containers::MapGetValuePtr(_pets, guid.GetCounter());
}
@@ -741,3 +746,4 @@ bool BattlePetMgr::IsJournalLockAcquired() const
{
return sWorld->IsBattlePetJournalLockAcquired(_owner->GetBattlenetAccountGUID());
}
+}
diff --git a/src/server/game/BattlePets/BattlePetMgr.h b/src/server/game/BattlePets/BattlePetMgr.h
index 6fa7f588863..7a80e82aee8 100644
--- a/src/server/game/BattlePets/BattlePetMgr.h
+++ b/src/server/game/BattlePets/BattlePetMgr.h
@@ -25,6 +25,8 @@
struct BattlePetSpeciesEntry;
+namespace BattlePets
+{
enum BattlePetMisc
{
DEFAULT_MAX_BATTLE_PETS_PER_SPECIES = 3,
@@ -123,19 +125,19 @@ enum BattlePetSaveInfo
BATTLE_PET_REMOVED = 3
};
-class BattlePetMgr
+struct BattlePet
{
-public:
- struct BattlePet
- {
- void CalculateStats();
+ void CalculateStats();
- WorldPackets::BattlePet::BattlePet PacketInfo;
- time_t NameTimestamp = time_t(0);
- std::unique_ptr<::DeclinedName> DeclinedName;
- BattlePetSaveInfo SaveInfo = BATTLE_PET_UNCHANGED;
- };
+ WorldPackets::BattlePet::BattlePet PacketInfo;
+ time_t NameTimestamp = time_t(0);
+ std::unique_ptr<::DeclinedName> DeclinedName;
+ BattlePetSaveInfo SaveInfo = BATTLE_PET_UNCHANGED;
+};
+class BattlePetMgr
+{
+public:
explicit BattlePetMgr(WorldSession* owner);
static void Initialize();
@@ -193,12 +195,6 @@ private:
static void LoadAvailablePetBreeds();
static void LoadDefaultPetQualities();
-
- // hash no longer required in C++14
- static std::unordered_map<uint16 /*BreedID*/, std::unordered_map<BattlePetState /*state*/, int32 /*value*/, std::hash<std::underlying_type<BattlePetState>::type> >> _battlePetBreedStates;
- static std::unordered_map<uint32 /*SpeciesID*/, std::unordered_map<BattlePetState /*state*/, int32 /*value*/, std::hash<std::underlying_type<BattlePetState>::type> >> _battlePetSpeciesStates;
- static std::unordered_map<uint32 /*SpeciesID*/, std::unordered_set<uint8 /*breed*/>> _availableBreedsPerSpecies;
- static std::unordered_map<uint32 /*SpeciesID*/, uint8 /*quality*/> _defaultQualityPerSpecies;
};
-
+}
#endif // BattlePetMgr_h__