Re: [BUG] do_bash

From: George (greerga@CIRCLEMUD.ORG)
Date: 10/07/98


On Wed, 7 Oct 1998, Del Minturn wrote:

>George wrote:
>>
>> This was non-obviously fixed in bpl14.
>>
>>     if (damage(ch, vict, 1, SKILL_BASH) > 0) {  /* -1 = dead, 0 = miss */
>>       GET_POS(vict) = POS_SITTING;
>>       WAIT_STATE(vict, PULSE_VIOLENCE);
>>     }
>
>I think that he meant that you can bash the character (not yet fighting)
>and cause the victim to be sitting.
>
>I have seen this on other muds, as if some mobs you could not attack, but
>you could however bash them to make them sit.  I saw this in one area
>where two mobs were identical except you could not hit one of them. So I
>bashed it to make him sit and I knew which one it was.

The second thing damage() does is:

  /* peaceful rooms */
  if (ch != victim && ROOM_FLAGGED(ch->in_room, ROOM_PEACEFUL)) {
    send_to_char("This room just has such a peaceful, easy feeling...\r\n",ch);
    return 0;

Third:

  /* shopkeeper protection */
  if (!ok_damage_shopkeeper(ch, victim))
    return 0;

Fourth:

  /* You can't damage an immortal! */
  if (!IS_NPC(victim) && (GET_LEVEL(victim) >= LVL_IMMORT))
    dam = 0;

So it's impossible to make anything sit in a peaceful room. Or a shopkeeper
sit anywhere, or an immortal, sit etc. So if you do 0 damage to anything,
bash won't work either.

--
George Greer, greerga@circlemud.org | Genius may have its limitations, but
http://mouse.van.ml.org/   (mostly) | stupidity is not thus handicapped.
http://www.van.ml.org/CircleMUD/    |                  -- Elbert Hubbard


     +------------------------------------------------------------+
     | 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