aboutsummaryrefslogtreecommitdiff
path: root/src/server/game/Entities/GameObject
diff options
context:
space:
mode:
authorJeremy <Golrag@users.noreply.github.com>2021-03-14 15:40:42 +0100
committerGitHub <noreply@github.com>2021-03-14 15:40:42 +0100
commit2d84912ce92e1ac30efd6548ca98cb8f894f5268 (patch)
treedc3ab25880395f20a1fadbcf7f38bf6bff98fb0b /src/server/game/Entities/GameObject
parent08e017b3512ce8189adc6762e3670c20c900f54e (diff)
Core/GameObjects: Add GameObjectPlaySpellVisual (#26044)
Diffstat (limited to 'src/server/game/Entities/GameObject')
-rw-r--r--src/server/game/Entities/GameObject/GameObject.cpp11
-rw-r--r--src/server/game/Entities/GameObject/GameObject.h2
2 files changed, 13 insertions, 0 deletions
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<GameObject>
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();