Jump to content


Photo

IWDification Returns with a Shiny New Beta


29 replies to this topic

#16 subtledoctor

subtledoctor
  • Modders
  • 2493 posts
  • Gender:Male

Posted 19 May 2018 - 07:27 PM

Okay, I've externalized this for use by anyone. Cheers. As for those particular questions:
 

1) you may wanna add an opcode 139 to D5EVADE.SPL in order to display "Gained Passive Ability: Evasion" or something like that...
2) TRAP_FIREBALL, TRAP_LIGHTNING_BOLT, MEPHIT_LIGHTNING_BOLT and the like should be evadable.
3) [PATCH_IF (level_1 > 7) OR (level_2 > 7) BEGIN] -> You may wanna replace ">" ("greater") with ">=" ("greater or equal").
4) In IWDEE there is no opcode 72 (Change AI type). What is it for? Moreover, I think it's currently useless since it has a duration of 0.....


1) Haven't bothered to get around to doing that, but sure, it sounds nice.  Could add it if I find time, or someone could do a pull request on Github.

 

2) Those (and many other spells) are included in the optional expanded set of spells subject to Evasion.

 

3) Noted.

 

4) This new version avoids any use of opcode 72. 


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


#17 Luke

Luke
  • Members
  • 107 posts
  • Gender:Male

Posted 20 May 2018 - 10:14 PM

1) Haven't bothered to get around to doing that, but sure, it sounds nice.  Could add it if I find time, or someone could do a pull request on Github.


Well, actually this is the only opcode that really matters if you're interested in porting IWD:EE Evasion as it is (since opcode 328 is useless once you patch evadable spells with opcode 324 and parameter2 = 63....)

#18 subtledoctor

subtledoctor
  • Modders
  • 2493 posts
  • Gender:Male

Posted 22 May 2018 - 08:17 AM

Well I actually ended up making a much more interesting and flexible version than simply applying hard-coded stuff.

And the 328 effects are actually necessary for Evasion to work properly.

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


#19 Luke

Luke
  • Members
  • 107 posts
  • Gender:Male

Posted 03 August 2018 - 01:31 AM

And the 328 effects are actually necessary for Evasion to work properly.

This may be true for your version, I was talking about the existing IWD:EE feature...

Anyway, you may wanna add something else to the list of evadable spells. For example: Arrow of Detonation, The One Gift Lost, Potion of Explosion, Oil of Fiery Burning (only if IR is not installed) and so forth....

Edited by Luke, 03 August 2018 - 01:35 AM.


#20 subtledoctor

subtledoctor
  • Modders
  • 2493 posts
  • Gender:Male

Posted 03 August 2018 - 10:36 AM

And the 328 effects are actually necessary for Evasion to work properly.

This may be true for your version, I was talking about the existing IWD:EE feature...

No, I meant that the spellstate is necessary for the vanilla-style Evasion to work. (To work fully, anyway.)

Anyway, you may wanna add something else to the list of evadable spells. For example: Arrow of Detonation, The One Gift Lost, Potion of Explosion, Oil of Fiery Burning (only if IR is not installed) and so forth....


I'm not sure whether it works with item effects... but then again I guess it might. Need to investigate...

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


#21 Luke

Luke
  • Members
  • 107 posts
  • Gender:Male

Posted 03 August 2018 - 12:50 PM

No, I meant that the spellstate is necessary for the vanilla-style Evasion to work. (To work fully, anyway.)

I'm sorry, but I think you're wrong.... If I'm not mistaken, it was @kjeron the one who found out that it is sufficient to patch a spell with opcode #324 (param2 = 63) to replicate vanilla-style Evasion ---> Might & Guile thread, May 1st from kjeron: "It seems that IWDEE misleadingly applies the EVASION SPELLSTATE to thieves at level 7 through their CLAB.
It's entirely pointless - any Thief L7+ automatically qualifies for an evasion check."

I'm not sure whether it works with item effects... but then again I guess it might. Need to investigate...

There shouldn't be any problem since the resource of opcode #324 can be either a .SPL or an .ITM....

