Jump to content


Photo

EE SPLSTATE


27 replies to this topic

#1 kreso

kreso
  • Modders
  • 2622 posts
  • Gender:Male
  • Location:Istra, Croatia

Posted 14 May 2017 - 01:48 AM

Question - are these set automatically or do they need to be patched onto spells?

 

Ones I'm curious about are

123 - APSOLUTE IMMUNITY
 76 BARBY RAGE
 10 GOOD CHANT
 77 ZERK RAGE
 75 RAGE FATIGUE
 41 CHAOTIC COMMANDS
 38 DEAF
 8 DEATH WARD
 11 CHANT BAD
 250 DISEASED
 29 FREE ACTION
 28 GREASE  
 7 HELD  
 99 CLARITY POTION
 107 PRO PETRIFY
 106 PRO FEAR
 104 ENRAGED
 27 WEB
 
One more, I see a state:EVASION. I don't know if this is IWD legacy, but can it be used (example, a thief would get in his CLAB a spell that sets this state, then I patch the fireball to exclude this state from damage, then my thief wouldn't suffer from fireballs?)


#2 subtledoctor

subtledoctor
  • Modders
  • 2013 posts
  • Gender:Male

Posted 14 May 2017 - 07:35 AM

Looks like there is an opcode that interacts with Evasion. I just noticed it, but now I don't remember which one it is. 333, maybe?

If we could use a SPL to set the Evasion state, and regular spells could be patched to behave like they do in IWDEE, that would be pretty amazing. Then IWD-style Evasion could be brought into BG(2)EE, as a class/kit ability or HLA or feat.

People tell me Evasion is "hard-coded" but I don't understand which aspect of it is. If the hard-coded part is the way the opcode interacts with the spell state (meaning, what I wrote above could work) or is the fact of thieves getting Evasion as a class ability in IWDEE (meaning, what I wrote above could work in BG(2)EE), then I would be s very happy boy.

Any Beamdog devs around to comment on this?

Faiths & Powers: Spell spheres and kit pack for priests and paladins
Might & Guile: Tweaks and kits for warriors and rogues
Scales of Balance: Game tweaks and rule overhauls
NPC_EE: More options for NPCs in BGEE, SoD, & BG2EE


#3 kjeron

kjeron
  • Members
  • 49 posts

Posted 14 May 2017 - 08:40 AM

You can set the Evasion SPELLSTATE on anyone with Opcode 328/335 (as IWDEE does through the THIEF CLABs).

You can precede any spell with opcode 318/324, parameter2=63 to allow an evasion check against that spell.

 

The hard-coded parts:

  You must be a THIEF, THIEF/MULTI, or THIEF/DUAL for the evasion check to occur.(You CAN apply a temporary(0-duration) change class effect right before opcode 318/324 to achieve this.)

  You cannot be "Helpless".

  Your level modifies the success chance - I've never seen it successful below level 7.

  It cannot be your own spell.

  Uses Save vs. Breath score.

 

 

As for other SPELLSTATES - some are hard-coded to be set by specific opcodes, others are not, you would have to manually check each one.  You can manually set any of them, and some of them have hard-coded effects, such as SUPRESS_HP_INFO, doing exactly what it says.



#4 kreso

kreso
  • Modders
  • 2622 posts
  • Gender:Male
  • Location:Istra, Croatia

Posted 14 May 2017 - 08:51 AM



People tell me Evasion is "hard-coded"

Well, it seems you cannot SET this state.  :schimpf:

 

Under 328 opcode, one has 8 values. Evasion isn't there. It's in splstate.ids however. But I can't find a way to set it via spell. Bollocks.

 I wish Beamdogers would finally unify all EE editions to use all the stuff there....

Under 357 opcode, nada, two parameters, and I don't know what they adhere to. Any relevant info on the matter? I've googled a bit but failed to find anything.

 

Then again...look.  :jump:

 

evas_zps87uygjds.jpg

 

I've set the Cat's Grace with 328, then added 324 to Fireball spell (spwi304). How cool is this :D ?  Afaik Cat's Grace isn't used in BG, so one could *borrow* it for such things......



#5 kreso

kreso
  • Modders
  • 2622 posts
  • Gender:Male
  • Location:Istra, Croatia

Posted 14 May 2017 - 08:56 AM

