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); }