Edited by Luke, 03 August 2018 - 12:55 PM.


#22 subtledoctor

subtledoctor
  • Modders
  • 2493 posts
  • Gender:Male

Posted 07 August 2018 - 11:48 AM

No, I meant that the spellstate is necessary for the vanilla-style Evasion to work. (To work fully, anyway.)


I'm sorry, but I think you're wrong.... If I'm not mistaken, it was @kjeron the one who found out that it is sufficient to patch a spell with opcode #324 (param2 = 63) to replicate vanilla-style Evasion ---> Might & Guile thread, May 1st from kjeron: "It seems that IWDEE misleadingly applies the EVASION SPELLSTATE to thieves at level 7 through their CLAB. It's entirely pointless - any Thief L7+ automatically qualifies for an evasion check."

 

IIRC, my tests indicated that this is not true. Or maybe it is true in IWDEE, but this is a mod for BG(2)EE so that's the engine I'm discussing.  In BG(2)EE at least (maybe in IWDEE too), yes any L7+ thief automatically qualifies for an Evasion check, but without the spellstate the check is not fully functional.  So adding the spellstate via 328 is indeed necessary. 

 

Again, it's been a while since I tested, my memory is a bit vague.  I only definitely remember that is is not as simple as you describe.  The easiest way to find out for sure is to test it yourself.


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


#23 Luke

Luke
  • Members
  • 107 posts
  • Gender:Male

Posted 13 August 2018 - 07:23 AM

IIRC, my tests indicated that this is not true. Or maybe it is true in IWDEE, but this is a mod for BG(2)EE so that's the engine I'm discussing.  In BG(2)EE at least (maybe in IWDEE too), yes any L7+ thief automatically qualifies for an Evasion check, but without the spellstate the check is not fully functional.  So adding the spellstate via 328 is indeed necessary. 

 

Again, it's been a while since I tested, my memory is a bit vague.  I only definitely remember that is is not as simple as you describe.  The easiest way to find out for sure is to test it yourself.

 

My tests indicate that opcode #328 is not necessary (tested on BGEE v2.5 beta)

 

Just to clarify: what do you mean by "without the spellstate the check is not fully functional" ?


Edited by Luke, 13 August 2018 - 07:38 AM.


#24 subtledoctor

subtledoctor
  • Modders
  • 2493 posts
  • Gender:Male

Posted 13 August 2018 - 11:14 AM

I think your testing might not be thorough enough (which is no insult - it took me a while to observe the issue myself). Try adding the Evasion check to Acid Arrow, and start a fight with Phlydia 30 or 40 times. Do you successfully evade the spell? When evading it, do you also evade the 2nd-/3rd-round damage? Does the result always match the Evasion feedback? Overwrite the Acid Arrow .spl file with Magic Missile, then add an Evasion check and try again. Is every missile from every spell evaded properly?

My recollection is that there is (sometimes?) a mismatch between the Evasion feedback and the actual result. Whereas, if you apply spellstate 252 to the thief, it works perfectly.

But, we've taken this thread way off-topic now...

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


#25 Luke

Luke
  • Members
  • 107 posts
  • Gender:Male

Posted 14 August 2018 - 03:42 AM

I think your testing might not be thorough enough (which is no insult - it took me a while to observe the issue myself). Try adding the Evasion check to Acid Arrow, and start a fight with Phlydia 30 or 40 times. Do you successfully evade the spell? When evading it, do you also evade the 2nd-/3rd-round damage? Does the result always match the Evasion feedback? Overwrite the Acid Arrow .spl file with Magic Missile, then add an Evasion check and try again. Is every missile from every spell evaded properly?

My recollection is that there is (sometimes?) a mismatch between the Evasion feedback and the actual result. Whereas, if you apply spellstate 252 to the thief, it works perfectly.

But, we've taken this thread way off-topic now...

