aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/server/game/Entities/Player/Player.cpp6
-rw-r--r--src/server/game/Server/Packets/CombatPackets.cpp7
-rw-r--r--src/server/game/Server/Packets/CombatPackets.h10
-rw-r--r--src/server/game/Server/Packets/ItemPackets.h4
-rw-r--r--src/server/game/Server/Packets/SpellPackets.cpp15
-rw-r--r--src/server/game/Server/Packets/SpellPackets.h21
-rw-r--r--src/server/game/Server/Protocol/Opcodes.cpp8
-rw-r--r--src/server/game/Server/Protocol/Opcodes.h8
8 files changed, 66 insertions, 13 deletions
diff --git a/src/server/game/Entities/Player/Player.cpp b/src/server/game/Entities/Player/Player.cpp
index 7c5d5911161..83fc7fd9bcf 100644
--- a/src/server/game/Entities/Player/Player.cpp
+++ b/src/server/game/Entities/Player/Player.cpp
@@ -19869,9 +19869,9 @@ void Player::SendAttackSwingCancelAttack()
void Player::SendAutoRepeatCancel(Unit* target)
{
- WorldPacket data(SMSG_CANCEL_AUTO_REPEAT, target->GetPackGUID().size());
- data << target->GetPackGUID(); // may be it's target guid
- SendMessageToSet(&data, false);
+ WorldPackets::Combat::CancelAutoRepeat cancelAutoRepeat;
+ cancelAutoRepeat.Guid = target->GetGUID(); // may be it's target guid
+ SendMessageToSet(cancelAutoRepeat.Write(), false);
}
void Player::SendExplorationExperience(uint32 Area, uint32 Experience)
diff --git a/src/server/game/Server/Packets/CombatPackets.cpp b/src/server/game/Server/Packets/CombatPackets.cpp
index 69718cb932f..f7430e08f21 100644
--- a/src/server/game/Server/Packets/CombatPackets.cpp
+++ b/src/server/game/Server/Packets/CombatPackets.cpp
@@ -176,3 +176,10 @@ void WorldPackets::Combat::SetSheathed::Read()
_worldPacket >> CurrentSheathState;
Animate = _worldPacket.ReadBit();
}
+
+WorldPacket const* WorldPackets::Combat::CancelAutoRepeat::Write()
+{
+ _worldPacket << Guid;
+
+ return &_worldPacket;
+}
diff --git a/src/server/game/Server/Packets/CombatPackets.h b/src/server/game/Server/Packets/CombatPackets.h
index 4eeb61d3523..766c4024cab 100644
--- a/src/server/game/Server/Packets/CombatPackets.h
+++ b/src/server/game/Server/Packets/CombatPackets.h
@@ -215,6 +215,16 @@ namespace WorldPackets
int32 CurrentSheathState = 0;
bool Animate = true;
};
+
+ class CancelAutoRepeat final : public ServerPacket
+ {
+ public:
+ CancelAutoRepeat() : ServerPacket(SMSG_CANCEL_AUTO_REPEAT, 16) { }
+
+ WorldPacket const* Write() override;
+
+ ObjectGuid Guid;
+ };
}
}
diff --git a/src/server/game/Server/Packets/ItemPackets.h b/src/server/game/Server/Packets/ItemPackets.h
index dedc3a389ce..063c9fc5cb9 100644
--- a/src/server/game/Server/Packets/ItemPackets.h
+++ b/src/server/game/Server/Packets/ItemPackets.h
@@ -261,13 +261,13 @@ namespace WorldPackets
class SellResponse final : public ServerPacket
{
public:
- SellResponse() : ServerPacket(SMSG_SELL_RESPONSE, 8 + 8 + 1) { }
+ SellResponse() : ServerPacket(SMSG_SELL_RESPONSE, 16 + 16 + 1) { }
WorldPacket const* Write() override;
ObjectGuid VendorGUID;
ObjectGuid ItemGUID;
- SellResult Reason;
+ SellResult Reason = SELL_ERR_UNK;
};
ByteBuffer& operator>>(ByteBuffer& data, InvUpdate& invUpdate);
diff --git a/src/server/game/Server/Packets/SpellPackets.cpp b/src/server/game/Server/Packets/SpellPackets.cpp
index cdd205c1326..d840a4aae49 100644
--- a/src/server/game/Server/Packets/SpellPackets.cpp
+++ b/src/server/game/Server/Packets/SpellPackets.cpp
@@ -605,3 +605,18 @@ WorldPacket const* WorldPackets::Spells::ClearTarget::Write()
return &_worldPacket;
}
+
+WorldPacket const* WorldPackets::Spells::CancelOrphanSpellVisual::Write()
+{
+ _worldPacket << int32(SpellVisualID);
+
+ return &_worldPacket;
+}
+
+WorldPacket const* WorldPackets::Spells::CancelSpellVisual::Write()
+{
+ _worldPacket << Source;
+ _worldPacket << int32(SpellVisualID);
+
+ return &_worldPacket;
+}
diff --git a/src/server/game/Server/Packets/SpellPackets.h b/src/server/game/Server/Packets/SpellPackets.h
index a313627786c..f29e7599707 100644
--- a/src/server/game/Server/Packets/SpellPackets.h
+++ b/src/server/game/Server/Packets/SpellPackets.h
@@ -556,6 +556,27 @@ namespace WorldPackets
ObjectGuid Guid;
};
+
+ class CancelOrphanSpellVisual final : public ServerPacket
+ {
+ public:
+ CancelOrphanSpellVisual() : ServerPacket(SMSG_CANCEL_ORPHAN_SPELL_VISUAL, 4) { }
+
+ WorldPacket const* Write() override;
+
+ int32 SpellVisualID = 0;
+ };
+
+ class CancelSpellVisual final : public ServerPacket
+ {
+ public:
+ CancelSpellVisual() : ServerPacket(SMSG_CANCEL_SPELL_VISUAL, 16 + 4) { }
+
+ WorldPacket const* Write() override;
+
+ ObjectGuid Source;
+ int32 SpellVisualID = 0;
+ };
}
}
diff --git a/src/server/game/Server/Protocol/Opcodes.cpp b/src/server/game/Server/Protocol/Opcodes.cpp
index 15a96c5c621..092c42b0464 100644
--- a/src/server/game/Server/Protocol/Opcodes.cpp
+++ b/src/server/game/Server/Protocol/Opcodes.cpp
@@ -1044,11 +1044,11 @@ void OpcodeTable::Initialize()
DEFINE_SERVER_OPCODE_HANDLER(SMSG_CALENDAR_SEND_NUM_PENDING, STATUS_UNHANDLED, CONNECTION_TYPE_REALM);
DEFINE_SERVER_OPCODE_HANDLER(SMSG_CALENDAR_UPDATE_INVITE_LIST, STATUS_UNHANDLED, CONNECTION_TYPE_REALM);
DEFINE_SERVER_OPCODE_HANDLER(SMSG_CAMERA_SHAKE, STATUS_UNHANDLED, CONNECTION_TYPE_REALM);
- DEFINE_SERVER_OPCODE_HANDLER(SMSG_CANCEL_AUTO_REPEAT, STATUS_UNHANDLED, CONNECTION_TYPE_REALM);
+ DEFINE_SERVER_OPCODE_HANDLER(SMSG_CANCEL_AUTO_REPEAT, STATUS_NEVER, CONNECTION_TYPE_REALM);
DEFINE_SERVER_OPCODE_HANDLER(SMSG_CANCEL_COMBAT, STATUS_UNHANDLED, CONNECTION_TYPE_REALM);
- DEFINE_SERVER_OPCODE_HANDLER(SMSG_CANCEL_ORPHAN_SPELL_VISUAL, STATUS_UNHANDLED, CONNECTION_TYPE_REALM);
+ DEFINE_SERVER_OPCODE_HANDLER(SMSG_CANCEL_ORPHAN_SPELL_VISUAL, STATUS_NEVER, CONNECTION_TYPE_REALM);
DEFINE_SERVER_OPCODE_HANDLER(SMSG_CANCEL_SCENE, STATUS_UNHANDLED, CONNECTION_TYPE_REALM);
- DEFINE_SERVER_OPCODE_HANDLER(SMSG_CANCEL_SPELL_VISUAL, STATUS_UNHANDLED, CONNECTION_TYPE_REALM);
+ DEFINE_SERVER_OPCODE_HANDLER(SMSG_CANCEL_SPELL_VISUAL, STATUS_NEVER, CONNECTION_TYPE_REALM);
DEFINE_SERVER_OPCODE_HANDLER(SMSG_CANCEL_SPELL_VISUAL_KIT, STATUS_UNHANDLED, CONNECTION_TYPE_REALM);
DEFINE_SERVER_OPCODE_HANDLER(SMSG_CAN_DUEL_RESULT, STATUS_UNHANDLED, CONNECTION_TYPE_REALM);
DEFINE_SERVER_OPCODE_HANDLER(SMSG_CAST_FAILED, STATUS_UNHANDLED, CONNECTION_TYPE_INSTANCE);
@@ -1103,7 +1103,7 @@ void OpcodeTable::Initialize()
DEFINE_SERVER_OPCODE_HANDLER(SMSG_CLEAR_TARGET, STATUS_NEVER, CONNECTION_TYPE_REALM);
DEFINE_SERVER_OPCODE_HANDLER(SMSG_CLIENTCACHE_VERSION, STATUS_NEVER, CONNECTION_TYPE_REALM);
DEFINE_SERVER_OPCODE_HANDLER(SMSG_CLIENT_CONTROL_UPDATE, STATUS_UNHANDLED, CONNECTION_TYPE_REALM);
- DEFINE_SERVER_OPCODE_HANDLER(SMSG_COIN_REMOVED, STATUS_UNHANDLED, CONNECTION_TYPE_REALM);
+ DEFINE_SERVER_OPCODE_HANDLER(SMSG_COIN_REMOVED, STATUS_NEVER, CONNECTION_TYPE_REALM);
DEFINE_SERVER_OPCODE_HANDLER(SMSG_COMBAT_EVENT_FAILED, STATUS_UNHANDLED, CONNECTION_TYPE_REALM);
DEFINE_SERVER_OPCODE_HANDLER(SMSG_COMBAT_LOG_MULTIPLE, STATUS_UNHANDLED, CONNECTION_TYPE_REALM);
DEFINE_SERVER_OPCODE_HANDLER(SMSG_COMBAT_LOG_UNK, STATUS_UNHANDLED, CONNECTION_TYPE_REALM);
diff --git a/src/server/game/Server/Protocol/Opcodes.h b/src/server/game/Server/Protocol/Opcodes.h
index 910c1892f83..f6972391567 100644
--- a/src/server/game/Server/Protocol/Opcodes.h
+++ b/src/server/game/Server/Protocol/Opcodes.h
@@ -957,11 +957,11 @@ enum OpcodeServer : uint32
SMSG_CALENDAR_SEND_NUM_PENDING = 0xBADD,
SMSG_CALENDAR_UPDATE_INVITE_LIST = 0xBADD,
SMSG_CAMERA_SHAKE = 0xBADD,
- SMSG_CANCEL_AUTO_REPEAT = 0xBADD,
+ SMSG_CANCEL_AUTO_REPEAT = 0x1959,
SMSG_CANCEL_COMBAT = 0xBADD,
- SMSG_CANCEL_ORPHAN_SPELL_VISUAL = 0xBADD,
+ SMSG_CANCEL_ORPHAN_SPELL_VISUAL = 0x0579,
SMSG_CANCEL_SCENE = 0xBADD,
- SMSG_CANCEL_SPELL_VISUAL = 0xBADD,
+ SMSG_CANCEL_SPELL_VISUAL = 0x1849,
SMSG_CANCEL_SPELL_VISUAL_KIT = 0xBADD,
SMSG_CAN_DUEL_RESULT = 0x11BB,
SMSG_CAST_FAILED = 0xBADD,
@@ -1016,7 +1016,7 @@ enum OpcodeServer : uint32
SMSG_CLEAR_TARGET = 0x17FA,
SMSG_CLIENTCACHE_VERSION = 0x116C,
SMSG_CLIENT_CONTROL_UPDATE = 0xBADD,
- SMSG_COIN_REMOVED = 0xBADD,
+ SMSG_COIN_REMOVED = 0x11A4,
SMSG_COMBAT_EVENT_FAILED = 0x19D9,
SMSG_COMBAT_LOG_MULTIPLE = 0xBADD,
SMSG_COMBAT_LOG_UNK = 0xBADD,