Jump to content

SCS - IR/SR Improved compatibility tweak


kreso

Recommended Posts

Some time (months) ago I said I would work on improving the compatibility in between my fav mods; namely SCS and Revisions. What bothered me before is that while SCS improves on BG AI drastically, it doesn't always respond "correctly" (better said, doesn't take into account) various tweaks from SR and various item immunites from IR.

Given how SCS scripts are compiled, it was fairly easy to tweak them so the AI would have no (I hope!) stupid decisions such as repeatedly casting certain spells on a target which is completely immune to the named spell.

DavidW already did a great job with SCS/SR compatibility, thus I've:

a) fixed many inconsistencies

b) acccounted for new SRv4 spellbooks (especially druids)

c) made IR items with various spell immunities "detectable" by AI

 

So, what can one expect from this?

Basically, consistency. AI casters shouldn't be casting spells you can't. They now take into account newest SR (v4) spell tweaks like Magic resistance check on Insect/Touch attack spells.

Targeting is slightly improved and takes into account characters which are fairly likely to fail a specific saving throw (example - Finger of Death spell forces a save vs Death, making this spell the bane of mages. SCS previously used to target it on fighters - now weak characters will be promptly targeted instead - you might want to use Deflection/Death Ward far more often on mages now).

All this shouldn't have a drastic effect on gameplay, but it will probably make game slightly harder to end-users. Wether this is good or bad is another thing.

One specific note goes to beholders - they should now really be worth the EXP one gets from killing them. Before this tweak, one could equip a strong evil fighter with a specific set of items (not including Balduran shield) which would make him immune to virtually anything a beholder could throw at him. This tweak does not make this impossible, but don't expect Beholders to waste rays on such a character.

Ditto Demiliches. In previous instances, they couldn't detect Imprisonment immunity from IR boots of etherealness, which would result in repeated casting of Trap the Soul on an immune character. Not anymore, however - character wearing those will not be a valid target for the AI.

 

How to use:

1) download the file here

2) extract to your BG2 folder

It should ask if you want to overwrite anything, say yes to everything

Install SCS as you would.

 

Use (extract) this after Mad Mate's SCS Fixes (I worked on my tweaks at the same time as Mad Mate did on his fixpack, thus they're pretty much included in files altered- you won't break anything).

Important note:

Only use this with both IR and SR. As it stands now this is incompatible with "non-revisions" game (why would one use it anyway?).

I did my best to make it compatible however, but I needed a specific file altered - library.slb. I couldn't get SCS to "read" from a different library (blame my lack of skill. While one can easilly read scripts, making SCS to acknowledge the existance of a seperate .slb file is beyond me).

I still used RequireBlock/IgnoreBlock to make it easilly readable and tweakable.

Hence, if you'd use this on a non-SR/IR game AI would behave suboptimaly.

 

Some plans for the future:

I'd like to slightly revise spell selection AI uses. Frankly, SCS uses some spells slightly too often imo - namely, various invisibilities (gets annoying without a thief/innate TS), Teleport field (mega annoying and slows down FPS, epecially if there are several of them active), and lastly - Time Stop (annoying, not really worth the 9th level slot imo, especially with SR).

I'd replace these with some spells I find a bit more useful (example - Time Stop - Wail of Banshee/Gate/PW:Kill/Apsolute Immunity, Telly Field - Pro Missiles (far better with SR); Invisibilites I'd probably turn into something offensive. We'll see.

Link to comment

How to use:

1) download the file here

2) extract to your BG2 folder

It should ask if you want to overwrite anything, say yes to everything

Install SCS as you would.

Where's the install IR, SR and SCS ? Also you might wish to make sure to mention the beta versions for each mod.
Link to comment

I'd like to slightly revise spell selection AI uses. Frankly, SCS uses some spells slightly too often imo - namely, various invisibilities (gets annoying without a thief/innate TS), Teleport field (mega annoying and slows down FPS, epecially if there are several of them active), and lastly - Time Stop (annoying, not really worth the 9th level slot imo, especially with SR).

I'd replace these with some spells I find a bit more useful (example - Time Stop - Wail of Banshee/Gate/PW:Kill/Apsolute Immunity, Telly Field - Pro Missiles (far better with SR); Invisibilites I'd probably turn into something offensive. We'll see.

