aboutsummaryrefslogtreecommitdiff
path: root/src/server/game/Entities
diff options
context:
space:
mode:
authorDuarte Duarte <dnpd.dd@gmail.com>2015-02-13 00:45:13 +0000
committerDuarte Duarte <dnpd.dd@gmail.com>2015-02-13 00:45:39 +0000
commitf68473aeff08920196115bab56ee47802abd2582 (patch)
treea9529c7508ac6c9e9fa3570e25ce285de62df413 /src/server/game/Entities
parent40dcc170d943dafbb2330ca1fc8c005ed7a61a56 (diff)
Core/Packets: Fix and enable CMSG_BUY_ITEM, SMSG_BUY_FAILED and SMSG_BUY_SUCCEEDED
Closes #14127
Diffstat (limited to 'src/server/game/Entities')
-rw-r--r--src/server/game/Entities/Item/ItemTemplate.h1
-rw-r--r--src/server/game/Entities/Player/Player.cpp24
2 files changed, 13 insertions, 12 deletions
diff --git a/src/server/game/Entities/Item/ItemTemplate.h b/src/server/game/Entities/Item/ItemTemplate.h
index 73536d3e5e2..0a089a09b15 100644
--- a/src/server/game/Entities/Item/ItemTemplate.h
+++ b/src/server/game/Entities/Item/ItemTemplate.h
@@ -230,6 +230,7 @@ enum CurrencyCategory
enum ItemVendorType
{
+ ITEM_VENDOR_TYPE_NONE = 0,
ITEM_VENDOR_TYPE_ITEM = 1,
ITEM_VENDOR_TYPE_CURRENCY = 2,
};
diff --git a/src/server/game/Entities/Player/Player.cpp b/src/server/game/Entities/Player/Player.cpp
index 361c651e882..ee6a407fbbe 100644
--- a/src/server/game/Entities/Player/Player.cpp
+++ b/src/server/game/Entities/Player/Player.cpp
@@ -12997,12 +12997,11 @@ void Player::SendEquipError(InventoryResult msg, Item* item1 /*= nullptr*/, Item
void Player::SendBuyError(BuyResult msg, Creature* creature, uint32 item, uint32 /*param*/)
{
- TC_LOG_DEBUG("network", "WORLD: Sent SMSG_BUY_FAILED");
- WorldPacket data(SMSG_BUY_FAILED, (8+4+4+1));
- data << (creature ? creature->GetGUID() : ObjectGuid::Empty);
- data << uint32(item);
- data << uint8(msg);
- GetSession()->SendPacket(&data);
+ WorldPackets::Item::BuyFailed packet;
+ packet.VendorGUID = creature ? creature->GetGUID() : ObjectGuid::Empty;
+ packet.Muid = item;
+ packet.Reason = msg;
+ GetSession()->SendPacket(packet.Write());
}
void Player::SendSellError(SellResult msg, Creature* creature, ObjectGuid guid)
@@ -21358,12 +21357,13 @@ inline bool Player::_StoreOrEquipNewItem(uint32 vendorslot, uint32 item, uint8 c
{
uint32 new_count = pVendor->UpdateVendorItemCurrentCount(crItem, count);
- WorldPacket data(SMSG_BUY_ITEM, (8+4+4+4));
- data << pVendor->GetGUID();
- data << uint32(vendorslot + 1); // numbered from 1 at client
- data << int32(crItem->maxcount > 0 ? new_count : 0xFFFFFFFF);
- data << uint32(count);
- GetSession()->SendPacket(&data);
+ WorldPackets::Item::BuySucceeded packet;
+ packet.VendorGUID = pVendor->GetGUID();
+ packet.Muid = vendorslot + 1;
+ packet.NewQuantity = crItem->maxcount > 0 ? new_count : 0xFFFFFFFF;
+ packet.QuantityBought = count;
+ GetSession()->SendPacket(packet.Write());
+
SendNewItem(it, count, true, false, false);
if (!bStore)