Jump to content

Sword Coast Stratagems v34 (edit: 34.3) now available


Recommended Posts

14 hours ago, Guest Jakes249 said:

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?

No news on that, AFAIK. However, there's also an EE Fixpack in the works, which DavidW has been a part of. Since some of the bugs reported here are present in vanilla (e.g. Nature's Beauty) and discovered through SCS, it may be deemed desirable to finish the Fixpack before doing another SCS release - but that is speculation on my part.

Link to comment

And yet another SCS bug spotted ...

The "Improved Random Encounters" component for BG2 has a chapter check for several of the encounters it adds or modifies; you're only supposed to face random encounters with rakshasa after Spellhold. Unfortunately, this chapter check doesn't take EET's renumbered chapters into account, so installing this component on EET causes those encounters to come up in the pre-Spellhold portion of the game. That includes the vanilla encounter with "travelers" that shapeshift to copy your party, which has a correct chapter check if you install EET alone.

Spotted here: https://www.gibberlings3.net/forums/topic/36427-third-i-mean-fourth-attempt-at-a-large-eet-game-on-a-tablet/?do=findComment&comment=321831 (see also the preceding posts for context)

 

Link to comment
13 minutes ago, kamuizin said:

I tested current SCS version and i can confirm that smashing wave lvl 4 druid spell does nothing. Ground or character target, after the casting, the sound of the spell play, but nothing else happens.

Yes it is a know bug, for IWD spells it's better to use IWDification mod, which is more up to date.

Link to comment

Some months back we found out that the "trap_the_soul.ssl" file was completely empty, resulting in the two demiliches in the game no getting their "Trap the Soul" ability.

Someone in this thread posted the following, saying it should be pasted into the ssl before installing.

Well, I recently did a new install and did exactly that.
The good news? The demiliches got their trap the soul.
The bad news? literally every other lich got it as well.
These are the results when doing a search for "trap the soul" in all scripts.
Maybe even more than just liches got it as well, unless there are more liches in the game than I can remember off the top of my head.

I'm going to be deleting all the blocks containing "trap the soul" from the scripts, but can anyone explain why this happened in the first place? I guess the trap the soul ssl was empty for a reason.

If I made an install like before with an empty trap the soul ssl, and then pasted the above blocks of script that reference trap the soul into the two demilich scripts, would that grant them the ability to use it?

Edited by boof
Link to comment

Right ... this one goes into the weeds of how scripts are built. Essentially, given any mage type, they build a script based on one of the files in mage/ssl/main. Spellcasting demiliches use the "dw#lich.ssl" base, sharing that with ordinary liches. There's a variable "IsDemilich" set to true when the script-building function is called from mage_shared.tph, and that variable is how we tell ordinary liches from demiliches at this stage. For example, here's a pair of ability blocks that use that variable:

Spoiler
//////////////////////////////////////////////////////////////////////////////////////
///    lich fear aura; demilich howl
///////////////////////////////////////////////////////////////////////////////////

IF TRIGGER
        IgnoreBlock(IsDemilich)
        See(NearestEnemyOf(Myself))
        !GlobalTimerNotExpired("fearaura","LOCALS")
        !CheckSpellState(Myself,TIME_STOP)
        Global("FIN_TIME_STOP_RUNNING","GLOBAL",0)
        TriggerBlock(CorePlus)
THEN DO
                 Action(Literal)
                 SetGlobalTimer("fearaura","LOCALS",6)
                 ReallyForceSpellRES("dw#licfi",Myself)
                 Continue()
END

IF TRIGGER
        RequireBlock(IsDemilich)
        See(NearestEnemyOf(Myself))
        !GlobalTimerNotExpired("howl","LOCALS")
        !CheckSpellState(Myself,TIME_STOP)
        Global("FIN_TIME_STOP_RUNNING","GLOBAL",0)
THEN DO
                 Action(Literal)
                 SetGlobalTimer("howl","LOCALS",60)
                 ReallyForceSpell(Myself,DEMILICH_DEATH)
                 Continue()
END

 

Liches get a fear aura, demiliches get the "Demilich Howl", equivalent to Wail of the Banshee.

Now, as for Trap the Soul, here's how that block is incorporated:

Spoiler
//////////////////////////////////////////////////////////////////////////////////////
///    demilich soul trap
///////////////////////////////////////////////////////////////////////////////////

INCLUDE FILE(%MOD_FOLDER%/mage/ssl/combatblocks/trap_the_soul.ssl)

 

Just include the file, unconditionally. Any checks need to be done in trap_the_soul.ssl. And with that file you linked, the key demilich check isn't done. That means every lich gets the Trap the Soul blocks; since it's a forced spell that doesn't check memorization, they can use it.

