NWNWiki
NWNWiki
3,719
pages

Bug[]

If the target have a PFA like spell, something that make you mind immune versus a alignment. The spell will have no DC and will automatically success, so basically if your enemy have PFA spell active, he will be affected by the spell without any DC. I have check the function GetIsImmune(oTarget, IMMUNITY_TYPE_MIND_SPELLS) and this function seem to fail, then i have look for other spell with this function that apply effect other then daze/paralyse or whatever that is in general affected by mind immune. I have found mind fog that use also the same function and everything is fine the only difference is !GetIsImmune and GetIsImmune == FALSE. Both does the same thing anyway. So someone have a idea why? --ILKAY 29 July 2009

  • Well I know nothing of nwn scripting, but I can suggest a few things based on my microsoft excel lore :D
-Does 'GetIsImmune == FALSE' having no exclamation point (!) matter on this ?
-Does the == FALSE mean that the function will return 'TRUE' when the target is immune and 'FALSE' if it is not ?
-If the form is correct, does the script have some kind of strange path that would somehow bypass the GetIsImmune check, meaning that the check is effectively made, but doesn't counter the effect ?
Hope that helps. Heya ILKAY btw :P Mouettte 23:37, February 24, 2010 (UTC)
PS : Does that mean that having PFA will make saving against this spell impossible ? If so, I would think that the script checks for immunity, and if immunity there is, skips the save rolling part, and was meant to just ignore the spell, but instead just applied it. Does it make sense ? Mouettte 00:23, February 25, 2010 (UTC)
  • This is a significant bug. It has to do with MySavingThrow() and GetIsImmune() not coinciding. MySavingThrow() function will return immunity to a saving throw as FALSE in order that the later immunity check can return message such as "Immune To Mind Spells" depending on the saving throw immunity. GetIsImmune() is supposed to take over and check for immunity so that a message can be returned. The problem lies in that MySavingThrow() by default uses OBJECT_SELF as the SavesVersus argument (to check alignment), while GetIsImmune() will assume no alignment specific immunity if OBJECT_SELF is not provided. Mindfog provides the OBJECT_SELF and thus is able to check specifically for immunity versus alignment (or any immunity that includes this), while Taasha does not provide this argument and thus only checks for general immunity to mind spells. WhiZard 00:51, February 25, 2010 (UTC)
  • Well that not so easy to understand at first but thank for the explanation. ILKAY 15:36, March 16, 2010 (UTC)