[PENNMUSH-ANNOUNCE] 1.7.5-patch07
dunemush@pennmush.org
dunemush at pennmush.org
Fri, 17 May 2002 10:55:19 -0500
This is patch07 to PennMUSH 1.7.5. After applying this patch, you will
have version 1.7.5p7
To apply this patch, save it to a file in your top-level MUSH directory,
and do the following:
patch -p1 < 1.7.5-patch07
./Configure -d
make update
make install
If you use GNU patch 2.2, you probably want the above to be 'patch -b -p1',
not just 'patch -p1'.
Unix (or cygwin) users need not worry about failed hunks in src/switchinc.c,
hdrs/switches.h, hdrs/cmds.h, or hdrs/funs.h. These files are automatically
rebuilt on compile.
Then @shutdown and restart your MUSH.
- Alan/Javelin
In this patch:
Utilities:
* 'make globalinstall' will install executables, scripts, and
a game/ directory structure in a global location (/usr/libexec/pennmush
by default). Facilitates rpm builds. By Vadiv@M*U*S*H.
* The utils/ln-dir.sh script can be used to clone a globalinstall'd
pennmush for an individual MUSH/user. In combination, these two
are a replacement for 'make customize', especially for mud hosters.
By Vadiv@M*U*S*H.
* You can now configure options.h settings from the command line
using: make DEFINE="OPTION OPTION=value" UNDEFINE="OPTION" update
This will mostly be useful for autoinstallers and packaging scripts.
Suggested by Vadiv@M*U*S*H.
Minor Changes:
* The default gcc compile flags now include some extra warnings.
* The prefix-table code now only aliases down to unique prefixes.
This prevents @w from calling @wipe (reported by Philip Mak),
and means that you'll need to use alias.cnf to get some of those
short aliases. [SW]
* Attribute lookups only do prefix-matching on attributes with the
AF_PREFIXMATCH flag. Most standard atr_tab.h attributes have this
flag, but newly added @attributes won't. Solves a problem with
inadvertant prefix-matching of @attribs reported by Sam Knowlton.
Fixes:
* Fixes from 1.7.4p18
* @decomp/skipdefaults skips @lsets of default lock flags.
Suggested by Oriens@Alexandria. [SW]
* Typo in src/bsd.c corrected. Reported by Nymeria@M*U*S*H.
* Missing prototype in src/help.c. Reported by Nymeria@M*U*S*H.
* A bunch of linting.
* Win32 portability fixes. [EEH]
* Updated MSVC++ project files for win32. [EEH]
* @newpassword = foo would change the password of an arbitrary player.
This is now corrected. Report by Oriens@Alexandria.
Prereq: 1.7.5p6
*** 1_7_5.159/Patchlevel Mon, 22 Apr 2002 11:34:33 -0500 dunemush (pennmush/5_Patchlevel 1.17.1.7 600)
--- 1_7_5.187(w)/Patchlevel Tue, 14 May 2002 23:23:37 -0500 dunemush (pennmush/5_Patchlevel 1.17.1.8 600)
***************
*** 1,2 ****
Do not edit this file. It is maintained by the official PennMUSH patches.
! This is PennMUSH 1.7.5p6
--- 1,2 ----
Do not edit this file. It is maintained by the official PennMUSH patches.
! This is PennMUSH 1.7.5p7
*** 1_7_5.159/README Mon, 18 Jun 2001 10:36:58 -0500 dunemush (pennmush/4_README 1.8 600)
--- 1_7_5.187(w)/README Tue, 14 May 2002 23:09:54 -0500 dunemush (pennmush/4_README 1.9 600)
***************
*** 136,142 ****
3. create options.h, or make update
4. make install
5. possibly make customize
! 6. edit game/mush.cnf and game/restart
Here's the process in detail:
--- 136,142 ----
3. create options.h, or make update
4. make install
5. possibly make customize
! 6. Read game/README and follow those instructions
Here's the process in detail:
***************
*** 226,274 ****
Files in these subdirectories will already be customized in many ways,
so what follows may be slightly different. :)
! 6. The next step is to create your configuration file. In the game
! directory is a file called "mush.cnf". You may want to rename it <your
! MUSH name>.cnf. This is a list of all runtime configuration options
! with their default settting. Change them as you see fit. IMPORTANT: do
! not _delete_ any parameters. They all need to be there.
!
! Under win32 using the Microsoft compiler, DO NOT rename mush.cnf.
! Also, ignore the restart script. In the configuration file, turn
! off disk database compression; it is not supported. Remove the
! .Z endings from all the database names. If this is you first
! time starting a MUSH (or you want to start a new MUSH), copy
! game/data/minimal.db to game/data/outdb. Then go to the game
! directory and run PennMUSH.exe. Poof, you're done.
!
! For anyone using something other than win32 with the Microsoft
! compiler, you must edit the restart script. You must change GAMEDIR
! to whatever directory the restart script is in, and should change
! CONF_FILE to the name of the configuration file if it's not mush.cnf.
! The restart script is written for sh, and assumes a fairly standard
! Berkeley UNIX setup. If you're on a HP-UX or SysV machine, for example,
! you may need to change the restart script a bit (the ps options, for
! example).
!
!
! You should now be ready to start the game. This distribution comes
! packaged with a basic database - a God character, starting room, and
! master room. This file is called game/data/minimal.db. The restart
! script will load this database if it doesn't find another database to
! load. The god character "One" has no password, so you can log in
! without one. Of course, you should immediately set one (via @newpasswd).
! options.h has the Master Room as #2 by default; in the provided
! database, this room is created for you.
!
! Now you should be set -- all you have to do now is customize the
! .txt files in the game directory.
!
! The logfiles in the "log" directory generally contain useful
! information. You will probably want to read your main logfile (defined
! in the restart script) every time, since errors and other important
! messages get printed to that logfile.
! If you have any problems, see the section on Getting Help below - it
! has important information about how and where to get help!
============================================================================
--- 226,262 ----
Files in these subdirectories will already be customized in many ways,
so what follows may be slightly different. :)
! 6. Read game/README and follow those instructions.
!
! PennMUSH has been tested on a fairly wide variety of machines and
! operating systems including at least:
!
! NeXT Mach 2.1
! Sun Sparc SunOS 4.1.x
! Sun Sparc and i386 Solaris 2.x
! DEC Decstation Ultrix 4.x and OSF/1
! DEC Alpha OSF/1 and Linux
! SGI Indy Irix 5.x and 6.x
! HP 9000 series HP-UX 8.x
! IBM RS/6000 AIX 3.2
! IBM S/390 Linux
! Novell Unixware SVR4
! Linux
! FreeBSD
! AT&T SVR4
! Windows 95/NT
! OS/2
!
! There's no real reason why PennMUSH shouldn't compile on any 32-bit or
! better BSD, System V, or POSIX operating system. Javelin does his
! development on a Linux PC or a Sun SPARC-series workstation, but has a
! variety of test platforms.
!
! If you have serious problems, contact Javelin and he will try to help
! you. Email is the best way to get a fast response; in an emergency, you
! can bother him on a MUD, but for code problems, email will probably get
! you a better response.
============================================================================
***************
*** 373,388 ****
V. Additional Options, including Internationalization
! PennMUSH 1.7.3 has extensive support for running in non-English
! environments. There are two parts to this. First, what the mush
! considers to be valid characters, what's upper-case, what's
! lower-case, how they are sorted, and so on. The second is translating
! the messages produced by the game into another language. Helpfiles
! aren't translated.
!
! There's only a few languages currently supported, as it takes someone
! fluent in one to add support for it. If you'd like to help out with
! this, see http://www.pennmush.org/translation.html.
Both of these parts is controlled by the LANG or LC_ALL environment
variables, which have the form "la_DI", where la is a language code
--- 361,375 ----
V. Additional Options, including Internationalization
! PennMUSH 1.7.3 and later have extensive support for running in non-English
! environments. There are two parts to this. First, what the mush considers
! to be valid characters, what's upper-case, what's lower-case, how they
! are sorted, and so on. The second is translating the messages produced
! by the game into another language. Helpfiles aren't translated.
!
! There's a few languages currently supported, as it takes someone fluent
! in one to add support for it. If you'd like to help out with this,
! see http://www.pennmush.org/translation.html.
Both of these parts is controlled by the LANG or LC_ALL environment
variables, which have the form "la_DI", where la is a language code
***************
*** 431,549 ****
============================================================================
! VI. Trouble-shooting
!
! If you ever run into trouble, the your first reaction should ALWAYS be
! to back up your database. indb.Z.old is the file that the MUSH saves
! indb.Z to when the game, restarted, indb.Z is the file that the MUSH
! loaded at startup, and outdb.Z is the file to which the MUSH is
! currently dumping the database.
!
! You can tell if a dump is (theoretically) complete by doing a
! "zcat <database file name> | tail -10". The last line should read
! "***END OF DUMP***". If it doesn't, your database has been truncated
! for some reason. Check the logfile. Possible causes include a full
! process table, a full disk partition, or running out of disk quota.
!
! Occasionally the dump process may dump core. This is caused by some
! sort of corruption in an attribute, normally. You can tell if the dump
! process has died by looking in your data directory; you will see
! something like "outdb.Z.#5#". Wait a few moments and check on the file
! again. If it has grown, then the game is in the process of a normal
! dump. If it hasn't, and there's a core file, then something has gone
! wrong. You should definitely shout a warning that building is not being
! saved.
!
! To attempt to fix the problem, do a @dbck to take care of any possible
! minor weirdness in the database, then try doing a "@dump/paranoid", and
! reading the checkpoint logfile (default is log/checkpt.log). This is
! slow, but it will write out an uncorrupted database, and tell you what
! it fixed. Back up that database and indb.Z, then figure out what you're
! going to do next: you can take the game down with a kill -9, or attempt
! to manually fix the problem by either @destroying the offending object,
! or attempting to reset the attributes on the object that are causing a
! problem. If "@dump/paranoid" dies, you are more or less out of luck.
!
! The game may crash from time to time. It will generate a core file,
! usually; if you don't limit the coredumpsize or strip the executable,
! you should be able to get some useful information out of it, using a
! debugger. Javelin is interested in stack traces. You can do a stack
! trace in the following manner: Go into the directory where you keep
! your source code, and type
! <name of debugger> netmud ../game/core
! If you don't call your executable "netmud", substitute in whatever
! you do call it.
!
! You are looking for variables set to bizarre values - attempts to
! access objects that aren't there, attempts to use pointers which point
! to nothing, and the like.
!
! If you are using the "adb" debugger (don't do this unless you really
! have absolutely nothing else available), you will see nothing. It's
! loaded and ready, though. Type "$c". This will print out a list of the
! functions it called. Type "$q" to quit. You can't really get much more
! useful information out of adb.
!
! If you are using the "dbx" debugger, type "where" to see the stack
! trace. You can move through it using "up" and "down", and see exactly
! what the sequence of calls was. You can also use "print <variable
! name>" to see the value of a variable at the time the game crashed.
! The "gdb" debugger is similar to "dbx"; with that, you can abbreviate
! "print" as "p".
!
! Javelin appreciates news of any bugs found, and any patches that have
! been written to deal with them. He is also interested in any extensions
! that people make to the code, and requests that ones that are of more
! than just local interest be sent to him for inclusion in the next
! release of this code.
!
! One important thing to remember is, if the MUSH refuses to start, there
! is probably a good reason. Check the MUSH log, and the core file, if
! there is one. Make sure to back up your database before attempting to
! restart -- remember that every time it restarts, it overwrites
! indb.Z.old. If you restart three times and somehow manage to trash your
! database each time (for example, a full process table zero'ing out your
! files), you won't have a backup to restart from, unless you've backed
! up your database before trying!
!
! You can also find helpful tips in Javelin's Guide for Gods,
! which is available on the WWW as
! http://pennmush.org/~alansz/guide.html
! and by ftp from pennmush.org as
! /pub/DuneMUSH/Guide/guide-single.txt
!
! PennMUSH has been tested on a fairly wide variety of machines and
! operating systems including at least:
!
! NeXT Mach 2.1
! Sun Sparc SunOS 4.1.x
! Sun Sparc and i386 Solaris 2.x
! DEC Decstation Ultrix 4.x and OSF/1
! DEC Alpha OSF/1 and Linux
! SGI Indy Irix 5.x and 6.x
! HP 9000 series HP-UX 8.x
! IBM RS/6000 AIX 3.2
! IBM S/390 Linux
! Novell Unixware SVR4
! Linux
! FreeBSD
! AT&T SVR4
! Windows 95/NT
! OS/2
!
! There's no real reason why PennMUSH shouldn't compile on any 32-bit or
! better BSD, System V, or POSIX operating system. Javelin does his
! development on a Linux PC or a Sun SPARC-series workstation, but has a
! variety of test platforms.
!
! If you have serious problems, contact Javelin and he will try to help
! you. Email is the best way to get a fast response; in an emergency, you
! can bother him on a MUD, but for code problems, email will probably get
! you a better response.
!
! ============================================================================
!
! VII. Getting Help, Reporting Bugs
Here are some guidelines about where and how to report bugs or problems
or generally look for help.
--- 418,424 ----
============================================================================
! VI. Getting Help, Reporting Bugs
Here are some guidelines about where and how to report bugs or problems
or generally look for help.
***************
*** 599,605 ****
============================================================================
! VIII. Getting a .pennmush.org hostname and mailing lists
Thanks to donations from the PennMUSH community, Javelin was able to
register the pennmush.org domain name, and, if you're running a PennMUSH,
--- 474,480 ----
============================================================================
! VII. Getting a .pennmush.org hostname and mailing lists
Thanks to donations from the PennMUSH community, Javelin was able to
register the pennmush.org domain name, and, if you're running a PennMUSH,
***************
*** 620,626 ****
============================================================================
! IX. Amberyl's Comments
These are in the first person. :)
--- 495,501 ----
============================================================================
! VIII. Amberyl's Comments
These are in the first person. :)
***************
*** 655,664 ****
============================================================================
! IX, cont'd. Paul/Javelin's Comments
! And let me recognize T. Alexander Popiel, Ralph Melton, and Thorvald
! Natvig, other past and present members of the PennMUSH development team.
Working with them is a real pleasure.
I am trying to keep extending the functionality of the server, while
--- 530,540 ----
============================================================================
! VIII, cont'd. Paul/Javelin's Comments
! And let me recognize T. Alexander Popiel, Shawn Wagner, Nick Gammon,
! Dan Williams, Ervin Hearn III, Ralph Melton, and Thorvald Natvig, other
! past and present members of the PennMUSH development or porting team.
Working with them is a real pleasure.
I am trying to keep extending the functionality of the server, while
***************
*** 672,678 ****
============================================================================
! IX, cont'd again. Alex/Talek's Comments
Since Javelin last worked on this document, there has been a changing
of the guard on the PennMUSH development team. Ralph Melton has stepped
--- 548,554 ----
============================================================================
! VIII, cont'd again. Alex/Talek's Comments
Since Javelin last worked on this document, there has been a changing
of the guard on the PennMUSH development team. Ralph Melton has stepped
*** 1_7_5.159/CHANGES.174 Mon, 22 Apr 2002 11:31:46 -0500 dunemush (pennmush/8_CHANGES 1.219.1.72.1.36 600)
--- 1_7_5.187(w)/CHANGES.174 Tue, 14 May 2002 22:02:36 -0500 dunemush (pennmush/8_CHANGES 1.219.1.72.1.52 600)
***************
*** 18,27 ****
==========================================================================
! Version 1.7.4 patchlevel 18 April 14, 2002
Fixes:
* Help for following() function added. Report by Ashen-Shugar@Rhost.
Version 1.7.4 patchlevel 17 April 14, 2002
--- 18,62 ----
==========================================================================
! Version 1.7.4 patchlevel 19 May 6, 2002
Fixes:
+ * Win32 portability fixes. [EEH]
+
+
+ Version 1.7.4 patchlevel 18 May 6, 2002
+
+ Minor Changes:
+ * The Mersenne Twister RNG has been backported from 1.7.5 into
+ this patchlevel, as it is not susceptible to some bugs that could
+ cause the RNG to hang the server. Report by Bellemore@M*U*S*H.
+ * Improved detection of info_slave errors. Based on patch by CU5.
+ * Rooms and exits can now be @forced. Suggested by Philip Mak.
+ * Deleting files from the hlp/nws/etc. directories is now sufficient
+ to cause game/txt/Makefile to rebuild the txt files. Patch by
+ Philip Mak.
+ * A see_all player may now use @chan/decompile on any channel.
+ Previously, the ROYALTY flag was required. Suggested by Oriens@Alexandria.
+ Fixes:
+ * The QUEUE and semaphore attributes aren't listed in @decompile
+ anymore. Suggested by Oriens@Alexandria. [SW]
+ * Several compiler warnings fixed. [SW]
+ * The LASTSITE and LASTIP attributes are now set locked and wizard by default,
+ to go along with the other connection-tracking attributes. [SW]
+ * Help on-vacation updated. Report by Nymeria@M*U*S*H.
* Help for following() function added. Report by Ashen-Shugar@Rhost.
+ * The last line of the access.cnf file sometimes wouldn't get read
+ properly. [SW]
+ * lnum improperly cached its return values without consideration for
+ changes in separator, so subsequent lnums with different separators
+ broke. Reported by Rhysem and Ambrosia@M*U*S*H. [TAP]
+ * Failing to speak on a channel you can't see no longer reveals the
+ full channel name. Reported by Vadiv@M*U*S*H.
+ * Passing a negative argument to the space() function now returns
+ an error string instead of 8192 blanks. Patch by Myrddin.
+ * Improved messages for following/unfollowing an ambiguous object.
+ Reported by Philip Mak.
+
Version 1.7.4 patchlevel 17 April 14, 2002
*** 1_7_5.159/CHANGES Thu, 25 Apr 2002 20:31:44 -0500 dunemush (pennmush/g/7_CHANGES 1.27.1.24 600)
--- 1_7_5.187(w)/CHANGES Wed, 15 May 2002 22:09:31 -0500 dunemush (pennmush/g/7_CHANGES 1.27.1.36 600)
***************
*** 18,23 ****
--- 18,59 ----
==========================================================================
+ Version 1.7.5 patchlevel 7 May 14, 2002
+
+ Utilities:
+ * 'make globalinstall' will install executables, scripts, and
+ a game/ directory structure in a global location (/usr/libexec/pennmush
+ by default). Facilitates rpm builds. By Vadiv@M*U*S*H.
+ * The utils/ln-dir.sh script can be used to clone a globalinstall'd
+ pennmush for an individual MUSH/user. In combination, these two
+ are a replacement for 'make customize', especially for mud hosters.
+ By Vadiv@M*U*S*H.
+ * You can now configure options.h settings from the command line
+ using: make DEFINE="OPTION OPTION=value" UNDEFINE="OPTION" update
+ This will mostly be useful for autoinstallers and packaging scripts.
+ Suggested by Vadiv@M*U*S*H.
+ Minor Changes:
+ * The default gcc compile flags now include some extra warnings.
+ * The prefix-table code now only aliases down to unique prefixes.
+ This prevents @w from calling @wipe (reported by Philip Mak),
+ and means that you'll need to use alias.cnf to get some of those
+ short aliases. [SW]
+ * Attribute lookups only do prefix-matching on attributes with the
+ AF_PREFIXMATCH flag. Most standard atr_tab.h attributes have this
+ flag, but newly added @attributes won't. Solves a problem with
+ inadvertant prefix-matching of @attribs reported by Sam Knowlton.
+ Fixes:
+ * Fixes from 1.7.4p18
+ * @decomp/skipdefaults skips @lsets of default lock flags.
+ Suggested by Oriens@Alexandria. [SW]
+ * Typo in src/bsd.c corrected. Reported by Nymeria@M*U*S*H.
+ * Missing prototype in src/help.c. Reported by Nymeria@M*U*S*H.
+ * A bunch of linting.
+ * Win32 portability fixes. [EEH]
+ * Updated MSVC++ project files for win32. [EEH]
+ * @newpassword = foo would change the password of an arbitrary player.
+ This is now corrected. Report by Oriens@Alexandria.
+
Version 1.7.5 patchlevel 6 April 22, 2002
Config:
*** 1_7_5.159/game/txt/nws/index.nws Wed, 13 Dec 2000 15:49:16 -0600 dunemush (pennmush/11_index.nws 1.1.1.1.1.1.1.1 660)
--- 1_7_5.187(w)/game/txt/nws/index.nws Tue, 14 May 2002 23:52:14 -0500 dunemush (pennmush/11_index.nws 1.1.1.1.1.1.1.1.2.1 660)
***************
*** 1,6 ****
& Entries
-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
! changes code
-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
--- 1,8 ----
& Entries
-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
! changes code
!
! & &Entries
-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
*** 1_7_5.159/game/txt/hlp/pennvers.hlp Thu, 25 Apr 2002 20:31:44 -0500 dunemush (pennmush/12_pennvers.h 1.169.1.42.1.3.1.2.2.2.1.1.1.3.1.9 600)
--- 1_7_5.187(w)/game/txt/hlp/pennvers.hlp Fri, 17 May 2002 10:43:04 -0500 dunemush (pennmush/12_pennvers.h 1.169.1.42.1.3.1.2.2.2.1.1.1.3.1.1.1.5.1.4.1.1.1.1.1.1.1.7 600)
***************
*** 1,5 ****
& changes
! & 1.7.5p6
This is a list of changes in this patchlevel which are probably of
interest to players. More information about new commands and functions
can probably be gotten via 'help <name of whatever>'. 'help credits'
--- 1,5 ----
& changes
! & 1.7.5p7
This is a list of changes in this patchlevel which are probably of
interest to players. More information about new commands and functions
can probably be gotten via 'help <name of whatever>'. 'help credits'
***************
*** 11,16 ****
--- 11,53 ----
A list of the patchlevels associated with each release can
be read in 'help patchlevels'.
+ Version 1.7.5 patchlevel 7 May 14, 2002
+
+ Utilities:
+ * 'make globalinstall' will install executables, scripts, and
+ a game/ directory structure in a global location (/usr/libexec/pennmush
+ by default). Facilitates rpm builds. By Vadiv@M*U*S*H.
+ * The utils/ln-dir.sh script can be used to clone a globalinstall'd
+ pennmush for an individual MUSH/user. In combination, these two
+ are a replacement for 'make customize', especially for mud hosters.
+ By Vadiv@M*U*S*H.
+ * You can now configure options.h settings from the command line
+ using: make DEFINE="OPTION OPTION=value" UNDEFINE="OPTION" update
+ This will mostly be useful for autoinstallers and packaging scripts.
+ Suggested by Vadiv@M*U*S*H.
+ Minor Changes:
+ * The default gcc compile flags now include some extra warnings.
+ * The prefix-table code now only aliases down to unique prefixes.
+ This prevents @w from calling @wipe (reported by Philip Mak),
+ and means that you'll need to use alias.cnf to get some of those
+ short aliases. [SW]
+ * Attribute lookups only do prefix-matching on attributes with the
+ AF_PREFIXMATCH flag. Most standard atr_tab.h attributes have this
+ flag, but newly added @attributes won't. Solves a problem with
+ inadvertant prefix-matching of @attribs reported by Sam Knowlton.
+ Fixes:
+ * Fixes from 1.7.4p18
+ * @decomp/skipdefaults skips @lsets of default lock flags.
+ Suggested by Oriens@Alexandria. [SW]
+ * Typo in src/bsd.c corrected. Reported by Nymeria@M*U*S*H.
+ * Missing prototype in src/help.c. Reported by Nymeria@M*U*S*H.
+ * A bunch of linting.
+ * Win32 portability fixes. [EEH]
+ * Updated MSVC++ project files for win32. [EEH]
+ * @newpassword = foo would change the password of an arbitrary player.
+ This is now corrected. Report by Oriens@Alexandria.
+
+ & 1.7.5p6
Version 1.7.5 patchlevel 6 April 22, 2002
Config:
***************
*** 231,241 ****
* Indentation fixes [SW]
* Fixes up to 1.7.4p12 merged in.
! & 1.7.4p18
! Version 1.7.4 patchlevel 18 April 14, 2002
Fixes:
* Help for following() function added. Report by Ashen-Shugar@Rhost.
& 1.7.4p17
Version 1.7.4 patchlevel 17 April 14, 2002
--- 268,314 ----
* Indentation fixes [SW]
* Fixes up to 1.7.4p12 merged in.
! & 1.7.4p19
! Version 1.7.4 patchlevel 19 May 6, 2002
Fixes:
+ * Win32 portability fixes. [EEH]
+
+
+ & 1.7.4p18
+ Version 1.7.4 patchlevel 18 May 6, 2002
+
+ Minor Changes:
+ * The Mersenne Twister RNG has been backported from 1.7.5 into
+ this patchlevel, as it is not susceptible to some bugs that could
+ cause the RNG to hang the server. Report by Bellemore@M*U*S*H.
+ * Improved detection of info_slave errors. Based on patch by CU5.
+ * Rooms and exits can now be @forced. Suggested by Philip Mak.
+ * Deleting files from the hlp/nws/etc. directories is now sufficient
+ to cause game/txt/Makefile to rebuild the txt files. Patch by
+ Philip Mak.
+ * A see_all player may now use @chan/decompile on any channel.
+ Previously, the ROYALTY flag was required. Suggested by Oriens@Alexandria.
+ Fixes:
+ * The QUEUE and semaphore attributes aren't listed in @decompile
+ anymore. Suggested by Oriens@Alexandria. [SW]
+ * Several compiler warnings fixed. [SW]
+ * The LASTSITE and LASTIP attributes are now set locked and wizard by default,
+ to go along with the other connection-tracking attributes. [SW]
+ * Help on-vacation updated. Report by Nymeria@M*U*S*H.
* Help for following() function added. Report by Ashen-Shugar@Rhost.
+ * The last line of the access.cnf file sometimes wouldn't get read
+ properly. [SW]
+ * lnum improperly cached its return values without consideration for
+ changes in separator, so subsequent lnums with different separators
+ broke. Reported by Rhysem and Ambrosia@M*U*S*H. [TAP]
+ * Failing to speak on a channel you can't see no longer reveals the
+ full channel name. Reported by Vadiv@M*U*S*H.
+ * Passing a negative argument to the space() function now returns
+ an error string instead of 8192 blanks. Patch by Myrddin.
+ * Improved messages for following/unfollowing an ambiguous object.
+ Reported by Philip Mak.
+
& 1.7.4p17
Version 1.7.4 patchlevel 17 April 14, 2002
***************
*** 5290,5297 ****
For information on a specific patchlevel of one of the versions listed,
type 'help <version>p<patchlevel>'. For example, 'help 1.7.2p3'
! 1.7.5: 0, 1, 2, 3, 4, 5, 6
! 1.7.4: 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18
1.7.3: 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14
1.7.2: 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18,
19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35
--- 5363,5370 ----
For information on a specific patchlevel of one of the versions listed,
type 'help <version>p<patchlevel>'. For example, 'help 1.7.2p3'
! 1.7.5: 0, 1, 2, 3, 4, 5, 6, 7
! 1.7.4: 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19
1.7.3: 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14
1.7.2: 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18,
19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35
*** 1_7_5.159/game/txt/hlp/pennfunc.hlp Mon, 22 Apr 2002 11:34:33 -0500 dunemush (pennmush/16_pennfunc.h 1.2.1.50.1.1.1.1.1.2.1.7.1.8.1.1.1.1.1.1.1.1.1.1.1.1.1.3.1.2 600)
--- 1_7_5.187(w)/game/txt/hlp/pennfunc.hlp Fri, 10 May 2002 22:07:00 -0500 dunemush (pennmush/16_pennfunc.h 1.2.1.50.1.1.1.1.1.2.1.7.1.8.1.1.1.1.1.1.1.1.1.1.1.1.1.3.1.1.1.2 600)
***************
*** 880,885 ****
--- 880,887 ----
Example:
> say [edit(this is a test,^,I think%b,$,.,a test,an exam)]
You say "I think this is an exam."
+
+ edit() can not replace a literal single ^ or $. Use regedit() for that.
See also @edit, regedit().
& ELEMENT()
*** 1_7_5.159/game/txt/hlp/pennflag.hlp Mon, 11 Mar 2002 18:22:55 -0600 dunemush (pennmush/17_pennflag.h 1.1.1.1.1.2.1.1.1.2.1.1.1.2.1.1.2.1.2.1.1.2 600)
--- 1_7_5.187(w)/game/txt/hlp/pennflag.hlp Mon, 29 Apr 2002 11:55:40 -0500 dunemush (pennmush/17_pennflag.h 1.1.1.1.1.2.1.1.1.2.1.1.1.2.1.1.2.1.2.1.1.1.1.2 600)
***************
*** 479,486 ****
This flag may be used by the MUSH to allow players to indicate when
they have left for vacation, to prevent themselves from being purged
! for inactivity. It is automatically cleared whenever a player logs in,
! so players should @set it just prior to leaving the net.
& OPAQUE
Flag: OPAQUE (all types)
--- 479,488 ----
This flag may be used by the MUSH to allow players to indicate when
they have left for vacation, to prevent themselves from being purged
! for inactivity. Its usefulness depends on game policy.
!
! You will be notified (periodically and on connect) if you leave this flag
! set, to remind you to unset it when you return from vacation.
& OPAQUE
Flag: OPAQUE (all types)
*** 1_7_5.159/game/txt/hlp/penncmd.hlp Mon, 22 Apr 2002 11:34:33 -0500 dunemush (pennmush/18_penncmd.hl 1.2.1.1.1.47.1.1.1.1.1.3.1.4.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.3 600)
--- 1_7_5.187(w)/game/txt/hlp/penncmd.hlp Mon, 06 May 2002 20:42:38 -0500 dunemush (pennmush/18_penncmd.hl 1.2.1.1.1.47.1.1.1.1.1.3.1.4.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.4 600)
***************
*** 3608,3615 ****
The /list switch lets you whisper to many people at once. Multiple
persons should be space-separated, and names with spaces should be
enclosed in double-quotes.
-
- 'whisper' can be abbreviated by just 'w'.
& WHO
WHO
--- 3608,3613 ----
*** 1_7_5.159/game/txt/hlp/index.hlp Tue, 09 Jan 2001 17:56:37 -0600 dunemush (pennmush/20_index.hlp 1.1.1.1.1.1.1.1.1.2.1.1.2.2 660)
--- 1_7_5.187(w)/game/txt/hlp/index.hlp Tue, 14 May 2002 23:52:14 -0500 dunemush (pennmush/20_index.hlp 1.1.1.1.1.1.1.1.1.2.1.1.2.2.2.2 660)
***************
*** 1,479 ****
& Entries
-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
! " $-commands $-commands2
! + 1.50p6 1.50p7
! 1.50p8 1.50p9 1.50p10
! 1.50p11 1.50p12 1.50p13
! 1.50p14 1.50pdune1 1.50pdune2
! 1.6.0p0 1.6.0p3 1.6.0p4
! 1.6.0p5 1.6.1p0 1.6.1p1
! 1.6.10p0 1.6.10p1 1.6.10p2
! 1.6.10p3 1.6.10p4 1.6.10p5
! 1.6.10p6 1.6.10p6 1.6.2p0
! 1.6.2p1 1.6.3p0 1.6.3p1
! 1.6.3p2 1.6.3p3 1.6.3p4
! 1.6.3p5 1.6.3p6 1.6.3p7
! 1.6.4p0 1.6.4p1 1.6.4p2
! 1.6.5p0 1.6.5p1 1.6.5p2
! 1.6.5p3 1.6.5p4 1.6.6p0
For more, see Entries-2
-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
-
& Entries-2
-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
! 1.6.7p0 1.6.7p1 1.6.7p2
! 1.6.7p3 1.6.7p4 1.6.7p5
! 1.6.7p6 1.6.8p0 1.6.8p1
! 1.6.9p0 1.6.9p1 1.6.9p2
! 1.6.9p3 1.6.9p4 1.6.9p5
! 1.6.9p6 1.6.9p7 1.6.9p8
! 1.6.9p9 1.7.0p0 1.7.0p1
! 1.7.0p2 1.7.0p3 1.7.0p4
! 1.7.0p5 1.7.0p6 1.7.0p7
! 1.7.0p8 1.7.0p9 1.7.0p10
! 1.7.0p11 1.7.0p11 1.7.1p0
! 1.7.1p1 1.7.1p2 1.7.1p3
! 1.7.2p0 1.7.2p1 1.7.2p2
! 1.7.2p3 1.7.2p4 1.7.2p5
! 1.7.2p6 1.7.2p7 1.7.2p8
! 1.7.2p9 1.7.2p10 1.7.2p11
For more, see Entries-3
-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
-
& Entries-3
-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
! 1.7.2p12 1.7.2p13 1.7.2p14
! 1.7.2p15 1.7.2p16 1.7.2p17
! 1.7.2p18 1.7.2p19 1.7.2p20
! 1.7.2p21 1.7.2p22 1.7.2p23
! 1.7.2p24 1.7.2p25 1.7.2p26
! 1.7.2p27 1.7.2p28 1.7.2p29
! 1.7.2p30 1.7.2p31 1.7.2p32
! 1.7.3p0 1.7.3p1 1.7.3p2
! 1.7.3p3 1.7.3p4 1.7.3p5
! 1.7.3p6 1.7.3p7 1.7.3p8
! 1.7.3p9 1.7.3p10 1.7.3p11
! 1.7.3p12 1.7.3p13 :
! ; @-attributes @-building
! @-general @-wizard @@
! @@() @aahear @aclone
! @aconnect @adeath @adescribe
For more, see Entries-4
-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
-
& Entries-4
-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
! @adestroy @adisconnect @adrop
! @aefail @aenter @afailure
! @afollow @agive @ahear
! @aidescribe @aleave @alfail
! @alias @allhalt @allquota
! @amhear @amove @apayment
! @areceive @asuccess @atport
! @atrchown @atrlock @attribute
! @aufail @aunfollow @ause
! @away @azenter @azleave
! @boot @break @cemit
! @channel @channel2 @channel3
! @channel4 @channel5 @charges
! @chat @chown @chownall
! @chzone @chzone2 @chzoneall
! @clock @clock2 @clone
For more, see Entries-5
-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
-
& Entries-5
-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
! @command @comment @config
! @conformat @cost @cpattr
! @create @dbck @death
! @decompile @decompile2 @decompile3
! @describe @destroy @destroy2
! @dig @dig2 @disable
! @doing @dolist @drain
! @drop @dump @ealias
! @edit @efail @elock
! @emit @enable @enter
! @entrances @eunlock @exitformat
! @failure @filter @filter2
! @find @firstexit @follow
! @force @force2 @function
! @function2 @function3 @function4
! @gedit @give @grep2
For more, see Entries-6
-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
-
& Entries-6
-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
! @grep @halt @haven
! @hide @idescribe @idle
! @infilter @inprefix @kick
! @lalias @leave @lemit
! @lfail @link @list
! @listen <object> = <string> @listen2
! @listmotd @lock @lock2
! @lock3 @lock4 @lock5
! @lock6 @lock7 @lock8
! @logwipe/<switch> <password>
! @map2 @mail @malias
! @malias2 @malias3 @malias4
! @malias5 @map @motd
! @move @mvattr @name
! @nameformat @newpassword @notify
! @nuke @odeath @odescribe
For more, see Entries-7
-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
-
& Entries-7
-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
! @odrop @oefail @oemit
! @oenter @ofailure @ofollow
! @ogive @oidescribe @oleave
! @olfail @omove @opayment
! @open @oreceive @osuccess
! @otport @oufail @ounfollow
! @ouse @oxenter @oxleave
! @oxmove @oxtport @ozenter
! @ozleave @parent @password
! @payment @pcreate @pemit
! @pemit2 @poll @poor
! @power @prefix @ps
! @purge @quota @readcache
! @receive @recycle @rejectmotd
! @remit @restart @runout
! @rwall @rwallemit @rwallpose
For more, see Entries-8
-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
-
& Entries-8
-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
! @scan @search @search2
! @search3 @select @set
! @set2 @set3 @sex
! @shutdown @sitelock @sitelock2
! @sitelock3 @squota @startup
! @stats @success @sweep
! @switch @switch2 @teleport
! @tport @trigger @trigger2
! @ufail @ulock @undestroy
! @unfollow @unlink @unlock
! @unrecycle @uptime @uptime2
! @use @uunlock @verb
! @verb2 @verb3 @verb4
! @version @vrml_url @wait
! @wait2 @wall @wallemit
! @wallpose @warnings @warnings2
For more, see Entries-9
-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
-
& Entries-9
-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
! @warnings3 @wcheck @whereis
! @wipe @wizemit @wizmotd
! @wizpose @wizwall @zemit
! @zenter @zleave \
! abode abs() acos()
! action lists action2 add()
! after() ahelp alphamax()
! alphamin() and() andflags()
! anews ansi ansi()
! aposs() art() asin()
! atan() atrlock() attrcnt()
! attrib-ownership attribute functions attribute list
! attributes attributes list attributes2
! attributes3 attributes4 audible
! audible2 band() beep()
! before() being killed bitwise functions
For more, see Entries-10
-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
-
& Entries-10
-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
! bnand() bnot() boolean functions
! boolean values boolean2 bor()
! bound() brackets() brief
! builder bxor() cand()
! capstr() case() caseall()
! cat() cd ceil()
! cemit() center() cflags()
! ch changes channel-list
! channels() chat chown_ok
! clients clock() clone()
! cloudy code color
! commands comp() comsys
! con() config() conn()
! connected control controls()
! convsecs() convtime() convutcsecs()
! copyright copyrite cor()
For more, see Entries-11
-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
-
& Entries-11
-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
! cos() costs create()
! credits ctime() ctitle()
! cv cwho() dark
! dark2 database dbref #
! dbref functions dbref number dbref2
! dbrefs debug debug2
! dec() decrypt() default()
! delete() destroy_ok die()
! dig() dist2d() dist3d()
! div() doing doing()
! drop drop-tos e()
! edefault() edit() element()
! elements() elock() emit()
! enactor encrypt() endtag()
! enter enter_ok entrances()
! eq() escape() etimefmt()
For more, see Entries-12
-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
-
& Entries-12
-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
! etimefmt2 eval() evaluation order
! evaluation2 events examine
! executor exit() exits
! exits2 exp() extract()
! failure fdiv() filter()
! filterbool() findable() first()
! fixed flag list flags
! flags list flags() flags2
! flip() floating floating point functions
! floor() floordiv() fmod()
! fold() fold2 folderstats()
! follow followers() force_white
! foreach() foreach2 fullname()
! function list functions functions()
! functions2 gagged gender
! get get() get_eval()
For more, see Entries-13
-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
-
& Entries-13
-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
! give global commands globals
! go going goto
! grab() graball() grep()
! grepi() gt() gte()
! halt hasattr() hasattrp()
! hasattrpval() hasattrval() hasflag()
! haspower() hastype() haven
! help here hidden()
! home() homes html
! html functions html() idle()
! idlesecs() if() ifelse()
! inc() index index()
! info information functions inherit
! inherit2 insert() interiors
! interiors2 inum() inventory
! isdaylight() isdbref() isint()
For more, see Entries-14
-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
-
& Entries-14
-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
! isnum() isword() items()
! iter() iter2 itext()
! judge jump_ok jury_ok
! kill last last()
! lastsite lattr() lcon()
! lcstr() ldelete() leave
! left() lemit() lexits()
! license light link()
! link_ok linking list functions
! listen_parent listening listening2
! listening3 lists lit()
! ljust() lmath() ln()
! lnum() loc() localize()
! locate() locate2 lock list
! lock types lock() locking
! locklist locks locktypes
For more, see Entries-15
-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
-
& Entries-15
-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
! locktypes2 log() logout
! look look2 looping
! lparent() lsearch() lsearch2
! lstats() lt() lte()
! lwho() macros macros2
! mail() mail-admin mail-folders
! mail-other mail-reading mail-sending
! maildstats() mailfrom() mailfstats()
! mailstats() mailstatus() mailsubject()
! mailtime() map() master room
! match() matchall() matching
! math functions max() me
! mean() median() member()
! merge() mid() min()
! mix() mod() modulo()
! modulus() money money()
For more, see Entries-16
-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
-
& Entries-16
-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
! monitor mortal move
! mtime() mudname() mul()
! munge() munge2 munge3
! mushcode mushcode2 mwho()
! myopic name() nand()
! nattr() nearby() neq()
! newbie newbie2 newbie3
! news next() no_command
! no_leave no_tel no_warn
! noleave non-standard attributes nor()
! nospoof not() nowarn
! null() num() obj()
! object parents objeval() objmem()
! oemit() on-vacation opaque
! open() or() orflags()
! owner() page page2
For more, see Entries-17
-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
-
& Entries-17
-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
! paranoid parent parent()
! parents parents2 parents3
! parents4 parents5 parse()
! patchlevels pemit() pi()
! player playermem() pmatch()
! poll() ports() pos()
! pose pose2 poss()
! power() powers list powers list2
! powers() powers2 pueblo
! pueblo features pueblo() puppet
! puppets puppets2 queue
! quiet quit quota()
! r() r-function rand()
! read regedit() regeditall()
! regeditalli() regediti() regexp
! regexp classes regexp classes2 regexp examples
For more, see Entries-18
-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
-
& Entries-18
-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
! regexp syntax regexp syntax2 regexp syntax3
! regexp syntax4 regexp syntax5 regexp syntax6
! regexp syntax7 regexp syntax8 regexps
! regexps2 registers registers2
! regmatch() regrab() regraball()
! regular expression functions
! remainder() remit() remove()
! repeat() replace() rest()
! restarts() restarttime() restrict
! restrict2 restrict3 reverse()
! revwords() right() rjust()
! rloc() rnum() robbery
! room room() round()
! royalty rquota rules
! s() s-function safe
! say score scramble()
For more, see Entries-19
-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
-
& Entries-19
-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
! search() search2 secs()
! secure() semaphores semaphores2
! semaphores3 semaphores4 semaphores5
! semaphores6 semipose session
! set() setdiff() setinter()
! setq() setq2 setq3
! setr() setting-attributes setunion()
! sex shl() shr()
! shuffle() sign() sin()
! slay softcode sort()
! sortby() soundex() soundex2
! soundlike() soundslike() space()
! spellnum() splice() spoofing
! sqrt() squish() stack
! starttime() stats() stddev()
! step2 step() sticky
For more, see Entries-20
-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
-
& Entries-20
-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
! strcat() string functions strings
! strinsert() stripansi() strlen()
! strmatch() sub() subj()
! substitutions substitutions2 substitutions3
! substitutions4 success suspect
! switch() switch2 switchall()
! switches t() table()
! tag() tagwrap() take
! tan() teach tel()
! temple terse think
! time functions time() timefmt()
! timefmt2 timestring() topics
! topics2 transparent transparent2
! trim() trunc() trust
! trust2 type() types of objects
! types2 u() u2
For more, see Entries-21
-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
-
& Entries-21
-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
! u3 ucstr() udefault()
! ufun() ufun2 ufun3
! uldefault() ulocal() ulocal2
! unfindable unfollow uninspected
! unregistered use user-defined commands
! user-defined2 utctime() utility functions
! v() v-function vadd()
! val() valid() vdim()
! vdot() verbose verbs
! version() visible() visual
! vmag() vmax() vmin()
! vmul() vrml vsub()
! vunit() warnings warnings list
! warnings list2 weirdansi where()
! whisper whisper2 white
! who wildcards wipe()
For more, see Entries-22
-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
-
& Entries-22
-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
! with wizard wordpos()
! words() wrap() xget()
! xor() z_tel zemit()
! zfun() zmo zmp
! zmr zone zone master rooms
! zone masters zone objects zone()
! zones zones2 zones3
! zones4
! -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
& &Entries
-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
! &help
-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
--- 1,495 ----
& Entries
-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
! " $-commands $-commands2
! + 1.50p6 1.50p7
! 1.50p8 1.50p9 1.50p10
! 1.50p11 1.50p12 1.50p13
! 1.50p14 1.50pdune1 1.50pdune2
! 1.6.0p0 1.6.0p3 1.6.0p4
! 1.6.0p5 1.6.1p0 1.6.1p1
! 1.6.10p0 1.6.10p1 1.6.10p2
! 1.6.10p3 1.6.10p4 1.6.10p5
! 1.6.10p6 1.6.10p6 1.6.2p0
! 1.6.2p1 1.6.3p0 1.6.3p1
! 1.6.3p2 1.6.3p3 1.6.3p4
! 1.6.3p5 1.6.3p6 1.6.3p7
! 1.6.4p0 1.6.4p1 1.6.4p2
! 1.6.5p0 1.6.5p1 1.6.5p2
! 1.6.5p3 1.6.5p4 1.6.6p0
For more, see Entries-2
-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
& Entries-2
-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
! 1.6.7p0 1.6.7p1 1.6.7p2
! 1.6.7p3 1.6.7p4 1.6.7p5
! 1.6.7p6 1.6.8p0 1.6.8p1
! 1.6.9p0 1.6.9p1 1.6.9p2
! 1.6.9p3 1.6.9p4 1.6.9p5
! 1.6.9p6 1.6.9p7 1.6.9p8
! 1.6.9p9 1.7.0p0 1.7.0p1
! 1.7.0p2 1.7.0p3 1.7.0p4
! 1.7.0p5 1.7.0p6 1.7.0p7
! 1.7.0p8 1.7.0p9 1.7.0p10
! 1.7.0p11 1.7.0p11 1.7.1p0
! 1.7.1p1 1.7.1p2 1.7.1p3
! 1.7.2p0 1.7.2p1 1.7.2p2
! 1.7.2p3 1.7.2p4 1.7.2p5
! 1.7.2p6 1.7.2p7 1.7.2p8
! 1.7.2p9 1.7.2p10 1.7.2p11
For more, see Entries-3
-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
& Entries-3
-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
! 1.7.2p12 1.7.2p13 1.7.2p14
! 1.7.2p15 1.7.2p16 1.7.2p17
! 1.7.2p18 1.7.2p19 1.7.2p20
! 1.7.2p21 1.7.2p22 1.7.2p23
! 1.7.2p24 1.7.2p25 1.7.2p26
! 1.7.2p27 1.7.2p28 1.7.2p29
! 1.7.2p30 1.7.2p31 1.7.2p32
! 1.7.2p33 1.7.2p34 1.7.2p35
! 1.7.3p0 1.7.3p1 1.7.3p2
! 1.7.3p3 1.7.3p4 1.7.3p5
! 1.7.3p6 1.7.3p7 1.7.3p8
! 1.7.3p9 1.7.3p10 1.7.3p11
! 1.7.3p12 1.7.3p13 1.7.3p14
! 1.7.4p0 1.7.4p1 1.7.4p2
! 1.7.4p3 1.7.4p4 1.7.4p5
! 1.7.4p6 1.7.4p7 1.7.4p8
For more, see Entries-4
-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
& Entries-4
-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
! 1.7.4p9 1.7.4p10 1.7.4p11
! 1.7.4p12 1.7.4p13 1.7.4p14
! 1.7.4p15 1.7.4p16 1.7.4p17
! 1.7.4p18 1.7.4p19 1.7.5p0
! 1.7.5p1 1.7.5p2 1.7.5p3
! 1.7.5p4 1.7.5p5 1.7.5p6
! 1.7.5p7 : ;
! @-attributes @-building @-general
! @-wizard @@ @@()
! @aahear @aclone @aconnect
! @adeath @adescribe @adestroy
! @adisconnect @adrop @aefail
! @aenter @afailure @afollow
! @agive @ahear @aidescribe
! @aleave @alfail @alias
! @allhalt @allquota @amhear
For more, see Entries-5
-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
& Entries-5
-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
! @amove @apayment @areceive
! @asuccess @atport @atrchown
! @atrlock @attribute @aufail
! @aunfollow @ause @away
! @azenter @azleave @boot
! @break @cemit @channel
! @channel2 @channel3 @channel4
! @channel5 @charges @chat
! @chown @chownall @chzone
! @chzone2 @chzoneall @clock
! @clock2 @clone @command
! @comment @config @config attribs
! @config chat @config cmds @config cosmetic
! @config cosmetic2 @config costs @config db
! @config dump @config funcs @config limits
! @config limits2 @config log @config net
For more, see Entries-6
-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
& Entries-6
-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
! @config parameters @config tiny @conformat
! @cost @cpattr @create
! @dbck @death @decompile
! @decompile2 @decompile3 @describe
! @destroy @destroy2 @dig
! @dig2 @disable @doing
! @dolist @drain @drop
! @dump @ealias @edit
! @efail @elock @emit
! @enable @enter @entrances
! @eunlock @exitformat @failure
! @filter @filter2 @find
! @firstexit @follow @force
! @force2 @forwardlist @function
! @function2 @function3 @function4
! @gedit @give @grep2
For more, see Entries-7
-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
& Entries-7
-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
! @grep @halt @haven
! @hide @idescribe @idle
! @infilter @inprefix @kick
! @lalias @leave @lemit
! @lfail @link @list
! @listen @listen2 @listmotd
! @lock @lock2 @lock3
! @lock4 @lock5 @lock6
! @lock7 @lock8 @lock9
! @log @logwipe @lset
! @map2 @mail @malias
! @malias2 @malias3 @malias4
! @malias5 @map @motd
! @move @mvattr @name
! @nameaccent @nameformat @newpassword
! @notify @nuke @odeath
For more, see Entries-8
-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
& Entries-8
-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
! @odescribe @odrop @oefail
! @oemit @oenter @ofailure
! @ofollow @ogive @oidescribe
! @oleave @olfail @omove
! @opayment @open @oreceive
! @osuccess @otport @oufail
! @ounfollow @ouse @oxenter
! @oxleave @oxmove @oxtport
! @ozenter @ozleave @parent
! @password @payment @pcreate
! @pemit @pemit2 @poll
! @poor @power @prefix
! @ps @purge @quota
! @readcache @receive @recycle
! @rejectmotd @remit @restart
! @runout @rwall @rwallemit
For more, see Entries-9
-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
& Entries-9
-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
! @rwallpose @scan @search
! @search2 @search3 @select
! @set @set2 @set3
! @sex @shutdown @sitelock
! @sitelock2 @sitelock3 @squota
! @startup @stats @success
! @sweep @switch @switch2
! @teleport @tport @trigger
! @trigger2 @ufail @ulock
! @undestroy @unfollow @unlink
! @unlock @unrecycle @uptime
! @uptime2 @use @uunlock
! @verb @verb2 @verb3
! @verb4 @version @vrml_url
! @wait @wait2 @wall
! @wallemit @wallpose @warnings
For more, see Entries-10
-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
& Entries-10
-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
! @warnings2 @warnings3 @wcheck
! @whereis @wipe @wizemit
! @wizmotd @wizpose @wizwall
! @zemit @zenter @zleave
! \ ^ abode
! abs() accent() accent2
! accent3 accent4 acos()
! action lists action2 add()
! after() ahelp alphamax()
! alphamin() and() andflags()
! anews ansi ansi()
! aposs() art() asin()
! atan() atrlock() attrcnt()
! attrib-ownership attribute functions attribute list
! attributes attributes list attributes2
! attributes3 attributes4 audible
For more, see Entries-11
-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
& Entries-11
-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
! audible2 band() beep()
! before() being killed bitwise functions
! bnand() bnot() boolean functions
! boolean values boolean2 boolean3
! bor() bound() brackets()
! brief builder bxor()
! cand() capstr() case()
! caseall() cat() cd
! ceil() cemit() center()
! cflags() ch changes
! channel-list channels() chat
! chown_ok chr() clients
! clock() clone() cloudy
! code color commands
! comp() comsys con()
! config() conn() connected
For more, see Entries-12
-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
& Entries-12
-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
! control controls() convsecs()
! convtime() convutcsecs() copyright
! copyrite cor() cos()
! costs create() credits
! ctime() ctitle() cv
! cwho() dark dark2
! database dbref # dbref functions
! dbref number dbref2 dbrefs
! debug debug2 dec()
! decrypt() default() delete()
! desert destroy_ok die()
! dig() dismiss dist2d()
! dist3d() div() doing
! doing() drop drop-tos
! e() edefault() edit()
! element() elements() elist()
For more, see Entries-13
-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
& Entries-13
-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
! elock() emit() enactor
! encrypt() endtag() enter
! enter_ok entrances() eq()
! escape() etimefmt() etimefmt2
! eval() evaluation order evaluation2
! events examine executor
! exit() exits exits2
! exp() extract() failure
! fdiv() filter() filterbool()
! findable() first() fixed
! flag list flags flags list
! flags() flags2 flip()
! floating floating point functions floor()
! floordiv() fmod() fold()
! fold2 folderstats() follow
! followers() following() foreach()
For more, see Entries-14
-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
& Entries-14
-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
! foreach2 fullname() function list
! functions functions() functions2
! gagged gender get
! get() get_eval() give
! global commands globals go
! going goto grab()
! graball() grep() grepi()
! gt() gte() halt
! hasattr() hasattrp() hasattrpval()
! hasattrval() hasflag() haspower()
! hastype() haven help
! here hidden() home
! home() homes html
! html functions html() i18n
! idle() idlesecs() if()
! ifelse() ilev() iname()
For more, see Entries-15
-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
& Entries-15
-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
! inc() index index()
! info information functions inherit
! inherit2 insert() interiors
! interiors2 internationalization inum()
! inventory isdaylight() isdbref()
! isint() isnum() isword()
! itemize() items() iter()
! iter2 itext() judge
! jump_ok jury_ok kill
! last last() lastip
! lastlogout lastsite lattr()
! lcon() lcstr() ldelete()
! leave left() lemit()
! lexits() license light
! link() link_ok linking
! list functions list() listen_parent
For more, see Entries-16
-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
& Entries-16
-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
! listening listening2 listening3
! lists lit() ljust()
! lmath() ln() lnum()
! loc() locale localize()
! locate() locate2 lock list
! lock types lock types2 lock()
! locking locklist locks
! locktypes locktypes2 log()
! logout look look2
! looping lparent() lplayers()
! lsearch() lsearch2 lsearchr()
! lstats() lt() lte()
! lvcon() lvexits() lvplayers()
! lwho() macros macros2
! mail functions mail() mail-admin
! mail-folders mail-other mail-reading
For more, see Entries-17
-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
& Entries-17
-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
! mail-sending maildstats() mailfrom()
! mailfstats() mailstats() mailstatus()
! mailsubject() mailtime() map()
! master room match() matchall()
! matching math functions max()
! me mean() median()
! member() merge() mid()
! min() mix() mix2
! mod() modulo() modulus()
! money money() monitor
! mortal move mtime()
! mudname() mul() munge()
! munge2 munge3 mushcode
! mushcode2 mwho() myopic
! name() nand() nattr()
! nearby() neq() new locks
For more, see Entries-18
-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
& Entries-18
-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
! newbie newbie2 newbie3
! news next() no_command
! no_leave no_tel no_warn
! noaccents noleave non-standard attributes
! nor() nospoof not()
! nowarn null() num()
! obj() object parents objeval()
! objmem() oemit() on-vacation
! opaque open() or()
! ord() orflags() owner()
! page page2 paranoid
! parent parent() parents
! parents2 parents3 parents4
! parents5 parse() patchlevels
! pcreate() pemit() pi()
! player playermem() pmatch()
For more, see Entries-19
-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
& Entries-19
-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
! poll() ports() pos()
! pose pose2 poss()
! power() powers list powers list2
! powers() powers2 pueblo
! pueblo features pueblo() puppet
! puppets puppets2 queue
! quiet quit quota()
! r() r-function rand()
! read regedit() regeditall()
! regeditalli() regediti() regexp
! regexp classes regexp classes2 regexp examples
! regexp syntax regexp syntax2 regexp syntax3
! regexp syntax4 regexp syntax5 regexp syntax6
! regexp syntax7 regexp syntax8 regexps
! regexps2 registers registers2
! regmatch() regrab() regraball()
For more, see Entries-20
-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
& Entries-20
-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
! regraballi() regrabi() regrep()
! regular expression functions remainder()
! remit() remove() repeat()
! replace() rest() restarts()
! restarttime() restrict restrict2
! restrict3 reverse() revwords()
! right() rjust() rloc()
! rnum() room room()
! round() royalty rquota
! rules s() s-function
! safe say score
! scramble() search() search2
! secs() secure() semaphores
! semaphores2 semaphores3 semaphores4
! semaphores5 semaphores6 semipose
! session set() setdiff()
For more, see Entries-21
-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
& Entries-21
-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
! setinter() setq() setq2
! setq3 setr() setting-attributes
! setunion() sex shared
! shared players shared players2 shl()
! shr() shuffle() sign()
! sin() slay softcode
! sort() sortby() soundex()
! soundex2 soundlike() soundslike()
! space() spellnum() splice()
! spoofing sqrt() squish()
! stack starttime() stats()
! stddev() step2 step()
! sticky strcat() string functions
! strings strinsert() stripaccents()
! stripansi() strlen() strmatch()
! sub() subj() substitutions
For more, see Entries-22
-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
& Entries-22
-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
! substitutions2 substitutions3 substitutions4
! success suspect switch()
! switch2 switchall() switches
! t() table() tag()
! tagwrap() take tan()
! teach tel() tel_ok
! temple terse textfile()
! think time functions time()
! timefmt() timefmt2 timestring()
! topics topics2 translation
! transparent transparent2 trim()
! trunc() trust trust2
! type() types of objects types2
! u() u2 u3
! ucstr() udefault() ufun()
! ufun2 ufun3 uldefault()
!
! For more, see Entries-23
! -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
! & Entries-23
! -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
! ulocal() ulocal2 unfindable
! unfollow uninspected unregistered
! use user-defined commands user-defined2
! utctime() utility functions v()
! v-function vadd() val()
! valid() vdim() vdot()
! verbose verbs version()
! visible() visual vmag()
! vmax() vmin() vmul()
! vrml vsub() vunit()
! warnings warnings list warnings list2
! where() whisper whisper2
! who wildcards wipe()
! with wizard wordpos()
! words() wrap() xget()
! xor() z_tel zemit()
!
! For more, see Entries-24
! -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
! & Entries-24
! -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
! zfun() zmo zmp
! zmr zone zone master objects
! zone master rooms zone masters zone objects
! zone() zones zones2
& &Entries
-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
! &help
-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
*** 1_7_5.159/game/txt/evt/index.evt Mon, 17 Apr 2000 11:58:36 -0500 dunemush (pennmush/22_index.evt 1.1.1.1 660)
--- 1_7_5.187(w)/game/txt/evt/index.evt Tue, 14 May 2002 23:52:14 -0500 dunemush (pennmush/22_index.evt 1.1.1.1.2.1 660)
***************
*** 1,6 ****
& Entries
-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
! help
-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
--- 1,7 ----
& Entries
-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
!
! & &Entries
-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
*** 1_7_5.159/game/txt/Makefile Fri, 17 Nov 2000 09:24:35 -0600 dunemush (pennmush/35_Makefile 1.2 600)
--- 1_7_5.187(w)/game/txt/Makefile Fri, 03 May 2002 22:48:14 -0500 dunemush (pennmush/35_Makefile 1.2.1.1 600)
***************
*** 10,31 ****
all: $(TXT)
! help.txt: hlp/*.hlp compose.sh
./compose.sh hlp
mv hlp.txt help.txt
! news.txt: nws/*.nws compose.sh
./compose.sh nws
mv nws.txt news.txt
! events.txt: evt/*.evt compose.sh
./compose.sh evt
mv evt.txt events.txt
! rules.txt: rules/*.rules compose.sh
./compose.sh rules
! index.txt: index/*.index compose.sh
./compose.sh index
clean:
--- 10,31 ----
all: $(TXT)
! help.txt: hlp/*.hlp hlp compose.sh
./compose.sh hlp
mv hlp.txt help.txt
! news.txt: nws/*.nws nws compose.sh
./compose.sh nws
mv nws.txt news.txt
! events.txt: evt/*.evt evt compose.sh
./compose.sh evt
mv evt.txt events.txt
! rules.txt: rules/*.rules rules compose.sh
./compose.sh rules
! index.txt: index/*.index index compose.sh
./compose.sh index
clean:
*** 1_7_5.159/utils/update.pl Tue, 25 Sep 2001 15:42:13 -0500 dunemush (pennmush/43_update.pl 1.6 700)
--- 1_7_5.187(w)/utils/update.pl Wed, 08 May 2002 10:08:08 -0500 dunemush (pennmush/43_update.pl 1.7 700)
***************
*** 12,28 ****
# 'make update' calls this.
#
# Here's how it works.
! # First, we make a backup of your old-file to old-file.bak
! # Then we read all the #def's in the old-file, and their
# associated comments. Associated comments means comments
# on the same line, after the define, or comments on lines
# preceding the define. We store the names of all the defines,
# their comments, and whether they're defined or not.
! # Then we do the same for the new-file. If we find a define
# that wasn't in the old-file, we show the user the comment
# and ask them how they want it set. Every time we write out
# a define, we delete it from the list of defines from old-file
! # Finally, if there's anything left from old-file that's not in
# new-file, we ask if the user would like to retain each one.
# Presumably users want to retain their custom defines, but don't
# want to retain obsoleted defines. Retained defines appear at
--- 12,33 ----
# 'make update' calls this.
#
# Here's how it works.
! # 1. We make a backup of your old-file to old-file.bak
! # 2. We read all the #def's in the old-file, and their
# associated comments. Associated comments means comments
# on the same line, after the define, or comments on lines
# preceding the define. We store the names of all the defines,
# their comments, and whether they're defined or not.
! # 3. We check to see if there's are enviroment variables named DEFINE
! # or UNDEFINE. If so we parse them. DEFINE may contain NAMEs or
! # NAME=value pairs. UNDEFINE should contain only NAMEs.
! # We consider these as if they were present in old-file.
! # These override old-file.
! # 4. We read in the new-file. If we find a define
# that wasn't in the old-file, we show the user the comment
# and ask them how they want it set. Every time we write out
# a define, we delete it from the list of defines from old-file
! # 5. Finally, if there's anything left from old-file that's not in
# new-file, we ask if the user would like to retain each one.
# Presumably users want to retain their custom defines, but don't
# want to retain obsoleted defines. Retained defines appear at
***************
*** 111,117 ****
undef $comment; $incomment = 0;
! # Part 3 - read in the new file, modifying its definition lines to
# match the old file. If we come across a definition that
# isn't in the old file, ask the user about it.
print "*** Updating $old from $new...\n";
--- 116,143 ----
undef $comment; $incomment = 0;
! # Part 3 - Check to see if we have environment variable SETTINGS and
! # use those settings as if they were in the old file.
! if ($settings = $ENV{'DEFINE'}) {
! print "\n*** Found a DEFINE environment variable - applying settings...\n";
! @pairs = split ' ', $settings;
! foreach (@pairs) {
! if (($d,$v) = /(.+)=(.+)/) {
! $defs{$d} = $v;
! } else {
! $defs{$_} = 'define';
! }
! }
! }
! if ($settings = $ENV{'UNDEFINE'}) {
! print "\n*** Found an UNDEFINE environment variable - applying settings...\n";
! @pairs = split ' ', $settings;
! foreach (@pairs) {
! $defs{$_} = 'undef';
! }
! }
!
! # Part 4 - read in the new file, modifying its definition lines to
# match the old file. If we come across a definition that
# isn't in the old file, ask the user about it.
print "*** Updating $old from $new...\n";
***************
*** 178,184 ****
$final = $_;
close(NEW);
! # Part 4 - if there are any definitions left from the old file,
# offer to delete them (or not)
print "\n*** Checking for leftover defines from $old...\n";
foreach $d (keys %defs) {
--- 204,210 ----
$final = $_;
close(NEW);
! # Part 5 - if there are any definitions left from the old file,
# offer to delete them (or not)
print "\n*** Checking for leftover defines from $old...\n";
foreach $d (keys %defs) {
*** 1_7_5.159/src/wiz.c Tue, 09 Apr 2002 11:29:01 -0500 dunemush (pennmush/b/23_wiz.c 1.44.1.1.1.1.1.2.1.7.1.1.1.5.1.1.1.1 660)
--- 1_7_5.187(w)/src/wiz.c Fri, 17 May 2002 10:43:23 -0500 dunemush (pennmush/b/23_wiz.c 1.44.1.1.1.1.1.2.1.7.1.1.1.1.1.2 660)
***************
*** 549,558 ****
notify(player, "Sorry.");
return;
}
- if (!Mobile(victim)) {
- notify(player, T("You can only force players and things."));
- return;
- }
if (options.log_forces) {
if (Wizard(player)) {
/* Log forces by wizards */
--- 549,554 ----
*** 1_7_5.159/src/utils.c Tue, 09 Apr 2002 11:29:01 -0500 dunemush (pennmush/b/27_utils.c 1.37 660)
--- 1_7_5.187(w)/src/utils.c Fri, 17 May 2002 10:43:23 -0500 dunemush (pennmush/b/27_utils.c 1.30.1.1.1.2 660)
***************
*** 31,36 ****
--- 31,39 ----
#include <winbase.h> /* For GetCurrentProcessId() */
#undef OPAQUE /* Clashes with flags.h */
#endif
+ #include <ctype.h>
+ #include <fcntl.h>
+ #include "conf.h"
#ifdef MEM_CHECK
#include "memcheck.h"
***************
*** 46,54 ****
#include "confmagic.h"
dbref find_entrance(dbref door);
Malloc_t
! mush_malloc(int size, const char *check)
{
Malloc_t ptr;
#ifdef MEM_CHECK
--- 49,62 ----
#include "confmagic.h"
dbref find_entrance(dbref door);
+ void initialize_mt(void);
+ unsigned long genrand_int32(void);
+ long genrand_int31(void);
+ void init_genrand(unsigned long);
+ void init_by_array(unsigned long *, int);
Malloc_t
! mush_malloc(Size_t size, const char *check)
{
Malloc_t ptr;
#ifdef MEM_CHECK
***************
*** 203,210 ****
}
- void init_genrand(unsigned long);
- void init_by_array(unsigned long *, int);
#define N 624
/* We use the Mersenne Twister PRNG. It's quite good as PRNGS go,
--- 211,216 ----
*** 1_7_5.159/src/help.c Mon, 15 Apr 2002 23:07:08 -0500 dunemush (pennmush/f/32_help.c 1.4.1.2.1.1.1.3.2.2.1.1.2.1.1.2.1.2.1.2.1.3 660)
--- 1_7_5.187(w)/src/help.c Fri, 17 May 2002 10:43:21 -0500 dunemush (pennmush/f/32_help.c 1.4.1.2.1.1.1.3.2.2.1.1.2.1.1.2.1.2.1.2.1.3.1.2 660)
***************
*** 33,38 ****
--- 33,39 ----
static void do_new_spitfile _((dbref player, char *arg1,
help_file *help_dat, int restricted));
+ static char *string_spitfile(help_file *help_dat, char *arg1);
static void help_build_index _((help_file *h, int restricted));
***************
*** 307,313 ****
}
- char line[LINE_SIZE + 1];
static void
help_build_index(h, restricted)
help_file *h;
--- 308,313 ----
***************
*** 318,323 ****
--- 318,324 ----
int i, n, lineno, ntopics;
char *s, *topic;
char the_topic[TOPIC_NAME_LEN + 1];
+ char line[LINE_SIZE + 1];
FILE *rfp;
tlist *cur;
***************
*** 441,447 ****
{
help_indx *entry = NULL;
FILE *fp;
! char *p, line[LINE_SIZE + 1];
char the_topic[LINE_SIZE + 2];
Size_t n;
static char buff[BUFFER_LEN];
--- 442,448 ----
{
help_indx *entry = NULL;
FILE *fp;
! char line[LINE_SIZE + 1];
char the_topic[LINE_SIZE + 2];
Size_t n;
static char buff[BUFFER_LEN];
*** 1_7_5.159/src/switchinc.c Sun, 28 Apr 2002 15:14:26 -0500 dunemush (pennmush/b/32_switchinc. 1.3.1.2.1.6.1.18.1.2.1.2.2.5.1.4.2.4.1.1.1.2.1.5.1.2.1.5.2.3 660)
--- 1_7_5.187(w)/src/switchinc.c Fri, 17 May 2002 10:43:23 -0500 dunemush (pennmush/b/32_switchinc. 1.3.1.2.1.6.1.18.1.2.1.2.2.5.1.4.2.4.1.1.1.2.1.5.1.2.1.5.2.1.1.5 660)
***************
*** 1,520 ****
{
! "ACCESS", SWITCH_ACCESS
! }
! ,
! {
! "ADD", SWITCH_ADD
! }
! ,
! {
! "ALL", SWITCH_ALL
! }
! ,
! {
! "ANY", SWITCH_ANY
! }
! ,
! {
! "ATTRIBS", SWITCH_ATTRIBS
! }
! ,
! {
! "BAN", SWITCH_BAN
! }
! ,
! {
! "BLIND", SWITCH_BLIND
! }
! ,
! {
! "BRIEF", SWITCH_BRIEF
! }
! ,
! {
! "CHECK", SWITCH_CHECK
! }
! ,
! {
! "CHOWN", SWITCH_CHOWN
! }
! ,
! {
! "CLEAR", SWITCH_CLEAR
! }
! ,
! {
! "CMD", SWITCH_CMD
! }
! ,
! {
! "COMMANDS", SWITCH_COMMANDS
! }
! ,
! {
! "CONN", SWITCH_CONN
! }
! ,
! {
! "CONNECT", SWITCH_CONNECT
! }
! ,
! {
! "CONNECTED", SWITCH_CONNECTED
! }
! ,
! {
! "CONTENTS", SWITCH_CONTENTS
! }
! ,
! {
! "COSTS", SWITCH_COSTS
! }
! ,
! {
! "COUNT", SWITCH_COUNT
! }
! ,
! {
! "CREATE", SWITCH_CREATE
! }
! ,
! {
! "DATABASE", SWITCH_DATABASE
! }
! ,
! {
! "DB", SWITCH_DB
! }
! ,
! {
! "DEBUG", SWITCH_DEBUG
! }
! ,
! {
! "DECOMPILE", SWITCH_DECOMPILE
! }
! ,
! {
! "DEFAULTS", SWITCH_DEFAULTS
! }
! ,
! {
! "DELETE", SWITCH_DELETE
! }
! ,
! {
! "DELIMIT", SWITCH_DELIMIT
! }
! ,
! {
! "DESCRIBE", SWITCH_DESCRIBE
! }
! ,
! {
! "DESTROY", SWITCH_DESTROY
! }
! ,
! {
! "DISABLE", SWITCH_DISABLE
! }
! ,
! {
! "DOWN", SWITCH_DOWN
! }
! ,
! {
! "DSTATS", SWITCH_DSTATS
! }
! ,
! {
! "EMIT", SWITCH_EMIT
! }
! ,
! {
! "ENABLE", SWITCH_ENABLE
! }
! ,
! {
! "ERR", SWITCH_ERR
! }
! ,
! {
! "EXITS", SWITCH_EXITS
! }
! ,
! {
! "FILE", SWITCH_FILE
! }
! ,
! {
! "FIRST", SWITCH_FIRST
! }
! ,
! {
! "FLAGS", SWITCH_FLAGS
! }
! ,
! {
! "FOLDERS", SWITCH_FOLDERS
! }
! ,
! {
! "FORWARD", SWITCH_FORWARD
! }
! ,
! {
! "FSTATS", SWITCH_FSTATS
! }
! ,
! {
! "FULL", SWITCH_FULL
! }
! ,
! {
! "FUNCTIONS", SWITCH_FUNCTIONS
! }
! ,
! {
! "FWD", SWITCH_FWD
! }
! ,
! {
! "GAG", SWITCH_GAG
! }
! ,
! {
! "GLOBALS", SWITCH_GLOBALS
! }
! ,
! {
! "HEADER", SWITCH_HEADER
! }
! ,
! {
! "HERE", SWITCH_HERE
! }
! ,
! {
! "HIDE", SWITCH_HIDE
! }
! ,
! {
! "ILIST", SWITCH_ILIST
! }
! ,
! {
! "INVENTORY", SWITCH_INVENTORY
! }
! ,
! {
! "IPRINT", SWITCH_IPRINT
! }
! ,
! {
! "JOIN", SWITCH_JOIN
! }
! ,
! {
! "LIST", SWITCH_LIST
! }
! ,
! {
! "LOWERCASE", SWITCH_LOWERCASE
! }
! ,
! {
! "ME", SWITCH_ME
! }
! ,
! {
! "MEMBERS", SWITCH_MEMBERS
! }
! ,
! {
! "MOD", SWITCH_MOD
! }
! ,
! {
! "MORTAL", SWITCH_MORTAL
! }
! ,
! {
! "MOTD", SWITCH_MOTD
! }
! ,
! {
! "MUTE", SWITCH_MUTE
! }
! ,
! {
! "NAME", SWITCH_NAME
! }
! ,
! {
! "NO", SWITCH_NO
! }
! ,
! {
! "NOEVAL", SWITCH_NOEVAL
! }
! ,
! {
! "NOFLAGCOPY", SWITCH_NOFLAGCOPY
! }
! ,
! {
! "NOISY", SWITCH_NOISY
! }
! ,
! {
! "NOSIG", SWITCH_NOSIG
! }
! ,
! {
! "NOSPACE", SWITCH_NOSPACE
! }
! ,
! {
! "NOTIFY", SWITCH_NOTIFY
! }
! ,
! {
! "NUKE", SWITCH_NUKE
! }
! ,
! {
! "OFF", SWITCH_OFF
! }
! ,
! {
! "ON", SWITCH_ON
! }
! ,
! {
! "OUTSIDE", SWITCH_OUTSIDE
! }
! ,
! {
! "OVERRIDE", SWITCH_OVERRIDE
! }
! ,
! {
! "PANIC", SWITCH_PANIC
! }
! ,
! {
! "PARANOID", SWITCH_PARANOID
! }
! ,
! {
! "PLAYERS", SWITCH_PLAYERS
! }
! ,
! {
! "PORT", SWITCH_PORT
! }
! ,
! {
! "POSE", SWITCH_POSE
! }
! ,
! {
! "PRESERVE", SWITCH_PRESERVE
! }
! ,
! {
! "PRINT", SWITCH_PRINT
! }
! ,
! {
! "PRIVS", SWITCH_PRIVS
! }
! ,
! {
! "PURGE", SWITCH_PURGE
! }
! ,
! {
! "QUICK", SWITCH_QUICK
! }
! ,
! {
! "QUIET", SWITCH_QUIET
! }
! ,
! {
! "READ", SWITCH_READ
! }
! ,
! {
! "REBOOT", SWITCH_REBOOT
! }
! ,
! {
! "REGISTER", SWITCH_REGISTER
! }
! ,
! {
! "REMOVE", SWITCH_REMOVE
! }
! ,
! {
! "RENAME", SWITCH_RENAME
! }
! ,
! {
! "RESTORE", SWITCH_RESTORE
! }
! ,
! {
! "RESTRICT", SWITCH_RESTRICT
! }
! ,
! {
! "RETROACTIVE", SWITCH_RETROACTIVE
! }
! ,
! {
! "ROOM", SWITCH_ROOM
! }
! ,
! {
! "ROOMS", SWITCH_ROOMS
! }
! ,
! {
! "ROYALTY", SWITCH_ROYALTY
! }
! ,
! {
! "SEE", SWITCH_SEE
! }
! ,
! {
! "SEEFLAG", SWITCH_SEEFLAG
! }
! ,
! {
! "SELF", SWITCH_SELF
! }
! ,
! {
! "SEND", SWITCH_SEND
! }
! ,
! {
! "SET", SWITCH_SET
! }
! ,
! {
! "SILENT", SWITCH_SILENT
! }
! ,
! {
! "SKIPDEFAULTS", SWITCH_SKIPDEFAULTS
! }
! ,
! {
! "SPEAK", SWITCH_SPEAK
! }
! ,
! {
! "STATS", SWITCH_STATS
! }
! ,
! {
! "SUMMARY", SWITCH_SUMMARY
! }
! ,
! {
! "TABLES", SWITCH_TABLES
! }
! ,
! {
! "TAG", SWITCH_TAG
! }
! ,
! {
! "TELEPORT", SWITCH_TELEPORT
! }
! ,
! {
! "TF", SWITCH_TF
! }
! ,
! {
! "THINGS", SWITCH_THINGS
! }
! ,
! {
! "TITLE", SWITCH_TITLE
! }
! ,
! {
! "TRACE", SWITCH_TRACE
! }
! ,
! {
! "UNCLEAR", SWITCH_UNCLEAR
! }
! ,
! {
! "UNFOLDER", SWITCH_UNFOLDER
! }
! ,
! {
! "UNGAG", SWITCH_UNGAG
! }
! ,
! {
! "UNHIDE", SWITCH_UNHIDE
! }
! ,
! {
! "UNMUTE", SWITCH_UNMUTE
! }
! ,
! {
! "UNTAG", SWITCH_UNTAG
! }
! ,
! {
! "UNTIL", SWITCH_UNTIL
! }
! ,
! {
! "URGENT", SWITCH_URGENT
! }
! ,
! {
! "USEFLAG", SWITCH_USEFLAG
! }
! ,
! {
! "WHAT", SWITCH_WHAT
! }
! ,
! {
! "WHO", SWITCH_WHO
! }
! ,
! {
! "WIPE", SWITCH_WIPE
! }
! ,
! {
! "WIZ", SWITCH_WIZ
! }
! ,
! {
! "WIZARD", SWITCH_WIZARD
! }
! ,
! {
! "YES", SWITCH_YES
! }
! ,
! {
! "ZONE", SWITCH_ZONE
! }
,
--- 1,391 ----
{
! "ACCESS", SWITCH_ACCESS}
!
! , {
! "ADD", SWITCH_ADD}
!
! , {
! "ALL", SWITCH_ALL}
!
! , {
! "ANY", SWITCH_ANY}
!
! , {
! "ATTRIBS", SWITCH_ATTRIBS}
!
! , {
! "BAN", SWITCH_BAN}
!
! , {
! "BLIND", SWITCH_BLIND}
!
! , {
! "BRIEF", SWITCH_BRIEF}
!
! , {
! "CHECK", SWITCH_CHECK}
!
! , {
! "CHOWN", SWITCH_CHOWN}
!
! , {
! "CLEAR", SWITCH_CLEAR}
!
! , {
! "CMD", SWITCH_CMD}
!
! , {
! "COMMANDS", SWITCH_COMMANDS}
!
! , {
! "CONN", SWITCH_CONN}
!
! , {
! "CONNECT", SWITCH_CONNECT}
!
! , {
! "CONNECTED", SWITCH_CONNECTED}
!
! , {
! "CONTENTS", SWITCH_CONTENTS}
!
! , {
! "COSTS", SWITCH_COSTS}
!
! , {
! "COUNT", SWITCH_COUNT}
!
! , {
! "CREATE", SWITCH_CREATE}
!
! , {
! "DATABASE", SWITCH_DATABASE}
!
! , {
! "DB", SWITCH_DB}
!
! , {
! "DEBUG", SWITCH_DEBUG}
!
! , {
! "DECOMPILE", SWITCH_DECOMPILE}
!
! , {
! "DEFAULTS", SWITCH_DEFAULTS}
!
! , {
! "DELETE", SWITCH_DELETE}
!
! , {
! "DELIMIT", SWITCH_DELIMIT}
!
! , {
! "DESCRIBE", SWITCH_DESCRIBE}
!
! , {
! "DESTROY", SWITCH_DESTROY}
!
! , {
! "DISABLE", SWITCH_DISABLE}
!
! , {
! "DOWN", SWITCH_DOWN}
!
! , {
! "DSTATS", SWITCH_DSTATS}
!
! , {
! "EMIT", SWITCH_EMIT}
!
! , {
! "ENABLE", SWITCH_ENABLE}
!
! , {
! "ERR", SWITCH_ERR}
!
! , {
! "EXITS", SWITCH_EXITS}
!
! , {
! "FILE", SWITCH_FILE}
!
! , {
! "FIRST", SWITCH_FIRST}
!
! , {
! "FLAGS", SWITCH_FLAGS}
!
! , {
! "FOLDERS", SWITCH_FOLDERS}
!
! , {
! "FORWARD", SWITCH_FORWARD}
!
! , {
! "FSTATS", SWITCH_FSTATS}
!
! , {
! "FULL", SWITCH_FULL}
!
! , {
! "FUNCTIONS", SWITCH_FUNCTIONS}
!
! , {
! "FWD", SWITCH_FWD}
!
! , {
! "GAG", SWITCH_GAG}
!
! , {
! "GLOBALS", SWITCH_GLOBALS}
!
! , {
! "HEADER", SWITCH_HEADER}
!
! , {
! "HERE", SWITCH_HERE}
!
! , {
! "HIDE", SWITCH_HIDE}
!
! , {
! "ILIST", SWITCH_ILIST}
!
! , {
! "INVENTORY", SWITCH_INVENTORY}
!
! , {
! "IPRINT", SWITCH_IPRINT}
!
! , {
! "JOIN", SWITCH_JOIN}
!
! , {
! "LIST", SWITCH_LIST}
!
! , {
! "LOWERCASE", SWITCH_LOWERCASE}
!
! , {
! "ME", SWITCH_ME}
!
! , {
! "MEMBERS", SWITCH_MEMBERS}
!
! , {
! "MOD", SWITCH_MOD}
!
! , {
! "MORTAL", SWITCH_MORTAL}
!
! , {
! "MOTD", SWITCH_MOTD}
!
! , {
! "MUTE", SWITCH_MUTE}
!
! , {
! "NAME", SWITCH_NAME}
!
! , {
! "NO", SWITCH_NO}
!
! , {
! "NOEVAL", SWITCH_NOEVAL}
!
! , {
! "NOFLAGCOPY", SWITCH_NOFLAGCOPY}
!
! , {
! "NOISY", SWITCH_NOISY}
!
! , {
! "NOSIG", SWITCH_NOSIG}
!
! , {
! "NOSPACE", SWITCH_NOSPACE}
!
! , {
! "NOTIFY", SWITCH_NOTIFY}
!
! , {
! "NUKE", SWITCH_NUKE}
!
! , {
! "OFF", SWITCH_OFF}
!
! , {
! "ON", SWITCH_ON}
!
! , {
! "OUTSIDE", SWITCH_OUTSIDE}
!
! , {
! "OVERRIDE", SWITCH_OVERRIDE}
!
! , {
! "PANIC", SWITCH_PANIC}
!
! , {
! "PARANOID", SWITCH_PARANOID}
!
! , {
! "PLAYERS", SWITCH_PLAYERS}
!
! , {
! "PORT", SWITCH_PORT}
!
! , {
! "POSE", SWITCH_POSE}
!
! , {
! "PRESERVE", SWITCH_PRESERVE}
!
! , {
! "PRINT", SWITCH_PRINT}
!
! , {
! "PRIVS", SWITCH_PRIVS}
!
! , {
! "PURGE", SWITCH_PURGE}
!
! , {
! "QUICK", SWITCH_QUICK}
!
! , {
! "QUIET", SWITCH_QUIET}
!
! , {
! "READ", SWITCH_READ}
!
! , {
! "REBOOT", SWITCH_REBOOT}
!
! , {
! "REGISTER", SWITCH_REGISTER}
!
! , {
! "REMOVE", SWITCH_REMOVE}
!
! , {
! "RENAME", SWITCH_RENAME}
!
! , {
! "RESTORE", SWITCH_RESTORE}
!
! , {
! "RESTRICT", SWITCH_RESTRICT}
!
! , {
! "RETROACTIVE", SWITCH_RETROACTIVE}
!
! , {
! "ROOM", SWITCH_ROOM}
!
! , {
! "ROOMS", SWITCH_ROOMS}
!
! , {
! "ROYALTY", SWITCH_ROYALTY}
!
! , {
! "SEE", SWITCH_SEE}
!
! , {
! "SEEFLAG", SWITCH_SEEFLAG}
!
! , {
! "SELF", SWITCH_SELF}
!
! , {
! "SEND", SWITCH_SEND}
!
! , {
! "SET", SWITCH_SET}
!
! , {
! "SILENT", SWITCH_SILENT}
!
! , {
! "SKIPDEFAULTS", SWITCH_SKIPDEFAULTS}
!
! , {
! "SPEAK", SWITCH_SPEAK}
!
! , {
! "STATS", SWITCH_STATS}
!
! , {
! "SUMMARY", SWITCH_SUMMARY}
!
! , {
! "TABLES", SWITCH_TABLES}
!
! , {
! "TAG", SWITCH_TAG}
!
! , {
! "TELEPORT", SWITCH_TELEPORT}
!
! , {
! "TF", SWITCH_TF}
!
! , {
! "THINGS", SWITCH_THINGS}
!
! , {
! "TITLE", SWITCH_TITLE}
!
! , {
! "TRACE", SWITCH_TRACE}
!
! , {
! "UNCLEAR", SWITCH_UNCLEAR}
!
! , {
! "UNFOLDER", SWITCH_UNFOLDER}
!
! , {
! "UNGAG", SWITCH_UNGAG}
!
! , {
! "UNHIDE", SWITCH_UNHIDE}
!
! , {
! "UNMUTE", SWITCH_UNMUTE}
!
! , {
! "UNTAG", SWITCH_UNTAG}
!
! , {
! "UNTIL", SWITCH_UNTIL}
!
! , {
! "URGENT", SWITCH_URGENT}
!
! , {
! "USEFLAG", SWITCH_USEFLAG}
!
! , {
! "WHAT", SWITCH_WHAT}
!
! , {
! "WHO", SWITCH_WHO}
!
! , {
! "WIPE", SWITCH_WIPE}
!
! , {
! "WIZ", SWITCH_WIZ}
!
! , {
! "WIZARD", SWITCH_WIZARD}
!
! , {
! "YES", SWITCH_YES}
!
! , {
! "ZONE", SWITCH_ZONE}
!
,
*** 1_7_5.159/src/strutil.c Mon, 22 Apr 2002 11:34:33 -0500 dunemush (pennmush/b/33_strutil.c 1.28.1.3.1.3.1.7.2.1.1.2.1.1.1.1.1.2 660)
--- 1_7_5.187(w)/src/strutil.c Fri, 17 May 2002 10:43:23 -0500 dunemush (pennmush/b/33_strutil.c 1.28.1.3.1.3.1.7.2.1.1.2.1.1.1.1.1.3 660)
***************
*** 26,31 ****
--- 26,32 ----
char *next_token(char *str, char sep);
static int format_long(long val, char *buff, char **bp, int maxlen);
+ char *mush_strndup(const char *src, size_t len, const char *check);
/* Duplicate the first len characters of s */
char *
*** 1_7_5.159/src/speech.c Tue, 09 Apr 2002 11:29:01 -0500 dunemush (pennmush/b/35_speech.c 1.21.1.2.1.3.1.5.1.1.1.7.1.3.1.1.1.8.1.1.1.1 660)
--- 1_7_5.187(w)/src/speech.c Fri, 17 May 2002 10:43:23 -0500 dunemush (pennmush/b/35_speech.c 1.21.1.2.1.3.1.5.1.1.1.7.1.3.1.1.1.8.1.1.1.1.1.1 660)
***************
*** 32,37 ****
--- 32,38 ----
void propagate_sound(dbref thing, const char *msg);
static void do_audible_stuff(dbref loc, dbref *excs, int numexcs,
const char *msg);
+ void do_one_remit(dbref player, const char *target, const char *msg, int noisy);
dbref na_zemit(dbref current, void *data);
extern int WIN32_CDECL i_comp(const void *s1, const void *s2);
static const char *spname(dbref thing);
*** 1_7_5.159/src/plyrlist.c Sat, 23 Jun 2001 12:54:11 -0500 dunemush (pennmush/b/46_plyrlist.c 1.5.1.1 660)
--- 1_7_5.187(w)/src/plyrlist.c Fri, 17 May 2002 10:43:22 -0500 dunemush (pennmush/b/46_plyrlist.c 1.5.1.2 660)
***************
*** 61,66 ****
--- 61,68 ----
int p;
void *hval;
+ if (!name || !*name)
+ return NOTHING;
if (*name == NUMBER_TOKEN) {
name++;
if (!is_strict_number(name))
*** 1_7_5.159/src/move.c Mon, 11 Mar 2002 18:22:55 -0600 dunemush (pennmush/b/51_move.c 1.1.1.18.1.5.1.13.1.3.1.9.1.1.1.1.1.3 660)
--- 1_7_5.187(w)/src/move.c Fri, 17 May 2002 10:43:22 -0500 dunemush (pennmush/b/51_move.c 1.1.1.18.1.5.1.13.1.3.1.9.1.1.1.1.1.2.1.2 660)
***************
*** 787,792 ****
--- 787,796 ----
if (arg && *arg) {
/* Who do we want to follow? */
leader = match_result(player, arg, NOTYPE, MAT_NEARBY);
+ if (leader == AMBIGUOUS) {
+ notify(player, T("I can't tell which one to follow."));
+ return;
+ }
if (!GoodObject(leader) || !GoodObject(Location(player)) ||
(IsPlayer(leader) && !Connected(leader)) ||
((DarkLegal(leader) || (Dark(Location(player)) && !Light(leader))) &&
***************
*** 835,847 ****
if (arg && *arg) {
/* Who do we want to stop following? */
leader = match_result(player, arg, NOTYPE, MAT_OBJECTS);
if (!GoodObject(leader)) {
! notify(player, T("I don't recognize who you want to stop following."));
return;
}
/* Are we following them? */
if (!is_following(player, leader)) {
! notify_format(player, T("You're not following %s"), Name(leader));
return;
}
/* Ok, looks good */
--- 839,855 ----
if (arg && *arg) {
/* Who do we want to stop following? */
leader = match_result(player, arg, NOTYPE, MAT_OBJECTS);
+ if (leader == AMBIGUOUS) {
+ notify(player, T("I can't tell which one to stop following."));
+ return;
+ }
if (!GoodObject(leader)) {
! notify(player, T("I don't see that here."));
return;
}
/* Are we following them? */
if (!is_following(player, leader)) {
! notify_format(player, T("You're not following %s."), Name(leader));
return;
}
/* Ok, looks good */
*** 1_7_5.159/src/look.c Tue, 04 Sep 2001 09:08:48 -0500 dunemush (pennmush/c/4_look.c 1.21.1.3 660)
--- 1_7_5.187(w)/src/look.c Fri, 17 May 2002 10:43:22 -0500 dunemush (pennmush/c/4_look.c 1.21.1.2.1.3 660)
***************
*** 29,53 ****
#include "confmagic.h"
#include "log.h"
! extern void decompile_flags _((dbref player, dbref thing, const char *name)); /* from flags.c */
! extern void decompile_powers _((dbref player, dbref thing, const char *name)); /* from flags.c */
extern PRIV attr_privs[];
! static void look_exits _((dbref player, dbref loc, const char *exit_name));
! static void look_contents
! _((dbref player, dbref loc, const char *contents_name));
! static void look_atrs _((dbref player, dbref thing, const char *mstr));
! static void look_simple _((dbref player, dbref thing));
static int decompile_helper
! _((dbref player, dbref thing, char const *pattern, ATTR *atr, void *args));
static int look_helper
! _((dbref player, dbref thing, char const *pattern, ATTR *atr, void *args));
#ifdef CHAT_SYSTEM
! static const char *channel_description _((dbref player));
#endif
! void decompile_atrs _((dbref player, dbref thing, const char *name,
! const char *pattern, const char *prefix, int skipdef));
! void decompile_locks _((dbref player, dbref thing, const char *name));
static void
look_exits(player, loc, exit_name)
--- 29,52 ----
#include "confmagic.h"
#include "log.h"
! extern void decompile_flags(dbref player, dbref thing, const char *name); /* from flags.c */
! extern void decompile_powers(dbref player, dbref thing, const char *name); /* from flags.c */
extern PRIV attr_privs[];
! static void look_exits(dbref player, dbref loc, const char *exit_name);
! static void look_contents(dbref player, dbref loc, const char *contents_name);
! static void look_atrs(dbref player, dbref thing, const char *mstr);
! static void look_simple(dbref player, dbref thing);
static int decompile_helper
! (dbref player, dbref thing, char const *pattern, ATTR *atr, void *args);
static int look_helper
! (dbref player, dbref thing, char const *pattern, ATTR *atr, void *args);
#ifdef CHAT_SYSTEM
! static const char *channel_description(dbref player);
#endif
! void decompile_atrs(dbref player, dbref thing, const char *name,
! const char *pattern, const char *prefix, int skipdef);
! void decompile_locks(dbref player, dbref thing, const char *name, int skipdef);
static void
look_exits(player, loc, exit_name)
***************
*** 1200,1205 ****
--- 1199,1208 ----
ATTR *ptr;
char msg[BUFFER_LEN];
char *bp;
+
+ if (AL_FLAGS(atr) & AF_NODUMP)
+ return 0;
+
ptr = atr_match(AL_NAME(atr));
bp = msg;
safe_str(dh->prefix, msg, &bp);
***************
*** 1253,1272 ****
}
void
! decompile_locks(player, thing, name)
! dbref player;
! dbref thing;
! const char *name;
{
! struct lock_list *ll;
for (ll = Locks(thing); ll; ll = ll->next) {
if (match_lock(ll->type) != NULL) {
notify_format(player, "@lock/%s %s=%s",
L_TYPE(ll), name, unparse_boolexp(player, L_KEY(ll),
UB_DBREF));
! if (L_FLAGS(ll))
notify_format(player,
"@lset %s/%s=%s", name, L_TYPE(ll), lock_flags_long(ll));
} else {
notify_format(player, "@lock/user:%s %s=%s",
ll->type, name, unparse_boolexp(player, ll->key, UB_DBREF));
--- 1256,1278 ----
}
void
! decompile_locks(dbref player, dbref thing, const char *name, int skipdef)
{
! lock_list *ll;
for (ll = Locks(thing); ll; ll = ll->next) {
if (match_lock(ll->type) != NULL) {
notify_format(player, "@lock/%s %s=%s",
L_TYPE(ll), name, unparse_boolexp(player, L_KEY(ll),
UB_DBREF));
! if (L_FLAGS(ll)) {
! if (skipdef) {
! const lock_list *p = get_lockproto(L_TYPE(ll));
! if (p && L_FLAGS(ll) == L_FLAGS(p))
! continue;
! }
notify_format(player,
"@lset %s/%s=%s", name, L_TYPE(ll), lock_flags_long(ll));
+ }
} else {
notify_format(player, "@lock/user:%s %s=%s",
ll->type, name, unparse_boolexp(player, ll->key, UB_DBREF));
***************
*** 1395,1401 ****
if (GoodObject(Parent(thing)))
notify_format(player, "@parent %s=#%d", object, Parent(thing));
! decompile_locks(player, thing, object);
decompile_flags(player, thing, object);
decompile_powers(player, thing, object);
}
--- 1401,1407 ----
if (GoodObject(Parent(thing)))
notify_format(player, "@parent %s=#%d", object, Parent(thing));
! decompile_locks(player, thing, object, skipdef);
decompile_flags(player, thing, object);
decompile_powers(player, thing, object);
}
*** 1_7_5.159/src/lock.c Thu, 04 Apr 2002 16:26:39 -0600 dunemush (pennmush/c/6_lock.c 1.17.1.7 660)
--- 1_7_5.187(w)/src/lock.c Fri, 17 May 2002 10:43:21 -0500 dunemush (pennmush/c/6_lock.c 1.17.1.8 660)
***************
*** 73,98 ****
/* Define new lock types here. */
const lock_list lock_types[] = {
! {(char *) "Basic", NULL, GOD, LF_PRIVATE, NULL},
! {(char *) "Enter", NULL, GOD, LF_PRIVATE, NULL},
! {(char *) "Use", NULL, GOD, LF_PRIVATE, NULL},
! {(char *) "Zone", NULL, GOD, LF_PRIVATE, NULL},
! {(char *) "Page", NULL, GOD, LF_PRIVATE, NULL},
! {(char *) "Teleport", NULL, GOD, LF_PRIVATE, NULL},
! {(char *) "Speech", NULL, GOD, LF_PRIVATE | LF_WIZARD, NULL},
! {(char *) "Listen", NULL, GOD, LF_PRIVATE, NULL},
! {(char *) "Command", NULL, GOD, LF_PRIVATE, NULL},
! {(char *) "Parent", NULL, GOD, LF_PRIVATE, NULL},
! {(char *) "Link", NULL, GOD, LF_PRIVATE, NULL},
! {(char *) "Leave", NULL, GOD, LF_PRIVATE, NULL},
! {(char *) "Drop", NULL, GOD, LF_PRIVATE, NULL},
! {(char *) "Give", NULL, GOD, LF_PRIVATE, NULL},
! {(char *) "Mail", NULL, GOD, LF_PRIVATE, NULL},
! {(char *) "Follow", NULL, GOD, LF_PRIVATE, NULL},
! {(char *) "Examine", NULL, GOD, LF_PRIVATE | LF_OWNER, NULL},
! {(char *) "Chzone", NULL, GOD, LF_PRIVATE, NULL},
! {(char *) "Forward", NULL, GOD, LF_PRIVATE | LF_OWNER, NULL},
! {(char *) "Control", NULL, GOD, LF_PRIVATE | LF_OWNER, NULL},
/* Add new lock types just before this line. */
{NULL, NULL, GOD, 0, NULL}
};
--- 73,98 ----
/* Define new lock types here. */
const lock_list lock_types[] = {
! {"Basic", NULL, GOD, LF_PRIVATE, NULL},
! {"Enter", NULL, GOD, LF_PRIVATE, NULL},
! {"Use", NULL, GOD, LF_PRIVATE, NULL},
! {"Zone", NULL, GOD, LF_PRIVATE, NULL},
! {"Page", NULL, GOD, LF_PRIVATE, NULL},
! {"Teleport", NULL, GOD, LF_PRIVATE, NULL},
! {"Speech", NULL, GOD, LF_PRIVATE | LF_WIZARD, NULL},
! {"Listen", NULL, GOD, LF_PRIVATE, NULL},
! {"Command", NULL, GOD, LF_PRIVATE, NULL},
! {"Parent", NULL, GOD, LF_PRIVATE, NULL},
! {"Link", NULL, GOD, LF_PRIVATE, NULL},
! {"Leave", NULL, GOD, LF_PRIVATE, NULL},
! {"Drop", NULL, GOD, LF_PRIVATE, NULL},
! {"Give", NULL, GOD, LF_PRIVATE, NULL},
! {"Mail", NULL, GOD, LF_PRIVATE, NULL},
! {"Follow", NULL, GOD, LF_PRIVATE, NULL},
! {"Examine", NULL, GOD, LF_PRIVATE | LF_OWNER, NULL},
! {"Chzone", NULL, GOD, LF_PRIVATE, NULL},
! {"Forward", NULL, GOD, LF_PRIVATE | LF_OWNER, NULL},
! {"Control", NULL, GOD, LF_PRIVATE | LF_OWNER, NULL},
/* Add new lock types just before this line. */
{NULL, NULL, GOD, 0, NULL}
};
***************
*** 110,116 ****
StrTree lock_names;
static void free_one_lock_list _((lock_list *ll));
! static lock_type check_lock_type _((dbref player, dbref thing, char *name));
static int delete_lock(dbref player, dbref thing, lock_type type);
static int can_write_lock(dbref player, db