|| Main Site! | News | Players | Races | Colors | Play it already ||
1.8.5p4
Jump to navigation
Jump to search
Version 1.8.5 patchlevel 4 -- Jan ??, 2013
Major changes:
- The player_name_len @config option is now the maximum length of a player name, instead of the maximum length+1, because doing it that way was rather silly. You may wish to lower yours by 1 now to compensate.
- Having unescaped commas in the final arg of a function call is now deprecated, and will eventually become illegal. Any existing code which does this will spam you with a warning until you change it.
- The stack (%0-%9) can now hold up to 30 arguments, with the additional 20 available through v(10) to v(29). $-commands, @functions and many built-in commands and functions (such as ufun(), @mapsql, etc) now make use of these args.
Commands:
- @dolist now accepts /inline and related switches, like @switch does.
- @teleport/list teleports a list of objects to a single destination.
- @sockset and SOCKSET can now show/set PROMPT_NEWLINES.
- @halt now takes a /noeval switch, and will always strip curly braces when run /noeval.
- Added @mail/cstats, which shows the mail stats you see on connection.
- Added a new switch for @command/add, /rsnoparse, which stops the rightside arguments (after the '=') from being evaluated. Also clarified the help to show that /noparse only affects leftside args.
- WHO, DOING and SESSION now take wildcard patterns for names, as well as a prefix.
Functions:
- lpids()' second argument has been altered slightly, to allow you to list the pids for one specific object only.
- The "player" field in pidinfo() has been renamed to "executor", for clarity. "player" still works for backwards compatability.
- stringsecs() can now handle the additional time periods that etime() can return (years, weeks).
- colors(..., name) is much more efficient.
- alias(object,) clears object's @alias.
- v(<integer>) is no longer the same as get(me/<integer>). Instead, it always the <integer>th stack entry.
- It's now documented that replace() can alter multiple words at once.
- Some terminfo() information can now be retrieved by mortals on other players' connections.
- Added a new option to colors() to include ansi underline, invert and flash from the input in the output.
- locate() takes a new flag, 's', which will only return objects controlled by the looker.
Minor changes:
- ansi() now accepts a space-separated list of color codes, with later groups overriding earlier ones. Allows you to specify basic ANSI codes after XTERM color codes.
- Compiler warning fixed.
- Help fixes.
- The tables mapping color names and RGB values are now generated by a script in utils/.
- Converting from named colors to the nearest xterm or ansi equivalent is much more efficient.
- Converting from extended colors to ansi colors is smarter.
- Email registration no longer pretends to work with really!old!addresses.
- Better error reporting in logs and event hooks on failed email registration.
- @decompile <exit> now reports the exit's source room.
- You now only need to control an object to change its zone, or to use it as a zone. Previously, ownership was required.
- The hardcode now always ANSIs a string (such as an object name or help topic), even if the enactor isn't set ANSI. Fixes puppets, etc.
Fixes:
- %c contained the evaluated input (the same as %u), instead of the unevaluated input.
- repeat() could write partial ANSI tags, causing buffer overflows.
- dbcks didn't reset corrupt exit's source room.
- lmath(and,) returned 1 instead of 0.
- Mixing old-style ansi colors and xterm colors was broken.
- Players who couldn't see xterm colors would sometimes get a highlighted foreground color by mistake.
- colors(<old-style-ansi>, hex) and colors(*, 16color) were broken.
- ANSI highlight would sometimes bleed when xterm colors were downgraded to the basic 16-color ANSI palette.
- @entrances didn't correctly report the source of an exit.
- Fix a crashbug in @command/delete.
- Fix database corruption on @flag/add.
Hardcode:
- The Builder() macro, which is unused in Penn but exists for backwards compatability, used command_check_byname(), which spammed people who could not build with "Permission denied." errors. It is now spam-free.