Jump to content

SR Revised V1.3.900 (2022 August 8th)


Recommended Posts

Thank you for considering it. I have a chip on my shoulder regarding dispel/remove magic and general mage chess battles and I'm trying to fix it before I finish my next install.

Speaking of suggestions, I have another one. Would it be possible for Dispelling Screen to instead of disappearing when you cast dispel/remove magic and canceling it out to instead provide a couple levels of advantage against the dispel check?

Example, I'm a level 10 sorcerer that casted shield and dispelling screen on myself. A level 20 npc mage casts dispel magic on me. Instead of the check being level 10 buffs vs level 20 dispel for a 75% chance of success (if i understand the effect correctly) dispelling screen could provide a bonus of... let's say 5 levels so it would be 15 level buffs vs level 20 dispel for a 50% chance of success (again if i understand correctly).

My one annoyance with scs and srr is that at higher levels enemies throw dispels so frequently and fast, specially with sequencers that dispelling screen barely feels like it does much at all but I also don't think the entire party should be easily able to become immune to it either.

Edited by NdranC
Link to comment
1 hour ago, NdranC said:

Thank you for considering it. I have a chip on my shoulder regarding dispel/remove magic and general mage chess battles and I'm trying to fix it before I finish my next install.

Speaking of suggestions, I have another one. Would it be possible for Dispelling Screen to instead of disappearing when you cast dispel/remove magic and canceling it out to instead provide a couple levels of advantage against the dispel check?

Example, I'm a level 10 sorcerer that casted shield and dispelling screen on myself. A level 20 npc mage casts dispel magic on me. Instead of the check being level 10 buffs vs level 20 dispel for a 75% chance of success (if i understand the effect correctly) dispelling screen could provide a bonus of... let's say 5 levels so it would be 15 level buffs vs level 20 dispel for a 50% chance of success (again if i understand correctly).

My one annoyance with scs and srr is that at higher levels enemies throw dispels so frequently and fast, specially with sequencers that dispelling screen barely feels like it does much at all but I also don't think the entire party should be easily able to become immune to it either.

I don't think that idea is possible, but I don't know for sure. The only remotely close thing I can think of in implementation is @subtledoctor's Protection from Petrification evasion tweak, which grants two saving throws against petrification which could theoretically be used for Dispel/Remove Magic here as well...but I think you'd have to use a saving throw version of Dispel/Remove Magic for that to even work. I don't know how you would work such an idea with the default level mechanic of Dispel Magic.

Edited by Bartimaeus
Link to comment
52 minutes ago, Bartimaeus said:

I don't think that idea is possible, but I don't know for sure. The only remotely close thing I can think of in implementation is @subtledoctor's Protection from Petrification evasion tweak, which grants two saving throws against petrification which could theoretically be used for Dispel/Remove Magic here as well...but I think you'd have to use a saving throw version of Dispel/Remove Magic for that to even work. I don't know how you would work such an idea with the default level mechanic of Dispel Magic.

I figured. I was hopping maybe there could be a way to change the caster level for a buff on the moment of casting if the caster or the recipient is under the effects of Dispelling Screen or something like that. Oh well.

Speaking of which, does gear or effects that increase caster level affect dispel/remove magic's calculation? I've been assuming that it does.

EDIT: Actually, a couple more questions. What is the rational for breach going through mantle but not Fire Shield and Acid Sheath?

I noticed Acid Sheath buff is still called Blue Fire Shield and Prismatic Mantle is called Mantle. Is this an engine limitation?

Edited by NdranC
Link to comment
9 hours ago, NdranC said:

Speaking of which, does gear or effects that increase caster level affect dispel/remove magic's calculation? I've been assuming that it does.

Apparently, it does...both ways, too. I didn't think it would, but I dispelled Jan Jansen successfully six times in a row...and then I put on him a ring of +20 caster level, and suddenly the next six didn't work. That actually probably makes your idea of having Dispelling Screen increase your effective level against dispelling possible albeit not easy to implement. Some sort of conditional duration 0 caster level increase applied by Dispel Magic when it hits you that dissipates right after.

9 hours ago, NdranC said:

I noticed Acid Sheath buff is still called Blue Fire Shield and Prismatic Mantle is called Mantle. Is this an engine limitation?

The former gets updated in oBG2, but the string location must be different for EE games since it doesn't get updated there. For the latter, I don't think anybody thought to bother.

10 hours ago, NdranC said:

EDIT: Actually, a couple more questions. What is the rational for breach going through mantle but not Fire Shield and Acid Sheath?

