Jump to navigation Jump to search
Version 1.8.4 patchlevel 3 -- Mar 18, 2011
- Event system added. Certain things can now trigger events using @config event_handler. See "help events" and "help event <type>".
- dump events: dump`5min, dump`1min, dump`complete.
- object events: object`create, object`destroy, object`move, object`rename, object`kill.
- sql events: sql`connect, sql`disconnect.
- signal events: signal`usr1, signal`usr2.
- player events: player`create, player`fail, player`connect, player`disconnect, player`inactivity.
- socket events: socket`connect, socket`disconnect
- database events: db`dbck, db`purge, db`wcheck
- Periodic system events like warnings checks and db consistency checks are now handled by a timed queue and integrated with softcode events. Local hackers: This involves changes to local.c. If you have no changes in local.c, just delete the file. Otherwise, see HACKING.184 for more info.
- @hook/override/inplace - You can now run softcode with the same priority as hardcode!
- @lock (and all lock keys) now accepts NAME^<pattern> for matching against an object's name.
- @mapsql passes row results to attributes.
- @dig now takes an optional garbage dbref argument to specify the new dbref.
- The help command now does some auto-expansion of topics. For example, 'help @chan ad2' will be expanded to match 'help @channel admin2'.
- @force/inplace, @switch/inplace and @select/inplace now run their commands without queueing new events. These are limited by the @include limit.
- @hide without a switch now toggles hide status, rather than defaulting to @hide/on.
- @log now takes a /recall switch for showing wizards the most recent activity in a log file.
- @lemit and @zemit both have /noisy and /silent switches to suppress/show confirmation messages. With no switch, silent_pemit determines whether the message is shown.
- New no_debug flag, which prevents debug info being shown for an attribute when the object is set DEBUG.
- New @config option chan_title_len controls the length of @channel/title's.
- New @lock/pay, controls who can "give" an object pennies or "buy" items from an object.
- lockfilter() lets you filter a list of dbrefs using a lock key.
- align() now has '$' (nofill) as an option. Ideal for rightmost columns.
- dig() now takes an optional garbage dbref argument to specify the new dbref.
- convutctime() and convtime(
- powers() with no arguments now returns a list of powers, similar to lflags() with no args.
- trim() can now trim multiple characters.
- In some cases, privs are no longer needed to use locate().
- cmogrifier(), returns the mogrifier object for a channel.
- The Can_Nspemit @power has been renamed to Can_Spoof, to better reflect its uses. Can_Nspemit is still an alias.
- Considerable improvement in the speed of functions that sort case-insensitively, particularly using 'm' sort (Now default).
- Combined fun_setinter, fun_setdiff and fun_setunion into fun_setmanip.
- For hardcoders: list2arr and list2arr_ansi now take a third argument on whether to include empty items.
- page and @mail will report to you if your recipient(s) cannot reply to you.
- The debug attribute flag now shows more debug info.
- @oemit now does better object matching, can match names with spaces when enclosed in double quotes, and, when given a <room> but no matching objects, shows the message to everyone in the room, instead of noone.
- Paranoid objects now see nospoof messages for their emits.
- ANSI is now ignored when checking the length of channel titles.
- @decompile with a <prefix> now shows cmds for setting attribute flags. @decompile/tf still omits cmds for attr flags.
- @mail <msg-lists> which don't specify a folder now act on your current folder, instead of Folder 0.
- @dig, @open and @name now set exit aliases into the @alias attribute, instead of including them in the exit name. Also, @name can now set/clear the @alias of players/exits while changing the name. See help @name for details.
- The logging code has been rewritten to make extending it with further log files easier.
- When used by a non-player, @search and related functions now search from the perspective of the object's owner.
- The LASTPAGED attribute now stores objids instead of names, allowing you to repage even when the target changes their name.
- When zwho() or @chzone fail because you don't pass the @lock/zone, zone failure verbs are triggered (as per 'help failure').
- sub() can now take more than two arguments. Suggested by Paige. [MG]
- In the hardcode, disconnected players in the DESC struct are shown as -1 instead of 0, to avoid conflicts with #0.
- It was sometimes possible to "buy" items from yourself.
- Fixing list type autodetect.
- Help fixes.
- Connect/disconnect messages for combined channels incorrectly showed NOSPOOF data.
- The delimiter between combined channel names in @chatformat is now '|' instead of ' | ', as documented.
- ansi(h,) now returns absolutely nothing, instead of an ansi-highlighted nothing. Fixes a few minor/obscure bugs.
- @edit sometimes displayed a success message even when it failed.
- @cpattr/@mvattr would sometimes copy attribute flags, even when the attribute value couldn't be copied.
- Bug in attribute comparisons added in p2 could cause attributes to not be found at times.
- sortby()s results would sometimes be reversed by mistake.
- Minor bugfix in @include.
- round() sometimes returned numbers with more decimal digits than desired.
- The '*' option in locate() didn't actually include all match types.
- @include incorrectly refunded the queue_cost, giving people free pennies.
- lnum() didn't handle negative <step>s well.
- comp()s results was sometimes negated.