Jump to content

Warriors not getting 1/2 APR at levels 7 and 13 after SCS install


Guest 2Bones

Recommended Posts

After installing SCS 35.2 my warriors (tested on kensai, archer, and inquisitor) are no longer getting the 1/2 APR awarded at levels 7 or 13. Other mods installed include (in order) ascension, sell swords, assassinations, back to brynnlaw, ub,  banters, item upgrade, sod to item upgrade, SR v4beta18, cdtweaks. SCS is installed last.

I tested this by firing up new characters prior to installing SCS and leveling them to 7 and 13. APR was incremented as expected. After installing SCS I tested again and APR stays at 1 no matter the level.

I don't mind editing my characters in EEKeeper to adjust the APR if needed but I wonder if enemy warriors are similarly gimped.

Link to comment

May have answered my question but I won't have time to test it till the morning. Posting here in case this helps anyone else. Some google searching pointed me to cdtweaks component 'everyone gets bonus apr from specialization'. Based on others experience it seems that this component behaves poorly with SCS and results in no APR at 7 or 13 for warriors.

Link to comment

Very strange, isn't it governed by WSPATCK.2da? I don't see what component of SCS would touch that, or is it the cdtweaks hack of both warrior & non-warrior APR being accidentally overwritten by SCS?

What's the WSPATCK.2da file look like in your override?

Edited by polytope
Link to comment
11 hours ago, polytope said:

Very strange, isn't it governed by WSPATCK.2da? I don't see what component of SCS would touch that,

The Tweaks component moves level 7/13 APR bumps into kit ability tables. Sounds like… maybe SCS is overwriting them? But, that would be odd. EDIT - oh, apparently it does, in its “read the table then write it back” routine. Still blows my mind that SSC does that. 

Edited by subtledoctor
Link to comment

A summary of what the table says, before and after that cdtweaks component:

Before (vanilla)

                Level
                1-6       7-12      13+
Prof    0-1     0         -1 (+.5)  1
        2-4     -1 (+.5)  1         -2 (+1.5)
        5       1         -2 (+1.5) 2

After (cdtweaks APR)

                Level
                1-6       7-12      13+
Prof    0-1     0         0         0
        2-4     -1 (+.5)  -1 (+.5)  -1 (+.5)
        5       1         1         1

That component completely wipes out the APR gain for (warrior) levels, leaving only the gain for high proficiency levels. Because otherwise, with the changes to clswpbon.2da, all classes would gain APR as they leveled.

Now, looking at the code, that component also creates new spells d5_numat and d5_numa2, which it inserts into all fighter, ranger and paladin CLABs at levels 7 and 13. Which should give warriors that are party members back their APR, but not non-party warriors as those don't apply the kit/class ability tables.

So the component is already problematic, reducing APR for all higher-level warriors outside the party and also all higher-level monks that use manufactured weapons. But if it's breaking worse than that ... what does SCS do to the CLABs involved?

Edited by jmerry
Link to comment

I *suspect* what is going on is the following: 

  • some third mod (not SCS, not Tweaks - or at least not that component of Tweaks) has malformed the structure of CLABFI01.2da, e.g. by appending a 50-column entry without making the table as a whole 50 columns.
  • SCS has read CLABFI01.2da into memory while patching a kit, but because it's malformed, it doesn't read all of it in. (SCS is quite touchy about 2DA files that don't conform to the legal file specification.)
  • when SCS writes the table back to the file, some of it has gone missing, including the bit that adds the fighter abilities that grant the extra half attacks.

2Bones, could you post the file override/CLABFI01.2da from *before* SCS is installed.

In the meantime, that Tweaks component looks problematic in its own right to me, for exactly the reason jmerry gives: it deprives non-joinable warriors of their extra APR. I think it needs to iterate through every non-joinable warrior in the game and give them their APRs manually. (Flagging @CamDawg).

Link to comment

Uninstalling the APR component from cdtweaks seems to have resolved the level 7/13 APR problem, though it did result in other errors being thrown during the uninstallation process. Since I don't have an active playthrough going I'm just going to do a fresh install.

@DavidW - for the CLABFI01.2da file - do you want a copy of that file after all other mods are installed but before SCS?

Link to comment
8 hours ago, jmerry said:

So the component is already problematic, reducing APR for all higher-level warriors outside the party

Yes, this was my immediate thought, only creatures who've joined the party benefit from kit-related CLAB files, whereas all actors in game of the right classes use the WSPATCK 2DA.

However, it's checked (I think) when the area is first loaded AND whenever the actor equips a weapon with a melee/ranged ability (that they could have multiple proficiencies and derived bonus attacks per round from), meaning that if a 15HD monster that starts out as a classless statue or whatever shifts to the fighter class (from some triggered event on the map) it would not immediately gain the extra +1APR of level 13+ fighters, nor the extra bonus from multiple stars in its equipped weapon, modders should be aware of that too. As most players are aware the THAC0/damage bonuses from WSPECIAL apply regardless of class.

Edited by polytope
Link to comment

Number of uses of the ChangeClass script action in vanilla BGEE and BG2EE: one. Marl becomes an INNOCENT if you talk him down.

So, this is not normally a concern; the standard scripting style for creatures that wake up to become a threat is that they already have the appropriate class. Or they use a "replace creature" effect (i.e. doppelgangers) and the new object obviously won't have that issue.

Well, there's one trouble spot I can see: the "ChangeAnimation" script action, which keeps some things in place like hit points. And does buggy things with effects on the creature; stuff like mage buffs stay in place and become impossible to remove with the likes of dispel, breach, or spellstrike. (At least, that's how it worked as of 2.5)

What uses that action? For one, the doppelgangers that switch between various forms from Durlag's family. One of those forms - Durlag himself - is a high-level fighter. The others are a mage, a bard, a cleric, and the default doppelganger form. Plenty of opportunity for messy lingering effects.

Link to comment

Oh no doubt, like I said the issues with ChangeClass() are something only modders should be aware of.

On 12/16/2023 at 10:19 AM, jmerry said:

Well, there's one trouble spot I can see: the "ChangeAnimation" script action, which keeps some things in place like hit points. And does buggy things with effects on the creature; stuff like mage buffs stay in place and become impossible to remove with the likes of dispel, breach, or spellstrike. (At least, that's how it worked as of 2.5)

What uses that action? For one, the doppelgangers that switch between various forms from Durlag's family. One of those forms - Durlag himself - is a high-level fighter. The others are a mage, a bard, a cleric, and the default doppelganger form. Plenty of opportunity for messy lingering effects.

The ChangeAnimation() action is far from ideal, in this circumstance anyway, perhaps those dopplegangers should be classed as F/M/Cs and use undroppable equipped weapons (since each form uses a different weapon) to switch their avatars through #53 along with associated changes in ability scores, armor class etc. similar to how druid shapeshifting works in SCS. It'll be a bit complicated to rewrite their script however.

Link to comment

...20 min after posting that I realized it's a totally stupid and overly complicated idea, their morphing script should instead apply a .spl that removes all temporary effects before they ChangeAnimation() to prevent this annoying lingering of buffs.

It would make them easier though.

Edited by polytope
Link to comment

Join the conversation

You are posting as a guest. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...