Interestingly, without SR, the Fire Shields are actually "Specific Protections", so they do get dispelled by Breach. Although I can see the argument that they don't directly protect the caster, I think I would've left them as breachable myself.

Link to comment
10 hours ago, Bartimaeus said:

Interestingly, without SR, the Fire Shields are actually "Specific Protections", so they do get dispelled by Breach. Although I can see the argument that they don't directly protect the caster, I think I would've left them as breachable myself.

Would you consider adding an optional setting for this?

Link to comment
15 minutes ago, NdranC said:

Would you consider adding an optional setting for this?

More importantly, what I wish to know is whether SCS is aware that Fire Shield/Acid Sheath are not breachable when SR is installed. If it is not, I would just set them back to breachable...but if it is, then no, because I'm not a fan of optional tweaks like this that introduce broken/sub-optimal behavior in ways that the player cannot reasonably expect when they enable an optional tweak like this. This reminds me that I never figured out if SCS AI can use targetable Chant or not...sigh. That's another thing that if I knew the answer, I might remove entirely if it doesn't work how I'd like.

Edited by Bartimaeus
Link to comment

On fire shield spell names in the EE ...

Fire Shield (Blue) is #12061 in BG2EE. Fireshield (Blue) is #25700 in BGEE (with or without SoD).

Fire Shield (Red) is #25880 in BG2EE. Fireshield (Red) is #26326 in BGEE (with or without SoD).

The spells were added to the BG1 campaign for the EE, which meant new strings were needed. Hence, new numbers. And they weren't even consistent on how to spell the (English) names. (I just went down a rabbit hole chasing down all the mentions of "Fireshield" or "Fire Shield" to report to the EE Fixpack - pretty sure one word is the current standard here, especially since the spell descriptions use it that way in both BGEE and BG2EE.)

... I do wonder just what design you're using here that the string numbers matter. A conventional SAY operation on the SPL files wouldn't care, after all.

Edited by jmerry
Link to comment
1 hour ago, jmerry said:

On fire shield spell names in the EE ...

Fire Shield (Blue) is #12061 in BG2EE. Fireshield (Blue) is #25700 in BGEE (with or without SoD).

Fire Shield (Red) is #25880 in BG2EE. Fireshield (Red) is #26326 in BGEE (with or without SoD).

The spells were added to the BG1 campaign for the EE, which meant new strings were needed. Hence, new numbers. And they weren't even consistent on how to spell the (English) names. (I just went down a rabbit hole chasing down all the mentions of "Fireshield" or "Fire Shield" to report to the EE Fixpack - pretty sure one word is the current standard here, especially since the spell descriptions use it that way in both BGEE and BG2EE.)

... I do wonder just what design you're using here that the string numbers matter. A conventional SAY operation on the SPL files wouldn't care, after all.

This is more or less how SR does it:

STRING_SET ~13070~ @565 // Change portrait icon from Fire Shield (Blue) to Acid Sheath

Just a straight override of the currently existing string in dialog.tlk. At least, this is how SR usually does it, but this particular one is disabled in the base SR package...probably because somebody noticed it didn't work right for the EE games and didn't want 13070, whatever it happens to be in the EE games, to be overwritten with "Mestil's Acid Sheath". But you see, I am lord king of the bozos, so I re-enabled it...though I was wise enough to at least put a check around it.

ACTION_IF (GAME_IS ~bg2 tob bgt bg2ee eet~ AND NOT GAME_IS ~tutu tutu_totsc bgee~) BEGIN
  STRING_SET ~13070~ @565 // Change portrait icon from Fire Shield (Blue) to Acid Sheath
END

BG2 and BG2EE strings typically match up, so I suppose I didn't think to actually check BG2EE before I re-enabled it, and I never bothered to go figure out what BG1EE's string was. Lord king of the bozos indeed. Thank you!

Edited by Bartimaeus
Link to comment

... Right, scroll names and portrait icons. "Fireshield (Blue)" as a scroll is #30196 in BGEE and #13070 in BG2EE. "Fireshield (Red)" as a scroll is #30224 in BGEE and #5018 in BG2EE. "Fire Shield Blue" as a portrait icon is #25059 in BGEE and #8279 in BG2EE. "Fire Shield Red" as a portrait icon is #25058 in BGEE and #8277 in BGEE. (The portrait icon strings are entries in STATDESC.2DA)

