mirror of
https://github.com/TrinityCore/TrinityCore.git
synced 2026-01-16 07:30:42 +01:00
Core/Packets: Implemented SMSG_GAME_OBJECT_UI_ACTION (#20919)
This commit is contained in:
@@ -1905,6 +1905,18 @@ void GameObject::Use(Unit* user)
|
||||
player->SendDirectMessage(artifactForgeOpened.Write());
|
||||
return;
|
||||
}
|
||||
case GAMEOBJECT_TYPE_UI_LINK:
|
||||
{
|
||||
Player* player = user->ToPlayer();
|
||||
if (!player)
|
||||
return;
|
||||
|
||||
WorldPackets::GameObject::GameObjectUIAction gameObjectUIAction;
|
||||
gameObjectUIAction.ObjectGUID = GetGUID();
|
||||
gameObjectUIAction.UILink = GetGOInfo()->UILink.UILinkType;
|
||||
player->SendDirectMessage(gameObjectUIAction.Write());
|
||||
return;
|
||||
}
|
||||
default:
|
||||
if (GetGoType() >= MAX_GAMEOBJECT_TYPE)
|
||||
TC_LOG_ERROR("misc", "GameObject::Use(): unit (type: %u, %s, name: %s) tries to use object (%s, name: %s) of unknown type (%u)",
|
||||
|
||||
@@ -69,3 +69,11 @@ WorldPacket const* WorldPackets::GameObject::GameObjectCustomAnim::Write()
|
||||
|
||||
return &_worldPacket;
|
||||
}
|
||||
|
||||
WorldPacket const* WorldPackets::GameObject::GameObjectUIAction::Write()
|
||||
{
|
||||
_worldPacket << ObjectGUID;
|
||||
_worldPacket << int32(UILink);
|
||||
|
||||
return &_worldPacket;
|
||||
}
|
||||
|
||||
@@ -120,6 +120,17 @@ namespace WorldPackets
|
||||
uint32 CustomAnim = 0;
|
||||
bool PlayAsDespawn = false;
|
||||
};
|
||||
|
||||
class GameObjectUIAction final : public ServerPacket
|
||||
{
|
||||
public:
|
||||
GameObjectUIAction() : ServerPacket(SMSG_GAME_OBJECT_UI_ACTION, 16 + 4) { }
|
||||
|
||||
WorldPacket const* Write() override;
|
||||
|
||||
ObjectGuid ObjectGUID;
|
||||
int32 UILink = 0;
|
||||
};
|
||||
}
|
||||
}
|
||||
#endif // GOPackets_h__
|
||||
|
||||
@@ -1151,7 +1151,7 @@ void OpcodeTable::Initialize()
|
||||
DEFINE_SERVER_OPCODE_HANDLER(SMSG_GAME_OBJECT_PLAY_SPELL_VISUAL_KIT, STATUS_UNHANDLED, CONNECTION_TYPE_REALM);
|
||||
DEFINE_SERVER_OPCODE_HANDLER(SMSG_GAME_OBJECT_RESET_STATE, STATUS_UNHANDLED, CONNECTION_TYPE_REALM);
|
||||
DEFINE_SERVER_OPCODE_HANDLER(SMSG_GAME_OBJECT_SET_STATE, STATUS_UNHANDLED, CONNECTION_TYPE_REALM);
|
||||
DEFINE_SERVER_OPCODE_HANDLER(SMSG_GAME_OBJECT_UI_ACTION, STATUS_UNHANDLED, CONNECTION_TYPE_REALM);
|
||||
DEFINE_SERVER_OPCODE_HANDLER(SMSG_GAME_OBJECT_UI_ACTION, STATUS_NEVER, CONNECTION_TYPE_INSTANCE);
|
||||
DEFINE_SERVER_OPCODE_HANDLER(SMSG_GAME_SPEED_SET, STATUS_UNHANDLED, CONNECTION_TYPE_REALM);
|
||||
DEFINE_SERVER_OPCODE_HANDLER(SMSG_GAME_TIME_SET, STATUS_UNHANDLED, CONNECTION_TYPE_REALM);
|
||||
DEFINE_SERVER_OPCODE_HANDLER(SMSG_GAME_TIME_UPDATE, STATUS_UNHANDLED, CONNECTION_TYPE_REALM);
|
||||
|
||||
Reference in New Issue
Block a user