Jump to content

What's needed for SCS v31?


Recommended Posts

Starting off the v30 base, I've included DS v3.95 from RR as well as K4thos' EET compatibility fixes.

Any idea off-hand whether it would be allowed, and how difficult it would be, to make a fork based on kreso's version and add the DS fix to it? (I think it already had EET compatibility.) That version was the gold standard for 2.3, with every fix that I was aware of plus extra SR compatibility, and it was used and thus tested extensively for the last 6-12 months. IMHO going back to v30 and re-implementing the fixes again, and casting aside the SR features, is a mistake.

Link to post

How exactly Kreso's version was made when it comes to SR compatibiliy? I mean, is this version valid only when SR is also installed or is this compatibility added on top of standard v30 and one can play Kreso's version without SR too and benefit from all other fixes applied?

Link to post

It's on Github right now, so fork away. The largest problem--unless I'm misunderstanding--is that Revised only works if SR is installed (or works under that assumption).

 

I'm working through the Revised changes now. So far the majority are to make the Dispelling Screen/Spell Deflection targeting work; most of the rest are the EET compatibility changes that are already included, and it's lacking a couple of the fixes from BW.

 

It can't form the baseline SCS, though. One consistent thing I've been noticing is that it removes a lot of target-has-SI:X-enabled checks, which is a byproduct of SR removing SI.

Link to post

I've noticed on github that the EET related commit modifies shout.baf. It's unrelated to EET. Looks like it's there to fix the problem mentioned in this old topic, which also affected SCS. May be a good idea to review this particular change since there were several patches since 2014 to EE games, maybe it's no longer needed (or could be coded better).

Edited by K4thos
Link to post

Juuuuuust about an hour too late.

It's not a race. Since SCS is very important mod, I will still push my local repository and when you see how nice it's done, I'm sure you will appreciate it :cool:

 

EDIT: You don't need to revert commit to add tag to older commit.

Edited by ALIENQuake
Link to post

How exactly Kreso's version was made when it comes to SR compatibiliy? I mean, is this version valid only when SR is also installed or is this compatibility added on top of standard v30 and one can play Kreso's version without SR too and benefit from all other fixes applied?

The largest problem--unless I'm misunderstanding--is that Revised only works if SR is installed (or works under that assumption).

 

My understanding was that it could be used just fine without SR - lots of people were doing that for several months before the 2.5 patch, and I saw no complaints...

 

It can't form the baseline SCS, though. One consistent thing I've been noticing is that it removes a lot of target-has-SI:X-enabled checks, which is a byproduct of SR removing SI.

 

Huh. Are they RES checks? SR doesn't actually remove the SI:x spells, it just removes the shell spell and moves the effects/subspells to other places (SI:Div moved to Nondetection, SI:Ench added as Mind Blank, SI:Evoc moved to ProEnergy, etc.) So I imagine it should still handle those immunity conditions, perhaps just with different kinds of checks. Unless kreso cut some corners or something. :laugh:

 

In any event the base SCS does not handle some SR stuff properly, so if the mod's AI coding cannot handle both environments, I guess the question is whether we can still maintain a separate SR-specific fork, and make sure these fixes get into it?

Link to post

This is full list of authors and fixes from BWFixpack:

 

Fixpack fixes from 2013-09-26 to 2017-01-30

Ineth2 - stratagems: Fix mangled patch

Something must have gone very wrong when this patch file was created, because
instead of listing the two sections for the two target files one below the
other, the section for the /bg1/ file *replaced* thebeginning of the section
for the /bg2/ file.
The result was a broken patch which the `patch` utility rejected.
I reconstructed the patch from the original files; now it applies cleanly.

AstroBryGuy - Added missing header to caster_shared.tph.patch

burner1024 - Merge pull request #15 from burner1024/fix-stratagems-fiends

