Jump to content

Spell/Combat protection mechanics


scorpio

Recommended Posts

So how does the new Greater Deflection fit into this system? If grants more levels of protection, but is dispelled by the same spells as Normal Deflection, then it's basically useless.

Well, it stops AoE spells with the relevant tweak. The difference between Greater and "normal" is that the latter won't stop ADHW, while the first one will.

 

 

who have the option to "burn through" defenses even after they run out of counterspells.

This is where "AoE Spell Deflection" comes in. Even if your mages won't be targeted by Fireball/Chaos/whatever, if they get caught in AoE they'll eventually run out of protection levels (if you aren't paying attention to positioning or don't care).

Your point does make sense however - thinking of it, I could probably alter SCS scripts to ignore these protections for damaging/disabling spell checks alltogether. I don't know what the outcome would be however. (probably, semi-suboptimal AI wasting spells). This could actually be "more fun", but I doubt it would be effective in practice.

Link to comment

Well that's the problem: DavidW doesn't want AI mages to "waste" spells. But it's *not* a 100% waste; it's just a less-optimal method than dispelling. It's a strategic option that is perfectly valid in some circumstances; but SCS takes that option away.

 

I really don't know you could code for it in an efficient way; I don't think it's possible to count how many spell levels have been burned and how many remain. So you have to make the AI perfectly efficient with one tactic, but completely lose another; or you give the AI access to both tactics, with the result that they are somewhat "wasteful."

 

Frankly the latter option seems better to me. If they have a dispelling spell in memory they'll always prefer to use it, anyway, so it's no like they will throw away spells when they don't *have* to.

 

What do you think about he secondary effects to make Spell Thrust, Secret Word et al. slightly more effective against higher-level protections?

 

I suppose SCS would never make use of that either. Sigh. Once again SCS plays Marsha to my Jan. Will I never tame this beast???

Link to comment

Well that's the problem: DavidW is terrified of AI mages "wasting" spells. But it's not a 100% waste; it's just a less-optimal method than dispelling. It's a strategic option that is perfectly valid in some circumstances; but SCS takes that option away.

 

I really don't know you could code for it in an efficient way; I don't think it's possible to count how many spell levels have been burned and how many remain. So you have to make the AI perfectly efficient with one tactic, but completely lose another; or you give the AI access to both tactics, with the result that they are somewhat "wasteful."

 

Frankly the latter option seems better to me. If they have a dispelling spell in memory they'll always prefer to use it, anyway, so it's no like they will throw away spells when they don't *have* to.

 

What do you think about he secondary effects to make Spell Thrust, Secret Word et al. slightly more effective against higher-level protections?

 

I suppose SCS would never make use of that either. Sigh. Once again SCS plays Marsha to my Jan. Will I never tame this beast???

What I could do (and anyone interested in this) is simply remove the checks in SCS scripts.

Basically, turn this (for Flame Arrow):

 

TriggerBlock(MR|ResistFire|Enemy|ArrowSafe|SpellTurn|MinorGlobe|Helpless)

 

into

 

TriggerBlock(MR|ResistFire|Enemy|ArrowSafe|MinorGlobe|Helpless)

 

 

Mages would still "detect" your Deflection, they'd still prioritise (I think, but I'm not sure!!!) to take it down with spell protection removals, but when it comes to damage/disabling spells, they'd simply cast against it.

It would have a lovely side effect of less lag.

The more I think of it, the more I like it, tbh. All that apsorption levels would actually make sense. The only problem is that the system is exploitable, but then again, the whole game is exploitable anyway and we're not SWAT to control players.

This could be done on SR side by making Deflections undetectable, but that means that AI would never use removals to get rid of it, thus it's a no-no .

It could also be further balanced by tweaking the number of spell levels absorbed. I really, really like this idea.

Sec effects - kind of meh imo. I mean, who'd waste a round on this? You're better of throwing a Skull Trap or whatever.

Link to comment

Well, I have some crazy idea about how this could be implemented on SR side (if Demi thinks this is worth a shot) - simply alter the Deflections detection into something else (I'm not sure what however, but there probably is some kind of spell protection not detectable as either Deflection or Turning, and isn't Globe - Spell Shield maybe?).

 

This is what SCS will check for the relevant trigger:

TRIGGER=SpellTurn
!CheckStatGT(scstarget,0,WIZARD_SPELL_DEFLECTION)
!CheckStatGT(scstarget,0,WIZARD_SPELL_TURNING)
!CheckStatGT(scstarget,0,WIZARD_SPELL_TRAP)
!CheckStat(scstarget,1,CLERIC_SHIELD_OF_THE_ARCHONS)
The easiest solution is to simply remove the checks which can be "burnt through" via a custom lib file, and make this into:
TRIGGER=SpellTurn
!CheckStatGT(scstarget,0,WIZARD_SPELL_TRAP)
!CheckStat(scstarget,1,CLERIC_SHIELD_OF_THE_ARCHONS)

 

