Exemple #1
0
mixed on_miss( object actor, object weapon, mapping wc, object target,
               int speed, int flag ) {
  int check;

  if (flag & ATT_NO_COUNTER)
    return;

  target->add_endurance(-1);
  target->add_readiness(-query_readiness_cost());
  target->set_stance( ST_LYING );

  check = target->skill_check("combat.technique.counter", speed * 5);
  if( !check )
    return ({"counter",(["blunt":0]),"~Targ ~vertfail ~post attempt at throwing ~name."});
Exemple #2
0
void tick() {
   if (!vict->query_is_living())
      destruct(this_object());
   switch (type) {
      case "mana":      vict->add_mana(speed); break;
      case "endurance": vict->add_endurance(speed); break;
      default:          vict->add_hp(speed);
   }
   msg_object(vict,"You feel energy returning to your body.");
   size -= speed;
   if (speed >= size)
      speed = size;
   if (size <= 0)
      destruct(this_object());
   call_out("tick",5);
}