int special_hit(object atk) { object tp = query_wielded(); int chance; int dmg = 0; if (tp != owner) return 0; chance = 90+(tp->query_stats("dexterity")+tp->query_stats("wisdom"))/9; if (random(1000) < chance) { dmg = (query_wc()+chance)/(3+random(10)); message("info", COL+capitalize(query_desc())+" sizzles and crackles as it strikes!"+RES, environment(tp) ); atk->add_sp(-(dmg/2)); atk->add_mp(-(dmg/2)); atk->add_bleeding(random(dmg/2)+5); } return dmg; }