If you can spell this out in slightly more detail I'll consider implementing it (to some extent).
Link to comment

 

I'd like to slightly revise spell selection AI uses. Frankly, SCS uses some spells slightly too often imo - namely, various invisibilities (gets annoying without a thief/innate TS), Teleport field (mega annoying and slows down FPS, epecially if there are several of them active), and lastly - Time Stop (annoying, not really worth the 9th level slot imo, especially with SR).

I'd replace these with some spells I find a bit more useful (example - Time Stop - Wail of Banshee/Gate/PW:Kill/Apsolute Immunity, Telly Field - Pro Missiles (far better with SR); Invisibilites I'd probably turn into something offensive. We'll see.

If you can spell this out in slightly more detail I'll consider implementing it (to some extent).

 

I'll try. In BG1, there aren't many ways one can remove invisibilities. True Seeing is basically unavailable in most cases, Oracle comes late. 2nd level slots filled with Detect Invisible and similar stuff are expensive to use (fwiw, I prefer Deafeneng Blast as 2nd level spell - it would be cool if you could implement this spell for casters like you did with Sunscorch for druids etc., it's fairly useful - It's a substitute for Deafness). I once witnessed an occurence where Semaj (final BG1 battle) expended his spellbook and went invisible, while my party had no means of removing it. He refused to do anything apart remain invisible. The only way to finish the game (at that point) was to lure Sarevok near him and use Detonation arrows there, so Semaj would suffer explosion damage.

2nd, invisibility doesn't really make casters much harder, simply more annoying. While Improved version is indeed neat, regular is either a pain in the a** to deal with or virtually useless (provided one has means to remove it).

Another point is that one can often use all his anti-invis spells on a caster which uses several invisibility instances, then you need to rest to fight another mage which is imo very bad rpg-wise (fight, rest, fight etc. - I prefer to rest when party is exhausted, not when I have no more invisibility detection because random numbers got the mage more than several castings of invisibility).

I think this would lead to a bit more immersive and fluid/faster gameplay.

I don't mind invisibility casting here and there, but it's used very much.

 

Teleport Field

1st, it's a graphically fairly intensive spell.

2nd, with mages moving around, hitting them in melee (which is what TF somewhat counters) is fairly difficult anyway.

3rd, Pro Missiles within SR makes the mage immune to any missiles, be it magical or regular, regardless of enchantement level. Hence my belief that the spell is actually better for AI than TF (missile immunity for 60 seconds). What happens in game is that mages tend to use PFMW + TF. The whole defensive tactic they use falls apart with 2 hasted bow users, ripping the mage to shreds in a matter of seconds with non-enchanted arrows, regardless of Telly Field, which doesn't really hurt characters with ranged weapons. Pro Missiles + PFMW + Fireshield (it's not removed by Breach anymore) would be (imo) simply more useful to them.

 

Time Stop

I think mages simply don't benefit from this spell that much. Sure, Irenicus/Mellisan/Warden are dangerous when they use it. But for a single-class mage, there are far better options with 9th level slots. Apsolute Immunity (with SR) is buffed a lot (it's literally apsolute immunity to everything). While it's counterable unlike TS, it's cast faster, lasts longer, and doesn't force the player to sit back through TS duration and do nothing - this gets annoying (Kangaxx can use 2-3 TStops, and I didn't find him that deadly while using it). Offensive spells at level 9 would imo be much better option to use - there isn't a "bad" choice here.

Link to comment

Is it okay if I stick your modified library.slb into v29 for SR/IR games? (& if so, what should I check for before activating it - SR, IR, or both?)

Yes, ofc. I needed .slb to remove clck26 from targeting mostly, then I added a few more tweaks since this makes the whole process very easy, less prone to error and much faster (SI:Necro for an armor, Free Action/Stun interraction, etc.)

& you'd be looking for both - pretty much all !HasItemEquipped checks are only valid for an IR install, while most of the script changes; especially various Spell Immunity detection/saving throws are based upon SRv4 changes.

If either one of them isn't installed, this won't work nice.

Link to comment

Fine. Anything I should be adding to the vanilla version, or is it all SR/IR based changes?