Adding "RequireBlock(IsDemilich)" in the "IF TRIGGER" section of those blocks in trap_the_soul.ssl should restore the intended behavior.

And now, some wild speculation on why this issue ever came up: script bits got moved around and externalized, spellcasting demiliches got streamlined into basically a subset of liches, and somewhere along the line a move left things so the demilich check wasn't being made at either layer. Then the bug (all liches get TtS) was noted, and rather than tracking down the details the whole thing was just removed.

Link to comment
6 hours ago, boof said:

Some months back we found out that the "trap_the_soul.ssl" file was completely empty, resulting in the two demiliches in the game no getting their "Trap the Soul" ability.

Someone in this thread posted the following, saying it should be pasted into the ssl before installing.

Well, I recently did a new install and did exactly that.
The good news? The demiliches got their trap the soul.
The bad news? literally every other lich got it as well.
These are the results when doing a search for "trap the soul" in all scripts.
Maybe even more than just liches got it as well, unless there are more liches in the game than I can remember off the top of my head.

I'm going to be deleting all the blocks containing "trap the soul" from the scripts, but can anyone explain why this happened in the first place? I guess the trap the soul ssl was empty for a reason.

If I made an install like before with an empty trap the soul ssl, and then pasted the above blocks of script that reference trap the soul into the two demilich scripts, would that grant them the ability to use it?

I reported the fact that even basic Liches do get Trap the soul in this very thread here.

On 2/13/2023 at 11:41 AM, Christian said:

Since we are all gathered here: The random lich enemy spawn in the zombietown (unseeing eye quest) uses Trap the soul (additional to casting spells). I thought this ability belongs to demi liches?

I used the same fix of replacing the empty file with the old one.

Edit: I am now right before Amelyssan, so it is doable. 

Edited by Christian
Link to comment
On 4/5/2023 at 2:53 AM, jmerry said:

Adding "RequireBlock(IsDemilich)" in the "IF TRIGGER" section of those blocks in trap_the_soul.ssl should restore the intended behavior.

This look right? If you could double check it I'd really appreciate it before I set out on yet another reinstall.

edit: For anyone that might be wondering, did a quick test where I reinstalled the game with just scs and loaded up an old save, and this seems to have worked.

On 4/5/2023 at 7:48 AM, Christian said:

I used the same fix of replacing the empty file with the old one.

Edit: I am now right before Amelyssan, so it is doable. 

Ah, I'm sure it's doable,  but it's a bit much and I would rather not have it in my game.

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

Looks right to me, though I'm not an expert. I hope it translates properly to the in-game resources. Also, weird indentation ... but I think that's purely cosmetic?

Thanks.

Yeah the indentation happened only once I pasted it into pastebin. It doesn't look like that in the notepad.

Link to comment

I've test ran an EET install, and I don't have an innate-ability to adjust SCS settings. Does that mean something went wrong? Is it not supposed to be in innate abilities? Was it removed? Thanks for any info.

(installed with PI, testing on BG1 part)

Link to comment

In current SCS, the difficulty fine-tuning is activated through a button in the options menu. That sets a variable, and then the global script summons an invisible creature to talk to you; the actual fine-tuning is done through the dialogue interface.

Link to comment
33 minutes ago, jmerry said:

In current SCS, the difficulty fine-tuning is activated through a button in the options menu. That sets a variable, and then the global script summons an invisible creature to talk to you; the actual fine-tuning is done through the dialogue interface.

Oh, that's very cool! But at the same time, damn, I can't find it :D 
I'm using the Dragonspear UI, is it not compatible? Perhaps I should summon the creature via console if the button just sets up a variable 🤔

 

NVM I'm an idiot, I re-installed the UI as last to test something after SCS so of course it's broken. Disregard and thank you for the info :D

Edited by Aryene
Link to comment
Guest Sight
On 3/25/2023 at 6:43 AM, jmerry said:

And yet another SCS bug spotted ...

The "Improved Random Encounters" component for BG2 has a chapter check for several of the encounters it adds or modifies; you're only supposed to face random encounters with rakshasa after Spellhold. Unfortunately, this chapter check doesn't take EET's renumbered chapters into account, so installing this component on EET causes those encounters to come up in the pre-Spellhold portion of the game. That includes the vanilla encounter with "travelers" that shapeshift to copy your party, which has a correct chapter check if you install EET alone.

Spotted here: https://www.gibberlings3.net/forums/topic/36427-third-i-mean-fourth-attempt-at-a-large-eet-game-on-a-tablet/?do=findComment&comment=321831 (see also the preceding posts for context)

 

Is there any way for end users to solve this for themselves in the mean time? How would they go about doing this if so, where do we start?

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