Re: [CODING] Spec Proc bug...

From: Johan Dustler (
Date: 12/18/98


I hope you have been able to fix this problem already, but if
not I think I know what might be causing the problem.

> From: CyberLord <>
> I wrote a spec proc that after a few rounds fighting this mob you are put in
> another room.
> I found a bug that is kind of irritating me since I can't find where it is
> going haywire.
> A player starts the fight... and after the randon number of rounds the
> player is moved to
>  another room.. that all works fine..
> If a god is fighting the mob and does a goto <mob> seemingly at the same
> time the spec
>  proc does it's char_from_room and char_to _room calls the mob gets moved
> into the
> room along with the god.

I'm pretty sure the mob could get moved even when a mortal is fighting.
Try attacking the mob, and then issue a number of 'look' commands.
After no more then 5 or 6 commands, the mob should be moved.

The reason for this is that the special procedure is called every
time a command is issued. To prevent this from happen add the

> Snippet follows:
> SPECIAL(mob)
> {
>         struct char_data *vict;
>         static round;
>         static max_rounds;

+         if (cmd)
+           return FALSE;

>         vict = FIGHTING(ch);
>         if(max_rounds == 0) // if max_rounds has not been set yet
>                 max_rounds = number(3,6); // set it to a random number between 3 and 6


     | Ensure that you have read the CircleMUD Mailing List FAQ:  |
     |  |

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