1.8.4p1

From The Fairy Garden MUSH
Jump to navigation Jump to search

Version 1.8.4 patchlevel 1 -- Sep 05, 2010

Major Changes:

  • You can now do the equivilent of @command/add, @hook, @function and @attribute/access from alias.cnf and restrict.cnf, to add/configure commands, functions and standard attributes.
  • Exits now use @alias for alternate names. The old style of including aliases directly in names is still supported, but depreciated in new construction.

Minor Changes:

  • @power now reports when you try and set a power which is already set (or clear one which isn't set), similar to @set.
  • Sorting methods now take - as a prefix to sort type in order to sort in descending order.
  • The matching code no longer matches players who aren't nearby with "*playername" when MAT_NEAR is given, more in line with other checks. (This has virtually no impact for most players.)
  • The internal pe_info (which manages the function invocation limit, among other things) is now managed per-queue, not per-command argument.
  • @chan/decompile now uses "*name" for players, and dbrefs for other objects, when printing "@chan/on" statements.
  • cpu_limit now works on Cygwin (though not quite as well as on unix). A slightly higher limit may be needed than other platforms.
  • The output from say, pose, semipose and @emit is now passed through the SPEECHMOD attribute before being outputted.
  • @config/list now accepts wildcard patterns to match against option names.
  • The dreaded <Output flushed> message should show up a lot less frequently on spammy debug output and the like.
  • Added support for MSSP (Mud Server Status Protocol), based on patches by Javelin and Teal. See mush.cnf or http://tintin.sourceforge.net/mssp/ for details.
  • The script for updating config files is smarter about adding new alias lines.
  • @search now only charges for elock searches which use eval or indirect locks.
  • Added @mail/unread, to mark mail you've already read as new, and @mail/status to change read/cleared/tagged status for messages..

Commands:

  • Add /preserve switch to @chzone and @chzoneall, like @chown/preserve.
  • Rooms/exits must now have an @COST attribute in order to be given pennies. Use @cost <ancestor>=%0 to enable giving to all rooms/exits.
  • with/room can now check for commands in the Master Room or your ZMR, and with can check for commands on your ZMT.
  • @sitelock/register <host> now sets the access rules for <host> to be "!create register", rather than "!create".

Functions:

  • remit() now works like @remit/list.
  • rand() now accepts negative arguments again.
  • lcon() can now take a second argument to make it behave like lthings() or l[v]players(), or makes it return only puppets/listening objects, for MUX/Rhost compatability.
  • open() can now open rooms remotely.
  • reswitch() and co now perform $-replacements for subexpressions.

Fixes:

  • Help fixes.
  • @search's output can now include garbage objects, like lsearch().
  • The command parser incorrectly expanded the names of disabled built-in commands prior to $-command matching.
  • benchmark()'s average would be thrown off when the CPU limit was exceeded during evaluation.
  • Fix a few bugs in handling of command locks.
  • Garbage objects could be matched by dbref.
  • No longer complain about reboot.db not being present when we're not doing a @shutdown/reboot anyway.
  • The Telnet escape code was not properly escaped when sent literally to Pueblo-aware clients.
  • namelist() did not accept names in quotes.
  • @attrib/access/retroactive could remove the 'root' flag from attribute trees, making nasty things happen.
  • Fix fn() to check that the first arugment is actually the name of a built-in function.
  • Nested @asserts/@breaks with no '=' would loop unintentionally.
  • Fixed a couple of small bugs in give/@cost.
  • You can now always look at remote objects whose descs are not set nearby, and can never look at remote objects with nearby descs.
  • The chatdb didn't load correctly with invalid objects on channels.
  • Fixed a crashbug in @boot on Windows.
  • %q-registers did not carry over into @includes correctly.
  • Double-free in follow command fixed.
  • locate() sometimes returned #-2 when two objects matched, even if only one of them was the preferred type.