root/releases/1.6/0p4/CHANGES-2

Revision 20, 11.5 KB (checked in by pennmush, 3 years ago)

PennMUSH 1.50p7 Archival

Line 
1This version of code is based on the PernMUSH 1.15 code, formerly maintained
2by Moonchilde (JT Traub, jt1o@andrew.cmu.edu). It has been heavily modified
3by me in an attempt to increase compatibility with TinyMUSH 2.0 and to add
4many features. The file which follows is a detailed log of the changes.
5
6This file is current through Release level 1.17 Gamma. Update changes are
7numbered 1.17.01, 1.17.02, etc.  The list of update changes in this file
8are compressed into one long list, per major version. This file goes from
9version 1.16 on; prior changes done by Moonchilde can be found in the file
10CHANGES-1.   --  Amberyl.
11
12------------------------------------------------------------------------------
13January 14, 1992 -- Lydia Leong (lwl@eniac.seas.upenn.edu)  Release level 1.16
14  -- Probable last release of the PernMUSH code. The 1.x code family will
15     be maintained by T'nor, and will be known as SC-MUSH 1.0. That code
16     is based on PernMUSH 1.15, although it incorporates most of the features
17     in this release. A similar but different code, which diverged from the
18     main PernMUSH line at version 1.13, is Spellbound MUSH 1.0
19  -- New functions
20    * CAPSTR() -- returns a string with the first character capitalized
21    * FLIP() -- reverses a string
22    * HASFLAG() -- checks if an object has a certain flag
23    * LCSTR() -- returns a string all in lowercase
24    * LNUM() -- creates a number list (i.e. LNUM(4) outputs 0 1 2 3)
25    * NEARBY() -- checks to see if two objects are "nearby" each other
26    * UCSTR() -- returns a string all in uppercase
27    * From the 2.0 code:
28        DIST2D() and DIST3D() -- returns the distance between points
29        WORDPOS() -- returns the word number a character position occurs
30    * LWHO() -- returns a list of connected players' dbrefs. This function
31        courtesy of Tim Poe (raven@ccwf.cc.utexas.edu)
32  -- New flags
33    * IMMORTAL -- wiz-settable flag which prevents objects from being killed
34    * NO_TEL -- prevents teleports from a room. Useful for puzzles.
35    * SAFE -- prevents destruction of an object.
36    * SUSPECT -- wiz-settable flag which reports the connects, disconnects,
37    name changes, kills, and attempted kills from a suspect player.
38    * TERSE -- suppresses room descriptions and succ/fail messages for
39    objects with this flag. Useful for moving through areas quickly.
40  -- New commands
41    * @nuke -- overrides the SAFE flag.
42    * @lemit -- "location emit" which sends a message to the outermost
43    container (always a room) of an object.
44    * @wallpose and @wallemit -- allow poses and emits in walls. The format
45    of @walls has been changed to prepend "Announcement:" to the message.
46    @wallpose may be abbreviated to "@wall :<pose>"
47    * @decompile -- dumps the sequence of commands needed to create an object.
48    * @dolist -- courtesy of Tim Poe (raven@ccwf.cc.utexas.edu - thanks!)
49        Repeats commands for a list (see the help for details).
50  -- New features
51    * @move/@omove/@amove -- attributes executed whenever an object moves.
52    * Enter locks -- objects now have a separate lock which governs whether
53    or not the object maybe entered. The ENTER_OK flag overrides the
54    lock. The @efail/@oefail/@aefail attributes are executed if the
55    lock is not passed. These locks are controlled by @elock/@eunlock.
56    * Page locks -- players have a page lock. If a target player is pagelocked
57    against his pager, he is treated as if he were HAVEN to that player.
58    * Page return -- an @idle message is automatically page-returned to a
59    successful page. If a player is HAVEN or his pagelock failed, his
60    @haven message is sent. If a player is not connected, his @away
61    message is sent.
62    * Enter/leave aliases -- objects now have @ealias and @lalias attributes
63    which do the obvious. So you can have "sit down" instead of
64    "enter chair" and "stand up" instead of "leave", etc.
65    * Global commands -- objects and exits in a Master Room are treated as
66    global. This is compile-time configurable.
67    * Lastsite attribute -- keeps track of site player last connected from.
68  -- Fixes and changes to old commands
69    * Whisper-pose -- "whisper <person>=:<pose>" now works.
70    * @ps -- the number of items in the queue is now counted. @ps count"
71    displays just the totals.
72    * @halt -- fixed to allow wizards to do "@halt <player>", and to allow
73    "@halt <object>" to be used as an alias for "@set <object>=HALT".
74    * A bunch of fixes to quota
75        Fixed @quota so it no longer crashes the MUSH. (Bleah!)
76        Fixed @clone so it now checks quotas.
77        Rewrote the help (it was inaccurate)
78    * Fixed some minor screwups in ROYALTY, and changed it to allow wizards to
79    set players royal, and royal players to set their objects royal.
80        Did some cleanup work on "do_examine" and related functions so
81        examine for ROYALTY actually works. (Grrrr.)
82    * Did some cleanup on "kill", fixing some bugs. @death/@odeath/@adeath
83    now works properly.
84    * Added a "nearby" function to predicates.c which checks if two objects
85        are near each other. Fixed LOC() so it works the way the help says.
86    * Added a "find_flag" function to predicates.c which compares player
87        input to the flag list and comes up with a match. Rewrote "do_set"
88        to use this (the new HASFLAG() function also uses it).
89    * can't @destroy master room, need to use @nuke to destroy players 
90    * NO_TEL now checks "absolute" location for NO_TEL flag
91    * %p, %s, and %o now return "its/it/it" for no-gender objects
92    * @boot now shows that someone kicked you off
93    * @shutdown notifies all players that a wizard did a @shutdown
94    * @toad command must be typed in full
95    * @emit and @oemit no longer show "You emit/You oemit" to the player
96        giving the command, but just echo the message
97    * Bug fix to do_set so flags which are different for different types
98        don't clobber each other
99    * Various minor bugfixes
100    * "help @-commands" split into several sections. Some cleanup of help.
101  -- See "help" for details. If you have problems, contact me (Amberyl)
102    or T'nor (raven@ccwf.cc.utexas.edu) on the MUDs or via email.
103----------------------------------------------------------------------------
104January 31, 1992  -- Lydia Leong (lwl@eniac.seas.upenn.edu) Release level 1.17
105  -- New functions
106    * ART() -- returns the appropriate article "a" or "an"
107    * MAIL() -- function to return a mail message
108    * MAX() -- returns largest number in list of up to 10 arguments
109    * MIN() -- returns smallest number in list of up to 10 arguments
110    * OBJ() -- perfoms objective pronoun substitution
111    * POSS() -- performs possessive pronoun substitution
112    * RNUM() -- like NUM(), but on a remote room. Only defined if the
113    master room is configured (for use with globals)
114    * SUBJ() -- performs subjective pronoun substitution
115    * TYPE() -- returns the type of an object
116    * XGET() -- works like get(), but can have nested arguments, and uses
117    a comma instead of a slash to separate its arguments. Basically
118    this is just a nasty hack to overcome a lousy parser
119  -- New flags
120    * INHERIT -- restricts @force/@set/@trigger (read the help)
121    * VERBOSE -- prints an object's command before executing it
122  -- New commands
123    * @config: shows configuration parameters for the MUSH
124    * DOING: for wizards, gives the player WHO list. @doing messages do not
125    show up in wizard WHO, so wizzes don't get spammed by the list.
126    * @mail: hardcoded mail, courtesy of Joarm/Spellbound MUSH
127    * @poll: sets the @doing poll
128    * @rwall/@rwallpose/@rwallemit: allows Royalty to broadcast to wizards
129         and royalty, in a fashion similar to @wizwall
130  -- New features
131    * Uselocks implemented as a superset of pagelocks. The commands have been
132    changed to @ulock/@uunlock. A uselock applies to "use" of the object,
133    as well as triggering $commands on it
134    * @use/@ouse/@ause, triggered by "use", added
135    * Old "@use" command changed to "@use-does", for backward compatibility
136    * Inactivity timeout, compile-time settable
137    * Guest character, who cannot change name or password, or build
138    This is compile-time configurable
139    * Added %b and %t substitutions (blank space and tab)
140    * Attributes may have a ^ pattern similar to $command patterns. These
141    act like multiple @listen patterns and are triggered under the same
142    criteria as an ahear. For example, @va object=^* has arrived.:"Hi.
143    would match "Amberyl has arrived." and the object would say Hi.
144    These are only matched if no @listen exists.
145    * added announce.c to the distribution package
146  -- Changes to existing commands
147    * test_set changed to allow '&' to be used for user-defined attributes,
148    for compatibility wth 2.0 code
149    * @decompile now distinguishes between normal and user-defined attributes,
150    and uses '&' for user-defined
151    * @search now does a count of objects.
152    * changed enterlocks so that to enter an object, you must both pass
153    the lock and the object must be enter_ok
154    * @pemit and whisper now match objects in the player's possession as
155        well as the player's container.
156    * need to use @nuke to destroy a wizard object.
157    * @doing and @poll now tell you how many characters got truncated from
158    your message, if it was too long.
159    * @clone will now do exits
160    * if a @listen is not found, the game will now check for ^ patterns
161    in attributes, which act like an ahear.
162  -- Fixes and other sundries
163    * fixed a bug which caused a coredump if you attempted to look at a
164    TRANSPARENT exit linked to *HOME*.
165    * home(exit) now returns that exit's source room
166    * examine now reports an exit's source
167    * exits linked to home now send an object home
168    * new matching functions for remote rooms
169    * successfully teleporting something to an exit no longer shows that
170    stupid "imposes his will on yours" message
171    * fix to ucstr and lcstr to add terminating '\0' (stupid mistake)
172    * safe_tel fixed to avoid conflict between BUILDER and KEY, and to avoid
173    sending STICKY objects home if their home is the teleporting object
174    * @boot fixed so wizards can't boot themselves.
175    * THING_SAFE, PLAYER_SUSPECT, and ROOM_NO_TEL moved from 1000000 to
176        4000000, for compatibility with SC-1.0 code.
177    * changed do_examine to match exits first, for 2.0 consistency,
178    changing it back from an earlier fix. Note that 2.0 plans to
179    change the order in the future. This makes examine consistent
180    with the other commands which do name-matching.
181    * changed do_destroy to always notify player when room is destroyed
182    * added a "flag" to unparse_boolexp, so that you can get a "basic" unparse:
183    only dbrefs and tokens (i.e. exactly what you'd need to type to lock
184    that object to that key). Added the ability to decompile locks,
185    and changed LOCK() to use unparse_lock instead of unparse_boolexp
186    * @chown now removes the Royalty flag.
187    * abilities of royalty expanded to be consistent. They have full wizprivs
188    wrt. examining and teleporting but cannot change things - they see
189    the wizard WHO (since they can examine a player for Lastsite and
190    location anyway), use LWHO(), GET(), V(), LCON(), etc. as if they
191    were wizards. New macro added "Hasprivs", which is true for royalty
192    or wizard or God, getting rid of most of the #ifdef ROYALTY_FLAGs
193    in the code.
194    * @newpassword, @boot, @nukes of players, @toad, @pcreate, and all
195    all commands from SUSPECT players are logged
196    * Log highlights wizard forces of objects they don't own
197    * PUPPET is now THING_PUPPET
198    * global exits, ealiases, and laliases can be more than one word long
199    * NO_TEL is now determined by the location of the victim not the
200    location of the player trying to do the teleport
Note: See TracBrowser for help on using the browser.