From 02cacd234198e97099c934fcddfecc24ec5754f4 Mon Sep 17 00:00:00 2001 From: Andrew <47818697+Nyeriah@users.noreply.github.com> Date: Mon, 2 Dec 2024 16:34:24 -0300 Subject: [PATCH] feat(Core/Unit): Implement GetCompanionPet() helper (#20819) --- src/server/game/Entities/Unit/Unit.cpp | 7 ++++++- src/server/game/Entities/Unit/Unit.h | 1 + 2 files changed, 7 insertions(+), 1 deletion(-) diff --git a/src/server/game/Entities/Unit/Unit.cpp b/src/server/game/Entities/Unit/Unit.cpp index 40b36895d..f5f299625 100644 --- a/src/server/game/Entities/Unit/Unit.cpp +++ b/src/server/game/Entities/Unit/Unit.cpp @@ -9028,7 +9028,7 @@ bool Unit::HandleProcTriggerSpell(Unit* victim, uint32 damage, AuraEffect* trigg if (!victim) return false; - if (Creature* cr = ObjectAccessor::GetCreature(*this, m_SummonSlot[SUMMON_SLOT_MINIPET])) + if (Creature* cr = GetCompanionPet()) cr->CastSpell(victim, 50101, true); return false; @@ -10663,6 +10663,11 @@ Guardian* Unit::GetGuardianPet() const return nullptr; } +Creature* Unit::GetCompanionPet() const +{ + return ObjectAccessor::GetCreature(*this, m_SummonSlot[SUMMON_SLOT_MINIPET]); +} + Unit* Unit::GetCharm() const { if (ObjectGuid charm_guid = GetCharmGUID()) diff --git a/src/server/game/Entities/Unit/Unit.h b/src/server/game/Entities/Unit/Unit.h index 48c31dbe2..af6c71e41 100644 --- a/src/server/game/Entities/Unit/Unit.h +++ b/src/server/game/Entities/Unit/Unit.h @@ -1758,6 +1758,7 @@ public: // Pets, guardians, minions... [[nodiscard]] Guardian* GetGuardianPet() const; [[nodiscard]] Minion* GetFirstMinion() const; + [[nodiscard]] Creature* GetCompanionPet() const; Pet* CreateTamedPetFrom(Creature* creatureTarget, uint32 spell_id = 0); Pet* CreateTamedPetFrom(uint32 creatureEntry, uint32 spell_id = 0);