aboutsummaryrefslogtreecommitdiff
path: root/src/server/game/Server
diff options
context:
space:
mode:
authorShauren <shauren.trinity@gmail.com>2025-06-05 12:31:33 +0200
committerShauren <shauren.trinity@gmail.com>2025-06-05 12:31:33 +0200
commitb88f4b7f4f8744b7cd455c07d3b94a704c373dfe (patch)
tree486670e4307a47b960a0f159b1b654e5e4707633 /src/server/game/Server
parent8d3b81d4993c077d18bcb7dd81752b24adfa6de9 (diff)
Core/PacketIO: Implemented CMSG_UPDATE_AREA_TRIGGER_VISUAL
Diffstat (limited to 'src/server/game/Server')
-rw-r--r--src/server/game/Server/Packets/AreaTriggerPackets.cpp7
-rw-r--r--src/server/game/Server/Packets/AreaTriggerPackets.h13
-rw-r--r--src/server/game/Server/Protocol/Opcodes.cpp2
-rw-r--r--src/server/game/Server/WorldSession.h2
4 files changed, 23 insertions, 1 deletions
diff --git a/src/server/game/Server/Packets/AreaTriggerPackets.cpp b/src/server/game/Server/Packets/AreaTriggerPackets.cpp
index 22a86f84e3b..c063b19305e 100644
--- a/src/server/game/Server/Packets/AreaTriggerPackets.cpp
+++ b/src/server/game/Server/Packets/AreaTriggerPackets.cpp
@@ -113,4 +113,11 @@ WorldPacket const* AreaTriggerPlaySpellVisual::Write()
return &_worldPacket;
}
+
+void UpdateAreaTriggerVisual::Read()
+{
+ _worldPacket >> SpellID;
+ _worldPacket >> Visual;
+ _worldPacket >> TargetGUID;
+}
}
diff --git a/src/server/game/Server/Packets/AreaTriggerPackets.h b/src/server/game/Server/Packets/AreaTriggerPackets.h
index f402e0d2256..b0742733857 100644
--- a/src/server/game/Server/Packets/AreaTriggerPackets.h
+++ b/src/server/game/Server/Packets/AreaTriggerPackets.h
@@ -20,6 +20,7 @@
#include "Packet.h"
#include "AreaTriggerTemplate.h"
+#include "CombatLogPacketsCommon.h"
#include "ObjectGuid.h"
#include "Optional.h"
@@ -102,6 +103,18 @@ namespace WorldPackets
uint32 SpellVisualID = 0;
};
+ class UpdateAreaTriggerVisual final : public ClientPacket
+ {
+ public:
+ explicit UpdateAreaTriggerVisual(WorldPacket&& packet) : ClientPacket(CMSG_UPDATE_AREA_TRIGGER_VISUAL, std::move(packet)) { }
+
+ void Read() override;
+
+ int32 SpellID = 0;
+ Spells::SpellCastVisual Visual;
+ ObjectGuid TargetGUID;
+ };
+
void WriteAreaTriggerSpline(ByteBuffer& data, uint32 timeToTarget, uint32 elapsedTimeForMovement, ::Movement::Spline<float> const& areaTriggerSpline);
ByteBuffer& operator<<(ByteBuffer& data, AreaTriggerOrbitInfo const& areaTriggerCircularMovement);
}
diff --git a/src/server/game/Server/Protocol/Opcodes.cpp b/src/server/game/Server/Protocol/Opcodes.cpp
index 9075249dca4..0ac8239950b 100644
--- a/src/server/game/Server/Protocol/Opcodes.cpp
+++ b/src/server/game/Server/Protocol/Opcodes.cpp
@@ -1009,7 +1009,7 @@ void OpcodeTable::InitializeClientOpcodes()
DEFINE_HANDLER(CMSG_UPDATE_AADC_STATUS, STATUS_LOGGEDIN, PROCESS_INPLACE, &WorldSession::HandleChatUpdateAADCStatus);
DEFINE_HANDLER(CMSG_UPDATE_ACCOUNT_BANK_TAB_SETTINGS, STATUS_UNHANDLED, PROCESS_THREADUNSAFE, &WorldSession::Handle_NULL);
DEFINE_HANDLER(CMSG_UPDATE_ACCOUNT_DATA, STATUS_AUTHED, PROCESS_THREADUNSAFE, &WorldSession::HandleUpdateAccountData);
- DEFINE_HANDLER(CMSG_UPDATE_AREA_TRIGGER_VISUAL, STATUS_UNHANDLED, PROCESS_INPLACE, &WorldSession::Handle_NULL);
+ DEFINE_HANDLER(CMSG_UPDATE_AREA_TRIGGER_VISUAL, STATUS_LOGGEDIN, PROCESS_INPLACE, &WorldSession::HandleUpdateAreaTriggerVisual);
DEFINE_HANDLER(CMSG_UPDATE_CLIENT_SETTINGS, STATUS_UNHANDLED, PROCESS_INPLACE, &WorldSession::Handle_NULL);
DEFINE_HANDLER(CMSG_UPDATE_CRAFTING_NPC_RECIPES, STATUS_UNHANDLED, PROCESS_INPLACE, &WorldSession::Handle_NULL);
DEFINE_HANDLER(CMSG_UPDATE_MISSILE_TRAJECTORY, STATUS_LOGGEDIN, PROCESS_THREADUNSAFE, &WorldSession::HandleUpdateMissileTrajectory);
diff --git a/src/server/game/Server/WorldSession.h b/src/server/game/Server/WorldSession.h
index c66c1351907..29ccc49f3f1 100644
--- a/src/server/game/Server/WorldSession.h
+++ b/src/server/game/Server/WorldSession.h
@@ -121,6 +121,7 @@ namespace WorldPackets
namespace AreaTrigger
{
class AreaTrigger;
+ class UpdateAreaTriggerVisual;
}
namespace Artifact
@@ -1312,6 +1313,7 @@ class TC_GAME_API WorldSession
void HandleSetContactNotesOpcode(WorldPackets::Social::SetContactNotes& packet);
void HandleAreaTriggerOpcode(WorldPackets::AreaTrigger::AreaTrigger& packet);
+ void HandleUpdateAreaTriggerVisual(WorldPackets::AreaTrigger::UpdateAreaTriggerVisual const& updateAreaTriggerVisual);
void HandleSetFactionAtWar(WorldPackets::Character::SetFactionAtWar& packet);
void HandleSetFactionNotAtWar(WorldPackets::Character::SetFactionNotAtWar& packet);