From 10505d0979208f17885e9169c79401543eef8f5c Mon Sep 17 00:00:00 2001 From: fallenoak Date: Sun, 4 Jan 2026 20:03:06 -0600 Subject: [PATCH] feat(glue): implement CCharacterCreation::GetRandomClassID --- src/glue/CCharacterCreation.cpp | 24 ++++++++++++++++++++++-- 1 file changed, 22 insertions(+), 2 deletions(-) diff --git a/src/glue/CCharacterCreation.cpp b/src/glue/CCharacterCreation.cpp index 531d5f7..dca73cd 100644 --- a/src/glue/CCharacterCreation.cpp +++ b/src/glue/CCharacterCreation.cpp @@ -108,8 +108,28 @@ void CCharacterCreation::Dress() { } int32_t CCharacterCreation::GetRandomClassID() { - // TODO - return 1; + int32_t classIDs[10] = { 0 }; + int32_t c = 0; + + if (!CCharacterCreation::s_classes.Count()) { + return 0; + } + + for (int32_t i = 0; i < CCharacterCreation::s_classes.Count(); i++) { + auto classRec = CCharacterCreation::s_classes[i]; + + if (classRec->m_requiredExpansion <= ClientServices::Connection()->m_accountExpansion) { + classIDs[c++] = classRec->m_ID; + } + } + + if (!c) { + return 0; + } + + auto classIndex = CRandom::dice(c, g_rndSeed); + + return classIDs[classIndex]; } void CCharacterCreation::GetRandomRaceAndSex(ComponentData* data) {