Jump to content

Sword Coast Stratagems v34 (edit: 34.3) now available


Recommended Posts

I planned for it; it must have been an edit to the base stats. The only buff it used that altered fire resistance was that Aura of Flaming Death at the start of the battle. I don't have that modded install anymore, though, so all I can do to figure out what was happening is to dig through the code. Oh, all right, another try ...

Ah. I think I see it.

From the SCS fiend component, a function that standardizes fiend stats:

Spoiler
DEFINE_PATCH_FUNCTION fiend_general
STR_VAR arguments="" BEGIN
   SET tanarri=0
   SET baatezu=0
   SET spellcaster=0
   WHILE "%arguments%" STRING_COMPARE "" BEGIN
      LPF return_first_entry STR_VAR list="%arguments%" RET entry arguments=list END
      SET "%entry%"=1
   END
   PATCH_MAKE_PATCH
      strip_scs_scripts=>"if spellcaster then no_change else null"
      strip_script=>wtasight
      delete_effect=>~opcode=193~
      add_effect_inline=>~opcode=>193 parameter2=>1~
      class=>"if enhanced_edition then no_change else FIGHTER_MAGE_CLERIC"
      delete_opcodes=>~16 292~
      immunity_to_opcode=>25 // poison immunity
      add_effect_inline''=>~opcode=>173 parameter1=>100~
   END
   TO_LOWER arguments
   PATCH_IF tanarri BEGIN
      SPRINT $patch_data(~resist_fire~) 50
      SPRINT $patch_data(~immunity~) electricity
      SPRINT $patch_data(~resist_cold~) 50
      SPRINT $patch_data(~resist_acid~) 0
      SPRINT $patch_data(~alignment~) CHAOTIC_EVIL

   END
   PATCH_IF baatezu BEGIN
      SPRINT $patch_data(~immunity~) fire
      SPRINT $patch_data(~resist_cold~) 50
      SPRINT $patch_data(~resist_acid~) 50
      SPRINT $patch_data(~alignment~) LAWFUL_EVIL
   END
   LPF apply_patches STR_VAR filename file_ext=CRE edits=patch_data END
END

 

The key there is that tanarri, in general, get their base fire resistance set to 50%. (This function is defined in fiend_shared.tph)

Then a bunch of functions for each type get defined that call this, and make further edits to the creature afterward. Further adjusting stats is an option, and balors get fire immunity here. Demogorgon is a one-off, so it doesn't get one of those functions of its own. Instead, it gets this innocuous-looking block:

Spoiler
     MAKE_PATCH
        fiend_general=>tanarri
        level_all=>30
     END
     LAF edit_creature STR_VAR creature=demogor2 edits=patch_data END

 

So, the edits this makes to Demogorgon:

Remove invisibility detection, then add it back in. Remove backstab immunity. Add redundant poison damage immunity. Set fire resist to 50 (formerly 100). Set other elemental resistances to what they already were. Set level to 30/30/30 (formerly 25/1/1). And with no further changes to fire resistance made, Demogorgon downgrades from fire immunity to 50% fire resistance.

Quite a few demons get downgraded from fire immunity to 50% fire resistance here. Balors are about the only ones that get their fire immunity back. Definitely intentional in most cases, and it feels intentional for Demogorgon too. Recall that scripting for AoFD; balors get a custom fire shield that doesn't affect their resistances, but Demogorgon gets the actual priest spell with its "set to 90" effect.

Edited by jmerry
Link to comment
5 hours ago, jmerry said:

Balors are about the only ones that get their fire immunity back. Definitely intentional in most cases, and it feels intentional for Demogorgon too. Recall that scripting for AoFD; balors get a custom fire shield that doesn't affect their resistances, but Demogorgon gets the actual priest spell with its "set to 90" effect.

For what it's worth this is one of SCS's nods to PnP-ization/ Demons (not devils) should take half damage from magical fire, none from electricity. Devils are fireproof and lightning vulnerable. Both take half damage from cold. Exceptions are Balors and Succubi who are supposed to be completely immune to fire. Mind flayers are also stripped by SCS of their elemental resistance, which they shouldn't have had.

As for the wiki entry, it's inaccurate, but what's new? Wiki also states monsters without proficiency in their weapon take a penalty to their attack and damage rolls (in game, only attack rolls, and only if they have a character class, there never was a damage penalty at all).

