Zap Command

From: Quinn ShadowStalker (quinn@MUD.COMSYS.NET)
Date: 04/27/98


well I figured I'd make a new contrib to the list, here is a zap command
that sets players hps/mana/and mv down to 0 (not perm tho) and then purges
them, its quite good for enforcing rules among the mortals and immortals.
-------------------------------------------------------------------------------
ACMD(do_zap)
{
  struct char_data *vict;
  char buf1[200];
  struct descriptor_data *d, *next_d;

  one_argument(argument, buf);

  if (*buf) {                   /* argument supplied. destroy single
object
                                 * or char */
    if ((vict = get_char_room_vis(ch, buf))) {
      if (ch == vict) {
        sprintf(buf1, "You put your mouth in the barrel of the shotgun and
your toe on the trigger.\r\n But alas, you are too wimpy to pull the
trigger!\r\n");
        send_to_char(buf1, ch);
        return;
      }
      if (!IS_NPC(vict) && (GET_LEVEL(ch) <= GET_LEVEL(vict))) {
        send_to_char("Asswipe!  Don't try that again!\r\n", ch);
        sprintf(buf1, "%s tried to ZAP you! Kill that Mother Fucker\r\n",
GET_NAME(ch));
        send_to_char(buf1, vict);
        return;
      }
      if (!IS_NPC(vict)) {

        sprintf(buf, "(GC) %s has ZAPPED %s.", GET_NAME(ch),
GET_NAME(vict));
        mudlog(buf, BRF, LVL_IMMORT, TRUE);

        SET_BIT(PLR_FLAGS(vict), PLR_DELETED);

        sprintf(buf1, "%s points a HUGE shotgun towards your head and
blows you away!\r\nYou have been utter _DISINTEGRATED_ from the face of
the mud.\r\n", GET_NAME(ch));
        SEND_TO_Q(buf1, vict->desc);
        vict->desc = NULL;
        for (d = descriptor_list; d; d = next_d) {
          next_d = d->next;
          if (d->character && (GET_IDNUM(d->character) ==
GET_IDNUM(vict))) {
            STATE(d) = CON_CLOSE;
            d->character = NULL;
          }
        }
      }

      act("You lower your HUGE shotgun and aim the barrel at $N.\r\nYou
squeeze the trigger and an enormous cloud of smoke erupts from the
shotgun.\r\n", FALSE, ch, 0, vict, TO_CHAR);
      act("$n lowers $s HUGE shotgun and aims the barrel at $N's
head.\r\n$n squeezes the trigger and a cloud of smoke erupts from the
shotgun.\r\n", FALSE, ch, 0, vict, TO_NOTVICT);
      sprintf(buf1, "BLAM!  The rumble of a HUGE shotgun blast can be
heard echoing in the distance.");
      send_to_all(buf1);
      act(" $N dives towards the ground trying to dodge the shot but
fails.\r\nThe shotgun blast _DISINTEGRATES_ $N's head into smithereens.",
FALSE, vict, 0, vict, TO_ROOM);
      sprintf(buf1, "You hear a death cry that makes you cower in fear.");
      send_to_all(buf1);

      extract_char(vict);
    } else {
      act("No-one here by that name to shoot.", FALSE, ch, 0, vict,
TO_CHAR);
      return;
    }
  } else {
      act("$n lowers $s HUGE shotgun at you and pulls the trigger!!!\r\nA
gaping hole has been blown right out of the ground beside your feet.\r\n$n
stares you in the eye and tells you, 'Make my day, PUNK!'", FALSE, ch, 0,
ch, TO_NOTVICT);
      act("You lower your HUGE shotgun and pull the trigger!!!\r\nA gaping
hole is all that has been left in the ground.\r\nYou grin as everyone in
the room trembles with fear.", FALSE, ch, 0, ch, TO_CHAR);
      return;
  }
}


            _,
        _.-{__}-._
      .:-'`____`'-:.
     /_.-"`_  _`"-._\
    /`   / .\/. \   `\     Eric Cartman of South Park
    |    \__/\__/    |
  .-\                /-.
 /   '._-.__--__.-_.'   \   Matt Roach - Owner of OnyxMUD
 /`'.  `""""""""`    .'`\"I dont have bugs......just randomly created features!"
  |  |      '       |   |   matt@shiva.ml.org    quinn@mud.comsys.net
 .'-;`______'________`;-'
  `--------------------`


     +------------------------------------------------------------+
     | Ensure that you have read the CircleMUD Mailing List FAQ:  |
     | http://democracy.queensu.ca/~fletcher/Circle/list-faq.html |
     +------------------------------------------------------------+



This archive was generated by hypermail 2b30 : 12/15/00 PST