Dan_P Posted January 13 Share Posted January 13 (edited) Post title. This is just filler. Update: not an issue, see reply by DavidW. This component is working as intended. Update 2: Side effect (or intended?). This component makes sequencers/contingencies unobtainable by sorcerer kits. First mentioned in this post by jmerry. I confirmed it in-game myself as well. -- After some quick testing, regular sorcerers can gain sequencers/contingencies, as they use the same table as mages. The effects use EFFs targeted at MAGE (class.ids), but that includes sorcerers. Sorcerer kits, including dragon disciple, won't get them, however, because the abilities from this component aren't added to their tables, by design. There's some bugginess in BG2EE as well. If starting a new game in SoA with a single class mage or sorcerer, you won't get minor sequencer. If starting a new game in ToB, you get only Contingency and Chain Contingency (once you get level 9 spells). Edited January 14 by Dan_P Quote Link to comment
jmerry Posted January 13 Share Posted January 13 So, a bit more in-depth on how this works. The file for the innate sequencers tweaks those spells, builds the "grant ability" spell, and then adds them to the ability tables with this: // apply the wraps to the CLAB files kit.edit_all[mage|clab_only:i=1] [ k.kit_apply_powers{%string_mage%} ] kit.edit_all[bard|clab_only:i=1] [ k.kit_apply_powers{%string_bard%} ] All mage kits and all bard kits, including CLABMA01 and CLABBA01 which apply to the "base class" version. And here's the old version: // patch innates into kits and update the class text to describe the new innate powers // mages OUTER_SPRINT seq_desc_string @1000 LAF edit_all_kits STR_VAR parent_class=mage editstring="%kit_edit_mage% patch_description_strref=>seq_desc" END ACTION_IF enhanced_edition BEGIN LAF edit_kit STR_VAR kit=dragon_disciple editstring="%kit_edit_mage% patch_description_strref=>seq_desc" END END // bards OUTER_SPRINT seq_desc_string @1001 ACTION_IF VARIABLE_IS_SET $spell_level_to_caster_level("bard" "7") BEGIN OUTER_SPRINT temp @1002 OUTER_SPRINT seq_desc_string "%seq_desc_string%%temp%" END ACTION_IF VARIABLE_IS_SET $spell_level_to_caster_level("bard" "8") BEGIN OUTER_SPRINT temp @1003 OUTER_SPRINT seq_desc_string "%seq_desc_string%%temp%" END LAF edit_all_kits STR_VAR parent_class=bard editstring="%kit_edit_bard% patch_description_strref=>seq_desc" END Basically the same, except that it also specifically calls out dragon disciples. Any sorcerer kits added by other mods are out of luck. So, what's up with sorcerers, and what's new? Well, unkitted sorcerers use the same ability table as unkitted mages. They're going to get the abilities regardless. But sorcerer kits aren't picked up by the call for all mage kits, so they get skipped. The Dragon Disciple is the only one in vanilla, but now ToF adds a bunch more sorcerer kits that should be supported. It looks like just adding another kit.edit_all call for sorcerer kits should work. Unless that doubles up on CLABMA01 - testing recommended. Quote Link to comment
Delior Posted January 14 Share Posted January 14 I believe this was deliberate on David's part based on this snippet from the SCS readme: "As of v35, this tweak does not affect Sorcerers." Quote Link to comment
jmerry Posted January 14 Share Posted January 14 Ah. And that's implemented in how the applicator spell is built; it filters using opcode 177 so that only mages (including multiclass) and bards actually get the innate. Unkitted sorcerers have the applicator spell in their ability table, but it does nothing for them. So actually, you'd have to change more than just the code I quoted above if you wished to extend this tweak to sorcerers. Verdict: deliberate change working as intended, nothing to see here. Quote Link to comment
DavidW Posted January 14 Share Posted January 14 Yes, it's intentional. Sorcerers have to use a spell slot to learn a sequencer, so this is a big boost for them, more than I intended for what's basically a QoL tweak. Quote Link to comment
jmerry Posted January 14 Share Posted January 14 Except now, with the v35 version of this tweak, sorcerers can't use sequencers and contingencies at all - the spells are hidden and can't be taken with a spell slot. Which is a substantial penalty for them. Can't have it fair either way. Quote Link to comment
Delior Posted January 14 Share Posted January 14 Oh dear, I'm glad I wasn't too far along with my current Dragon Disciple playthrough. Quote Link to comment
jmerry Posted January 15 Share Posted January 15 (edited) On 1/13/2024 at 12:23 PM, Dan_P said: There's some bugginess in BG2EE as well. If starting a new game in SoA with a single class mage or sorcerer, you won't get minor sequencer. If starting a new game in ToB, you get only Contingency and Chain Contingency (once you get level 9 spells). Looks like the current version of things doesn't work for levels taken during the character creation process. I'm not sure why; abilities associated with those levels should just be applied when you enter the game. But that's what it is. Anyway, what's different about the actual spells here from older versions? - The applicator now removes its ability before applying it. This prevents multiple instances of a given sequencer/contingency stacking up when an NPC leaves the party and returns. - There is now a "wrap" layer which filters through a class check. This was clearly added in an attempt to exclude (unkitted) sorcerers, but doesn't actually do that because sorcerers apparently count as mages. Does removing that wrap layer fix this bug? It should be testable in a game with the component already installed by replacing instances of dwsqwr (the wrap spells) with dwsqds (the applicator spells) in the kit CLABs. [Disclaimer: I do not currently have any instances of the games with SCS installed] Edited January 15 by jmerry Quote Link to comment
InKal Posted January 15 Share Posted January 15 On 1/14/2024 at 7:31 AM, jmerry said: Except now, with the v35 version of this tweak, sorcerers can't use sequencers and contingencies at all - the spells are hidden and can't be taken with a spell slot. Which is a substantial penalty for them. Can't have it fair either way. Erghh...what? Sorc can't use sequencers??? but it is not an issue? Quote Link to comment
DavidW Posted January 15 Share Posted January 15 On 1/14/2024 at 1:31 AM, jmerry said: Except now, with the v35 version of this tweak, sorcerers can't use sequencers and contingencies at all - the spells are hidden and can't be taken with a spell slot. Which is a substantial penalty for them. Oh, that was dumb. Will fix. Quote Link to comment
subtledoctor Posted January 15 Share Posted January 15 On 1/14/2024 at 1:31 AM, jmerry said: Except now, with the v35 version of this tweak, sorcerers can't use sequencers and contingencies at all - the spells are hidden and can't be taken with a spell slot. Which is a substantial penalty for them. Can't have it fair either way. Honestly this doesn’t offend me. Sorcerers have such an immense advantage in having more and more flexible spell slots, it seems a reasonable trade-off for mages to use clever metamagic tricks like spell-storing sequencers and time-shifted contingencies. Quote Link to comment
DavidW Posted January 15 Share Posted January 15 10 minutes ago, subtledoctor said: Honestly this doesn’t offend me. Sorcerers have such an immense advantage in having more and more flexible spell slots, it seems a reasonable trade-off for mages to use clever metamagic tricks like spell-storing sequencers and time-shifted contingencies. Whether or not that's right, it wasn't intentional - I just messed up and forgot about it. Thinking about it, there is a residual implementation issue, in that ideally mages wouldn't have access to triggers/contingencies on level-up, but sorcerers would. I don't know a way to do that without ToF's UI system though. Quote Link to comment
DavidW Posted January 20 Share Posted January 20 OK, I think this is all addressed locally now. It is surprisingly difficult to give a level-up ability to mages but not to sorcerers in a way that works on oBG2 as well as EE. 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.