Ohara fixed clone so clone with no args clones cwf _provided_ it inherits from /std/object (Not a foolproof check .. but generally saneish)

Beek fixed clone not to leave the object lying in limbo if it doesn't inherit /std/object.

Beek added a new simul_efun: sort_by_value(array, function), which sorts the array based on the value of evaluate(function, element); e.g: sort_by_value(bodies(), (: $1->query_score() :))

Zifnab made /opj/corpse.c return 0 for is_living, this solves the get foo from corpse problem, not sure what else it causes tho :)

Zifnab removed the "STR" rule from query_verb_info for kill.c

Ohara added a security check for /std/body/guilds .. currently it errors .. it should log.... suggestions on a postcard to ..

Ohara removed fix_guild_data() .... if people's files brk, the7y haven't been on in a looooong time

Ohara put a check to make sure that .me->add_guild( "foo" ) fails on non existant guilds.

Beek fixed HELP_D to ignore /help/autodoc/FIXME (and any other dirs you want; see the ignore array at the top of HELP_D)

Beek added /help/wizard/coding/tell

Beek fixed help to actually PRINT the "that file doesn't exist message" when a file is removed

Beek made it so that directories in the help structure also have entries; e.g. help wizard, help coding, help mudos_doc now work.

Beek removed a (debugging?) write("

Beek ... "XXXXXX") from the soul_d

Beek fixed certain soul_d security checks to error() instead of failing silently

Ohara fixed a bug in the ftp_d: Anon users can now use it (pwd was being set to /ftp//pub rather than /ftp/pub)

Zifnab added a clean_up(){return 0;} to the ftp_d, and the http_d

Ohara fixed sline for players

Ohara ifdeffed the code in sline.c

Beek fixed HELP_D to ignore zero length help files

Beek fixed DOC_D not to make 0 length help files in the first place

Zifnab installed kinison's fixed m_wander.c

Ohara changed can_go_str and do_go_str: COMPAT_BUSTER (Sorry! :) - See news for mor details.

Ohara updated  example_room1 with the new can_go_ functionality and in the process:

Ohara fixed cangodogo for vehicles.

Ohara fixed "exits" for do_go_wherever()

Ohara fixed exits in the room header for do_go

Ohara fixed a large bug in cangodogo <ugh> It should be bugfree now. ("Famous last words")

Beek added default clean_up() behavior to /std/object.c

Beek fixed users to never clean up.

Beek made commands (but not verbs) clean up

Beek ripped DAEMON; put correct functionality in all objects that used to inherit it

Beek added M_DAEMON_DATA, which handles the saving and loading of most daemon data files now

Rust fixed two bugs in mailbox_d's new clean_up ;-)  Sorry if you lost aliases over this...

Zifnab fixed cmd.c (I think!!!!! inherited M_DAEMON_DATA rather than DAEMON)

Zifnab did the same to ed_session.c aliasmenu.c more_ob.c

Beek fixed up the remaining objects that used to inherit DAEMON

Beek also made imail_d use M_DAEMON_DATA.  Associated changes: save file is now "/data/secure/daemons/imail.o" and not "/data/mail/imud_queue.o" for filename consistency; /data/secure/daemons was created and given @secure read permissions so that the queue file has the same protection as before (namely, write=@secure,read=@secure)

Beek tweaked clean_up() behavior a bit; it is now easier to override the behavior of individual rooms without having to rewrite all of clean_up().

Beek : the following daemons were converted to use M_DAEMON_DATA: HELP_D, DID_D, DOC_D, GUILD_D, IMUD_D, LAST_LOGIN_D, SKILL_D, SPELL_D

Beek added help for M_DAEMON_DATA

Ohara fixed "who" at login.

Ohara added an M_ACTIONS to DOOR in order to make the targetted_action in M_BLOCKEXITS work correctly.

Ohara meant M_MESSAGES not M_ACTIONS :)

Beek fixed dbx* to do an unguarded when querying the error mapping.

Beek fixed sort_by_value (it was sorting in reverse order)

Beek fixed su (race)

Beek fixed the review cmd

Ohara fixed a bug in the wizroom

