Difference between revisions of "ItemPropertyDamageVulnerability"

From NWN Lexicon
Jump to: navigation, search
(Created page with " =ItemPropertyDamageVulnerability(int, int)= Sets a damage vulnerability itemproperty. itemproperty  ItemPropertyDamageVulnerability(   ...")
 
Line 7: Line 7:
 
Sets a damage vulnerability itemproperty.
 
Sets a damage vulnerability itemproperty.
  
 +
<nwscript>
 
  [[itemproperty | itemproperty ]] ItemPropertyDamageVulnerability(
 
  [[itemproperty | itemproperty ]] ItemPropertyDamageVulnerability(
 
      [[int | int ]] nDamageType,
 
      [[int | int ]] nDamageType,
 
      [[int | int ]] nVulnerability
 
      [[int | int ]] nVulnerability
 
  );
 
  );
 +
</nwscript>
  
 
====Parameters====
 
====Parameters====
Line 42: Line 44:
 
====Example====
 
====Example====
  
<font color="#7f0000"><nowiki>#include "x2_inc_itemprop"
+
<nwscript>
  </nowiki></font><font color="#007f00">//The include is for the IPSafeAddItemProperty function
+
<nowiki>#include "x2_inc_itemprop"
  </font>
+
  </nowiki>//The include is for the IPSafeAddItemProperty function
  <font color="#007f00">//Makes the PC speaker's armor take 100% additional cold damage (ie. double)
+
   
  </font><font color="#0000ff">void</font> main()
+
  //Makes the PC speaker's armor take 100% additional cold damage (ie. double)
 +
  void main()
 
  {
 
  {
  <font color="#0000ff">object</font> oPC=GetPCSpeaker();
+
  object oPC=GetPCSpeaker();
  <font color="#0000ff">object</font> oItem = GetItemInSlot(INVENTORY_SLOT_CHEST, oPC);
+
  object oItem = GetItemInSlot(INVENTORY_SLOT_CHEST, oPC);
  <font color="#0000ff">int</font> nDamageType = IP_CONST_DAMAGETYPE_COLD;
+
  int nDamageType = IP_CONST_DAMAGETYPE_COLD;
  <font color="#0000ff">int</font> nVulnerability = IP_CONST_DAMAGEVULNERABILITY_100_PERCENT;
+
  int nVulnerability = IP_CONST_DAMAGEVULNERABILITY_100_PERCENT;
 
   
 
   
  <font color="#0000ff">if</font> (!GetIsObjectValid(oItem)) <font color="#0000ff">return</font>;
+
  if (!GetIsObjectValid(oItem)) return;
 
   
 
   
  <font color="#0000ff">itemproperty</font> ipAdd = ItemPropertyDamageVulnerability(nDamageType, nVulnerability);
+
  itemproperty ipAdd = ItemPropertyDamageVulnerability(nDamageType, nVulnerability);
 
   
 
   
 
  IPSafeAddItemProperty(oItem, ipAdd);
 
  IPSafeAddItemProperty(oItem, ipAdd);
 
  }
 
  }
 +
</nwscript>
  
 
====See Also====
 
====See Also====

Revision as of 20:50, 25 August 2012



ItemPropertyDamageVulnerability(int, int)

Sets a damage vulnerability itemproperty.

 [[itemproperty | itemproperty ]] ItemPropertyDamageVulnerability(
     [[int | int ]] nDamageType,
     [[int | 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