All other (vanilla) script errors I found are in Mad Mate's fixes. Off topic, you might want to check potion use on some characters - Sanik in Brynnlaw shouldn't be getting them due to scripted assassination, and in BG1 there is one character (Getlik?), a gnome in Nashkel Mines areas - he gets ambushed by kobolds, and drinks a potion when area loads.

 

There's also this from vanilla .slb

TRIGGER=L1safe
!HasItemEquiped("misc73",scstarget)
TRIGGER=L2safe
!HasItemEquiped("misc73",scstarget)
Misc73 is Horn of Kazgaroth. This item can't be equiped (I don't know if this is part of a "bigger picture" however)
Link to comment

OK, I've just diffed the new library with the vanilla one. Some questions:

 

(1) why has reference to IKKAT71A/71B been removed? As I recall, that's BG2Tweaks compatibility - does the associated item work differently in IR?

(2) Why the removal of the timer checks for DMWWSeePNM? (Incidentally, if they are removed the OR(2) really has to be removed too, or weird things will happen.)

 

Edit: on this

& you'd be looking for both - pretty much all !HasItemEquipped checks are only valid for an IR install, while most of the script changes; especially various Spell Immunity detection/saving throws are based upon SRv4 changes.

I'm just talking about the library file changes, not the script changes. (I'd need some more detailed account of what's going on in the script changes before including them - and I don't really have time to do a diff on all of them myself.)
Link to comment

1) It's Hindo's Doom, no?. The item is the same more or less, but it's sw1h71 afaik. There's no reference to ikkat in game. Unless the changed name has some other meaning.

 

2) Hmm. I touched none of the timers intentionally, I'll recheck. Maybe a typo of sorts. (if it's changed, revert it pls - probably a mistake, even if I fail to see how I made it)

 

 

I'm just talking about the library file changes, not the script changes. (I'd need some more detailed account of what's going on in the script changes before including them - and I don't really have time to do a diff on all of them myself.)

KK. If you need a list of sorts about what's different or any help I'll do what I can (usually if I changed anything in scripts I used // comment why after the change, but I understand there's a lot of it, and some are indeed fairly minor). If you'd want a complete systemized list I can compile it and send it to you.

 

Edit:

Aha. Found the timer error. Non-intentional, I fail to see how or why I removed them, especially all instances of it. Fixed and re-uploaded.

Link to comment

I've compiled a list of changes, and reasons why. I also re-checked the scripts and tightened some missing checks, file is re-uploaded again (link in the 1st post).

 

@DavidW -

I'm perfectly fine (and the game is as well) even w/o all the item checks. There are a few I really wanted to add - namely, IR armor aka SI:Necro, and the annoying clck26 checks - the item has value in IR install but isn't nearly as broken as vanilla item, and there's no reason that the wielder should be considered a non-valid target for damaging spells.

Boots of Etherealness (boot11) make Demilich behaviour silly (spamming Imprison on immune target) and I really wanted to avoid that, since it's very immersion-breaking for me.

Others (various Blind immune stuff, Symbols-immune, etc.) are (imo) fine even if remain "undetectable" since there's both a fair chance of AI choosing a different target, or simply casting the spell once then casting something else etc; nvm the AoE on some spells.

Most spell changes can be summed up like this:

- there are two "Spell Immunity" spell in SRv4, namely SI:Abj and SI:Div. Others don't exist (probably SI:Enchantement will in form of Mind Blank). There are (few&random) instances of AI fighter/mage classes using SI:Conjuration. If this can be removed it would be cool for consistency sake - make them use SI:Abj - it protects against Carsomyr/Dispel arrows as well in additon of granting a 50% magic resistance bonus, so it's very good)

- all PW spells are changed from Conjuration to Enchantement. I think I fixed all such errors.

- Cloud-based spells and Web are Conjurations, so Enchanters can use them

- druids are fairly limited in defensive spells selection. Insect-spells are otoh awesome.

- priests are defensive powerhouses with Physical Mirror, so if a priest can cast it it should have a very high priority

- touch-attacks are very deadly

listofchanges.txt

Link to comment

Does this mean that spell revisions 3.1 is no longer supported by scs as of version 29?

No. This is a tweak I made to "enhance" item detection/spell usage of SCS casters in case IR and SR are installed. A fair bit of stuff is included in SCSv30, so this is outdated. Don't use it.

Link to comment

Archived

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

×
×
  • Create New...