Changeset 439
- Timestamp:
- 08/12/06 20:00:15 (2 years ago)
- Files:
-
- 1.7.7/CHANGES.177 (modified) (1 diff)
- 1.7.7/Configure (modified) (1 diff)
- 1.7.7/MANIFEST (modified) (2 diffs)
- 1.7.7/Makefile.SH (modified) (1 diff)
- 1.7.7/Patchlevel (modified) (1 diff)
- 1.7.7/game/README (modified) (2 diffs)
- 1.7.7/game/restart (modified) (1 diff)
- 1.7.7/game/restrict.cnf (modified) (2 diffs)
- 1.7.7/game/txt/hlp/penncmd.hlp (modified) (5 diffs)
- 1.7.7/game/txt/hlp/pennflag.hlp (modified) (2 diffs)
- 1.7.7/game/txt/hlp/pennfunc.hlp (modified) (5 diffs)
- 1.7.7/game/txt/hlp/pennv177.hlp (modified) (2 diffs)
- 1.7.7/game/txt/hlp/pennvOLD.hlp (modified) (1 diff)
- 1.7.7/hdrs/atr_tab.h (modified) (2 diffs)
- 1.7.7/hdrs/attrib.h (modified) (1 diff)
- 1.7.7/hdrs/command.h (modified) (1 diff)
- 1.7.7/hdrs/conf.h (modified) (2 diffs)
- 1.7.7/hdrs/dbdefs.h (modified) (1 diff)
- 1.7.7/hdrs/extchat.h (modified) (1 diff)
- 1.7.7/hdrs/externs.h (modified) (3 diffs)
- 1.7.7/hdrs/game.h (modified) (1 diff)
- 1.7.7/hdrs/lock.h (modified) (1 diff)
- 1.7.7/hdrs/mushdb.h (modified) (2 diffs)
- 1.7.7/hdrs/mushtype.h (modified) (2 diffs)
- 1.7.7/hdrs/switches.h (modified) (1 diff)
- 1.7.7/hdrs/version.h (modified) (1 diff)
- 1.7.7/src/SWITCHES (modified) (1 diff)
- 1.7.7/src/attrib.c (modified) (7 diffs)
- 1.7.7/src/bsd.c (modified) (16 diffs)
- 1.7.7/src/chunk.c (modified) (3 diffs)
- 1.7.7/src/cmds.c (modified) (3 diffs)
- 1.7.7/src/command.c (modified) (21 diffs)
- 1.7.7/src/comp_h.c (modified) (2 diffs)
- 1.7.7/src/conf.c (modified) (1 diff)
- 1.7.7/src/db.c (modified) (3 diffs)
- 1.7.7/src/extchat.c (modified) (9 diffs)
- 1.7.7/src/filecopy.c (modified) (2 diffs)
- 1.7.7/src/flags.c (modified) (18 diffs)
- 1.7.7/src/fundb.c (modified) (2 diffs)
- 1.7.7/src/funmisc.c (modified) (5 diffs)
- 1.7.7/src/funstr.c (modified) (1 diff)
- 1.7.7/src/game.c (modified) (8 diffs)
- 1.7.7/src/lock.c (modified) (2 diffs)
- 1.7.7/src/look.c (modified) (1 diff)
- 1.7.7/src/notify.c (modified) (13 diffs)
- 1.7.7/src/parse.c (modified) (5 diffs)
- 1.7.7/src/player.c (modified) (2 diffs)
- 1.7.7/src/predicat.c (modified) (2 diffs)
- 1.7.7/src/set.c (modified) (1 diff)
- 1.7.7/src/speech.c (modified) (9 diffs)
- 1.7.7/src/switchinc.c (modified) (1 diff)
- 1.7.7/src/timer.c (modified) (1 diff)
- 1.7.7/src/utils.c (modified) (2 diffs)
- 1.7.7/src/wiz.c (modified) (3 diffs)
- 1.7.7/test (added)
- 1.7.7/test/MUSHConnection.pm (added)
- 1.7.7/test/PennMUSH.pm (added)
- 1.7.7/test/TestHarness.pm (added)
- 1.7.7/test/testatree.pl (added)
- 1.7.7/test/testhastype.pl (added)
Legend:
- Unmodified
- Added
- Removed
- Modified
- Copied
- Moved
1.7.7/CHANGES.177
r437 r439 18 18 19 19 ========================================================================== 20 21 Version 1.7.7 patchlevel 20 September 4, 2003 22 23 Major Changes: 24 * minimal.db is no more. If you start up the server and there's no 25 db to be found, it creates a new minimal database in memory 26 on the fly. Feel free to delete your coopy of minimal.db. [SW] 27 (In related news, the default OSUCC on #0 in minimal.db is gone. 28 Suggested by Cheetah@M*U*S*H. So much for the mists.) 29 Minor Changes: 30 * SSL connections are now ended before the dump when rebooting, 31 but their descriptor information sticks around to ensure that 32 their @adisconnect is run after the reboot. Based on suggestions 33 by Vadiv@M*U*S*H and [TAP]. 34 * When _DEBUG is defined in a win32 build, don't copy pennmush.exe 35 to pennmush_run.exe. Makes debugging easier. Patch by Luke@M*U*S*H. 36 * In pueblo mode, no longer clear past images after each room look. 37 Patch by Konstantine Shirow. 38 * In pueblo mode, we no longer render ansi attributes or colors with 39 HTML tags; we assume the client will correctly handle them as ansi 40 intermixed with Pueblo. This solves a variety of problems. 41 Based on a discussion with Konstantine Shirow. 42 * When matching $commands and ^listens, insure that a matching attribute 43 exists before testing locks. This may break some strange locks using 44 %c, but hopefully won't. Suggested by Cheetah@M*U*S*H. 45 * The @scan command temporarily sets %c to the command to be scanned 46 (without "@scan" prefixed) so that it can detect commands that use 47 %c-matching. Based on ideas from Cheetah and Walker@M*U*S*H. 48 * Added support for Pueblo's md5 checksum. We track it on each 49 descriptor, though we don't do anything with it currently. 50 * Speed-up to fun_merge. Patch by Walker@M*U*S*H. 51 * Internal cleanup of flags in channel_broadcast. 52 * Wizards may @name themselves to names forbidden in names.cnf. 53 Patch by LeeLaLimaLLama@M*U*S*H. 54 * We are now forgiving of stupid non-RFC-compliant telnet clients 55 that send CR only even when they claim to be sending CRLF 56 (Read: MS Windows XP telnet). MS bug reported first by 57 Intrevis@M*U*S*H. 58 * Misleading restrict_command on @clone removed from restrict.cnf, 59 as @dig/@open/@create permissions already control @clone. 60 Suggested by Philip Mak. 61 Functions: 62 * lstats() and quota() now allow objects to see stats/quota on other 63 objects they control (e.g., on their owners, perhaps). Suggested 64 by Philip Mak. 65 * hastype() can now test for type GARBAGE. Suggested by Tanaku@M*U*S*H. 66 Commands: 67 * The new ']' command prefix causes the rest of the command-line 68 not to be evaluated by the expression parser. Try: ]think [add(1,1)] 69 Inspired by Elendor. 70 * @hook/ignore. [mux] 71 * @hook/override [Rhost, though they don't call it that] 72 Attributes: 73 * @debugforwardlist forwards DEBUG output to dbrefs on the list. 74 Suggested by Balerion@M*U*S*H. 75 Tests: 76 * A new test harness for developing regression test suites in perl 77 for PennMUSH is now included; few test suites are. If you can figure 78 out how to use this, write some tests for us! (If you can't, don't 79 ask about it, please :) 80 Locks: 81 * @lock/interact can prevent other players from transmitting any 82 normal sound to you (that is, you won't hear them speak, pose, 83 emit, etc., like gagging them in a client). It doesn't control 84 page (use @lock/page) or @mail (use @lock/mail). You still 85 hear 'presence' messages (connects/disconnects/arrivals/leaves) 86 so you can have a sense of who can hear you but you can't hear. 87 Patch by Philip Mak. 88 Fixes: 89 * Configure script no longer keeps adding -lssl -lcrypto over and 90 over to the Makefile. Report by Sholevi@M*U*S*H. 91 * Portability fixes for compiling with MSVC5 by Luke@M*U*S*H. 92 * The behavior of spaces inside parentheses that aren't part of a 93 function has been improved. Report by Jason Newquist. [TAP] 94 * txt/*.html files were being improperly escaped before being 95 sent to Pueblo connections. Report by Konstantine Shirow. 96 * mushdb.h includes flags.h, as it relies on constants from there. 97 Suggested by Philip Mak. 98 * Better error reporting on some failure messages in chunk allocator. 99 Patch by Philip Mak. 100 * @config/set with an invalid option now returns an error. 101 Report by Sholevi@M*U*S*H. 102 * Fix to interaction checking in notify_anything that could result 103 in the wrong check being performed. Report by Philip Mak. 104 * Help fixes by LeeLaLimaLLama@M*U*S*H, Sunny@M*U*S*H, Sketch@M*U*S*H. 105 20 106 21 107 Version 1.7.7 patchlevel 19 August 19, 2003 1.7.7/Configure
r425 r439 4736 4736 if $test $? -eq 0; then 4737 4737 d_openssl="$define" 4738 libs="$libs $libssl $libcrypto"4739 4738 echo '...and at least version 0.9.6. Great.' >&4 4740 4739 else 4741 4740 echo '...but not at least version 0.9.6.' >&4 4741 libssl='' 4742 libcrypto='' 4742 4743 fi 4743 4744 else 4744 4745 echo "You don't seem to have openssl." >&4 4746 libssl='' 4747 libcrypto='' 4745 4748 fi 4746 4749 $rm -f test_openssl* core 1.7.7/MANIFEST
r433 r439 170 170 game/names.cnf 171 171 game/restart 172 game/data/minimal.db173 172 game/log/README 174 173 game/save/README … … 232 231 win32/pennmush.sln 233 232 src/SWITCHES 233 test/MUSHConnection.pm 234 test/PennMUSH.pm 235 test/TestHarness.pm 236 test/testatree.pl 237 test/testhastype.pl 1.7.7/Makefile.SH
r433 r439 43 43 CCFLAGS=$optimize -I.. -I../hdrs $ccflags 44 44 LDFLAGS=$ldflags 45 CLIBS=$libs $cryptlib 45 CLIBS=$libs $cryptlib $libssl $libcrypto 46 46 LNS=$lns 47 47 INSTALL=$install 1.7.7/Patchlevel
r437 r439 1 1 Do not edit this file. It is maintained by the official PennMUSH patches. 2 This is PennMUSH 1.7.7p 192 This is PennMUSH 1.7.7p20 1.7.7/game/README
r355 r439 14 14 Under win32 using the Microsoft compiler, DO NOT rename mush.cnf. 15 15 Also, ignore the restart script. In the configuration file, turn off 16 disk database compression; it is not supported. If this is you first 17 time starting a MUSH and you don't have an indb file (or you want 18 to start a new MUSH), copy game/data/minimal.db to game/data/indb. 16 disk database compression; it is not supported. 19 17 Then go to the game directory and run PennMUSH.exe. Poof, you're done. 20 18 … … 26 24 a fairly standard Berkeley UNIX setup. If you're on a HP-UX or SysV 27 25 machine, for example, you may need to change the restart script a bit 28 (the ps options, for example). 26 (the ps options, for example). Then run it. 29 27 30 You should now be ready to start the game. This distribution comes 31 packaged with a basic database - a God character, starting room, and 32 master room. This file is called game/data/minimal.db. The restart 33 script will load this database if it doesn't find another database 34 to load. 28 You should now be ready to start the game. This distribution can 29 general a minimal database - a God character, starting room, and 30 master room. The server will generate this database if it doesn't 31 find another database to load. 35 32 36 If you're starting with the minimal .db, the god character "One" has no37 password, so you can log in without one. Of course, you should immediately 38 set one (via @newpasswd). options.h has the Master Room as #2 by default; 39 in the provideddatabase, this room is created for you.33 If you're starting with the minimal database, the god character "One" 34 has no password, so you can log in without one. Of course, you should 35 immediately set one (via @newpasswd). options.h has the Master Room as 36 #2 by default; in the minimal database, this room is created for you. 40 37 41 38 Now you should be set -- all you have to do now is customize the 1.7.7/game/restart
r429 r439 118 118 cp save/$INDB$SUFFIX.old data/$INDB$SUFFIX 119 119 else 120 echo "No save/$INDB$SUFFIX.old found." 121 if [ -r data/minimal.db ]; then 122 echo "Using data/minimal.db." 123 cat data/minimal.db | $COMPRESSOR > data/$INDB$SUFFIX 124 else 125 if [ -r data/minimal.db.Z ]; then 126 echo "Using data/minimal.db.Z." 127 zcat data/minimal.db.Z | $COMPRESSOR > data/$INDB$SUFFIX 128 else 129 echo "No minimal.db.Z found." 130 if [ -r data/minimal.db.gz ]; then 131 echo "Using data/minimal.db.gz." 132 gzip -d -c data/minimal.db.gz | $COMPRESSOR > data/$INDB$SUFFIX 133 else 134 echo "No minimal.db.gz found." 135 echo "I can't find any usable database." 136 fi 137 fi 138 fi 139 fi 120 echo "No database found. Mush will start with a minimal world." 121 fi 140 122 fi 141 123 fi 1.7.7/game/restrict.cnf
r433 r439 40 40 restrict_command @lock noguest 41 41 restrict_command @unlock noguest 42 restrict_command @clone noguest43 42 restrict_command @create noguest 44 43 restrict_command @dig noguest … … 58 57 #restrict_command @open admin builder 59 58 #restrict_command @dig admin builder 60 #restrict_command @clone admin builder61 59 62 60 # Uncomment to disallow them to create objects 1.7.7/game/txt/hlp/penncmd.hlp
r433 r439 9 9 score slay take teach think 10 10 unfollow use whisper WHO with 11 " : ; + 11 " : ; + ] 12 12 13 13 In addition to these, there are several types of '@' commands. @-commands … … 74 74 @wizmotd @wizwall cd ch cv 75 75 76 & ] 77 The "]" command-prefix instructs the MUSH that the rest of the command 78 input that follows should not be evaluated. Here's an example: 79 80 > say [add(1,1)] 81 You say, "2" 82 83 > say \[add(1,1)\] 84 You say, "[add(1,1)]" 85 86 > ]say [add(1,1)] 87 You say, "[add(1,1)]" 88 89 > ]"[add(1,1)] 90 You say, "[add(1,1)]" 91 92 This can be used to pass unevaluated MUSHcode to softcoded commands 93 without having to escape every special character, or to help objects 94 set attributes to contain unevaluated code. 95 76 96 & @@ 77 97 … … 1510 1530 in command evaluation. The possible points, indicated by the proper switch: 1511 1531 1512 @hook/before: The attribute is evaluated before the command itself is run. 1513 @hook/after: The attribute is evaluated after the command is run. 1532 @hook/ignore: The attribute is evaluated before the built-in command is run. 1533 If it returns a false value, the command is skipped 1534 (the input is still matched against softcoded commands) 1535 @hook/override: The object/attribute is matched for a $command, 1536 and if it matches, it is run instead of the built-in command, 1537 but with the precedence of the built-in command (thus 1538 overriding not only the built-in command but any local 1539 $commands that might match). If the match fails, normal 1540 built-in command processing continues. Note that all locks 1541 and flags on the object (HALT, etc.) still apply. 1542 @hook/before: The attribute is evaluated before the built-in command is run. 1543 @hook/after: The attribute is evaluated after the built-in command is run. 1514 1544 1515 1545 In all cases, %# is the dbref of the object doing the command, and all 1516 hooks share the same set of q-registers. The results of the evaluated 1517 attribute is thrown away like it was wrapped in a call of null(). Also, 1518 in cases where a command and function do the same thing (e.g., @pemit and 1519 pemit()), only the command gets the hooks. 1546 hooks share the same set of q-registers. With /before and /after, 1547 the results of the evaluated attribute is thrown away like it was 1548 wrapped in a call of null(). Also, in cases where a command and function 1549 do the same thing (e.g., @pemit and pemit()), only the command gets 1550 the hooks. 1520 1551 1521 1552 Leaving out the object and attribute clears an existing hook. Wizards can … … 1947 1978 @lock/dropto Who can trigger this container's drop-to. 1948 1979 @lock/destroy Who can destroy this object if it's DESTROY_OK 1980 @lock/interact Who can send sound (say/pose/emit/etc) to this object 1949 1981 1950 1982 See also: @lock, @lset, @clock, FAILURE … … 2629 2661 & @search2 2630 2662 If <class>=EXITS, OBJECTS, ROOMS, or PLAYERS, only objects of that type 2663 will be listed. 2631 2664 2632 2665 If <class>=FLAGS or LFLAGS, only objects with the list of flags 1.7.7/game/txt/hlp/pennflag.hlp
r433 r439 200 200 The DEBUG flag is used for debugging MUSHcode. It is meant to be used 201 201 in conjunction with the VERBOSE flag. If an object is set DEBUG, all 202 parser evaluation results will be shown to the object's owner , in the203 format:202 parser evaluation results will be shown to the object's owner and to 203 any dbrefs in the object's DEBUGFORWARDLIST, in the format: 204 204 205 205 #dbref! <string to evaluate> : … … 213 213 to pinpoint exactly which evaluation is going wrong. 214 214 215 Objects run under this flag are computationally expensive. 216 Avoid leaving it set on objects. It can also generate huge amounts of217 spamfrom the output.218 215 Objects run under this flag are computationally expensive. Avoid 216 leaving it set on objects. It can also generate huge amounts of spam 217 from the output. 218 219 219 See "help DEBUG2" for more. 220 220 & DEBUG2 1.7.7/game/txt/hlp/pennfunc.hlp
r433 r439 66 66 aposs() default() edefault() eval() filter() 67 67 filterbool() fold() foreach() get() grep() 68 grepi() lattr() obj() poss() regrep()69 regrep i() subj() udefault() ufun() uldefault()70 ul ocal() v-function xget() zfun()68 grepi() lattr() nattr() obj() poss() 69 regrep() regrepi() subj() udefault() ufun() 70 uldefault() ulocal() v-function xget() zfun() 71 71 72 72 See also: ATTRIBUTES, NON-STANDARD ATTRIBUTES … … 610 610 clock(<channel>[/<locktype>][, <new lock>]) 611 611 612 With one argument, returns the value of a lock on a channel. 613 If no locktype is given, "JOIN" is assumed. 614 With two arguments, sets the lock. 612 With one argument, returns the value of a lock on a channel, if you 613 own the channel or are See_All. If no locktype is given, "JOIN" 614 is assumed. 615 With two arguments, sets the lock if you would be able to do so via 616 @clock. 615 617 616 618 See also: @clock … … 1432 1434 1433 1435 Returns 1 if the object is of the named type, otherwise 0. 1434 Valid types are: ROOM, EXIT, PLAYER, THING .1435 If an invalid type is given, #-1 is returned.1436 Valid types are: ROOM, EXIT, PLAYER, THING, GARBAGE. 1437 If an invalid type is given, #-1 NO SUCH TYPE is returned. 1436 1438 & HIDDEN() 1437 1439 hidden(<player|descriptor>) … … 1691 1693 matching that pattern will be returned. 1692 1694 1695 See also: nattr() 1693 1696 & NATTR() 1694 1697 & ATTRCNT() … … 3165 3168 Function: starttime() 3166 3169 3167 Returns a string which is the time the MUSH first started up. The time 3168 is in the same format as the TIME() function returns. 3170 Returns a string containing the time the MUSH first started up (not 3171 including @shutdown/reboots). The time is in the same format that the 3172 TIME() function returns. 3169 3173 3170 3174 Example: 1.7.7/game/txt/hlp/pennv177.hlp
r437 r439 1 & 1.7.7p 191 & 1.7.7p20 2 2 & changes 3 3 This is a list of changes in this patchlevel which are probably of … … 12 12 be read in 'help patchlevels'. 13 13 14 Version 1.7.7 patchlevel 20 September 4, 2003 15 16 Major Changes: 17 * minimal.db is no more. If you start up the server and there's no 18 db to be found, it creates a new minimal database in memory 19 on the fly. Feel free to delete your coopy of minimal.db. [SW] 20 (In related news, the default OSUCC on #0 in minimal.db is gone. 21 Suggested by Cheetah@M*U*S*H. So much for the mists.) 22 Minor Changes: 23 * SSL connections are now ended before the dump when rebooting, 24 but their descriptor information sticks around to ensure that 25 their @adisconnect is run after the reboot. Based on suggestions 26 by Vadiv@M*U*S*H and [TAP]. 27 * When _DEBUG is defined in a win32 build, don't copy pennmush.exe 28 to pennmush_run.exe. Makes debugging easier. Patch by Luke@M*U*S*H. 29 * In pueblo mode, no longer clear past images after each room look. 30 Patch by Konstantine Shirow. 31 * In pueblo mode, we no longer render ansi attributes or colors with 32 HTML tags; we assume the client will correctly handle them as ansi 33 intermixed with Pueblo. This solves a variety of problems. 34 Based on a discussion with Konstantine Shirow. 35 * When matching $commands and ^listens, insure that a matching attribute 36 exists before testing locks. This may break some strange locks using 37 %c, but hopefully won't. Suggested by Cheetah@M*U*S*H. 38 * The @scan command temporarily sets %c to the command to be scanned 39 (without "@scan" prefixed) so that it can detect commands that use 40 %c-matching. Based on ideas from Cheetah and Walker@M*U*S*H. 41 * Added support for Pueblo's md5 checksum. We track it on each 42 descriptor, though we don't do anything with it currently. 43 * Speed-up to fun_merge. Patch by Walker@M*U*S*H. 44 * Internal cleanup of flags in channel_broadcast. 45 * Wizards may @name themselves to names forbidden in names.cnf. 46 Patch by LeeLaLimaLLama@M*U*S*H. 47 * We are now forgiving of stupid non-RFC-compliant telnet clients 48 that send CR only even when they claim to be sending CRLF 49 (Read: MS Windows XP telnet). MS bug reported first by 50 Intrevis@M*U*S*H. 51 * Misleading restrict_command on @clone removed from restrict.cnf, 52 as @dig/@open/@create permissions already control @clone. 53 Suggested by Philip Mak. 54 Functions: 55 * lstats() and quota() now allow objects to see stats/quota on other 56 objects they control (e.g., on their owners, perhaps). Suggested 57 by Philip Mak. 58 * hastype() can now test for type GARBAGE. Suggested by Tanaku@M*U*S*H. 59 Commands: 60 * The new ']' command prefix causes the rest of the command-line 61 not to be evaluated by the expression parser. Try: ]think [add(1,1)] 62 Inspired by Elendor. 63 * @hook/ignore. [mux] 64 * @hook/override [Rhost, though they don't call it that] 65 Attributes: 66 * @debugforwardlist forwards DEBUG output to dbrefs on the list. 67 Suggested by Balerion@M*U*S*H. 68 Tests: 69 * A new test harness for developing regression test suites in perl 70 for PennMUSH is now included; few test suites are. If you can figure 71 out how to use this, write some tests for us! (If you can't, don't 72 ask about it, please :) 73 Locks: 74 * @lock/interact can prevent other players from transmitting any 75 normal sound to you (that is, you won't hear them speak, pose, 76 emit, etc., like gagging them in a client). It doesn't control 77 page (use @lock/page) or @mail (use @lock/mail). You still 78 hear 'presence' messages (connects/disconnects/arrivals/leaves) 79 so you can have a sense of who can hear you but you can't hear. 80 Patch by Philip Mak. 81 Fixes: 82 * Configure script no longer keeps adding -lssl -lcrypto over and 83 over to the Makefile. Report by Sholevi@M*U*S*H. 84 * Portability fixes for compiling with MSVC5 by Luke@M*U*S*H. 85 * The behavior of spaces inside parentheses that aren't part of a 86 function has been improved. Report by Jason Newquist. [TAP] 87 * txt/*.html files were being improperly escaped before being 88 sent to Pueblo connections. Report by Konstantine Shirow. 89 * mushdb.h includes flags.h, as it relies on constants from there. 90 Suggested by Philip Mak. 91 * Better error reporting on some failure messages in chunk allocator. 92 Patch by Philip Mak. 93 * @config/set with an invalid option now returns an error. 94 Report by Sholevi@M*U*S*H. 95 * Fix to interaction checking in notify_anything that could result 96 in the wrong check being performed. Report by Philip Mak. 97 * Help fixes by LeeLaLimaLLama@M*U*S*H, Sunny@M*U*S*H, Sketch@M*U*S*H. 98 99 100 & 1.7.7p19 14 101 Version 1.7.7 patchlevel 19 August 19, 2003 15 102 1.7.7/game/txt/hlp/pennvOLD.hlp
r437 r439 4418 4418 type 'help <version>p<patchlevel>'. For example, 'help 1.7.2p3' 4419 4419 4420 1.7.7: 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19 4420 1.7.7: 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 4421 19, 20 4421 4422 1.7.6: 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13 4422 4423 1.7.5: 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12 1.7.7/hdrs/atr_tab.h
r427 r439 50 50 {"COST", AF_NOPROG | AF_PREFIXMATCH, NULL_CHUNK_REFERENCE, 0, NULL}, 51 51 {"DEATH", AF_NOPROG | AF_PREFIXMATCH, NULL_CHUNK_REFERENCE, 0, NULL}, 52 {"DEBUGFORWARDLIST", AF_NOPROG | AF_PRIVATE | AF_PREFIXMATCH, 53 NULL_CHUNK_REFERENCE, 54 0, NULL}, 52 55 {"DESCFORMAT", AF_NOPROG | AF_PREFIXMATCH, NULL_CHUNK_REFERENCE, 0, NULL}, 53 56 {"DESCRIBE", AF_VISUAL | AF_NOPROG | AF_PREFIXMATCH, NULL_CHUNK_REFERENCE, 0, … … 68 71 NULL_CHUNK_REFERENCE, 0 | AF_PREFIXMATCH, NULL}, 69 72 {"FORWARDLIST", AF_NOPROG | AF_PRIVATE | AF_PREFIXMATCH, NULL_CHUNK_REFERENCE, 70 0, 71 NULL}, 73 0, NULL}, 72 74 {"GIVE", AF_NOPROG | AF_PREFIXMATCH, NULL_CHUNK_REFERENCE, 0, NULL}, 73 75 {"HAVEN", AF_NOPROG | AF_PREFIXMATCH, NULL_CHUNK_REFERENCE, 0, NULL}, 1.7.7/hdrs/attrib.h
r433 r439 51 51 char const *str, int just_match, char *atrname, 52 52 char **abp); 53 extern int do_set_atr 54 (dbref thing, char const *RESTRICT atr, char const *RESTRICT s, dbref player, 55 int flags); 53 extern int one_comm_match(dbref thing, dbref player, const char *atr, 54 const char *str); 55 extern int do_set_atr(dbref thing, char const *RESTRICT atr, 56 char const *RESTRICT s, dbref player, int flags); 56 57 extern void do_atrlock(dbref player, char const *arg1, char const *arg2); 57 58 extern void do_atrchown(dbref player, char const *arg1, char const *arg2); 1.7.7/hdrs/command.h
r433 r439 146 146 struct hook_data before; /**< Hook to evaluate before command */ 147 147 struct hook_data after; /**< Hook to evaluate after command */ 148 struct hook_data ignore; /**< Hook to evaluate to decide if we should ignore hardcoded command */ 149 struct hook_data override; /**< Hook to override command with $command */ 148 150 } hooks; 149 151 }; 1.7.7/hdrs/conf.h
r433 r439 34 34 #define EMIT_TOKEN '\\' 35 35 #define CHAT_TOKEN '+' 36 #define NOEVAL_TOKEN ']' 36 37 37 38 /* delimiter for lists of exit aliases */ … … 52 53 53 54 /* These CAN be modified, but it's heavily NOT suggested */ 54 #define PUEBLO_SEND "</xch_mudtext><img xch_mode=purehtml><xch_page clear=text> <body bgcolor=#000000 fgcolor=#C0C0C0>\n"55 #define PUEBLO_HELLO "This world is Pueblo 1.10 Enhanced.\r\n"55 #define PUEBLO_SEND "</xch_mudtext><img xch_mode=purehtml><xch_page clear=text>\n" 56 #define PUEBLO_HELLO "This world is Pueblo 2.50 Enhanced.\r\n" 56 57 57 58 1.7.7/hdrs/dbdefs.h
r433 r439 95 95 #define Terse(x) (IS(Owner(x), TYPE_PLAYER, "TERSE") || IS(x, TYPE_THING, "TERSE")) 96 96 #define Myopic(x) (IS(Owner(x), TYPE_PLAYER, "MYOPIC")) 97 #define Nospoof(x) (IS(Owner(x), TYPE_PLAYER, "NOSPOOF"))98 #define Paranoid(x) (IS(Owner(x), TYPE_PLAYER, "PARANOID"))97 #define Nospoof(x) (IS(Owner(x),TYPE_PLAYER,"NOSPOOF") || has_flag_by_name(x,"NOSPOOF",NOTYPE)) 98 #define Paranoid(x) (IS(Owner(x),TYPE_PLAYER,"PARANOID") || has_flag_by_name(x,"PARANOID",NOTYPE)) 99 99 #define Gagged(x) (IS(Owner(x), TYPE_PLAYER, "GAGGED")) 100 100 #define ShowAnsi(x) (IS(Owner(x), TYPE_PLAYER, "ANSI")) 1.7.7/hdrs/extchat.h
r433 r439 64 64 #define CU_GAG 0x4 /* Do not hear any messages */ 65 65 #define CU_DEFAULT_FLAGS 0x0 66 67 /* channel_broadcast flags */ 68 #define CB_CHECKQUIET 0x1 /* Check for quiet flag on recipients */ 69 #define CB_NOSPOOF 0x2 /* Use nospoof emits */ 70 #define CB_PRESENCE 0x4 /* This is a presence message, not sound */ 66 71 67 72 #define CUdbref(u) ((u)->who) 1.7.7/hdrs/externs.h
r435 r439 51 51 52 52 extern void raw_notify(dbref player, const char *msg); 53 extern void notify_list(dbref speaker, dbref thing, const char *atr, 54 const char *msg, int flags); 53 55 extern dbref short_page(const char *match); 54 56 extern dbref visible_short_page(dbref player, const char *match); … … 100 102 #define NA_INTER_SEE 0x0400 /* Message is visual in nature */ 101 103 #define NA_INTER_PRESENCE 0x0800 /* Message is about presence */ 104 #define NA_NOSPOOF 0x1000 /* Message comes via a NO_SPOOF object. */ 105 #define NA_PARANOID 0x2000 /* Message comes via a PARANOID object. */ 106 #define NA_NOPREFIX 0x4000 /* Don't use @prefix when forwarding */ 102 107 #define NA_INTERACTION (NA_INTER_HEAR|NA_INTER_SEE|NA_INTER_PRESENCE) /* Message follows interaction rules */ 103 108 … … 266 271 extern int ok_name(const char *name); 267 272 extern int ok_command_name(const char *name); 268 extern int ok_player_name(const char *name );273 extern int ok_player_name(const char *name, dbref player); 269 274 extern int ok_password(const char *password); 270 275 extern dbref parse_match_possessive(dbref player, const char *str); 1.7.7/hdrs/game.h
r435 r439 38 38 extern void do_restart(void); 39 39 extern void do_restart_com(dbref player, const char *arg1); 40 41 /* From command.c */ 42 enum hook_type { HOOK_BEFORE, HOOK_AFTER, HOOK_IGNORE, HOOK_OVERRIDE }; 43 extern void do_hook(dbref player, char *command, char *obj, char *attrname, 44 enum hook_type flag); 45 40 46 41 47 /* From compress.c */ 1.7.7/hdrs/lock.h
r433 r439 103 103 extern const lock_type Dropto_Lock; /* Who follows the dropto of this room? */ 104 104 extern const lock_type Destroy_Lock; /* Who can @dest me if I'm dest_ok? */ 105 extern const lock_type Interact_Lock; 105 106 /* Declare new lock types here! */ 106 107 1.7.7/hdrs/mushdb.h
r433 r439 7 7 8 8 /* Power macros */ 9 #include "flags.h" 9 10 10 11 #define Builder(x) (command_check_byname(x, "@dig")) … … 158 159 #define RDBF_SCREENSIZE 0x01 159 160 #define RDBF_TTYPE 0x02 161 #define RDBF_PUEBLO_CHECKSUM 0x04 160 162 161 163 #endif /* __DB_H */ 1.7.7/hdrs/mushtype.h
r433 r439 77 77 /* Descriptor foo */ 78 78 #define DOING_LEN 40 79 /** Pueblo checksum length. 80 * Pueblo uses md5 now, but if they switch to sha1, this will still 81 * be safe. 82 */ 83 #define PUEBLO_CHECKSUM_LEN 40 79 84 typedef struct descriptor_data DESC; 80 85 /** A player descriptor's data. … … 126 131 int ssl_state; /**< Keep track of state of SSL object */ 127 132 #endif 133 char checksum[PUEBLO_CHECKSUM_LEN + 1]; /**< Pueblo checksum */ 128 134 }; 129 135 1.7.7/hdrs/switches.h
r429 r439 56 56 #define SWITCH_HERE 55 57 57 #define SWITCH_HIDE 56 58 #define SWITCH_ILIST 57 59 #define SWITCH_INVENTORY 58 60 #define SWITCH_IPRINT 59 61 #define SWITCH_JOIN 60 62 #define SWITCH_LIST 61 63 #define SWITCH_LOWERCASE 62 64 #define SWITCH_ME 63 65 #define SWITCH_MEMBERS 64 66 #define SWITCH_MOD 65 67 #define SWITCH_MORTAL 66 68 #define SWITCH_MOTD 67 69 #define SWITCH_MUTE 68 70 #define SWITCH_NAME 69 71 #define SWITCH_NO 70 72 #define SWITCH_NOEVAL 71 73 #define SWITCH_NOFLAGCOPY 72 74 #define SWITCH_NOISY 73 75 #define SWITCH_NOSIG 74 76 #define SWITCH_NOSPACE 75 77 #define SWITCH_NOTIFY 76 78 #define SWITCH_NUKE 77 79 #define SWITCH_OFF 78 80 #define SWITCH_ON 79 81 #define SWITCH_OUTSIDE 80 82 #define SWITCH_OVERRIDE 81 83 #define SWITCH_PAGING 82 84 #define SWITCH_PANIC 83 85 #define SWITCH_PARANOID 84 86 #define SWITCH_PLAYERS 85 87 #define SWITCH_PORT 86 88 #define SWITCH_PRESERVE 87 89 #define SWITCH_PRINT 88 90 #define SWITCH_PRIVS 89 91 #define SWITCH_PURGE 90 92 #define SWITCH_QUICK 91 93 #define SWITCH_QUIET 92 94 #define SWITCH_READ 93 95 #define SWITCH_REBOOT 94 96 #define SWITCH_RECALL 95 97 #define SWITCH_REGIONS 96 98 #define SWITCH_REGISTER 97 99 #define SWITCH_REMOVE 98 100 #define SWITCH_RENAME 99 101 #define SWITCH_RESTORE 100 102 #define SWITCH_RESTRICT 101 103 #define SWITCH_RETROACTIVE 102 104 #define SWITCH_ROOM 103 105 #define SWITCH_ROOMS 104 106 #define SWITCH_SEE 105 107 #define SWITCH_SEEFLAG 106 108 #define SWITCH_SELF 107 109 #define SWITCH_SEND 108 110 #define SWITCH_SET 109 111 #define SWITCH_SILENT 110 112 #define SWITCH_SKIPDEFAULTS 111 113 #define SWITCH_SPEAK 112 114 #define SWITCH_STATS 113 115 #define SWITCH_SUMMARY 114 116 #define SWITCH_TABLES 115 117 #define SWITCH_TAG 116 118 #define SWITCH_TELEPORT 117 119 #define SWITCH_TF 118 120 #define SWITCH_THINGS 119 121 #define SWITCH_TITLE 120 122 #define SWITCH_TRACE 121 123 #define SWITCH_UNCLEAR 122 124 #define SWITCH_UNFOLDER 123 125 #define SWITCH_UNGAG 124 126 #define SWITCH_UNHIDE 125 127 #define SWITCH_UNMUTE 126 128 #define SWITCH_UNTAG 127 129 #define SWITCH_UNTIL 128 130 #define SWITCH_URGENT 129 131 #define SWITCH_USEFLAG 130 132 #define SWITCH_WHAT 131 133 #define SWITCH_WHO 132 134 #define SWITCH_WIPE 133 135 #define SWITCH_WIZ 134 136 #define SWITCH_WIZARD 135 137 #define SWITCH_YES 136 138 #define SWITCH_ZONE 137 58 #define SWITCH_IGNORE 57 59 #define SWITCH_ILIST 58 60 #define SWITCH_INVENTORY 59 61 #define SWITCH_IPRINT 60 62 #define SWITCH_JOIN 61 63 #define SWITCH_LIST 62 64 #define SWITCH_LOWERCASE 63 65 #define SWITCH_ME 64 66 #define SWITCH_MEMBERS 65 67 #define SWITCH_MOD 66 68 #define SWITCH_MORTAL 67 69 #define SWITCH_MOTD 68 70 #define SWITCH_MUTE 69 71 #define SWITCH_NAME 70 72 #define SWITCH_NO 71 73 #define SWITCH_NOEVAL 72 74 #define SWITCH_NOFLAGCOPY 73 75 #define SWITCH_NOISY 74 76 #define SWITCH_NOSIG 75 77 #define SWITCH_NOSPACE 76 78 #define SWITCH_NOTIFY 77 79 #define SWITCH_NUKE 78 80 #define SWITCH_OFF 79 81 #define SWITCH_ON 80 82 #define SWITCH_OUTSIDE 81 83 #define SWITCH_OVERRIDE 82 84 #define SWITCH_PAGING 83 85 #define SWITCH_PANIC 84 86 #define SWITCH_PARANOID 85 87 #define SWITCH_PLAYERS 86 88 #define SWITCH_PORT 87 89 #define SWITCH_PRESERVE 88 90 #define SWITCH_PRINT 89 91 #define SWITCH_PRIVS 90 92 #define SWITCH_PURGE 91 93 #define SWITCH_QUICK 92 94 #define SWITCH_QUIET 93 95 #define SWITCH_READ 94 96 #define SWITCH_REBOOT 95 97 #define SWITCH_RECALL 96 98 #define SWITCH_REGIONS 97 99 #define SWITCH_REGISTER 98 100 #define SWITCH_REMOVE 99 101 #define SWITCH_RENAME 100 102 #define SWITCH_RESTORE 101 103 #define SWITCH_RESTRICT 102 104 #define SWITCH_RETROACTIVE 103 105 #define SWITCH_ROOM 104 106 #define SWITCH_ROOMS 105 107 #define SWITCH_SEE 106 108 #define SWITCH_SEEFLAG 107 109 #define SWITCH_SELF 108 110 #define SWITCH_SEND 109 111 #define SWITCH_SET 110 112 #define SWITCH_SILENT 111 113 #define SWITCH_SKIPDEFAULTS 112 114 #define SWITCH_SPEAK 113 115 #define SWITCH_STATS 114 116 #define SWITCH_SUMMARY 115 117 #define SWITCH_TABLES 116 118 #define SWITCH_TAG 117 119 #define SWITCH_TELEPORT 118 120 #define SWITCH_TF 119 121 #define SWITCH_THINGS 120 122 #define SWITCH_TITLE 121 123 #define SWITCH_TRACE 122 124 #define SWITCH_UNCLEAR 123 125 #define SWITCH_UNFOLDER 124 126 #define SWITCH_UNGAG 125 127 #define SWITCH_UNHIDE 126 128 #define SWITCH_UNMUTE 127 129 #define SWITCH_UNTAG 128 130 #define SWITCH_UNTIL 129 131 #define SWITCH_URGENT 130 132 #define SWITCH_USEFLAG 131 133 #define SWITCH_WHAT 132 134 #define SWITCH_WHO 133 135 #define SWITCH_WIPE 134 136 #define SWITCH_WIZ 135 137 #define SWITCH_WIZARD 136 138 #define SWITCH_YES 137 139 #define SWITCH_ZONE 138 1.7.7/hdrs/version.h
r437 r439 1 #define VERSION "PennMUSH version 1.7.7 patchlevel 19 [08/19/2003]"2 #define SHORTVN "PennMUSH 1.7.7p 19"3 #define NUMVERSION 0010070070 191 #define VERSION "PennMUSH version 1.7.7 patchlevel 20 [09/04/2003]" 2 #define SHORTVN "PennMUSH 1.7.7p20" 3 #define NUMVERSION 001007007020 1.7.7/src/SWITCHES
r427 r439 55 55 HERE 56 56 HIDE 57 IGNORE 57 58 ILIST 58 59 INVENTORY 1.7.7/src/attrib.c
r435 r439 698 698 /* check for lots of easy ways out */ 699 699 if ((type != '$' && type != '^') || !GoodObject(thing) || Halted(thing) 700 || (type == '$' 701 && (NoCommand(thing) || !eval_lock(player, thing, Command_Lock))) 702 || (type == '^' && !eval_lock(player, thing, Listen_Lock)) 703 || !eval_lock(player, thing, Use_Lock)) 700 || (type == '$' && NoCommand(thing))) 704 701 return 0; 705 702 … … 759 756 } 760 757 if (match_found) { 758 if ((type == '$' && !eval_lock(player, thing, Command_Lock)) 759 || (type == '^' && !eval_lock(player, thing, Listen_Lock)) 760 || !eval_lock(player, thing, Use_Lock)) { 761 match--; 762 continue; 763 } 761 764 if (atrname && abp) { 762 765 safe_chr(' ', atrname, abp); … … 818 821 } 819 822 if (match_found) { 823 if ((type == '$' && !eval
