Exemple #1
0
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;
}