Closed BarbzYHOOL closed 3 years ago
on TC they are used, this can be a way also to track that we are missing something (maybe) :P
no they are not used
On TrinityCore 3.3.5:
--------------- ITEM_FLAG2_FACTION_HORDE ---------------
server/game/Loot/Loot.cpp:68: if (pProto->HasFlag(ITEM_FLAG2_FACTION_HORDE) && player->GetTeam() != HORDE)
server/game/Entities/Player/Player.cpp:11769: if (((proto->Flags2 & ITEM_FLAG2_FACTION_HORDE) && GetTeam() != HORDE) ||
server/game/Entities/Player/Player.cpp:21718: if (!IsGameMaster() && ((pProto->Flags2 & ITEM_FLAG2_FACTION_HORDE && GetTeam() == ALLIANCE) || (pProto->Flags2 == ITEM_FLAG2_FACTION_ALLIANCE && GetTeam() == HORDE)))
server/game/Entities/Item/ItemTemplate.h:188: ITEM_FLAG2_FACTION_HORDE = 0x00000001,
server/game/Handlers/ItemHandler.cpp:657: if (!_player->IsGameMaster() && ((itemTemplate->HasFlag(ITEM_FLAG2_FACTION_HORDE) && _player->GetTeam() == ALLIANCE) || (itemTemplate->HasFlag(ITEM_FLAG2_FACTION_ALLIANCE) && _player->GetTeam() == HORDE)))
server/game/Globals/ObjectMgr.cpp:3030: if (itemTemplate.Flags2 & ITEM_FLAG2_FACTION_HORDE)
server/game/Globals/ObjectMgr.cpp:3034: TC_LOG_ERROR("sql.sql", "Item (Entry: %u) has value (%u) in `AllowableRace` races, not compatible with ITEM_FLAG2_FACTION_HORDE (%u) in Flags field, item cannot be equipped or used by these races.",
server/game/Globals/ObjectMgr.cpp:3035: entry, itemTemplate.AllowableRace, ITEM_FLAG2_FACTION_HORDE);
server/game/Globals/ObjectMgr.cpp:3038: TC_LOG_ERROR("sql.sql", "Item (Entry: %u) has value (%u) in `Flags2` flags (ITEM_FLAG2_FACTION_ALLIANCE) and ITEM_FLAG2_FACTION_HORDE (%u) in Flags field, this is a wrong combination.",
server/game/Globals/ObjectMgr.cpp:3039: entry, ITEM_FLAG2_FACTION_ALLIANCE, ITEM_FLAG2_FACTION_HORDE);
--------------- ITEM_FLAG2_FACTION_ALLIANCE ---------------
server/game/Loot/Loot.cpp:71: if (pProto->HasFlag(ITEM_FLAG2_FACTION_ALLIANCE) && player->GetTeam() != ALLIANCE)
server/game/Entities/Player/Player.cpp:11770: (((proto->Flags2 & ITEM_FLAG2_FACTION_ALLIANCE) && GetTeam() != ALLIANCE)))
server/game/Entities/Player/Player.cpp:21718: if (!IsGameMaster() && ((pProto->Flags2 & ITEM_FLAG2_FACTION_HORDE && GetTeam() == ALLIANCE) || (pProto->Flags2 == ITEM_FLAG2_FACTION_ALLIANCE && GetTeam() == HORDE)))
server/game/Entities/Item/ItemTemplate.h:189: ITEM_FLAG2_FACTION_ALLIANCE = 0x00000002,
server/game/Handlers/ItemHandler.cpp:657: if (!_player->IsGameMaster() && ((itemTemplate->HasFlag(ITEM_FLAG2_FACTION_HORDE) && _player->GetTeam() == ALLIANCE) || (itemTemplate->HasFlag(ITEM_FLAG2_FACTION_ALLIANCE) && _player->GetTeam() == HORDE)))
server/game/Globals/ObjectMgr.cpp:3037: if (itemTemplate.Flags2 & ITEM_FLAG2_FACTION_ALLIANCE)
server/game/Globals/ObjectMgr.cpp:3038: TC_LOG_ERROR("sql.sql", "Item (Entry: %u) has value (%u) in `Flags2` flags (ITEM_FLAG2_FACTION_ALLIANCE) and ITEM_FLAG2_FACTION_HORDE (%u) in Flags field, this is a wrong combination.",
server/game/Globals/ObjectMgr.cpp:3039: entry, ITEM_FLAG2_FACTION_ALLIANCE, ITEM_FLAG2_FACTION_HORDE);
server/game/Globals/ObjectMgr.cpp:3041: else if (itemTemplate.Flags2 & ITEM_FLAG2_FACTION_ALLIANCE)
server/game/Globals/ObjectMgr.cpp:3045: TC_LOG_ERROR("sql.sql", "Item (Entry: %u) has value (%u) in `AllowableRace` races, not compatible with ITEM_FLAG2_FACTION_ALLIANCE (%u) in Flags field, item cannot be equipped or used by these races.",
server/game/Globals/ObjectMgr.cpp:3046: entry, itemTemplate.AllowableRace, ITEM_FLAG2_FACTION_ALLIANCE);
--------------- ITEM_FLAG2_DONT_IGNORE_BUY_PRICE ---------------
server/game/Entities/Creature/Creature.cpp:81: return pProto->HasFlag(ITEM_FLAG2_DONT_IGNORE_BUY_PRICE) || !ExtendedCost;
server/game/Entities/Item/ItemTemplate.h:190: ITEM_FLAG2_DONT_IGNORE_BUY_PRICE = 0x00000004, // when item uses extended cost, gold is also required
--------------- ITEM_FLAG2_CLASSIFY_AS_CASTER ---------------
server/game/Entities/Item/ItemTemplate.h:191: ITEM_FLAG2_CLASSIFY_AS_CASTER = 0x00000008,
--------------- ITEM_FLAG2_CLASSIFY_AS_PHYSICAL ---------------
server/game/Entities/Item/ItemTemplate.h:192: ITEM_FLAG2_CLASSIFY_AS_PHYSICAL = 0x00000010,
--------------- ITEM_FLAG2_EVERYONE_CAN_ROLL_NEED ---------------
server/game/Entities/Item/ItemTemplate.h:193: ITEM_FLAG2_EVERYONE_CAN_ROLL_NEED = 0x00000020,
--------------- ITEM_FLAG2_NO_TRADE_BIND_ON_ACQUIRE ---------------
server/game/Entities/Item/ItemTemplate.h:194: ITEM_FLAG2_NO_TRADE_BIND_ON_ACQUIRE = 0x00000040,
--------------- ITEM_FLAG2_CAN_TRADE_BIND_ON_ACQUIRE ---------------
server/game/Entities/Item/ItemTemplate.h:195: ITEM_FLAG2_CAN_TRADE_BIND_ON_ACQUIRE = 0x00000080,
--------------- ITEM_FLAG2_CAN_ONLY_ROLL_GREED ---------------
server/game/Entities/Item/ItemTemplate.h:196: ITEM_FLAG2_CAN_ONLY_ROLL_GREED = 0x00000100,
server/game/Groups/Group.cpp:1234: if (item->HasFlag(ITEM_FLAG2_CAN_ONLY_ROLL_GREED))
--------------- ITEM_FLAG2_CASTER_WEAPON ---------------
server/game/Entities/Item/ItemTemplate.h:197: ITEM_FLAG2_CASTER_WEAPON = 0x00000200,
--------------- ITEM_FLAG2_DELETE_ON_LOGIN ---------------
server/game/Entities/Item/ItemTemplate.h:198: ITEM_FLAG2_DELETE_ON_LOGIN = 0x00000400,
--------------- ITEM_FLAG2_INTERNAL_ITEM ---------------
server/game/Entities/Item/ItemTemplate.h:199: ITEM_FLAG2_INTERNAL_ITEM = 0x00000800,
--------------- ITEM_FLAG2_NO_VENDOR_VALUE ---------------
server/game/Entities/Item/ItemTemplate.h:200: ITEM_FLAG2_NO_VENDOR_VALUE = 0x00001000,
--------------- ITEM_FLAG2_SHOW_BEFORE_DISCOVERED ---------------
server/game/Entities/Item/ItemTemplate.h:201: ITEM_FLAG2_SHOW_BEFORE_DISCOVERED = 0x00002000,
--------------- ITEM_FLAG2_OVERRIDE_GOLD_COST ---------------
server/game/Entities/Item/ItemTemplate.h:202: ITEM_FLAG2_OVERRIDE_GOLD_COST = 0x00004000,
--------------- ITEM_FLAG2_IGNORE_DEFAULT_RATED_BG_RESTRICTIONS ---------------
server/game/Entities/Item/ItemTemplate.h:203: ITEM_FLAG2_IGNORE_DEFAULT_RATED_BG_RESTRICTIONS = 0x00008000,
--------------- ITEM_FLAG2_NOT_USABLE_IN_RATED_BG ---------------
server/game/Entities/Item/ItemTemplate.h:204: ITEM_FLAG2_NOT_USABLE_IN_RATED_BG = 0x00010000,
--------------- ITEM_FLAG2_BNET_ACCOUNT_TRADE_OK ---------------
server/game/Entities/Item/ItemTemplate.h:205: ITEM_FLAG2_BNET_ACCOUNT_TRADE_OK = 0x00020000,
--------------- ITEM_FLAG2_CONFIRM_BEFORE_USE ---------------
server/game/Entities/Item/ItemTemplate.h:206: ITEM_FLAG2_CONFIRM_BEFORE_USE = 0x00040000,
--------------- ITEM_FLAG2_REEVALUATE_BONDING_ON_TRANSFORM ---------------
server/game/Entities/Item/ItemTemplate.h:207: ITEM_FLAG2_REEVALUATE_BONDING_ON_TRANSFORM = 0x00080000,
--------------- ITEM_FLAG2_NO_TRANSFORM_ON_CHARGE_DEPLETION ---------------
server/game/Entities/Item/ItemTemplate.h:208: ITEM_FLAG2_NO_TRANSFORM_ON_CHARGE_DEPLETION = 0x00100000,
--------------- ITEM_FLAG2_NO_ALTER_ITEM_VISUAL ---------------
server/game/Entities/Item/ItemTemplate.h:209: ITEM_FLAG2_NO_ALTER_ITEM_VISUAL = 0x00200000,
--------------- ITEM_FLAG2_NO_SOURCE_FOR_ITEM_VISUAL ---------------
server/game/Entities/Item/ItemTemplate.h:210: ITEM_FLAG2_NO_SOURCE_FOR_ITEM_VISUAL = 0x00400000,
--------------- ITEM_FLAG2_IGNORE_QUALITY_FOR_ITEM_VISUAL_SOURCE ---------------
server/game/Entities/Item/ItemTemplate.h:211: ITEM_FLAG2_IGNORE_QUALITY_FOR_ITEM_VISUAL_SOURCE = 0x00800000,
--------------- ITEM_FLAG2_NO_DURABILITY ---------------
server/game/Entities/Item/ItemTemplate.h:212: ITEM_FLAG2_NO_DURABILITY = 0x01000000,
--------------- ITEM_FLAG2_ROLE_TANK ---------------
server/game/Entities/Item/ItemTemplate.h:213: ITEM_FLAG2_ROLE_TANK = 0x02000000,
--------------- ITEM_FLAG2_ROLE_HEALER ---------------
server/game/Entities/Item/ItemTemplate.h:214: ITEM_FLAG2_ROLE_HEALER = 0x04000000,
--------------- ITEM_FLAG2_ROLE_DAMAGE ---------------
server/game/Entities/Item/ItemTemplate.h:215: ITEM_FLAG2_ROLE_DAMAGE = 0x08000000,
--------------- ITEM_FLAG2_CAN_DROP_IN_CHALLENGE_MODE ---------------
server/game/Entities/Item/ItemTemplate.h:216: ITEM_FLAG2_CAN_DROP_IN_CHALLENGE_MODE = 0x10000000,
--------------- ITEM_FLAG2_NEVER_STACK_IN_LOOT_UI ---------------
server/game/Entities/Item/ItemTemplate.h:217: ITEM_FLAG2_NEVER_STACK_IN_LOOT_UI = 0x20000000,
--------------- ITEM_FLAG2_DISENCHANT_TO_LOOT_TABLE ---------------
server/game/Entities/Item/ItemTemplate.h:218: ITEM_FLAG2_DISENCHANT_TO_LOOT_TABLE = 0x40000000,
--------------- ITEM_FLAG2_USED_IN_A_TRADESKILL ---------------
server/game/Entities/Item/ItemTemplate.h:219: ITEM_FLAG2_USED_IN_A_TRADESKILL = 0x80000000
On AC:
--------------- ITEM_FLAG2_FACTION_HORDE ---------------
server/game/Entities/Item/ItemTemplate.h:172: ITEM_FLAG2_FACTION_HORDE = 0x00000001,
--------------- ITEM_FLAG2_FACTION_ALLIANCE ---------------
server/game/Entities/Item/ItemTemplate.h:173: ITEM_FLAG2_FACTION_ALLIANCE = 0x00000002,
--------------- ITEM_FLAG2_DONT_IGNORE_BUY_PRICE ---------------
server/game/Entities/Item/ItemTemplate.h:174: ITEM_FLAG2_DONT_IGNORE_BUY_PRICE = 0x00000004, // when item uses extended cost, gold is also required
--------------- ITEM_FLAG2_CLASSIFY_AS_CASTER ---------------
server/game/Entities/Item/ItemTemplate.h:175: ITEM_FLAG2_CLASSIFY_AS_CASTER = 0x00000008,
--------------- ITEM_FLAG2_CLASSIFY_AS_PHYSICAL ---------------
server/game/Entities/Item/ItemTemplate.h:176: ITEM_FLAG2_CLASSIFY_AS_PHYSICAL = 0x00000010,
--------------- ITEM_FLAG2_EVERYONE_CAN_ROLL_NEED ---------------
server/game/Entities/Item/ItemTemplate.h:177: ITEM_FLAG2_EVERYONE_CAN_ROLL_NEED = 0x00000020,
--------------- ITEM_FLAG2_NO_TRADE_BIND_ON_ACQUIRE ---------------
server/game/Entities/Item/ItemTemplate.h:178: ITEM_FLAG2_NO_TRADE_BIND_ON_ACQUIRE = 0x00000040,
--------------- ITEM_FLAG2_CAN_TRADE_BIND_ON_ACQUIRE ---------------
server/game/Entities/Item/ItemTemplate.h:179: ITEM_FLAG2_CAN_TRADE_BIND_ON_ACQUIRE = 0x00000080,
--------------- ITEM_FLAG2_CAN_ONLY_ROLL_GREED ---------------
server/game/Entities/Item/ItemTemplate.h:180: ITEM_FLAG2_CAN_ONLY_ROLL_GREED = 0x00000100,
--------------- ITEM_FLAG2_CASTER_WEAPON ---------------
server/game/Entities/Item/ItemTemplate.h:181: ITEM_FLAG2_CASTER_WEAPON = 0x00000200,
--------------- ITEM_FLAG2_DELETE_ON_LOGIN ---------------
server/game/Entities/Item/ItemTemplate.h:182: ITEM_FLAG2_DELETE_ON_LOGIN = 0x00000400,
--------------- ITEM_FLAG2_INTERNAL_ITEM ---------------
server/game/Entities/Item/ItemTemplate.h:183: ITEM_FLAG2_INTERNAL_ITEM = 0x00000800,
--------------- ITEM_FLAG2_NO_VENDOR_VALUE ---------------
server/game/Entities/Item/ItemTemplate.h:184: ITEM_FLAG2_NO_VENDOR_VALUE = 0x00001000,
--------------- ITEM_FLAG2_SHOW_BEFORE_DISCOVERED ---------------
server/game/Entities/Item/ItemTemplate.h:185: ITEM_FLAG2_SHOW_BEFORE_DISCOVERED = 0x00002000,
--------------- ITEM_FLAG2_OVERRIDE_GOLD_COST ---------------
server/game/Entities/Item/ItemTemplate.h:186: ITEM_FLAG2_OVERRIDE_GOLD_COST = 0x00004000,
--------------- ITEM_FLAG2_IGNORE_DEFAULT_RATED_BG_RESTRICTIONS ---------------
server/game/Entities/Item/ItemTemplate.h:187: ITEM_FLAG2_IGNORE_DEFAULT_RATED_BG_RESTRICTIONS = 0x00008000,
--------------- ITEM_FLAG2_NOT_USABLE_IN_RATED_BG ---------------
server/game/Entities/Item/ItemTemplate.h:188: ITEM_FLAG2_NOT_USABLE_IN_RATED_BG = 0x00010000,
--------------- ITEM_FLAG2_BNET_ACCOUNT_TRADE_OK ---------------
server/game/Entities/Item/ItemTemplate.h:189: ITEM_FLAG2_BNET_ACCOUNT_TRADE_OK = 0x00020000,
--------------- ITEM_FLAG2_CONFIRM_BEFORE_USE ---------------
server/game/Entities/Item/ItemTemplate.h:190: ITEM_FLAG2_CONFIRM_BEFORE_USE = 0x00040000,
--------------- ITEM_FLAG2_REEVALUATE_BONDING_ON_TRANSFORM ---------------
server/game/Entities/Item/ItemTemplate.h:191: ITEM_FLAG2_REEVALUATE_BONDING_ON_TRANSFORM = 0x00080000,
--------------- ITEM_FLAG2_NO_TRANSFORM_ON_CHARGE_DEPLETION ---------------
server/game/Entities/Item/ItemTemplate.h:192: ITEM_FLAG2_NO_TRANSFORM_ON_CHARGE_DEPLETION = 0x00100000,
--------------- ITEM_FLAG2_NO_ALTER_ITEM_VISUAL ---------------
server/game/Entities/Item/ItemTemplate.h:193: ITEM_FLAG2_NO_ALTER_ITEM_VISUAL = 0x00200000,
--------------- ITEM_FLAG2_NO_SOURCE_FOR_ITEM_VISUAL ---------------
server/game/Entities/Item/ItemTemplate.h:194: ITEM_FLAG2_NO_SOURCE_FOR_ITEM_VISUAL = 0x00400000,
--------------- ITEM_FLAG2_IGNORE_QUALITY_FOR_ITEM_VISUAL_SOURCE ---------------
server/game/Entities/Item/ItemTemplate.h:195: ITEM_FLAG2_IGNORE_QUALITY_FOR_ITEM_VISUAL_SOURCE = 0x00800000,
--------------- ITEM_FLAG2_NO_DURABILITY ---------------
server/game/Entities/Item/ItemTemplate.h:196: ITEM_FLAG2_NO_DURABILITY = 0x01000000,
--------------- ITEM_FLAG2_ROLE_TANK ---------------
server/game/Entities/Item/ItemTemplate.h:197: ITEM_FLAG2_ROLE_TANK = 0x02000000,
--------------- ITEM_FLAG2_ROLE_HEALER ---------------
server/game/Entities/Item/ItemTemplate.h:198: ITEM_FLAG2_ROLE_HEALER = 0x04000000,
--------------- ITEM_FLAG2_ROLE_DAMAGE ---------------
server/game/Entities/Item/ItemTemplate.h:199: ITEM_FLAG2_ROLE_DAMAGE = 0x08000000,
--------------- ITEM_FLAG2_CAN_DROP_IN_CHALLENGE_MODE ---------------
server/game/Entities/Item/ItemTemplate.h:200: ITEM_FLAG2_CAN_DROP_IN_CHALLENGE_MODE = 0x10000000,
--------------- ITEM_FLAG2_NEVER_STACK_IN_LOOT_UI ---------------
server/game/Entities/Item/ItemTemplate.h:201: ITEM_FLAG2_NEVER_STACK_IN_LOOT_UI = 0x20000000,
--------------- ITEM_FLAG2_DISENCHANT_TO_LOOT_TABLE ---------------
server/game/Entities/Item/ItemTemplate.h:202: ITEM_FLAG2_DISENCHANT_TO_LOOT_TABLE = 0x40000000,
--------------- ITEM_FLAG2_USED_IN_A_TRADESKILL ---------------
server/game/Entities/Item/ItemTemplate.h:203: ITEM_FLAG2_USED_IN_A_TRADESKILL = 0x80000000
Seems like on TC they use 4 flags out of that list
we can keep them if one angel wants to port/implement them one day but we should just comment them out because it's confusing
we can keep them if one angel wants to port/implement them one day but we should just comment them out because it's confusing
why it is less confusing to have them as commented out? From a technical perspective, it makes no difference since compilers already optimise it and remove unused enums like this.
I think this issue can be closed, but feel free to reopen it if you don't agree.
In item_template.h, we have this and it's not used at all, it's confusing and useless