diff options
Diffstat (limited to 'src')
-rw-r--r-- | src/server/game/DataStores/DB2Stores.cpp | 3 | ||||
-rw-r--r-- | src/server/game/DataStores/DBCEnums.h | 2 | ||||
-rw-r--r-- | src/server/game/Server/Packets/AuctionHousePackets.h | 2 | ||||
-rw-r--r-- | src/server/game/Server/Packets/CharacterPackets.cpp | 4 | ||||
-rw-r--r-- | src/server/game/Server/Packets/CharacterPackets.h | 2 |
5 files changed, 8 insertions, 5 deletions
diff --git a/src/server/game/DataStores/DB2Stores.cpp b/src/server/game/DataStores/DB2Stores.cpp index f9d3b5095d4..0eac7fd444e 100644 --- a/src/server/game/DataStores/DB2Stores.cpp +++ b/src/server/game/DataStores/DB2Stores.cpp @@ -517,6 +517,9 @@ void DB2Manager::LoadStores(std::string const& dataPath, uint32 defaultLocale) for (ArtifactPowerRankEntry const* artifactPowerRank : sArtifactPowerRankStore) _artifactPowerRanks[std::pair<uint32, uint8>{ artifactPowerRank->ArtifactPowerID, artifactPowerRank->Rank }] = artifactPowerRank; + ASSERT(BATTLE_PET_SPECIES_MAX_ID >= sBattlePetSpeciesStore.GetNumRows(), + "BATTLE_PET_SPECIES_MAX_ID (%d) must be equal to or greater than %u", BATTLE_PET_SPECIES_MAX_ID, sBattlePetSpeciesStore.GetNumRows()); + std::unordered_map<uint32, std::set<std::pair<uint8, uint8>>> addedSections; for (CharSectionsEntry const* charSection : sCharSectionsStore) { diff --git a/src/server/game/DataStores/DBCEnums.h b/src/server/game/DataStores/DBCEnums.h index 9e466e10be0..c38661301b3 100644 --- a/src/server/game/DataStores/DBCEnums.h +++ b/src/server/game/DataStores/DBCEnums.h @@ -147,6 +147,8 @@ enum ArtifactPowerFlag : uint8 ARTIFACT_POWER_FLAG_DONT_COUNT_FIRST_BONUS_RANK = 0x10, }; +#define BATTLE_PET_SPECIES_MAX_ID 1942 + enum ChrSpecializationFlag { CHR_SPECIALIZATION_FLAG_CASTER = 0x01, diff --git a/src/server/game/Server/Packets/AuctionHousePackets.h b/src/server/game/Server/Packets/AuctionHousePackets.h index 8ea9615e301..31c24cdb046 100644 --- a/src/server/game/Server/Packets/AuctionHousePackets.h +++ b/src/server/game/Server/Packets/AuctionHousePackets.h @@ -281,7 +281,7 @@ namespace WorldPackets uint8 MaxLevel = 100; int32 Quality = 0; uint8 SortCount = 0; - Array<uint8> KnownPets; + Array<uint8, BATTLE_PET_SPECIES_MAX_ID / 8 + 1> KnownPets; int8 MaxPetLevel; std::string Name; Array<ClassFilter, 7> ClassFilters; diff --git a/src/server/game/Server/Packets/CharacterPackets.cpp b/src/server/game/Server/Packets/CharacterPackets.cpp index 7e44b8f9fe7..77095cc9635 100644 --- a/src/server/game/Server/Packets/CharacterPackets.cpp +++ b/src/server/game/Server/Packets/CharacterPackets.cpp @@ -330,10 +330,8 @@ WorldPacket const* WorldPackets::Character::GenerateRandomCharacterNameResult::W return &_worldPacket; } -WorldPackets::Character::ReorderCharacters::ReorderCharacters(WorldPacket&& packet) : ClientPacket(CMSG_REORDER_CHARACTERS, std::move(packet)), - Entries(sWorld->getIntConfig(CONFIG_CHARACTERS_PER_REALM)) +WorldPackets::Character::ReorderCharacters::ReorderCharacters(WorldPacket&& packet) : ClientPacket(CMSG_REORDER_CHARACTERS, std::move(packet)) { - } void WorldPackets::Character::ReorderCharacters::Read() diff --git a/src/server/game/Server/Packets/CharacterPackets.h b/src/server/game/Server/Packets/CharacterPackets.h index 695697468f9..9f739256bca 100644 --- a/src/server/game/Server/Packets/CharacterPackets.h +++ b/src/server/game/Server/Packets/CharacterPackets.h @@ -371,7 +371,7 @@ namespace WorldPackets void Read() override; - Array<ReorderInfo> Entries; + Array<ReorderInfo, MAX_CHARACTERS_PER_REALM> Entries; }; class UndeleteCharacter final : public ClientPacket |