Jump to content

Version 28 of Sword Coast Stratagems released


DavidW

Recommended Posts

 

This will mean that SR/IR game will become a bit harder however. If somebody isn't happy with that, SCS ini file includes the option that AI doesn't detect items' immunites, thus I guess it's fine (i.e. right now AI detects Confusion immunity from Lirarcor, but not ADHW immunity from IR Wave halberd. Now it will :D )

 

I always disable the detection of item immunities from the SCS ini file simply because it's a blatant unfairness towards the player.

Link to comment

if you need me to do something (e.g. tweak an item/spell for SCS compatibility sake) just let me know. ;)

Will do.

 

 

I always disable the detection of item immunities from the SCS ini file simply because it's a blatant unfairness towards the player.

I disagree, but understand. Note that if one doesn't tweak .ini file, it takes a round for them to start detecting (more precicely, they detect immidiately, but don't act on it). I usually disable that round as well. :p

Link to comment

 

I always disable the detection of item immunities from the SCS ini file simply because it's a blatant unfairness towards the player.

I disagree, but understand. Note that if one doesn't tweak .ini file, it takes a round for them to start detecting (more precicely, they detect immidiately, but don't act on it). I usually disable that round as well. :p

 

 

I knew you would. :p

 

But from a merely rational standpoint there is no excuse for the AI to know what protections the player has so I find hard to defend a "I disagree" position. The AI cheats. The one round "delay" is simply a "I let the AI wait one round before I start cheating" because there is no causal effect between waiting one round and gaining knowledge of the player's protection.

 

I am eternally grateful for the .ini customizations.

Link to comment

But from a merely rational standpoint there is no excuse for the AI to know what protections the player has so I find hard to defend a "I disagree" position. The AI cheats. The one round "delay" is simply a "I let the AI wait one round before I start cheating" because there is no causal effect between waiting one round and gaining knowledge of the player's protection.

I agree, AI blantatly cheats here. Imo, the perfect soultion would be something like this:

- mage isn't blind, he can see you

- depending on his age/lore/exp (in game terms, level) he can see some of your weapons or armor, recognize them, and act accordingly.

- he cannot see rings (too small) or amulets (small & probably hidden), boots (dirty)

- some "epic" items like Equilizer, Lirarcor should probably be detected even by low-level mages

- some less notable (i.e. Namarra) could be detected by mages above level x.

- clerics should be less effective than mages here, druids even less so

- lich-types should be able to detect everything

 

Best of all, I think this could actually be coded. Not that I'm gonna do it however. :)

Link to comment

 

 

This will mean that SR/IR game will become a bit harder however. If somebody isn't happy with that, SCS ini file includes the option that AI doesn't detect items' immunites, thus I guess it's fine (i.e. right now AI detects Confusion immunity from Lirarcor, but not ADHW immunity from IR Wave halberd. Now it will :D )

 

I always disable the detection of item immunities from the SCS ini file simply because it's a blatant unfairness towards the player.

With that setting, will the AI ever detect item immunities? If you have say, a shield that gives 100% fire res, will the AI know that after throwing a fireball?

Link to comment

With that setting, will the AI ever detect item immunities? If you have say, a shield that gives 100% fire res, will the AI know that after throwing a fireball?

It's more likely to know it before it commits to throwing a fireball, not after ... after all it can check your immunities as is.
Link to comment

 

With that setting, will the AI ever detect item immunities? If you have say, a shield that gives 100% fire res, will the AI know that after throwing a fireball?

It's more likely to know it before it commits to throwing a fireball, not after ... after all it can check your immunities as is.

 

 

I always disable the detection of item immunities from the SCS ini file simply because it's a blatant unfairness towards the player.

^- this

Link to comment

 

With that setting, will the AI ever detect item immunities? If you have say, a shield that gives 100% fire res, will the AI know that after throwing a fireball?

AI will know you're fire-immune regardless of ini, and will not throw a fireball. It will (with AI detect items = 0) cast Charm against someone having Helm of Charm resistance on and similar.

Link to comment

 

 

With that setting, will the AI ever detect item immunities? If you have say, a shield that gives 100% fire res, will the AI know that after throwing a fireball?

AI will know you're fire-immune regardless of ini, and will not throw a fireball. It will (with AI detect items = 0) cast Charm against someone having Helm of Charm resistance on and similar.

 

I'm not sure I understand. So AI will detect elemental resistance from my shield but not Charm resistance from my helmet?

 

Follow-up: after the AI casts Charm vs HoC - and it turns out I'm immune - will the AI notice it or keep casting Charm?

Link to comment

I'm not sure I understand. So AI will detect elemental resistance from my shield but not Charm resistance from my helmet?

Yes.

 

Follow-up: after the AI casts Charm vs HoC - and it turns out I'm immune - will the AI notice it or keep casting Charm?

Yes. That's why I do enable AI to instantly detect, otherwise they're a bit dumb.

Link to comment

I'm not sure I understand. So AI will detect elemental resistance from my shield but not Charm resistance from my helmet?

Yes.

