mirror of
https://github.com/alexmchale/merc-mud
synced 2026-08-12 12:26:04 -04:00
260 lines
10 KiB
Text
260 lines
10 KiB
Text
Merc Release 2.1
|
|
Sunday 01 August 1993
|
|
|
|
Furey mec@shell.portal.com
|
|
Hatchet hatchet@uclink.berkeley.edu
|
|
Kahn michael@uclink.berkeley.edu
|
|
|
|
|
|
|
|
=== What's new in 2.1
|
|
|
|
2.1 is a maintenance release, and contains mainly bug fixes and
|
|
contributions after 2.0.
|
|
|
|
Affects in player files are stored with skill/spell names now, rather
|
|
than sn's. Old 2.0 player files with numbers are accepted and work
|
|
fine as long as 'skill_table' in const.c doesn't change.
|
|
|
|
The 'list' command takes an optional argument.
|
|
|
|
Several small problems, and one memory corruption, related to voided
|
|
characters have been fixed.
|
|
|
|
'Check_parry' and 'check_dodge' now use the victim's level
|
|
rather than attacker's level for base percentage. (Oops!)
|
|
|
|
The 'oload' command takes an optional level number.
|
|
|
|
Container object numbers work now.
|
|
|
|
Saving while fighting now works properly.
|
|
|
|
Pets and charmed creatures no longer scavenge.
|
|
|
|
Immortals have no carry limit or weight limit.
|
|
|
|
The 'compare' command has a one-argument form now.
|
|
|
|
The channel code is modular now, but not table-driven yet. Some of the
|
|
channel flags have changed, so players will need to reconfigure their
|
|
channels. Channels no longer pass user input as format strings to 'act'.
|
|
|
|
The mysterious port-binding bug is fixed.
|
|
|
|
Merc no longer uses the host system random generator, using its own instead
|
|
(the Mitchell-Moore algorithm from Knuth Volume 2).
|
|
|
|
NPC's no longer steal from immortals.
|
|
|
|
The anti-corpse-looting code now simply prohibits looting corpses of people in
|
|
your group, rather than giving a flag. Similarly, killing charmed creatures is
|
|
simply prohibited rather than flagged (although murdering them is allowed).
|
|
Players were getting flagged too easily by accident.
|
|
|
|
The telnet GA option is now configurable, and the default is off.
|
|
|
|
There is a donation pit at the altar.
|
|
|
|
No-exit rooms are automatically given the no-mob attribute.
|
|
|
|
Eq level randomization is a little more random.
|
|
|
|
There is a new 'socials' command, analogous to 'commands' and 'wizhelp'.
|
|
|
|
Corpse sacrificing no longer gives experience points, not even 1.
|
|
|
|
Non-prime attributes may raise as high as 20 with magical aid. The 18
|
|
training limit is still in effect.
|
|
|
|
Fleeing and recalling don't cost as many xp.
|
|
|
|
|
|
|
|
=== What was new in 2.0
|
|
|
|
Many of the changes from 2.0 Beta to 2.0 were contributed by our beta testers.
|
|
See 'contrib.txt' for acknowledgements.
|
|
|
|
Several new platforms are supported.
|
|
|
|
The 'startup' script now works on many more Unix systems.
|
|
|
|
Containers are back.
|
|
|
|
Memory management has been redone (again). Almost all of the static limits
|
|
from 1.0 and 2.0 Beta are gone, with neglible performance loss; memory use is
|
|
slightly less than 2.0 Beta.
|
|
|
|
New and improved mortal commands: 'commands' to list all commands; 'configure'
|
|
to configure 'brief', 'compact', the 'auto' stuff, et cetera; a new 'who'
|
|
command with lots of options.
|
|
|
|
New and improved immortal commands: 'slookup' to find sn's and slot numbers;
|
|
'trust' to give the effect of advancement without changing level;
|
|
'transfer' now takes a destination room; 'ban' now matches sites by suffix
|
|
(so you can 'ban foo.edu'); 'log all' has been added; 'snoop' now prevents
|
|
snoop-looping; 'oset' can set extended descriptions; 'mset' can set a mobile's
|
|
spec_fun.
|
|
|
|
Bug fixes: auto-dropping aligned items had a nasty linked-list bug; 'pose'
|
|
was fixed; 'force all' was rewritten.
|
|
|
|
Several new areas have been added.
|
|
|
|
Ascii save files are in effect. Equipment and container contents are saved in
|
|
the right place. Objects which have been oset will keep their new values.
|
|
This includes description strings and extra descriptions, so you can look cool
|
|
in your Ray-Ban's without restringing them every time you log in.
|
|
|
|
Object lists are (optionally) displayed with item counts now.
|
|
|
|
Players may loot only their own corpses or their own groups' corpses. Other
|
|
corpse looting is punished with a PLR_THIEF flag.
|
|
|
|
|
|
|
|
=== What was new in 2.0 Beta
|
|
|
|
The 'lib' directory is gone. Most of the *.txt files have been moved into
|
|
'help.are' as 'help' entries.
|
|
|
|
The 'doc' directory is much larger. All the files have been rewritten (with
|
|
the exception of 'license.doc').
|
|
|
|
The help file 'help.are' has been rewritten. It is now complete and correct.
|
|
|
|
Merc now uses a different area file system: one area, one file. Each area is
|
|
stored in a separate file. The list of areas to read on bootup is stored in
|
|
the file 'area.lst' in the directory where the server boots. The server reads
|
|
in all area files once on bootup and never touches them again.
|
|
|
|
The server now generates mobile and object statistics on its own, ignoring the
|
|
values in the files. Statistics are subject to random variation.
|
|
|
|
We have a dozen new areas.
|
|
|
|
The server has very good error checking on areas. Most diagnostics are
|
|
accompanied by area file name and line number. The server does exit after
|
|
finding just one error, but Merc loads areas so fast (4 seconds on a Sun-4)
|
|
that you can easily use the whole server as a syntax checker.
|
|
|
|
All code has been re-written. The entire code base is about 6000 lines smaller
|
|
than the 1.0 release, and runs in about half the memory as 1.0.
|
|
|
|
The external declarations have been re-organized to improve portability. The
|
|
files merc.h and comm.c have OS-specific declaration sections for suitable
|
|
external declarations, and comm.c has several OS-dependent sections. Outside
|
|
of these files all of the code is machine-independent.
|
|
|
|
Many new Unix-based operating systems are supported, and a single-user MS-DOS
|
|
version is supported as well.
|
|
|
|
The code for classes has been consolidated into tables in const.c, making it
|
|
much easier to add new classes. See 'class.txt'.
|
|
|
|
The skill / spell code has been rewritten. The entire cast_* layer has been
|
|
removed. The miserable SPELLO declarations have been replaced by more
|
|
extensive declarations of skills and spells in 'const.c'. In particular, the
|
|
slot number in #OBJECT area is no longer equal to the internal index number of
|
|
a skill or spell, so adding new skills and spells is an order of magnitude
|
|
easier. See 'skill.txt'.
|
|
|
|
The horrible 'board.c' code has been sent to /dev/null. In its place we have a
|
|
new 'notes' facility.
|
|
|
|
Player files are now in Ascii form. You can read them, grep them, edit them,
|
|
move them to other machines, do whatever you want with them. Some fields (in
|
|
particular, class, skill, and spell names) have been separated further from
|
|
internal constants, making it easier to add new classes, skills, and spells
|
|
without upsetting existing player files.
|
|
|
|
Auto-save is implemented. One player is saved each tick (whomever has the
|
|
most time since previously saving). Thus with 20 players online, each player
|
|
will be saved once every ten minutes.
|
|
|
|
Many immortal commands are now logged automatically.
|
|
|
|
All unimplemented spells have been removed. In particular, several of the
|
|
partially implemented 1.0 spells were taken from an undocumented 'magic.c' we
|
|
found on ucbvax.berkeley.edu. These spells were originally written by Dan
|
|
Brumleve and we apologize to him for the past infringement. All of this code
|
|
is gone from Merc now.
|
|
|
|
The main menu ('press 1 to enter the game') has been removed. There are two
|
|
new game commands, 'password' and 'description', to accomplish the same effect.
|
|
The 'password' command is protected against logging and snooping.
|
|
|
|
Tick times and area update times are now random (with an average time set
|
|
by PULSE_TICK and PULSE_AREA respectively).
|
|
|
|
Players no longer gain experience from pkilling.
|
|
|
|
Players may no longer log in with the same name as mobiles in the game.
|
|
|
|
The new 'areas' command lists all areas available. The 'memory' immortal
|
|
command shows memory usage. There are many new and upgraded immortal commands,
|
|
and all of them have on-line help now.
|
|
|
|
The new 'respond' command allows players to hold up their end of the
|
|
conversation with invisible or switched immortals.
|
|
|
|
The 'tell' command may no longer be used to talk to mobiles outside of the
|
|
room.
|
|
|
|
The 'pick' command is now limited. Mobs will guard a lock against picking by
|
|
low level thieves.
|
|
|
|
The 'steal' command is now limited. One may not steal from a PC nor from a mob
|
|
more than 5 levels above one's level.
|
|
|
|
Several commands have been removed, including 'ask', 'info', 'pour', 'whisper',
|
|
and 'tick'.
|
|
|
|
The group code has been redesigned, eliminating several bugs in the process.
|
|
|
|
Mobiles now will join in fights, especially when other mobiles of the same
|
|
type are fighting. Players also automatically auto-assist other players in
|
|
their group.
|
|
|
|
There is a pet shop. Many bugs related to 'charm' have been fixed.
|
|
|
|
Several nasty memory allocation bugs were fixed. These didn't show up on SunOS
|
|
or Ultrix, but crashed Linux, NextOS, and many other OS's. Thanks to Vic for
|
|
debugging help.
|
|
|
|
The bug where getting killed with an 'armor' spell on left one's AC at 120
|
|
(instead of 100) has been fixed.
|
|
|
|
The server emits a telnet GA sequence at the end of the prompt.
|
|
|
|
The 'prompt' command disables or enables the prompt. Handy for immortals who
|
|
don't need the prompt, but it's primarily there to reduce output for blind
|
|
mudders using speech synthesizers to read their output. Thanks to
|
|
davros@ccwf.cc.utexas.edu for suggesting this feature.
|
|
|
|
The 'time' command now reports system time, so players in any time zone can
|
|
know when your morning shutdown occurs. It also reports bootup time, so you
|
|
can see how reliable your Merc is.
|
|
|
|
There are no more bags. Item carrying limits are in effect.
|
|
|
|
The recall command has been tweaked. It works perfectly outside of combat. In
|
|
combat, it has a less-than-perfect chance of working, and it costs xp to try it
|
|
(more than for flee). The spell 'word of recall' now just calls the recall
|
|
command.
|
|
|
|
The 'flee' command now reports xp lost. When a character flees, all characters
|
|
fighting it will stop fighting, not just one. This also fixes the mysterious
|
|
'Extract_char: NULL' bugs.
|
|
|
|
Link dead characters in combat are dealt with more harshly, to discourage
|
|
intentional link killing as a way out of combat.
|
|
|
|
The 'harm' spell is limited to 100 points of damage.
|
|
|
|
The 'summon' spell is now limited. One may not summon a person out of combat,
|
|
and one may not summon a mob to a different zone.
|
|
|
|
Characters may not practice until level 3. They are encouraged to train
|
|
instead.
|