Ohara notes that the bug that he fixed was to do with the state being incorrect if funkyness occured with the door before update ("closed" when actually open.) [A

Beek made some changes to memcheck_d and permissions on system_post/remove_post

Beek added some code to deal with a new body when loading from a save file.  update_for_new_body() is called (currently does nothing)

Beek fixed 'people' to work when someone is '(Nowhere)'

Beek added a couple unguarded()'s to the dbx* commands so that non-admins can use them

Beek changed NEWS_D to only save the changes since the last time it loaded each time a change is made; this is a HUGE efficiency gain.  The full save file is updated either (1) when remove() is called or (2) when the object loads and notices it didn't get removed

Beek made NEWS_D rip all information about deleted posts when it loads.  Blame Ohara if this is a bad idea and we end up having to restore from a backup :-)

Beek fixed the newsreader to deal with the above changes

Ohara made autoadmin NOT require you to have AUTO_WIZ defined.

Beek added a default_message() function to /std/monster/simple.c

Beek fixed parse_imud_soul() to deal correctly with error messages from the parser

Beek added a remove() function to M_WEARABLE to take care of clearing body slots

Beek fixed the scarf to only set it's body slot if they are in use

Beek fixed more not to error when a search fails

Beek made pictures save their images

Beek added a 'renew' command. (basically, it takes an object, saves it to a string, does an update -z on the file, clones a new one, restores it from the string, and puts it back where it was)

Deathblade tweaked the stat_me() in /secure/user/inputsys.c to check previous priv for 1 to allow admins to debug any user, not just other admins.

Deathblade cleaned out a lot of the obsolete flags and obsolete header files.

Ohara moved update.c to update.bak (It was broken!) and replaced it with a fresh copy from alpha (Ta Kinison)

Ohara fixed secret doors to return standard exit error/ default message when you attempt to walk through them.

Beek fixed new_prompt() in /std/menu.c to return it's result (thx Tigran)

Beek fixed it so you don't get errors if you don't have a body.

Beek fixed it so you can 'su' when you don't have a body (and get a new one)

Beek fixed the 'nothing before pipe' bug

Ohara removed the M_SAVE inherit from M_VENDOR.

Ohara made the oak door hidden again rather than secret - I needed a suitable testsubject and it was it :)

Ohara fixed a typo in mudlist when only 1 mud of a type was up.

Ohara fixed a very small bug in finger @ if the person wasn't idle.

Ohara fixed the /close bug in telnet (with the exception if you use /tog )

Ohara fixed the multiple edits clearing the edit flag problem. Who needs elegant anyway.

Ohara fixed the marking of people in editing in who.

Beek added 'uncd'.  Returns you to the last dir you were in before you cd'ed.  Twice brings you back.

Ohara fixed a bug in /std/body - it was still using shout(). Note that the fix uses bodies rather than users - this stops people loggin in from getting deth messages.

Beek changed FNAME to only be parsed if FILE, CFILE, or OBFILE have all failed

Beek added OBFILE which is CFILE + get_object()

Beek made ed and more use OBFILE

Beek : showtree too

Beek fixed OBFILE to recognize 'plain' filenames

Ohara fixed ... another bug in cangodo

Ohara stopped people from exiting the car while in the carwash.

Beek made channels stand out a bit more; also moved the format to the top of the file (after tracking down 238943 instances ...)

Ohara notes that 12 to 22 is a big leap. This upgrade has been brought to you by the letters S and Z, and the number 10

Ohara notes that not only AREN'T we on the new driver, but Christmas has also been cancelled.

Zifnab notes we are now on v22b22 tho not completely yet (no soul_d)

Ohara notes that Beek said it would only break one hard to find thing .... ;)

Ohara and Zifnab agree: DON'T ask what happened to souls. READ THE DID LOG READ THE DID LOG CAN IT BE ANY PLAINER THAN THIS

Ohara fixed /std/object/names::id() and ::plural_id() to check for the existance of arrays before checking them ... fixes the objects( (: id( "sword" ) :)) bug hopefully ...

Ohara er: @objects( (: $1->id( "sword" ) :)) (yes it does work)