You can set the Evasion SPELLSTATE on anyone with Opcode 328/335 (as IWDEE does through the THIEF CLABs).

You can precede any spell with opcode 318/324, parameter2=63 to allow an evasion check against that spell.

My NI shows only 8 effects under 328, and Evasion isn't there. 

 

 

As for other SPELLSTATES - some are hard-coded to be set by specific opcodes, others are not, you would have to manually check each one.  You can manually set any of them, and some of them have hard-coded effects, such as SUPRESS_HP_INFO, doing exactly what it says.

Ok, thanks.



#6 subtledoctor

subtledoctor
  • Modders
  • 2013 posts
  • Gender:Male

Posted 14 May 2017 - 08:58 AM

Wha? How does that work? Did you just code straight immunity into the Fireball spell, or is it a save vs. breath like Evasion?

Weird that you can't set Evasion. I'll take a look and see how IWDEE does it. (Though I thought IWDEE has it hard-coded to the class, not in the clab table... I'll double-check - EDIT: yup, it uses a simple 328 effect.)

 

EDIT - I just tried to set the Evasion state in BG2EE with NI... I couldn't bother looking for it in the list so I just set the field to be modified as a number, and manually typed in 252.  Saved the .spl, and then the 328 effect was setting Evasion.  So you can definitely do this with 328.

 

If I can find the time and energy to patch all of the spells that should be patched, then I will definitely turn this into a feat... :)

 

EDIT 2 - at the bottom of the 328 effect, set "mode" to "IWD2 mode"

 

EDIT 3 - ah... what I saw in NI is opcode 322: "AoE evade check."  There is no info on this in the IESDP, even in the new work-in-progress EE IESDP.  Anyone know what it does?  @Argent77?


Edited by subtledoctor, 14 May 2017 - 09:13 AM.

Faiths & Powers: Spell spheres and kit pack for priests and paladins
Might & Guile: Tweaks and kits for warriors and rogues
Scales of Balance: Game tweaks and rule overhauls
NPC_EE: More options for NPCs in BGEE, SoD, & BG2EE


#7 kreso

kreso
  • Modders
  • 2622 posts
  • Gender:Male
  • Location:Istra, Croatia

Posted 14 May 2017 - 09:22 AM

Wha? How does that work? Did you just code straight immunity into the Fireball spell, or is it a save vs. breath like Evasion?

No save, straight immunity. I did find evasion in BG as well (copied the value from IWD that is). But... I can't get it to work properly in BG. It works in IWDEE; does it have a list of AoE spells against which this works? 



#8 subtledoctor

subtledoctor
  • Modders
  • 2013 posts
  • Gender:Male

Posted 14 May 2017 - 09:26 AM

I did find evasion in BG as well (copied the value from IWD that is). But... I can't get it to work properly in BG. It works in IWDEE; does it have a list of AoE spells against which this works?

 
I'm trying to figure that out right now... I thought spells need to be patched with an extra effect in order for it to work, but I'm not seeing that on any IWDEE spells.

 

But, then again, I don't have a clean copy of IWDEE handy, my copy has SR installed on it :p so maybe that has screwed it up.


Faiths & Powers: Spell spheres and kit pack for priests and paladins
Might & Guile: Tweaks and kits for warriors and rogues
Scales of Balance: Game tweaks and rule overhauls
NPC_EE: More options for NPCs in BGEE, SoD, & BG2EE


#9 argent77

argent77
  • Modders
  • 644 posts
  • Gender:Male

Posted 14 May 2017 - 09:31 AM

EDIT 3 - ah... what I saw in NI is opcode 322: "AoE evade check." There is no info on this in the IESDP, even in the new work-in-progress EE IESDP. Anyone know what it does? @Argent77?


I don't know if opcode 322 is working at all. From what I've been told by Avenger some time ago this opcode has been deprecated in favor of spell protections (opcode 318/324) to be more compatible with IWD.

Edited by argent77, 14 May 2017 - 09:33 AM.


#10 kreso

kreso
  • Modders
  • 2622 posts
  • Gender:Male
  • Location:Istra, Croatia

Posted 14 May 2017 - 09:45 AM

Oddly enough; there seems not to be a save with this effect; even if a lvl1 character has this effect on himself.

