Patrick J. Dughi wrote: > 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 | > +------------------------------------------------------------+ Ah! GMTA buddy, I loved Ultima V. :) I've been pondering the same thing and here's the approach I thought up, based on my old MUD which was based on Circle 3.0 bpl 11 with mobprogs and Oasis... You could create a new trigger for mobprogs - a time trigger which sends the time of day to each mob on the hour. You could then knock off code in graph.c that the mobs could use to seek out a given room (which I've already done while implementing an "mproomseek" command). Not only that, but you could implement a new test for mobprogs to check the time of day if you want the barkeep to have a specific reaction to a drunk walking into his pub first thing in the morning. <G> Oh, there's plenty of ways to do this... but this seems simple. :) Daniel Houghton AKA Garadon +------------------------------------------------------------+ | 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