Jump to content

New beta version of Sword Coast Stratagems available


DavidW

Recommended Posts

Version 14 of Sword Coast Stratagems is now completed - it's basically a bugfix and AI optimisation, with virtually no all-new content. It fixes about forty bugs, glitches and suboptimal bits of behaviour, including the fairly serious problem with infiltrating the bandit camp. As with v10 of SCSII, it's convenient this time for me to do a beta release - hopefully it's pretty stable, but I wouldn't mind seeing how it plays on someone else's computer, just for reassurance.

 

Link: http://www.gibberlings3.net/downloads/scs-v14beta.exe

 

Changelog:

 

Slight tweak to mage melee script, to block a situation where a mage with Sleep spells only doesn't go to melee against characters of >4th level

Kobold chieftains in EasyTutu now correctly get a melee script

Kobold shamans now get upgraded by Smarter Mages

Kobold chieftains in BGT no longer get TUTU equipment

Diarmid in BGT no longer gets TUTU equipment

Zargal in BGT no longer gets a TUTU potion

The journal now correctly erases the Nashkel merchant's quest once it's done

Under-the-hood rearrangement of the way combat scripts are assigned to generic enemies (should improve BGT compatibility and mesh better with BG1NPC)

Recommended install order tweaked to remove the implication that SCS should be installed before BG2 mods

Hobgoblins and humans no longer use the same help scripts (specific hobgoblins who ought to respond to throne shouts now get modified individually)

Taugosz now goes hostile in response to Venkt's death, not to the party starting chapter 4 (this is more robust against the party just not picking up the relevant scroll)

Phase spiders and doppelgangers no longer use their abilities when asleep or otherwise disabled

Andarthe (from BG1NPC) now goes hostile correctly

Blocked a possible situation in which Davaeorn's battle horrors attack him

Tutu magic weapons are now flagged correctly as enchanted (this is relevant for fighting certain summoned creatures from BG2, e.g. elementals) and a few creatures from SCS (Cythandria's stone golems, Prat's air elementals) are now once again immune to +1 or lower-powered weapons

Harder spiders moved into "tactical challenges" component

Bassilus's level decreased from 12 to 10