However, with SCS, Succubi are now fire vulnerable, which is contrary to both the vanilla game and AD&D rules, as for the "fireshield feedback" exploit with Aura of Flaming Death, obviously in need of a fix, but it's not really an SCS problem, present in vanilla.

Link to comment
5 hours ago, polytope said:

...as for the "fireshield feedback" exploit with Aura of Flaming Death, obviously in need of a fix...

The playthrough I was referring to happened back in 2.5, so now fireshield/fireshield loops. What was happening:

- My front line includes two high-level druids in fire elemental form with AoFD active. They're immune to fire and poison, but not disease.

- Demogorgon hits them, inflicting a disease effect that deals poison damage every second.

- The poison damage is reduced to zero, but every time it ticks triggers retaliation from AoFD as long as we're in melee range.

Link to comment
On 2/26/2023 at 9:03 PM, jmerry said:

Recommended action: either set that secondary type to "none" so that no defenses other than damage resistance work on it,

Beautiful, exactly what I was hoping for and it works. Thanks a lot for this.

On 2/26/2023 at 9:03 PM, jmerry said:

First, my component on antimagic rays and Spell Shield: it's a very limited thing, focused on that one interaction alone. Change the rays so they use up the spell shield when they hit. Or, in the option I included but don't prefer, change the rays so they don't interact with the spell shield at all. (Of course, there are also lots of other components, some of which you might like)

I'll definitely get the spell shield component and a few others from your mod, thanks!

Quote

Quite a few demons get downgraded from fire immunity to 50% fire resistance here. Balors are about the only ones that get their fire immunity back. Definitely intentional in most cases, and it feels intentional for Demogorgon too.

Sad to hear this. I'll definitely be bumping this back up to 100 for Demogorgon, but as for the rest I really can't be bothered. Way too many creature files.

 

17 hours ago, polytope said:

Mind flayers are also stripped by SCS of their elemental resistance, which they shouldn't have had.

Wow I had no idea they used to be immune to all elements in the base game. Now I feel dirty about my standard tactic of fighting mindflayers under a firestorm shower. Immunity to elements with 90% magic resistance may have been overboard, but just stripping all elemental resistance to 0 is as well.

 

 

 

 

Edited by boof
Link to comment
3 hours ago, boof said:

Wow I had no idea they used to be immune to all elements in the base game. Now I feel dirty about my standard tactic of fighting mindflayers under a firestorm shower. Immunity to elements with 90% magic resistance may have been overboard, but just stripping all elemental resistance to 0 is as well.

Not all of them were, vampiric mindflayers and ulitharids were always vulnerable to elemental damage, but regular mindflayers were immune. It makes little sense since ulitharids are supposed to be the more powerful, and the vampiric ones at least should have had a regular vampire's 50% resistance to cold and electricity.

There are btb some psionic powers (Energy Control, Inertial Barrier - only the 2nd was implemented, but still unused) that a mindflayer could use to make themselves temporarily resistant to elemental damage, which seems better than just coding it into their creature files, because there's nothing about these psychic squidy critters that suggests they're supposed to be inherently immune to such damage types, they're flesh and blood, not constructs or something like that.

15 hours ago, jmerry said:

The playthrough I was referring to happened back in 2.5, so now fireshield/fireshield loops. What was happening:

- My front line includes two high-level druids in fire elemental form with AoFD active. They're immune to fire and poison, but not disease.

- Demogorgon hits them, inflicting a disease effect that deals poison damage every second.

- The poison damage is reduced to zero, but every time it ticks triggers retaliation from AoFD as long as we're in melee range.

It's still an undesirable bug that the damage tick from poison, bleeding or disease activates a Fireshield, since that's obviously not how it should work.

I'd think it should be retaliation per attack, so, while a high level fighter using Whirlwind would damage themself more quickly swinging at a fireshield I don't see the logic in taking a worse scorching from a fireshield if they used a poisoned weapon...

Link to comment
2 hours ago, polytope said:

There are btb some psionic powers (Energy Control, Inertial Barrier - only the 2nd was implemented, but still unused) that a mindflayer could use to make themselves temporarily resistant to elemental damage, which seems better than just coding it into their creature files, because there's nothing about these psychic squidy critters that suggests they're supposed to be inherently immune to such damage types

