Aller au contenu

Photo

Supernatural Abilities vs Immunities via Items (RELINKED TO SINGLE THREAD)


  • Veuillez vous connecter pour répondre
35 réponses à ce sujet

#26
Lance Botelle

Lance Botelle
  • Members
  • 1 480 messages

Arkalezth wrote...

I've asked to other players and I've been told that immunity to death magic (from spells) makes you immune to banshees' death effects. I guess this is the same case.


Hi Arkalezth,

Without checking I cannot be sure, but it may be worth looking into.

MasterChanger wrote...

By the way, MySavingThrow does check for immunity (inasmuch as the FortitudeSave, ReflexSave, and WillSave check for it). These functions are meant to return 0 if the save fails, 1 if it succeeds, and 2 if the target is immune. So, if you check...

if (!MySavingThrow(...SAVING_THROW_TYPE_*))
{ ApplyEffectToObject(...) }
the immunity will be taken into account.

Now as to how those functions check for immunity, I don't know.


Hi MasterChanger,

Actually, this is one of the reasons I got into this, as MySavingThrow does NOT return a 2 for immunity. The code has been altered to return a FAIL in these cases. Pain did explain the reasons behind this .. it may have been in another post I made. However, the answer was that I believe using MyResistSpell before this line should return an immune check if I recall correctly.

I_Raps wrote...

I'll offer a player's unofficial opinion. A spell (Death Ward) or item that gives "immunity to death" should give immunity to death effects, whether from spell or item or supernatural ability or whatever. These game intricacies have no real application to what the characters would or should be thinking about their world. And evading the clear meaning of the immunity by legalism is baloney.

I remember specifically NWN/D&D 3.0 death immunity included Horrid Wilting - until it didn't (some ruling in Dragon Magazine, I believe, included in a patch). Suddenly Horrid Wilting was springing up in mods all over. I simply modded up death immunity items to provide immunity from the spell.

I would think long and hard about anything that circumvents the clear language of already existing rules/spells/items. When players take precautions to protect against specific things - foregoing other options for that spell/item slot, the "DM" should not just ignore that without good reason.


Hi I_Raps,

I agree. After giving this some more thought and seeing the general trend of the polls, I suspect saying something gives "immunity" should give immunity regardless of ability source: spell or supernatural. I have decided to ensure such items do offer immunity to supernatural abilities as well ... although such items wil be very rare.

Interestingly, I have looked at some of the spells more closely, and there may be something else going on with respect to some scripts and immunity. However, until I check these scripts, I cannot tell if they will or will not protect the PC as if immune or not. i.e. Some say immunity to "negative", while others say "death". More checking may help me here.

painofdungeoneternal wrote...

Horrid wilting is not death magic, it does not use negative energy, nor does it do a save or die as a death attack does, it just used that effect to implement the result. <SNIP>

Be very careful in overturning rules like this, magic is not about broad simple categories, it's about each spell having it's own job, it's own purpose and having it's own very specific rules, and making it act like it's actual description, often using very limited set of functions and effects shared by many completely different spells. Being a long time wizard i rely on horrid wilting for a lot of opponents who are immune to death magic, and to negative energy. Most new players would not notice this, which makes it so finding the correct spell a puzzle, and you can make that super boss near immune to magic. But you should not make it so those playing a wizard, who are smart enough to use the right combo after a LOT of research, cannot make what you designed as a hard encounter way too easy. <SNIP>


Hi Pain,

I only SNIP to keep posts a little smaller, but I agree with all you say. I left the parts that express my sentiments best. And to say that much of the problem is the fact that the scripts share effects for different spells, so that once an "immunity" has been designed, care should be taken to ensure certain spells (that use the same effects) are carefully excluded if the means that results in the effect are not the type of immunity one is trying to express. That said, I do believe there is some confusion still regarding such things as Death Gaze, which some spells are supposed to make a PC immune (Death Ward). I should try using the official Death Gaze special ability with a creature to see if the immunity column in the spells.2da actually does work if a PC is already immune to negative effects,w hich this column appears to suggest. My guess is that the Death Ward spell will still NOT give the PC immunity v Death Gaze, whereas a spell that offers negative immunity might. (Check out the 2da row for Death Gaze.)

painofdungeoneternal wrote...

Fixing spells like this is more fixing symptoms, than fixing the rules themselves.

Only way to actually fix the rules overall, is to...

