[PENNMUSH-ANNOUNCE] 1.7.7-patch32

Javelin dunemush at pennmush.org
Mon May 31 09:54:39 CDT 2004


The PennMUSH development team announces the release of 1.7.7-patch32

You can retrieve this patch, or a complete tarball of this version
of PennMUSH, from the PennMUSH download site http://ftp.pennmush.org/Source

Please read the instructions at the top of the patch file if using
a patch. Sometimes they differ slightly. Changes in this patch
are listed below.

Enjoy!

  Javelin, for the penndevs

--------------------------------------------------------------------


Major Changes:
  * SQL support. PennMUSH can now operate as an SQL client and perform
    queries against an SQL server. Currently only the MySQL server is
    supported. This adds the @sql command, the sql() and sqlescape()
    functions, and the Sql_Ok power. See README.SQL for some 
    additional information.  Mostly based on patches by Hans Engelen.
  * Creating a leaf attribute automatically creates associated branch
    attributes if they are not already present. [TAP]
  * When a $command matches on an object, but the object's use-lock or
    command-lock prevents the command from being run, the object's
    COMMAND_LOCK`FAILURE, COMMAND_LOCK`OFAILURE, and COMMAND_LOCK`AFAILURE
    attributes will be triggered if the $command never successfully 
    matched, rather than returning a Huh? to the player.
  * Exits and rooms may now run $commands. Rooms are treated as being
    located in themselves for purposes of location checks. Exits are
    treated as being located in their source room. Suggested by [TAP].
Commands:
  * 'empty <object>' attempts to get each item in <object> and put
    it alongside <object> (in <object>'s location).
  * 'give <object> to <player>' syntax added.
Minor Changes (user-visible):
  * @COST attribute is now evaluated, so you can make costs depend
    on who's paying, a selected item, etc. Suggested by Walker at M*U*S*H.
    Also, the amount given is passed in as %0, so you can code
    vendors that accept any amount.
  * New OBJID^<objid> lock atom.
  * The server now maintains a rolling log of activity (commands issued,
    evaluations parsed, and locks evaluated), that is dumped to the log 
    file on panic, or can be seen by God with @uptime. This aids 
    debugging code that causes a "clean" panic rather than a crash. 
    Suggested by Intrevis at M*U*S*H.
  * When checking a use/command/listen-lock on an object with patterns
    that get matched, we only check the lock once and cache the result,
    to prevent multiple lock evaluations if multiple patterns match. [TAP]
  * @chan/recall now shows nospoof tags for @cemit'd lines.
    Suggested by Sholevi at M*U*S*H.
  * SUSPECT flag can now be applied to any type of object.
    Suggested by Oriens at Alexandria.
Minor Changes (internals):
  * fun_escape() and fun_secure() use the same list of special characters, 
    rather than each having their own copy. [SW]
  * Buffer queue code used by @chan/buffer and the activity log refactored
    into src/bufferq.c and hdrs/bufferq.h.
  * Added mush_panicf(), with printf()-style format and arguments. [SW]
Fixes: 
  * @shutdown/panic and @shutdown/paranoid work again. [SW]
  * A panic DB could be created before the database files were actually read,
    causing problems on the next restart. [SW]
  * Win32 and Debian installer portability fixes. [EEH]
  * Code cleanup around errno. [SW]
  * The locate() function now respects visibility and interactions.
    Report by Jules at M*U*S*H.






More information about the Pennmush-announce mailing list