aboutsummaryrefslogtreecommitdiff
path: root/src/server/game/Server
diff options
context:
space:
mode:
authorShauren <shauren.trinity@gmail.com>2021-10-13 11:49:30 +0200
committerShauren <shauren.trinity@gmail.com>2021-10-13 11:49:30 +0200
commit49eb3cf8fea8e5eab0c102c2bfb27fad763ba07e (patch)
treee0291a574b51edac70e34227028dbcf01e0bb8ee /src/server/game/Server
parent322a71dfb284b62b376e15a2f4dc3ecc89cb5b81 (diff)
Core/Spells: Implemented SPELL_EFFECT_TELEPORT_WITH_SPELL_VISUAL_KIT_LOADING_SCREEN
Diffstat (limited to 'src/server/game/Server')
-rw-r--r--src/server/game/Server/Packets/SpellPackets.cpp8
-rw-r--r--src/server/game/Server/Packets/SpellPackets.h12
-rw-r--r--src/server/game/Server/Protocol/Opcodes.cpp2
3 files changed, 21 insertions, 1 deletions
diff --git a/src/server/game/Server/Packets/SpellPackets.cpp b/src/server/game/Server/Packets/SpellPackets.cpp
index 52b5056310d..4a4b9a8623f 100644
--- a/src/server/game/Server/Packets/SpellPackets.cpp
+++ b/src/server/game/Server/Packets/SpellPackets.cpp
@@ -792,6 +792,14 @@ WorldPacket const* WorldPackets::Spells::PlaySpellVisualKit::Write()
return &_worldPacket;
}
+WorldPacket const* WorldPackets::Spells::SpellVisualLoadScreen::Write()
+{
+ _worldPacket << int32(SpellVisualKitID);
+ _worldPacket << int32(Delay);
+
+ return &_worldPacket;
+}
+
void WorldPackets::Spells::CancelCast::Read()
{
_worldPacket >> CastID;
diff --git a/src/server/game/Server/Packets/SpellPackets.h b/src/server/game/Server/Packets/SpellPackets.h
index 22b23c388da..349e62473dc 100644
--- a/src/server/game/Server/Packets/SpellPackets.h
+++ b/src/server/game/Server/Packets/SpellPackets.h
@@ -770,6 +770,18 @@ namespace WorldPackets
bool MountedVisual = false;
};
+ class SpellVisualLoadScreen final : public ServerPacket
+ {
+ public:
+ SpellVisualLoadScreen(int32 spellVisualKitId, int32 delay) : ServerPacket(SMSG_SPELL_VISUAL_LOAD_SCREEN, 4 + 4),
+ SpellVisualKitID(spellVisualKitId), Delay(delay) { }
+
+ WorldPacket const* Write() override;
+
+ int32 SpellVisualKitID = 0;
+ int32 Delay = 0;
+ };
+
class CancelCast final : public ClientPacket
{
public:
diff --git a/src/server/game/Server/Protocol/Opcodes.cpp b/src/server/game/Server/Protocol/Opcodes.cpp
index 1fd3c2b0acf..73ed0d7f593 100644
--- a/src/server/game/Server/Protocol/Opcodes.cpp
+++ b/src/server/game/Server/Protocol/Opcodes.cpp
@@ -1937,7 +1937,7 @@ void OpcodeTable::Initialize()
DEFINE_SERVER_OPCODE_HANDLER(SMSG_SPELL_PERIODIC_AURA_LOG, STATUS_NEVER, CONNECTION_TYPE_INSTANCE);
DEFINE_SERVER_OPCODE_HANDLER(SMSG_SPELL_PREPARE, STATUS_NEVER, CONNECTION_TYPE_INSTANCE);
DEFINE_SERVER_OPCODE_HANDLER(SMSG_SPELL_START, STATUS_NEVER, CONNECTION_TYPE_INSTANCE);
- DEFINE_SERVER_OPCODE_HANDLER(SMSG_SPELL_VISUAL_LOAD_SCREEN, STATUS_UNHANDLED, CONNECTION_TYPE_INSTANCE);
+ DEFINE_SERVER_OPCODE_HANDLER(SMSG_SPELL_VISUAL_LOAD_SCREEN, STATUS_NEVER, CONNECTION_TYPE_INSTANCE);
DEFINE_SERVER_OPCODE_HANDLER(SMSG_SPLASH_SCREEN_SHOW_LATEST, STATUS_UNHANDLED, CONNECTION_TYPE_INSTANCE);
DEFINE_SERVER_OPCODE_HANDLER(SMSG_SPIRIT_HEALER_CONFIRM, STATUS_NEVER, CONNECTION_TYPE_REALM);
DEFINE_SERVER_OPCODE_HANDLER(SMSG_STAND_STATE_UPDATE, STATUS_NEVER, CONNECTION_TYPE_REALM);