Well, from the point of view of encounter design, if any sensible illithid facing spellcasting adventurers would naturally use Energy Control… and if that ability is completely undispellable by any tool available to the adventurers… then not much difference in just applying the benefits directly to the creature.

Link to comment
19 hours ago, subtledoctor said:

Well, from the point of view of encounter design, if any sensible illithid facing spellcasting adventurers would naturally use Energy Control… and if that ability is completely undispellable by any tool available to the adventurers… then not much difference in just applying the benefits directly to the creature.

Psionics underwent several revision in 2nd edition, but strictly BtB Energy Containment - not Energy Control, I misnamed it - is not a durational power which the psionicist pays PSPs round by round to maintain, like the less comprehensive Inertial Barrier, it's something you need to activate in the same round you want it (locking out the use of other psionic powers that round), prep time of zero though, not even one, so can be used instantly if the psionic character or creature lost initiative or perhaps even if they were surprised.

That's putting aside the successful power check needed to activate it, I think most players agreed that the system of power checks in the original Complete Psionics Handbook was bad, and use one of the alternatives if they want psionics.

Mind flayers could certainly activate Energy Containment - to be on the safe side - in rounds when they couldn't find anything vulnerable to their other mental attacks (Blast, Domination etc.) or any unprotected low hp target to nail with Detonate or Ballistic Attack.

Link to comment

I'm doing a new install of SCS, and am looking at toying around with some of the pre-install variables in the various .2da/tph/ini files. My understanding of this stuff is pretty minimal to non-existent, so I'd appreciate if someone could confirm a couple of things for me.

1. I'm interested in removing a spell or two from casters' prebuffs. For this example, it's Circle of Bones . Would simply removing each line that contains circle_of_bones do the trick? Or replace it with another null? Or is it likely to break something?

2. On a similar note, I'd like to remove some god awful offensive spells. Specifically Mordenkainen's Force Blade, as the AI has absolutely no clue how to utilize that spell, and will often cast it repeatedly. Will simply deleting it from the pool do the trick, and result in the mod filling the mages' books out with spells that remain? Or will a script from somewhere else still end up instructing the caster to use the spell?

3. I believe the readme stated that adding spells to the pool of spells the mod draws from (from the spellchoices .2da files) when distributing them upon install will not result in those spells being used. Does this also apply to HLAs? For example, I'd like to add a planetar for invokers into the pool of HLAs . Will simply adding it to the end of each line not do the trick? I'd like nearly every high level mage to have one, and not get "lucky" by having my install get populated by invokers.

4. Priests in the game are generally lackluster. You almost never see a deva get summoned or really any other priestly HLA, even though the pool of HLAs has it all. My guess is that priests are just generally too low level and not as numerous as high level mages. I'm considering using the variables to add levels to priests, or scale them by a percentage.
Do you guys think that would be a good idea, and if so, what would you say a reasonable boost would be? I don't want to be getting imploded and deva'd on every time I see a priest, but it would be nice to occasionally see it, especially in SoA.
Related to that, how would this affect cleric multiclass npcs?  Probably not a hell of a lot of those in the game, but I do know that Sendai is one. Would her priest level simply disproportionately be raised, or would it potentially break the character?

Thanks in advance for any advice/info.

Edited by boof
Link to comment

Well, one place to start on how much to scale priests by ... Stalman, from the Guarded Compound group, has the flag to get HLAs. But he's only level 16, so he can't. Level 22 is the minimum required for cleric HLAs, so enabling him would be at least a 40% boost.

Druids, with their wonky level curve, really shouldn't be changed. Best keep that boost cleric-only.

In order for the SCS AI to use a new spell, you need to both add it to the appropriate spell choice file (hla-choices, spellchoices, spellchoices-defensive) so the caster memorizes it and to the appropriate files in the ssl folder so the caster has blocks to use it. The hla and spellchoices files are simple 2das you can append to, while spellchoices-defensive and ssl are code. Or maybe you outright create new files in the ssl folder and modify the script creation code to use them, but that's even more complex.

Link to comment
15 hours ago, jmerry said:

Well, one place to start on how much to scale priests by ... Stalman, from the Guarded Compound group, has the flag to get HLAs. But he's only level 16, so he can't. Level 22 is the minimum required for cleric HLAs, so enabling him would be at least a 40% boost.

