diff options
| author | Shauren <shauren.trinity@gmail.com> | 2024-08-18 18:59:58 +0200 |
|---|---|---|
| committer | Ovahlord <dreadkiller@gmx.de> | 2024-08-18 20:39:21 +0200 |
| commit | 25ffdbc5ef0859aeaadfa132329a498e86827e68 (patch) | |
| tree | d7df51da8cdc3e3df7c50e5058803f9324715ee4 /src/server/game/BattlePets/BattlePetMgr.cpp | |
| parent | 0c98004896cb91ef2d22baa5569ff0e0d6cd15ee (diff) | |
Core/Realms: Realmlist refactors
* Removed global realm variable from World and use RealmList everywhere
* Match auth build key with client version
* Restored allowedSecurityLevel checks for realmlist packet building
* Restored updating population field, mysteriously removed 15 years ago in f20b25d1c90f608deab28c9957b3b376ab2a0d50
(cherry picked from commit c4b710446d62c95eb8124175203fa5f394912594)
# Conflicts:
# sql/base/auth_database.sql
Diffstat (limited to 'src/server/game/BattlePets/BattlePetMgr.cpp')
| -rw-r--r-- | src/server/game/BattlePets/BattlePetMgr.cpp | 11 |
1 files changed, 6 insertions, 5 deletions
diff --git a/src/server/game/BattlePets/BattlePetMgr.cpp b/src/server/game/BattlePets/BattlePetMgr.cpp index f153f7d4138..d42a668b12f 100644 --- a/src/server/game/BattlePets/BattlePetMgr.cpp +++ b/src/server/game/BattlePets/BattlePetMgr.cpp @@ -27,7 +27,7 @@ #include "ObjectAccessor.h" #include "ObjectMgr.h" #include "Player.h" -#include "Realm.h" +#include "RealmList.h" #include "Util.h" #include "World.h" #include "WorldSession.h" @@ -290,18 +290,19 @@ void BattlePetMgr::LoadFromDB(PreparedQueryResult pets, PreparedQueryResult slot pet.NameTimestamp = fields[10].GetInt64(); pet.PacketInfo.CreatureID = speciesEntry->CreatureID; - if (!fields[12].IsNull()) + if (!fields[13].IsNull()) { pet.DeclinedName = std::make_unique<DeclinedName>(); for (uint8 i = 0; i < MAX_DECLINED_NAME_CASES; ++i) - pet.DeclinedName->name[i] = fields[12 + i].GetString(); + pet.DeclinedName->name[i] = fields[13 + i].GetString(); } if (!ownerGuid.IsEmpty()) { pet.PacketInfo.OwnerInfo.emplace(); pet.PacketInfo.OwnerInfo->Guid = ownerGuid; - pet.PacketInfo.OwnerInfo->PlayerVirtualRealm = pet.PacketInfo.OwnerInfo->PlayerNativeRealm = GetVirtualRealmAddress(); + if (std::shared_ptr<Realm const> ownerRealm = sRealmList->GetRealm(fields[12].GetInt32())) + pet.PacketInfo.OwnerInfo->PlayerVirtualRealm = pet.PacketInfo.OwnerInfo->PlayerNativeRealm = ownerRealm->Id.GetAddress(); } pet.SaveInfo = BATTLE_PET_UNCHANGED; @@ -353,7 +354,7 @@ void BattlePetMgr::SaveToDB(LoginDatabaseTransaction trans) if (itr->second.PacketInfo.OwnerInfo) { stmt->setInt64(12, itr->second.PacketInfo.OwnerInfo->Guid.GetCounter()); - stmt->setInt32(13, realm.Id.Realm); + stmt->setInt32(13, sRealmList->GetCurrentRealmId().Realm); } else { |
