Core/GameObjects: Add GameObjectPlaySpellVisual (#26044)

This commit is contained in:
Jeremy
2021-03-14 15:40:42 +01:00
committed by GitHub
parent 08e017b351
commit 2d84912ce9
4 changed files with 34 additions and 0 deletions

View File

@@ -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:

View File

@@ -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();

View File

@@ -77,3 +77,12 @@ WorldPacket const* WorldPackets::GameObject::GameObjectUILink::Write()
return &_worldPacket;
}
WorldPacket const* WorldPackets::GameObject::GameObjectPlaySpellVisual::Write()
{
_worldPacket << ObjectGUID;
_worldPacket << ActivatorGUID;
_worldPacket << int32(SpellVisualID);
return &_worldPacket;
}

View File

@@ -131,6 +131,18 @@ namespace WorldPackets
ObjectGuid ObjectGUID;
int32 UILink = 0;
};
class GameObjectPlaySpellVisual final : public ServerPacket
{
public:
GameObjectPlaySpellVisual() : ServerPacket(SMSG_GAME_OBJECT_PLAY_SPELL_VISUAL, 16 + 16 + 4) { }
WorldPacket const* Write() override;
ObjectGuid ObjectGUID;
ObjectGuid ActivatorGUID;
int32 SpellVisualID = 0;
};
}
}
#endif // GOPackets_h__