Ohara put val's temp fix for the soul_d in, and ripped the half-done current code ... To be returned to <1 in a future driver.

Beek changed update to work on obfiles instead of cfiles

Beek fixed the more command to call more() with an array (we want them in more once with n files, not n times with 1 file)

Zakk fixed semote. *yawn*

Ohara fixed mail to (admin)

Ohara fixed mail not to include people on the Cclist that are on the To list.

Ohara ripped moreob since it's now redundant

Zifnab fixed the player menu to show adverbs correctly

Beek changed dest not to mention objects w/o names to the room

Beek fixed makeroom to protect quotes

Zifnab installed the ne driver docs

Beek added colour_strlen() and colour_truncate() to M_ANSI

Beek fixed who to truncate correctly

Zifnab made inheriting m_edible make objects gettable by default.

Zifnab doh looks at his didlog, he meant to say inheritng m_gettable

Beek fixed who to take the length of idle_string into account only once

Zifnab fixed the grid_server, /secure/master.c compile_object() was prependign a / onto the path.

Zifnab recompiled v22b22 with debuggin on

Beek added a /contrib directory; see /contrib/README for details

Beek moved /obj/http_connection.c to /contrib/http_connection.c, since /daemons/http_d.c is used by default.

Beek added a CONFIGURABLE_COLOURS option (which is currently on here).  Try 'colours', 'colours channel red', etc

Deathblade fixed M_DAEMON_DATA to use unguarded() for the file_size() call. it was spamming a log.

Ohara added SIGN to mudlib.h, and made the sign in the example area use it.

Ohara made the backpack wearable.

Ohara fixed guilds so that NPCs could inherit /std/body/guilds and not get tripped up on security.

Ohara random elements or are they defined as evil somehow?

Ohara oops :)

Deathblade removed the extra CR from channel souls.

Deathblade made monster not override create(). That prevented monster subclasses from using args in create() and/or mudlib_setup(). Recall that all mudlib objects should use mudlib_setup().

Ohara added GUILD_GUARD (/std/guild_guard) / (/domains/std/guild_guard uses it)

Ohara changed M_OPENABLE::set_closed() to have an extra short of closed as well as open ... This means that the backpack will now display "a backpack (closed)" when in your inventory.

Ohara added a lima.priority group for things that are  arbritrarily chosen by whoever (Read: _admins_ :) ... expect things to pop bac and forth between there and normal groups <shudder> ;)

Beek fixed more_ob not to use ansi()

Beek added a 'cannonical_form' sefun, which converts alternate forms of object names to a standard form

Beek fixed make_objects_if_needed() to use cannonical_form() to do the comparisons

Beek made the shutdown() sefun error if the security check fails, instead of just silently failing

Beek merged SHUTDOWN_D back into the shutdown command, removing about half a dozen calls between the two in the process (this also means timed shutdowns should work now)

Beek fixed the cmd_rule for shutdown (thx kinison)

Beek fixed SHUTDOWN_D not to say '1 minutes'

Ohara fixed the Invalid privilege message to add some spaces in there :)

Beek fixed 'drop all' when you have nothing, and removed the 'drop STR' rule (next person to use STR for error handling gets shot)

Deathblade changed the SOCKET object to log an error at remove() time, rather than refuse to be removed.

Deathblade tweaked a couple the Deleting prompt in the newsreader

Beek fixed 'look for beek', 'look for ground'

Zifnab removed about 300 FTP bug reports, and supplied one in summary

Beek cleaned up CMD_D::parse_arg() [also fixes update]

Beek fixed 'set foo bar' to set $foo to "bar" and not " bar"

Beek notes he meant: 'set foo bar bazz' to set $foo to "bar bazz" and not " bar bazz"

Beek fixed 'unset'

Beek fixed 'unset' to print an error if no such var exists, instead of just saying 'Ok.'

Beek fixed a bug in DIR handling in the CMD_D

Rust gave FTP_D a clean_up()

Beek added LPSCRIPT_D; more functionality and examples forthcoming

Deathblade cleaned out the last this_player() and added an override. Removed a notify_fail() override and some related crap code in M_PARSING.

