Player Resource Consortium

Neverwinter Nights => Spells, Feats, and Skills => Topic started by: Icezera on April 04, 2018, 11:46:44 PM

Title: Swordsage Leveling issue with feats
Post by: Icezera on April 04, 2018, 11:46:44 PM
Hi guys,

Having some trouble with leveling a swordsage. The bonus feats while leveling are screwed up. I get bonus feats at wrong levels while not meeting the requirements. Thus, I cannot levelup. For example, I get the 2nd insightful strike bonus while leveling to 10. I can only choose between insightful strike, defensive stance, or focus. I cannot choose another focus and I am not yet level 12 for the second insightful strike. Thus, I am stuck choosing a defensive stance. However, I encounter another problem that I cannot choose a second insightful strike. I have to wait until level 16 or so.

Also, the class seems to have so many Bad StrRef errors and some skills that just do not work like tornado throw
Title: Re: Swordsage Leveling issue with feats
Post by: Mindflayer on April 05, 2018, 04:03:03 AM
What module are you playing? I haven't really played the class but at least I never got my feats at the wrong level. That I can't pick a second insightful strike at lvl 12 happens for me, too, though. Looking at the code in prc_enforce_feat.nss, I can't quite figure out why.




int Swordsage(object oPC = OBJECT_SELF)
{
    int nClass = GetLevelByClass(CLASS_TYPE_SWORDSAGE, oPC);

    if(nClass)
    {
        int nWF = GetHasFeat(FEAT_SS_DF_WF_DW, oPC)
                + GetHasFeat(FEAT_SS_DF_WF_DM, oPC)
                + GetHasFeat(FEAT_SS_DF_WF_SS, oPC)
                + GetHasFeat(FEAT_SS_DF_WF_SH, oPC)
                + GetHasFeat(FEAT_SS_DF_WF_SD, oPC)
                + GetHasFeat(FEAT_SS_DF_WF_TC, oPC);

        if(nWF > 1)
        {
            FloatingTextStringOnCreature("You may only have one Discipline Focus (Weapon Focus). Please reselect your feats.", oPC, FALSE);
            return FALSE;
        }

        if(nClass > 3)
        {
            int nIS = GetHasFeat(FEAT_SS_DF_IS_DW, oPC)
                    + GetHasFeat(FEAT_SS_DF_IS_DM, oPC)
                    + GetHasFeat(FEAT_SS_DF_IS_SS, oPC)
                    + GetHasFeat(FEAT_SS_DF_IS_SH, oPC)
                    + GetHasFeat(FEAT_SS_DF_IS_SD, oPC)
                    + GetHasFeat(FEAT_SS_DF_IS_TC, oPC);

            if((nIS > 1 && nClass < 12)
            || (nIS > 2 && nClass > 11))
            {
                FloatingTextStringOnCreature("You do not have the correct amount of Discipline Focus (Insightful Strike). Please reselect your feats.", oPC, FALSE);
                return FALSE;
            }
        }

        if(nClass > 7)
        {
            int nDS = GetHasFeat(FEAT_SS_DF_DS_DW, oPC)
                    + GetHasFeat(FEAT_SS_DF_DS_DM, oPC)
                    + GetHasFeat(FEAT_SS_DF_DS_SS, oPC)
                    + GetHasFeat(FEAT_SS_DF_DS_SH, oPC)
                    + GetHasFeat(FEAT_SS_DF_DS_SD, oPC)
                    + GetHasFeat(FEAT_SS_DF_DS_TC, oPC);

            if((nDS > 1 && nClass < 16)
            || (nDS > 2 && nClass > 15))
            {
                FloatingTextStringOnCreature("You do not have the correct amount of Discipline Focus (Defensive Stance). Please reselect your feats.", oPC, FALSE);
                return FALSE;
            }
        }
    }
    return TRUE;
}
Title: Re: Swordsage Leveling issue with feats
Post by: Icezera on April 05, 2018, 10:51:01 PM
I figured a part of it out. The prc_2das.hak has a swordsage bonus feat 2da that has errors in it. At least for me. I fixed the whole, getting random bonus feats problem.

I haven't been able to fix or figure out the insightful strike at 12 problem. I can only get it later.

I am playing aielund that has been injected with prcpack. No problems with it at all except the swordsage considering I went through the entire saga with a warlock, a psion, and an eldritch knight 3 separate times.
Title: Re: Swordsage Leveling issue with feats
Post by: Stratovarius on August 23, 2018, 03:14:25 PM
Fixed. The Feat Constant was defined improperly for some Swordsage feats.