diff options
| author | Duarte Duarte <dnpd.dd@gmail.com> | 2015-02-13 00:45:13 +0000 |
|---|---|---|
| committer | Duarte Duarte <dnpd.dd@gmail.com> | 2015-02-13 00:45:39 +0000 |
| commit | f68473aeff08920196115bab56ee47802abd2582 (patch) | |
| tree | a9529c7508ac6c9e9fa3570e25ce285de62df413 /src/server/game/Entities | |
| parent | 40dcc170d943dafbb2330ca1fc8c005ed7a61a56 (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.h | 1 | ||||
| -rw-r--r-- | src/server/game/Entities/Player/Player.cpp | 24 |
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) |
