From e1c4f987c6a0597191a3498c9fc1a0954611f121 Mon Sep 17 00:00:00 2001 From: stevebone Date: Sun, 12 Apr 2026 15:53:32 +0200 Subject: [PATCH] Core/Units: Define new npc flag UNIT_NPC_FLAG_2_PERKS_VENDOR (#31786) --- src/server/game/Entities/Unit/UnitDefines.h | 1 + src/server/game/Entities/Unit/enuminfo_UnitDefines.cpp | 9 ++++++--- 2 files changed, 7 insertions(+), 3 deletions(-) diff --git a/src/server/game/Entities/Unit/UnitDefines.h b/src/server/game/Entities/Unit/UnitDefines.h index ae194f3d59..2579b19904 100644 --- a/src/server/game/Entities/Unit/UnitDefines.h +++ b/src/server/game/Entities/Unit/UnitDefines.h @@ -374,6 +374,7 @@ enum NPCFlags2 : uint32 UNIT_NPC_FLAG_2_AZERITE_RESPEC = 0x00004000, // TITLE is azerite respec UNIT_NPC_FLAG_2_ISLANDS_QUEUE = 0x00008000, // TITLE is islands queue UNIT_NPC_FLAG_2_SUPPRESS_NPC_SOUNDS_EXCEPT_END_OF_INTERACTION = 0x00010000, + UNIT_NPC_FLAG_2_PERKS_VENDOR = 0x00080000, // TITLE is trading post vendor UNIT_NPC_FLAG_2_PERSONAL_TABARD_DESIGNER = 0x00200000, // TITLE is personal tabard designer }; diff --git a/src/server/game/Entities/Unit/enuminfo_UnitDefines.cpp b/src/server/game/Entities/Unit/enuminfo_UnitDefines.cpp index 5ba09cba6e..f8d0383598 100644 --- a/src/server/game/Entities/Unit/enuminfo_UnitDefines.cpp +++ b/src/server/game/Entities/Unit/enuminfo_UnitDefines.cpp @@ -565,13 +565,14 @@ TC_API_EXPORT EnumText EnumUtils::ToString(NPCFlags2 value) case UNIT_NPC_FLAG_2_AZERITE_RESPEC: return { "UNIT_NPC_FLAG_2_AZERITE_RESPEC", "is azerite respec", "" }; case UNIT_NPC_FLAG_2_ISLANDS_QUEUE: return { "UNIT_NPC_FLAG_2_ISLANDS_QUEUE", "is islands queue", "" }; case UNIT_NPC_FLAG_2_SUPPRESS_NPC_SOUNDS_EXCEPT_END_OF_INTERACTION: return { "UNIT_NPC_FLAG_2_SUPPRESS_NPC_SOUNDS_EXCEPT_END_OF_INTERACTION", "UNIT_NPC_FLAG_2_SUPPRESS_NPC_SOUNDS_EXCEPT_END_OF_INTERACTION", "" }; + case UNIT_NPC_FLAG_2_PERKS_VENDOR: return { "UNIT_NPC_FLAG_2_PERKS_VENDOR", "is trading post vendor", "" }; case UNIT_NPC_FLAG_2_PERSONAL_TABARD_DESIGNER: return { "UNIT_NPC_FLAG_2_PERSONAL_TABARD_DESIGNER", "is personal tabard designer", "" }; default: throw std::out_of_range("value"); } } template <> -TC_API_EXPORT size_t EnumUtils::Count() { return 16; } +TC_API_EXPORT size_t EnumUtils::Count() { return 17; } template <> TC_API_EXPORT NPCFlags2 EnumUtils::FromIndex(size_t index) @@ -593,7 +594,8 @@ TC_API_EXPORT NPCFlags2 EnumUtils::FromIndex(size_t index) case 12: return UNIT_NPC_FLAG_2_AZERITE_RESPEC; case 13: return UNIT_NPC_FLAG_2_ISLANDS_QUEUE; case 14: return UNIT_NPC_FLAG_2_SUPPRESS_NPC_SOUNDS_EXCEPT_END_OF_INTERACTION; - case 15: return UNIT_NPC_FLAG_2_PERSONAL_TABARD_DESIGNER; + case 15: return UNIT_NPC_FLAG_2_PERKS_VENDOR; + case 16: return UNIT_NPC_FLAG_2_PERSONAL_TABARD_DESIGNER; default: throw std::out_of_range("index"); } } @@ -618,7 +620,8 @@ TC_API_EXPORT size_t EnumUtils::ToIndex(NPCFlags2 value) case UNIT_NPC_FLAG_2_AZERITE_RESPEC: return 12; case UNIT_NPC_FLAG_2_ISLANDS_QUEUE: return 13; case UNIT_NPC_FLAG_2_SUPPRESS_NPC_SOUNDS_EXCEPT_END_OF_INTERACTION: return 14; - case UNIT_NPC_FLAG_2_PERSONAL_TABARD_DESIGNER: return 15; + case UNIT_NPC_FLAG_2_PERKS_VENDOR: return 15; + case UNIT_NPC_FLAG_2_PERSONAL_TABARD_DESIGNER: return 16; default: throw std::out_of_range("value"); } }