mirror of
https://github.com/TrinityCore/TrinityCore.git
synced 2026-01-16 07:30:42 +01:00
Core/GameObjects: Add GameObjectPlaySpellVisual (#26044)
This commit is contained in:
@@ -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:
|
||||
|
||||
@@ -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();
|
||||
|
||||
|
||||
@@ -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;
|
||||
}
|
||||
|
||||
@@ -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__
|
||||
|
||||
Reference in New Issue
Block a user