{Circle} Mob schedules?

From: Patrick J. Dughi (dughi@IMAXX.NET)
Date: 02/27/98


        Ever play the game Ultima V? I know, its a step back for most of
you, but try.  Well, I whipped that thing out, fired up my appleIIgs and
started playing it again. Never did get to the 8'th level in Hygolyth.
But I did notice something that added oodles to the game - Each city mob
had a schedule.  Like, at 10 pm the guards in the castle would change
places.  At 11 am the judge would go to the courthouse.  At 8 am, the
drunk would stagger around outside the bar and ask for change.  And
usually by nightfall, someone would close up the gates and everyone would
go home and go to sleep.

        Ah - but you're thinking "The Mayor! The Mayor!"

                Down Tattoo. This isn't fantasy island.  You ever look at
that mayor spec_proc? Kudos to the guy who originally wrote it, but I'd
never expect any builder I know to whip out something like that - not even
if they copied it.  And I'm sure not going to want to spend time making
every little peacekeeper walk their routes. Especially not in code.

        What is needed is some sort of easily definable scheduling for
mobs.  Something that can be generalized like

        Mob: Farmer Joe-Bob-billy-smith-bubba.
        Schedule:
          1. wake up at 5 am.
          2. go to room 500 (pig pen) and slop the pigs at 5:25
          3. go to room 502 (hidden shack) and make moonshine at 7:00.
                        .
                        .
                        .
                        .
         89. beat the wife at 9:55 (run mobprog/script "beatwife")
         90. turn in for the night at 10:00.

        Obviously, the can be complicated beyond all recoginition, but i
suppose I can deal with simple for now.  Figure that a minor bit of energy
would result in an effective (?..well.. maybe) town guard? Or shop keepers
that didn't just sit in their store for years on end.  Or a drunk who
would occasionaly get the hell out of the main town and go to sleep in the
dump.

        Here's what I think would be needed, but tell me what you see
wrong, or could add?

        Ability to get a mob to walk/go to a room at a specified time
        (track to a room)
        Ability to get a mob to say/do something at a specified time


        Ideas?  Should this just be a mobprog or script?  I kinda like it
seperate, but thats why i'm throwing it out to people who may have thought
about it.  Easy-to-use(parse)-formats?  Anything really.

                                PjD

P.S. Working on getting that drinking code up - its on a machine w/o net
connection, and i've only limited access. Force of will, will prevail.

P.P.S

        New bug in Board code:

          Due to a fix of a previous bug (inability to read anything but
boards in a room with a board), you are now unable to read anything but a
board unless you _are_ in a room with a board.  The reason is simple.  In
look_at_target, there's some mess about 'if (!found || !obj)' or something
of that line .. well, the end result is that a board is in the room, but
its not the thing being looked at, so run it as if the user had typed
"look at _xx_"  Well, its argument is not being recreated correctly.
        ... quick easy fix:

                strdup the argument before its played with, and insert the
backup copy instead of recreating the sting.  Don't forget to free it when
you're done with it.


     +------------------------------------------------------------+
     | Ensure that you have read the CircleMUD Mailing List FAQ:  |
     | http://democracy.queensu.ca/~fletcher/Circle/list-faq.html |
     +------------------------------------------------------------+



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