Here's your new AI, done. Mages will still try to remove your most precious protections with infinite absorption, but will try and burn your Deflections away with "normal" spells.

My only problem is that SCS will try to use Breach against Deflections, which is probably quite suboptimal (but then again, one could alter Breach to bypass Deflections alltogether, like in the vanilla game - leaving you with Dispel Screen, Spell Shield, Spell Trap and in case of clerics, SoTA for Breach protection - more than enough imo.)

With some script fiddling, this could be made even better (that's probably for DavidW to decide, but I'm fairly ceratinly gonna do it for myself) - leave the SCS SpellTurn trigger as it is, but remove the relevant checks from the scripts themselves. This way, one can make sure mages don't waste some really nasty stuff like FoD and similar, use Breach vs Deflection etc. but will likely use 3xFlame Arrow to burn through.

Link to comment

Kreso pretty much answered for me already, but I may add few things.


Players "have the option to "burn through" defenses even after they run out of counterspells" yes, but before it players could actually fully ignore Spell Deflection/Turning and just cast an AoE spell right next to the protected mage.

 

Intentionally burning Spell Deflection with spells isn't very efficient unless you are lucky enough to get some other opponent with "collateral damage".

 

I indeed need more feedback (actual in-game feedback, I consider myself very good at balancing stuff "on paper" but it often isn't enough) and while I don't agree with granting "99 levels of protection ... basically how SCS mages handle this right now" I have already considered to raise the levels of protection a bit. That would probably slightly favor AI more than players.

 

When it comes to "alter SCS scripts to ignore these protections for damaging/disabling spell checks" I'm not 100% sure it would work well but if the AI scripts still prioritize removals then it could be a good improvement.

Link to comment

When it comes to "alter SCS scripts to ignore these protections for damaging/disabling spell checks" I'm not 100% sure it would work well but if the AI scripts still prioritize removals then it could be a good improvement.

SCS scripts aren't as "predictable". Mages will summon, toss Melfs, use AoE, sequencers, whatever (they won't always use Spell Protection removals even if protections are used - this is so they actually avoid the trap of not doing anything but casting removals).

However, if Deflections remain within Detectable Spells, and SCS trigger is checked only for Spell Trap (shouldn't this have infinite apsorbtion? Desc.says nothing new) and SoTA, AI is in fact (taaaa-dam) even more effective in certain cases.

Note that AI will still use AoE against Deflections, even if they protect against it (so making AI use single-target spells vs Deflection is very likely to burn them completely, and a purist can say that AI is already kind of screwed here).

I did some testing vs Lavok. (on my current install, only Spell Trap is accounted for Deflection targeting - actually, ST prevents targeted spells from being aimed at PCs - this is what happens with "non-modified" SCS with all Deflections/Turning spells)

Test one - buff with Spell Trap - response - Ruby Ray as first spell (after initial Chain, Time Stop and Alacrity) - predictable ofc.

Test two - buff with Greater Deflection - 2x ADHW (burn through Deflection) - 3x Flame Arrow + melfs - dead - in this instance, better than removing Deflection.

Test three - buff with Greater Deflection - 2x ADHW (Deflection burned) - summon mordy - I buff with GSD again - Lavok uses Ruby to remove it :7up:, thus proving the point that removals will be used.

 

rubi_zpsxhvjyrct.jpg

 

 

Cute, isn't it? Imo, far better then "I have Deflection, I SHALT NOT BE TARGETED (unless it's AoE spell, which will in fact be stopped") gameplay.

You can still (and AI as well) keep Deflections up by Globes and Pro x spells (Fire, Energy, Chaotic Commands etc.); I wouldn't buff them.

Link to comment

Well, I have some crazy idea about how this could be implemented on SR side (if Demi thinks this is worth a shot) - simply alter the Deflections detection into something else (I'm not sure what however, but there probably is some kind of spell protection not detectable as either Deflection or Turning, and isn't Globe - Spell Shield maybe?).

(EDIT - I misunderstood you)

 

But, it looks like you've already run with this and are getting good results. Sweet!

 

far better then "I have Deflection, I SHALT NOT BE TARGETED (unless it's AoE spell, which will in fact be stopped") gameplay.

Yeah - awesome.

Link to comment

(but then again, one could alter Breach to bypass Deflections alltogether, like in the vanilla game - leaving you with Dispel Screen, Spell Shield, Spell Trap and in case of clerics, SoTA for Breach protection - more than enough imo.)

I missed this in the middle, but this seems totally reasonable to me as well.

Link to comment

Nice stuff Kreso. Anyway, you'll still need CHA 25 and a critical success to convince DavidW to touch the "protections vs. removals" behaviour. That is, unless he directly wishes to delegate you handling SR checks within SCS (didn't he already did something similar for your work on SCS+SR?).

Link to comment

 

(but then again, one could alter Breach to bypass Deflections alltogether, like in the vanilla game - leaving you with Dispel Screen, Spell Shield, Spell Trap and in case of clerics, SoTA for Breach protection - more than enough imo.)

