From ce301b625041cdc498d3ba71a06dc6c5d41f425f Mon Sep 17 00:00:00 2001 From: fallenoak Date: Mon, 29 Dec 2025 13:39:48 -0600 Subject: [PATCH] feat(ui): add CGLookingForGroup::GetClassRoles --- src/ui/game/CGLookingForGroup.cpp | 21 +++++++++++++++++++++ src/ui/game/CGLookingForGroup.hpp | 20 ++++++++++++++++++++ 2 files changed, 41 insertions(+) create mode 100644 src/ui/game/CGLookingForGroup.cpp create mode 100644 src/ui/game/CGLookingForGroup.hpp diff --git a/src/ui/game/CGLookingForGroup.cpp b/src/ui/game/CGLookingForGroup.cpp new file mode 100644 index 0000000..949774e --- /dev/null +++ b/src/ui/game/CGLookingForGroup.cpp @@ -0,0 +1,21 @@ +#include "ui/game/CGLookingForGroup.hpp" + +uint8_t g_validClassRoles[] = { + CLASS_ROLE_INVALID, // Non-existent + CLASS_ROLE_VALID | CLASS_ROLE_TANK | CLASS_ROLE_DAMAGE, // Warrior + CLASS_ROLE_VALID | CLASS_ROLE_TANK | CLASS_ROLE_HEALER | CLASS_ROLE_DAMAGE, // Paladin + CLASS_ROLE_VALID | CLASS_ROLE_DAMAGE, // Hunter + CLASS_ROLE_VALID | CLASS_ROLE_DAMAGE, // Rogue + CLASS_ROLE_VALID | CLASS_ROLE_HEALER | CLASS_ROLE_DAMAGE, // Priest + CLASS_ROLE_VALID | CLASS_ROLE_TANK | CLASS_ROLE_DAMAGE, // Death Knight + CLASS_ROLE_VALID | CLASS_ROLE_HEALER | CLASS_ROLE_DAMAGE, // Shaman + CLASS_ROLE_VALID | CLASS_ROLE_DAMAGE, // Mage + CLASS_ROLE_VALID | CLASS_ROLE_DAMAGE, // Warlock + CLASS_ROLE_INVALID, // Non-existent + CLASS_ROLE_VALID | CLASS_ROLE_TANK | CLASS_ROLE_HEALER | CLASS_ROLE_DAMAGE, // Druid + CLASS_ROLE_INVALID, // Non-existent +}; + +uint8_t CGLookingForGroup::GetClassRoles(int32_t classID) { + return g_validClassRoles[classID]; +} diff --git a/src/ui/game/CGLookingForGroup.hpp b/src/ui/game/CGLookingForGroup.hpp new file mode 100644 index 0000000..16a2edc --- /dev/null +++ b/src/ui/game/CGLookingForGroup.hpp @@ -0,0 +1,20 @@ +#ifndef UI_GAME_C_G_LOOKING_FOR_GROUP_HPP +#define UI_GAME_C_G_LOOKING_FOR_GROUP_HPP + +#include + +#define CLASS_ROLE_INVALID 0x0 +#define CLASS_ROLE_VALID 0x1 +#define CLASS_ROLE_TANK 0x2 +#define CLASS_ROLE_HEALER 0x4 +#define CLASS_ROLE_DAMAGE 0x8 + +extern uint8_t g_validClassRoles[]; + +class CGLookingForGroup { + public: + // Static functions + static uint8_t GetClassRoles(int32_t classID); +}; + +#endif