From db5ffc06dfe88c44f3f365ac0b9de88f3e929832 Mon Sep 17 00:00:00 2001 From: Jhett Black <10942655+jhett12321@users.noreply.github.com> Date: Fri, 23 Jun 2023 22:37:21 +0200 Subject: [PATCH 1/2] Use correct class for calculating ability gain. --- Plugins/ELC/ELC.cpp | 14 ++------------ 1 file changed, 2 insertions(+), 12 deletions(-) diff --git a/Plugins/ELC/ELC.cpp b/Plugins/ELC/ELC.cpp index 20b14652a56..ac1dbf964c6 100644 --- a/Plugins/ELC/ELC.cpp +++ b/Plugins/ELC/ELC.cpp @@ -730,19 +730,9 @@ static auto s_ValidateCharacter = Hooks::HookFunction(&CNWSPlayer::ValidateChara nAbilityAtLevel[nAbilityIndex] += nStatMods[nAbilityIndex]; } - for (int nMultiClass = 0; nMultiClass < NUM_MULTICLASS; nMultiClass++) + for (int nAbilityIndex = 0; nAbilityIndex <= Ability::MAX; nAbilityIndex++) { - uint8_t nClassId = pCreatureStats->GetClass(nMultiClass); - CNWClass *pClass = nClassId < pRules->m_nNumClasses ? &pRules->m_lstClasses[nClassId] : nullptr; - - if (pClass) - { - for (int nAbilityIndex = 0; nAbilityIndex < Ability::MAX; nAbilityIndex++) - { - nAbilityAtLevel[nAbilityIndex] += pClass->GetAbilityGainForSingleLevel(nAbilityIndex, - nMultiClassLevel[nMultiClassLeveledUpIn]); - } - } + nAbilityAtLevel[nAbilityIndex] += pClassLeveledUpIn->GetAbilityGainForSingleLevel(nAbilityIndex, nMultiClassLevel[nMultiClassLeveledUpIn]); } // *** Check Hit Die ******************************************************************************************************** From 0e84dec98e4b7ec7bc5742f578d84a8968340059 Mon Sep 17 00:00:00 2001 From: Jhett Black <10942655+jhett12321@users.noreply.github.com> Date: Sun, 5 Nov 2023 21:53:27 +0100 Subject: [PATCH 2/2] Update check from ability constant change. --- Plugins/ELC/ELC.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Plugins/ELC/ELC.cpp b/Plugins/ELC/ELC.cpp index ac1dbf964c6..ad2417726d8 100644 --- a/Plugins/ELC/ELC.cpp +++ b/Plugins/ELC/ELC.cpp @@ -730,7 +730,7 @@ static auto s_ValidateCharacter = Hooks::HookFunction(&CNWSPlayer::ValidateChara nAbilityAtLevel[nAbilityIndex] += nStatMods[nAbilityIndex]; } - for (int nAbilityIndex = 0; nAbilityIndex <= Ability::MAX; nAbilityIndex++) + for (int nAbilityIndex = 0; nAbilityIndex < Ability::MAX; nAbilityIndex++) { nAbilityAtLevel[nAbilityIndex] += pClassLeveledUpIn->GetAbilityGainForSingleLevel(nAbilityIndex, nMultiClassLevel[nMultiClassLeveledUpIn]); }