Borda is changed to 6th level (he's listed as being 9th level, but this is probably an error and makes him overpowered)

Phase spiders hopefully no longer jump to dead opponents

Under-the-hood change: the NPC proficiency component now uses EXTEND_TOP instead of EXTEND_BOTTOM, in the hope that this will lead to fewer glitches

Added missing documentation for the "lite" Protection-from-Normal-Missiles component

Mages and priests now avoid hitting undead with spells that don't affect them

Priests' turning streamlined

Player-controlled undead now behave less glitchily when turned

"antimagic now penetrates invisibility" component was corrupting the descriptions of the spells, due to an SCS/SCS2 difference I wasn't allowing for; corrected

An error in the cross-platform code (carried over from BG1NPC) was causing Imoen's script to be incorrectly updated; this meant that the "set NPC proficiency" component wasn't working for Imoen on BGT installs. (Fixed; thanks to Taimon for identifying the problem.)

Fixed a typo that was causing slimes to be incorrectly flagged by the fix component

Fix component now makes the doors of Sarevok's temple impassable by NPCs (this was occasionally breaking the final battle)

Fixed various problems in the shapeshift component

Fixed a TUTU-specific bug (caused by a subtle difference between TUTUv4 and Easytutu) that was preventing the final movie from playing

Skeleton warriors in BG1 are listed as "human", to make them immune to turning. They're now listed as undead and made immune to turning directly.

Improved Minor Encounters no longer fails to install if Smarter Mages is not installed

Added the mirror-image and dispel-magic fixes from SCSII (both are actually written by Taimon; I'm just giving them a home)

Fear now correctly affects enemies

Added the insect-plague and stoneskin tweaks from SCSII (the latter is actually written by Taimon)

Replaced the SCS ease-of-use AI with the SCSII version

Silke no longer prebuffs

Mages now use Protection from Magic Weapons, Improved Haste, Spook, and Blindness

New component added: remove Arrows of Dispelling from stores

BG1NPC and SCS were both trying to fix a compatibility problem (caused by killing Tazok) and the two fixes were themselves incompatible! SCS now uses the BG1NPC fix

Kobold shamans now get the benefit of "smarter mages" on BGT installs

The number of Kobold shamans in the ambush has been reduced from 2 to 1

Carrion-crawler help scripts should now work

Fixed a typo in the spider scripts that was preventing their web-spinning being blocked in some locations

Andris now initiates dialogue in BGT installs

Andarthe (from BG1NPC) now summons wolves correctly in BGT installs

Fixed typo in the code for the Avenger kit

Fixed a serious bug which was making it impossible to sneak into the bandit camp

The Warders in Durlag's Tower no longer cast spells when stunned (etc)

Enemies with throwable weapons now use them (previously, a game-engine problem with the EquipRanged() command prevented them

Spiders re-use their webs less quickly

Link to comment

Thank you for the new version. Noticed from a megamod installation:

COMPILE 	~override/dw#ajant.d~

results in leaving .d file in the override folder (actually there's a number of them there). When other mod is being installed the .d's are compiled again and give an error of non-existing TRA string.

Possibly, this is a problem of that "other" mod, but still...

Link to comment
Thank you for the new version. Noticed from a megamod installation:
COMPILE 	~override/dw#ajant.d~

results in leaving .d file in the override folder (actually there's a number of them there). When other mod is being installed the .d's are compiled again and give an error of non-existing TRA string.

Possibly, this is a problem of that "other" mod, but still...

 

I'm afraid if some mod wants to compile the override directory, that's its problem! (I imagine someone is confused about the syntax of COMPILE, and has written something like COMPILE ~mydialog.d~ ~override~)

 

 

Did you fix the the game not ending after sarevok dies problem?

 

Fixed a TUTU-specific bug (caused by a subtle difference between TUTUv4 and Easytutu) that was preventing the final movie from playing
Link to comment

You are absolutely correct about

I'm afraid if some mod wants to compile the override directory, that's its problem! (I imagine someone is confused about the syntax of COMPILE, and has written something like COMPILE ~mydialog.d~ ~override~)
:)

Thank you!

 

Yet the question exists - why leave .d files in the override?

Link to comment
You are absolutely correct about
I'm afraid if some mod wants to compile the override directory, that's its problem! (I imagine someone is confused about the syntax of COMPILE, and has written something like COMPILE ~mydialog.d~ ~override~)
:)

Thank you!

 

Yet the question exists - why leave .d files in the override?

 

Why not?

 

(To which there are probably good answers if there were hundreds of files being dumped there, to be sure)

Link to comment
Guest temujin.
You are absolutely correct about
I'm afraid if some mod wants to compile the override directory, that's its problem! (I imagine someone is confused about the syntax of COMPILE, and has written something like COMPILE ~mydialog.d~ ~override~)
:D

Thank you!

 

Yet the question exists - why leave .d files in the override?

 

Why not?

 

because they serve no purpose being there? headscratch.gif

 

 

by the same token, if someone placed copies of bgmain.exe, chitin.key, dialog.tlk, baldur.ini, etc. inside the override unnecessarily (assuming those files don't crash/break anything) and then said "Why not?", would you think their excuse is valid? :)

 

the fact is, most of the Ds and BAFs are correctly compiled within the SCS subdirectories (this is great)... there's only like 10 or so of these other 'rogue' files that get compiled after being copied to override. i don't understand why you're so opposed to compiling them within SCS? :)

 

i know i brought this issue up with you before, but I still think it's something that could be fixed.

 

in case you're interested, there are only 3 places in SCS I where this happens (scs/bgt/management.tph, scs/misc/inns.tph, and scs/durlag/durlag.tph -- the relevant part in durlag.tph (lines 225-227) is commented out, but i'm mentioning it just in case)

 

 

 

Anyway, found some typos in the new beta (there were also bugs mentioned previously that didn't get fixed)

 

 

1. scs/priest/priest.tph (line 238)

 

- Amarande still does not have his kit set to a proper Avenger. Only Andarthe and his assistant were fixed.

 

 

 

2. x#andart.baf in scs/priest/scripts/ is very outdated compared to the one in bg1npc/phase2/baf/. since SCS's x#andart.baf is overwriting the one from BG1NPC, i would suggest to have a look in BG1NPC's x#andart.baf to be sure everything is "in sync." for example, in SCS, Andarthe would start dialogue as soon as the party enters area even when he's not in range, but in BG1NPC, this wouldn't happen because there is a 'See([PC])' condition.

 

 

 

3. scs/priest/priest.tph (line 513)

 

	COMPILE ~scs/priest/scripts/x#andart.baf~
EXTEND_BOTTOM ~x#andart.bcs~ ~scs/priest/ssl_out/dw#1dra6.baf~

 

- Andarthe's script contains variables which don't get evaluated. missing EVALUATE_BUFFER

 

 

 

4. scs/C3end/c3end.tph (line 88)

 

	COMPILE ~scs/C3end/_bandit.baf~  // slightly more failsafe go-hostile block

 

- bandit script contains variables which don't get evaluated. missing EVALUATE_BUFFER

 

 

 

5. scs/misc/spider.tph (line 12)

 

	COMPILE ~scs/scriptmisc/dw#web.baf~

 

- dw#web.baf contains variables which don't get evaluated. missing EVALUATE_BUFFER

 

 

 

6. scs/misc/easeofuse.tph (line 3)

 

	COMPILE ~%scsroot%\misc\0dw#gen.baf~

 

- 0dw#gen.baf contains variables which don't get evaluated. missing EVALUATE_BUFFER

 

 

 

7. scs/mage/prepblocks/potion.ssl (line 31)

 

	GiveItemCreate("%tutu_var%dw#exhe",Myself,0,0,0)  // DWEXHE

 

- no such potion exists. i think it should be either '%tutu_var%dwexhe' or simply 'dw#exhen' as those are the only ones that refer to Potion of Extra Healing. (this is noticeable in silke.bcs as well as several other dw#*.bcs)

 

 

 

8. scs/endbattle/endbattle.tph (line 269)

 

	ADD_CRE_ITEM ~dw#diarm~ #0 #0 #0 ~NONE~ ~RRING~

 

- this ring never gets copied over into the game. probably need to add "COPY ~scs/endbattle/dw#diarm.itm~ ~override~" somewhere.

 

 

 

9. scs/help/help.tph (line 259-261)

 

COPY_EXISTING ~%tutu_scriptk%obola_e.cre~ ~override~ WRITE_EVALUATED_ASCII 0x260 

~%tutu_var%wdarsgt~

 

- does not properly overwrite the previous General script for kobola_e. needs #8

 

 

 

10. scs/kobold/dw#kobsp.baf

 

ChangeAIScript("None",OVERRIDE)

 

- i mentioned this the last time, but i guess you missed it. there are 9 occurences of ChangeAIScript("None",OVERRIDE). since None.bcs doesn't exist, would it be too much if the line was changed to ChangeAIScript("",OVERRIDE) just to prevent errors shown in NI.

 

 

 

11. scs/durlag/durlag.tph (line 128)

 

ACTION_IF FILE_EXISTS ~override/dw#21.xxx~ THEN BEGIN // Smarter Mages installed
COPY_EXISTING 
~%tutu_var%dopfue.cre~ ~override~
~%tutu_var%d2fue.cre~ ~override~
	WRITE_ASCII 0x250 ~dw#magnp~
	REPLACE_TEXTUALLY ~spwi102~ ~spwi112~
END ELSE BEGIN

 

- Fuernebol doesn't get assigned a proper class script since dw#magnp.bcs doesn't exist

 

 

 

12. scs/shapeshift/DW#SHNBR.ITM

 

- would it be too much if you could set strref for NAME1 and NAME2 for this item to -1? right now, it's set to 90396 which is nonexistent, but as more mods get installed, the strref could point to some random string from some mod.

 

 

 

13. Tutu/BGT naming issues

 

i) scs/endbattle/dw#angar.itm (Angelo's Arrows)

 

- at offset 0x17E, the Play Sound effect points to a tutu-only resource (_EFF_M10)

 

 

ii) this was another thing i mentioned before, but didn't get any acknowledgement whether it was bug or intentional

 

bgquayle.cre, bgxzar, branwe, branwe5, edwin, edwin2, edwin4, edwin6, eldoth, eldoth5, faldor, faldor5, etc.. (basically all bg1 npcs)

 

- they all have either tutu-named Class or Race scripts. intentional?

 

 

iii) another one that's still unresolved

 

avaricem.cre, bgbishop, bgknight, bgpawn, bgrook, dopdur, dopdur1, dopdur2, dopdur3, dopkie, lovem, pridem

 

- all of these creatures have a Protection from Effect that's supposed to protect from spells like _sw1h08.spl, _blun04.spl, _sw1h04.spl, _hamm01.spl, _ax1h01.spl, _blun01.spl, _sw1h01.spl, cdbreak1.spl, cdbreak6.spl, cdbreak9.spl, cddelhlm.itm.

 

but these spells are tutu-only unfortunately (I don't know what their bgt-equivalents are). would be nice if you could include those resources as part of the SCS package.

 

 

 

14. this is something 10thLich mentioned before that is still unresolved:

 

i) "the description of the Greater Werewolf Token (scs/shapeshift/dw#shwe3.itm) incorrectly states that you'll get an +2 weapon. But it's actually a +3 weapon."

 

ii) "the Werewolf Token (scs/shapeshift/dw#shwe2.itm) states that you'll get 2 attacks, but Modify attacks per round sets it to 1. Or was the haste bonus already included?."

Link to comment
the fact is, most of the Ds and BAFs are correctly compiled within the SCS subdirectories (this is great)... there's only like 10 or so of these other 'rogue' files that get compiled after being copied to override. i don't understand why you're so opposed to compiling them within SCS? :)

 

Because it would take a non-zero amount of work, and have a non-zero chance of causing me to make a mistake and break something, for the sake of a zero benefit.

 

Anyway, found some typos in the new beta (there were also bugs mentioned previously that didn't get fixed)

 

Many thanks, as always! (When I do an update I try to go through and note down all the reported bugs, but inevitably I miss some)

 

1. scs/priest/priest.tph (line 238)

 

- Amarande still does not have his kit set to a proper Avenger. Only Andarthe and his assistant were fixed.

 

Fixed locally, thanks.

 

2. x#andart.baf in scs/priest/scripts/ is very outdated compared to the one in bg1npc/phase2/baf/. since SCS's x#andart.baf is overwriting the one from BG1NPC, i would suggest to have a look in BG1NPC's x#andart.baf to be sure everything is "in sync." for example, in SCS, Andarthe would start dialogue as soon as the party enters area even when he's not in range, but in BG1NPC, this wouldn't happen because there is a 'See([PC])' condition.

 

Oops, looks like I'm using an out-of-date copy of BG1NPC - fixed locally.

 

3. scs/priest/priest.tph (line 513)

 

	COMPILE ~scs/priest/scripts/x#andart.baf~
EXTEND_BOTTOM ~x#andart.bcs~ ~scs/priest/ssl_out/dw#1dra6.baf~

 

- Andarthe's script contains variables which don't get evaluated. missing EVALUATE_BUFFER

 

Fixed locally

 

4. scs/C3end/c3end.tph (line 88)

 

	COMPILE ~scs/C3end/_bandit.baf~  // slightly more failsafe go-hostile block

 

- bandit script contains variables which don't get evaluated. missing EVALUATE_BUFFER

 

Fixed locally

 

5. scs/misc/spider.tph (line 12)

 

	COMPILE ~scs/scriptmisc/dw#web.baf~

 

- dw#web.baf contains variables which don't get evaluated. missing EVALUATE_BUFFER

Fixed locally

 

6. scs/misc/easeofuse.tph (line 3)

 

	COMPILE ~%scsroot%\misc\0dw#gen.baf~

 

- 0dw#gen.baf contains variables which don't get evaluated. missing EVALUATE_BUFFER

 

Fixed locally

 

7. scs/mage/prepblocks/potion.ssl (line 31)

 

	GiveItemCreate("%tutu_var%dw#exhe",Myself,0,0,0)  // DWEXHE

 

- no such potion exists. i think it should be either '%tutu_var%dwexhe' or simply 'dw#exhen' as those are the only ones that refer to Potion of Extra Healing. (this is noticeable in silke.bcs as well as several other dw#*.bcs)

 

Fixed locally.

 

(Right, I'll come back to the rest when I have a chance. Thanks again!)

Link to comment
8. scs/endbattle/endbattle.tph (line 269)

 

	ADD_CRE_ITEM ~dw#diarm~ #0 #0 #0 ~NONE~ ~RRING~

 

- this ring never gets copied over into the game. probably need to add "COPY ~scs/endbattle/dw#diarm.itm~ ~override~" somewhere.

 

Fixed

 

9. scs/help/help.tph (line 259-261)

 

COPY_EXISTING ~%tutu_scriptk%obola_e.cre~ ~override~ WRITE_EVALUATED_ASCII 0x260 

~%tutu_var%wdarsgt~

 

- does not properly overwrite the previous General script for kobola_e. needs #8

 

Fixed.

 

10. scs/kobold/dw#kobsp.baf

 

ChangeAIScript("None",OVERRIDE)

 

- i mentioned this the last time, but i guess you missed it. there are 9 occurences of ChangeAIScript("None",OVERRIDE). since None.bcs doesn't exist, would it be too much if the line was changed to ChangeAIScript("",OVERRIDE) just to prevent errors shown in NI.

 

Changed.

 

11. scs/durlag/durlag.tph (line 128)

 

ACTION_IF FILE_EXISTS ~override/dw#21.xxx~ THEN BEGIN // Smarter Mages installed
COPY_EXISTING 
~%tutu_var%dopfue.cre~ ~override~
~%tutu_var%d2fue.cre~ ~override~
	WRITE_ASCII 0x250 ~dw#magnp~
	REPLACE_TEXTUALLY ~spwi102~ ~spwi112~
END ELSE BEGIN

 

- Fuernebol doesn't get assigned a proper class script since dw#magnp.bcs doesn't exist

 

Fixed.

 

12. scs/shapeshift/DW#SHNBR.ITM

 

- would it be too much if you could set strref for NAME1 and NAME2 for this item to -1? right now, it's set to 90396 which is nonexistent, but as more mods get installed, the strref could point to some random string from some mod.

 

It's an undroppable NPC item, so no need.

 

 

13. Tutu/BGT naming issues

 

i) scs/endbattle/dw#angar.itm (Angelo's Arrows)

 

- at offset 0x17E, the Play Sound effect points to a tutu-only resource (_EFF_M10)

 

Fixed

 

ii) this was another thing i mentioned before, but didn't get any acknowledgement whether it was bug or intentional

 

bgquayle.cre, bgxzar, branwe, branwe5, edwin, edwin2, edwin4, edwin6, eldoth, eldoth5, faldor, faldor5, etc.. (basically all bg1 npcs)

 

- they all have either tutu-named Class or Race scripts. intentional?

Intentional.

 

iii) another one that's still unresolved

 

avaricem.cre, bgbishop, bgknight, bgpawn, bgrook, dopdur, dopdur1, dopdur2, dopdur3, dopkie, lovem, pridem

 

- all of these creatures have a Protection from Effect that's supposed to protect from spells like _sw1h08.spl, _blun04.spl, _sw1h04.spl, _hamm01.spl, _ax1h01.spl, _blun01.spl, _sw1h01.spl, cdbreak1.spl, cdbreak6.spl, cdbreak9.spl, cddelhlm.itm.

 

but these spells are tutu-only unfortunately (I don't know what their bgt-equivalents are). would be nice if you could include those resources as part of the SCS package.

 

This is deliberate. (It makes certain creatures' weapons invulnerable to the iron plague, but it's only necessary in Tutu; in BGT it's harmless.)

 

14. this is something 10thLich mentioned before that is still unresolved:

 

i) "the description of the Greater Werewolf Token (scs/shapeshift/dw#shwe3.itm) incorrectly states that you'll get an +2 weapon. But it's actually a +3 weapon."

 

ii) "the Werewolf Token (scs/shapeshift/dw#shwe2.itm) states that you'll get 2 attacks, but Modify attacks per round sets it to 1. Or was the haste bonus already included?."

 

Fixed

Link to comment
Guest temujin.

scs/priest/combatblocks/shapeshift.ssl

 

IF
IgnoreBlock(ImprovedShapeshift)
RequireBlock(IsDruid)
RequireBlock(IsAvenger)
	GlobalTimerExpired("willmelee","LOCALS")
Range(NearestEnemyOf(Myself),5)
CheckStatGT(Myself,6,Level)
Global("shapeshift","LOCALS",0)
THEN
RESPONSE #100
	ForceSpellRES("spcl125",Myself)
	SetGlobal("shapeshift","LOCALS",1)
RESPONSE #100
	ForceSpellRES("spcl127",Myself)
	SetGlobal("shapeshift","LOCALS",1)
END

 

what are these two spells -- spcl125 and spcl127 -- supposed to be? they seem to be nonexistent.

Link to comment
scs/priest/combatblocks/shapeshift.ssl

 

IF
IgnoreBlock(ImprovedShapeshift)
RequireBlock(IsDruid)
RequireBlock(IsAvenger)
	GlobalTimerExpired("willmelee","LOCALS")
Range(NearestEnemyOf(Myself),5)
CheckStatGT(Myself,6,Level)
Global("shapeshift","LOCALS",0)
THEN
RESPONSE #100
	ForceSpellRES("spcl125",Myself)
	SetGlobal("shapeshift","LOCALS",1)
RESPONSE #100
	ForceSpellRES("spcl127",Myself)
	SetGlobal("shapeshift","LOCALS",1)
END

 

what are these two spells -- spcl125 and spcl127 -- supposed to be? they seem to be nonexistent.

 

They're either

 

(a) an ingenious use of hidden in-game resources, placed there as an Easter Egg ten years ago and only now unearthed due to my cunning and sagacity; or

 

(b) a f***-up that ought to read "spin125", "spin127", and got missed in testing because I was concentrating on the version that used "improved shapeshifting".

 

You decide.

Link to comment

Archived

This topic is now archived and is closed to further replies.

×
×
  • Create New...