aboutsummaryrefslogtreecommitdiff
path: root/src/server/game/Handlers/ItemHandler.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/server/game/Handlers/ItemHandler.cpp')
-rw-r--r--src/server/game/Handlers/ItemHandler.cpp16
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);
+ }
+}