From The Fairy Garden MUSH
Jump to navigation Jump to search

Version 1.8.4 patchlevel 0 -- May 09, 2010

Major Changes:

  • Commands can now be restricted with an @lock-style lock in restrict.cnf and @command/restrict, allowing more complex restrictions.

Minor Changes:

  • @shutdown/reboot logs who was responsible.
  • Rewrite of help @lock to improve clarity.
  • New NO_LOG flag to disable command logging on a per-object basis.
  • mindb+maxdb classes for lsearch/@search no longer reset to default values when > db_top or < 0 is given: Instead treated as an integer comparison.
  • @open can now open exits in remove locations, as well as your current location.
  • New OPEN_OK flag allows anyone to open exits in a room, and @lock/open to restrict who can.
  • Master Room exits and ZMR exits now run the "goto" command, and @ealias and @lalias run the "enter"/"leave" commands, so @hooks get run, command restrictions checked, etc.
  • New @lock/from and @lock/receive locks, to control who can give to an object, and what objects can be given to them, respectively.
  • Changed the restrictions for valid @function names to match what was reported by valid().


  • New @include <obj>/<attr> command, which inserts <attr> into the current action list.
  • @scan can now take multiple switches at the same time.
  • @version now reports the SVN revision of the current version, when available.
  • @clone can take a garbage dbref for the new object, the same as @create.
  • 'look' now supports more english-matching (look this foo's 1st bar).
  • You can now look at objects on the other side of transparent exits, with "look [toward] <exit>'s <object>".
  • All wizards can now use @command/add.
  • function_alias in alias.cnf now creates a proper alias, not a clone, of functions. @function/alias added, which does the same in-game.
  • New @command/clone and @function/clone commands, which create copies of a command/function which initially work the same as, but are independant of, the originals.
  • Added a comment line to the beginning of @decompile's output showing the object name and dbref.


  • Added strfirstof() and strallof(), which return the first arg/all args which are non-empty strings.
  • Added reglattr[p](), regxattr[p]() and regnattr[p](), regexp variants of lattr[p](), xattr[p]() and nattr[p]().
  • The *emit() functions, and cbufferadd(), are now disabled when function_side_effects are off.
  • round() now takes an optional third argument to 0-pad the results if needed.
  • Many functions (particularly ones which take only numbers, dbrefs or attribute names as arguments) now ignore ANSI in their arguments, rather than throwing an error.
  • nattr()'s <attribute pattern> now defaults to *, not **, the same as lattr() and other attribute functions.
  • clone() can now take a <new name> and <dbref>, as per @clone.
  • cwho() now takes an optional 3rd argument to omit gagged objects.


  • @outpageformat lets you alter how you view pages that you send.


  • isprint() bug in ord() fixed.
  • Possible crashbug in @destroy fixed.
  • Minor bug in benchmark() fixed.
  • channels(<object>) was incorrectly sorted for channel names containing ansi.
  • Help fixes.
  • Minor updates to some README files.
  • Some typos and translation errors fixed.
  • namelist() now ignores null items.
  • The matching code would always perform absolute (dbref) matches, even when it wasn't told to.
  • Improvements to the match flags used by many pieces of code, hopefully fixing a number of minor bugs.
  • Paranoid dumps no longer treat ANSI tags as invalid characters in attrs.
  • The /silent switch for @lemit didn't work.
  • @decompile/db showed '@create <dbref>' for THINGs, not '@create <name>', and @decomp/name could break.
  • Crash bug in locks fixed.