So, I didn't test this for 30 or 40 times, but it does seem that opcode #328 is not necessary..... In my tests, Coran managed to evade all the effects from Melf's Acid Arrow (I put opcode #324 (param2 = 63) as the first effect in the spell header). When speaking of Magic Missile, things are different: it may happen that you manage to evade all missiles or just some of them.... But this is not an issue, I think it makes sense.....
 
Moreover, the Evasion feedback triggers exactly when the projectile hits the target (no mismatch), so everything is working as intended.....
 
To sum up: simply put opcode #324 (param2 = 63) as the first effect in each spell/item header and you have IWDEE Evasion ----> Very simple, but not flexible as you pointed out..... And, yes, it works with items too......

EDIT: nope, you're right, I detected something wrong. It may happen that the very first Melf's Acid Arrow that hits Coran triggers both the Acid damage and the Evasion feedback...

Edited by Luke, 14 August 2018 - 04:41 AM.


#26 kjeron

kjeron
  • Members
  • 100 posts

Posted 14 August 2018 - 08:35 AM

EDIT: nope, you're right, I detected something wrong. It may happen that the very first Melf's Acid Arrow that hits Coran triggers both the Acid damage and the Evasion feedback...

Are you sure you weren't taking the delayed damage from a previous un-evaded arrow?
If I set the characters Breath Save to 0/1, it becomes 100% consistent for both spells.

#27 Luke

Luke
  • Members
  • 107 posts
  • Gender:Male

Posted 14 August 2018 - 09:07 AM

 

EDIT: nope, you're right, I detected something wrong. It may happen that the very first Melf's Acid Arrow that hits Coran triggers both the Acid damage and the Evasion feedback...

Are you sure you weren't taking the delayed damage from a previous un-evaded arrow?
If I set the characters Breath Save to 0/1, it becomes 100% consistent for both spells.

 

Let's say it seems to be intermittent..... Sometimes it works as expected, other times I take the damage (I'm talking about the instant damage, not the delayed damage from a previous un-evaded arrow) and the Evasion feedback message is displayed in the combat log.....


Edited by Luke, 14 August 2018 - 09:10 AM.


#28 subtledoctor

subtledoctor
  • Modders
  • 2493 posts
  • Gender:Male

Posted 14 August 2018 - 09:13 AM

It could be something specific to that projectile... it could be something related to direct-target spells (which Evasion wasn't designed for).

My thing is, I stopped investigating as soon as I saw anything wrong because it's really, really easy to just apply spellstate 252 when needed...

Edited by subtledoctor, 14 August 2018 - 09:15 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


#29 Luke

Luke
  • Members
  • 107 posts
  • Gender:Male

Posted 14 August 2018 - 10:15 AM

My thing is, I stopped investigating as soon as I saw anything wrong because it's really, really easy to just apply spellstate 252 when needed...

Yep, you're right......

 

But I don't understand why in your mod (Scales of Balance) you patch both the CLABTHxx tables and the .CRE files with spellstate 252..... Why not just the CLABTHxx tables for example? I mean, if a .CRE is coded as a Thief (or kitted Thief), it should automatically receive the spellstate once it reaches the appropriate level.....


Edited by Luke, 14 August 2018 - 10:21 AM.


#30 subtledoctor

subtledoctor
  • Modders
  • 2493 posts
  • Gender:Male

Posted 14 August 2018 - 10:33 AM

I don't understand why in your mod (Scales of Balance) you patch both the CLABTHxx tables and the .CRE files with spellstate 252..... Why not just the CLABTHxx tables for example? I mean, if a .CRE is coded as a Thief (or kitted Thief), it should automatically receive the spellstate once it reaches the appropriate level.....


Because enemy creatures don't ever "reach" any levels.  They have a "level" stat coded in, but they never level up, and they don't have any CLAB effects applied to them.  So for the PC & co., they can get Evasion from the CLAB table.  But I want enemy thieves to be a good challenge, so I give non-joinable NPCs Evasion manually.

 

SCS AI component, notably, does apply CLAB effects to enemy .CRE files.  (Sometimes too much, but that's another discussion.)  But i don't want to rely on SCS.


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




Reply to this topic



  


1 user(s) are reading this topic

0 members, 1 guests, 0 anonymous users