Difference between revisions of "ItemPropertyDamageBonus"

From NWN Lexicon
Jump to: navigation, search
(Correct note on damage types)
 
Line 28: Line 28:
 
====Description====
 
====Description====
  
Sets item property Damage bonus. You must specify the damage type constant (IP_CONST_DAMAGETYPE_*) and the amount of damage constant (IP_CONST_DAMAGEBONUS_*). <br /><br /> NOTE: not all the damage types will work; use only the following: Acid, Bludgeoning, Cold, Electrical, Fire, Piercing, Slashing, Sonic.
+
Sets item property Damage bonus. You must specify the damage type constant (IP_CONST_DAMAGETYPE_*) and the amount of damage constant (IP_CONST_DAMAGEBONUS_*). <br /><br /> NOTE: The damage types IP_CONST_DAMAGETYPE_PHYSICAL and IP_CONST_DAMAGETYPE_SUBDUAL have no effect.
  
 
<br /><br />
 
<br /><br />

Latest revision as of 02:10, 15 August 2020



ItemPropertyDamageBonus(int, int)

Sets a damage bonus itemproperty.

itemproperty ItemPropertyDamageBonus(
    int nDamageType,
    int nDamage
);

Parameters

nDamageType

IP_CONST_DAMAGETYPE_*

nDamage

IP_CONST_DAMAGEBONUS_*


Description

Sets item property Damage bonus. You must specify the damage type constant (IP_CONST_DAMAGETYPE_*) and the amount of damage constant (IP_CONST_DAMAGEBONUS_*).

NOTE: The damage types IP_CONST_DAMAGETYPE_PHYSICAL and IP_CONST_DAMAGETYPE_SUBDUAL have no effect.



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_DAMAGEBONUS_* 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 onhand weapon deal 1d10 additional acid damage
void main()
{
object oPC=GetPCSpeaker();
object oItem = GetItemInSlot(INVENTORY_SLOT_RIGHTHAND, oPC);
int nDamageType = IP_CONST_DAMAGETYPE_ACID;
int nDamage = IP_CONST_DAMAGEBONUS_1d10;
 
if (!GetIsObjectValid(oItem)) return; //stop if no weapon
 
itemproperty ipAdd = ItemPropertyDamageBonus(nDamageType, nDamage);
 
IPSafeAddItemProperty(oItem, ipAdd);
}

See Also

constants: 

IP_CONST_DAMAGETYPE_* Constants



 author: Lilac Soul, editor: Peter Busby