From 5d638439866c834858898723df60f3a6cfcaf8ae Mon Sep 17 00:00:00 2001 From: Shauren Date: Wed, 7 Sep 2016 16:51:51 +0200 Subject: Core/Items: Implement proper flag to check for real time duration (instead of played time) on items with limited duration --- src/server/game/Entities/Item/ItemTemplate.h | 4 ++-- src/server/game/Entities/Player/Player.cpp | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) (limited to 'src/server') diff --git a/src/server/game/Entities/Item/ItemTemplate.h b/src/server/game/Entities/Item/ItemTemplate.h index f18f5f2e082..1a5169929b7 100644 --- a/src/server/game/Entities/Item/ItemTemplate.h +++ b/src/server/game/Entities/Item/ItemTemplate.h @@ -185,7 +185,7 @@ enum ItemFlags : uint32 ITEM_FLAG_CHARTER = 0x00002000, // Item is guild or arena charter ITEM_FLAG_UNK5 = 0x00004000, // Only readable items have this (but not all) ITEM_FLAG_UNK6 = 0x00008000, - ITEM_FLAG_UNK7 = 0x00010000, + ITEM_FLAG_REAL_DURATION = 0x00010000, ITEM_FLAG_UNK8 = 0x00020000, ITEM_FLAG_PROSPECTABLE = 0x00040000, // Item can be prospected ITEM_FLAG_UNIQUE_EQUIPPED = 0x00080000, // You can only equip one of these @@ -265,7 +265,7 @@ enum ItemFlags3 enum ItemFlagsCustom { - ITEM_FLAGS_CU_DURATION_REAL_TIME = 0x0001, // Item duration will tick even if player is offline + ITEM_FLAGS_CU_UNUSED = 0x0001, ITEM_FLAGS_CU_IGNORE_QUEST_STATUS = 0x0002, // No quest status will be checked when this item drops ITEM_FLAGS_CU_FOLLOW_LOOT_RULES = 0x0004 // Item will always follow group/master/need before greed looting rules }; diff --git a/src/server/game/Entities/Player/Player.cpp b/src/server/game/Entities/Player/Player.cpp index ea5d9b00741..68b7da8a8d3 100644 --- a/src/server/game/Entities/Player/Player.cpp +++ b/src/server/game/Entities/Player/Player.cpp @@ -13329,7 +13329,7 @@ void Player::UpdateItemDuration(uint32 time, bool realtimeonly) Item* item = *itr; ++itr; // current element can be erased in UpdateDuration - if (!realtimeonly || item->GetTemplate()->FlagsCu & ITEM_FLAGS_CU_DURATION_REAL_TIME) + if (!realtimeonly || item->GetTemplate()->GetFlags() & ITEM_FLAG_REAL_DURATION) item->UpdateDuration(this, time); } } -- cgit v1.2.3