aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorCarbenium <keresztesschmidt@gmail.com>2015-03-11 21:24:29 +0100
committerCarbenium <keresztesschmidt@gmail.com>2015-03-11 21:24:29 +0100
commitebc226cdac6b08067319fc3514337c386c8f456a (patch)
tree01d71c8bb494eeca5f1901d500e1c302e031c0ee /src
parentb35578bac3b1b53bc68304cbc1efeed327916037 (diff)
parent30bef643fdd0e4be92ba77a1896cf47c51d3fc9d (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.cpp10
-rw-r--r--src/server/game/Server/Packets/ItemPackets.cpp9
-rw-r--r--src/server/game/Server/Packets/ItemPackets.h12
-rw-r--r--src/server/game/Server/Protocol/Opcodes.cpp2
-rw-r--r--src/server/game/Server/Protocol/Opcodes.h2
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,