A. Read the pnp descriptions, and carefully note how it's described, and in some cases make up your own rulings, and figure out which scripts are what.
B. Flag the spell as supernatural, extraordinary, etc. ( doing this in the header of the spell )
C. Change resistspell, saving throw, and any etc so they look at what the setting is, and work accordingly - spells which normally don't need these functions should have them added in, but the flags being set correctly would make them work the same in game. ( thus a immune to spell or immune to school effect can work on a spell which ignore spell resistance, technically now that cannot be done )

Doing it spell by spell just does not work. You basically spend 3-4 hours, debugging, testing, figuring out one spell, and then rinse repeat for the next spell. And each implementation is different. If you only care about a few spells this makes sense.

You also run into cases where a creatures spells are modified for some reason, so what was once normal is suddenly extraordinary on the fly, so this allows dynamic adjustments where warranted, just like you can do in PNP.

The code should match the written PNP rules, so you see at the top of the spell how it should work. Then you go into every spell and make sure they have myresistspell even if the spell ignores magic resistance, all of them end up being set up the same way. The logic then can match the written PNP rules exactly instead of being custom coded per spell, and a lot of oddball situations you just don't think of will suddenly start actually following the rules. Errors are easy to fix, you just see how it's flagged, and if a particular spell is not working right, or if a modder dislikes how it works, they can just change the flag. And if its a problem in the various functions, fixing one, fixes things globally.

I did this for CSL with descriptors, school, and subschool, but never touched the actual magics type. Most of the time this just isn't apparent to the player, well monsters are treated as second class citizens with regards to bugs.


Again, I totally agree with you here. The only problem is the amount of time to rework the system .. and write a mod is too great a task ... for me at any rate. Therefore, rewriting the spells as required, while having risks of missing something, does mean that some should work as expected. That said, I do tend to look at systems and my own functions that may overrule existing ones and use them instead, so, in theory, while maybe not as extensive as your own systems, they may cover a number of errors such as ensuring supernatural effects are also protected against with otems that carry immunity to said effect.

I think I need to find out how the official death gaze works versus a PC with death immunity and then a negative immunity to see if the spells.2da immunity column works as it suggests. If it does, then maybe all I need to do is change the current "negative" to "death" in the immunity column, which would then make the death magic immunity items work. NB: They may still work as it is, but I have not yet tested the death gaze ability with PCs that have Death Ward spell or Death Magic immunities on them. I only tested my own altered Death Gaze script, which (of course) does not yet have a spells2da line added, and so if there is some hard coding that picks up on the immunity column, I will have missed it with my own version. This is why (in another post) I am trying to find a NWN creature that uses the death gaze as a test.

Many Thanks all,

Lance.

Modifié par Lance Botelle, 07 octobre 2011 - 10:38 .


#27
painofdungeoneternal

painofdungeoneternal
  • Members
  • 1 799 messages
As you discover things, compare to what i've got as well, and i might be able to make sure they are fixed in my code as well. I'm sure there is room for improvement in what i've done in this area as well, even though i probably will apply the changes globally since i've already got the system to support that.

Often a focus like you are doing on this aspect is the first time the issues have truly been addressed. ( i've found getting the old timer dm's input is the best source of information on how things "Should" work, as for many of the particulars i am not certain ).

I am pretty sure my scripts return a 2 as described by kevl, which is why comparing varied packages of source code to figure out what is going on is so important.

#28
Lance Botelle

Lance Botelle
  • Members
  • 1 480 messages

painofdungeoneternal wrote...

As you discover things, compare to what i've got as well, and i might be able to make sure they are fixed in my code as well. I'm sure there is room for improvement in what i've done in this area as well, even though i probably will apply the changes globally since i've already got the system to support that.

Often a focus like you are doing on this aspect is the first time the issues have truly been addressed. ( i've found getting the old timer dm's input is the best source of information on how things "Should" work, as for many of the particulars i am not certain ).

I am pretty sure my scripts return a 2 as described by kevl, which is why comparing varied packages of source code to figure out what is going on is so important.


Hi Pain,

Well, I will always help out where I can .... and actually, I have learned something just now ... you may already be aware of this, but I will mention it anyway, as it answers a lot of what I was trying to ascertain ...

It seems that item immunities are determined by the spells.2da rather than through scripts!

There are obviously some hard coded aspects for testing immunity as determined by the IMMUNITYTYPE column in the spells.2da. I was totally unaware of thsi aspect, which was pointed out to me by KevL. In other words, when a spell (or effect like Death Gaze) is cast, there is a reference in the spells.2da that checks to see if the PC has a form of immunity on them and then gives immunity feedback accordingly.

My only confusion at this stage is what differntiates between being immune to "negative" effects and "death" effects. Is "death" a subset of the "negative" effects?