Six different string numbers for each fireshield spell: BGEE spell names, BG2EE spell names, BGEE scroll names, BG2EE scroll names, BGEE portrait icon names, BG2EE portrait icon names. Plus three numbers for the descriptions; duplicated spell and scroll descriptions in BGEE, same string for both descriptions in BG2EE.

And some of these string's might get referenced elsewhere as well; both SoD and BG2EE have items with abilities that cast a red fireshield, so there are entries in TOOLTIP.2DA that use the spell's name.

String #13070 in BGEE is "Fire Shield" and I'm pretty sure it's completely unused. No references found by Near Infinity.

Link to comment
45 minutes ago, jmerry said:

... Right, scroll names and portrait icons. "Fireshield (Blue)" as a scroll is #30196 in BGEE and #13070 in BG2EE. "Fireshield (Red)" as a scroll is #30224 in BGEE and #5018 in BG2EE. "Fire Shield Blue" as a portrait icon is #25059 in BGEE and #8279 in BG2EE. "Fire Shield Red" as a portrait icon is #25058 in BGEE and #8277 in BGEE. (The portrait icon strings are entries in STATDESC.2DA)

Six different string numbers for each fireshield spell: BGEE spell names, BG2EE spell names, BGEE scroll names, BG2EE scroll names, BGEE portrait icon names, BG2EE portrait icon names. Plus three numbers for the descriptions; duplicated spell and scroll descriptions in BGEE, same string for both descriptions in BG2EE.

And some of these string's might get referenced elsewhere as well; both SoD and BG2EE have items with abilities that cast a red fireshield, so there are entries in TOOLTIP.2DA that use the spell's name.

String #13070 in BGEE is "Fire Shield" and I'm pretty sure it's completely unused. No references found by Near Infinity.

My gosh, I'm so sorry, and thank you so much. What's the best way to be doing these look-ups for portrait icon strings so somebody doesn't have to pester you or someone else to figure these out?

Link to comment

The main tool I used? Near Infinity's search features. Open up the "StringRef" panel from the search menu. You can input a number directly if you already know what string you're looking for, or search the strings for any that contain a bit of text - in my case, that was searches "Fire Shield" and "Fireshield". Once you have a string you're interested in, you can search for references to it with the "Find References" button. By default, it searches all file types. So, for example, if I ran that search for string #13070 in BG2EE, I'd find exactly one reference to it - SCRL1W. Or if that's #8279 I search for, I get two references - PROST5.DLG and STATDESC.2DA. The former is an obvious false positive; one of those garbled dialogue files copied over from BG1 (Specifically, a generic courtesan from the Undercellar). The latter is the meaningful one, and the entries in STATDESC.2DA correspond to the elements of STATES.BAM; that 2DA is the key that associates names to portrait icons.

I just forgot that separate strings for other stuff like scrolls and portrait icons might be a thing with my first post on this; correcting that oversight was what my "... Right" was about.

Link to comment

Minor issue I noticed after the latest install. Blindness is fixed but it's still installing with the old bg description instead of the bgee one. All the other spells are correct.

5 hours ago, Bartimaeus said:

More importantly, what I wish to know is whether SCS is aware that Fire Shield/Acid Sheath are not breachable when SR is installed. If it is not, I would just set them back to breachable...but if it is, then no, because I'm not a fan of optional tweaks like this that introduce broken/sub-optimal behavior in ways that the player cannot reasonably expect when they enable an optional tweak like this. This reminds me that I never figured out if SCS AI can use targetable Chant or not...sigh. That's another thing that if I knew the answer, I might remove entirely if it doesn't work how I'd like.

I agree completely. Ultimately it's better to make sure the mod remains as compatible as you can with SCS. That reminds me, I know in base SCS anti-magic spells are changed so that you are able to target people under improved invisibility for both npcs and players. I know as a player under SRR I can't do this anymore unless I use the optional setting, does it apply to npcs as well? In other words do npcs by default under scs+srr know and use a different version of antimagic spells that allows to bypass improved invisibility?

Link to comment

The targeting change for spell-breakers is a simple change in the spell's flags. Which was also applied to the unmodded game in patch 2.6, so SCS no longer needs to do anything in the latest version of the game.

The same rules apply to the AI as the player here. The vanilla mage AIs mostly just use See() checks with no special handling for improved invisibility, so they would handle the updated targeting just fine. SCS has a "SRDetectInvisible" clause in its blocks for using spell-breakers, which ... if SR is present, this gets added to the conditions:

     OR(3)
        CheckSpellState(Myself,DETECT_INVISIBILITY)
        CheckStatGT(Myself,0,TRUE_SIGHT)
        !StateCheck(scstarget,STATE_IMPROVEDINVISIBILITY)

