diff --git a/src/server/game/Entities/Creature/Creature.cpp b/src/server/game/Entities/Creature/Creature.cpp index d8e85547a..8b61c70e6 100644 --- a/src/server/game/Entities/Creature/Creature.cpp +++ b/src/server/game/Entities/Creature/Creature.cpp @@ -239,6 +239,9 @@ void Creature::AddToWorld() GetVehicleKit()->Install(); #ifdef ELUNA sEluna->OnAddToWorld(this); + + if (IsGuardian() && ToTempSummon() && ToTempSummon()->GetSummonerGUID().IsPlayer()) + sEluna->OnPetAddedToWorld(ToTempSummon()->GetSummonerUnit()->ToPlayer(), this); #endif } } diff --git a/src/server/game/Entities/Pet/Pet.cpp b/src/server/game/Entities/Pet/Pet.cpp index 8d1bcb5e8..2afc056ec 100644 --- a/src/server/game/Entities/Pet/Pet.cpp +++ b/src/server/game/Entities/Pet/Pet.cpp @@ -35,6 +35,10 @@ #include "WorldPacket.h" #include "WorldSession.h" +#ifdef ELUNA +#include "LuaEngine.h" +#endif + Pet::Pet(Player* owner, PetType type) : Guardian(nullptr, owner ? owner->GetGUID() : ObjectGuid::Empty, true), m_usedTalentCount(0), m_removed(false), m_owner(owner), m_happinessTimer(PET_LOSE_HAPPINES_INTERVAL), m_petType(type), m_duration(0), @@ -93,6 +97,11 @@ void Pet::AddToWorld() GetCharmInfo()->SetIsFollowing(false); GetCharmInfo()->SetIsReturning(false); } + +#ifdef ELUNA + if (GetOwnerGUID().IsPlayer()) + sEluna->OnPetAddedToWorld(GetOwner(), this); +#endif } void Pet::RemoveFromWorld()