aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorShauren <shauren.trinity@gmail.com>2025-08-19 18:05:21 +0200
committerShauren <shauren.trinity@gmail.com>2025-08-19 18:05:21 +0200
commitf58a5fe67430eac922a309b244eff7a396aa0adc (patch)
tree8d092c35156d805fa0a60af8e8582ed9777fea4a /src
parentc215363e86a260e9455469ffffab9e84263fb276 (diff)
Core/BattlePets: Fix using moved-from variable when adding new pet
Diffstat (limited to 'src')
-rw-r--r--src/server/game/BattlePets/BattlePetMgr.cpp11
1 files changed, 4 insertions, 7 deletions
diff --git a/src/server/game/BattlePets/BattlePetMgr.cpp b/src/server/game/BattlePets/BattlePetMgr.cpp
index b1a0acad7e0..40abc763abb 100644
--- a/src/server/game/BattlePets/BattlePetMgr.cpp
+++ b/src/server/game/BattlePets/BattlePetMgr.cpp
@@ -453,17 +453,16 @@ void BattlePetMgr::AddPet(uint32 species, uint32 display, uint16 breed, BattlePe
if (!battlePetSpecies->GetFlags().HasFlag(BattlePetSpeciesFlags::WellKnown)) // Not learnable
return;
- BattlePet pet;
- pet.PacketInfo.Guid = ObjectGuid::Create<HighGuid::BattlePet>(sObjectMgr->GetGenerator<HighGuid::BattlePet>().Generate());
+ ObjectGuid guid = ObjectGuid::Create<HighGuid::BattlePet>(sObjectMgr->GetGenerator<HighGuid::BattlePet>().Generate());
+
+ BattlePet& pet = _pets[guid.GetCounter()];
+ pet.PacketInfo.Guid = guid;
pet.PacketInfo.Species = species;
pet.PacketInfo.CreatureID = battlePetSpecies->CreatureID;
pet.PacketInfo.DisplayID = display;
pet.PacketInfo.Level = level;
- pet.PacketInfo.Exp = 0;
- pet.PacketInfo.Flags = 0;
pet.PacketInfo.Breed = breed;
pet.PacketInfo.Quality = AsUnderlyingType(quality);
- pet.PacketInfo.Name = "";
pet.CalculateStats();
pet.PacketInfo.Health = pet.PacketInfo.MaxHealth;
@@ -477,8 +476,6 @@ void BattlePetMgr::AddPet(uint32 species, uint32 display, uint16 breed, BattlePe
pet.SaveInfo = BATTLE_PET_NEW;
- _pets[pet.PacketInfo.Guid.GetCounter()] = std::move(pet);
-
std::array<std::reference_wrapper<BattlePet const>, 1> updates = { pet };
SendUpdates(updates, true);