Druids, with their wonky level curve, really shouldn't be changed. Best keep that boost cleric-only.

In order for the SCS AI to use a new spell, you need to both add it to the appropriate spell choice file (hla-choices, spellchoices, spellchoices-defensive) so the caster memorizes it and to the appropriate files in the ssl folder so the caster has blocks to use it. The hla and spellchoices files are simple 2das you can append to, while spellchoices-defensive and ssl are code. Or maybe you outright create new files in the ssl folder and modify the script creation code to use them, but that's even more complex.

Going by Stalman, and some other clerics in the Underdark, I think a flat 6 level increase would probably be fine. This would probably bump most clerics out of the level range where they would use circle of bones, so that problem might solve itself, though I would still like to remove that spell for good from everyone.

So just to be clear, if I add a planetar to hlas for invoker type mages, that won't be be enough for them to use it? What else do I need to do exactly?

Edited by boof
Link to comment

A flat 6-level increase? How do you feel about a level 11 Mulahey? Or in BG2, a level 16 "Priest of Cyric" in the slaver ship? Or a level 14 "Bandit" in one of those random chapter 2 ambushes.

Always check more than one point of calibration. Flat boosts run the risk of being like LoB and coming out ridiculously punishing in the early game.

As for what you'd need to do to add a spell and have it be used, I thought I spelled it out. You add it to the tables so it can be memorized, you write script blocks so it can be used (in ssl shorthand), and you add those blocks to the files used to build spellcaster scripts. Which, fundamentally, requires understanding that process. I sort of do, but I don't think I trust myself to pull the whole thing off. If I did, I'd be tempted to add True Seeing to the priest lists.

Link to comment
1 hour ago, boof said:

Going by Stalman, and some other clerics in the Underdark, I think a flat 6 level increase would probably be fine.

Beware of doing this for druids, they get HLAs at 15th level, but attain level 9 at only 90,000 xp, so expect to see multiple Quest Level spells thrown by those groups of enemy druids in the grove in early BG2, I think druids would need to be handled on a case by case basis by editing the stratagems->priest->override->bg1(bg2) level.2da files... adding an exception of set level for their creature file names, although someone else will probably suggest a cleaner way of doing it, just the first thing that occurred to me.

24 minutes ago, jmerry said:

How do you feel about a level 11 Mulahey?

Bassilus was about that level in earlier versions, but yeah it's too much.

30 minutes ago, jmerry said:

Or in BG2, a level 16 "Priest of Cyric" in the slaver ship?

This would be fine by me actually, that battle is still a bit lackluster and there are so few encounters where a priest rather than accompanying mages is the highest level or most threatening enemy.

Link to comment
2 hours ago, jmerry said:

A flat 6-level increase? How do you feel about a level 11 Mulahey? Or in BG2, a level 16 "Priest of Cyric" in the slaver ship? Or a level 14 "Bandit" in one of those random chapter 2 ambushes.

This was going to strictly be for bg2, and the rest of that I would've had to play and see how bad it would be. I suppose an unholy blight or flame strike by one of them at that stage would kinda hurt.
No matter though, I forgot that this change would affect druids, and that's a headache I can do without, so I just won't bother with this (even if you can limit it to only clerics).
DavidW if you read this, try and inject some more high level cleric action across SoA in a future update, at least on the insane+ settings.

1 hour ago, polytope said:

Beware of doing this for druids, they get HLAs at 15th level, but attain level 9 at only 90,000 xp, so expect to see multiple Quest Level spells thrown by those groups of enemy druids in the grove in early BG2, I think druids would need to be handled on a case by case basis by editing the stratagems->priest->override->bg1(bg2) level.2da files... adding an exception of set level for their creature file names, although someone else will probably suggest a cleaner way of doing it, just the first thing that occurred to me.

Yeah good point. This is turning out to be more trouble than it's worth. I just got a bit too excited for a moment at the thought of more devas and less circle of bones.

 

 

Edited by boof
Link to comment
Guest Jakes249

There hasn't been a new release in over 18 months and a lot of bugs have been identified in this time. Any idea when there will be a SCS 35 or 34.4 maybe?

Link to comment
Guest
This topic is now closed to further replies.
×
×
  • Create New...