ItemPropertyEnhancementPenalty(int)
Sets an enhancement penalty ability bonus.
itemproperty ItemPropertyEnhancementPenalty( int nPenalty );
Parameters
nPenalty
Amount of penalty to apply to weapon; 1 to 5 are valid.
Description
Sets item property Enhancment penalty. You need to specify the
enhancement penalty, which should be a POSITIVE integer between 1 and 5 (a penalty of 1 reduces the weapon's ability by 1).
Remarks
Only weapons can have enhancement penalties.
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 penalty can be retrieved off this type of item property using GetItemPropertyCostTableValue.
Version
1.61
Example
#include "x2_inc_itemprop" //The include is for the IPSafeAddItemProperty function //Gives the PC speaker's onhand weapon an enhancement penalty of -3 void main() { object oPC=GetPCSpeaker(); object oItem = GetItemInSlot(INVENTORY_SLOT_RIGHTHAND, oPC); if (!GetIsObjectValid(oItem)) return; itemproperty ipAdd = ItemPropertyEnhancementPenalty(3); IPSafeAddItemProperty(oItem, ipAdd); }
See Also
functions: | AddItemProperty | IPSafeAddItemProperty |
categories: | Item Creation Functions |
author: Lilac Soul, editor: Peter Busby