diff options
author | Shauren <shauren.trinity@gmail.com> | 2019-06-03 20:40:34 +0200 |
---|---|---|
committer | Shauren <shauren.trinity@gmail.com> | 2019-06-08 17:06:57 +0200 |
commit | 455959c6064af6f7863a6b4b57cb0ef1646bd8ef (patch) | |
tree | 7d7a7cdd3a44643ee5fc7d19521ced1c8b815c66 /src/server/game/Handlers/TradeHandler.cpp | |
parent | 31fda79556e55375962a3c9e46f6dbdbf6e90d18 (diff) |
Core/PacketIO: Rewrite updatefield handling
Diffstat (limited to 'src/server/game/Handlers/TradeHandler.cpp')
-rw-r--r-- | src/server/game/Handlers/TradeHandler.cpp | 32 |
1 files changed, 16 insertions, 16 deletions
diff --git a/src/server/game/Handlers/TradeHandler.cpp b/src/server/game/Handlers/TradeHandler.cpp index 9756ee2bc01..0b17b08f48e 100644 --- a/src/server/game/Handlers/TradeHandler.cpp +++ b/src/server/game/Handlers/TradeHandler.cpp @@ -67,23 +67,23 @@ void WorldSession::SendUpdateTrade(bool trader_data /*= true*/) tradeItem.Slot = i; tradeItem.Item.Initialize(item); tradeItem.StackCount = item->GetCount(); - tradeItem.GiftCreator = item->GetGuidValue(ITEM_FIELD_GIFTCREATOR); - if (!item->HasFlag(ITEM_FIELD_FLAGS, ITEM_FIELD_FLAG_WRAPPED)) + tradeItem.GiftCreator = item->GetGiftCreator(); + if (!item->HasItemFlag(ITEM_FIELD_FLAG_WRAPPED)) { tradeItem.Unwrapped = boost::in_place(); tradeItem.Unwrapped->EnchantID = item->GetEnchantmentId(PERM_ENCHANTMENT_SLOT); tradeItem.Unwrapped->OnUseEnchantmentID = item->GetEnchantmentId(USE_ENCHANTMENT_SLOT); - tradeItem.Unwrapped->Creator = item->GetGuidValue(ITEM_FIELD_CREATOR); + tradeItem.Unwrapped->Creator = item->GetCreator(); tradeItem.Unwrapped->Charges = item->GetSpellCharges(); - tradeItem.Unwrapped->Lock = item->GetTemplate()->GetLockID() && !item->HasFlag(ITEM_FIELD_FLAGS, ITEM_FIELD_FLAG_UNLOCKED); - tradeItem.Unwrapped->MaxDurability = item->GetUInt32Value(ITEM_FIELD_MAXDURABILITY); - tradeItem.Unwrapped->Durability = item->GetUInt32Value(ITEM_FIELD_DURABILITY); + tradeItem.Unwrapped->Lock = item->GetTemplate()->GetLockID() && !item->HasItemFlag(ITEM_FIELD_FLAG_UNLOCKED); + tradeItem.Unwrapped->MaxDurability = item->m_itemData->MaxDurability; + tradeItem.Unwrapped->Durability = item->m_itemData->Durability; uint8 g = 0; - for (ItemDynamicFieldGems const& gemData : item->GetGems()) + for (UF::SocketedGem const& gemData : item->m_itemData->Gems) { - if (gemData.ItemId) + if (gemData.ItemID) { WorldPackets::Item::ItemGemData gem; gem.Slot = g; @@ -134,8 +134,8 @@ void WorldSession::moveItems(Item* myItems[], Item* hisItems[]) } // adjust time (depends on /played) - if (myItems[i]->HasFlag(ITEM_FIELD_FLAGS, ITEM_FIELD_FLAG_BOP_TRADEABLE)) - myItems[i]->SetUInt32Value(ITEM_FIELD_CREATE_PLAYED_TIME, trader->GetTotalPlayedTime()-(_player->GetTotalPlayedTime()-myItems[i]->GetUInt32Value(ITEM_FIELD_CREATE_PLAYED_TIME))); + if (myItems[i]->HasItemFlag(ITEM_FIELD_FLAG_BOP_TRADEABLE)) + myItems[i]->SetCreatePlayedTime(trader->GetTotalPlayedTime() - (_player->GetTotalPlayedTime() - myItems[i]->m_itemData->CreatePlayedTime)); // store trader->MoveItemToInventory(traderDst, myItems[i], true, true); } @@ -152,8 +152,8 @@ void WorldSession::moveItems(Item* myItems[], Item* hisItems[]) } // adjust time (depends on /played) - if (hisItems[i]->HasFlag(ITEM_FIELD_FLAGS, ITEM_FIELD_FLAG_BOP_TRADEABLE)) - hisItems[i]->SetUInt32Value(ITEM_FIELD_CREATE_PLAYED_TIME, _player->GetTotalPlayedTime()-(trader->GetTotalPlayedTime()-hisItems[i]->GetUInt32Value(ITEM_FIELD_CREATE_PLAYED_TIME))); + if (hisItems[i]->HasItemFlag(ITEM_FIELD_FLAG_BOP_TRADEABLE)) + hisItems[i]->SetCreatePlayedTime(_player->GetTotalPlayedTime() - (trader->GetTotalPlayedTime() - hisItems[i]->m_itemData->CreatePlayedTime)); // store _player->MoveItemToInventory(playerDst, hisItems[i], true, true); } @@ -469,12 +469,12 @@ void WorldSession::HandleAcceptTradeOpcode(WorldPackets::Trade::AcceptTrade& acc { if (myItems[i]) { - myItems[i]->SetGuidValue(ITEM_FIELD_GIFTCREATOR, _player->GetGUID()); + myItems[i]->SetGiftCreator(_player->GetGUID()); _player->MoveItemFromInventory(myItems[i]->GetBagSlot(), myItems[i]->GetSlot(), true); } if (hisItems[i]) { - hisItems[i]->SetGuidValue(ITEM_FIELD_GIFTCREATOR, trader->GetGUID()); + hisItems[i]->SetGiftCreator(trader->GetGUID()); trader->MoveItemFromInventory(hisItems[i]->GetBagSlot(), hisItems[i]->GetSlot(), true); } } @@ -667,8 +667,8 @@ void WorldSession::HandleInitiateTradeOpcode(WorldPackets::Trade::InitiateTrade& } if ((pOther->GetTeam() != _player->GetTeam() || - pOther->HasFlag(PLAYER_FLAGS_EX, PLAYER_FLAGS_EX_MERCENARY_MODE) || - _player->HasFlag(PLAYER_FLAGS_EX, PLAYER_FLAGS_EX_MERCENARY_MODE)) && + pOther->HasPlayerFlagEx(PLAYER_FLAGS_EX_MERCENARY_MODE) || + _player->HasPlayerFlagEx(PLAYER_FLAGS_EX_MERCENARY_MODE)) && (!sWorld->getBoolConfig(CONFIG_ALLOW_TWO_SIDE_TRADE) && !HasPermission(rbac::RBAC_PERM_ALLOW_TWO_SIDE_TRADE))) { |