diff options
Diffstat (limited to 'src/server/game/Handlers/ItemHandler.cpp')
-rw-r--r-- | src/server/game/Handlers/ItemHandler.cpp | 16 |
1 files changed, 16 insertions, 0 deletions
diff --git a/src/server/game/Handlers/ItemHandler.cpp b/src/server/game/Handlers/ItemHandler.cpp index 0e14a16d415..e24e2bfc7a2 100644 --- a/src/server/game/Handlers/ItemHandler.cpp +++ b/src/server/game/Handlers/ItemHandler.cpp @@ -1274,3 +1274,19 @@ void WorldSession::HandleSortReagentBankBags(WorldPackets::Item::SortReagentBank // Placeholder to prevent completely locking out bags clientside SendPacket(WorldPackets::Item::SortBagsResult().Write()); } + +void WorldSession::HandleRemoveNewItem(WorldPackets::Item::RemoveNewItem& removeNewItem) +{ + Item* item = _player->GetItemByGuid(removeNewItem.ItemGuid); + if (!item) + { + TC_LOG_DEBUG("network", "WorldSession::HandleRemoveNewItem: Item (%s) not found for %s!", removeNewItem.ItemGuid.ToString().c_str(), GetPlayerInfo().c_str()); + return; + } + + if (item->HasFlag(ITEM_FIELD_FLAGS, ITEM_FIELD_FLAG_NEW_ITEM)) + { + item->RemoveFlag(ITEM_FIELD_FLAGS, ITEM_FIELD_FLAG_NEW_ITEM); + item->SetState(ITEM_CHANGED, _player); + } +} |