ItemPropertyDamageVulnerability

From NWN Lexicon
Revision as of 01:38, 26 August 2012 by Dood (talk | contribs)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to: navigation, search



ItemPropertyDamageVulnerability(int, int)

Sets a damage vulnerability itemproperty.

itemproperty ItemPropertyDamageVulnerability(
    int nDamageType,
    int nVulnerability
);

Parameters

nDamageType

IP_CONST_DAMAGETYPE_*

nVulnerability

IP_CONST_DAMAGEVULNERABILITY_*


Description

Sets item property Damage vulnerability. You must specify the damage type constant (IP_CONST_DAMAGETYPE_*) , such as Divine or Piercing, that you want the user to be extra vulnerable to and the percentage vulnerability constant (IP_CONST_DAMAGEVULNERABILITY_*), ranging from 5% to 100%, to be added to the original damage.



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_DAMAGETYPE_* constant can be retrieved off this type of item property using GetItemPropertySubType. The IP_CONST_DAMAGEVULNERABILITY_* constant can be retrieved using GetItemPropertCostTableValue.


Version

1.61

Example

<nowiki>#include "x2_inc_itemprop"
</nowiki>//The include is for the IPSafeAddItemProperty function
 
//Makes the PC speaker's armor take 100% additional cold damage (ie. double)
void main()
{
object oPC=GetPCSpeaker();
object oItem = GetItemInSlot(INVENTORY_SLOT_CHEST, oPC);
int nDamageType = IP_CONST_DAMAGETYPE_COLD;
int nVulnerability = IP_CONST_DAMAGEVULNERABILITY_100_PERCENT;
 
if (!GetIsObjectValid(oItem)) return;
 
itemproperty ipAdd = ItemPropertyDamageVulnerability(nDamageType, nVulnerability);
 
IPSafeAddItemProperty(oItem, ipAdd);
}

See Also

functions: 

IPSafeAddItemProperty

constants: 

IP_CONST_DAMAGEVULNERABILITY_* Constants



 author: Lilac Soul, editor: Peter Busby