From 552a7934863148688407a4b096858092fa76f116 Mon Sep 17 00:00:00 2001 From: hondacrx Date: Wed, 3 Jan 2018 23:40:54 -0500 Subject: [PATCH] Core/Packets: Implemented SMSG_GAME_OBJECT_UI_ACTION --- Source/Game/Entities/GameObject/GameObject.cs | 12 ++++++++++++ Source/Game/Network/Packets/GameObjectPackets.cs | 14 ++++++++++++++ 2 files changed, 26 insertions(+) diff --git a/Source/Game/Entities/GameObject/GameObject.cs b/Source/Game/Entities/GameObject/GameObject.cs index 01e8742b7..0489914db 100644 --- a/Source/Game/Entities/GameObject/GameObject.cs +++ b/Source/Game/Entities/GameObject/GameObject.cs @@ -1864,6 +1864,18 @@ namespace Game.Entities player.SendPacket(artifactForgeOpened); return; } + case GameObjectTypes.UILink: + { + Player player = user.ToPlayer(); + if (!player) + return; + + GameObjectUIAction gameObjectUIAction = new GameObjectUIAction(); + gameObjectUIAction.ObjectGUID = GetGUID(); + gameObjectUIAction.UILink = (int)GetGoInfo().UILink.UILinkType; + player.SendPacket(gameObjectUIAction); + return; + } default: if (GetGoType() >= GameObjectTypes.Max) Log.outError(LogFilter.Server, "GameObject.Use(): unit (type: {0}, guid: {1}, name: {2}) tries to use object (guid: {3}, entry: {4}, name: {5}) of unknown type ({6})", diff --git a/Source/Game/Network/Packets/GameObjectPackets.cs b/Source/Game/Network/Packets/GameObjectPackets.cs index cb2e1ed72..7ead65b7c 100644 --- a/Source/Game/Network/Packets/GameObjectPackets.cs +++ b/Source/Game/Network/Packets/GameObjectPackets.cs @@ -135,4 +135,18 @@ namespace Game.Network.Packets public uint CustomAnim; public bool PlayAsDespawn; } + + class GameObjectUIAction : ServerPacket + { + public GameObjectUIAction() : base(ServerOpcodes.GameObjectUiAction, ConnectionType.Instance) { } + + public override void Write() + { + _worldPacket.WritePackedGuid(ObjectGUID); + _worldPacket.WriteInt32(UILink); + } + + public ObjectGuid ObjectGUID; + public int UILink; + } }