If this was known already, then sorry to have taken up so much of people's time in my ignorance. Posted Image

The bottom line is then, for me to add an effect or spell and ensure it works against immunity checks, I need to add the spell/effect as a line in the spells.2da and add an immunity value!

Did you know this is how it worked?

Do you know the difference between the "negaive" and "death" values for the spells.2da?

Many thanks.

Lance.

EDIT: At least, this is how it seems to work to me, as I cannot see anything in the NW_S1_GazeDeath script that checks for immunity .. and my own script, which is based on this script, fails to check for immunity, whereas, this official script (that has a spells.2da row with IMMUNITY TYPE column) does work!

Modifié par Lance Botelle, 07 octobre 2011 - 11:13 .


#29
painofdungeoneternal

painofdungeoneternal
  • Members
  • 1 799 messages
I'd not rely on that, i have a feeling the roller coaster ride has just started for you. If something works with that, it's sporadic, i know quite a few of what is in that column is completely useless.

Those determine from my understanding, if spellresist returns that you are immune to a given effect.

Negative is a damage type ( fire, divine, cold, etc. )

Death means a save or die effect of some sort.

There are invalid values in that column, and quite a bit of it is from NWN1.

Quite a bit of what you are saying, is not my experience, in fact i've fixed a number of issues based on the fact what you are saying is not true.

Modifié par painofdungeoneternal, 08 octobre 2011 - 02:06 .


#30
Lance Botelle

Lance Botelle
  • Members
  • 1 480 messages

painofdungeoneternal wrote...

I'd not rely on that, i have a feeling the roller coaster ride has just started for you. If something works with that, it's sporadic, i know quite a few of what is in that column is completely useless.

Those determine from my understanding, if spellresist returns that you are immune to a given effect.

Negative is a damage type ( fire, divine, cold, etc. )

Death means a save or die effect of some sort.

There are invalid values in that column, and quite a bit of it is from NWN1.

Quite a bit of what you are saying, is not my experience, in fact i've fixed a number of issues based on the fact what you are saying is not true.


Hi Pain,

That sounds ominous then ... I still have to test my theory, but if there is still an issue, then I guess these 2da columns are defunct in places after all then (if not entirely).

I will let you know if it makes any difference after I have tested it - either as an edit to this post or a fresh post.

Lance.

#31
The Fred

The Fred
  • Members
  • 2 516 messages

Lance Botelle wrote...
It seems that item immunities are determined by the spells.2da rather than through scripts!

There are obviously some hard coded aspects for testing immunity as determined by the IMMUNITYTYPE column in the spells.2da.
...
EDIT: At least, this is how it seems to work to me, as I cannot see anything in the NW_S1_GazeDeath script that checks for immunity .. and my own script, which is based on this script, fails to check for immunity, whereas, this official script (that has a spells.2da row with IMMUNITY TYPE column) does work!

The Fred wrote...
AFAIK, the scripts do not check for immunity to a spell ID, because they're not spells so they don't expect you ever to gain such an immunity. Neither do they check for anything else, however, effects cannot be applied to someone who is immune to that effect. This bit is hardcoded. So, a gaze might try and daze you, but Immunity: Mind-Affecting would leave you thinking clearly. However, you couldn't get Spell Immunity: Daze Gaze, say.

There's a distinction between what extactly it is you're immune to - an effect, or a specific spell or ability.

Posted Image

Lance Botelle wrote...
Is "death" a subset of the "negative" effects?

I believe "negative" refers to negative energy. There's no real mechanical connection between the two. "Negative" does negative energy damage. "Death" kills you.

#32
Lance Botelle

Lance Botelle
  • Members
  • 1 480 messages

The Fred wrote...

Lance Botelle wrote...
It seems that item immunities are determined by the spells.2da rather than through scripts!

There are obviously some hard coded aspects for testing immunity as determined by the IMMUNITYTYPE column in the spells.2da.
...
EDIT: At least, this is how it seems to work to me, as I cannot see anything in the NW_S1_GazeDeath script that checks for immunity .. and my own script, which is based on this script, fails to check for immunity, whereas, this official script (that has a spells.2da row with IMMUNITY TYPE column) does work!

The Fred wrote...
AFAIK, the scripts do not check for immunity to a spell ID, because they're not spells so they don't expect you ever to gain such an immunity. Neither do they check for anything else, however, effects cannot be applied to someone who is immune to that effect. This bit is hardcoded. So, a gaze might try and daze you, but Immunity: Mind-Affecting would leave you thinking clearly. However, you couldn't get Spell Immunity: Daze Gaze, say.