I missed this in the middle, but this seems totally reasonable to me as well.

 

I agree, this would arguably be the best solution - but it means changing SCS as well.

 

What I think would also work (in a way all "work" for the end user is done by SR, without fiddling with SCS scripts) is simply make every Deflection spell use Spell Shield Detectable spells code.

Game effect - mages use removals against it, will not use Breach against it (perfect!), and would cast spells against it (if character isn't otherwise protected against spell which would be used, ofc).

SCS would use this code:

 

IF TRIGGER

IgnoreBlock(Indiscriminate)

TargetBlock(PCsInOrder)

CheckStatGT(scstarget,0,WIZARD_SPELL_SHIELD)

TriggerBlock(Enemy|Helpless)

RequireBlock(HasL3)

!GlobalTimerNotExpired("dropped_spell_shield","LOCALS")

THEN DO

Combine()

SetGlobalTimer("dropped_spell_shield","LOCALS",12)

Action(SpellArea,WIZARD_WARDING_WHIP)

Action(SpellArea,WIZARD_SPELL_THRUST)

Action(SpellArea,WIZARD_SECRET_WORD)

Action(SpellArea,WIZARD_PIERCE_MAGIC)

Action(SpellArea,WIZARD_RUBY_RAY_OF_REVERSAL)

END

 

 

@Demi

The only thing that's missing for "full compatibility with SR/IR" is PW spells being Enchantment (currently, AI sees them as Conjuration).

There are some minor code errors but nothing overwhelming (ie. mages will check for save vs spells when casting Slow, while it's Poly save and similar). A lot of stuff is majorly improved in v30 of SCS regarding the compatibility.

Afaik, DavidW mentioned that the best way to handle compatibility between SR/SCS is that SR "ships its own DS". Now, apart from changing PW spells back to Conjuration (I'd avoid it because of Mind Blank -then it would protect you against Symbols, Flame Arrows etc.) there's little to do on SR side for them - I could probably alter the scrips and upload a fix (should take 20 minutes to tweak them I guess).

 

Hence, the best way of action could probably be one of the following:

a) Deflections coded as Spell Shield (this would have a side-effect - AI would not use Spellstrike or Breach vs them) - not game tested however.

(I'll run some tests tomorrow).

b) make really minor SCS adjustments in SpellTurn checks (maybe I can do something here - DavidW was kind enough to make an option for SR library, so you could ship that). The drawback is that the player should install SR, copy the modified library file (this I can upload easilly) to SCS folder, and then install SCS, at least until DavidW comes back and does that for us. :D

 

b) would also mean that AI would use Breach against Deflections (unless we decide to fiddle there as well. It's 2 lines of code governing that, easilly deleted :rotflmao:) - thus they probably should not block it anymore.

 

For convinence sake, I'd vote as a) being the easiest/cleanest solution, and it would mean zero tinkering with SCS. Install SR, install SCS, go play.

 

If the idea has merit, that is. Imo, SCS actually behaves as it "should" since the Deflection and Turning are in the same block. It would indeed be stupid to cast vs Turning, but casting vs Deflection has merit (how many Deflections do PC mages memorize anyway?).

It would also make Spell Shield abuse (endless spamming of the damn spell since it always gets removed first) far less overwhelming.

(Right now for as long as you can spam Spell Shield to keep Deflection you're invulnerable to magic actually - that wouldn't be the case if AI would try to remove it with spells).

 

Or, we can "persuade" DavidW when he comes back that the idea has merit even without SR, that this is the new BG metagame, and that it is the real deal, spell removals be damned.

 

One more line, and end of rant: for SCS players, how many times did you see "Deflection being burned?" :hm:

Link to comment

I have already considered to raise the levels of protection a bit.

IFF something like kreso's tweak/fix is applied, and AI mages use spells that might 'burn through' protections, then it's probably worth going the other way, reducing the levels of protection by maybe 20%. But with SCS behavior as it is now, then yeah it's probably worth increasing the protection by 25-50%. (I'm also good at balancing 'on paper!' :p )

 

One more line, and end of rant: for SCS players, how many times did you see "Deflection being burned?" :hm:

I think never. This whole bit of discussion was inspired by someone I noticed posting this behavior as a bug report in the SCS forum...

http://gibberlings3.net/forums/index.php?showtopic=27035&p=232885

Link to comment

So, can someone tell me what the plan is for spell protections?

 

I just installed the latest beta on BG2EE and I see the following in NI:

spwi318 = Minor Spell Deflection (blocks 4 levels)

spwi406 = Minor GoI

spwi522 = Spell Deflection (blocks 9 levels)

spwi602 = GoI

spwi618 = Spell Deflection (blocks 9 levels) <-- same as spwi522...??

spwi701 = Greater Spell Deflection (blocks 12 levels)

 

And I don't see any Greater GoI.

Link to comment

Archived

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

×
×
  • Create New...