ItemPropertyEnhancementBonusVsSAlign(int, int)

Sets an "enhancement bonus versus specific alignment" itemproperty.

itemproperty ItemPropertyEnhancementBonusVsSAlign(
    int nAlign,
    int nBonus
);

Parameters

nAlign

IP_CONST_ALIGNMENT_*

nBonus

Amount of bonus to enhance weapon; 1 to 20 are valid.


Description

Sets item property Enhancement bonus vs. a specific alignment, such as Lawful Good. You need to specify the alignment constant (IP_CONST_ALIGNMENT_*) and the enhancement bonus, which should be an integer between 1 and 20.



Remarks

Only melee weapons can have enhancement bonuses - neither ranged weapons nor ammunition can hold such an itemproperty.

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


Version

1.62

Example

#include "x2_inc_itemprop"
//The include is for the IPSafeAddItemProperty function

//Gives the PC speaker's onhand weapon a +7 enhancement bonus against true neutral alignment
void main()
{
object oPC=GetPCSpeaker();
object oItem = GetItemInSlot(INVENTORY_SLOT_RIGHTHAND, oPC);
if (!GetIsObjectValid(oItem)) return;

itemproperty ipAdd = ItemPropertyEnhancementBonusVsSAlign(IP_CONST_ALIGNMENT_TN, 7);

IPSafeAddItemProperty(oItem, ipAdd);
}

See Also

functions: AddItemProperty | IPSafeAddItemProperty
categories: Item Creation Functions
constants: IP_CONST_ALIGNMENT_* Constants


 author: Lilac Soul, editor: Peter Busby, additional contributor(s): hbunny