There's a distinction between what extactly it is you're immune to - an effect, or a specific spell or ability.

Posted Image


Lance Botelle wrote... Is "death" a subset of the "negative" effects?


I believe "negative" refers to negative energy. There's no real mechanical connection between the two. "Negative" does negative energy damage. "Death" kills you.


Hi TheFred,

It's when you find such things as Spell Immunity: Gaze, Petrification in the options for items specific spell immunity that confuses the issue then. Posted Image Although not the Daze example you give, I was not expecting to find Gaze, Petrification there either, but I did. In testing, however, this particular "spell immunity" does not work, as (I suppose) we should expect.

From what I understand to date, then, and please correct me if you think I have this wrong ....

1) Specific spell immunities that are added to items are checked via some hard-coding. E.g. A ring with spell Immunity: Magic Missile. When this spell is targeted at a PC with the ring, the immunity is checked *prior* to the spell scripts firing?

2) Effect immunities are also handled by some hard-coding, but is subject to the ITEMIMMUNITY column in the spells.2da. (I am going to test this theory when I get a minute.) The order of this appears to be that the script fires, but the effect (that still uses the spells.2da) is checked against the ITEMIMMUNITY column *after* the ability (death gaze) has fired and prevents the effect from taking effect if the PC is immune?

I am just trying to understand the procedure, as it often helps when writing your own code.

Lance.

Modifié par Lance Botelle, 08 octobre 2011 - 01:03 .


#33
Lance Botelle

Lance Botelle
  • Members
  • 1 480 messages

The Fred wrote...

I believe "negative" refers to negative energy. There's no real mechanical connection between the two. "Negative" does negative energy damage. "Death" kills you.


Hi TheFred,

(In addition to the above post I made to you.)

In that case, what do the different values in the IMMUNITYTYPE column of the spells.2da do? The reason I ask, is because I have just confirmed through testing, that using "Negative" in this column for my own death gaze effect added to the 2da *does* makes the immunity to death effects work! Posted Image

One would have thought it should be the Death parameter (which is also an option).

Any ideas ... anyone?

Lance.

Modifié par Lance Botelle, 08 octobre 2011 - 02:07 .


#34
kevL

kevL
  • Members
  • 4 061 messages
nota bene: it's MC who pointed out "2" for immunity,

no' me.


Lance Botelle wrote...

In that case, what do the different values in the IMMUNITYTYPE column of the spells.2da do? The reason I ask, is because I have just confirmed through testing, that using "Negative" in this column for my own death gaze effect added to the 2da *does* makes the immunity to death effects work! Posted Image

One would have thought it should be the Death parameter (which is also an option).

Any ideas ... anyone?

devil's pseudo-advocate:

Are you sure it was the ImmunityType column that granted an immunity check, or was it simply adding the spell & impact script to spells.2da .. (and the ImmunityType column could well be simply left blank)?

/advocate

#35
Lance Botelle

Lance Botelle
  • Members
  • 1 480 messages

kevL wrote...

Lance Botelle wrote...

In that case, what do the different values in the IMMUNITYTYPE column of the spells.2da do? The reason I ask, is because I have just confirmed through testing, that using "Negative" in this column for my own death gaze effect added to the 2da *does* makes the immunity to death effects work! Posted Image

One would have thought it should be the Death parameter (which is also an option).

Any ideas ... anyone?

devil's pseudo-advocate:

Are you sure it was the ImmunityType column that granted an immunity check, or was it simply adding the spell & impact script to spells.2da .. (and the ImmunityType column could well be simply left blank)?

/advocate


Hi KevL,

OK, I will test that. Posted Image I will post back after testing. I hope it does not spoil my hypothesis. Posted Image

RESULT OF TEST: Aargh!! You are correct! I can leave those columns empty and it makes no difference. It looks like the only criteria is it has to be in the spells.2da to work.

So, this simply means any and all immunities are simply hard-coded if set inside the spells.2da. Or have I made yet another wrong assumption? Posted Image

Lance.

Modifié par Lance Botelle, 08 octobre 2011 - 07:02 .


#36
Lance Botelle

Lance Botelle
  • Members
  • 1 480 messages
Hi All,

OK, I have obviously taken a wrong turn within this thread and recommend we let it die ....

Please redirect all further comments to this thread, which has my latest updates on the matter:

http://social.biowar...46451/2#8463231


PLEASE  DO NOT POST ANY MORE IN THIS THREAD

BY ALL MEANS COPY COMMENTS TO POST IN THE THREAD LINK ABOVE.

Lance.

Modifié par Lance Botelle, 08 octobre 2011 - 07:17 .