Online Creation: EnvyMUD 1.0
OLC Version 1.0

This online creation system was ported to EnvyMUD 1.0 by Jason Dinkel
from The Isles running NiMUD Revision 2-60 (8/11/94) written by Locke
and Surreality.  Surreality originally wrote this online creation
system for Merc 2.2 and submitted it to Locke for inclusion with The
Isles.  I mailed Locke and he told me that 85% of the OLC(online creation)
code was by Surreality and that I should get permission from him to publish
it.  Locke only wanted to know what code base I was using and also he wanted
to see the MUD running when I got the code ported.

A fresh copy of EnvyMUD can be obtained from ftp.atinc.com in the
pub/mud/servers directory if you want to run a diff and make the changes
to your own mud.

Features:
 1) New commands(see interp.c, and olc.c):
These commands actually send your input to a new interpreter that
processes the command and then sends any commands it cannot process
to the normal interpreter.  Use help <command> online to get all
the commands.
    aedit	- area editor
    redit	- room editor
    oedit	- object editor
    medit	- mobile editor

Hitting return or typing show in one of the above editors will
execute one of these commands giving you a printout of what
your room variables look like.
    ashow	- display area information
    rshow	- display room info
    oshow	- display object info
    mshow	- display mobile info

This command could really be improved and I didn't make the improvement
originally because it would have taken too much modification on the part
of the installer.  What it really should do is just display the resets
that are part of the room you are editing, rather than the resets for
the whole area.  This would require changing the way resets are
processed in the game, however.  I may update this in a later version if
it becomes a popular idea(i.e. you send me mail asking for it.)
    resets	- display resets in area

This command saves your work, use it liberally.  You may want to add it
to your update routines so that the whole database is saved periodically
if you have many builders and want to be sure they don't lose data while
working on the new areas.
    asave	- save area
	asave list     - saves the area.lst file
	asave zone     - saves the zone you're in
	asave changed  - saves all changed zones
	asave world    - saves the world! (db dump)

Can't fit all the info on one screen very easily, but I did my best.
I hope it helps a little bit, if not it is easy to edit this little
routine found in olc.c.
    alist	- displays an area list that contains vnum ranges
		  and builders assigned to an area.

 2) Object values have a new, easier interface.  No more kludgy table
lookups.

 3) There is a Verbose option in olc.c that allows resets to be
commented extensively to help with debugging.

 4) Security is implemented so that a player begins with a security of
9 and the highest security is 1.  You can form a hierarchy of builders
with this feature.

 5) The builder option allows a particular builder to be assigned to
an area.  This way a builder can have an area to himself and everyone
knows who is working on that particular area.

 6) New format for areadata.  Check out db.c or look at the area files
after executing an 'asave world'.  Old area format is still accepted,
of course.  If you make changes to the area format I recommend that
you follow the example set for this piece of code if you want to keep
your area files backward compatible.

 7) New prompt option.  %c will give your prompt the current editor
that you are using.

Limitations:
 1) The software doesn't support randomized exits.  Kalgen doesn't think
they are a good way to make puzzles and after replying to his post I
decided that he was absolutely correct.  The software still saves the R
resets, but it doesn't process them except to load them into memory and
to save them to the disk.
 2) The software doesn't allow editing of the following:
	socials
	poses
	helps
	liquids
	level names
        MobPrograms(or other scripting languate)


These people helped make this software possible.  I am eternally
grateful.

	Kahn, Thelonius, Kith, and Hatchet for the base code system that
	is clean.

	Locke for releasing The Isles to the public and permission from
	him to let me use it to develop this code on EnvyMUD.

	Surreality for writing the online creation routines and his
	permission for me to share them with you.

	Kalgen for the fix to format_string.

	DJ Delorie for DJGPP 1.12 which supports DPMI so I can compile
	and run under Windows 3.1 which is a Godsend for me.

	Alan Phillips for Programmer's File Editor for Windows/16
	version 0.05.007 and a nice interfacing system into DJGPP.

	TrollMUD for suggestions and support.

	The people who contribute to the Merc mailing list and Zrin for
	administering it.


Here are my software sources:

DJGPP version 1.12 from oak.oakland.edu in pub/msdos/djgpp

PFE0507.ZIP : freebsd.cdrom.com /.2/SimTel/msdos/windows3

This code was ported to EnvyMUD 1.0 by Jason Dinkel on the dates
12/5/94 to 12/11/94.

If you plan to publish any of this work please be sure that you inform
these people:

Locke:        locke@telerama.lm.com
Surreality:   cxw197@psu.edu
Jason Dinkel: jdinkel@mines.colorado.edu