DavidW Posted October 17, 2023 Share Posted October 17, 2023 On 10/15/2023 at 1:33 PM, subtledoctor said: don’t know why SCS would mess this up. One possibility I’ve seen hints of: it seems like, when I bring a character down to level 0, the game tries to apply some CLAB effects then, even though it should not happen until 1st level. Yeah, it's possible. Ultimately both the 'customize class' and 'start at level 0' aspects of that SCS component are fairly hacky- it works pretty much fine on the otherwise-unmodded game but I wouldn't be at all surprised if it interacts awkwardly with other mods that tweak classes etc. Quote Link to comment
subtledoctor Posted October 17, 2023 Author Share Posted October 17, 2023 (edited) 1 hour ago, DavidW said: works pretty much fine on the otherwise-unmodded game but I wouldn't be at all surprised if it interacts awkwardly with other mods that tweak classes etc. I haven’t done extensive testing, except to suppress the behavior - as noted, the solution happily ended up being simple and otherwise harmless: Spoiler ACTION_DEFINE_ASSOCIATIVE_ARRAY clabs_to_check BEGIN clabfi01 => 1 clabrn01 => 1 clabpa01 => 1 clabpr01 => 1 clabdr01 => 1 clabmo01 => 1 clabth01 => 1 clabba01 => 1 clabma01 => 1 END COPY_EXISTING ~kitlist.2da~ ~override~ READ_2DA_ENTRIES_NOW ~r2en_kitlist~ 10 FOR (row = 2; row < r2en_kitlist; row += 1) BEGIN READ_2DA_ENTRY_FORMER ~r2en_kitlist~ row 5 kit_clab SPRINT $clabs_to_check(~%kit_clab%~)~1~ END BUT_ONLY APPEND ~splprot.2da~ ~D5_LEVEL_IS%TAB%34%TAB%0%TAB%1~ UNLESS ~D5_LEVEL_IS~ COPY_EXISTING ~splprot.2da~ ~override~ COUNT_2DA_COLS cols READ_2DA_ENTRIES_NOW rows cols FOR (row = 1; row < rows; ++row) BEGIN READ_2DA_ENTRY_FORMER rows row 0 ~stat~ PATCH_IF ~%stat%~ STRING_EQUAL_CASE ~D5_LEVEL_IS~ BEGIN SET level_is_row = %row% END END BUT_ONLY ACTION_PHP_EACH clabs_to_check AS clab => ind BEGIN ACTION_IF (FILE_EXISTS_IN_GAME ~%clab%.2da~) BEGIN COPY_EXISTING ~%clab%.2da~ ~override~ COUNT_2DA_COLS cols READ_2DA_ENTRIES_NOW r2en_clab cols FOR (row = 0; row < r2en_clab; ++row) BEGIN READ_2DA_ENTRY_FORMER r2en_clab row 1 kit_abil PATCH_IF (~%kit_abil%~ STRING_CONTAINS_REGEXP ~AP_~) = 0 BEGIN SPRINT $ap_l1_abils(~%kit_abil%~)~1~ END END BUT_ONLY END END ACTION_PHP_EACH ap_l1_abils AS l1_abil => ind BEGIN OUTER_INNER_PATCH_SAVE l1_abil ~%l1_abil%~ BEGIN REPLACE_TEXTUALLY ~AP_~ ~~ END COPY_EXISTING ~%l1_abil%.spl~ ~override~ LPF ADD_SPELL_EFFECT INT_VAR insert_point = 0 target = 1 opcode = 318 parameter1 = 0 parameter2 = %level_is_row% timing = 0 duration = 1 STR_VAR resource = EVAL ~%l1_abil%~ END IF_EXISTS BUT_ONLY END This could definitely affect vanilla kits. Perhaps they just don’t have clab spells that are structured in a way that exposes it? But like I say I haven’t tested - it’s possible this could give doubled 1st-level bonuses to Swashbucklers, or extra traps to Bounty Hunters, etc. Edited October 17, 2023 by subtledoctor Quote Link to comment
subtledoctor Posted October 20, 2023 Author Share Posted October 20, 2023 With great apologies: a typo snuck into a shared function library and affected a number of mods that use a dialogue to select proficiencies. In this case it affects certain paladin kits. It is fixed in version 0.86sd2. Quote Link to comment
kijikun Posted October 20, 2023 Share Posted October 20, 2023 Is this safe to update in an existing game? Quote Link to comment
subtledoctor Posted October 20, 2023 Author Share Posted October 20, 2023 48 minutes ago, kijikun said: Is this safe to update in an existing game? I would not do so unless it is or is close to the last mod you have installed. It will only affect paladins with the "Zealot" archetype - if you are not using any of those, then you won't even see anything wrong and you can ignore it. Quote Link to comment
Connelly Posted November 13, 2023 Share Posted November 13, 2023 Something came up after installing Reddbane's 3.5E Weapon Style Rebalance here. Not too worried about any incompatibilities or that mod being outdated, but just in case this might be a issue in F&P. When trying to install the "Rangers Have No Offhand to-hit Penalty" component, I get this: "ERROR: [kitlist.2da] -> [override/kitlist.2da] Patching Failed (COPY) (Failure("resource [*.2DA] not found for 'APPEND'"))" I don't know how to interpret that error, but it seems to happen only when F&P's Cleric/Rranger multi kits are present. If I open kitlist.2da, and delete only those lines (about five, all of them with the ID 18 for ranger and among those installed by F&P), that mod then installs without problems. Just worried this may indicate a problem in F&P that might have been flying under the radar, that's all. Quote Link to comment
subtledoctor Posted November 13, 2023 Author Share Posted November 13, 2023 (edited) Sounds like that mod is simply unequipped to handle the possibility of multiclass kits or something. There is nothing weird about FnP’s multiclass ranger kits, apart from the basic fact that multiclass ranger kits do not exist in the unmodded game. EDIT - or actually, it is probably that ADD_KIT_EX is coded to not list the kit ability table for multiclass kits, only putting “ * ” instead. I don’t love this, given that my multiclass kits actually have ability tables; but some multiclass kits do not, so I think this was a reasonable decision by @argent77 So Reddbsne’s mod is choking when not finding an ability table to patch for multiclass ranger kits; but OTOH patching the table of a multiclass kit does nothing anyway - you need to patch the QD_MCx## files. So long story short, Reddbane’s mod should not be trying to patch multiclass ranger tables at all. Edited November 13, 2023 by subtledoctor Quote Link to comment
Connelly Posted November 13, 2023 Share Posted November 13, 2023 (edited) Mostly older coding standards and techniques not catching up with newer developments then, fair enough. Edited November 13, 2023 by Connelly Quote Link to comment
subtledoctor Posted November 14, 2023 Author Share Posted November 14, 2023 5 hours ago, Connelly said: Mostly older coding standards and techniques not catching up with newer developments then, fair enough. Yeah. Or honestly, just needs more safety checks. Simply adding “IF_EXISTS” to his patching code would prevent this error. Quote Link to comment
argent77 Posted November 14, 2023 Share Posted November 14, 2023 17 hours ago, subtledoctor said: EDIT - or actually, it is probably that ADD_KIT_EX is coded to not list the kit ability table for multiclass kits, only putting “ * ” instead. I don’t love this, given that my multiclass kits actually have ability tables; but some multiclass kits do not, so I think this was a reasonable decision by @argent77 ADD_KIT_EX does indeed add a CLAB placeholder entry for multiclass kits to kitlist.2da. Does adding a valid CLAB table have any effect for multiclass kits (except to satisfy the expectations of some mods)? Quote Link to comment
subtledoctor Posted November 14, 2023 Author Share Posted November 14, 2023 7 hours ago, argent77 said: ADD_KIT_EX does indeed add a CLAB placeholder entry for multiclass kits to kitlist.2da. Does adding a valid CLAB table have any effect for multiclass kits (except to satisfy the expectations of some mods)? Realistically, mods should not have those expectations. My own mods got tripped up a bit when I first switched to using ADD_KIT_EX, but as I say the solution was simply to add IF_EXISTS to the code… which should be there anyway. And patching a multiclass kit table is useless so that doesn’t matter. The only benefit to including the kit table is for inspection purposes - if I want to get a sense of what abilities a kit gets, it is way easier to look at a 2da file - even a non-functioning one - then sort through all the 177 effects in 50 different QD_MCx .spl files. But that is of limited utility, and considering that ADD_KIT_EX is designed to allow the incorporation of multiple 2da tables, it seems like more trouble than it is worth to change it. Quote Link to comment
Connelly Posted November 15, 2023 Share Posted November 15, 2023 Something else I just noticed playing IWD1 with Lava's Dusky. While getting the C/T Nightrunner of Mask multi kit, for some reason he's able to use shaman spells and items, and the dual class button is enabled for him. Doesn't look like it's causing anything worse than that that I can see, so it's appears to be just a harmless accident as long as I don't do anything silly/stupid. But I can't say if it's due to another mod (CDTweaks class components? Can't think of anything else), and if so what files to check. Quote Link to comment
subtledoctor Posted November 15, 2023 Author Share Posted November 15, 2023 12 hours ago, Connelly said: Something else I just noticed playing IWD1 with Lava's Dusky. While getting the C/T Nightrunner of Mask multi kit, for some reason he's able to use shaman spells and items, and the dual class button is enabled for him. Are you using a sphere system? The Shaman spells are incorporated, so kits with certain spheres will get (some of) those spells. I’ve also noticed the dual-class button being active for multiclass peeps… might be an odd result of ADD_KIT_EX. Seems harmless though…? (I mean, I guess I’ve never tried to actually press the button. I can only tell you, knowing the engine as I do, it would not work. Either nothing would happen, or you would lose your multiclass features.) Quote Link to comment
Connelly Posted November 15, 2023 Share Posted November 15, 2023 Ah yes, I'm using the third sphere, the "Vanilla mimic" one; the shaman items allowance just made me think it'd be something else (that said, it's curiously redundant to be allowed both Raise Dead and Recall Spirit). But yeah, neither the items nor the button seem to be anything to be too worried about. Quote Link to comment
mickabouille Posted November 15, 2023 Share Posted November 15, 2023 I was unsure if I should continue, but there's only two left and they're done so here we are. This pull request proposes to translate FnP in french : https://github.com/subtledoctor/Faiths_and_Powers/pull/5 Quote Link to comment
Recommended Posts
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.