Re: mobgprog patch

From: Eric Green (ejg3@cornell.edu)
Date: 02/03/95


>Does anyone know the location of the patch program for mobprog?
>My archie came up with about 250 sites!! *gasp* I am interested in trying
>it out for my mud. I will search each one if necessary but I am not
>looking forward to that. Please let me know if you know if you have any
>idea where to look for it. Also if you have installed this program on
>your mud, I would appriciate any wisdom that you can pass on to me as far
>as setting it up, bugs, modifications, etc.

There is a patch file for adding mobprogs to Circle 2.2 at ftp.cs.jhu.edu
as /pub/CircleMUD/submissions/mobprog.tar.Z.  Unfortunately, its almost
identical to the Merc mobprogs, so it features the many bugs of that
version, plus a few from the port.  A some bugs i can think of off the top
of my head:

  - can not handle nested if statements
  - in mprog_veval, the second
        if ( !str_cmp( opr, ">=" ) )
    should be
        if ( !str_cmp( opr, "<=" ) )

  - charmed mobs can be ordered to use mp commands
  - mpforce can be used on immortals (except for mpforce all)

      the above 2 bugs allow interesting tricks like
        order follower mpforce <implementer> set <you> level 34

  - uses 0 instead of NOWHERE (this may be a problem only in 3.0)

I would guess asking on the Merc mailing list would get you a much more
comprehensive bug listing and their fixes.

It isn't too hard to port mobprogs to Circle 3.0, just time consuming.  I
think the areas that need changes are:

  - act() no longer sends to mobs, so it never calls the act trigger.  You need
    to change act so it does send messages to mobs with mobprogs.
  - in mobile_activity() there was some change that had to be made.  I think it
    was something like the check for an AWAKE mob had to be moved after the
    random trigger check in order for mobs to call it when they are sleeping.
  - structures have changed somewhat, so quite a few simple changes have to be
    made in mobprog.c (possibly mobcmd.c too), to replace the old structures
    with the new ones.

I have mobprogs working in Circle 3.0 and was going to make a patch file to
distribute, but since then i have lost the stock code with the mobprogs,
and the code i'm using now is too heavily modified to do that.

If you have specific problems with debugging 2.2 or porting to 3.0, feel
free to contact me.  If someone is interested in porting it to 3.0 for
distribution, i would be willing to help out.  I am not interested in doing
this myself since i am working on replacing mobprogs with a more powerful
scripting system.

Eric Green/Thrytis
ejg3@cornell.edu



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