Core/Packets: updated and enabled SMSG_CANCEL_AUTO_REPEAT, SMSG_CANCEL_ORPHAN_SPELL_VISUAL, SMSG_CANCEL_SPELL_VISUAL, SMSG_COIN_REMOVED

Documentation used:
- Updated and enabled the before-mentioned opcodes.
- "SMSG_CANCEL_AUTO_REPEAT" also switched from PackedGuid to ObjectGuid as per @DDuarte's suggestion.
- Changed initial size of "SMSG_SELL_RESPONSE" packet and default initialized SellResult Reason. Thanks @Lordron.

Cleaning up latest commit.
This commit is contained in:
DJScias
2015-03-13 00:49:44 +01:00
parent ebc226cdac
commit 72e549be50
8 changed files with 66 additions and 13 deletions
+3 -3
View File
@@ -19855,9 +19855,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)
@@ -176,3 +176,10 @@ void WorldPackets::Combat::SetSheathed::Read()
_worldPacket >> CurrentSheathState;
Animate = _worldPacket.ReadBit();
}
WorldPacket const* WorldPackets::Combat::CancelAutoRepeat::Write()
{
_worldPacket << Guid;
return &_worldPacket;
}
@@ -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;
};
}
}
+2 -2
View File
@@ -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);
@@ -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;
}
@@ -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;
};
}
}
+4 -4
View File
@@ -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);
+4 -4
View File
@@ -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,