There is an AoE evade check (322) but I don't know where to put it. Evasion spl or the offensive spell?



#11 kreso

kreso
  • Modders
  • 2622 posts
  • Gender:Male
  • Location:Istra, Croatia

Posted 14 May 2017 - 09:56 AM

 

EDIT 3 - ah... what I saw in NI is opcode 322: "AoE evade check." There is no info on this in the IESDP, even in the new work-in-progress EE IESDP. Anyone know what it does? @Argent77?


I don't know if opcode 322 is working at all. From what I've been told by Avenger some time ago this opcode has been deprecated in favor of spell protections (opcode 318/324) to be more compatible with IWD.

 

Bless you, man.  :)

 

EDIT 2 - at the bottom of the 328 effect, set "mode" to "IWD2 mode"

I've got this working pretty much. However, there is no save vs this (contrary to what kjernon says above...it never works in IWDEE before lvl7 since thieves' CLAB assigns it there), it doesn't matter if I use Cat's Grace or Evasion codes. My lvl1 swashbuckler has 100% chance to avoid the fireball, for as long as 324 is a match vs spwi304. 

In essence, splstate Evasion does nothing in BG, it seems to be just a number. I could set Chaotic Commands there and have the same effects.



#12 kjeron

kjeron
  • Members
  • 49 posts

Posted 14 May 2017 - 10:28 AM

I've got this working pretty much. However, there is no save vs this (contrary to what kjernon says above...it never works in IWDEE before lvl7 since thieves' CLAB assigns it there), it doesn't matter if I use Cat's Grace or Evasion codes. My lvl1 swashbuckler has 100% chance to avoid the fireball, for as long as 324 is a match vs spwi304. 

EDIT 2 - at the bottom of the 328 effect, set "mode" to "IWD2 mode"

In essence, splstate Evasion does nothing in BG, it seems to be just a number. I could set Chaotic Commands there and have the same effects.

 

You have to use opcode 324 with Parameter2 = Evasion Check(63) for it to work as I described.


Edited by kjeron, 14 May 2017 - 10:28 AM.


#13 kreso

kreso
  • Modders
  • 2622 posts
  • Gender:Male
  • Location:Istra, Croatia

Posted 14 May 2017 - 11:06 AM

 

I've got this working pretty much. However, there is no save vs this (contrary to what kjernon says above...it never works in IWDEE before lvl7 since thieves' CLAB assigns it there), it doesn't matter if I use Cat's Grace or Evasion codes. My lvl1 swashbuckler has 100% chance to avoid the fireball, for as long as 324 is a match vs spwi304. 

EDIT 2 - at the bottom of the 328 effect, set "mode" to "IWD2 mode"

In essence, splstate Evasion does nothing in BG, it seems to be just a number. I could set Chaotic Commands there and have the same effects.

 

You have to use opcode 324 with Parameter2 = Evasion Check(63) for it to work as I described.

 

I did exactly that.

Edited Fireball to have 324 with Evasion check; added 328 with Evasion to thief CLAB file. Out of 20 castings, he evaded exactly 0 fireballs. :undecided:



#14 kjeron

kjeron
  • Members
  • 49 posts

Posted 14 May 2017 - 01:18 PM

I did exactly that.
Edited Fireball to have 324 with Evasion check; added 328 with Evasion to thief CLAB file. Out of 20 castings, he evaded exactly 0 fireballs. :undecided:

And his level?

#15 Ardanis

Ardanis

    A very GAR character

  • Modders
  • 2513 posts
  • Gender:Male
  • Location:Saint-Petersburg, Russia

Posted 14 May 2017 - 01:19 PM

Question - are these set automatically or do they need to be patched onto spells?

 

Here's a list https://github.com/G...lib/ds.tph#L254 of those that need to be patched in. I may have missed a couple of later additions, though, since they've been forgetting to use proper format to add them.

Anything starting with the individual Spell Immunity states (in the .ids file) and afterwards is definitely custom-made and should be patched manually.


Edited by Ardanis, 14 May 2017 - 01:19 PM.

"Uguu~ Boku Ayu."

Before you start breaking wall tiles with your bare fists, ask yourself first - do you truly need it?



Reply to this topic



  


0 user(s) are reading this topic

0 members, 0 guests, 0 anonymous users