From 2d84912ce92e1ac30efd6548ca98cb8f894f5268 Mon Sep 17 00:00:00 2001 From: Jeremy Date: Sun, 14 Mar 2021 15:40:42 +0100 Subject: Core/GameObjects: Add GameObjectPlaySpellVisual (#26044) --- src/server/game/Entities/GameObject/GameObject.cpp | 11 +++++++++++ src/server/game/Entities/GameObject/GameObject.h | 2 ++ 2 files changed, 13 insertions(+) (limited to 'src/server/game/Entities/GameObject') diff --git a/src/server/game/Entities/GameObject/GameObject.cpp b/src/server/game/Entities/GameObject/GameObject.cpp index 8dec4749996..8ad52346afd 100644 --- a/src/server/game/Entities/GameObject/GameObject.cpp +++ b/src/server/game/Entities/GameObject/GameObject.cpp @@ -2758,6 +2758,17 @@ void GameObject::SetAnimKitId(uint16 animKitId, bool oneshot) SendMessageToSet(activateAnimKit.Write(), true); } +void GameObject::SetSpellVisualId(int32 spellVisualId, ObjectGuid activatorGuid) +{ + SetUpdateFieldValue(m_values.ModifyValue(&GameObject::m_gameObjectData).ModifyValue(&UF::GameObjectData::SpellVisualID), spellVisualId); + + WorldPackets::GameObject::GameObjectPlaySpellVisual packet; + packet.ObjectGUID = GetGUID(); + packet.ActivatorGUID = activatorGuid; + packet.SpellVisualID = spellVisualId; + SendMessageToSet(packet.Write(), true); +} + class GameObjectModelOwnerImpl : public GameObjectModelOwnerBase { public: diff --git a/src/server/game/Entities/GameObject/GameObject.h b/src/server/game/Entities/GameObject/GameObject.h index faf4b8dec72..bdbc08d9875 100644 --- a/src/server/game/Entities/GameObject/GameObject.h +++ b/src/server/game/Entities/GameObject/GameObject.h @@ -314,6 +314,8 @@ class TC_GAME_API GameObject : public WorldObject, public GridObject uint32 GetWorldEffectID() const { return _worldEffectID; } void SetWorldEffectID(uint32 worldEffectID) { _worldEffectID = worldEffectID; } + void SetSpellVisualId(int32 spellVisualId, ObjectGuid activatorGuid = ObjectGuid::Empty); + void AIM_Destroy(); bool AIM_Initialize(); -- cgit v1.2.3