K4thos - EET fix for Viconia in "move NPCs" component (http://gibberlings3.net/forums/index.php?showtopic=28293#entry250996)

Ilya Ivanov - fix improved fiends installation without smarter mages

K4thos - EET fix for unkillable Sarevok with component 7250 (improved chapter 7 end battle - sarevok.tpa)

agb1 - fix for macro_read_in_spells_per_level in caster_shared.tph when mxspl???.2da has an all-zeroes column
https://forums.beamdog.com/discussion/comment/837974#Comment_837974

AstroBryGuy - fix for SoD joinable NPCs whose DVs do not match their PDIALOG.2DA entries
https://forums.beamdog.com/discussion/comment/835909#Comment_835909

agb1 - Updated EET compatibility patch for SCS component 4110 - Allow NPC pairs to separate

agb1 - SCS - ToB aware read_in_NPC_dialog macro

agb1 - Use EET cpmvars for SCS' NPC pairs separate component #4110

agb1 - Fix SCS 4110 (allow npc pairs to separate) install error on EET (not EET's fault, rather due to not installing any other components before this one that would set up SCS internal dialog variables -- the component is now properly standalone thanks to a macro that was included with SCS but never actually used anywhere)
+ More script improvements

Etamin and Cahir - updated Polish translation

Graoumf	- added updated French translation (http://gibberlings3.net/forums/index.php?showtopic=25059&p=248378)

Bartek and Etamin - updated Polish translation (http://gibberlings3.net/forums/index.php?showtopic=25059&p=248377)

agb1 - removed invalid GAME_IS ~sod~ checks from SCS patches

K4thos - EET compatibility patches for SCS v30 (http://gibberlings3.net/forums/index.php?showtopic=28293)

K4thos - bug fix: http://gibberlings3.net/forums/index.php?showtopic=28161&page=3#entry245521

critto - fix for Reduce the number of Arrows of Dispelling in stores

AstroBryGuy - fix for flame arrows and the kobold commando flame arrows

AstroBryGuy - fix for compatibility between SCS and Tweaks Unnerfed Bard Spell Table

agb1 - Removed redundant hunk from SCS patch (version line was duplicated); updated Wheels of Prophecy version line patch from v4 to v5 (patches are still applicable)

ALIENQuake - patch to enable ascension-only components for BG2:EE

subtledoctor - additional SCS fix for patch 2.0 https://forums.beamdog.com/discussion/comment/725492/#Comment_725492

CamDawg - SCS fix for patch 2.0 http://gibberlings3.net/forums/index.php?showtopic=27918#entry242986

whiteagnus - SCS EE fix, SCS fixed incompatibility with languages, other than english

CrevsDaak - stratagems khelben Ascension player1.tra fix
khelben modified initialization scripts for Ascension (added USING to the ADD_JOURNAL)
http://www.shsforums.net/topic/56670-big-world-setup-an-attempt-to-update-the-program/?p=584335

CrevsDaak - install failure workaround, wheels fix
http://gibberlings3.net/forums/index.php?showtopic=27692&p=240119

 

@Mike1072 I know that you wanted "each patch inside one commit" but it's simply too much work. I'm sure that DawidW can review patches via nice diff's. But I added kresos RevisedSCS as separate branch as you wanted. Now, I've pushed my repository: https://github.com/BigWorldProject/SwordCoastStratagems moved to https://github.com/Gibberlings3/SwordCoastStratagems

 

- best practices regarding gitattributes for IE mods

- best practices regarding gitignore for IE mods

- best practices regarding gitconfig from Google engineers

- full SCS history from SCS 22 with tags

- author of the commits is David.Wallace, not myself

- commit dates for SCS version are real dates of the releases

- Fixpack Fixes + list with links and authors

- EET compatibility from K4thos

- RevisedSCS branch with kreso as author

- Fixpack Fixes applied onto RevisedSCS branch because some of them were missing, now it's possible to have a nice comparison of changes

- CamDawg "DS v3.95 from RR, with one minor change" commited as CamDawg

 

Now, this is something which I hope make Mike1072 and DawidW happy.

 

@CamDawg Would you consider takeover this repository and put it into https://github.com/Gibberlings3 ?

Edited by ALIENQuake
Link to post

Turns out, SCS was choking on those files for several people, but they had been corrupted by an earlier mod - RR. I can't find the thread where the problem was finally diagnosed... it might have been on SHS, which is currently down. But Wisp figured out that something in DS was failing when it tried to read the information in the 'resource' field in effects in the 2.5 Spell Deflection spells. And he updated RR. I think it's in 4.93? But I only see 4.92 on the RR Github page. The 4.92 readme says "Updated detectable spells" as of May 19th... but I don't know if that was to fix this problem. I thought this issue only popped up in the last couple weeks.

Ah. If what he has fixed is what has been causing issues, then it should be already fixed in the version I linked above. I knew about the potential issue, but figured it wouldn't normally happen.

Link to post

 

It can't form the baseline SCS, though. One consistent thing I've been noticing is that it removes a lot of target-has-SI:X-enabled checks, which is a byproduct of SR removing SI.

Huh. Are they RES checks? SR doesn't actually remove the SI:x spells, it just removes the shell spell and moves the effects/subspells to other places (SI:Div moved to Nondetection, SI:Ench added as Mind Blank, SI:Evoc moved to ProEnergy, etc.) So I imagine it should still handle those immunity conditions, perhaps just with different kinds of checks. Unless kreso cut some corners or something. :laugh:

 

In any event the base SCS does not handle some SR stuff properly, so if the mod's AI coding cannot handle both environments, I guess the question is whether we can still maintain a separate SR-specific fork, and make sure these fixes get into it?

 

It's in the SSL itself, so you'd have to look at the end product. E.g. here are some examples from shadel.ssl (the Shade Lord scripting):

 

//////////////////////////////////////////////////////////////////////
////	Finger of Death
//////////////////////////////////////////////////////////////////////

IF TRIGGER
	ConditionalTargetBlock(PCsPreferringStrong;!CheckStatGT(scstarget,50,RESISTMAGIC))
	TargetBlock(EnemiesInOrderShort)
	TriggerBlock(MR100|SpellTurn|Slay|SINecromancy|Enemy)
	TriggerBlock(DirectDamageSafe)
THEN DO
	Action(Power,WIZARD_FINGER_OF_DEATH,finger,24|150|50)
END

//////////////////////////////////////////////////////////////////////
////	Orbs
//////////////////////////////////////////////////////////////////////


IF TRIGGER
	ConditionalTargetBlock(PCsPreferringWeak;!CheckStatGT(scstarget,50,RESISTMAGIC))
	TargetBlock(EnemiesInOrderShort)
	TriggerBlock(DirectDamageSafe)
	TriggerBlock(MR100|SIEvocation|MinorGlobe|SpellTurn|Enemy|L1safe)
THEN DO
	Action(Power,WIZARD_CHROMATIC_ORB,orb,6)
END

In Revised the SIEvocation and SINecromancy are removed from the TriggerBlocks, among other changes. I believe this falls in line with kreso's description of the 'dispelling screen', where SI-style spells would soak up one spell and then go away. A target having an SI (or its equivalent) is no longer a don't-waste-your-time casting in SR/SCSR because you will, at least, knock out the protection. However these castings are unequivocally wasted without the SI check in a non-SR game.

 

This is full list of authors and fixes from BWFixpack:

 

 

Fixpack fixes from 2013-09-26 to 2017-01-30

Ineth2 - stratagems: Fix mangled patch

Something must have gone very wrong when this patch file was created, because
instead of listing the two sections for the two target files one below the
other, the section for the /bg1/ file *replaced* thebeginning of the section
for the /bg2/ file.
The result was a broken patch which the `patch` utility rejected.
I reconstructed the patch from the original files; now it applies cleanly.

AstroBryGuy - Added missing header to caster_shared.tph.patch

burner1024 - Merge pull request #15 from burner1024/fix-stratagems-fiends

K4thos - EET fix for Viconia in "move NPCs" component (http://gibberlings3.net/forums/index.php?showtopic=28293#entry250996)

Ilya Ivanov - fix improved fiends installation without smarter mages

K4thos - EET fix for unkillable Sarevok with component 7250 (improved chapter 7 end battle - sarevok.tpa)

agb1 - fix for macro_read_in_spells_per_level in caster_shared.tph when mxspl???.2da has an all-zeroes column
https://forums.beamdog.com/discussion/comment/837974#Comment_837974

AstroBryGuy - fix for SoD joinable NPCs whose DVs do not match their PDIALOG.2DA entries
https://forums.beamdog.com/discussion/comment/835909#Comment_835909

agb1 - Updated EET compatibility patch for SCS component 4110 - Allow NPC pairs to separate

agb1 - SCS - ToB aware read_in_NPC_dialog macro

agb1 - Use EET cpmvars for SCS' NPC pairs separate component #4110

agb1 - Fix SCS 4110 (allow npc pairs to separate) install error on EET (not EET's fault, rather due to not installing any other components before this one that would set up SCS internal dialog variables -- the component is now properly standalone thanks to a macro that was included with SCS but never actually used anywhere)
+ More script improvements

Etamin and Cahir - updated Polish translation

Graoumf	- added updated French translation (http://gibberlings3.net/forums/index.php?showtopic=25059&p=248378)

Bartek and Etamin - updated Polish translation (http://gibberlings3.net/forums/index.php?showtopic=25059&p=248377)

agb1 - removed invalid GAME_IS ~sod~ checks from SCS patches

K4thos - EET compatibility patches for SCS v30 (http://gibberlings3.net/forums/index.php?showtopic=28293)

K4thos - bug fix: http://gibberlings3.net/forums/index.php?showtopic=28161&page=3#entry245521

critto - fix for Reduce the number of Arrows of Dispelling in stores

AstroBryGuy - fix for flame arrows and the kobold commando flame arrows

AstroBryGuy - fix for compatibility between SCS and Tweaks Unnerfed Bard Spell Table

agb1 - Removed redundant hunk from SCS patch (version line was duplicated); updated Wheels of Prophecy version line patch from v4 to v5 (patches are still applicable)

ALIENQuake - patch to enable ascension-only components for BG2:EE

subtledoctor - additional SCS fix for patch 2.0 https://forums.beamdog.com/discussion/comment/725492/#Comment_725492

CamDawg - SCS fix for patch 2.0 http://gibberlings3.net/forums/index.php?showtopic=27918#entry242986

whiteagnus - SCS EE fix, SCS fixed incompatibility with languages, other than english

CrevsDaak - stratagems khelben Ascension player1.tra fix
khelben modified initialization scripts for Ascension (added USING to the ADD_JOURNAL)
http://www.shsforums.net/topic/56670-big-world-setup-an-attempt-to-update-the-program/?p=584335

CrevsDaak - install failure workaround, wheels fix
http://gibberlings3.net/forums/index.php?showtopic=27692&p=240119

 

@Mike1072 I know that you wanted "each patch inside one commit" but it's simply too much work. I'm sure that DawidW can review patches via nice diff's. But I added kresos RevisedSCS as separate branch as you wanted. Now, I've pushed my repository: https://github.com/BigWorldProject/SwordCoastStratagems

 

- best practices regarding gitattributes for IE mods

- best practices regarding gitignore for IE mods

- best practices regarding gitconfig from Google engineers

- full SCS history from SCS 22 with tags

- author of the commits is David.Wallace, not myself

- commit dates for SCS version are real dates of the releases

- Fixpack Fixes + list with links and authors

- EET compatibility from K4thos

- RevisedSCS branch with kreso as author

- Fixpack Fixes applied onto RevisedSCS branch because some of them were missing, now it's possible to have a nice comparison of changes

- CamDawg "DS v3.95 from RR, with one minor change" commited as CamDawg

 

Now, this is something which I hope make Mike1072 and DawidW happy.

 

@CamDawg Would you consider takeover this repository and put it into https://github.com/Gibberlings3 ?

Holy crap, I could have saved myself hours of work. Thank you Alien, I'd be delighted to--you've set this up better than I could.

Link to post
author of the commits is David.Wallace, not myself

 

Github says "DS v3.95 from RR, with one minor change" is commited by "dawidw", but searching for users only shows one such person from Poland, Poznan. Did David change his name, or github is playing tricks on me?

Edited by Ardanis
Link to post

 

author of the commits is David.Wallace, not myself

 

Github says "DS v3.95 from RR, with one minor change" is commited by "dawidw", but searching for users only shows one such person from Poland, Poznan. Did David change his name, or github is playing tricks on me?

 

It's one oversight, will fix. Fixed. It has to do with the fact that the AUTHOR of the commit and the person who commits can be two different person in git.

Edited by ALIENQuake
Link to post

I'm going to package up the current repo and send it out into the wild as a release candidate. There's only so much testing I can do alone for a 130-component mod, much less someone else's. :)

 

Again, big thanks to Alien for the repo, and all the folks who contributed the fixes.

Link to post

At some point I'm going to need someone to explain to me how I release my own updated version in this Github framework ... as always I'm very grateful to people who release updates when I'm away, but when (if?) I get out from under work and toddler I'd prefer to use my own previous build as the starting point rather than build on others' code. (Among other issues, I would *strongly* prefer to handle SR compatibility through RequireBlock(Demivrgvs) in the SSL rather than through a separate fork.)

 

Not, to put it mildly, an urgent issue! And many thanks to CamDawg and others for doing a v31 in my absence.

Link to post

I've noticed on github that the EET related commit modifies shout.baf. It's unrelated to EET. Looks like it's there to fix the problem mentioned in this old topic, which also affected SCS. May be a good idea to review this particular change since there were several patches since 2014 to EE games, maybe it's no longer needed (or could be coded better).

Link to commit for shout.baf is not working anymore. How we can compared https://github.com/Gibberlings3/SwordCoastStratagems/blob/master/stratagems/help/baf/shout.baf with the shout.baf from you topic?. You posted two files, while SCS has only one and I'm assuming that it apply the same code changes for BG1EE and BG2EE.

Link to post
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...