I'm not sure on the exact details for how that switch is done, but it's one of a bunch of replacements that get made all with the same conditions; it doesn't appear to be aware of any optional component on the SR side. Looks like AI mages with SCS/SR will behave as if the standard SR targeting rules are in place, even if they aren't due to an optional component. If you want that optional component to be reflected in mage AI, you'll need an update on the SCS side.

Link to comment
8 hours ago, NdranC said:

Minor issue I noticed after the latest install. Blindness is fixed but it's still installing with the old bg description instead of the bgee one. All the other spells are correct.

Meaning, it says a -10 penalty instead of a -4 penalty? I just simplified its installation, which should hopefully fix the issue.

8 hours ago, NdranC said:

I agree completely. Ultimately it's better to make sure the mod remains as compatible as you can with SCS. That reminds me, I know in base SCS anti-magic spells are changed so that you are able to target people under improved invisibility for both npcs and players. I know as a player under SRR I can't do this anymore unless I use the optional setting, does it apply to npcs as well? In other words do npcs by default under scs+srr know and use a different version of antimagic spells that allows to bypass improved invisibility?

4 hours ago, jmerry said:

The targeting change for spell-breakers is a simple change in the spell's flags. Which was also applied to the unmodded game in patch 2.6, so SCS no longer needs to do anything in the latest version of the game.

The same rules apply to the AI as the player here. The vanilla mage AIs mostly just use See() checks with no special handling for improved invisibility, so they would handle the updated targeting just fine. SCS has a "SRDetectInvisible" clause in its blocks for using spell-breakers, which ... if SR is present, this gets added to the conditions:

     OR(3)
        CheckSpellState(Myself,DETECT_INVISIBILITY)
        CheckStatGT(Myself,0,TRUE_SIGHT)
        !StateCheck(scstarget,STATE_IMPROVEDINVISIBILITY)

I'm not sure on the exact details for how that switch is done, but it's one of a bunch of replacements that get made all with the same conditions; it doesn't appear to be aware of any optional component on the SR side. Looks like AI mages with SCS/SR will behave as if the standard SR targeting rules are in place, even if they aren't due to an optional component. If you want that optional component to be reflected in mage AI, you'll need an update on the SCS side.

The last time I tested, which was not v34 of SCS but maybe v33, SCS seemed to mostly work with SR's Improved Invisibility / Non-Detection / Detect Invisibility setup...but it could act goofy and do things in not quite the right order. I don't think SCS would have any way to determine whether or not that tweak, which is disabled by default for a reason, is enabled. However, that particular tweak is actually intended to just be a mild cheat for players who just want the whole problem simplified and be able to cast anti-magic spells without restriction like they could in the past - it was basically an option I added by 'popular demand' as a result of the number of players very frustrated with the improved invisibility mechanics over the years, so I am okay if SCS does not adjust its behavior any for it.

8 hours ago, jmerry said:

The main tool I used? Near Infinity's search features. Open up the "StringRef" panel from the search menu. You can input a number directly if you already know what string you're looking for, or search the strings for any that contain a bit of text - in my case, that was searches "Fire Shield" and "Fireshield". Once you have a string you're interested in, you can search for references to it with the "Find References" button. By default, it searches all file types. So, for example, if I ran that search for string #13070 in BG2EE, I'd find exactly one reference to it - SCRL1W. Or if that's #8279 I search for, I get two references - PROST5.DLG and STATDESC.2DA. The former is an obvious false positive; one of those garbled dialogue files copied over from BG1 (Specifically, a generic courtesan from the Undercellar). The latter is the meaningful one, and the entries in STATDESC.2DA correspond to the elements of STATES.BAM; that 2DA is the key that associates names to portrait icons.

I just forgot that separate strings for other stuff like scrolls and portrait icons might be a thing with my first post on this; correcting that oversight was what my "... Right" was about.

Alrighty, thank you! I think there are a few other spells in SR/R that could use some correction...

Edited by Bartimaeus
Link to comment
11 minutes ago, Bartimaeus said:

Meaning, it says a -10 penalty instead of a -4 penalty? I just simplified its installation, which should hopefully fix the issue.

Oh sorry, I should've been clearer. The description is correct, but the style of the description is wrong. It's using "School: Illusion" instead of Blindness (Illusion) like all the other bgee spells.

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...