75 lines
7.7 KiB
Plaintext
75 lines
7.7 KiB
Plaintext
void main()
|
|
{
|
|
int iEnchLvl = (GetLocalInt(OBJECT_SELF,"lvl")+d4(1));
|
|
itemproperty ipAdd;
|
|
|
|
|
|
switch(iEnchLvl)
|
|
{
|
|
case 1: ipAdd=ItemPropertyAttackBonus(1); break; //impossible result
|
|
case 2: ipAdd=ItemPropertyOnHitProps(IP_CONST_ONHIT_STUN,IP_CONST_ONHIT_SAVEDC_14,IP_CONST_ONHIT_DURATION_75_PERCENT_1_ROUND); break;
|
|
case 3: ipAdd=ItemPropertyOnHitProps(IP_CONST_ONHIT_DAZE,IP_CONST_ONHIT_SAVEDC_14,IP_CONST_ONHIT_DURATION_75_PERCENT_1_ROUND); break;
|
|
case 4: ipAdd=ItemPropertyOnHitProps(IP_CONST_ONHIT_DEAFNESS,IP_CONST_ONHIT_SAVEDC_14,IP_CONST_ONHIT_DURATION_75_PERCENT_1_ROUND); break;
|
|
case 5: ipAdd=ItemPropertyOnHitProps(IP_CONST_ONHIT_HOLD,IP_CONST_ONHIT_SAVEDC_14,IP_CONST_ONHIT_DURATION_75_PERCENT_1_ROUND); break;
|
|
case 6: ipAdd=ItemPropertyOnHitProps(IP_CONST_ONHIT_KNOCK,IP_CONST_ONHIT_SAVEDC_14); break;
|
|
case 7: ipAdd=ItemPropertyOnHitProps(IP_CONST_ONHIT_CONFUSION,IP_CONST_ONHIT_SAVEDC_14,IP_CONST_ONHIT_DURATION_75_PERCENT_1_ROUND); break;
|
|
case 8: ipAdd=ItemPropertyOnHitProps(IP_CONST_ONHIT_SLOW,IP_CONST_ONHIT_SAVEDC_14,IP_CONST_ONHIT_DURATION_75_PERCENT_1_ROUND); break;
|
|
case 9: ipAdd=ItemPropertyOnHitProps(IP_CONST_ONHIT_DOOM,IP_CONST_ONHIT_SAVEDC_14,IP_CONST_ONHIT_DURATION_75_PERCENT_1_ROUND); break;
|
|
case 10: ipAdd=ItemPropertyOnHitProps(IP_CONST_ONHIT_BLINDNESS,IP_CONST_ONHIT_SAVEDC_14,IP_CONST_ONHIT_DURATION_75_PERCENT_1_ROUND); break;
|
|
case 11: ipAdd=ItemPropertyOnHitProps(IP_CONST_ONHIT_STUN,IP_CONST_ONHIT_SAVEDC_16,IP_CONST_ONHIT_DURATION_50_PERCENT_2_ROUNDS); break;
|
|
case 12: ipAdd=ItemPropertyOnHitProps(IP_CONST_ONHIT_DAZE,IP_CONST_ONHIT_SAVEDC_16,IP_CONST_ONHIT_DURATION_50_PERCENT_2_ROUNDS); break;
|
|
case 13: ipAdd=ItemPropertyOnHitProps(IP_CONST_ONHIT_DEAFNESS,IP_CONST_ONHIT_SAVEDC_16,IP_CONST_ONHIT_DURATION_50_PERCENT_2_ROUNDS); break;
|
|
case 14: ipAdd=ItemPropertyOnHitProps(IP_CONST_ONHIT_HOLD,IP_CONST_ONHIT_SAVEDC_16,IP_CONST_ONHIT_DURATION_50_PERCENT_2_ROUNDS); break;
|
|
case 15: ipAdd=ItemPropertyOnHitProps(IP_CONST_ONHIT_DISEASE,IP_CONST_ONHIT_SAVEDC_16); break;
|
|
case 16: ipAdd=ItemPropertyOnHitProps(IP_CONST_ONHIT_CONFUSION,IP_CONST_ONHIT_SAVEDC_16,IP_CONST_ONHIT_DURATION_50_PERCENT_2_ROUNDS); break;
|
|
case 17: ipAdd=ItemPropertyOnHitProps(IP_CONST_ONHIT_SLOW,IP_CONST_ONHIT_SAVEDC_16,IP_CONST_ONHIT_DURATION_50_PERCENT_2_ROUNDS); break;
|
|
case 18: ipAdd=ItemPropertyOnHitProps(IP_CONST_ONHIT_DOOM,IP_CONST_ONHIT_SAVEDC_16,IP_CONST_ONHIT_DURATION_50_PERCENT_2_ROUNDS); break;
|
|
case 19: ipAdd=ItemPropertyOnHitProps(IP_CONST_ONHIT_BLINDNESS,IP_CONST_ONHIT_SAVEDC_16,IP_CONST_ONHIT_DURATION_50_PERCENT_2_ROUNDS); break;
|
|
case 20: ipAdd=ItemPropertyOnHitProps(IP_CONST_ONHIT_ITEMPOISON,IP_CONST_ONHIT_SAVEDC_16,IP_CONST_POISON_1D2_CONDAMAGE); break;
|
|
case 21: ipAdd=ItemPropertyOnHitCastSpell(IP_CONST_ONHIT_CASTSPELL_INFLICT_LIGHT_WOUNDS,1); break;
|
|
case 22: ipAdd=ItemPropertyOnHitCastSpell(IP_CONST_ONHIT_CASTSPELL_ACID_SPLASH,1); break;
|
|
case 23: ipAdd=ItemPropertyOnHitCastSpell(IP_CONST_ONHIT_CASTSPELL_DOOM,2); break;
|
|
case 24: ipAdd=ItemPropertyOnHitProps(IP_CONST_ONHIT_FEAR,IP_CONST_ONHIT_SAVEDC_16,IP_CONST_ONHIT_DURATION_50_PERCENT_2_ROUNDS); break;
|
|
case 25: ipAdd=ItemPropertyOnHitProps(IP_CONST_ONHIT_SLEEP,IP_CONST_ONHIT_SAVEDC_16,IP_CONST_ONHIT_DURATION_50_PERCENT_2_ROUNDS); break;
|
|
case 26: ipAdd=ItemPropertyOnHitProps(IP_CONST_ONHIT_WOUNDING,IP_CONST_ONHIT_SAVEDC_16,2); break;
|
|
case 27: ipAdd=ItemPropertyOnHitProps(IP_CONST_ONHIT_ABILITYDRAIN,IP_CONST_ONHIT_SAVEDC_16,IP_CONST_ABILITY_STR); break;
|
|
case 28: ipAdd=ItemPropertyOnHitProps(IP_CONST_ONHIT_ABILITYDRAIN,IP_CONST_ONHIT_SAVEDC_16,IP_CONST_ABILITY_CON); break;
|
|
case 29: ipAdd=ItemPropertyOnHitCastSpell(IP_CONST_ONHIT_CASTSPELL_DISMISSAL,3); break;
|
|
case 30: ipAdd=ItemPropertyOnHitCastSpell(IP_CONST_ONHIT_CASTSPELL_BALAGARNSIRONHORN,4); break;
|
|
case 31: ipAdd=ItemPropertyOnHitCastSpell(IP_CONST_ONHIT_CASTSPELL_INFLICT_SERIOUS_WOUNDS,4); break;
|
|
case 32: ipAdd=ItemPropertyOnHitCastSpell(IP_CONST_ONHIT_CASTSPELL_MAGIC_MISSILE,5); break;
|
|
case 33: ipAdd=ItemPropertyOnHitCastSpell(IP_CONST_ONHIT_CASTSPELL_MELFS_ACID_ARROW,5); break;
|
|
case 34: ipAdd=ItemPropertyOnHitCastSpell(IP_CONST_ONHIT_CASTSPELL_FIREBALL,5); break;
|
|
case 35: ipAdd=ItemPropertyOnHitCastSpell(IP_CONST_ONHIT_CASTSPELL_FLAME_LASH,5); break;
|
|
case 36: ipAdd=ItemPropertyOnHitCastSpell(IP_CONST_ONHIT_CASTSPELL_HAMMER_OF_THE_GODS,5); break;
|
|
case 37: ipAdd=ItemPropertyOnHitProps(IP_CONST_ONHIT_DISPELMAGIC,IP_CONST_ONHIT_SAVEDC_18); break;
|
|
case 38: ipAdd=ItemPropertyOnHitProps(IP_CONST_ONHIT_SLAYRACE,IP_CONST_ONHIT_SAVEDC_18,IP_CONST_RACIALTYPE_HUMANOID_ORC); break;
|
|
case 39: ipAdd=ItemPropertyOnHitProps(IP_CONST_ONHIT_SLAYRACE,IP_CONST_ONHIT_SAVEDC_18,IP_CONST_RACIALTYPE_HUMANOID_REPTILIAN); break;
|
|
case 40: ipAdd=ItemPropertyOnHitProps(IP_CONST_ONHIT_SLAYRACE,IP_CONST_ONHIT_SAVEDC_18,IP_CONST_RACIALTYPE_UNDEAD); break;
|
|
case 41: ipAdd=ItemPropertyOnHitProps(IP_CONST_ONHIT_SLAYRACE,IP_CONST_ONHIT_SAVEDC_18,IP_CONST_RACIALTYPE_HUMANOID_GOBLINOID); break;
|
|
case 42: ipAdd=ItemPropertyOnHitProps(IP_CONST_ONHIT_SLAYRACE,IP_CONST_ONHIT_SAVEDC_18,IP_CONST_RACIALTYPE_ABERRATION); break;
|
|
case 43: ipAdd=ItemPropertyOnHitProps(IP_CONST_ONHIT_SLAYRACE,IP_CONST_ONHIT_SAVEDC_18,IP_CONST_RACIALTYPE_OUTSIDER); break;
|
|
case 44: ipAdd=ItemPropertyOnHitCastSpell(IP_CONST_ONHIT_CASTSPELL_CHAIN_LIGHTNING,5); break;
|
|
case 45: ipAdd=ItemPropertyOnHitCastSpell(IP_CONST_ONHIT_CASTSPELL_BALL_LIGHTNING,5); break;
|
|
case 46: ipAdd=ItemPropertyOnHitCastSpell(IP_CONST_ONHIT_CASTSPELL_ISAACS_LESSER_MISSILE_STORM,5); break;
|
|
case 47: ipAdd=ItemPropertyOnHitCastSpell(IP_CONST_ONHIT_CASTSPELL_KNOCKDOWN,5); break;
|
|
case 48: ipAdd=ItemPropertyOnHitCastSpell(IP_CONST_ONHIT_CASTSPELL_INFLICT_CRITICAL_WOUNDS,6); break;
|
|
case 49: ipAdd=ItemPropertyOnHitCastSpell(IP_CONST_ONHIT_CASTSPELL_ISAACS_GREATER_MISSILE_STORM,6); break;
|
|
case 50: ipAdd=ItemPropertyOnHitProps(IP_CONST_ONHIT_LEVELDRAIN,IP_CONST_ONHIT_SAVEDC_18,1); break;
|
|
case 51: ipAdd=ItemPropertyOnHitProps(IP_CONST_ONHIT_SLAYALIGNMENTGROUP,IP_CONST_ONHIT_SAVEDC_18,IP_CONST_ALIGNMENTGROUP_GOOD); break;
|
|
case 52: ipAdd=ItemPropertyOnHitProps(IP_CONST_ONHIT_SLAYALIGNMENTGROUP,IP_CONST_ONHIT_SAVEDC_18,IP_CONST_ALIGNMENTGROUP_LAWFUL); break;
|
|
case 53: ipAdd=ItemPropertyOnHitProps(IP_CONST_ONHIT_SLAYALIGNMENTGROUP,IP_CONST_ONHIT_SAVEDC_20,IP_CONST_ALIGNMENTGROUP_CHAOTIC); break;
|
|
case 54: ipAdd=ItemPropertyOnHitProps(IP_CONST_ONHIT_SLAYALIGNMENTGROUP,IP_CONST_ONHIT_SAVEDC_20,IP_CONST_ALIGNMENTGROUP_EVIL); break;
|
|
case 55: ipAdd=ItemPropertyOnHitCastSpell(IP_CONST_ONHIT_CASTSPELL_POWER_WORD_STUN,7); break;
|
|
case 56: ipAdd=ItemPropertyOnHitCastSpell(IP_CONST_ONHIT_CASTSPELL_PHANTASMAL_KILLER,7); break;
|
|
case 57: ipAdd=ItemPropertyOnHitCastSpell(IP_CONST_ONHIT_CASTSPELL_HORRID_WILTING,7); break;
|
|
case 58: ipAdd=ItemPropertyOnHitCastSpell(IP_CONST_ONHIT_CASTSPELL_SLAY_LIVING,7); break;
|
|
case 59: ipAdd=ItemPropertyOnHitCastSpell(IP_CONST_ONHIT_CASTSPELL_FLESH_TO_STONE,7); break;
|
|
case 60: ipAdd=ItemPropertyOnHitProps(IP_CONST_ONHIT_MORDSDISJUNCTION,IP_CONST_ONHIT_SAVEDC_22); break;
|
|
case 61: ipAdd=ItemPropertyOnHitProps(IP_CONST_ONHIT_VORPAL,IP_CONST_ONHIT_SAVEDC_22); break;
|
|
case 62: ipAdd=ItemPropertyOnHitProps(IP_CONST_ONHIT_VORPAL,IP_CONST_ONHIT_SAVEDC_24); break;
|
|
case 63: ipAdd=ItemPropertyOnHitProps(IP_CONST_ONHIT_VORPAL,IP_CONST_ONHIT_SAVEDC_26); break;
|
|
}
|
|
AddItemProperty(DURATION_TYPE_PERMANENT,ipAdd,OBJECT_SELF);
|
|
}
|