ItemPropertySkillBonus

From NWN Lexicon

Contents

[edit] ItemPropertySkillBonus(int, int)

Sets a skill bonus itemproperty.

itemproperty ItemPropertySkillBonus(
    int nSkill,
    int nBonus
);

[edit] Parameters

nSkill

SKILL_*

nBonus

Bonus amount; 1 to 50 are valid.

[edit] Description

Sets item property Skill bonus. You must specify the skill to which the user will get a bonus(SKILL_* except SKILL_ALL_SKILLS) and the amount of the bonus, which should be an integer between 1 and 50.

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

The limit of 50 is not hardcoded. It should be possible to modify iprp_skillcost.2da and add new lines with even higher bonus.

[edit] Version

1.61

[edit] Example

<nowiki>#include "x2_inc_itemprop"
</nowiki>//The include is for the IPSafeAddItemProperty function
 
//Makes the PC speaker's helmet grant a concentration bonus of 30
void main()
{
object oPC = GetPCSpeaker();
object oItem = GetItemInSlot(INVENTORY_SLOT_HEAD, oPC);
if (!GetIsObjectValid(oItem)) return;// Stop if no helmet
 
itemproperty ipAdd = ItemPropertySkillBonus(SKILL_CONCENTRATION, 30);
 
IPSafeAddItemProperty(oItem, ipAdd);
}

[edit] See Also

functions: 

ItemPropertyDecreaseSkill

constants: 

SKILL_* Constants


 author: Lilac Soul, editor: Peter Busby

Personal tools
Categories