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