Re: Fleeing Past Guild Guards

From: Lord Kyu (Sythrel@Adelphia.net)
Date: 12/28/00


Lord Kyu wrote:
>
>    Was just wondering why the guild guard blocks the way if the
> player/mob flees due to having wimpy set, but if a character uses the
> flee command, the guard doesn't do his job.  In stock, the wimpy setting
> call do_flee, so why the difference?

   Wish I would focus on the things that are telling me the problem,
instead of missing it completely.  Anyhow, just to recap, and throw out
the answer to my own question, here is what was doing it, and how I went
about fixing it.

   In spec_procs.c inside SPECIAL(guild_guard)  you will find these
lines.

   if (!IS_MOVE(cmd) || AFF_FLAGGED(guard, AFF_BLIND))
     return (FALSE);

   It should have been obvious that this is why flee worked for getting
past the guards.  So, to fix it, I went into interpreter.h and added the
following.

----

ACMD(do_move);
+ACMD(do_flee);

-#define IS_MOVE(cmdnum) (cmd_info[cmdnum].command_pointer == do_move)
+#define IS_MOVE(cmdnum) (cmd_info[cmdnum].command_pointer == do_move ||
\
+                         cmd_info[cmdnum].command_pointer == do_flee)

----

   If there is a better way of doing this let me know, I am always
looking to better my knowledge on coding, especially when it will help
with problems that previously eluded me.

--

«¥» Lord Kyu «¥»

--
   +---------------------------------------------------------------+
   | FAQ: http://qsilver.queensu.ca/~fletchra/Circle/list-faq.html |
   | Archives: http://post.queensu.ca/listserv/wwwarch/circle.html |
   +---------------------------------------------------------------+



This archive was generated by hypermail 2b30 : 04/11/01 PDT