Difference between revisions of "ItemPropertyBonusLevelSpell"

From NWN Lexicon
Jump to: navigation, search
(Created page with " =ItemPropertyBonusLevelSpell(int, int)= Sets a "bonus spell of a specified level" itemproperty. itemproperty  ItemPropertyBonusLevelSpell( ...")
 
Line 7: Line 7:
 
Sets a "bonus spell of a specified level" itemproperty.
 
Sets a "bonus spell of a specified level" itemproperty.
  
 +
<nwscript>
 
  [[itemproperty | itemproperty ]] ItemPropertyBonusLevelSpell(
 
  [[itemproperty | itemproperty ]] ItemPropertyBonusLevelSpell(
 
      [[int | int ]] nClass,
 
      [[int | int ]] nClass,
 
      [[int | int ]] nSpellLevel
 
      [[int | int ]] nSpellLevel
 
  );
 
  );
 +
</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 helmet grant the PC an extra level 5 wizard spell
+
   
  </font><font color="#0000ff">void</font> main()
+
  //Makes the PC speaker's helmet grant the PC an extra level 5 wizard spell
 +
  void main()
 
  {
 
  {
  <font color="#0000ff">itemproperty</font> ipAdd = ItemPropertyBonusLevelSpell(IP_CONST_CLASS_WIZARD, <font color="#7f007f">5</font>);
+
  itemproperty ipAdd = ItemPropertyBonusLevelSpell(IP_CONST_CLASS_WIZARD, 5);
 
   
 
   
  <font color="#0000ff">object</font> oPC=GetPCSpeaker();
+
  object oPC=GetPCSpeaker();
 
   
 
   
  <font color="#0000ff">object</font> oItem = GetItemInSlot(INVENTORY_SLOT_HEAD, oPC);
+
  object oItem = GetItemInSlot(INVENTORY_SLOT_HEAD, oPC);
 
   
 
   
  <font color="#0000ff">if</font> (!GetIsObjectValid(oItem)) <font color="#0000ff">return</font>;
+
  if (!GetIsObjectValid(oItem)) return;
 
   
 
   
 
  IPSafeAddItemProperty(oItem, ipAdd);
 
  IPSafeAddItemProperty(oItem, ipAdd);
 
  }
 
  }
 +
</nwscript>
  
 
====See Also====
 
====See Also====

Revision as of 21:50, 25 August 2012



ItemPropertyBonusLevelSpell(int, int)

Sets a "bonus spell of a specified level" itemproperty.

 [[itemproperty | itemproperty ]] ItemPropertyBonusLevelSpell(
     [[int | int ]] nClass,
     [[int | int ]] nSpellLevel
 );

Parameters

nClass

IP_CONST_CLASS_*

nSpellLevel

Level of the bonus spell; 0 to 9 are valid.


Description

Sets item property Bonus level spell (an extra spell of the indicated type and level). You must specify the class constant(IP_CONST_CLASS_*) of the bonus spell (MUST BE a spell casting class) and the level of the bonus spell, which should be an integer between 0 and 9.



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_CLASS_* constant can be retrieved off this type of item property using GetItemPropertySubType. The level of the spell 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 helmet grant the PC an extra level 5 wizard spell
 void main()
 {
 itemproperty ipAdd = ItemPropertyBonusLevelSpell(IP_CONST_CLASS_WIZARD, 5);
 
 object oPC=GetPCSpeaker();
 
 object oItem = GetItemInSlot(INVENTORY_SLOT_HEAD, oPC);
 
 if (!GetIsObjectValid(oItem)) return;
 
 IPSafeAddItemProperty(oItem, ipAdd);
 }

See Also

functions: 

IPSafeAddItemProperty

constants: 

IP_CONST_CLASS_* Constants



 author: Lilac Soul, editor: Peter Busby