75 lines
6.1 KiB
Plaintext
75 lines
6.1 KiB
Plaintext
void main()
|
|
{
|
|
int iEnchLvl = (GetLocalInt(OBJECT_SELF,"lvl")+d4(1));
|
|
itemproperty ipAdd;
|
|
|
|
|
|
switch(iEnchLvl)
|
|
{
|
|
case 1: ipAdd=ItemPropertyACBonusVsAlign(IP_CONST_ALIGNMENTGROUP_GOOD,1); break; //impossible result
|
|
case 2: ipAdd=ItemPropertyACBonusVsAlign(IP_CONST_ALIGNMENTGROUP_GOOD,1); break;
|
|
case 3: ipAdd=ItemPropertyACBonusVsAlign(IP_CONST_ALIGNMENTGROUP_LAWFUL,1); break;
|
|
case 4: ipAdd=ItemPropertyACBonusVsAlign(IP_CONST_ALIGNMENTGROUP_CHAOTIC,1); break;
|
|
case 5: ipAdd=ItemPropertyACBonusVsAlign(IP_CONST_ALIGNMENTGROUP_EVIL,1); break;
|
|
case 6: ipAdd=ItemPropertySkillBonus(SKILL_TUMBLE, 2); break;
|
|
case 7: ipAdd=ItemPropertySkillBonus(SKILL_MOVE_SILENTLY, 2); break;
|
|
case 8: ipAdd=ItemPropertySkillBonus(SKILL_HIDE, 2); break;
|
|
case 9: ipAdd=ItemPropertyACBonusVsAlign(IP_CONST_ALIGNMENTGROUP_GOOD,2); break;
|
|
case 10: ipAdd=ItemPropertyACBonusVsAlign(IP_CONST_ALIGNMENTGROUP_LAWFUL,2); break;
|
|
case 11: ipAdd=ItemPropertyACBonusVsAlign(IP_CONST_ALIGNMENTGROUP_CHAOTIC,2); break;
|
|
case 12: ipAdd=ItemPropertyACBonusVsAlign(IP_CONST_ALIGNMENTGROUP_EVIL,2); break;
|
|
case 13: ipAdd=ItemPropertySkillBonus(SKILL_TUMBLE, 5); break;
|
|
case 14: ipAdd=ItemPropertySkillBonus(SKILL_MOVE_SILENTLY, 5); break;
|
|
case 15: ipAdd=ItemPropertySkillBonus(SKILL_HIDE, 5); break;
|
|
case 16: ipAdd=ItemPropertyDamageReduction(IP_CONST_DAMAGEREDUCTION_1,IP_CONST_DAMAGESOAK_5_HP); break;
|
|
case 17: ipAdd=ItemPropertyDamageResistance(IP_CONST_DAMAGETYPE_BLUDGEONING,IP_CONST_DAMAGERESIST_5); break;
|
|
case 18: ipAdd=ItemPropertyDamageResistance(IP_CONST_DAMAGETYPE_PIERCING,IP_CONST_DAMAGERESIST_5); break;
|
|
case 19: ipAdd=ItemPropertyDamageResistance(IP_CONST_DAMAGETYPE_SLASHING,IP_CONST_DAMAGERESIST_5); break;
|
|
case 20: ipAdd=ItemPropertyDamageResistance(IP_CONST_DAMAGETYPE_FIRE,IP_CONST_DAMAGERESIST_5); break;
|
|
case 21: ipAdd=ItemPropertyDamageResistance(IP_CONST_DAMAGETYPE_COLD,IP_CONST_DAMAGERESIST_5); break;
|
|
case 22: ipAdd=ItemPropertyDamageResistance(IP_CONST_DAMAGETYPE_DIVINE,IP_CONST_DAMAGERESIST_5); break;
|
|
case 23: ipAdd=ItemPropertyDamageResistance(IP_CONST_DAMAGETYPE_SONIC,IP_CONST_DAMAGERESIST_5); break;
|
|
case 24: ipAdd=ItemPropertyDamageResistance(IP_CONST_DAMAGETYPE_ELECTRICAL,IP_CONST_DAMAGERESIST_5); break;
|
|
case 25: ipAdd=ItemPropertyDamageResistance(IP_CONST_DAMAGETYPE_MAGICAL,IP_CONST_DAMAGERESIST_5); break;
|
|
case 26: ipAdd=ItemPropertyDamageResistance(IP_CONST_DAMAGETYPE_NEGATIVE,IP_CONST_DAMAGERESIST_5); break;
|
|
case 27: ipAdd=ItemPropertyDamageResistance(IP_CONST_DAMAGETYPE_FIRE,IP_CONST_DAMAGERESIST_10); break;
|
|
case 28: ipAdd=ItemPropertyDamageResistance(IP_CONST_DAMAGETYPE_COLD,IP_CONST_DAMAGERESIST_10); break;
|
|
case 29: ipAdd=ItemPropertyDamageReduction(IP_CONST_DAMAGEREDUCTION_2,IP_CONST_DAMAGESOAK_10_HP); break;
|
|
case 30: ipAdd=ItemPropertyDamageResistance(IP_CONST_DAMAGETYPE_DIVINE,IP_CONST_DAMAGERESIST_10); break;
|
|
case 31: ipAdd=ItemPropertyDamageResistance(IP_CONST_DAMAGETYPE_SONIC,IP_CONST_DAMAGERESIST_10); break;
|
|
case 32: ipAdd=ItemPropertyDamageResistance(IP_CONST_DAMAGETYPE_ELECTRICAL,IP_CONST_DAMAGERESIST_10); break;
|
|
case 33: ipAdd=ItemPropertyDamageResistance(IP_CONST_DAMAGETYPE_MAGICAL,IP_CONST_DAMAGERESIST_10); break;
|
|
case 34: ipAdd=ItemPropertyDamageResistance(IP_CONST_DAMAGETYPE_NEGATIVE,IP_CONST_DAMAGERESIST_10); break;
|
|
case 35: ipAdd=ItemPropertyBonusSpellResistance(IP_CONST_SPELLRESISTANCEBONUS_12); break;
|
|
case 36: ipAdd=ItemPropertyDamageResistance(IP_CONST_DAMAGETYPE_BLUDGEONING,IP_CONST_DAMAGERESIST_10); break;
|
|
case 37: ipAdd=ItemPropertyDamageResistance(IP_CONST_DAMAGETYPE_PIERCING,IP_CONST_DAMAGERESIST_10); break;
|
|
case 38: ipAdd=ItemPropertyDamageResistance(IP_CONST_DAMAGETYPE_SLASHING,IP_CONST_DAMAGERESIST_10); break;
|
|
case 39: ipAdd=ItemPropertyBonusSpellResistance(IP_CONST_SPELLRESISTANCEBONUS_14); break;
|
|
case 40: ipAdd=ItemPropertyFreeAction(); break;
|
|
case 41: ipAdd=ItemPropertyImmunityToSpellLevel(1); break;
|
|
case 42: ipAdd=ItemPropertyBonusSpellResistance(IP_CONST_SPELLRESISTANCEBONUS_16); break;
|
|
case 43: ipAdd=ItemPropertyHaste(); break;
|
|
case 44: ipAdd=ItemPropertyImprovedEvasion(); break;
|
|
case 45: ipAdd=ItemPropertyTrueSeeing(); break;
|
|
case 46: ipAdd=ItemPropertyBonusSpellResistance(IP_CONST_SPELLRESISTANCEBONUS_18); break;
|
|
case 47: ipAdd=ItemPropertyBonusFeat(IP_CONST_FEAT_AMBIDEXTROUS); break;
|
|
case 48: ipAdd=ItemPropertyBonusFeat(IP_CONST_FEAT_SNEAK_ATTACK_1D6); break;
|
|
case 49: ipAdd=ItemPropertyImmunityToSpellLevel(2); break;
|
|
case 50: ipAdd=ItemPropertyBonusSpellResistance(IP_CONST_SPELLRESISTANCEBONUS_20); break;
|
|
case 51: ipAdd=ItemPropertyDamageResistance(IP_CONST_DAMAGETYPE_FIRE,IP_CONST_DAMAGERESIST_15); break;
|
|
case 52: ipAdd=ItemPropertyDamageResistance(IP_CONST_DAMAGETYPE_COLD,IP_CONST_DAMAGERESIST_15); break;
|
|
case 53: ipAdd=ItemPropertyDamageReduction(IP_CONST_DAMAGEREDUCTION_3,IP_CONST_DAMAGESOAK_15_HP); break;
|
|
case 54: ipAdd=ItemPropertyDamageResistance(IP_CONST_DAMAGETYPE_MAGICAL,IP_CONST_DAMAGERESIST_15); break;
|
|
case 55: ipAdd=ItemPropertyBonusSpellResistance(IP_CONST_SPELLRESISTANCEBONUS_22); break;
|
|
case 56: ipAdd=ItemPropertyImmunityToSpellLevel(3); break;
|
|
case 57: ipAdd=ItemPropertyRegeneration(5); break;
|
|
case 58: ipAdd=ItemPropertyDamageReduction(IP_CONST_DAMAGEREDUCTION_4,IP_CONST_DAMAGESOAK_20_HP); break;
|
|
case 59: ipAdd=ItemPropertyBonusSpellResistance(IP_CONST_SPELLRESISTANCEBONUS_24); break;
|
|
case 60: ipAdd=ItemPropertyImmunityToSpellLevel(4); break;
|
|
case 61: ipAdd=ItemPropertyBonusSpellResistance(IP_CONST_SPELLRESISTANCEBONUS_28); break;
|
|
case 62: ipAdd=ItemPropertyBonusSpellResistance(IP_CONST_SPELLRESISTANCEBONUS_32); break;
|
|
case 63: ipAdd=ItemPropertyDamageReduction(IP_CONST_DAMAGEREDUCTION_5,IP_CONST_DAMAGESOAK_25_HP); break;
|
|
}
|
|
AddItemProperty(DURATION_TYPE_PERMANENT,ipAdd,OBJECT_SELF);
|
|
}
|