Hmm, this confuses me. What's the delimiter? It can't detect elemental resistances I take it, but what else can and can't it?

 

 

Follow-up: after the AI casts Charm vs HoC - and it turns out I'm immune - will the AI notice it or keep casting Charm?

Yes. That's why I do enable AI to instantly detect, otherwise they're a bit dumb.

I see. Default behaviour is 1 round, and you can also turn it off fully (like Salk does). Is it possible to extend the 1 round delay via .ini?

 

Also, much obliged for the answers and insights so far.

Link to comment

 

I'm not sure I understand. So AI will detect elemental resistance from my shield but not Charm resistance from my helmet?

Yes.

 

I am confused myself now.

 

I was under the impression that the AI wouldn't detect any kind of immunity or resistance granted by all equipped items.

 

From the read me:

 

  • AI_Does_Not_Detect_Items (0) - set this to 1 and enemies will completely fail to notice your protective magical items. (This is likely to cause some odd behaviour.)
Link to comment
This is a part (for FourtNearestEnemyOfMyself which IS targetable) of script responsible for fireball casting.




IF

!GlobalTimerNotExpired("castspell","LOCALS") // have I got a clean aura?

HaveSpell(WIZARD_FIREBALL) // do I have a firaball to cast?

!StateCheck(FourthNearestEnemyOf(Myself),STATE_NOT_TARGETABLE) // can the enemy be targeted?

!CheckStatGT(FourthNearestEnemyOf(Myself),0,SANCTUARY) // is he sanctuaried?

CheckStatLT(Myself,50,SPELLFAILUREMAGE) // am I suffering from some kind of spell failure (hit by WizardSlayer, Insects etc.)

!CheckStat(FourthNearestEnemyOf(Myself),2,WIZARD_SPELL_TRAP) // Is the target protected by Spell Trap

See(FourthNearestEnemyOf(Myself))

!CheckStatGT(FourthNearestEnemyOf(Myself),99,RESISTMAGIC) // Is he immune to magic

!CheckStatGT(FourthNearestEnemyOf(Myself),50,RESISTFIRE) // Is target's fire resistance greater than 50?

!CheckStat(FourthNearestEnemyOf(Myself),6,WIZARD_SPELL_IMMUNITY) // Is target under SI:Evocation

!CheckStatGT(FourthNearestEnemyOf(Myself),0,MINORGLOBE) // Does he have a Minor Globe?

!HasItemEquiped("FIRE IMMUNE SHIELD",scstarget) // this does not exist in script ofc.


This is how targeting works. You theoretically could deactivate the 50% Resist Fire part - this 50% includes item bonuses, spell bonuses etc. It's irrelevant from where the fire resistance actually comes, is it an item, a spell, potion or inborn.

The last line is "specific", and these are the ones I've altered.

This is what ini option disables, not 50% fire resist; 99% magic resist etc.

Only those referencing to specific items. SCS builds a "database" for all confuse-proof, charm-proof etc. items in the game and adds a marker. That marker is then used for !HasItemEquiped blocks. Not everything is covered (i.e stuff that's usually covered is Enchantement, Stuns and similar).

To make it more clear - you can, for example, create an item (say ring) which doesn't give 100% Fire resistance BUT gives outright immunity to Fireball spell. This SCS won't notice, unless specifically told so (this is; in essence, what I'm doing to it's scripts for IR)

If you make a ring with 51% Fire resistance, SCS won't use Fireball against it. You may be cought in the blast, but ain't gonna be a "prime target".



Example of what I'm doing, script (part of) for ADHW (on SR/IR install):


!CheckStatGT(ThirdNearestEnemyOf(Myself),30,MAGICDAMAGERESISTANCE)


!CheckStatGT(ThirdNearestEnemyOf(Myself),50,RESISTMAGIC)

!CheckStat(ThirdNearestEnemyOf(Myself),7,WIZARD_SPELL_IMMUNITY)

!StateCheck(ThirdNearestEnemyOf(Myself),STATE_IMMOBILE)

!CheckStatGT(ThirdNearestEnemyOf(Myself),0,HELD)

!HasItemEquiped("halb09",ThirdNearestEnemyOf(Myself)) // Halberd +4: Wave // IR adds ADHW immunity

!HasItemEquiped("plat16",ThirdNearestEnemyOf(Myself)) // Armor of the Hart +3 // IR adds SI:Necromancy


The bolded lines are new, ofc. In a "regular" download SCS would check for CLCK26 (Mirror Cloak). Since the cloak is changed in IR, there's no more reason to include it, thus it's removed. These 2 lines can be deactivated via ini. The rest can't.

I hope I've been clear....


Link to comment

Hmm, this confuses me. What's the delimiter? It can't detect elemental resistances I take it, but what else can and can't it?

.....

I see. Default behaviour is 1 round, and you can also turn it off fully (like Salk does). Is it possible to extend the 1 round delay via .ini?

It can detect resistances, kits, spell protections, and whatever it's told to detect.

I don't really know if you can extend the delay.

Link to comment

Archived

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

×
×
  • Create New...