Re: skill_retreat

From: Rick Glover (magik@THEGRID.NET)
Date: 09/22/98


Read prior messages, this was already discussed and solved.

http://post.queensu.ca/~listserv/wwwarch/circle.html

Rick

-----Original Message-----
From: Shane Augustine <sca@BU.EDU>
To: CIRCLE@post.queensu.ca <CIRCLE@post.queensu.ca>
Date: Tuesday, September 22, 1998 8:27 PM
Subject:  skill_retreat


>Hi i downloaded the code snippet to a retreat skill however the mud
>always seems
>to crash when i specify a valid directino once i'm fighting.  I was
>wondering if anyone could help me out.. Thanks.
>
>ACMD(do_retreat)
>{
> int prob, percent, dir = 0;
> int retreat_type;
>
> one_argument(argument, arg);
>
> if (!FIGHTING(ch))
>   {
>   send_to_char("You are not fighting!", ch);
>   return;
>   }
> if (!*arg)
>   {
>   send_to_char("Retreat where?!?", ch);
>   return;
>   }
>
> retreat_type = search_block(argument + 1, dirs, FALSE);
>
> if (retreat_type < 0 || !EXIT(ch, retreat_type) ||
>   EXIT(ch, retreat_type)->to_room == NOWHERE)
>   {
>   send_to_char("Retreat where?\r\n", ch);
>   return;
>   }
>
> percent = GET_SKILL(ch, SKILL_RETREAT);
> prob = number(0, 101);
>
> if (prob <= percent){
>    if (CAN_GO(ch, dir) && !IS_SET(ROOM_FLAGS(EXIT(ch,dir)->to_room),
>ROOM_DEATH))
>  {
>       act("$n skillfully retreats from combat.", TRUE, ch, 0, 0,
>TO_ROOM);
>  send_to_char("You skillfully retreat from combat.\r\n", ch);
>  WAIT_STATE(ch, PULSE_VIOLENCE);
>  improve_skill(ch, SKILL_RETREAT, 2);
>  do_simple_move(ch, dir, TRUE);
>  if (FIGHTING(FIGHTING(ch)) == ch)
>   stop_fighting(FIGHTING(ch));
>  stop_fighting(ch);
>  } else {
>  act("$n tries to retreat from combat but has no where to go!", TRUE,
>ch,
>     0, 0, TO_ROOM);
>  send_to_char("You cannot retreat in that direction!", ch);
>       return;
>  }
> } else {
>    send_to_char("You fail your attempt to retreat!\r\n", ch);
>    WAIT_STATE(ch, PULSE_VIOLENCE);
>    return;
>  }
>}
>
>
>     +------------------------------------------------------------+
>     | Ensure that you have read the CircleMUD Mailing List FAQ:  |
>     | http://democracy.queensu.ca/~fletcher/Circle/list-faq.html |
>     +------------------------------------------------------------+
>


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