diff options
author | Carbenium <keresztesschmidt@gmail.com> | 2015-03-11 21:24:29 +0100 |
---|---|---|
committer | Carbenium <keresztesschmidt@gmail.com> | 2015-03-11 21:24:29 +0100 |
commit | ebc226cdac6b08067319fc3514337c386c8f456a (patch) | |
tree | 01d71c8bb494eeca5f1901d500e1c302e031c0ee /src | |
parent | b35578bac3b1b53bc68304cbc1efeed327916037 (diff) | |
parent | 30bef643fdd0e4be92ba77a1896cf47c51d3fc9d (diff) |
Merge pull request #14343 from DJScias/opcodes1
Core/Packets: updated and enabled SMSG_SELL_RESPONSE
Diffstat (limited to 'src')
-rw-r--r-- | src/server/game/Entities/Player/Player.cpp | 10 | ||||
-rw-r--r-- | src/server/game/Server/Packets/ItemPackets.cpp | 9 | ||||
-rw-r--r-- | src/server/game/Server/Packets/ItemPackets.h | 12 | ||||
-rw-r--r-- | src/server/game/Server/Protocol/Opcodes.cpp | 2 | ||||
-rw-r--r-- | src/server/game/Server/Protocol/Opcodes.h | 2 |
5 files changed, 28 insertions, 7 deletions
diff --git a/src/server/game/Entities/Player/Player.cpp b/src/server/game/Entities/Player/Player.cpp index 093efd0ac55..cc951259c9f 100644 --- a/src/server/game/Entities/Player/Player.cpp +++ b/src/server/game/Entities/Player/Player.cpp @@ -12918,11 +12918,11 @@ void Player::SendBuyError(BuyResult msg, Creature* creature, uint32 item, uint32 void Player::SendSellError(SellResult msg, Creature* creature, ObjectGuid guid) { TC_LOG_DEBUG("network", "WORLD: Sent SMSG_SELL_RESPONSE"); - WorldPacket data(SMSG_SELL_RESPONSE, (8+8+1)); // last check 4.3.4 - data << (creature ? creature->GetGUID() : ObjectGuid::Empty); - data << guid; - data << uint8(msg); - GetSession()->SendPacket(&data); + WorldPackets::Item::SellResponse sellResponse; + sellResponse.VendorGUID = (creature ? creature->GetGUID() : ObjectGuid::Empty); + sellResponse.ItemGUID = guid; + sellResponse.Reason = msg; + GetSession()->SendPacket(sellResponse.Write()); } bool Player::IsUseEquipedWeapon(bool mainhand) const diff --git a/src/server/game/Server/Packets/ItemPackets.cpp b/src/server/game/Server/Packets/ItemPackets.cpp index 9277e0b73d5..e9a0c213aee 100644 --- a/src/server/game/Server/Packets/ItemPackets.cpp +++ b/src/server/game/Server/Packets/ItemPackets.cpp @@ -271,3 +271,12 @@ void WorldPackets::Item::DestroyItem::Read() >> ContainerId >> SlotNum; } + +WorldPacket const* WorldPackets::Item::SellResponse::Write() +{ + _worldPacket << VendorGUID + << ItemGUID + << uint8(Reason); + + return &_worldPacket; +} diff --git a/src/server/game/Server/Packets/ItemPackets.h b/src/server/game/Server/Packets/ItemPackets.h index 1645af8275a..dedc3a389ce 100644 --- a/src/server/game/Server/Packets/ItemPackets.h +++ b/src/server/game/Server/Packets/ItemPackets.h @@ -258,6 +258,18 @@ namespace WorldPackets uint8 ContainerId = 0; }; + class SellResponse final : public ServerPacket + { + public: + SellResponse() : ServerPacket(SMSG_SELL_RESPONSE, 8 + 8 + 1) { } + + WorldPacket const* Write() override; + + ObjectGuid VendorGUID; + ObjectGuid ItemGUID; + SellResult Reason; + }; + ByteBuffer& operator>>(ByteBuffer& data, InvUpdate& invUpdate); } } diff --git a/src/server/game/Server/Protocol/Opcodes.cpp b/src/server/game/Server/Protocol/Opcodes.cpp index e8c0d20e516..79f9a599074 100644 --- a/src/server/game/Server/Protocol/Opcodes.cpp +++ b/src/server/game/Server/Protocol/Opcodes.cpp @@ -1712,7 +1712,7 @@ void OpcodeTable::Initialize() DEFINE_SERVER_OPCODE_HANDLER(SMSG_SCENE_OBJECT_PET_BATTLE_REPLACEMENTS_MADE, STATUS_UNHANDLED, CONNECTION_TYPE_REALM); DEFINE_SERVER_OPCODE_HANDLER(SMSG_SCENE_OBJECT_PET_BATTLE_ROUND_RESULT, STATUS_UNHANDLED, CONNECTION_TYPE_REALM); DEFINE_SERVER_OPCODE_HANDLER(SMSG_SCRIPT_CAST, STATUS_UNHANDLED, CONNECTION_TYPE_REALM); - DEFINE_SERVER_OPCODE_HANDLER(SMSG_SELL_RESPONSE, STATUS_UNHANDLED, CONNECTION_TYPE_REALM); + DEFINE_SERVER_OPCODE_HANDLER(SMSG_SELL_RESPONSE, STATUS_NEVER, CONNECTION_TYPE_REALM); DEFINE_SERVER_OPCODE_HANDLER(SMSG_SEND_ITEM_PASSIVES, STATUS_UNHANDLED, CONNECTION_TYPE_REALM); DEFINE_SERVER_OPCODE_HANDLER(SMSG_SEND_MAIL_RESULT, STATUS_UNHANDLED, CONNECTION_TYPE_REALM); DEFINE_SERVER_OPCODE_HANDLER(SMSG_SEND_RAID_TARGET_UPDATE_ALL, STATUS_UNHANDLED, CONNECTION_TYPE_REALM); diff --git a/src/server/game/Server/Protocol/Opcodes.h b/src/server/game/Server/Protocol/Opcodes.h index c8549696753..9d0babeab36 100644 --- a/src/server/game/Server/Protocol/Opcodes.h +++ b/src/server/game/Server/Protocol/Opcodes.h @@ -1659,7 +1659,7 @@ enum OpcodeServer : uint32 SMSG_SCENE_OBJECT_PET_BATTLE_ROUND_RESULT = 0xBADD, SMSG_SCRIPT_CAST = 0xBADD, SMSG_SCRIPT_MESSAGE = 0xBADD, - SMSG_SELL_RESPONSE = 0xBADD, + SMSG_SELL_RESPONSE = 0x0933, SMSG_SEND_ITEM_PASSIVES = 0xBADD, SMSG_SEND_MAIL_RESULT = 0xBADD, SMSG_SEND_RAID_TARGET_UPDATE_ALL = 0xBADD, |