This is patch06 to PennMUSH 1.7.2. After applying this patch, you will have version 1.7.2p6. To apply this patch, save it to a file in your top-level MUSH directory, and do the following: patch -p0 < 1.7.2-patch06 make If you use GNU patch 2.2, you probably want the above to be 'patch -b -p0', not just 'patch -p0'. Then @shutdown and restart your MUSH. In this patch: * Important bugfix to @zemit * A few other minor fixes - Alan/Javelin Index: Patchlevel Prereq: 1.7.2p5 *** Patchlevel.orig Wed, 04 Mar 1998 10:11:19 -0600 dunemush (pennmush/h/12_Patchlevel 1.6 640) 0.21 --- Patchlevel Sun, 08 Mar 1998 11:02:43 -0600 dunemush (pennmush/h/12_Patchlevel 1.6 640) 0.21(w) *************** *** 1,2 **** Do not edit this file. It is maintained by the official PennMUSH patches. ! This is PennMUSH 1.7.2p5 --- 1,2 ---- Do not edit this file. It is maintained by the official PennMUSH patches. ! This is PennMUSH 1.7.2p6 Index: CHANGES *** CHANGES.orig Wed, 04 Mar 1998 10:11:19 -0600 dunemush (pennmush/h/9_CHANGES 1.10 640) 0.21 --- CHANGES Sun, 08 Mar 1998 11:03:05 -0600 dunemush (pennmush/h/9_CHANGES 1.10 640) 0.21(w) *************** *** 15,20 **** --- 15,32 ---- ========================================================================== + Version 1.7.2 patchlevel 6 March 8, 1998 + + Fixes: + * src/mymalloc.c now includes config.h correctly. [NJG] + * @zemit would change zones of objects while running. + Report by Steve Sanderlin and Vedui. + * Minor cosmetic bug in @config/list. Reported by Mike Wesson + * @chown'ing an object to a Zone player doesn't reduce the Zone + player's quota, but @chown'ing an object back from a Zone player + should reduce yours (and didn't). Report by Vedui. + + Version 1.7.2 patchlevel 5 March 2, 1998 Fixes: Index: hdrs/dbdefs.h *** hdrs/dbdefs.h.orig Fri, 13 Feb 1998 14:31:28 -0600 dunemush (pennmush/d/51_dbdefs.h 1.1 640) 0.21 --- hdrs/dbdefs.h Sun, 08 Mar 1998 10:27:19 -0600 dunemush (pennmush/d/51_dbdefs.h 1.1 640) 0.21(w) *************** *** 49,57 **** #define Toggles(x) (db[(x)].toggles) #define Owner(x) (db[(x)].owner) - #define getloc(thing) (db[thing].location) - #define getzone(thing) (db[thing].zone) - #define Location(x) (db[(x)].location) #define Zone(x) (db[(x)].zone) --- 49,54 ---- Index: hdrs/version.h *** hdrs/version.h.orig Wed, 04 Mar 1998 10:11:19 -0600 dunemush (pennmush/e/22_version.h 1.6 640) 0.21 --- hdrs/version.h Sun, 08 Mar 1998 11:02:04 -0600 dunemush (pennmush/e/22_version.h 1.6 640) 0.21(w) *************** *** 1,2 **** ! #define VERSION "PennMUSH version 1.7.2 patchlevel 5 [3/2/98]" ! #define SHORTVN "PennMUSH 1.7.2p5" --- 1,2 ---- ! #define VERSION "PennMUSH version 1.7.2 patchlevel 6 [3/8/98]" ! #define SHORTVN "PennMUSH 1.7.2p6" Index: src/bsd.c *** src/bsd.c.orig Wed, 04 Mar 1998 10:11:19 -0600 dunemush (pennmush/e/30_bsd.c 1.6 640) 0.21 --- src/bsd.c Sun, 08 Mar 1998 10:29:06 -0600 dunemush (pennmush/e/30_bsd.c 1.6 640) 0.21(w) *************** *** 3388,3394 **** } #endif /* CHAT_SYSTEM */ ! loc = getloc(player); if (!GoodObject(loc)) { notify(player, "You are nowhere!"); return; --- 3388,3394 ---- } #endif /* CHAT_SYSTEM */ ! loc = Location(player); if (!GoodObject(loc)) { notify(player, "You are nowhere!"); return; *************** *** 3435,3441 **** } if (GLOBAL_CONNECTS) { /* do the zone of the player's location's possible aconnect */ ! if ((zone = getzone(loc)) != NOTHING) { switch (Typeof(zone)) { case TYPE_THING: temp = atr_get(zone, "ACONNECT"); --- 3435,3441 ---- } if (GLOBAL_CONNECTS) { /* do the zone of the player's location's possible aconnect */ ! if ((zone = Zone(loc)) != NOTHING) { switch (Typeof(zone)) { case TYPE_THING: temp = atr_get(zone, "ACONNECT"); *************** *** 3499,3505 **** p = ctime(&tt); p[strlen(p) - 1] = 0; ! loc = getloc(player); if (!GoodObject(loc)) return; --- 3499,3505 ---- p = ctime(&tt); p[strlen(p) - 1] = 0; ! loc = Location(player); if (!GoodObject(loc)) return; *************** *** 3544,3550 **** } if (GLOBAL_CONNECTS) { /* do the zone of the player's location's possible adisconnect */ ! if ((zone = getzone(loc)) != NOTHING) { switch (Typeof(zone)) { case TYPE_THING: temp = atr_get(zone, "ADISCONNECT"); --- 3544,3550 ---- } if (GLOBAL_CONNECTS) { /* do the zone of the player's location's possible adisconnect */ ! if ((zone = Zone(loc)) != NOTHING) { switch (Typeof(zone)) { case TYPE_THING: temp = atr_get(zone, "ADISCONNECT"); Index: src/conf.c *** src/conf.c.orig Wed, 18 Feb 1998 19:11:27 -0600 dunemush (pennmush/e/37_conf.c 1.2 640) 0.21 --- src/conf.c Thu, 05 Mar 1998 09:31:24 -0600 dunemush (pennmush/e/37_conf.c 1.2 640) 0.21(w) *************** *** 829,835 **** #ifdef USE_WARNINGS notify(player, " The MUSH building warning system is enabled."); if (options.warn_interval) ! notify(player, tprintf("Warnings will be automatically given every %d minutes", options.warn_interval / 60)); else notify(player, " Warnings will not be automatically given."); --- 829,835 ---- #ifdef USE_WARNINGS notify(player, " The MUSH building warning system is enabled."); if (options.warn_interval) ! notify(player, tprintf(" Warnings will be automatically given every %d minutes", options.warn_interval / 60)); else notify(player, " Warnings will not be automatically given."); Index: src/mymalloc.c *** src/mymalloc.c.orig Fri, 13 Feb 1998 14:32:30 -0600 dunemush (pennmush/f/20_mymalloc.c 1.1 640) 0.21 --- src/mymalloc.c Sun, 08 Mar 1998 10:31:51 -0600 dunemush (pennmush/f/20_mymalloc.c 1.1 640) 0.21(w) *************** *** 1,7 **** --- 1,10 ---- /* A wrapper for the various malloc package options. See options.h * for descriptions of each */ + #include "config.h" + #include "conf.h" #include "mymalloc.h" + #include "confmagic.h" #if (MALLOC_PACKAGE == 1) #include "csrimalloc.c" Index: src/parse.c *** src/parse.c.orig Fri, 13 Feb 1998 14:32:30 -0600 dunemush (pennmush/f/22_parse.c 1.1 640) 0.21 --- src/parse.c Sun, 08 Mar 1998 10:29:10 -0600 dunemush (pennmush/f/22_parse.c 1.1 640) 0.21(w) *************** *** 431,437 **** case 'l': /* enactor location dbref */ /* The security implications of this have * already been talked to death. Deal. */ ! safe_str(unparse_dbref(getloc(enactor)), buff, bp); break; case 'N': case 'n': /* enactor name */ --- 431,437 ---- case 'l': /* enactor location dbref */ /* The security implications of this have * already been talked to death. Deal. */ ! safe_str(unparse_dbref(Location(enactor)), buff, bp); break; case 'N': case 'n': /* enactor name */ Index: src/predicat.c *** src/predicat.c.orig Fri, 13 Feb 1998 14:32:30 -0600 dunemush (pennmush/f/26_predicat.c 1.1 640) 0.21 --- src/predicat.c Sun, 08 Mar 1998 10:29:15 -0600 dunemush (pennmush/f/26_predicat.c 1.1 640) 0.21(w) *************** *** 866,872 **** did_it(actor, victim, upcasestr(argv[2]), argv[3], upcasestr(argv[4]), argv[5], ! NULL, getloc(actor)); /* Now we copy our args into the stack, and do the command. */ --- 866,872 ---- did_it(actor, victim, upcasestr(argv[2]), argv[3], upcasestr(argv[4]), argv[5], ! NULL, Location(actor)); /* Now we copy our args into the stack, and do the command. */ Index: src/set.c *** src/set.c.orig Fri, 13 Feb 1998 14:32:30 -0600 dunemush (pennmush/f/32_set.c 1.1 640) 0.21 --- src/set.c Fri, 06 Mar 1998 20:34:11 -0600 dunemush (pennmush/f/32_set.c 1.1 640) 0.21(w) *************** *** 232,239 **** notify(player, "Permission denied."); return; } ! /* chowns on the zone master don't count towards fees */ ! if (!ZMaster(owner) && !ZMaster(Owner(thing))) { if (!can_pay_fees(player, OBJECT_DEPOSIT(Pennies(thing)))) /* not enough money or quota */ return; giveto(Owner(thing), OBJECT_DEPOSIT(Pennies(thing))); --- 232,239 ---- notify(player, "Permission denied."); return; } ! /* chowns to the zone master don't count towards fees */ ! if (!ZMaster(owner)) { if (!can_pay_fees(player, OBJECT_DEPOSIT(Pennies(thing)))) /* not enough money or quota */ return; giveto(Owner(thing), OBJECT_DEPOSIT(Pennies(thing))); Index: src/speech.c *** src/speech.c.orig Fri, 13 Feb 1998 14:32:30 -0600 dunemush (pennmush/f/34_speech.c 1.1 640) 0.21 --- src/speech.c Sun, 08 Mar 1998 10:26:28 -0600 dunemush (pennmush/f/34_speech.c 1.1 640) 0.21(w) *************** *** 1408,1414 **** do { if (this == NOTHING) { for (room = dbrefs[1]; room < db_top; room++) { ! if ((Typeof(room) == TYPE_ROOM) && (getzone(room) = dbrefs[2]) #ifdef SPEECH_LOCK && (Hasprivs(dbrefs[3]) || eval_lock(dbrefs[3], room, Speech_Lock)) #endif --- 1408,1414 ---- do { if (this == NOTHING) { for (room = dbrefs[1]; room < db_top; room++) { ! if ((Typeof(room) == TYPE_ROOM) && (Zone(room) == dbrefs[2]) #ifdef SPEECH_LOCK && (Hasprivs(dbrefs[3]) || eval_lock(dbrefs[3], room, Speech_Lock)) #endif Index: src/wiz.c *** src/wiz.c.orig Tue, 17 Feb 1998 11:08:18 -0600 dunemush (pennmush/f/46_wiz.c 1.4 640) 0.21 --- src/wiz.c Sun, 08 Mar 1998 10:29:23 -0600 dunemush (pennmush/f/46_wiz.c 1.4 640) 0.21(w) *************** *** 514,520 **** } if (Typeof(destination) != TYPE_EXIT) { ! if (tport_control_ok(player, victim, getloc(victim)) && tport_dest_ok(player, victim, destination) #ifdef FIXED_FLAG && (Tel_Anything(player) || --- 514,520 ---- } if (Typeof(destination) != TYPE_EXIT) { ! if (tport_control_ok(player, victim, Location(victim)) && tport_dest_ok(player, victim, destination) #ifdef FIXED_FLAG && (Tel_Anything(player) || *************** *** 537,543 **** } /* we can't do it */ did_it(player, destination, "EFAIL", "Permission denied.", ! "OEFAIL", NULL, "AEFAIL", getloc(player)); return; } else { /* attempted teleport to an exit */ --- 537,543 ---- } /* we can't do it */ did_it(player, destination, "EFAIL", "Permission denied.", ! "OEFAIL", NULL, "AEFAIL", Location(player)); return; } else { /* attempted teleport to an exit */ *************** *** 1595,1601 **** (restrict_parent != Parent(thing))) continue; if ((restrict_zone != NOTHING) && ! (restrict_zone != getzone(thing))) continue; } else { ebuf1 = replace_string("##", tprintf("#%d", thing), arg3[1]); --- 1595,1601 ---- (restrict_parent != Parent(thing))) continue; if ((restrict_zone != NOTHING) && ! (restrict_zone != Zone(thing))) continue; } else { ebuf1 = replace_string("##", tprintf("#%d", thing), arg3[1]); *************** *** 1951,1957 **** (restrict_parent != Parent(thing))) continue; if ((restrict_zone != NOTHING) && ! (restrict_zone != getzone(thing))) continue; } else { ebuf1 = replace_string("##", tprintf("#%d", thing), res); --- 1951,1957 ---- (restrict_parent != Parent(thing))) continue; if ((restrict_zone != NOTHING) && ! (restrict_zone != Zone(thing))) continue; } else { ebuf1 = replace_string("##", tprintf("#%d", thing), res); Index: game/txt/hlp/pennvers.hlp *** game/txt/hlp/pennvers.hlp.orig Wed, 04 Mar 1998 10:11:19 -0600 dunemush (pennmush/h/5_pennvers.h 1.6 640) 0.21 --- game/txt/hlp/pennvers.hlp Sun, 08 Mar 1998 11:03:04 -0600 dunemush (pennmush/h/5_pennvers.h 1.6 640) 0.21(w) *************** *** 30,35 **** --- 30,46 ---- 1.50p11, 1.50p12, 1.50p13, 1.50p14, 1.50p15, 1.6.0, 1.6.1, 1.6.2, 1.6.3, 1.6.4, 1.6.5, 1.6.6, 1.6.7, 1.6.8, 1.6.9, 1.6.10, 1.7.0, 1.7.1 + Version 1.7.2 patchlevel 6 March 8, 1998 + + Fixes: + * src/mymalloc.c now includes config.h correctly. [NJG] + * @zemit would change zones of objects while running. + Report by Steve Sanderlin and Vedui. + * Minor cosmetic bug in @config/list. Reported by Mike Wesson + * @chown'ing an object to a Zone player doesn't reduce the Zone + player's quota, but @chown'ing an object back from a Zone player + should reduce yours (and didn't). Report by Vedui. + Version 1.7.2 patchlevel 5 March 2, 1998 Fixes: