Hi,
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 <tmillea@nfinity.com>
>
> 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
following.
> 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
/Johan
+------------------------------------------------------------+
| Ensure that you have read the CircleMUD Mailing List FAQ: |
| http://qsilver.queensu.ca/~fletchra/Circle/list-faq.html |
+------------------------------------------------------------+
This archive was generated by hypermail 2b30 : 12/15/00 PST