From 4b7bcae561063fda8b0257d2b7a5a08772654b4b Mon Sep 17 00:00:00 2001 From: Jaysyn904 <68194417+Jaysyn904@users.noreply.github.com> Date: Sun, 22 Feb 2026 13:30:08 -0500 Subject: [PATCH] 2026/02/22 Update 2 Fixed broken Vow of Poverty 2da Can no longer take both Favored of the Companions & Servant of the Heavens via Vow of Poverty bonus feats. --- nwn/nwnprc/trunk/2das/prc_vop_feats.2da | 2 +- nwn/nwnprc/trunk/scripts/ft_vowpoverty_ft.nss | 24 +++++++++++++++++-- 2 files changed, 23 insertions(+), 3 deletions(-) diff --git a/nwn/nwnprc/trunk/2das/prc_vop_feats.2da b/nwn/nwnprc/trunk/2das/prc_vop_feats.2da index db57fe64..07f29369 100644 --- a/nwn/nwnprc/trunk/2das/prc_vop_feats.2da +++ b/nwn/nwnprc/trunk/2das/prc_vop_feats.2da @@ -29,4 +29,4 @@ 25 FEAT_VOW_OBED "Vow of Obedience" 3389 **** **** **** **** **** **** 1 26 FEAT_VOW_PURITY "Vow of Purity" 5360 **** **** **** **** **** **** **** 27 FEAT_FAV_COMPANIONS "Favored of the Companions" 25994 **** **** **** **** **** **** **** -28 **** **** **** **** **** **** **** **** **** +28 **** **** **** **** **** **** **** **** **** **** diff --git a/nwn/nwnprc/trunk/scripts/ft_vowpoverty_ft.nss b/nwn/nwnprc/trunk/scripts/ft_vowpoverty_ft.nss index e0aa289f..9e0b26ba 100644 --- a/nwn/nwnprc/trunk/scripts/ft_vowpoverty_ft.nss +++ b/nwn/nwnprc/trunk/scripts/ft_vowpoverty_ft.nss @@ -98,7 +98,17 @@ void main() if(nBAB>0 && GetBaseAttackBonus(oPC) < nBAB) nAllPreReq = 0; if(nLaw>0 && !(GetAlignmentLawChaos(oPC) == ALIGNMENT_LAWFUL)) nAllPreReq = 0; - if (!GetHasFeat(nFeat, oPC) && !GetLocalInt(oPC, "VoPFeat"+IntToString(nFeat)) && nAllPreReq == 1) AddChoice(sName, nFeat, oPC); + if (!GetHasFeat(nFeat, oPC) && !GetLocalInt(oPC, "VoPFeat"+IntToString(nFeat)) && nAllPreReq == 1) + { + // Enforce mutual exclusivity: Favored of the Companions vs Servant of the Heavens + if ((nFeat == FEAT_FAV_COMPANIONS && GetHasFeat(FEAT_SERVHEAVEN, oPC)) || + (nFeat == FEAT_SERVHEAVEN && GetHasFeat(FEAT_FAV_COMPANIONS, oPC))) + { + // Skip adding this choice; the mutually exclusive feat is already possessed + continue; + } + AddChoice(sName, nFeat, oPC); + } } AddChoice("Cancel (you will get no Exalted Feats this level)", 0, oPC); @@ -120,7 +130,7 @@ void main() // Do token setup SetupTokens(); - } + } else if(nValue == DYNCONV_EXITED) { if(DEBUG) DoDebug("ft_vowpoverty_ab/ft: Running exit handler"); @@ -156,6 +166,16 @@ void main() else { int nChoice = GetChoice(oPC); + + // Favored of the Companions vs Servant of the Heavens: Choose one + if ((nChoice == FEAT_FAV_COMPANIONS && GetHasFeat(FEAT_SERVHEAVEN, oPC)) || + (nChoice == FEAT_SERVHEAVEN && GetHasFeat(FEAT_FAV_COMPANIONS, oPC))) + { + FloatingTextStringOnCreature("You cannot select both Favored of the Companions and Servant of the Heavens.", oPC, FALSE); + AllowExit(DYNCONV_EXIT_FORCE_EXIT); + return; + } + if(nStage == STAGE_SELECT_ABIL) { if (nChoice == 0)