diff options
| author | Shauren <shauren.trinity@gmail.com> | 2025-02-11 19:27:47 +0100 |
|---|---|---|
| committer | Shauren <shauren.trinity@gmail.com> | 2025-02-11 19:27:47 +0100 |
| commit | 13eb405a3d7f3e4d950af83fbb715ae5b938ae59 (patch) | |
| tree | 823db0ea3ea14de7246706ddfb74607b8fe8a392 /src/server/game/Entities | |
| parent | a827230910fd7e3e64bcb5526e2778b8b4752da4 (diff) | |
Core/Pets: a827230910fd7e3e64bcb5526e2778b8b4752da4 followup reducing differences between branches
Diffstat (limited to 'src/server/game/Entities')
| -rw-r--r-- | src/server/game/Entities/Pet/PetDefines.h | 11 | ||||
| -rw-r--r-- | src/server/game/Entities/Unit/Unit.cpp | 24 | ||||
| -rw-r--r-- | src/server/game/Entities/Unit/Unit.h | 2 |
3 files changed, 24 insertions, 13 deletions
diff --git a/src/server/game/Entities/Pet/PetDefines.h b/src/server/game/Entities/Pet/PetDefines.h index b96799db85c..90150f3b0c6 100644 --- a/src/server/game/Entities/Pet/PetDefines.h +++ b/src/server/game/Entities/Pet/PetDefines.h @@ -67,12 +67,13 @@ enum PetSpellType PETSPELL_TALENT = 2 }; -enum ActionFeedback +enum class PetActionFeedback : uint8 { - FEEDBACK_NONE = 0, - FEEDBACK_PET_DEAD = 1, - FEEDBACK_NOTHING_TO_ATT = 2, - FEEDBACK_CANT_ATT_TARGET = 3 + None = 0, + Dead = 1, + NoTarget = 2, + InvalidTarget = 3, + NoPath = 4 }; enum PetAction : int32 diff --git a/src/server/game/Entities/Unit/Unit.cpp b/src/server/game/Entities/Unit/Unit.cpp index bfbf415c956..123c3403ec0 100644 --- a/src/server/game/Entities/Unit/Unit.cpp +++ b/src/server/game/Entities/Unit/Unit.cpp @@ -10243,26 +10243,36 @@ void Unit::TriggerAurasProcOnEvent(ProcEventInfo& eventInfo, AuraApplicationProc } ///----------Pet responses methods----------------- -void Unit::SendPetActionFeedback(uint8 msg) const +void Unit::SendPetActionFeedback(PetActionFeedback msg, uint32 spellId) const { Unit* owner = GetOwner(); if (!owner || owner->GetTypeId() != TYPEID_PLAYER) return; - WorldPacket data(SMSG_PET_ACTION_FEEDBACK, 1); - data << uint8(msg); - owner->ToPlayer()->SendDirectMessage(&data); + WorldPackets::Pet::PetActionFeedback petActionFeedback; + petActionFeedback.SpellID = spellId; + petActionFeedback.Response = msg; + owner->ToPlayer()->SendDirectMessage(petActionFeedback.Write()); } void Unit::SendPetActionSound(PetAction action) const { - SendMessageToSet(WorldPackets::Pet::PetActionSound(GetGUID(), static_cast<int32>(action)).Write(), false); + WorldPackets::Pet::PetActionSound petActionSound; + petActionSound.UnitGUID = GetGUID(); + petActionSound.Action = action; + SendMessageToSet(petActionSound.Write(), false); } void Unit::SendPetDismissSound() const { - if (CreatureDisplayInfoEntry const* displayInfo = sCreatureDisplayInfoStore.LookupEntry(GetNativeDisplayId())) - SendMessageToSet(WorldPackets::Pet::PetDismissSound(static_cast<int32>(displayInfo->ModelID), GetPosition()).Write(), false); + CreatureDisplayInfoEntry const* displayInfo = sCreatureDisplayInfoStore.LookupEntry(GetNativeDisplayId()); + if (!displayInfo) + return; + + WorldPackets::Pet::PetDismissSound petDismissSound; + petDismissSound.ModelId = displayInfo->ModelID; + petDismissSound.ModelPosition = GetPosition(); + SendMessageToSet(petDismissSound.Write(), false); } void Unit::SendPetAIReaction(ObjectGuid guid) const diff --git a/src/server/game/Entities/Unit/Unit.h b/src/server/game/Entities/Unit/Unit.h index 5910b317377..a0b232460d9 100644 --- a/src/server/game/Entities/Unit/Unit.h +++ b/src/server/game/Entities/Unit/Unit.h @@ -1708,7 +1708,7 @@ class TC_GAME_API Unit : public WorldObject void ClearComboPointHolders(); ///----------Pet responses methods----------------- - void SendPetActionFeedback(uint8 msg) const; + void SendPetActionFeedback(PetActionFeedback msg, uint32 spellId) const; void SendPetActionSound(PetAction action) const; void SendPetDismissSound() const; void SendPetAIReaction(ObjectGuid guid) const; |
