ItemPropertyReducedSavingThrowVsX(int, int)

Sets a "reduced saving throw" itemproperty.

itemproperty ItemPropertyReducedSavingThrowVsX(
    int nBaseSaveType,
    int nPenalty
);

Parameters

nBaseSaveType

IP_CONST_SAVEVS_*

nPenalty

Reduce by how much; 1 to 20 are valid.


Description

Sets item property Reduced saving throw vs. an effect or damage type, such as Acid, Cold, 11 others and Universal. You must specify the constant to which the penalty applies (IP_CONST_SAVEVS_*) and the penalty to be applied. The penalty should be a POSITIVE integer between 1 and 20 (ie. nPenalty of 1 = -1 on the saving throw).



Remarks

The itemproperty commands are special constructors - they construct an itemproperty "object" which can then be applied to an item using the AddItemProperty command, much like effects need to be first constructed, then applied with ApplyEffectToObject.

It will often be a good idea to remove similar itemproperties from the item first. There's a command in the "x2_inc_itemprop" include file called IPSafeAddItemProperty which will do that for you. Check IPSafeAddItemProperty for current bug report.

The IP_CONST_SAVEVS_* constant can be retrieved off this type of item property using GetItemPropertySubType. The penalty can be retrieved using GetItemPropertCostTableValue.


Version

1.61

Example

#include "x2_inc_itemprop"
//The include is for the IPSafeAddItemProperty function

//Makes the PC speaker's helmet make the player miserable at saving throw
//versus sonic. I guess it's a hearing aid :-)
void main()
{
object oPC = GetPCSpeaker();
object oItem = GetItemInSlot(INVENTORY_SLOT_HEAD, oPC);
if (!GetIsObjectValid(oItem)) return;

itemproperty ipAdd = ItemPropertyReducedSavingThrowVsX(IP_CONST_SAVEVS_SONIC, 20);

IPSafeAddItemProperty(oItem, ipAdd);
}

See Also

functions: AddItemProperty | IPSafeAddItemProperty | ItemPropertyBonusSavingThrowVsX | ItemPropertyReducedSavingThrow
categories: Item Creation Functions
constants: IP_CONST_SAVEVS_* Constants


 author: Lilac Soul, editor: Peter Busby