Jump to content

EndlessBG1 - Functions not installed


Recommended Posts

@Nehreis

Hi, I had the same issue a while ago. (I'm using EET with EndlessBG1 v13). The trigger fired in the middle of the dialogues you get after defeating Sarevok. Guards dead, everybody hostile, complete chaos, and Belt was like 'hey, would you like a new home?' right before trying to stab me. Anyway.

Pretty sure this is caused by a script (DW#MG400.BCS) added by SCS to LIIA.CRE. Here's the relevant block:

IF
	!GlobalTimerNotExpired("castspell","LOCALS")
	HaveSpellRES("dw#tg21")  // Symbul's Spell Trigger
	!StateCheck(Myself,STATE_NOT_VISIBLE)
	!CheckSpellState(Myself,DO_NOT_TARGET_SPELLS)
	!CheckStatGT(Myself,0,WIZARD_IMPROVED_ALACRITY)
	!StateCheck(Myself,RZ_STATE_DISABLED)
	HPGT(Myself,0)
	Global("FIN_TIME_STOP_RUNNING","GLOBAL",0)
	See(Myself)
	OR(6)
		Range(Player1,10)
		Range(Player2,10)
		Range(Player3,10)
		Range(Player4,10)
		Range(Player5,10)
		Range(Player6,10)
	OR(2)
		Global("DMWW_mage_difficulty","GLOBAL",0)
		GlobalGT("DMWW_mage_difficulty","GLOBAL",2)
	OR(2)
		DifficultyGT(EASY)
		GlobalGT("DMWW_mage_difficulty","GLOBAL",2)
THEN
	RESPONSE #100
		SetGlobalTimer("castspell","LOCALS",ONE_ROUND)
		ReallyForceSpellRES("dw#tg21B",Myself)  // Symbul's Spell Trigger
		ReallyForceSpell(Myself,WIZARD_CLOUDKILL)  // SPWI502.SPL (Cloudkill)
		SmallWait(1)
		ReallyForceSpell(Myself,WIZARD_CLOUDKILL)  // SPWI502.SPL (Cloudkill)
		SmallWait(1)
		ReallyForceSpell(Myself,WIZARD_SUN_FIRE)  // SPWI523.SPL (Missile Storm)
END

I don't know enough about this stuff to understand if the 'Endless' state of BG1 checks some or all the conditions for the trigger; but in this case there's a very simple workaround: lower the difficulty to story mode right before talking to the dukes, and the trigger won't happen.

Link to comment
30 minutes ago, Gwaihir said:

and Belt was like 'hey, would you like a new home?' right before trying to stab me. Anyway.

That made me laugh. Good times!

30 minutes ago, Gwaihir said:

Pretty sure this is caused by a script (DW#MG400.BCS) added by SCS to LIIA.CRE. Here's the relevant block:

Thanks for identifying! Maybe I could add a dirty fix by adding a script block to that sets one of the variables to deactivate this script block (I'll try to make sure it won't destroy something else. Try to because SCS is a nightmare to read.. because I'm too dumb). I can't edit in a check variable for "Dead("Sarevok")" because SCS comes so late in install (well, I *could* write a compatibility component that would need to be installed late but that's usually a PITA for install handling.)

Tagging @DavidW in the hopes that maybe the original SCS script could be adapted to prevent this incompatibility.

Link to comment

This particular spell trigger looks like bad design in SCS. Cloudkill is a really effective spell to use against mages, disrupting their spells every turn. For a mage to deliberately cast on themself, they'd better be immune. Liches and rakshasas can use it just fine. Human mages shouldn't.

Anyway, SCS gives Liia the generic mage treatment. Strip the combat elements out of her override script, redo her spell memorization, build a new combat script. How are sequencers and triggers handled? The routine references some 2da files in caster_shared/triggers, and here's the relevant bits of the one for spell triggers:

spell1                  spell2                             spell3                           contingency                         kit                                      require_mod         exclude_mod         require_type            exclude_type       category


SUN_FIRE                CLOUDKILL                          CLOUDKILL                        *                                   invoker                                  *                   *                   *                       *                  o

(Header row, and the row for this particular spell trigger)

Reading that ... Sunfire, Cloudkill, and Cloudkill is a possible Spell Trigger for invokers. It's in the "offensive" category, which a mage might or might not get based on their defensive spell allocations. The spell system changes SCS supports (IWD spells, Spell Revisions) are irrelevant to whether it appears, and there's no racial limits - if this were rakshasa/lich only, they would appear in the require_type entry.

Then the actual script to use it shows up. Gwaihir posted the block as it appears in the final script; the SSL block used to build it is as follows (from mage/ssl/combatblocks/highpower_sequencers):

IF TRIGGER
	OR(6)
	     Range(Player1,10)
	     Range(Player2,10)
	     Range(Player3,10)
	     Range(Player4,10)
	     Range(Player5,10)
	     Range(Player6,10)
	Target(Myself)
	TriggerBlock(CorePlus)
THEN DO
	Action(SequencerManual,2X_CLOUDKILL_SUN_FIRE,CLOUDKILL,CLOUDKILL,SUN_FIRE)
END

And looking at the other triggers there ... pretty much all of the offensive ones have an allegiance check in there somewhere. This one doesn't. A mage with this spell trigger will use it whenever one of the PCs is close enough, regardless of whether those PCs are hostile to the mage, the mage has allies nearby, or the mage has any protection against their own spells.

It is, of course, unlikely for Liia to get this particular spell trigger. It only comes up if she rolls "invoker" for her kit, and it's one of many possibilities. But if she does, things break. And it doesn't even require the later encounter added by Endless BG1; she'll kill herself in the doppelganger fight if you ever approach her. (Liia HP = 46. 2x Cloudkill average damage = 110)

So, the changes I'd recommend for SCS:

- Make this spell trigger lich/rakshasa only.

- Add an allegiance check to the script for using it.

Link to comment

It's allegiance-based. Someone with friendly allegiance did the attack, so obviously you were betrayed and should turn against them. And call for help. Standard stuff, which would come up even if SCS wasn't in play.

In a similar though less game-breaking vein, you know the fight between Trademeet's militia and attacking animals at the upper right corner of the map? I've had that mage roll Invoker, get Lightning Bolt as an offensive spell, use it to attack an animal and hit a soldier (lethally) as collateral damage, then immediately go hostile. Before the party could even arrive on the scene and get involved in the fight.

Actually, that's an improvement the SCS AI could do in general. The use of any and all indiscriminate AoE offensive spells should be gated behind an allegiance check, so they aren't used when spellcasters are on your side. It's just too easy to turn friends into enemies that way.

Link to comment
1 hour ago, jmerry said:

In a similar though less game-breaking vein, you know the fight between Trademeet's militia and attacking animals at the upper right corner of the map? I've had that mage roll Invoker, get Lightning Bolt as an offensive spell, use it to attack an animal and hit a soldier (lethally) as collateral damage, then immediately go hostile. Before the party could even arrive on the scene and get involved in the fight.

Actually, that's an improvement the SCS AI could do in general. The use of any and all indiscriminate AoE offensive spells should be gated behind an allegiance check, so they aren't used when spellcasters are on your side. It's just too easy to turn friends into enemies that way.

Off topic, but I reported that one years ago and DavidW said it was changed in the most recent version, this stands out as a really high priority fix if still happening.

ETA: As for continuing the game without console cheats (that may or may not cause bugs, I can't say) try using a scroll of Protection from Magic on Liia?

Edited by polytope
Link to comment

Hi, I'm encountering an error message when trying to install Endless BG1 V17 on a BGEE SoD install 2.6.6 using English texts :

Spoiler

"What should be done with all components that are NOT YET installed?
nstall them, kip them, [A]sk about each one? DLCMERGER/DLCMERGER.TP2  0  3 Installed
LEUI-BG1EE/LEUI-BG1EE.TP2  0  0 Installed
EEEX/EEEX.TP2  0  0 Installed
EEEX/EEEX.TP2  0  1 Installed
EEEX/EEEX.TP2  0  2 Installed
EEEX/EEEX.TP2  0  3 Installed
EEEX/EEEX.TP2  0  4 Installed
EEEX/EEEX.TP2  0  5 Installed
BUBB_SPELL_MENU_EXTENDED/BUBB_SPELL_MENU_EXTENDED.TP2  0  0 Installed
HIDDENGAMEPLAYOPTIONS/HIDDENGAMEPLAYOPTIONS.TP2  0 10 Installed
HIDDENGAMEPLAYOPTIONS/HIDDENGAMEPLAYOPTIONS.TP2  0 16 Installed
HIDDENGAMEPLAYOPTIONS/HIDDENGAMEPLAYOPTIONS.TP2  0 18 Installed
HIDDENGAMEPLAYOPTIONS/HIDDENGAMEPLAYOPTIONS.TP2  0 19 Installed
HIDDENGAMEPLAYOPTIONS/HIDDENGAMEPLAYOPTIONS.TP2  0 23 Installed
HIDDENGAMEPLAYOPTIONS/HIDDENGAMEPLAYOPTIONS.TP2  0 24 Installed
HIDDENGAMEPLAYOPTIONS/HIDDENGAMEPLAYOPTIONS.TP2  0 25 Installed
HIDDENGAMEPLAYOPTIONS/HIDDENGAMEPLAYOPTIONS.TP2  0 28 Installed
HIDDENGAMEPLAYOPTIONS/HIDDENGAMEPLAYOPTIONS.TP2  0 30 Installed
HIDDENGAMEPLAYOPTIONS/HIDDENGAMEPLAYOPTIONS.TP2  0 32 Installed
HIDDENGAMEPLAYOPTIONS/HIDDENGAMEPLAYOPTIONS.TP2  0 33 Installed
HIDDENGAMEPLAYOPTIONS/HIDDENGAMEPLAYOPTIONS.TP2  0 35 Installed
HIDDENGAMEPLAYOPTIONS/HIDDENGAMEPLAYOPTIONS.TP2  0 39 Installed

Install Component [Endless BG1: Main Component (Required)]?
nstall, or [N]ot Install or [Q]uit?
Installing [Endless BG1: Main Component (Required)] [17]
ERROR: No translation provided for @1002
Stopping installation because of error.
Stopping installation because of error.

ERROR Installing [Endless BG1: Main Component (Required)], rolling back to previous state
Unable to Unlink [c#endlessbg1/backup/0/OTHER.0]: Unix.Unix_error(1, "unlink", "c#endlessbg1/backup/0/OTHER.0")
[c#endlessbg1/backup/0/UNSETSTR.0] SET_STRING uninstall info not found
Will uninstall   0 files for [C#ENDLESSBG1/C#ENDLESSBG1.TP2] component 0.
Uninstalled      0 files for [C#ENDLESSBG1/C#ENDLESSBG1.TP2] component 0."

I didn't got this error on an EET install.

Edited by Trouveur80
Link to comment

@Trouveur80 the string is indeed missing. It's supposed to be the warning that the SoD game is not merged (DLC Merger not installed or didn't run successfully):

ACTION_IF ((FILE_EXISTS ~dlc/sod-dlc.zip~) OR (FILE_EXISTS ~sod-dlc.zip~)) THEN BEGIN
  FAIL @1002 /* ~Modmerge or Argent's DLC Merger is required before mods can be installed on this game.~ */
END

 

Link to comment
12 minutes ago, jastey said:

@Trouveur80 the string is indeed missing. It's supposed to be the warning that the SoD game is not merged (DLC Merger not installed or didn't run successfully):

ACTION_IF ((FILE_EXISTS ~dlc/sod-dlc.zip~) OR (FILE_EXISTS ~sod-dlc.zip~)) THEN BEGIN
  FAIL @1002 /* ~Modmerge or Argent's DLC Merger is required before mods can be installed on this game.~ */
END

 

Thank you, indeed BG1 NPC Project told me DLC Merger was not installed, even so I did it and the weidu log showed it successfully installed.

I started again from scratch and this time all seems fine :-).

Link to comment
On 3/18/2023 at 1:28 PM, jmerry said:

It is, of course, unlikely for Liia to get this particular spell trigger. It only comes up if she rolls "invoker" for her kit, and it's one of many possibilities. But if she does, things break. And it doesn't even require the later encounter added by Endless BG1; she'll kill herself in the d

Thank you for the insight, in my EET run, Liia did exactly that during the coronation, and after killing the doppelgangers the dukes turned hostiles.

Lowering the difficulty allowed me to pass the first dialog, but then when Sarevok turned hostile the dukes did the same !

The protection from magic scroll on Liia did the trick, but she couldn't survived Sarevok then...

Link to comment
Guest Faster than Jesus

Playing through EET with this for the first time.

 

Upon completion of BG1 and beginning SoD, after completing the Sarevok Sword quest and talking to Belt to I get a final save but the cut scene freezes and the game will not progress.

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