/
com/planet_ink/coffee_mud/Abilities/Common/
com/planet_ink/coffee_mud/Abilities/Diseases/
com/planet_ink/coffee_mud/Abilities/Druid/
com/planet_ink/coffee_mud/Abilities/Fighter/
com/planet_ink/coffee_mud/Abilities/Languages/
com/planet_ink/coffee_mud/Abilities/Misc/
com/planet_ink/coffee_mud/Abilities/Prayers/
com/planet_ink/coffee_mud/Abilities/Properties/
com/planet_ink/coffee_mud/Abilities/Skills/
com/planet_ink/coffee_mud/Abilities/Songs/
com/planet_ink/coffee_mud/Abilities/Specializations/
com/planet_ink/coffee_mud/Abilities/Spells/
com/planet_ink/coffee_mud/Abilities/Thief/
com/planet_ink/coffee_mud/Abilities/Traps/
com/planet_ink/coffee_mud/Behaviors/
com/planet_ink/coffee_mud/CharClasses/
com/planet_ink/coffee_mud/CharClasses/interfaces/
com/planet_ink/coffee_mud/Commands/
com/planet_ink/coffee_mud/Commands/interfaces/
com/planet_ink/coffee_mud/Common/
com/planet_ink/coffee_mud/Common/interfaces/
com/planet_ink/coffee_mud/Exits/interfaces/
com/planet_ink/coffee_mud/Items/Armor/
com/planet_ink/coffee_mud/Items/Basic/
com/planet_ink/coffee_mud/Items/BasicTech/
com/planet_ink/coffee_mud/Items/CompTech/
com/planet_ink/coffee_mud/Items/MiscMagic/
com/planet_ink/coffee_mud/Items/Weapons/
com/planet_ink/coffee_mud/Items/interfaces/
com/planet_ink/coffee_mud/Libraries/
com/planet_ink/coffee_mud/Libraries/interfaces/
com/planet_ink/coffee_mud/Locales/
com/planet_ink/coffee_mud/MOBS/
com/planet_ink/coffee_mud/Races/
com/planet_ink/coffee_mud/Races/interfaces/
com/planet_ink/coffee_mud/WebMacros/
com/planet_ink/coffee_mud/WebMacros/interfaces/
com/planet_ink/coffee_mud/core/
com/planet_ink/coffee_mud/core/collections/
com/planet_ink/coffee_mud/core/interfaces/
com/planet_ink/coffee_mud/core/intermud/
com/planet_ink/coffee_mud/core/intermud/i3/
com/planet_ink/coffee_web/server/
com/planet_ink/siplet/applet/
lib/
resources/factions/
resources/fakedb/
resources/progs/autoplayer/
resources/quests/holidays/
web/
web/admin.templates/
web/admin/grinder/
web/admin/images/
web/clan.templates/
web/pub.templates/
web/pub/images/mxp/
web/pub/sounds/
web/pub/textedit/
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html><head>
<meta name="generator" content="HTML Tidy, see www.w3.org">
<meta name="GENERATOR" content="Microsoft Visual Studio 6.0"><title></title></head>
<body style="background-color: rgb(255, 255, 255); color: rgb(0, 0, 0);" alink="#0000ee" link="#0000ee" vlink="#551a8b">
<a href="#appd"><img src="images/paperclip.jpg" alt="Index" align="left" height="35" width="27"></a>
<p style="text-align: center;" align="center"><strong><span style="font-size: 18pt;"><font size="6">The
Novice Archon's Guide</font></span></strong>
<b><span style="font-size: 18pt;"><br>
<font size="6">to CoffeeMud
5.9</font></span></b></p>
<p style="text-align: center;" align="center"><strong>By
Archon Grothus
Gallslanger of the Free City of Maltan</strong></p>
<p style="text-align: center;" align="left"><strong><img src="images/mug.jpg"></strong></p>
<p><strong><a name="construct"><strong><font color="royalblue" size="5">World
Construction and Destruction</font></strong></a></strong></p>
<p>Causing buildings and towers to
appear along paved streets,
mountains to rise from the dust, and then breathing life into this
worlds denizens may seem like a daunting task, but you will quickly
discover that it is not so. All it takes is some careful planning, and
educated execution.</p>
<p>Towards that end, but before we
get started properly on the business
of molding a universe, we must needs take a moment to reflect on the
powers of the Archon, and how the universes underlying laws are
navigated. Herein, therefore, I have copied from the sacred scrolls the
archaic and confusing runes of "CoffeeMud Administration" for your
consideration.</p>
<p align="left"><strong><a name="admin"><font color="red" size="5">CoffeeMud
Administration</font></a></strong></p>
<p align="left">The
administration of your CoffeeMud server is done
from within the game server itself, when you are logged in as your
Archon player. Some functions can be performed from the <a href="MUDGrinder.html">MUDGrinder</a>.</p>
<p align="left"><em>AHELP<br>
</em> This is the command that
Archons will use to get help on
all of the commands in this section, on various administrative topics,
and on all of the various building "tools" discussed elsewhere in this
document, including such things as behaviors and properties. The
atopics command can give you a comprehensive list of all the topics you
can get help on with ahelp.</p>
<p align="left"><em>ANNOUNCE<br>
</em> If there is some message you
wish to give to everyone
presently on your mud, this is the surest way to make sure they receive
it.</p>
<p><em>AFTER<br>
</em> This command lets the Archon
do things after an elapsed time, or
even periodically.</p>
<p><em>AS<br>
</em> This command lets the Archon
do anything as another player.</p>
<p align="left"><em>AT<br>
</em> This command lets the Archon
do anything anywhere, regardless of
where he is!</p>
<p align="left"><em>BAN<br>
</em> Deadly, but necessary, this
command allows you to specify
player names, or partial player names, or IP addresses or IP ranges
that you wish to keep OUT of your mud.</p>
<p align="left"><em>BEACON<br>
</em> The beacon command is used to
change the unique home, start room,
or recall room of either the Archon, or some targeted player. Rarely
used, it is typically invoked only as reward for a player or perhaps a
lesser admin.</p>
<p align="left"><em>BOOT<br>
</em> If a player becomes
troublesome, or you just want them to
go away, you will use this power to knock them temporarily out of your
mud, regardless of where they are in your world. To make them STAY
away, you will have to investigate commands such as destroy or ban.</p>
<p align="left"><em>CATALOG<br>
</em> This is a powerful command for
managing templates for
your customized mobs and items. This is discussed in more depth below
in a section just before Appendix A.</p>
<p align="left"><em>CHARGEN<br>
</em> This little tool accepts a
character class name and a
level, and it shows you the stats of an "average" player of that class
and level. Although it's not a vital administration tool, CharGen can
be a helpful aid in the construction of monsters, perhaps.</p>
<p align="left"><em>CLOAK<br>
</em> This command makes the player
unlisted in commands like who,
chanwho, and on web player lists.</p>
<p align="left"><em>COPY<br>
</em> Depending on the argument,
this command can make copies of
almost anything in your mud, from rooms to monsters and items. The
thing you want to copy must exist somewhere in the world for you to
properly copy it. You can even specify how many things you wish to
copy, for those moments when one pot pie just won't do.</p>
<p align="left"><em>CREATE<br>
</em> Depending on the argument,
this command can bring almost
anything into existence, from rooms to doors, from monsters to items.
The create command is discussed at length in the sections on building
rooms and areas. It is also featured prominantly in the<a href="GameBuildersGuide.html">Game Builders Guide</a>.</p>
<p align="left"><em>DESTROY<br>
</em> This powerful command can be
used to banish objects and
mobs, rooms and areas, or even players -- permanently. A player (user)
need not be online to be destroyed. The destroy command, as it relates
to rooms, exits, items, and mobs, is discussed further in the sections
on building rooms and areas, as well as the <a href="GameBuildersGuide.html">Game Builders Guide</a>.</p>
<p align="left"><em>DEVIATIONS<br>
</em> Can show you the difference
between your world as it is compared
with the standards at the end of this document.</p>
<p align="left"><em>DRESS<br>
</em> The quick way to get clothing,
weapons and armor on your mobs
from the command line.</p>
<p align="left"><em>DUMPFILE<br>
</em> When you want to view some
text file on your computer through the
MUD.</p>
<p align="left"><em>EXPORT<br>
</em> If you need a backup to your
database, you can save your
areas one at a time as files, for reimportation in the event of a
disaster. This command will generate files with the extension .cmare.
They are XML formatted text files containing all the data you told the
system to export. In addition to rooms and areas, you can also
specifically export players, some items or mobs from a room. The import
command could then be used later to load the data you exported back in.</p>
<p align="left"><em>GMODIFY<br>
</em> Quickly search for all the
monsters, items, or rooms that
match your search criteria. You can also optionally modify the found
fields with this command.</p>
<p align="left"><em>GOTO<br>
</em> Allows the Archon to zap him
or herself directly to the
room or mob of his or her choice. The argument is a valid Room ID, room
name, mob name, or area name. You will find yourself using the goto
command quite a bit. Walking everywhere sucks.</p>
<p><em>I3<br>
</em> This module is used to manage
InterMud 3 chatting channels.
I3 is a component of CoffeeMud that provides for chatting channels
which span across many many muds in cyperspace, allowing players and
admins to talk to folks playing on other muds.</p>
<p><em>IMC2<br>
</em> This module is used to manage
InterMud Chat 2 information.
IMC2 is a component of CoffeeMud that provides for chatting channels
which span across many many muds in cyperspace, allowing players and
admins to talk to folks playing on other muds.</p>
<p><em>JRUN<br>
</em> This command can be used to
execute Javascript scripts
located on the local hard drive. If the gods have given you this power,
they have great trust in you indeed.</p>
<p align="left"><em>IMPORT<br>
</em> Import will suck in one or
more data files and recreate
rooms, areas, players, mobs, items, and lots of other stuff from the
contents of those files. The data files that import will successfully
read include (of course) the CoffeeMud .cmare files discussed under the
export command. In addition, import will also take in area data files
from other MUDs, such as ROM, CircleMUD, and others. Of the
non-CoffeeMud area files, the ROM format is by far the best supported.</p>
<p align="left"><em>LINK<br>
</em> This command will cause two
places to come together, making
travel between them much easier.</p>
<p align="left"><em>LIST<br>
</em> The Archon is able to list
lots of different things, for
many different reasons. "list users" will show you all of the players,
and when they logged on last. This is useful for weeding out olde
players (see DESTROY below). "list threads" will show you how many Java
threads are active. "list ticks" will show you all the objects making
use of those threads! "list reports" will show you your resource usage.
"list staff" will show you a list of your areas and any Area staff
defined for them, and "list sessions" will show you everyone who is
online or may soon be. You may also list things like locales, items,
weapons, armor, mobs, and other things discussed further down in the
sections on world building.</p>
<p align="left"><em>LOAD<br>
</em> This command will cause a text
or file resource to be brought
into memory. What happens to it from there is your business.</p>
<p align="left"><em>MERGE<br>
</em> This powerful tool is rarely
used, but is vital if you need
to make small changes to identical items or mobs scattered all around
your world. It uses item or mob data gathered from the export command
to merge with the items and mobs you specify in the real world, making
the necessary world corrections that you want it to.</p>
<p align="left"><em>MODIFY<br>
</em> If something which exists is
not quite right, this command
can make it right. By telling the system exactly what you want to
modify, you can change it into what it ought to be. The modify command
is discussed further in the sections on building rooms and areas, as
well as in the <a href="GameBuildersGuide.html">Game
Builders Guide</a>.</p>
<p align="left"><em>MULTIWATCH<br>
</em> A little tool which allows an
Archon to gather evidence against
multiplaying players.</p>
<p align="left"><em>NOPURGE<br>
</em> Prevent a player from ever
being auto-purged due to not logging
in.</p>
<p align="left"><em>ORDER<br>
</em> Although any player may order
around their followers, an Archon
can order ANYONE to do ANYTHING.</p>
<p align="left"><em>POOF<br>
</em> This command lets you modify
the messages seen when you use GOTO
to move from room to room.</p>
<p align="left"><em>POSSESS<br>
</em> Easily the most fun part of
being an Archon is to possess
one of the monsters and harass the players, making them think the
monsters have truly come to life! Some enjoy this so much that they
forget to return to their true bodies!</p>
<p align="left"><em>PURGE<br>
</em> A moderate form of the DESTROY
command which allows you to clear
out mobs or items without affecting whether or not they will repopulate
(rejuv) later on.</p>
<p align="left"><em>RESET<br>
</em> Giving a parameter of "room"
or "area", this command will make
everything reset back to the state it was last saved at.</p>
<p align="left"><em>RESTRING<br>
</em> A moderate form of the MODIFY
command which allows only editing a
few fields on items.</p>
<p align="left"><em>SAVE<br>
</em> This command is used to update
your CoffeeMud database. If
you use "save user", the system will update the players data. "save
room" can make aspects of a room permanent by saving it to the
database. Saving rooms is discussed further below in the section on
building.</p>
<p align="left"><em>SHELL<br>
</em> This command will allow you to
view the files in your
coffeemud folder, copy and delete files, and even put them in your
database. Saving files in the database? See the first section of the <a href="GameBuildersGuide.html">Game Builders Guide</a>
for more info on
the CoffeeMud VFS system.</p>
<p align="left"><em>SNOOP<br>
</em> This command can let you watch
other players as they wander
your world. This command gives you a second pair of eyes to look over
the shoulder of the player of your choice. You will see everything they
see, almost as if you were them yourself.</p>
<p align="left"><em>STAT<br>
</em> This command allows you to do
everything from view the
statistical happenings on your world, to the simple charicteristics of
a target mob or player.</p>
<p align="left"><em>SYSMSGS<br>
</em> This important little trick is
vital to those doing
CoffeeMud development from the command line. It gives the Archon a
unique vision of the world sometimes necessary for his work. For one,
it makes everything visible to the Archon regardless of its state of
visibility, darkness, fog, or any/all other conditions. It also reveals
the unique identifying codes, classes, and names by which things are
known or identified. It also makes otherwise mobile mobs stay put in
the presence of the Archon. All of this is very important when trying
to
modify or destroy things you no longer want in your world.</p>
<p align="left"><em>SHUTDOWN<br>
</em> Although CoffeeMud can also be
brought down by killing the
Java virtual machine, the proper way to shut down CoffeeMud is by
entering the shutdown command. This will ensure that all users are
saved back to disk, and that the system goes down in a polite and
orderly manner.</p>
<p><em>TAKE<br>
</em> Use this command if a player
or monster has something that
doesn't belong to them, and you need it back.</p>
<p align="left"><em>TICKTOCK<br>
</em> This simple little power will
advance the world's time
clock by one hour every time it is used. If it's day, and you want it
to be night, or vis-versa, this is the way to go.</p>
<p align="left"><em>TRAILTO<br>
</em> A tool to tell the Archon the
twistings and turns from where he
is, to where he'd like to be.</p>
<p><em>TRANSFER<br>
</em> Allows the Archon to zap
someone directly to the room or
mob of his or her choice. The argument is either ALL or the name of the
target, and a valid Room ID, room name, mob name, or area name. Use
this when you want someone to go somewhere NOW.</p>
<p align="left"><em>UNLINK<br>
</em> This command will separate two
places from one together.</p>
<p align="left"><em>UNLOAD<br>
</em> If you've made any changes to
your help files or other
resources, and don't want to have to reboot the whole MUD, you can use
this command as a short-cut. It unloads "resources" (try "list
resources") that are in memory. By unloading resources from memory, you
force CoffeeMud to reload your changes from disk.</p>
<p align="left"><em>WHERE<br>
</em> Allows the Archon to see who
all is online, and where they
are on the map. With an argument, the WHERE command becomes a map
search tool. An argument such as "where orc", may be given to specify a
specific mob name. That way, you can find out where you might have
misplaced that wandering zombie. Where can also be used to locate
rooms, items, or almost anything else. The mind boggles at the
possibilities.</p>
<p align="left"><em>WIZEMOTE<br>
</em> The omnipresence of the Archon
is reflected in this command,
which causes a message to appear throughout the world.</p>
<p align="left"><em>WIZINV<br>
</em> Sometimes an Archon wants a
little privacy, and this
command gives it to him or her. It will make the Archon completely
undetectable, allowing free movement without harassment from players or
monsters.</p>
<p align="left"><strong><a name="security"><font color="red" size="5">Security</font></a></strong></p>
<p align="left">CoffeeMud
has an extremely flexible and powerful
security system. It allows the Archons to designate who has which
powers, and where they may exercise them. Powers can be doled out to
minions as they deserve and warrant.</p>
<p align="left">By default,
all players who have levels in the class of
Archon are all powerful system administrators, who may perform all of
the powers discussed in the last section and many many more. Of course,
this does not NEED to be the definition of the all powerful, but since
it is for starters, we will continue as if Archon and 'All Powerful
Super Duper System Administrator' are indeed and always the same. If
you wish to change it, the SYSOPMASK setting in your coffeemud.ini file
is the place to go, or to the <a href="MUDGrinder.html">MUDGrinder</a>
has a wonderful tool for security in the Control Panel.</p>
<p align="left">While
players are just players, and are unable to wipe
their own noses without an Archon to provide them a tissue, they may
also be much more with the wave of an Archon's hand. The Security
setting one sees when using the command MODIFY USER <em>playername</em>
from the command line can be used to give players a small portion of
the creative powers. By combining this with the Staff setting under
Areas (see below), players can have their powers narrowed to certain
spheres of influence. A customized Character Class can also be used to
expand the creative power of players by adding Security Group Levels to
your players character class. See the section on creating your own
custom character classes for more information on this.</p>
<p align="left">To upgrade
the powers of a player, you may use the
MODIFY command as mentioned previously. From the Security setting,
players who are not SYSOPS may be granted very specific privileges by
adding special security codes. Each of the privileges/flags may be
limited to specific areas, or available globally. Each entry listed
under Security for a player may be either a security Group, or a
specific security code. Security Groups, like the SYSOPMASK mentioned
above, are also defined in the coffeemud.ini file or from the <a href="MUDGrinder.html">MUDGrinder</a>
Control Panel. A Security Group consists of a group name, and a set of
string codes representing privileges for that group. The string codes
are the security flags. The Group names in the Control Panel start with
the string "GROUP_", but only the part after that string is a valid
group name. You should never include the "GROUP_" part when entering a
group name into a players Security settings.</p>
<p align="left">Now, each
individual security code which makes up each
of the groups is implicitly global (meaning the power may be used
anywhere), but can be qualified as area-only by prefixing the code with
the word AREA and a space. For example, the security code "ANNOUNCE" by
itself confers the global ability to use the ANNOUNCE command. The
security code "AREA ANNOUNCE" means that the ANNOUNCE command can only
be used inside areas where the player is listed as Staff. See the
section on Areas in this guide for more information on Staff.</p>
<p align="left">Use HELP
SECURITY, or access the Control Panel from the
<a href="MUDGrinder.html">MUDGrinder</a>
for a list of recognized
security codes.</p>
<p><strong><a name="planning"><font color="purple" size="5">Building
Your World: Planning is the First Step</font></a></strong></p>
<p>Before a single bird can
flitter through the skies that you opened
up, you must have planned the placement of that sky, and the song of
that bird. I am assuming you have been given some general area to
construct, some wicked kingdom, joyous elven city by the sea, or some
other such nonsense. If not, get one; decide on the general theme of
some area you wish to construct.</p>
<p>At this point I suggest you get
a piece of graph paper or parchment.
Upon it you shall draw small squares next to each other. Plot out every
location you will create. The squares need not be equal in size, but
they need to all fit together somehow. Before invoking the spells of
creation, you should know where every door leads, where every path
ends, and if X indeed marks the spot, where the X is.<br>
<br>
Inside each square, you shall make small notes. What notes? Well,
that's the next part of our story.</p>
<p><strong><a name="rooms"><font color="purple" size="5">Understanding
Rooms</font></a></strong></p>
<p>At the foundation of the
CoffeeMud world is the room. Now, a room is
not just some pink wallpapered play area, but simply a place. Certainly
a kitchen can be a room, as can a pink wallpapered play area, but so
can the bottom of a well, a stretch of rolling hills, the top of a tall
mountain, or a dragon&#8217;s lair deep underground. Physical size
does
not matter with rooms; only your imagination can determine that.</p>
<p>Every room has a general
foundational type that defines it. That
type determines the behavior of that room day to day, whether it is
outside or inside, made of wood or stone, a mountain or a plain, in
darkness or light, a cliffside or deep in the ocean. The type
determines whether one breathes water or air, chops wood or fishes, and
how good the hunting is. This foundational type of every room has a
name: Locale.</p>
<p>If you log into CoffeeMud right
now, you can list the available
Locales with the command "list locales". This list should include many
different types of locales, most of which are self-explanatory. They
include:</p>
<table bgcolor="yellow" border="1" cellpadding="1" cellspacing="1" width="75%">
<tbody>
<tr>
<td style="width: 20%;" width="20%">CaveMaze</td>
<td>a dark, dank, multi-room
maze of caves</td>
</tr>
<tr>
<td>CaveRoom</td>
<td>dark and dank</td>
</tr>
<tr>
<td>CaveSurface</td>
<td>dark and dank
ClimbableSurface</td>
</tr>
<tr>
<td>CityStreet</td>
<td>outside urban area</td>
</tr>
<tr>
<td>ClimbableLedge</td>
<td>the edge you must climb
up to</td>
</tr>
<tr>
<td>ClimbableSurface</td>
<td>an area that can only be
climbed or flown through</td>
</tr>
<tr>
<td>Desert</td>
<td>a hot, dry, outside
locale</td>
</tr>
<tr>
<td>DesertGrid</td>
<td>a hot, dry, multi-room
outside locale</td>
</tr>
<tr>
<td>DesertMaze</td>
<td>a hot, dry, multi-room
outside maze</td>
</tr>
<tr>
<td>DesertThinGrid</td>
<td>as DesertGrid but it
uses less memory/more cpu</td>
</tr>
<tr>
<td>EndlessOcean</td>
<td>huge multi-room, locale
on the ocean surface</td>
</tr>
<tr>
<td>EndlessSky</td>
<td>an endless, ~3D,
multi-room, locale up in the sky</td>
</tr>
<tr>
<td>EndlessThinOcean</td>
<td>As EndlessOcean but
using less memory/more cpu</td>
</tr>
<tr>
<td>EndlessThinSky</td>
<td>As EndlessSky but using
less memory/more cpu</td>
</tr>
<tr>
<td>FrozenMountains</td>
<td>a cold, outside,
mountanous room</td>
</tr>
<tr>
<td>FrozenPlains</td>
<td>the cold snowy plans</td>
</tr>
<tr>
<td>GreatLake</td>
<td>endless, ~3D,
multi-room, locale below the lake surface</td>
</tr>
<tr>
<td>GreatThinLake</td>
<td>as GreatLake but using
less memory/more cpu</td>
</tr>
<tr>
<td>Hills</td>
<td>green rolling hills</td>
</tr>
<tr>
<td>HillsGrid</td>
<td>a huge multi-room
rolling hilly area</td>
</tr>
<tr>
<td>HillsThinGrid</td>
<td>as HillsGrid but using
less memory/more cpu</td>
</tr>
<tr>
<td>HotRoom</td>
<td>a hot, stone, indoor
place</td>
</tr>
<tr>
<td>IceRoom</td>
<td>a cold, icey, indoor
place</td>
</tr>
<tr>
<td>IndoorInTheAir</td>
<td>such as a gap in a cave,
or midway down a pit.</td>
</tr>
<tr>
<td>IndoorShallowWater</td>
<td>a layer of underground
water perhaps</td>
</tr>
<tr>
<td>IndoorUnderWater</td>
<td>under an underground lake</td>
</tr>
<tr>
<td>IndoorUnderWaterColumnGrid</td>
<td>tall narrow under water
indoor rooms </td>
</tr>
<tr>
<td>IndoorUnderWaterGrid</td>
<td>grid of under water
indoor rooms </td>
</tr>
<tr>
<td>IndoorWaterSurface</td>
<td>on the surface of an
underground lake</td>
</tr>
<tr>
<td>IndoorWaterThinSurface</td>
<td>on the surface of an
underground lake that uses less memory</td>
</tr>
<tr>
<td>IndoorWaterSurfaceColumn</td>
<td>on the surface of an
tall narrow underground lake</td>
</tr>
<tr>
<td>InTheAir</td>
<td>a place up among the
clouds</td>
</tr>
<tr>
<td>Jungle</td>
<td>a thick hot overgrown
forest</td>
</tr>
<tr>
<td>JungleGrid</td>
<td>a large multi-room
overgrown hot forest</td>
</tr>
<tr>
<td>JungleThinGrid</td>
<td>as JungleGrid but using
less memory/more cpu</td>
</tr>
<tr>
<td>LargeCaveRoom</td>
<td>a cave room large enough
to bring mounts into</td>
</tr>
<tr>
<td>LargeStoneRoom</td>
<td>a stone indoor room
large enough to bring mounts into</td>
</tr>
<tr>
<td>LargeWoodRoom</td>
<td>a wooden indoor room
large enough to bring mounts into</td>
</tr>
<tr>
<td>LongRoad</td>
<td>the open road, cost more
move</td>
</tr>
<tr>
<td>LongerRoad</td>
<td>the open road, cost more
move</td>
</tr>
<tr>
<td>LongestRoad</td>
<td>the open road, cost most
move</td>
</tr>
<tr>
<td>MagicFreeRoom</td>
<td>an indoor, stone place
where magic always fails</td>
</tr>
<tr>
<td>MagicShelter</td>
<td>the basis for the mage
"Shelter" spell -- do not use.</td>
</tr>
<tr>
<td>Mountains</td>
<td>an outside, mountanous
region</td>
</tr>
<tr>
<td>MountainsGrid</td>
<td>an outside, mountanous
multi-room of rock</td>
</tr>
<tr>
<td>MountainsThinGrid</td>
<td>as MountainsGrid but
using less memory/more cpu</td>
</tr>
<tr>
<td>MountainsMaze</td>
<td>an outside, mountanous
maze of rock</td>
</tr>
<tr>
<td>MountainSurface</td>
<td>a climable mountainous
place</td>
</tr>
<tr>
<td>MountainSurfaceGrid</td>
<td>a large, multi-room,
climable mountainous place</td>
</tr>
<tr>
<td>MountainSurfaceThinGrid</td>
<td>as MountainSurfaceGrid
but using less mem/more cpu</td>
</tr>
<tr>
<td>OceanGrid</td>
<td>a large grid of salt
water surfaces, which will bring along
skys and underwater rooms</td>
</tr>
<tr>
<td>OceanThinGrid</td>
<td>as Ocean grid, but using
less memory/more cpu</td>
</tr>
<tr>
<td>OverTheLedge</td>
<td>a room you can walk
into, but then fall doooowwwnn</td>
</tr>
<tr>
<td>Plains</td>
<td>out in the open fields</td>
</tr>
<tr>
<td>PlainsGrid</td>
<td>a huge multi-room,
outdoor plains area</td>
</tr>
<tr>
<td>PlainsThinGrid</td>
<td>as PlainsGrid but using
less memory/more cpu</td>
</tr>
<tr>
<td>Road</td>
<td>out in the open road</td>
</tr>
<tr>
<td>RoadGrid</td>
<td>a huge multi-room,
outdoor stretch of road</td>
</tr>
<tr>
<td>RoadThinGrid</td>
<td>as RoadGrid but using
less memory, more cpu</td>
</tr>
<tr>
<td>SaltWaterSurface</td>
<td>the surface of the ocean</td>
</tr>
<tr>
<td>SaltWaterSurfaceColumn</td>
<td>the narrow surface of
the ocean</td>
</tr>
<tr>
<td>SaltWaterThinSurface</td>
<td>as SaltWaterSurface but
depths use less memory/more cpu</td>
</tr>
<tr>
<td>SeaPort</td>
<td>as a Shore, but Sailing
Ships can be initially docked here.</td>
</tr>
<tr>
<td>SewerMaze</td>
<td>a wet, cave-like maze</td>
</tr>
<tr>
<td>SewerRoom</td>
<td>a wet, cave-like room</td>
</tr>
<tr>
<td>ShallowWater</td>
<td>a wet, outdoor area</td>
</tr>
<tr><td>ShipDeck</td><td>for prototyping Sailing Ships, a wooden deck with limited capacity</td></tr><tr><td>ShipHold</td><td>for prototyping&nbsp;Sailing Ships, a wooden room with high, but limited capacity</td></tr><tr><td>ShipMagazine</td><td>for prototyping Sailing Ships, a wooden room with med, but limited capacity</td></tr><tr><td>ShipLightGunDeck<br>ShipMedGunDeck<br>ShipHeavyGunDeck</td><td>for
prototyping Sailing ships, a wooden deck with low capacity, but which
allows an increasing number of siege engines at around 200 pounds each.</td></tr><tr><td>ShipQuarter</td><td>for prototyping Sailing Ships, a wooden room with low limited capacity</td></tr><tr>
<td>Shore</td>
<td>some solid ground to
fish from, if water is nearby</td>
</tr>
<tr>
<td>StdGrid</td>
<td>the basis for all of the
Grid locales -- do not use.</td>
</tr>
<tr>
<td>StdMaze</td>
<td>the basis for the maze
locales -- do not use</td>
</tr>
<tr>
<td>StdRoom</td>
<td>the basis for all other
Locales, do not use!</td>
</tr>
<tr>
<td>StdThinGrid</td>
<td>the basis for all of the
ThinGrid locales -- do not use.</td>
</tr>
<tr>
<td>StoneMaze</td>
<td>well lit indoor
multi-room maze with stone walls and ceiling</td>
</tr>
<tr>
<td>StoneRoom</td>
<td>well lit indoor room
with stone walls and ceiling</td>
</tr>
<tr>
<td>StoneGrid</td>
<td>well lit indoor
multi-room locale with stone walls and ceiling</td>
</tr>
<tr>
<td>StoneThinGrid</td>
<td>as StoneGrid but using
less memory/more cpu</td>
</tr>
<tr>
<td>Swamp</td>
<td>damp outdoor swampy
region</td>
</tr>
<tr>
<td>SwampGrid</td>
<td>a large multi-room damp
outdoor swampy region</td>
</tr>
<tr>
<td>SwampThinGrid</td>
<td>as SwampGrid but using
less memory/more cpu</td>
</tr>
<tr>
<td>ThinRoom</td>
<td>for internal use only</td>
</tr>
<tr>
<td>TreeSurface</td>
<td>a wooden
ClimbableSurface, such as the trunk of a tree</td>
</tr>
<tr>
<td>UnderSaltWater</td>
<td>beneath the ocean</td>
</tr>
<tr>
<td>UnderSaltWaterGrid</td>
<td>a multi-room 2D place
beneath the ocean</td>
</tr>
<tr>
<td>UnderSaltWaterColumnGrid</td>
<td>a multi-room place
beneath the ocean where every room is down</td>
</tr>
<tr>
<td>UnderSaltWaterMaze</td>
<td>a multi-room 2D maze
beneath the ocean</td>
</tr>
<tr>
<td>UnderSaltWaterThinGrid</td>
<td>as UnderSaltWaterGrid
but using less mem/more cpu</td>
</tr>
<tr>
<td>UnderWater</td>
<td>as wet as it gets...
unless you are a fish you won't live long</td>
</tr>
<tr>
<td>UnderWaterGrid</td>
<td>a huge multi-room
underwater locale</td>
</tr>
<tr>
<td>UnderWaterColumnGrid</td>
<td>a multi-room
underwater locale straight up and down</td>
</tr>
<tr>
<td>UnderWaterThinGrid</td>
<td>as UnderWaterGrid but
using less memory/more cpu</td>
</tr>
<tr>
<td>UnderWaterMaze</td>
<td>a huge multi-room maze
of underwater locales -- be careful!</td>
</tr>
<tr>
<td>WaterSurface</td>
<td>the surface of a lake or
river</td>
</tr>
<tr>
<td>WaterSurfaceColumn</td>
<td>the narrow surface of a
lake or
river</td>
</tr>
<tr>
<td>WaterThinSurface</td>
<td>as WaterSurface but
depths use less mem/more cpu</td>
</tr>
<tr>
<td>WetCaveMaze</td>
<td>as CaveMaze, but
extremely wet and nasty</td>
</tr>
<tr>
<td>WetCaveRoom</td>
<td>a wet and nasty CaveRoom</td>
</tr>
<tr>
<td>WoodenDeck</td>
<td>a resourceless outdoor
room that inherets weather</td>
</tr>
<tr>
<td>WoodRoom</td>
<td>well lit indoor room
with wooden walls and ceiling</td>
</tr>
<tr>
<td>WoodRoomGrid</td>
<td>well lit
multi-indoor-room with wooden walls and ceiling</td>
</tr>
<tr>
<td>WoodRoomThinGrid</td>
<td>as WoodRoomGrid but uses
less memory/more cpu</td>
</tr>
<tr>
<td>WoodRoomMaze</td>
<td>well lit
multi-indoor-maze with wooden walls and ceiling</td>
</tr>
<tr>
<td>Woods</td>
<td>thick with trees and
life, the bright forest</td>
</tr>
<tr>
<td>WoodsGrid</td>
<td>thick with trees and
life, multi-room expanse</td>
</tr>
<tr>
<td>WoodsThinGrid</td>
<td>as WoodsGrid but using
less memory/more cpu</td>
</tr>
<tr>
<td>WoodsMaze</td>
<td>thick with trees and
life, a multi-room maze of woodlands</td>
</tr>
</tbody>
</table>
<p>The type of room you pick can
have an important impact on the
residents of your world. The type of room can determine whether there
is a sky above the players, whether players in the room are affected by
weather events, whether there is any light in the room by default,
whether nightfall affects the lighting in the room, whether players
drown or require swimming, what kinds of resources are available from
the various player resource-gathering common skills, and whether
certain spells, prayers, skills, or commands work properly (Dirt
Kicking doesn't work in ShallowWater, for instance). Room types also
determine the maximum range of weapons used there, and the number of
movement points players must expend to cross it. For the purposes of
weapon ranges, outdoor rooms are size 10, indoor size 1, and caves size
5. For the purposes of movement cost (which can be adjusted by
encumbrance, condititions, and other factors: 1 point for street,
roads, skies, and most indoor rooms; 2 for a cave, desert, plains, and
water surface; 3 for hills, forest, jungle, under water movement, and
swamps; 4 for a climbing surface; 5 for mountainous; 6 for mountain
climbing surfaces; and 3-4 for LargeXRooms.</p>
<p>For each room you are drawing
on your graph parchment, you should
note in the Locale type of the room from the above list, or from the
list you received when you entered "list locales" into CoffeeMud. Keep
in mind that some rooms are multi-rooms. These Grids and Mazes
represent 2-Dimensional grids of rooms of a single sort. The dimensions
are entirely up to you, and can range from a thin 1x20 trail, to a wide
15x15 block. The mazes expand on this by creating weaving paths through
the grids.</p>
<p>The detailed properties of
rooms are discussed further in the
section on creating rooms.</p>
<p><strong><a name="exits"><font color="purple" size="5">Understanding
Exits</font></a></strong></p>
<p>Now surely you did not expect
everyone to conjure him or herself
from place to place! Why, the pitiful halfling thieves would starve in
their holes if this were so. No, each of the rooms you have drawn on
your paper will be connected with things called Exits.</p>
<p>For any two rooms that one can
travel between, there are always two
exits. One exit leads from the first room to the second. Another exit
leads from the second room to the first. Usually those exits are the
same, but they need not be if you don't want them to be so.</p>
<p>All exits will take a person
from one room to another, and may even
take them back again if you choose. An exit can only be located in one
of six directions: North, South, East, West, Up, and Down. The four
compass directions are easy to fathom, but be careful with up and down,
as they need not be unhindered flight, or a reckless fall. If, for
instance, the destination room is a Locale like "InTheAir", then Up
obviously represents the open sky. If it is another "StoneRoom",
however, it probably represents a flight of stairs. The Down direction
may represent falling off a cliff, but it may also represent a ladder
down to the basement. Either way is fine.</p>
<p>Exits, like rooms, can be of
many different types. If you are still
in CoffeeMud, enter the command "list exits". The list you receive
describes the many connectors that can be mixed and matched between
rooms. Some include doors, and some include doors with locks. There are
walkways with pits, doors with needle traps, and many others. By far
the most common of these Exits is called "Open". It describes a
completely free and clear path between the two rooms you are creating.
Here is the official list:</p>
<table bgcolor="yellow" border="1" cellpadding="1" cellspacing="1" width="75%">
<tbody>
<tr>
<td style="width: 25%;" width="25%">ClimbableExit</td>
<td>a passageway one must
climb through</td>
</tr>
<tr>
<td>Door</td>
<td>an ordinary closed door</td>
</tr>
<tr>
<td>FlyingExit</td>
<td>a passageway one must
fly through</td>
</tr>
<tr>
<td>GapExit</td>
<td>an exit one must jump
across or fall and DIE!</td>
</tr>
<tr>
<td>Gate</td>
<td>an ordinary closed gate</td>
</tr>
<tr>
<td>GenCurtain</td>
<td>the maleable
walk-through door</td>
</tr>
<tr>
<td>GenDoor</td>
<td>the maleable generic door</td>
</tr>
<tr>
<td>GenExit</td>
<td>the maleable generic exit</td>
</tr>
<tr>
<td>Grate</td>
<td>an ordinary closed grate
in the street</td>
</tr>
<tr>
<td>HiddenClosedDoorway</td>
<td>the venerable secret door</td>
</tr>
<tr>
<td>HiddenWalkway</td>
<td>a way that can be walked
through, but not seen without
searching</td>
</tr>
<tr>
<td>Impassable</td>
<td>no one may go that way</td>
</tr>
<tr>
<td>LockedDoor</td>
<td>an ordinary locked door</td>
</tr>
<tr>
<td>LockedGate</td>
<td>an ordinary locked gate</td>
</tr>
<tr>
<td>NeedleDoor</td>
<td>a door trapped with a
needle</td>
</tr>
<tr>
<td>Open</td>
<td>a normal walkable
passageway</td>
</tr>
<tr>
<td>OpenDescriptable</td>
<td>an open walkway thats
describable</td>
</tr>
<tr>
<td>OpenNameable</td>
<td>an open walkway thats
nameable</td>
</tr>
<tr>
<td>PitOpen</td>
<td>a walkable passageway
with a pit!</td>
</tr>
<tr>
<td>StdClosedDoorway</td>
<td>base class for closed
doors</td>
</tr>
<tr>
<td>StdExit</td>
<td>base class for all
exits, do not use!</td>
</tr>
<tr>
<td>StdLockedDoorway</td>
<td>base class for locked
doors</td>
</tr>
<tr>
<td>StdOpenDoorway</td>
<td>base class for open
walkways</td>
</tr>
<tr>
<td>TrappedDoor</td>
<td>a trapped and closed door</td>
</tr>
<tr>
<td>TrappedLockedDoor</td>
<td>a trapped and locked and
closed door</td>
</tr>
<tr>
<td>UnseenWalkway</td>
<td>a walkway that can not
be seen by any means</td>
</tr>
</tbody>
</table>
<br>
<br>
<p>As you finish your graph
parchment drawing, be sure to note those
places where there are doors, locked doors, pit traps, and open
walkways. If a door is one way, or if a door leads to one place when
one enters, but does not go back to there when one leaves, make a note
of that too. The doors listed above are ever vigilant in decorum--
doors that are opened by players will re-close in time, and locks are
resecured.</p>
<p>However, it may come to pass
that there is a rickety straw door to
some hut you wish to have, but it was not listed among your choices.
Fear not, for there is "GenExit" and "GenDoor". "GenExit" stands for
"Generic Exit", and represents the finest in Archon power. A completely
customizable exit flowing from one room to another. And thusly are
exits divided from each other: the GenExits and GenDoors are
customizable, flexible, changable, and otherwise maleable. All the
other exits, however, are "Standard", meaning they are not very
customizable at all, but they do load very quickly, and take up very
little memory compared to a GenExit. GenExits, as well as the other
features of exits, are discussed further in the section on creating
exits.</p>
<p><br>
<strong><a name="mobintro"><font color="purple" size="5">Understanding
That Which Creepeth Upon the Land</font></a></strong></p>
<p>The denizens of your land are
surely the greatest accomplishment you
will claim. From the lowly cooks in your kitchens to the great beasts
in the darkest dungeons, it is they who will be remembered by those who
visit your realm.</p>
<p>Funny then that for things so
important, they should have such a
short, ugly sounding name: MOB. If you are in CoffeeMud, you can list
them: "list mobs". It will show you every creature that can populate
your cities, dwell in your dungeons, or hide in your pantries. They are
too numerous to list here.</p>
<p>If a creature is not listed
there that you require, there is always
the GenMob, that nasty formless being that can be shaped by the Archon
to appear and behave exactly as it should. GenShopkeepers, GenPostman,
GenLibrarians, and GenBankers are available to provide valuable
services for your
community. GenDeitys give your Clerics employment. GenRideable mobs
provide transport. For more devious spirits, however, the GenUndead is
also available, to strike fear in the hearts of the purest cleric.
These mobs just mentioned form the troupe of "Generic" mobs, meaning
they are customizable and changeable from inside the mud. The other
mobs listed are classified as species "Standard" mob, meaning they are
not nearly as customizable, though they do load quickly, and take up
much less memory than the "Generic" mobs do.</p>
<p>GenMobs, as well as the
features of MOBs, are discussed further in
the section on creating MOBs.</p>
<p><strong><a name="itemintro"><font color="purple" size="5">The Things
We Treasure</font></a></strong></p>
<p>Our last planning topic is that
of the items that will be found in
your land. Some of them will be priceless once-in-a-lifetime creations.
Others will be reoccurring trapped chests that always seem to have
enough gold for those bold enough to continuously risk their guardians.</p>
<p>The items can be discovered
using the "list items" command. Other
items include weapons, which can be discovered through "list weapons",
armor from "list armor", and other miscellaneous enchanted items
through "list magic".</p>
<p>For those items you need by are
not present, there is also the
"GenItem", "GenBoat", "GenChair", "GenTable", "GenBed", "GenLimb",
"GenCoins", "GenCorpse", "GenKey", "GenLantern", "GenLightSource",
"GenCigar", "GenPipe", "GenMap", "GenResource", "GenLiquidResource",
"GenFoodResource", "GenRideable", "GenWallpaper", "GenJournal",
"GenBook", "GenPlayerBook", "GenContainer", "GenFood", "GenDrink",
"GenWater", and
"GenReadable". For the fighting spirit there is the "GenWeapon",
"GenStaff", and "GenArmor". Among the formless magical items are
"GenPill", "GenPowder", "GenPotion", "GenScroll", "GenWand", and
"GenSuperPill". These items just mentioned form the gluttony of
"Generic" items, meaning they are customizable and changeable from
inside the mud. The other items listed are classified as "Standard"
items, meaning they are not nearly as customizable, though they do load
quickly, and take up much less memory than the "Generic" items do.
These and the many properties of items are discussed below under the
section on creating items.</p>
<p><strong><a name="creation"><font color="purple" size="5">The Art of
Creation</font></a></strong></p>
<p>Before beginning, you should
log into CoffeeMud and take yourself to
some place that is adjacent to the area you will be forming. You should
also cast the spell of natural enlightenment using the following
command: "sysmsgs". You should see an utterance that reads "Extended
messages are now: ON".</p>
<p>Now your eyes will behold new
wonders when you look around the
rooms: You will see the Locale types of the room, the Room IDs that
have been assigned uniquely to each room, the Area IDs of the area you
are in. They should look like this:</p>
<p>Area :(MyArea)<br>
Locale: (StoneRoom)<br>
(MyArea#123) Joe Bob's Room</p>
<p>The first line lists the area
name, the second line the locale type
we talked about earlier, and the third line lists the Room ID, followed
by the Room Name. Take note of them all, my friend, and learn to
appreciate their beauty.</p>
<p><strong><a name="roomcreate"><font color="blue" size="5">Creating
Rooms</font></a></strong></p>
<p>Now that you have your plan
laid out, it is quite time to being
execution. Gather your strength, and begin harnessing the power of the
Archon, for you will need every ounce of it when the wood and rock
chips start flying.</p>
<p>To create a new room most
easily, you must first be standing in a
room adjacent to it, one that will be connected to it through some
exit. You will then utter the invocation of room creation, summoning
the Locale in the direction that the new room should be. For instance,
you wish to have a new room north of room "MyArea#123". If room
"MyArea#123&#8221; is already created, and the new room is going to
be
of the "StoneRoom" Locale, you would bring yourself to room
"MyArea#123" and utter the words: "create stoneroom north".</p>
<p><img alt="" src="images/createroom.gif"></p>
<p>At this point, you should cover
your ears, as the sound of a stone
room falling to the north is often quite disturbing. Between the two
rooms; the one you are standing in, and the one you have created, will
be a default exit: the Open exit. Most times, that is ok, though
changing it will be the subject of the next section.</p>
<p>However, once this is done, and
the rooms are irrevocably linked,
you can still throw a small twist on things. If you are still standing
in room "MyArea#123" and wish to create a NEW StoneRoom in the SAME
direction, it can be done. Uttering the words "create StoneRoom north"
AGAIN and a new room is created. Now, what happened with "MyArea#124"
you&#8217;re wondering? It is still there, and it still leads back
to
where you are standing -- a one way exit.</p>
<p><img alt="" src="images/createroom2.gif"></p>
<p><strong><a name="modrooms"><font color="blue" size="5">Modifying
Rooms</font></a></strong></p>
<p>For now, once you have created
a new room, it is time to design the
landscape of it. To do this, you should enter the room through the
default Open exit that was created for you. You will find the room
plain and boring.</p>
<p>To give the room a new name and
description, utter the invocation:
"modify room" and follow the promptings. The <em>display</em>
property
is the short name that appears at the top of the room description,
while the <em>description</em>
field is the long text. Type whatever text you like into these fields,
and feel the power as the place takes on a new form dictated by your
creative magic. These two fields support the CoffeeMud color codes
described in the Programmer's guide, as well as line breaks using
either %0D or \n. Normally, that's all you need to know. However, these
fields may also be customized to display different text depending on
the weather, season, or the time of day. This last is done by starting
the field with the string &lt;VARIES&gt;, and following it with
text
surrounded by the appropriate codes in the following format:
&lt;CODE&gt;text&lt;/CODE&gt;. In all of these cases,
the codes must be
in uppercase. Valid codes include: SUMMER, SPRING, WINTER, FALL, DAY,
NIGHT, DUSK, DAWN, RAIN, SLEET, SNOW, CLEAR, HEATWAVE, THUNDERSTORM,
BLIZZARD, WINDY, DROUGHT, DUSTSTORM, COLD, HAIL, CLOUDY,&nbsp;
SWIMMING, FLYING, CRAWLING, SITTING, CLIMBING, FALLING, INVISIBLE,
HIDDEN, VISITED, and MASKx. &nbsp;That last tag consists of the
word
MASK and a unique number, followed by a space and an argument
representing a ZAPPERMASK, such as, for example<span style="font-family: monospace;"> &lt;MASK22 -RACE
+DWARF&gt;This is
only seen by dwarves&lt;/MASK22&gt;</span>.
&nbsp; You can also use
&lt;ELSE&gt; to
catch
exceptions to your last VARIES tag.</p>
<p>Rooms of the Grid and Maze sort
present unique challenges to the
molder of universes. In the first place, if you have SYSMSGS turned on,
you will notice that the room ID displayed is a little different. In
addition to the room ID of the parent room, there is an additional set
of parenthesis showing where you are in the big grid room. It would
look something like this:</p>
<p>Area :(Coffee Grounds)<br>
Locale:(Plains)<br>
(Coffee Grounds#19#(0,2)) The Demitasse Demesnes</p>
<p>In this case, we are in Coffee
Grounds#19, child room at X=0, Y=2.</p>
<p>You will notice that you are
unable to modify child rooms like this
one. In the case of Grids and Mazes, you must be inside the Parent room
to perform modifications. To get to the parent room, use the GOTO
command. In the example above, we would enter "goto Coffee Grounds#19".
This will allow us to properly modify the room, and add any creatures
(mobs) to it later on.</p>
<p>Once you are in the parent room
of a Grid or Maze, you may use
"modify room" to modify the properties of the entire grid or maze. You
can modify things like the dimensions in the X and Y, to make your grid
anything from a long hallway to a giant hedge maze.</p>
<p>Modifying the <em>display</em>
and <em>description</em>
fields
also
has unique consequences inside a Maze or Grid. You may enter a random
selection of text strings to display into each of these fields, so long
as you remember to separate each individual text selection by the
&lt;P&gt; string. For example:</p>
<p>Display: 'First Display
Title&lt;P&gt;Second Display
Title&lt;P&gt;Third Display Title'<br>
Description: 'First Description&lt;P&gt;Second
Description&lt;P&gt;Third Description'</p>
<p>The above, when placed in a
grid or maze locale, will cause
CoffeeMud to select randomly among three different display
title/description combinations. Since there is an equal number of
display and descriptions given (3), the display and titles will always
be matched up in the grid children rooms.</p>
<p>After you have made your
modifications to the grid parent room
display and description, use the "reset room" command to have them take
effect.</p>
<p>The "reset room" command will
force CoffeeMud not only to reset a
grid or maze, but to reload the creatures and items last saved in the
CoffeeMud database. This can be useful if you make a few critters or
things you don't want to keep and havn't yet saved. A corresponding
"reset area" command does the same for the whole area.</p>
<p>And speaking of areas, rooms
also may have behaviors and effects
added to them, including a few more. In this case, the behaviors and
effects above will only be active for this particular room. Aside from
those listed under Areas above, here are additional Behaviors you might
enjoy:</p>
<p>"DelayedTransporter" causes all
those who enter to be whisked
elsewhere.<br>
"Emoter" - yea -- this is mentioned under Areas, but it's just sooo
cool.<br>
"FasterRecovery" - makes the players recover their stats faster in this
room.<br>
"FieryRoom" - stuff catches on fire here! watch out!<br>
"InstantDeath" - nuff said.<br>
"Mime" causes the room to mimic players. Wierd.. yea, I know.<br>
"MovingRoom" the fast train to somewhere.<br>
"ProtectedCitizens" will allow resident mobs to scream for help and
receive it when attacked.<br>
"RandomMonsters" will cause monsters from a saved file to appear here.<br>
"RandomItems" will cause items from a saved file to appear here.<br>
"ItemGenerator" will create treasure and items for your rooms.<br>
"RandomTraps" will cause random traps to be set here.<br>
"ResourceOverride" if you want fishing in the desert, or sand in your
swap, this is the way to go.<br>
"Scriptable" makes the room react to events in a scripted way.<br>
"ScriptableEverymob" same as scriptable, but applies itself to all the
mobs born here.<br>
"Sounder" is still a good alternative to Emoter.<br>
Lots of other properties and effects are also available for rooms. In
addition to all the ones listed above under Areas, here are a few more
you might want to add:</p>
<p>"Prop_AbilityImmunity" protects
the room from specified targeted
spells.<br>
"Prop_ClosedDayNight" turns off the lights in a lit room at nighttime.<br>
"Prop_ClosedSeason" turns off the lights in a lit room during a season.<br>
"Prop_CommonTwister" jumbles up the usefulness of gathering common
skills.<br>
"Prop_Crawlspace" forces players to crawl through here.<br>
"Prop_EnlargeRoom" forces players to use more movement traveling
through here.<br>
"Prop_EnterAdjuster" affect the occupants stats permanent when entering
the room.<br>
"Prop_HereAdjuster" affecst the occupants stats when in the room.<br>
"Prop_HereSpellCast" affect the occupants with spells when in the room.<br>
"Prop_IceBox" Keeps food from spoiling.<br>
"Prop_ItemTransporter" drop it, and its gone -- elsewhere.<br>
"Prop_ItemReceiver" is the elsewhere.<br>
"Prop_LotsForSale" puts this room up for sale, and ensures that you
never run out of new rooms to buy.<br>
"Prop_ModExperience" makes kills more profitable in this room.<br>
"Prop_MagicFreedom" makes the room an unhappy place for mages.<br>
"Prop_NarrowLedge" makes this a room you can cross.. if you are very
very careful.<br>
"Prop_NoChannel" makes the room safe from channel messages.<br>
"Prop_NoCharm" makes the room safe from charming.<br>
"Prop_NoOrdering" makes the room safe from player ordering.<br>
"Prop_NoPurge" makes the room safe for dropped garbage.<br>
"Prop_NoPKill" makes the room safe from player killing.<br>
"Prop_NoRecall" makes the room safe from recalling.<br>
"Prop_NoSummon" makes the room safe from summoning.<br>
"Prop_NoTeleport" makes the room safe from teleporting in.<br>
"Prop_NoTeleportOut" makes the room safe from teleporting out.<br>
"Prop_NoTelling" makes the room safe from telling between players.<br>
"Prop_Peacemaker" makes the room safe.<br>
"Prop_ReqAlignments" lets you limit the alignment of all who enter.<br>
"Prop_ReqCapacity" lets you limit the number of folks or items in the
rooms.<br>
"Prop_ReqClasses" lets you limit the character class of those who enter.<br>
"Prop_ReqNoMOB" to make your area a player-only place to be.<br>
"Prop_RestrictSpells" lets you limit specific skills or spells from
being used here.<br>
"Prop_ReqEntry" lets you limit entry to folks by many different
criteria.<br>
"Prop_ReqHeight" keeps out tall people, or at least those unwilling to
crawl.<br>
"Prop_ReqLevels" lets you limit entry by levels.<br>
"Prop_ReqRaces" lets you limit entry by race.<br>
"Prop_ReqTattoo" lets you limit entry to players with certain
builder-definable tags.<br>
"Prop_ReqPKill" makes this a place that only the bloodthirsty may enter.<br>
"Prop_RestrictSpells" shuts down a list of spells that you provide.<br>
"Prop_RoomDark" makes the whole area a place in need of light.<br>
"Prop_RoomLit" makes the whole area lit, even at night.<br>
"Prop_RoomForSale" puts this one little room on the market.<br>
"Prop_RoomsForSale" designates that this room, and all others like it
nearby, are for sale as a group.<br>
"Prop_RoomUnmappable" makes the whole area unmappable by mundane means.<br>
"Prop_RoomView" makes this room seem to be another...<br>
"Prop_RoomWatch" allows folks in other rooms to watch what goes on here.<br>
"Prop_Smell" gives the place a smell.<br>
"Prop_SparringRoom" makes the consequences of death more palatable.<br>
"Prop_SpellAdder" puts everyone who enters under its spell.<br>
"Prop_TattooAdder" puts a little something on all who enter.<br>
"Prop_Transporter" send those who enter to the room you designate.<br>
"Prop_Trashcan" destroys stuff dropped on the ground.<br>
"Prop_WeakBridge" makes cross this room very very dangerous.<br>
"Spell_Light" to keep things lit.<br>
"Spell_Silence" to quiet things down.<br>
And lots and lots of traps to put in your rooms: "Thief_Caltrops",
"Thief_DeathTrap", "Thief_Listen", "Thief_MinorTrap", "Thief_Trap",
"Trap_AcidPit", "Trap_Avalanche", "Trap_BearTrap", "Trap_Boulders",
"Trap_CaveIn", "Trap_CrushingRoom", "Trap_Darkfall", "Trap_DeepPit",
"Trap_Enter", "Trap_EnterBlade", "Trap_EnterGas", "Trap_EnterNeedle",
"Trap_EnterSpell", "Trap_FloodRoom", "Trap_MonsterCage", "Trap_RatPit",
"Trap_RoomPit", "Trap_SnakePit", "Trap_Snare", "Trap_SpikePit",
"Trap_Tripline".</p>
<p>Ok! Back to work!</p>
<p>If you are ever wandering
around, and wish to go directly to a room
you have created, you may utter the magic matra "goto RoomID". For
instance, entering "goto MyArea#123" would take you to the room we
created above. This will especially come in handy when we begin to
create and destroy the links between rooms, and there is no other way
to get to a room.</p>
<p><strong><a name="linkrooms"><font color="blue" size="5">Linking Two
Rooms Together</font></a></strong></p>
<p>Now that you have created a
room, and wish to link one of the rooms
in your area with one of another, you can use a command that utilizes
the Room IDs mentioned above. If you would like to create a northerly
link from room "MyArea#123" to a room whose room ID is "MyArea#124",
then you need only stand in room "MyArea#123" (use the "goto" command
if you must), and utter the invocation: "link MyArea#124 north". This
will create an Open exit between the room you are standing in, and the
room whose ID is born out.</p>
<p><img alt="" src="images/linkroom.gif"></p>
<p>You should note that this
command could be used as it was in the
last section to create one-way exits to existing rooms.</p>
<p><strong><a name="unlinkrooms"><font color="blue" size="5">Unlinking
Two Rooms</font></a></strong></p>
<p>If you wish to detach two rooms
from each other, you need only learn
the "unlink" command. If you are standing in the room to the south of
the one you wish to unlink, and the room you wish to detach from is to
the north, utter the command: "unlink north". It will do the trick!</p>
<p><img alt="" src="images/destroyroom.gif"></p>
<p>Keep in mind that just because
there is no longer a route from the
room you are in to the other via a northerly path, it does not mean
that there is no path from the detached room back to here again. You
may have to conjure yourself into the other place and enter a "unlink
south" command to completely detach them forever.</p>
<p><strong><a name="xrooms"><font color="blue" size="5">Destroying a
Room</font></a></strong></p>
<p>Sometimes the pain born from a
failed or evil place is too much to
bear, and as an Archon, you can do something about it. This involves
the destroy command. It does not merely unlink the room, but
obliterates it altogether and forever. To do this, first make sure you
are not standing in the room you wish to destroy. Such destructive
magic would surely be your end as well. Then you must utilize the Room
ID of the doomed place. If the room you wish to destroy has the Room ID
of "MyArea#124", then enter: "destroy MyArea#124". It will obliterate
that place from the planet forever.</p>
<p><img alt="" src="images/destroyroom2.gif"></p>
<p><strong><a name="exitcreate"><font color="blue" size="5">Creating
Exits</font></a></strong></p>
<p>The difference between Exits
and Rooms is a very important one.
Creating and destroying Rooms describes <em>WHETHER</em>
two rooms are
connected, and by which direction. Creating and destroying Exits
describes <em>HOW</em>
one gets from one room to the next. Two rooms
must be connected together before exits between them can be modified.</p>
<p>For instance, suppose you
linked "MyArea#123" and "MyArea#124" as
described above. By default, you get an StdOpenDoorway, also known as
an "Open" exit. These exits can be walked through freely. Now suppose
you wish to have a Door between the two rooms. If the exits between the
two rooms are both the same, and you are standing in the southernmost
room of the two, then changing them both is simply a matter of issuing
the command "create Door north".</p>
<p><img alt="" src="images/createexit.gif"></p>
<p><strong><a name="xexits"><font color="blue" size="5">Destroying Exits</font></a></strong></p>
<p>Just as unlinking rooms
disconnects them, destroying exits can SEEM
to disconnect them. When you issue a simple destroy command, and refer
specifically to the exit, then you will not be destroying the link
between the two rooms, but merely the exit that travels between them.
Archons can still travel through these missing links, but players will
not be able to. Also, destroying an exit only deletes the exit in one
direction, not both. For instance, if you are standing in the southerly
room of two linked rooms that both have Exits between them, and you
issue the command "destroy exit north", you will destroy the Open exit
between the rooms. As an Archon, you can still travel north through the
destroyed exit, but players will not be able to.</p>
<p><img alt="" src="images/destroyexit.gif"></p>
<p>Now, that an exit has been
deleted, it is possible to create a
DIFFERENT kind of exit for the northerly direction from MyArea#123 to
MyArea#124. Issuing a create command like "create Door north" will
create a door that leads from MyArea#123 to MyArea#124, WITHOUT
AFFECTING the Open path from MyArea#124 to MyArea#123. This is only
possible when the exits between two rooms are different, or one is
deleted, as is our case here.</p>
<p><img alt="" src="images/destroyexit3.gif"></p>
<p>Now, suppose you wanted to have
the same Door going between two
rooms. For sure this is a more common scenario than the example we just
went through. To do this, you must first delete BOTH of the exits
between two rooms as described above. That means entering MyArea#123
and entering "destroy exit north", and then entering MyArea#124 and
entering "destroy exit south".</p>
<p><img alt="" src="images/destroyexit2.gif"></p>
<p>Now, with both exits deleted
(and thus the same), you can create a
single door between them as we did in the first part of this section
using the "create Door south" command.</p>
<p><img alt="" src="images/createexit2.gif"></p>
<p><strong><a name="areas"><font color="blue" size="5">Creating and
Modifying Areas</font></a></strong></p>
<p>A town or village, country or
demesnes can hardly come to be without
the careful demarcation of their borders. What separates the town from
the country, or one country from another? Like everything else, this is
the decision of the Archon as he groups his rooms into Areas.</p>
<p>The best way to create your
areas is to do so right from the start.
The moment you create the first plot of land in your new area, or lay
down the first building in your new town, you should designate it as
such. Enter the new room in your new area and utter the mystic chant
"modify room area New Area Name". Of course, where "New Area Name" can
be anything you wish. Call it "Newarea Land" or "Goldfish Villiage" or
"The Fruity Phantasm" or whatever strikes your fancy.</p>
Now that you have designated your new room as belonging to a new area,
it is important to remember to create all future rooms by doing so from
rooms that already belong to the new area. Any future rooms that you
build by standing in your new area room will bear its area mark, as
well as any rooms created from any other room bearing the new area
mark. If you fail then, you may be forced to invoke the power of the
"modify room area..." command again to re-group the rooms you are
creating.<br>
<p>When you create a new area, you
will be asked for the arcane "type
of area" you want to create. We will now take a second to peruse the
different area types:</p>
<table bgcolor="yellow" border="1" cellpadding="1" cellspacing="1" width="75%">
<tbody>
<tr>
<td style="width: 25%;" width="25%">StdArea</td>
<td>This is a standard,
every-day area in your every day
world. All of CoffeeMuds features work just fine with it, as it has no
restrictions or limitations. The standard area always has its own
weather, and inherets its calendar. Use this type for your most often
used areas, your areas with lots of special features, and your most
important areas, especially when they are less than 700 rooms.</td>
</tr>
<tr>
<td>StdGridArea</td>
<td>The standard Grid area
is identical to a standard
area, except that there is a limitation on the number of rooms that can
be in a grid area. That limitation is always based on the width and
height dimensions you have defined for it. The maximum rooms is always
width X height. You probably won't notice any differences between a
standard area and a standard grid area unless you use the MUDGrinder
visual area editor. This is because grid areas always position their
rooms at a single coordinate location on the visual editor screen, and
it never ever moves from that position. This can be a blessing for
those creating carefully pre-planned areas that fit nicely in 2
dimensional graphs. It can also be a blessing for big areas (&gt;
200
rooms), since the MUDGrinder will let you edit a grid area in sections,
and the rooms won't move around on you when you re-link them. Use this
area type if you do a lot of MUDGrinder visual work. It can be a curse
for more organic area designers, however.</td>
</tr>
<tr>
<td>StdPlanet</td>
<td>A standard planet is
mostly unimplemented at this time. It
inherets the features of the StdArea and the StdTimeZone.</td>
</tr>
<tr>
<td>StdAutoGenInstance</td>
<td>An area that reads xml
files allows it to generate random
rooms with random mobs and content. &nbsp;When players enter the
area,
they are given a new instance of a generated area that is destroyed
after they have left. &nbsp;See the GENERATE command for more
information on random generated areas.</td>
</tr>
<tr>
<td>StdBoardableShip</td>
<td>An area that's for
internal use only, as it expects to be
tied to a portal item. &nbsp;It manages links between itself and
the
portal, and allows certain messages to flow between the item location
and itself.</td>
</tr>
<tr>
<td>StdSpaceShip</td>
<td>The space ship is
definitely unimplemented at this time.
Don't bother with it. It lacks many of the features of the other area
types.<br>
</td>
</tr>
<tr>
<td>StdThinArea</td>
<td>A thin area is the same
as a standard area with one
difference. The rooms in a thin area are not loaded at mud boot time.
Instead they are loaded only when a player, mob, or a special built
feature (such as a random monsters behavior) causes one or more rooms
to be loaded. Thin areas will also periodically unload their rooms when
they havn't been accessed in 40 minutes or so. Thin areas are fantastic
for enormous (&gt;1000) room areas that span massive ranges. They
won't
gobble up your system resources. They are bad for popular areas though,
and for areas with lots of special features. Things like the legal
system and conquest system don't work well with them, since an officer
may not know where to find the local judge when someone is arrested (if
the judges chambers are one of the rooms not yet loaded). If you are
short on memory, or your area is one you need to have, but doesn't have
to do much, the thin area is for you.</td>
</tr>
<tr>
<td>StdThinInstance</td>
<td>A thin instance is the
same as a StdThinArea above,
but&nbsp;with its own differences. &nbsp;Whenever a player or
group
enters one of these areas, a new copy of the area is created for the
player group to run around in. &nbsp;Players grouped together will
always be in the same one, while the next group will have their own
copy. &nbsp;The exception to this rule is administrators of the
area,
which will always be able to roam around in the main, base area.
&nbsp;Players will never have their location saved in one of the
area
copies, and if an area copy should ever go uninhabited for an hour or
so, the copy will be erased from memory. &nbsp;This area type is
great
when you want every player or group to experience a particular area in
its pristine state, no matter how many of them want to go there at the
same time.</td>
</tr>
<tr>
<td>StdTimeZone</td>
<td>A standard time zone is
the same as a standard area, except
that it can have its very own calendar. Any "child" areas of a time
zone area will also inheret its calendar.</td>
</tr>
<tr>
<td>StdThinGridArea</td>
<td>A standard thin grid
area is a mixture between the
grid area and the thin area. It combines the benefits and limitations
of both. Use them only when you need to have a largenormous area with
not much going on, like a planet-girdling wilderness that surrounds
your more standard areas, for instance.</td>
</tr>
<tr>
<td>SubThinInstance</td>
<td>Like a Standard Thin
Instance, but with a name requirement.
&nbsp;If the name of the SubThinInstance has an underscore followed
by
the name of an existing normal area, or a word followed by a space
followed by the name of an existing area, then this instance will be a
thin copy of the area whose
name follows. &nbsp;For example, "New_Midgaard" or "New Midgaard"
would
create a thin
version of Midgaard.</td>
</tr>
</tbody>
</table>
<br>
<p>Areas also contain important
properties which may be modified. Enter
the secret code "modify area" to go through a list of these modifiable
properties.</p>
<p>The <em>name</em>
and <em>description</em>
of the area may be
changed by following the promptings. You may also tinker with the <em>climate</em>
of your area, which will affect the types of weather that will blow
through it, and how mild or severe the winters and summers may be, or
the <span style="font-style: italic;">atmosphere</span>
in the area,
which will decide whether your players can breathe, or you can set them
both to inherit their values from parent areas . &nbsp; You may
also
change the&nbsp;<span style="font-style: italic;">player
level.&nbsp;</span>This
field is normally 0, and will cause the actual median level of the mobs
in the area to be used for calculating area suggestions, whereas a
non-0 number will use that one instead.</p>
<p>This
editor is also where you may add <em>Staff</em>.
A player whose name is listed as Staff has no additional powers unless
their player Security settings grant them specific AREA privileges. In
that case, the player would be able to use their area privileges in the
area where they are listed as Staff. The section on Security above
mentions all this stuff in more detail. Typically, a player is listed
as Staff, and then given several area creation privileges in order to
assist in area building and modifying. After all, sometimes creating a
universe becomes a little bit too much work for one person.</p>
<p>Strange settings like <em>Technology
Level</em> and <em>Archive
File Name</em>
are available on the area promptings. Don't worry about these. The
former is not very important at the moment, and the second is a bit too
obscure for these lessons. And then there are <span style="font-style: italic;">Blurb Flags</span>,
which are flags whose
descriptions can be displayed when one displays the help for the area.
&nbsp;</p>
<p>One of the special area types
is the StdAutoGenInstance, which also
has several special fields,
such as <span style="font-style: italic;">Xml
File Path</span> to
designate the file path (from your resources directory) to find the
room definition xml file, and a set of
miscellaneous <span style="font-style: italic;">variable</span>
settings. &nbsp;Almost all of these StdAutoGenInstance settings are
extremely dependent on the particular xml definition file you use, so
look over /resources/randareas/example.xml to read about how to make
new ones. The format of the variable string is VAR=VALUE VAR2="VALUE"
etc.&nbsp;&nbsp;Some variables that are important to the
example
randomdata file given above include <span style="font-style: italic;">area_ids</span>
for a comma-delimited list of what kinds of random rooms to generate, a
comma delimited list of&nbsp;<span style="font-style: italic;">theme</span>&nbsp;names
that&nbsp;describe the theme
of the random rooms, a &nbsp;<span style="font-style: italic;">level_range
</span>formula to determine the
level range of your area, an <span style="font-style: italic;">aggrochance
</span>formula
to determine
the percentage chance the random mobs are aggressive,&nbsp;an areasize
formula to determine the number of rooms in the new area, and <span style="font-style: italic;">passivemins</span> to set the number of minutes an instance remains passive before being deleted. &nbsp;You
may
insert the string @x1 through @x7 into your math formulas to substitute
the current
players level, lowest, median, average, highest, total levels, and
group size respectively,
allowing you to have the formula values scale with user
level. You can also take advantage of the CoffeeMud scripting engine
to insert Scriptable-style variables into your variable values.</p>
<p>You will also be asked to add
any <em>behaviors</em>
and <em>effects</em>
to the area that you wish to. These may seem strange at first, and
usually you won't add any of these at all. After all, rarely does a
plot of dirt exibit any behavior, and what the heck is an effect? Well!
To the first, the wind blowing through the trees, the hoot of an owl,
or a distant cackling noise are all considerable behaviors. In fact, it
is a behavior called "Emoter". Enter "ahelp emoter" for more
information about the Emoter behavior. There are other behaviors that
Areas may benefit from too. Here are some examples:</p>
<p>"Arrest" will add law and order
to your area, with resident mobs
playing the cops and the judges.<br>
"Conquerable" has all the features of Arrest, plus it makes the area
conquerable by clans!<br>
"Emoter" is what I mentioned above -- it's for inserting those cute
little blurbs in the area.<br>
"FasterRoom" makes everything happen twice as fast here (or faster!)<br>
"InstantDeath" makes everything that comes here DIE!!!!!<br>
"LinkedWeather" makes the weather in this area mimic the weather from
another area.<br>
"ProtectedCitizens" will allow resident mobs to scream for help and
receive it when attacked.<br>
"PuddleMaker" will scatter some puddles around after rain or snow.<br>
"RandomMonsters" will populate the area with lots of hideously random
creatures that you choose.<br>
"RandomItems" will cause items from a saved file to appear here.<br>
"ItemGenerator" will create treasure and items for your rooms.<br>
"RandomTraps" will scatter some traps around your area.<br>
"ResetWhole" will cause the whole area to re-boot every so often, thus
supplementing the natural "rejuv" process.<br>
"Scriptable" allows you to script the behavior of the room in a limited
sense.<br>
"ScriptableEverymob" allows you to script all the mobs in the area at
once.<br>
"Sounder" is also for inserting little blurbs, plus it reacts to player
actions.<br>
"WaterCurrents" will make those on the water bob and flow in the
direction you specify.<br>
"WeatherAffects" will make the players really FEEL the weather.</p>
<p>As for effects, well, effects
are special properties which you can
attach to your new little holes in the ground. There are lots of nice
properties that one may add to an Area, which will affect every room in
it, such as:</p>
<p>"Merchant" to establish a store
front that follows the players from
room to room.<br>
"Prop_AreaForSale" to make the entire area purchasable by a shopkeeper
in the area.<br>
"Prop_CommonTwister" to mix up the resources gained from using
gathering skills in the area.<br>
"Prop_Crawlspace" to make the entire area require crawling through.<br>
"Prop_EnlargeRoom" makes crossing the area eat up more Movement.<br>
"Prop_MagicFreedom" to fluster any spell-using folks that happen along.<br>
"Prop_Hidden" will make the area unlisted to normal players.<br>
"Prop_ModExperience" modifies experience gained in this area..<br>
"Prop_NoChannel" for a place of quiet.<br>
"Prop_NoCharm" lets everyone remember who their REAL friends are.<br>
"Prop_NoOrdering" keeps players from being bossy.<br>
"Prop_NoPKill" keeps out the riffraff.<br>
"Prop_NoRecall" keeps folks from taking the easy way out.<br>
"Prop_NoSummon" makes sure that everyone leaves of their own free will.<br>
"Prop_NoTeleport" keeps those silly mages from teleporting in.<br>
"Prop_NoTelling" prevents players from using the TELL command to each
other.<br>
"Prop_NoTeleportOut" keeps those silly mages IN.<br>
"Prop_PeaceMaker" to go with it if you want peace AND quiet.<br>
"Prop_ReqAlignments" lets you limit the alignment of all who enter.<br>
"Prop_ReqCapacity" lets you limit the number of folks or items in the
rooms.<br>
"Prop_ReqClasses" lets you limit the character class of those who enter.<br>
"Prop_ReqNoMOB" to make your area a player-only place to be.<br>
"Prop_RestrictSpells" lets you limit specific skills or spells from
being used here.<br>
"Prop_RoomDark" makes the whole area a place in need of light.<br>
"Prop_RoomLit" makes the whole area lit, even at night.<br>
"Prop_RoomUnmappable" makes the whole area unmappable by mundane means.<br>
"Prop_ReqEntry" lets you limit entry to folks by many different
criteria.<br>
"Prop_ReqHeight" keeps out tall people, or at least those unwilling to
crawl.<br>
"Prop_ReqLevels" lets you limit entry by levels.<br>
"Prop_ReqRaces" lets you limit entry by race.<br>
"Prop_ReqTattoo" lets you limit entry to players with certain
builder-definable tags.<br>
"Prop_ReqPKill" makes this a place that only the bloodthirsty may enter.<br>
"Prop_Smell" gives off a unique aroma when players use their SNIFF
command.<br>
"Prop_Weather" to have the same weather in an Area all the time.<br>
<br>
To learn more about the properties you can add to areas and rooms,
enter "ahelp" while you are in CoffeeMud. Now, isn't this fun?
Remember, if you make a mistake, fear not, for the land does not grow
weary of your molding.</p>
<p>The final settings are the Area
Default Economic settings for your
area and include the following: <span style="font-style: italic;">Currency</span>,
<span style="font-style: italic;">Ignore
Mask</span>, <span style="font-style: italic;">Inventory
Reset Rate</span>,
<span style="font-style: italic;">Prejudice
Factor</span>, <span style="font-style: italic;">Item
Pricing Factor</span>,
<span style="font-style: italic;">Devaluation
Rate</span>, and <span style="font-style: italic;">Budget</span>
. See the next section
called "What Areas Are Worth" for more information on these.</p>
<p><strong><font color="#0000ff" size="5">What
Areas are Worth</font></strong></p>
<p><span style="font-weight: bold; font-style: italic;">Currency</span></p>
<p>Currency is the system of money
used by the inhabitants of the area.
It is defined using the <em>Currency</em>
field when creating and modifying Areas as discussed in the previous
section. All of the bankers, money changers, tax collectors, postmen,
and shopkeepers will deal in the currency that you define for the area.
By default, all areas will use a system of currency that includes gold
coins, and golden notes, whole notes, and Archon notes. You can change
this system by defining your own, however. The way you do this is by
entering a name for your currency, followed by an equal sign, and then
a series of relative values and currency names, all separated by
semicolons. Let's look at an example:</p>
<pre>US=1.0 penny(s);10.0 dime(s);25.0 quarter(s);100.0 dollar(s)<br></pre>
<p>In the currency we have defined
here, we have four different
currencies: the penny, the dime, the quarter, and the dollar. Notice
that each currency is separated by a semicolon in our definition
string. Each entry includes two or possibly three parts. The first part
is the base value, the second part is the name of the currency, and the
optional third part is a "short name" used by shopkeepers when listing
prices.</p>
<p>The first part of each currency
entry tell us how much one unit of
that currency is worth <strong><em>relative
to the base coffeemud unit
of value</em></strong>.
This base unit of value is used throughout the system, and can be
thought of as equal to one gold coin in the default currency. For this
reason, it is wise for Archons to become familiar with the value of
things in the default currency before defining their own. Under the
system we gave in our example, a penny is worth 1.0 or the same as 1 of
a base coffeemud unit of value. The dollar is worth 100.0 or exactly
one hundred times the base unit value. The only rule when defining the
worth of your currency units is that all currency values MUST be evenly
divisible by the lowest valued unit. In this case, all of our values
are evenly divisible by the penny, so we are safe.</p>
<p>The second part of each
currency entry is the name of the currency
unit. This can be any name you choose. The fact that the name of the
currency ends with (s) tells us that the system should include the
trailing letter 's' when there are more than one of that currency unit
listed.</p>
<p>It is completely optional, but
if you wish, you may also include a
short name for each currency unit entry. If an entry contains a short
name, it will tell the shopkeeper to try and display its currency using
just those units. If none of the unit entrys contain short names, then
shopkeepers will tend to display their prices in multiples of the
lowest valued unit, in this case, pennys. Here is an example of that
same currency redefined with short names.:</p>
<pre>US=1.0 penny(s) (p);10.0 dime(s) (d);25.0 quarter(s) (q);100.0 dollar(s) ($)<br></pre>
<p>In this new example, we have
defined short forms for each currency,
allowing shopkeepers to choose the most appropriate one. The prices
will END with the letter p, d, s, or q depending upon which currency
the shopkeeper chooses to display the currency in.</p>
<p>Once you have defined your
currency in at least one area, you may
use it throughout your mud by simply entering its name alone in the <em>Currency</em>
field when you edit your area settings. In our example, US would be a
sufficient value for the <em>Currency</em>
field to tell the system to re-use our US currency in that area. You
may also redefine the default coffeemud currency throughout the entire
system by NOT entering a name for your currency. For example.:</p>
<pre>=1.0 penny(s) (p);10.0 dime(s) (d);25.0 quarter(s) (q);100.0 dollar(s) ($)<br></pre>
<p>This last example, since it
contains a blank currency name, would
make our U.S. currency system the default one used throughout
coffeemud, or wherever the <em>Currency</em>
value in the area
settings is also empty.</p>
<p><span style="font-weight: bold; font-style: italic;">Economic
Ladder</span></p>
<p>Economics in CoffeeMud begins
way down at the lowly ShopKeeper, in
whom all economic factors come directly to play. From there it winds
its up through the Areas and into the heavens where the document called
coffeemud.ini resides. Said another way, all of the economic settings
are available for changing on a shopkeeper by shopkeeper basis if it
pleases the Archons. If you choose not to give specific economic
settings to a particular shopkeeper, then CoffeeMud will check that
ShopKeepers home Area for a setting. If that fails, it will eventually
end up taking the global value for an economic setting from the
coffeemud.ini file; settings which are identical to those found in the
MUDGrinder's Control Panel. Since these economic settings are found in
all three places (on shopkeepers, on areas, and in the coffeemud.ini
file/MUDGrinder), it seemed suitable to discuss them in one place, so
away we go:</p>
<p><span style="font-weight: bold; font-style: italic;">Budget</span></p>
<p>A Budget is the maximum amount
of local currency, per a defined time
period, which shopkeepers will spend when buying equipment from players.</p>
<p>The format of a budget
definition is an amount of money (in base
values only) followed by the name of period (HOUR, DAY, WEEK, MONTH,
YEAR). All of these time periods are **MUD** time periods, where one
hour is about 10 minutes of real life time. For example, a budget of
"200 DAY" means that the shopkeeper will not buy more than 200 gold per
day of any equipment from players, assuming that gold=1.0 in currency
value.</p>
<p><span style="font-weight: bold; font-style: italic;">Ignore
Mask</span></p>
<p>An Ignore Mask tells
ShopKeepers what sort of Riff-Raff to not do
business with at ALL. If left blank, the shopkeeper will happily serve
anyone, or defer to his Area or global settings regarding who to
ignore. If not blank, the mask describes who the shopkeepers will do
business with, leaving everyone else to be ignored.</p>
<p>The syntax for this mask is the
all-powerful Zapper Mask, which is
described best under the help entry for ZAPPERMASKS. A ignore
mask such as:</p>
<p>-RACE +Elf</p>
<p>... will have the shopkeeper
ignore everyone but elves.</p>
<p style="font-weight: bold; font-style: italic;">Devaluation
Rate</p>
<p>Devaluation Rates limit the
number of EACH PARTICULAR item that a
shopkeeper will keep in his inventory. This provides a ceiling on the
number of unique items of a kind which a shopkeeper will purchase from
players.</p>
<p>The way this works is by
defining how far the price drops, in
percentage, every time the player sells an item to a shopkeeper.
Decimals (real numbers) are allowed in this field. This field may also
be used to differentiate between the rate of devaluation of raw
resources and other finished items. A devaluation rate consisting of a
single integer represent the devaluation percentage % of all items,
while a devaluation definition consisting of two integers seperated by
a space would represent the devaluation of finished items and raw
resources respectively.</p>
<p>For example, a value of "20"
would mean that the shopkeepers value
price drops by 20% every time this shopkeeper buys a particular item.
If the shopkeeper buys two, it would be 40%. Three would be 60% and so
forth. This effectively limits the shopkeeper to buying to more than 5
of any item (5 * 20) == 100%. A value of "20 0.5" would mean a
devaluation rate of 20% for finished items, and 0.5% (1/2%) for raw
resources.<br>
</p>
By default, shopkeepers devalue at a rate of 20% and 0.2%, which is
defined in the coffeemud.ini file. If you want a particular shopkeeper
to never devalue items, or to defer to his area or globally for his
settings, set the value of this field to nothing (meaning no
devaluation)<br>
<p style="font-weight: bold;"><span style="font-style: italic;">Item
Pricing Factors</span></p>
<p>Item Pricing factors allow the
Archon to adjust the prices the
ShopKeeper sells from the programmed normal, based solely on the type
of item. It always works in tandem with all the other pricing and
rating factors described herein, of course, so this is hardly the only
fields that can affect item pricing.<br>
<br>
If this list contains no item pricing factors, then the item pricing
factor will be 1.0, which means NO adjustment for any items. However,
you may enter one or more pricing factors for different types of items
which will cause the price of items to rise or fall depending upon
whether they meet the item criteria you specify. Here is an example of
one such pricing factor:<br>
<br>
<span style="font-family: monospace;">0.5
-MATERIAL +WOODEN</span><br>
<br>
This would mean that the price is adjusted by 0.5 (meaning its cut in
half) for items that match the criteria described, which in this case
means wooden items. If the number had been 1.5, then the price would be
adjusted upwards by 50% instead.</p>
<p>You can have as many item
pricing factors as you need to describe
all the types of items you'd like this shopkeeper to modify the price
of. See the online help for ZAPPERMASKS for more information on the
syntax for the masking syntax used to describe the types of items
affected by your pricing factors.</p>
<p><span style="font-weight: bold; font-style: italic;">Prejudice
Factors</span></p>
<p>The prejudice factor allows the
Archon to adjust the prices the
ShopKeeper sells from the programmed normal, based on the buyers Race,
Alignment, Sex, Class, or Faction. It always works in tandem with the
Devalue Rate below, as well as such factors as the Charisma of the
player dealing with your shopkeeper. The prejudice factor also serves
as a catch-all for a few other shopkeeper settings.<br>
<br>
An unspecified value will always return a value of 1.0 (which means NO
adjustment). However, you may specify one or more adjustments separated
by semicolons (;). Here is an example:</p>
<p><font face="Courier New" size="2">SELL=5.5
Elf Dwarf
<b>;</b>
BUY=0.4 Elf Dwarf ; SELL=1.0 ; BUY=1.0</font></p>
<p>Each adjustment must begin with
the words "SELL=" or "BUY=" followed
by a Real number designating the adjustment from normal. "SELL=" refers
to the adjustment to prices players get when selling TO the shopkeeper.
"BUY=" refers to the adjustment to prices players get when buying FROM
the shopkeeper. A value above 1.0 for either of those will raise the
applicable prices. A value below 1.0 (like 0.3 or 0.75) will lower
prices. Values of 0.0 are NOT allowed. If you need to all but not allow
buying and selling, a value of 0.000000001 should do.</p>
<p>Each adjustment may also
contain the name of one or more Racial
Categories (Elf, Dwarf, Gnome, Halfing, etc..). If a Racial Category is
specified, then the adjustment will ONLY apply to that race. The
adjustments are read from left to right, so adjustments without any
racial categories should be listed LAST. In the above example, Dwarves
and Elves are given a very good deal, where everyone else gets a normal
one. In addition to Racial Categories, you may also list alignments
(good, neutral, or evil), a sex (male, female, and neuter), a character
class, or the name of a faction range. Remember that this field is
evaluated from left to right, so any matches made on the left that
apply to a player will cancel evaluation of the rest of the field!</p>
<p>Just as bonus feature, if the
adjustment begins with the words
"LIMIT=", then you may enter a number representing the maximum number
of rows of inventory the shopkeeper will display whenever a LIST is
done. If the adjustment begins with the words "RANGE=", then you may
enter either a number or a percentage. This number will represent the
maximum and minimum level range of the items which the shopkeeper will
purchase from players. This level range is relative to the median level
range of his area. For instance, if the median level of the shopkeepers
area is 10, and RANGE=3 is entered, then the shopkeeper will only
purchase items between levels 7 and 13. A value of 0 means no limit and
no range, of course. These features have no relation with the above
prejudice functionality -- they're just bonus.</p>
<p style="font-weight: bold; font-style: italic;">Inventory
Reset Rate</p>
<p>This is the rate, in ticks (4
second periods) at which the
shopkeeper totally resets his inventory back to the last saved "stock"
items. Leave this field empty to use the Area or coffeemud.ini
defaults, or not to have a reset rate at all, depending. If this value
is changed on an Area or in the MUDGrinder, the Archon may have to
enter the RESET AREA command to cause all the shopkeepers to notice the
change.</p>
<p><strong><a name="modexits"><font color="blue" size="5">Modifying
Exits</font></a></strong></p>
<p>To modify an exit that is east
of your present location, simply
enter "modify east". If the exit to the east of you is a GenExit or a
GenDoor, you will receive the properties mentioned above. If the exit
is anything other, than you will be prompted to enter the Miscellaneous
Text field. For a standard exit, like Open or Door, this field
represents the secret code that must also be specified in the StdKey
item in order for you to unlock this door without spells or thief
picking. For a readable exit, this field represents the text that is
written on the door.</p>
<p><strong><a name="genexit"><font style="background-color: lime;">The
"GenExit" and "GenDoor"</font></a></strong></p>
<p>As mentioned briefly earlier,
the GenExit is an undefined exit that
one can mold to fit ones needs. Whenever a GenExit is created or
modified, you will be presented with a series of properties to change.
Hitting return will leave most of these properties without
modification. Entering new values will replace the old values. These
properties include:</p>
<table id="TABLE1" style="width: 100%;" bgcolor="yellow" border="1" cellpadding="1" cellspacing="1" width="100%">
<tbody>
<tr>
<td width="25%"><strong>Property</strong></td>
<td width="75%"><strong>Description</strong></td>
</tr>
<tr>
<td><em>Name</em> </td>
<td>the general name of this
exit. Such as "the grand portal", or
"the wooden gate".</td>
</tr>
<tr>
<td><em>Description</em> </td>
<td>what one sees when this
exit is LOOKed at with the LOOK
command</td>
</tr>
<tr>
<td><em>Display
Text</em></td>
<td>what one sees when the
EXITS command is issued and the way is
OPEN.</td>
</tr>
<tr>
<td><em>Level</em></td>
<td>The Level of the door
can determine how difficult it is to
PICK or KNOCK.</td>
</tr>
<tr>
<td><em>Has
A Door</em></td>
<td>I think thou canst
figure these next few out.</td>
</tr>
<tr>
<td><em>Door
Defaults Closed</em></td>
<td style="width: 100%;" width="100%"><br>
</td>
</tr>
<tr>
<td><em>Has
A Lock</em></td>
<td><br>
</td>
</tr>
<tr>
<td><em>Door
Defaults Locked</em></td>
<td><br>
</td>
</tr>
<tr>
<td><em>Reset
Delay #</em></td>
<td>Whenever this exit is
opened after previously being closed,
this is the number of ticks (where a tick is currently 4 seconds) that
will transpire before the exit is reset to its default state.</td>
</tr>
<tr>
<td><em>Closed
Text</em> </td>
<td>what one sees when the
EXITS command is issued and the way is
CLOSED.</td>
</tr>
<tr>
<td><em>Assigned
Key Item</em></td>
<td>This is the secret code
that must be present in the
StdKey for you to be able to unlock it. The StdKey must have it's
Miscellaneous Text property set the same as this value in order to open
this exit using the UNLOCK command. If the level is sufficiently low,
the door can still be KNOCKed or PICKed without the key.</td>
</tr>
<tr>
<td><em>Door
Name</em></td>
<td>Is it a gate, door,
grate, or portcullis. Specify that here.</td>
</tr>
<tr>
<td><em>Close
Word</em></td>
<td>When you close it, are
you really lowering it, or sliding it?
Specify the correct verb here.</td>
</tr>
<tr>
<td><em>Open
Word</em></td>
<td>When you open it, are
you really raising it, or sliding it?
Specify the correct verb here.</td>
</tr>
<tr>
<td><em>Is..
flags</em> </td>
<td>
<p>I think thou doest grok
most of these flags. You may also
require a little climbing or flying for this exit, in case it is a mere
gulf the player must traverse, instead of the wide expanse that a
climable room entails.</p>
</td>
</tr>
<tr>
<td><em>Behaviors</em></td>
<td>Like mentioned above
when we talked about Rooms, there are
not many behaviors that one can give to an item, but "Emoter" and
"Sounder" works with exits very well.</td>
</tr>
<tr>
<td><em>Effects</em></td>
<td>As mentioned in the
section on Rooms, there are many
properties that one may attach to items. Use "list properties" to see
them all, and "ahelp propertyname" for more information.</td>
</tr>
</tbody>
</table>
<br>
Like rooms and areas, there are special properties that are great for
exits. They include:<br>
<br>
<p>As for Effects, well, effects
are special properties which you can
attach to your new little holes in the ground. There are lots of nice
properties that one may add to an Area, which will affect every room in
it, such as:</p>
<p>"Prop_AbilityImmunity" protects
the exit from specified targeted
spells.<br>
"Prop_ClosedDayNight" shuts and locks any doors at night.<br>
"Prop_ClosedSeason" shuts and locks any doors for a season.<br>
"Prop_Crawlspace" requires crawling through this exit.<br>
"Prop_EnterAdjuster" modifies the players stats permanently when they
cross through this exit.<br>
"Prop_Hidden" makes the exit hidden.<br>
"Prop_Invisibility" makes the exit invisible.<br>
"Prop_NarrowLedge" makes this an exit you can cross.. if you are very
very careful.<br>
"Prop_NoPKill" keeps out the riffraff.<br>
"Prop_OpenPassword" requires a spoken password to open the door.<br>
"Prop_ReqNoMOB" to make your exit a player-only place to be.<br>
"Prop_ReqAlignments" lets you limit the alignment of all who enter.<br>
"Prop_ReqCapacity" lets you limit the number of folks or items here.<br>
"Prop_ReqClasses" lets you limit the character class of those who enter.<br>
"Prop_ReqEntry" keeps out people that fit your specific requirements.<br>
"Prop_ReqHeight" keeps out tall people, or at least those unwilling to
crawl.<br>
"Prop_ReqLevels" lets you limit entry by levels.<br>
"Prop_ReqPKill" lets you limit entry by bloodthirstiness.<br>
"Prop_ReqRaces" lets you limit entry by race.<br>
"Prop_ReqTattoo" checks out a mobs forearm before letting them in.<br>
"Prop_RoomView" makes looking at this exit more revealing.<br>
"Prop_Smell" gives the exit an aroma when using the SNIFF command.<br>
"Prop_TattooAdder" puts a little something on all who enter.<br>
"Prop_Transporter" send those who enter to the room you designate.<br>
"Prop_WeakBridge" makes cross this room very very dangerous.<br>
Popular traps for exits include: Trap_AcidSpray", "Trap_ElectricShock",
"Trap_Enter", "Trap_EnterGas", "Trap_EnterNeedle", "Trap_EnterPit",
"Trap_EnterSpell", "Trap_Launcher", "Trap_Needle", "Trap_Noise",
"Trap_Open", "Trap_OpenBlade", "Trap_OpenGas", "Trap_OpenNeedle",
"Trap_OpenSpell", "Trap_PoisonGas", "Trap_SleepGas", "Trap_SpellBlast",
"Trap_SporeTrap", "Trap_Unlock", "Trap_UnlockBlade", "Trap_UnlockGas",
"Trap_UnlockNeedle", "Trap_UnlockSpell", "Trap_WeaponSwing"<br>
<br>
To learn more about the properties you can add to exits, enter "ahelp"
while you are in CoffeeMud.</p>
<p><strong><a name="itemcreate"><font color="blue" size="5">Creating
Items</font></a></strong></p>
<p>For our purposes, an item is
any normal item, piece of armor, a
weapon, a container, or any magical item, armor, or weapon. To bring
one of these things into the world, you have only to call its true name
using the create command. To create a Longsword, for instance, issue
the command "create Longsword". It will then fall from the sky onto the
floor or ground before you.</p>
<p>To find out what items are
available for you to create, you can
enter "list items". Entering "create &lt;itemname&gt;" will
prove the
true incantation for almost all of the items on this list. An
exception, however, is the GenRideable. Since there is both an Item and
a MOB version of that name, you will need to further qualify your
create command by entering "create item GenRideable" or "create mob
GenRideable".</p>
<p><strong><a name="geni1"><font style="background-color: lime;">The
"GenItem", "GenResource", "GenMirror", "GenFixture", and "GenReadable"</font></a></strong></p>
<p>These represent some of the
basic items your ordinary denizen will
use every day. A GenItem and GenMirror represent nothing-special
THINGS. GenResource is a raw material, like iron, coal, or wood, from
which other things are made, especially with the common skills.
GenReadables are GenItems with something to read on them, like a book
or parchment.&nbsp;The GenFixture is an item
that can be pushed and pulled, even when it is ungettable</p>
<p>Whenever a GenItem is created,
much like the GenExit above, you are
presented with a list of properties to fill in. Pressing enter will
leave the property unchanged. The properties include:</p>
<table style="width: 100%;" bgcolor="yellow" border="1" cellpadding="1" cellspacing="1" width="100%">
<tbody>
<tr>
<td width="25%"><strong>Property</strong></td>
<td width="75%"><strong>Description</strong></td>
</tr>
<tr>
<td><em>Name</em></td>
<td>the name of the item,
like "a stone", or "a pencil"</td>
</tr>
<tr>
<td><em>Description</em></td>
<td>what one sees when one
looks at the item.</td>
</tr>
<tr>
<td><em>Display
Text</em></td>
<td>what one sees when an
item is laying in a room. if
you enter 'null' here, the item becomes blended, meaning that it does
not show up in the listing of room contents, but may still be "looked"
at, "read", or (if allowed) picked up!</td>
</tr>
<tr>
<td><em>Secret
Identity</em></td>
<td>what one sees when the
Identify spell is cast on the item.</td>
</tr>
<tr>
<td><em>Level</em></td>
<td>the level of the item,
dictating the lowest level a character
must attain to possess or hold it.</td>
</tr>
<tr>
<td><em>Uses
Remaining</em></td>
<td>This property applies
especially to GenWand,
GenStaff, and GenScroll, discussed below. This tells how many times the
magic in the item may be reused before requiring a recharge.</td>
</tr>
<tr>
<td><em>Rejuv/Pct</em></td>
<td>
<p>This field has two
different meanings, depending upon whether
the item is in the room, or in a mobs inventory.<br>
If this item is located in a room, this value determines whether it
rejuvenates after being removed from the room. In this case, it is the
number of ticks (4 second intervals) between the removal time, and the
time the item rejuvenates. For more information on making the
RejuvTicks property take effect after changing it, see below under
Rejuvenating Items and Mobs" or "How to Save a Room".<br>
If this item is located in a mobs inventory, this value represents the
% chance of it NOT appearing in the mobs inventory after reset. In this
case, the value should be between 1-100, or 0 to also
represent&nbsp;always available, or -1 to make an item only appear at
boot time. See
the section on "Equipping Mobs" for more
information on this feature.</p>
</td>
</tr>
<tr>
<td><em>Is
This Item Gettable</em></td>
<td>whether the item can be
picked up off the ground.</td>
</tr>
<tr>
<td><em>Is
This Item Droppable</em></td>
<td>whether the item can be
dropped into a room.</td>
</tr>
<tr>
<td><em>Is
This Item Removable</em></td>
<td>whether the item, once
held or worn, can be removed.</td>
</tr>
<tr>
<td><em>Is
This Item Non Locatable</em></td>
<td>whether the item can be
found with magic such as the Locate Object spell.</td>
</tr>
<tr>
<td><span style="font-style: italic;">Blend
Display</span></td>
<td>whether item appears in
the room description instead of the
item list, such as when the player is viewing compressed room data.</td>
</tr>
<tr>
<td><em>Is
This Item Readable</em></td>
<td>whether there are any
readable markings on the item.
Normally, an item must be in a players inventory to be read. However,
if the item is set as not being Gettable, then it may be read even on
the ground, like a sign or billboard.</td>
</tr>
<tr>
<td><em>Assigned
Readable Text</em></td>
<td>if this item is marked,
what those markings say. If this text
begins with FILE=, then a text file from the resources directory will
be displayed. For example: FILE=text/intro.txt</td>
</tr>
<tr>
<td><em>Material</em></td>
<td>this is the material
that the item is made of. This affects
the classes with armor restrictions, and the effects of certain spells.
Choices include: cloth, metal, wood, leather, glass, and mithril.</td>
</tr>
<tr>
<td><em>Value</em></td>
<td>the items monetary
value, for the purposes of buying
from and selling to shopkeepers who price the item at default values.
The value is expressed in multiples of the base value. A value of
20 will mean that the item is worth 20 gold (or whatever the local
currency is), assuming gold is valued at 1.0 of base. If the local
currency has only Latinum Bars valued at 0.5, then a money value of 20
here would mean that the item is worth 40 Latinum Bars.</td>
</tr>
<tr>
<td><em>Weight</em></td>
<td>the items weight.</td>
</tr>
<tr>
<td><em>Is
Flags... (Disposition)</em></td>
<td>most these flags, my
faith tells me, thou canst discern. To
clarify, however, a glowing item gives off light. An invisible item can
not be seen, except by magic. An unseen item cannot be seen at all.</td>
</tr>
<tr>
<td><em>Behaviors</em></td>
<td>Like mentioned above
when we talked about Areas, there are
not many behaviors that one can give to an item, but "Emoter" works
with items very well.</td>
</tr>
<tr>
<td><em>Effects</em></td>
<td>As mentioned in the
section on Areas, there are many
properties that one may attach to items. Use "list properties" to see
them all.</td>
</tr>
<tr>
<td><em>Uses
Remaining</em></td>
<td>A few items, notably
wands, scrolls, and ammutiion can only
be used a few times. For all other items, this may be left unchanged.</td>
</tr>
<tr>
<td><em>Magical
Ability</em></td>
<td>although meaningless for
most Generic Items, and absent on
others, this property does have meaning for specific items described
below. In general, items which a magical ability above 0 are considered
magical. The exception to this is the <b>GenCoins</b>
object. For
coins, this denotes the number of coins in the pile!</td>
</tr>
</tbody>
</table>
<br>
<br>
<p><strong><a name="geni0"><font style="background-color: lime;">The
"GenCoins"</font></a><br>
</strong><br>
A GenCoins item represents one or more instances of a unit of currency,
such as a dollar bill, a gold coin, a stack of bills, or a pile of
coins.</p>
<p>Whenever these GenCoins are
created, much like the GenItem above,
you are presented with a list of properties to fill in. Pressing enter
will leave the property unchanged. The properties include all of the
fields listed above under GenItem, plus two more:</p>
<table style="width: 100%;" bgcolor="yellow" border="1" cellpadding="1" cellspacing="1" width="100%">
<tbody>
<tr>
<td width="25%"><strong>Property</strong></td>
<td width="75%"><strong>Description</strong></td>
</tr>
<tr>
<td><em>Money
Data</em></td>
<td>A three part field,
including the Currency type,
which can be either "DEFAULT", another of the stock currency types, or
a custom currency defined for your area. See the section on area
currencies for more information on this. The next part is the decimal
absolute-value denomination within the given currency, followed by the
number of items in the "stack" of money. Together, these three fields
define the nature, value, and size of the GenCoins stack.<br>
You will be prompted for each of the three parts, beginning with
currency.</td>
</tr>
<tr>
<td><em>Base
Value</em></td>
<td>For a GenCoins item,
this field is, ironically, useless.</td>
</tr>
</tbody>
</table>
<br>
<br>
<p><strong><a name="geni2"><font style="background-color: lime;">The
"GenLightSource", "GenCigar", "GenPipe", and "GenLantern"</font></a></strong><br>
<br>
</p>
<p>A GenLightSource and GenLantern
provide light for players whenever
they are HELD. GenCigars and GenPipes are WORN on the mouth for
enjoyment. GenLightSources and GenCigars will burn away after a time,
while GenLanterns can be refilled with oil from an oil flask, and
GenPipes must be filled with an herb.</p>
<p>Whenever these GenLightSources
are created, much like the GenItem
above, you are presented with a list of properties to fill in. Pressing
enter will leave the property unchanged. The properties include all of
the fields listed above under GenItem, plus two more:</p>
<table style="width: 100%;" bgcolor="yellow" border="1" cellpadding="1" cellspacing="1" width="100%">
<tbody>
<tr>
<td width="25%"><strong>Property</strong></td>
<td width="75%"><strong>Description</strong></td>
</tr>
<tr>
<td><em>Light
Duration</em></td>
<td>the number of ticks (4
second intervals) which will transpire
before the light source will burn out. See the next field for more
information on burning out.</td>
</tr>
<tr>
<td><em>Is
Destroyed after burnout</em></td>
<td>Whether the item is
destroyed after burnout. This
defaults to true for GenCigar and GenLightSource (torches), which
vanish after use. GenLanterns and GenPipes default this to false,
meaning the item remains after it burns out (though no longer gives off
light). The GenLantern may be refilled with oil at this time, or the
GenPipe may be refilled with herbs to continue.</td>
</tr>
</tbody>
</table>
<br>
<br>
<p><strong><a name="geni3"><font style="background-color: lime;">The
"GenJournal", "GenBook", and "GenPlayerBook"</font></a></strong><br>
<br>
GenJournals and GenBooks are similar ways of persistent message
storage. GenJournals represent message boards for players to commonly
post on and everyone to read. All GenJournals who have the same NAME
field will display the same set of messages to readers, regardless of
how many instances of the same journal/book there are. GenBooks display
a table of contents listing the "chapters" available for reading.
Players who have access to GenJournals or GenBooks, and who have the
Write skill may write new messages/chapters (or post replies to old
ones on GenJournals). GenPlayerBooks are similar to GenBooks except the
"chapters" are tied to the author, and persist as long as they do.</p>
<p>GenJournals may be used by
individual players to carry around and
magically chat with each other on (assuming all their journals have the
same name). They may also be large public posting boards. To make one
of this last sort, simply make the journal non-gettable. That way,
people can write on them even if they can't pick them up.</p>
<p>One special kind of journal is
called "SYSTEM_NEWS". It is usually
accessed through the LIST NEWS and MODIFY NEWS commands, but under the
covers, it is just another journal.</p>
<p>Archons can also create special
"persistent" entries. These entries
remain
"new" longer than normal ones. These are created by starting off an
entry subject with the letters MOTD (for message of the day), MOTM, or
MOTY. If a subject starts with those letters, in uppercase, the entry
will persist as new for a day, month, or year respectively.</p>
<p>Archons can also make use of
the Web Macros system inside the body
or message part of an entry. To do so, the message must start with the
characters &lt;cmvp&gt;. If those six characters start the
message,
then the message may contain web macros. See the WebServer Guide for
more information on this feature.</p>
<p>Whenever a GenJournal, GenBook,
or
GenPlayerBook is created, much like the GenItem
above, you are presented with a list of properties to fill in. Pressing
enter will leave the property unchanged. The properties include all of
the fields listed above under GenItem, plus one that works a little bit
differently than described above:</p>
<table style="width: 100%;" bgcolor="yellow" border="1" cellpadding="1" cellspacing="1" width="100%">
<tbody>
<tr>
<td width="25%"><strong>Property</strong></td>
<td width="75%"><strong>Description</strong></td>
</tr>
<tr>
<td><em>Assigned
Readable Text</em></td>
<td>A Journal/Book is always
readable, so this field is
really redundant. Therefore, it is now used as a field where you may
set requirements for reading from and writing to the journa/book. If no
requirements are mentioned, anyone may read from, write to, or reply
it. <br>
A reading requirement is specified by putting READ= followed by
some requirements. <br>
A reply requirement is specified by putting REPLY=
followed by some requirements. <br>
A writing requirement is specified by
putting WRITE= followed by some requirements. <br>
A named TO: filter can be given by putting
FILTER= followed by a comma-delimited list of names (or ALL).<br>
putting WRITE= followed by some requirements. <br>
An optional
administrative requirement is specified by putting ADMIN= followed by
some requirements. <br>
The requirements for each of these settings can be
seen by checking out the help entry for ZAPPERMASKS. The same mask
criteria used for that property are also used for these options.
&nbsp;You may also specify PRIVATE=TRUE here to designate the
journal
as a private diary, where messages can only be read by the person who
wrote them, and you may specify MAILBOX=TRUE to turn the journal into a
miniature mailbox, by prohibiting messages to ALL. &nbsp;Lastly,
you
can set SORTBY=CREATE to sort the messages by their creation date
instead of their update time. &nbsp;The
Journal
supports all of these options, while the Book only supports READ,
REPLY, and WRITE.</td>
</tr>
</tbody>
</table>
<br>
<p><strong><a name="geni4"><font style="background-color: lime;">The
"GenWeapon", "GenBow", "GenLasso", "GenNet", "GenSling", "GenSpear",
"GenBoffWeapon"</font></a></strong></p>
<p>These are the assorted weapons
players and mobs use to attack each
other. They are typically worn in the WIELD position, though some may
also go in the HOLD position, either as a requirement (for two handed
weapons) or as an option (for those with two-weapon fighting).</p>
<p>Weapons can be anything from
swords to daggers, from bows you shoot
ammunition at, to spears that you throw. It all depends on how you
design them. The GenBow, GenSling, and GenSpear classes don't actually
offer any functionality you couldn't get out of a properly molded
GenWeapon, but are provided as good examples of how to make them. The
GenBoffWeapon, on the other hand, is another form of GenWeapon, but it
provides some silly and random hit messages during combat.</p>
<p>The GenNet and GenLasso,
however, are quite different. Each of those
are capable of ensnaring someone who is hit by them when they are
thrown. They do default to thrown weapons.</p>
<p>Whenever any of these
GenWeapons are created, much like the GenItem
above, you are presented with a list of properties to fill in. Pressing
enter will leave the property unchanged. The properties include all of
the fields listed above under GenItem, plus a few more:</p>
<table style="width: 100%;" bgcolor="yellow" border="1" cellpadding="1" cellspacing="1" width="100%">
<tbody>
<tr>
<td width="25%"><strong>Property</strong></td>
<td width="75%"><strong>Description</strong></td>
</tr>
<tr>
<td><em>Attack
Adjustment</em></td>
<td>a number representing
the quality of the weapon. The most
common value is zero, representing a normal quality item. Typical
ranges include -10 for a poor quality weapon up to 10 for an
exceptional quality weapon.</td>
</tr>
<tr>
<td><em>Damage</em></td>
<td>the highest amount of
damage this weapon does when used in a
fight. Typical range is 2 - 8 for low level weapons, up to 20 or 30 for
high-level weapons.</td>
</tr>
<tr>
<td><em>Weapon
Attack Type</em> </td>
<td>this dictates how the
weapon is used in combat, whether in a
bashing manner, slicing, piercing, or as a natural (fingers and claws)
item.</td>
</tr>
<tr>
<td><em>Weapon
Classification</em> </td>
<td>this tells how the
weapon fits into the several
weapon specialization categories, and also determines which classes can
use the weapon without penalty. Choices include blunt, dagger, edged,
flailed, hammer, karate (fingers and claws), polearm, ranged, and sword.</td>
</tr>
<tr>
<td><em>Two-Handed</em></td>
<td>Whether the weapon
occupies both the wielded and held
position when used.</td>
</tr>
<tr>
<td><em>Magical
Ability</em></td>
<td>This number represents
an adjustment to both attack
adjustment and damage, denoting whether the weapon is magical. Typical
ranges include -2 for a badly cursed item, up to 5 for an extremely
high level magical item.</td>
</tr>
<tr>
<td><em>Condition</em></td>
<td>a number from 0 to 100
denoting the condition of the weapon.
A 100 means that the weapon is in top condition. A 0 means that it is
all but destroyed and worthless as a weapon.</td>
</tr>
<tr>
<td><em>Minimum
range</em></td>
<td>this is the closest
position required to use the weapon. 0
means the weapon may be used in melee, where 1 means that a minimum
range of 1 pace is required.</td>
</tr>
<tr>
<td><em>Maximum
range</em></td>
<td>this is the farthese
position required to use this weapon.
When combat begins, it will denote how far away the wielder is from
their foe. The same values as above apply, though the maximum range
must always equal or exceed the minimum range.</td>
</tr>
<tr>
<td><em>Requires
Ammunition</em></td>
<td>whether this weapon
requires ammunition in order to use.</td>
</tr>
<tr>
<td><em>Ammunition
Type</em></td>
<td>This is the type of
ammunition required by this
weapon. Ammunition is a special kind of item called GenAmmunition (see
below) which must have an ammunition type field matching that of its
intended weapon (such as "arrows" or "bolts" or "rocks") and has a Uses
Remaining property above 0.</td>
</tr>
<tr>
<td><em>Ammunition
Capacity</em></td>
<td>This is the amount of
the ammunition which can be held by the
weapon at one time. Usually this is only 1.</td>
</tr>
</tbody>
</table>
<br>
<br>
<p><strong><a name="geni5"><font style="background-color: lime;">The
"GenContainer", "GenCorpse", "GenCage"</font></a></strong></p>
<p>The GenContainer represents the
standard container of other things,
whether it be a piggy bank, a chest, or a holster. Lids, capacity, and
even restrictions on what can be placed in it are all settable from
here. Containers are also smart enough to re-close themselves after
awhile when they are opened, and re-lock themselves after awhile when
they are unlocked (assuming they have lids and locks, of course). A
GenCorpse is a special sort of container, and should not be created in
your world without good reason. It is designed to stand as the corpse
of fallen creatures and foes. The GenCage is a GenContainer that one
can see the contents of even when the lid is closed.. this simulates
bars or other see-through doors and lids.</p>
<p>Whenever a GenContainer is
created, much like the GenArmor above,
you are presented with a list of properties to fill in. Pressing enter
will leave the property unchanged. The properties include everything
listed under GenItem, plus a few more:</p>
<table style="width: 100%;" bgcolor="yellow" border="1" cellpadding="1" cellspacing="1" width="100%">
<tbody>
<tr>
<td width="25%"><strong>Property</strong></td>
<td width="75%"><strong>Description</strong></td>
</tr>
<tr>
<td><em>Has
A Lid</em></td>
<td>Well, does it have one?.</td>
</tr>
<tr>
<td><em>Has
A Lock</em></td>
<td>If it has a lid, can you
lock it?</td>
</tr>
<tr>
<td><span style="font-style: italic;">Defaults
Closed</span></td>
<td>If it has a lid, does it
defaults closed?</td>
</tr>
<tr>
<td><span style="font-style: italic;">Open
Ticks</span></td>
<td>If the container has a
lid that defaults closed and is NOT
gettable, this is the number of ticks (4 second periods) after being
opened, that item will automatically be re-closed.</td>
</tr>
<tr>
<td><span style="font-style: italic;">Defaults
Locked</span></td>
<td>If it has a lock, does
it default locked?</td>
</tr>
<tr>
<td><em>Can
Contain</em></td>
<td>This can help you limit
what goes inside. &nbsp;The choices are: &nbsp;ANYTHING,
LIQUID, COINS,
SWORDS, DAGGERS, OTHER WEAPONS, ONE-HANDED WEAPONS, BODIES, READABLES,
SCROLLS, CAGED ANIMALS, KEYS, DRINKABLES, CLOTHES, SMOKEABLES, SS
COMPONENTS, FOOTWEAR, &nbsp;RAWMATERIALS</td>
</tr>
<tr>
<td><em>Capacity</em></td>
<td>this denotes the maximum
amount of weight that can be placed
in the container.</td>
</tr>
<tr>
<td><span style="font-style: italic;">Contents
Accessible</span></td>
<td>normally one must remove
an item from a container to look at
it, or manipulate things inside a contained container. &nbsp;This
flag
makes the contents accessible as if uncontained.</td>
</tr>
</tbody>
</table>
<br>
One more thing to keep in mind.
Always make the weight of a
container less than its capacity. A container must be able to hold its
own weight in addition to anything put in it!<br>
<br>
<p><strong><a name="geniboe"><font style="background-color: lime;">The
"GenBagOfEndlessness"</font></a></strong></p>
<p>A GenBagOfEndlessness is
magical container that always
instantly
replaces whatever is removed from it.</p>
Whenever a GenBagOfEndlessness is created,
much like the GenContainer above, you are
presented with a list of properties to fill in. Pressing enter will
leave the property unchanged. The properties include everything listed
under GenContainer. &nbsp;<br>
<br>
The safest way to use these bags for players is to put whatever item
you want to be in endless supply into it, and then set the Capacity to
0 so that nothing else can ever be put into it for duplication.
&nbsp;<br>
<p><strong><a name="geni28"><font style="background-color: lime;">The
"GenScale"</font></a></strong></p>
<p>A GenScale is a container that can hold 2 things, or have two
mobs
ride upon as per a chair-type GenRideable. &nbsp;Looking at the
scale
will then reveal which is the heavier between the combination of things
"on" it.&nbsp;&nbsp;
</p>
<p><strong><a name="geni6"><font style="background-color: lime;">The
"GenAmmunition"</font></a></strong></p>
<p>The GenAmmunition is a very
special kind of item that can not be
worn or held. It represents a package of ammunition for a GenWeapon (or
GenBow, etc..) which requires ammunition. To make the ammunition work
with your weapon, the values in the ammunitionType fields in both the
GenWeapon and the GenAmmunition must match. Whenever a player runs out
of ammunition for their weapon, it will be drawn from GenAmmunition
objects, provided they are in the players inventory.</p>
<p>GenAmmunition differs from
other items not only in its inability to
be held, but also in its ability to transfer any Effects on itself to
the weapon. Whenever a weapon draws ammunition from a GenAmmunition
type, properties, spells, and other Effects on the Ammunition will be
transferred to the weapon. This allows one to make Magical ammunition.</p>
<p>Whenever a GenAmmunition is
created, much like the GenItem above,
you are presented with a list of properties to fill in. Pressing enter
will leave the property unchanged. The properties include everything
listed under GenItem, plus a few more:</p>
<table style="width: 100%;" bgcolor="yellow" border="1" cellpadding="1" cellspacing="1" width="100%">
<tbody>
<tr>
<td width="25%"><strong>Property</strong></td>
<td width="75%"><strong>Description</strong></td>
</tr>
<tr>
<td><em>Ammunition
Type</em></td>
<td>arrows, bolts, bullets,
etc. MUST match the ammunition type
field of the weapon. Also, the Uses Remaining field for ammunition
represents the AMOUNT of ammunition in this bundle.</td>
</tr>
</tbody>
</table>
<br>
<br>
<p><strong><a name="geni7"><font style="background-color: lime;">The
"GenArmor" and "GenShield"</font></a></strong></p>
<p>These represent all manner of
clothing, shoes, worn jewelry, armor,
and of course shields. Of these, only a shield MUST be made from
GenShield. Everything else may be made from GenArmor. Plus, GenArmors
are also containers, meaning that you can make armor that things can be
sheathed in or placed in like pockets.</p>
<p>Whenever a GenArmor piece is
created, much like the GenContainer
above, you are presented with a list of properties to fill in. Pressing
enter will leave the property unchanged. The properties include
everything listed under GenItem and GenContainer, plus a few more:</p>
<table style="width: 100%;" bgcolor="yellow" border="1" cellpadding="1" cellspacing="1" width="100%">
<tbody>
<tr>
<td width="25%"><strong>Property</strong></td>
<td width="75%"><strong>Description</strong></td>
</tr>
<tr>
<td><em>Worn
Locations</em></td>
<td>this little menu allows
you to describe either all
the different places a piece of armor MAY be worn, or to describe ALL
the places that a piece of armor MUST be worn. Entering the specified
numbers will toggle the locations. Entering '1' will toggle whether it
is a MAY or MUST situation. Enter '0' when done.</td>
</tr>
<tr>
<td valign="top"><i>Layer</i><br>
</td>
<td valign="top">a
number designating what can be worn on
top of or beneath this piece of armor. Generally higher numbers are
worn on top of lower numbers, with negative numbers generally meaning
underwear. However, a layer number must be 2 higher than the next
lowest worn item on the same location to cover it. For instance a layer
3 can cover a layer 1 or 0, but not a layer 2 or 4. This entry also
allows you to designate whether this item hides anything worn beneath
it or is see-through, and whether multiple of these can be worn on the
same location at the same time (such as jewelry).<br>
</td>
</tr>
<tr>
<td><em>Armor
Protection</em></td>
<td>the base amount of
protection provided when wearing this
piece of armor. Unline MOBS, the higher the number here, the better for
the wearer.</td>
</tr>
<tr>
<td><em>Magical
Ability</em></td>
<td>This number represents
an adjustment to the armor protection,
denoting whether the armor is magical. Typical ranges include -2 for a
badly cursed item, up to 5 for an extremely high level magical item.</td>
</tr>
<tr>
<td><em>Capacity</em></td>
<td>if the armor piece has
pockets, this denotes the maximum
amount of weight that can be placed in it. 0 is a typical value,
denoting that you cannot store items in this armor. The capacity should
always exceed the weight.</td>
</tr>
<tr>
<td><em>Can
Contain</em></td>
<td>For armor with capacity,
this can help you limit what goes
inside. This value must be changed to something specific, and a
sufficient capacity must be set, in order for this item to be a SHEATH.</td>
</tr>
<tr>
<td><em>Condition</em></td>
<td>a number from 0 to 100
denoting the condition of the armor. A
100 means that the armor is in top condition. A 0 means that it is all
but destroyed and is not longer providing any protection at all.</td>
</tr>
<tr>
<td><em>Size</em></td>
<td>the size of the piece of
armor. 0 means that the piece has a
variable size, and will fit anyone until it is worn for the first time.
Any other number means that the wearer must be near to the size in
inches to wear it.</td>
</tr>
</tbody>
</table>
<br>
<p><strong><a name="geni7-2"><font style="background-color: lime;">The
"GenThinArmor" and "GenEarring"</font></a></strong></p>
<p>GenThinArmor represents
wearable items, and are identical in form
and function to GenArmor above except for several important differences:</p>
<p>1. GenThinArmor and GenEarrings
always "fit" -- there is no
size-tracking or restrictions<br>
2. GenThinArmor and GenEarrings have no "magic" bonus to their armor
ratings<br>
3. GenThinArmor and GenEarrings do not suffer wear-and-tear -- they
cannot be destroyed during combat, or damaged.<br>
4.
GenEarrings alone require a piercing in the area(s) where the
GenEarring is meant to be worn. &nbsp;See the Body Piercing skill
for
how to get piercings.</p>
<p>Whenever a GenThinArmor piece
is created, much like the GenItem
above, you are presented with a list of properties to fill in. Pressing
enter will leave the property unchanged. The properties include
everything listed under GenItem, plus a few more:</p>
<table style="width: 100%;" bgcolor="yellow" border="1" cellpadding="1" cellspacing="1" width="100%">
<tbody>
<tr>
<td width="25%"><strong>Property</strong></td>
<td width="75%"><strong>Description</strong></td>
</tr>
<tr>
<td><em>Worn
Locations</em></td>
<td>this little menu allows
you to describe either all
the different places a piece of armor MAY be worn, or to describe ALL
the places that a piece of armor MUST be worn. Entering the specified
numbers will toggle the locations. Entering '1' will toggle whether it
is a MAY or MUST situation. Enter '0' when done.</td>
</tr>
<tr>
<td valign="top"><i>Layer</i><br>
</td>
<td valign="top">a
number designating what can be worn on
top of or beneath this piece of armor. Generally higher numbers are
worn on top of lower numbers, with negative numbers generally meaning
underwear. However, a layer number must be 2 higher than the next
lowest worn item on the same location to cover it. For instance a layer
3 can cover a layer 1 or 0, but not a layer 2 or 4. This entry also
allows you to designate whether this item hides anything worn beneath
it or is see-through, and whether multiple of these can be worn on the
same location at the same time (such as jewelry).<br>
</td>
</tr>
<tr>
<td><em>Armor
Protection</em></td>
<td>the base amount of
protection provided when wearing this
piece of armor. Unline MOBS, the higher the number here, the better for
the wearer.</td>
</tr>
<tr>
<td><em>Magical
Ability</em></td>
<td>This number represents
an adjustment to the armor protection,
denoting whether the armor is magical. Typical ranges include -2 for a
badly cursed item, up to 5 for an extremely high level magical item.</td>
</tr>
</tbody>
</table>
<br>
<p><strong><a name="geni26"><font style="background-color: lime;">The
"GenCloak"</font></a></strong></p>
<p>A GenCloak is special armor
that changes the name of the wearer when
worn. &nbsp;It may, but need not actually be, a cloak.</p>
<p>Whenever a GenCloak is created,
much like the GenArmor above, you are
presented with a list of properties to fill in. Pressing enter will
leave the property unchanged. The properties include everything listed
under GenArmor, plus one more:</p>
<table style="width: 100%;" bgcolor="yellow" border="1" cellpadding="1" cellspacing="1" width="100%">
<tbody>
<tr>
<td width="25%"><strong>Property</strong></td>
<td width="75%"><strong>Description</strong></td>
</tr>
<tr>
<td><em>Cloak
Name</em></td>
<td>The name that a mob
wearing the cloak seems to be</td>
</tr>
</tbody>
</table>
<br>
<p><strong><a name="geni8"><font style="background-color: lime;">The
"GenBed" "GenChair", "GenTable", "GenBoat", "GenRideable",
"GenCageRideable", "GenTub", "GenFixture", "GenFurniture"</font></a></strong></p>
<p>These represent the GenRideable
group -- a group of things which may
be sat one, slept in, ridden on the seas, or pulled by horses. The
GenRideable, GenBed, GenChair, GenTable, and GenBoat all represent
different incarnations of GenRideable, but are interchangable
otherwise. The GenTub is unique in that it provides the functionality
of GenDrink as well as GenRideable. GenCageRideable is very different,
since it has the unique property of the GenCage -- able to be seen in
even when lids or doors are closed. &nbsp;The GenFurniture is a
rideable
that can be pushed and pulled, even when it is ungettable.</p>
<p>Whenever a GenRideable item is
created, much like the GenContainer
above, you are presented with a list of properties to fill in. Pressing
enter will leave the property unchanged. The properties include all of
the fields listed above under GenItem, and GenContainer, plus a few
more:</p>
<table style="width: 100%;" bgcolor="yellow" border="1" cellpadding="1" cellspacing="1" width="100%">
<tbody>
<tr>
<td width="25%"><strong>Property</strong></td>
<td width="75%"><strong>Description</strong></td>
</tr>
<tr>
<td><em>Rideable
Type</em></td>
<td>the type of rideable
item this is, from sittable, to
sleepable, etc. Some of these types may be ridden from room to room,
like "LAND-BASED","WATER-BASED","AIR-FLYING", and "WAGON" while others
may not. "WAGON", unlike the others, may be hitched to another Rideable
(such as a GenRideable MOB made into a horse.) "LADDER" will help those
trying to get through climable rooms. The others are just furniture for
sitting on, sleeping on, or climbing into.</td>
</tr>
<tr>
<td><em>MOBs
Held</em></td>
<td>the&nbsp;maximum
number of
mobs which may occupy this piece of
furniture at once.</td>
</tr>
<tr>
<td><span style="font-style: italic;">Mount
Stiring</span></td>
<td>the present-tense verb
or verb phrase, shown when
entering or
mounting this</td>
</tr>
<tr>
<td><span style="font-style: italic;">Dismount
String</span></td>
<td>the present-tense verb
or verb phrase, shown when
leaving or
dismounting this</td>
</tr>
<tr>
<td><span style="font-style: italic;">Put
String</span></td>
<td>the preposition shown
when putting something in, into,
or on
this</td>
</tr>
<tr>
<td><span style="font-style: italic;">State
String</span></td>
<td>the predicate phrase
when the subject is mounted to
this
thing, seen in the room</td>
</tr>
<tr>
<td><span style="font-style: italic;">State
Subject String</span></td>
<td>the predicate phrase
when the subject is this thing,
which
ends with the list of those mounted</td>
</tr>
<tr>
<td><span style="font-style: italic;">Ride
Verb String</span></td>
<td>the present-tense verb,
or verb phrase, shown when
driving
the thing from place-to-place</td>
</tr>
</tbody>
</table>
<p><br>
<strong><a name="geni9"><font style="background-color: lime;">The
"GenFood", "GenDrink", "GenWater", "GenFoodResource",
"GenLiquidResource", "GenFountain", "GenTub"</font></a></strong></p>
<p>These items represent the
edibles and drinkables on CoffeeMud. The
GenFood is a simple edible food, while a GenFoodResource is a raw
edible material that can be used for cooking or other
resource-requiring common skills. GenWater, GenDrink, and GenFountain
are all templates for drinkable containers, with a GenFountain
differing only in a lack of need to ever fill it. A GenLiquidResource
represents a liquid resource for potion making or other skills.</p>
<p>Whenever a GenFood, GenDrink,
GenFountain, or GenWater is created,
much like the GenItem above, you are presented with a list of
properties to fill in. Pressing enter will leave the property
unchanged. The properties include everything listed under GenItem, plus
GenContainer for the drinkables, plus a few more:</p>
<table style="width: 100%;" bgcolor="yellow" border="1" cellpadding="1" cellspacing="1" width="100%">
<tbody>
<tr>
<td width="25%"><strong>Property</strong></td>
<td width="75%"><strong>Description</strong></td>
</tr>
<tr>
<td><em>Nourishment/Eat</em></td>
<td>when eaten, how much
nourishment does it provide. 1000 would
represent a full day of eating, while 300 would represent a single
meal. 100 would represent a snack.</td>
</tr>
<tr>
<td><span style="font-style: italic;">Bite/Eat</span></td>
<td>how much of the
nourishment above is provided when the EAT
command is used. &nbsp;If this value is 0, then the entire food is
eaten. &nbsp;Any value between 1 and the Nourishment value above
will
represent a smaller bite.</td>
</tr>
<tr>
<td><em>Quenched/Drink</em></td>
<td>when drunk out of, how
much of the total capacity is
consumed. A value of 500 represents a full day of drinking, while 100
would represent a full glass</td>
</tr>
<tr>
<td><em>Amount
of Drink Held</em> </td>
<td>the amount of total
drink held by the container. Each time
the item is drunk, the amount represented by Quenched/Drink is
subtracted from this. When this number reaches 0, the container is
empty and must be refilled.</td>
</tr>
<tr>
<td><em>Liquid
Type</em></td>
<td>for GenWater/GenDrink
only, this denotes what kind of
liquid it is, whether fresh water, salt water, or even BLOOD! This may
differ from the GenItem material type, so that the archon may
differentiate between the material of the container from whats inside
it.</td>
</tr>
</tbody>
</table>
<br>
<p><strong><a name="geni10"><font style="background-color: lime;">The
"GenPerfume"</font></a></strong></p>
<p>This item represents a liquid
drinkable (which should not be drunk)
which can be worn to gain its effect. Its effect is to put a temporary
smelling emoter on the wearer, making it seem to all those with noses
that the wearer is affected by the perfume.</p>
<p>Whenever a GenPerfume, much
like the GenDrink above, you are
presented with a list of properties to fill in. Pressing enter will
leave the property unchanged. The properties include everything listed
under GenDrink, plus GenContainer, plus a few more:</p>
<table style="width: 100%;" bgcolor="yellow" border="1" cellpadding="1" cellspacing="1" width="100%">
<tbody>
<tr>
<td width="25%"><strong>Property</strong></td>
<td width="75%"><strong>Description</strong></td>
</tr>
<tr>
<td><em>Smell
emotes</em></td>
<td> this represents the
parameters passed on to the
Emoter behavior when the perfume is worn. The parameters are identical
to the emoter, except that the SMELL flag is automatically set. Unless
the perfume is permanent, a expires parameter should always be used. A
default of 100 will be used if it is absent.
<p>The parameters are as
follows:</p>
<pre>Parameters : Max/Min ticks, pct chance, expires, emote strings, ';' separated.<br>Example : min=10 max=20 chance=25;smells great!;smells lovely.;smells like roses!<br>Example : smell chance=25 expires=100;smells horrible!;is really stinky!<br>Example : broadcast chance=25;smells awesome!;smells overpowering!<br>Description: \n\r\<br>All smell emote strings are separated by the semicolons shown above. The first<br>parameter can be empty for defaults, or may contain a setting for minimum ticks<br>(min=10), maximum ticks (max=20), the percept chance of occurrence after the random<br>number of ticks has expired (chance=25), a total number of occurrences before<br>expiration (expires=0), or a tag to make the emote broadcast to adjacent rooms<br>(broadcast). In the first example every 10-20 ticks, there is a 25% chance that the<br>object with this property will select one of the emotes randomly and perform it for<br>all those in the same room who can see it. In the second example, a emote will be<br>performed 25% of the time, but will only emote 100 times before the behavior is<br>removed from the object. In the last example, a emote will be performed 25% of the<br>time in the room of the behavior, and in any adjacent rooms.<br></pre>
</td>
</tr>
</tbody>
</table>
<br>
<br>
<p><strong><a name="geni11"><font style="background-color: lime;">The
"GenMap"</font></a></strong></p>
<p>A GenMap is a readable item
that will automatically map out the
rooms of the specified area(s). Level is uniquely significant on a
GenMap. A level of 0 means the map will be built without access to any
indoor rooms or areas behind secret exits. A value of 1 means the map
will be built with both indoor and outdoor rooms, but without secret
rooms. Any other value will display each and every room, regardless. A
room that is classified as "in the air" will never be placed on a map.</p>
<p>Whenever a GenMap is created,
much like the GenArmor above, you are
presented with a list of properties to fill in. Pressing enter will
leave the property unchanged. The properties include everything listed
under GetItem, plus one more:</p>
<table style="width: 100%;" bgcolor="yellow" border="1" cellpadding="1" cellspacing="1" width="100%">
<tbody>
<tr>
<td width="25%"><strong>Property</strong></td>
<td width="75%"><strong>Description</strong></td>
</tr>
<tr>
<td><em>Area
List</em></td>
<td>
<p>List here the names of
the areas which will be displayed on
the map, separated by semicolons. If you have a "MyArea", and a
"HisArea", you might enter them here as "MyArea;HisArea" (without the
quotes).</p>
</td>
</tr>
</tbody>
</table>
<br>
<br>
<p><strong><a name="geni12"><font style="background-color: lime;">The
"GenKey"</font></a></strong></p>
<p>Keys are things required to
unlock doors and containers with locks.</p>
<p>Whenever a GenKey is created,
much like the GenItem above, you are
presented with a list of properties to fill in. Pressing enter will
leave the property unchanged. The properties include everything listed
under Genitem, plus one more:</p>
<table style="width: 100%;" bgcolor="yellow" border="1" cellpadding="1" cellspacing="1" width="100%">
<tbody>
<tr>
<td width="25%"><strong>Property</strong></td>
<td width="75%"><strong>Description</strong></td>
</tr>
<tr>
<td><em>Key
Code</em></td>
<td>The text entered here
must match exactly the assigned key
code for the door or container lid which this key opens.</td>
</tr>
</tbody>
</table>
<br>
<p><strong><a name="geni13"><font style="background-color: lime;">The
"GenStaff"</font></a></strong></p>
<p>A GenStaff is a type of
GenWeapon which also behaves like a wand.
This means that it has an invocation word which must be spoken to
activate the spell inside it.</p>
<p>Whenever a GenStaff is created,
much like the GenWeapon above, you
are presented with a list of properties to fill in. Pressing enter will
leave the property unchanged. The properties include everything listed
under GenWeapon, plus one more:</p>
<table style="width: 100%;" bgcolor="yellow" border="1" cellpadding="1" cellspacing="1" width="100%">
<tbody>
<tr>
<td width="25%"><strong>Property</strong></td>
<td width="75%"><strong>Description</strong></td>
</tr>
<tr>
<td><em>Assigned
Spell</em></td>
<td>List here the name of
the spell which is cast by this staff.
If left blank, the staff becomes mundane. Check the list of spells for
ones to use. Also, don't forget to set the "Uses Remaining" field to
give the staff some charges!</td>
</tr>
</tbody>
</table>
<br>
<br>
<p>The GenStaff, like the GenWand
below, is activated by first wielding
it, and then by <em>speaking</em>
or <em>saying</em>
the magical
triggerword to the target.</p>
<p><strong><a name="geni14"><font style="background-color: lime;">The
"GenWand"</font></a></strong></p>
<p>GenWands are items which must
be worn/held and a magic word spoken
in order to activate an innate spell. To cast a wands spell on a
creature or item, the word must be spoken to the creature or item
directly.</p>
<p>Whenever a GenWand is created,
much like the GenItem above, you are
presented with a list of properties to fill in. Pressing enter will
leave the property unchanged. The properties include everything listed
under GenItem, plus one more:</p>
<table style="width: 100%;" bgcolor="yellow" border="1" cellpadding="1" cellspacing="1" width="100%">
<tbody>
<tr>
<td width="25%"><strong>Property</strong></td>
<td width="75%"><strong>Description</strong></td>
</tr>
<tr>
<td><em>Assigned
Spell</em></td>
<td>List here the name of
the spell which is cast by this wand.
If left blank, the wand is little more than a fancy stick. Check the
list of spells for ones to use. Also, don't forget to set the "Uses
Remaining" field to give the wand some charges!</td>
</tr>
</tbody>
</table>
<br>
<br>
<p>The GenWand, like the GenStaff
above, is activated by first holding
it in ones hand, and then by <em>speaking</em>
or <em>saying</em>
the
magical triggerword to the target.</p>
<p><strong><a name="geni15"><font style="background-color: lime;">The
"GenPill", "GenPotion", "GenPowder", and "GenMultiPotion"</font></a></strong></p>
<p>GenPills are edible items which
impart their spell after eating.
GenPowders can have their magic thrown on targets. GenPotions and
GenMultiPotions do the same when they are drank. The difference between
them is that GenPills and GenPotions vanish after drinking/eating.
GenMultiPotions may be drank from many times to receive their magic.</p>
<p>Whenever a GenPill, GenPowder,
or GenPotion is created, much like
the GenArmor above, you are presented with a list of properties to fill
in. Pressing enter will leave the property unchanged. The properties
include everything listed under GenItem, plus a few more:</p>
<table style="width: 100%;" bgcolor="yellow" border="1" cellpadding="1" cellspacing="1" width="100%">
<tbody>
<tr>
<td width="25%"><strong>Property</strong></td>
<td width="75%"><strong>Description</strong></td>
</tr>
<tr>
<td><em>Assigned
Spells</em></td>
<td>List here the ID/names
of the spells which are cast upon
the eater of the pill or drinker of the potion. Check the list of
spells for ones to use. Each spell is separated by semicolons, and
may include optional parameters in parenthesis () after the ID.</td>
</tr>
<tr>
<td><em>Nourishment/Eat</em></td>
<td>when eaten, how much
nourishment does the pill provide. 1000
would represent a full day of eating, while 300 would represent a
single meal. 100 would represent a snack. You could make a magical
smorgasborg if you like!</td>
</tr>
<tr>
<td><em>Quenched/Drink</em></td>
<td>when drunk out of, how
much of the total capacity is
consumed. A value of 500 represents a full day of drinking, while 100
would represent a full glass. Keep in mind that when a potion is potent
(contains its magical substance), the potion is entirely consumed. Only
when the potion container is refilled with water does this apply.</td>
</tr>
<tr>
<td><em>Amount
of Drink Held</em> </td>
<td>the amount of total
drink held by the potion. Each
time the contents of the potion is drunk, the amount represented by
Quenched/Drink is subtracted from this. When this number reaches 0, the
potion container is empty and must be refilled with something mundane,
like water.</td>
</tr>
</tbody>
</table>
<br>
<br>
<p><strong><a name="geni16"><font style="background-color: lime;">The
"GenSuperPill"</font></a></strong></p>
<p>The GenSuperPill is a special
kind of GenPill which does not create
a spell effect, but has other, more permanent benefits!</p>
<p>Whenever a GenSuperPill is
created, much like the GenPill above, you
are presented with a list of properties to fill in. Pressing enter will
leave the property unchanged. The properties include everything listed
under GenItem, plus two more:</p>
<table style="width: 100%;" bgcolor="yellow" border="1" cellpadding="1" cellspacing="1" width="100%">
<tbody>
<tr>
<td width="25%"><strong>Property</strong></td>
<td width="75%"><strong>Description</strong></td>
</tr>
<tr>
<td><em>Assigned
Spell or Parameters</em></td>
<td>The GenSuperPill has all
of the properties of the
GenPill, but with a few more capabilities. Spells, separated by
semicolons, may be listed in this field. Make sure the names are typed
exactly, however, or the pill will fail! In addition, certain
adjustment parameters may be typed in, to give the pill an extra
"punch". These adjustment parameters are too numerous to list here. I
suggest you enter "help parameters", and look at the entry for
"Prop_HaveAdjuster". The parameters for GenSuperPill will appear the
same, though GenSuperPills can also boost experience using "expe+10" or
"expe-20", or reset a players recall room to their current room using
"beacon+1". Another important difference from Prop_HaveAdjuster is that
the effects of a pill are PERMANENT!!!</td>
</tr>
<tr>
<td><em>Nourishment/Eat</em></td>
<td>when eaten, how much
nourishment does the pill provide. 1000
would represent a full day of eating, while 300 would represent a
single meal. 100 would represent a snack.</td>
</tr>
</tbody>
</table>
<br>
<br>
<p><strong><a name="geni17"><font style="background-color: lime;">The
"GenScroll"</font></a></strong></p>
<p>A GenScroll is a readable item
that has spells written on it. These
spells may be discovered through the "Read Magic" spell, and written on
using Scribe. Spells can be learned from scrolls using Scroll Copy.</p>
<p>Whenever a GenScroll is
created, much like the GenPill above, you
are presented with a list of properties to fill in. Pressing enter will
leave the property unchanged. The properties include everything listed
under GenItem, plus one more:</p>
<table style="width: 100%;" bgcolor="yellow" border="1" cellpadding="1" cellspacing="1" width="100%">
<tbody>
<tr>
<td width="25%"><strong>Property</strong></td>
<td width="75%"><strong>Description</strong></td>
</tr>
<tr>
<td><em>Assigned
Spells</em></td>
<td>List here the names of
the spells which are written upon the
scroll. Check the list of spells for ones to use. Remember to set the
uses remaining field so that the scroll can have a little clarity!</td>
</tr>
</tbody>
</table>
<br>
<p><strong><a name="geni27"><font style="background-color: lime;">The
"GenDice"</font></a></strong></p>
<p>A GenDice is special item that
can be ROLL or THROWN, which causes it to be dropped, and then show a
number between 1 and &lt;Magical Ability&gt; (inclusive)..</p>
<p>Whenever a GenDice is created,
much like the GenArmor above, you are
presented with a list of properties to fill in. Pressing enter will
leave the property unchanged. The properties include everything listed
under GenArmor, plus one more:</p>
<table style="width: 100%;" bgcolor="yellow" border="1" cellpadding="1" cellspacing="1" width="100%">
<tbody>
<tr>
<td width="25%"><strong>Property</strong></td>
<td width="75%"><strong>Description</strong></td>
</tr>
<tr>
<td><em>Magical
Ability</em></td>
<td>The number of 'sides' on
the dice. &nbsp;Should always be greater than 1.</td>
</tr>
</tbody>
</table>
<br>
<p><strong><a name="geni18"><font style="background-color: lime;">The
"GenTitle"</font></a></strong></p>
<p>A GenTitle is a piece of paper
which designates ownership of a piece
of property. A piece of property can&nbsp;be a room or a set of
rooms
with Prop_RoomForSale, Prop_RoomsForSale, or Prop_LotsForSale on it, or
a GenSailingShip.
Titles are unique in that whenever they are GIVEn to another player,
the property changes ownership. Although titles can be created by
archons and given to shopkeepers to sell, the usual method for putting
land up for sale is to create a shopkeeper of the type LANDSELLER (see
shopkeepers below). This will automatically populate the shopkeeper
with titles to all properties for sale in his or her area.</p>
<p>Whenever a GenTitle is created,
much like the GenPill above, you are
presented with a list of properties to fill in. Pressing enter will
leave the property unchanged. The properties include everything listed
under GenItem, plus&nbsp;more:</p>
<table style="width: 100%;" bgcolor="yellow" border="1" cellpadding="1" cellspacing="1" width="100%">
<tbody>
<tr>
<td width="25%"><strong>Property</strong></td>
<td width="75%"><strong>Description</strong></td>
</tr>
<tr>
<td><em>Owner</em></td>
<td>The name of the Clan or
Player who is the principle owner of
the property. &nbsp;An empty entry denotes an unowned item.
&nbsp;An
Owner name that starts with the "#" character denotes a special
property that should be treated as owned for certain legal purposes,
but not by any real Clan or Player.</td>
</tr>
<tr>
<td><span style="font-style: italic;">Price</span></td>
<td>The price, in base
value, of the property.</td>
</tr>
<tr>
<td><span style="font-style: italic;">Assigned
Property ID</span></td>
<td>The ID of the property,
whether it be an Area Name, a Room
ID, or the name of a ship. &nbsp;Remember, just having a title is
not
enough to own anything. &nbsp;The property itself must exist and
also
be similarly designated.</td>
</tr>
</tbody>
</table>
<br>
<br>
<p><strong><a name="geni19"><font style="background-color: lime;">The
"GenLawBook"</font></a></strong></p>
<p>A GenLawBook is a Journal-Like
document containing 10 pages of
detailed information about the laws in the area for which it is
"written". An Area must have either the "Arrest" or "Conquerable"
behaviors in order to have any laws for the law book to list. If the
Area has the Arrest behavior with a property of "custom", then Archons
and staff may also use the GenLawBook to modify aspects of the law in
that area. If the Area has the "Conquerable" behavior, then either the
Archon, staff, or duly authorized clan member may use the book to
modify law.</p>
<p>Whenever a GenLawBook is
created, much like the GenReadable above,
you are presented with a list of properties to fill in. Pressing enter
will leave the property unchanged. The properties include everything
listed under GenReadable, though one of the properties has a slightly
different meaning:</p>
<table style="width: 100%;" bgcolor="yellow" border="1" cellpadding="1" cellspacing="1" width="100%">
<tbody>
<tr>
<td width="25%"><strong>Property</strong></td>
<td width="75%"><strong>Description</strong></td>
</tr>
<tr>
<td><em>Readable
Text</em></td>
<td>This field is reserved
for the Name of the area for which
this law book refers. The area named here must have the Arrest or
Conquerable behaviors for the law book to work properly.</td>
</tr>
</tbody>
</table>
<br>
<br>
<p><strong><a name="geni20"><font style="background-color: lime;">The
"GenPortal" and "GenMobilePortal"</font></a></strong></p>
<p>A GenPortal is Rideable type
item that can act as a gateway between
two rooms via the ENTER command. The item can be made gettable or not,
blended or not, having all the advantages of a standard item, while
still getting you from here to there like an Exit. The
Rideable-specific fields Rideable Type and MOBs Held are also
unchangeable due to the specific nature of the portal, although you
will see them listed on the editor screens. They also share the same
re-closing and re-locking behaviors noted above with GenContainers.<br>
</p>
<p>GenMobilePortal is a GenPortal
with a unique feature. The
GenMobilePortal expects that it's assigned destination room ALSO
contains a GenPortal in it. If so, then every time the GenMobilPortal
is moved by a player carrying it from place to place, the target for
the paired GenPortal will also be changed to reflect the move.<br>
</p>
<p> Scripting a Portal has an
extra twist to be aware of. Although the
player uses the ENTER command to traverse a portal, the CoffeeMud
engine will translate this into a directed SIT message aimed at the
portal object. When using Scriptable MOBPROG scripting, for instance,
one way to capture the event of entering a portal is to use the
CNCLMSG_PROG SIT trigger (See the <a href="Scriptable.html">Scriptable
Guide</a>) for more information on
scripting. </p>
<p>Whenever a GenPortal is
created, much like the GenRideable above,
you are presented with a list of properties to fill in. Pressing enter
will leave the property unchanged:</p>
<table style="width: 100%;" bgcolor="yellow" border="1" cellpadding="1" cellspacing="1" width="100%">
<tbody>
<tr>
<td width="25%"><strong>Property</strong></td>
<td width="75%"><strong>Description</strong></td>
</tr>
<tr>
<td><em>Assigned
Room IDs</em></td>
<td>This field is the room
ID of the room to which the portal
will take you, or a list of rooms (separated by semicolons) to which
the portal might take you.</td>
</tr>
<tr>
<td><em>Exit
Direction Name</em></td>
<td>This field, when not
blank, will cause the portal to be
listed among the exits in the room. This field will hold the name of
the direction, while the portal's "Name" will be the room description.</td>
</tr>
<tr>
<td><em>Exit
Closed Text</em></td>
<td>If the Exit Direction
Name is not empty, and the portal has a
door/lid, then this field will be displayed instead of the "name" in
the exits list.</td>
</tr>
</tbody>
</table>
<br>
<br>
<p><strong><a name="geni7-3"><font style="background-color: lime;">The
"GenSailingShip"</font></a></strong></p>
<p>A GenSailingShip is Portal type
item that has its self contained instanced area with custom rooms,
property ownership, and special sailing commands. As an object, they
have all the properties of the GenPortal above except that the portal
can be moved around, and still exited from inside the instanced Area,
so long as the
special building rules are followed. &nbsp;The GenSailingShip is
saved
along with the owning player or clan, and comes back into existence
when the player or clan does.</p>
A GenSailingShip is intended to be sold to players or clans through
shopkeepers that operate in the same area (but not necessarily the same
room) as either a SeaPort locale room, or the shore to an ocean or big
river. &nbsp;To make one for this purpose, create a GenSailingShip
item
in the same room as the shopkeeper, give it a player-modifiable name if
desired, such as "the sailing ship [NEWNAME]", and then ENTER the ship
to create the rooms inside the ship. &nbsp;<br>
<br>
Rooms
are created the
same
way as in any other area, except that, instead of NORTH, SOUTH, etc.
you must use ship-directions, such as PORT, STARBOARD, FORE, AFT,
ABOVE, and BELOW.&nbsp; A ship should generally be built
NORTH-SOUTH
(which is the same as FORE-AFT). &nbsp;At least one of the rooms
should
be outdoors, preferably something like a WoodenDeck locale, so that
players can see what is around the ship, and so that they have a place
to build siege weapons. &nbsp;The deck is also the
place to put some exits that link back to the room with the shopkeeper
(or whatever, since such exits links will be automatically modified as
the ship
moves). &nbsp;<br>
<br>
When making NPC ships (ships with no owners), be
sure to give each ship, and each internal instance area inside, a
unique name. &nbsp;Many skills and systems need to look up rooms by
their IDs, but if multiple ships all have the same room ids, the system
can become confused about which ship is actually being addressed.
&nbsp;NPC ships can be populated with mobs, shipwright mobs, mobile
mobs,&nbsp;siege weapons, siege ammunition, etc. &nbsp;
Behaviors like
the Sailor behavior can be given to mobs to make them sail the ship
around and engage in ship combat.<br>
<br>
When designing your sailing ships, be sure to put Prop_ReqCapacity on
your rooms, especially the deck rooms. &nbsp;This is the only thing
that can limit the number of siege weapons that players can add to
their ship. &nbsp;Using parameters of "weight=715" will allow one
of
all of the siege weapons to be built, but not two. &nbsp;Using
parameters of "weight=400" will allow only one of the light
weapons,&nbsp;"weight=600" will allow one of the normal or light
weapons, &nbsp;and weight="900" will allow two light weapons or one
normal or one light. etc.<br>
<br>
When this is completed, you
can add the GenSailingShip
item to the shopkeepers inventory. &nbsp;Don't run around with
ships in
your own inventory, or, for goodness sake, inside another ship.<br>
<br>
Whenever a GenSailingShip is
created, much like the GenPortal, GenContainer, GenExit, and
GenRideables,
you are presented with a list of properties to fill in. Pressing enter
will leave the property unchanged. <br>
<br>
<table style="width: 100%;" bgcolor="yellow" border="1" cellpadding="1" cellspacing="1" width="100%">
<tbody>
<tr>
<td width="25%"><strong>Property</strong></td>
<td width="75%"><strong>Description</strong></td>
</tr>
<tr>
<td><em>Owner</em></td>
<td>The
name of the Clan or Player who is the principle owner of the property.
&nbsp;An empty entry denotes an unowned item. &nbsp;An Owner
name that
starts
with the "#" character denotes a special property that should be
treated as owned for certain legal purposes, but not by any real Clan
or Player.</td>
</tr>
<tr>
<td><span style="font-style: italic;">Price</span></td>
<td>The price, in base
value, of the property.</td>
</tr>
</tbody>
</table>
<br>
<br>
<p><strong><a name="geni21"><font style="background-color: lime;">The
"GenClanItem", "GenClanCommonContainer", "GenClanApron",
"GenClanCommonItem", "GenClanContainer", "GenClanFlag",
"GenClanPamphlet", and "GenClanSpecialItem"</font></a></strong></p>
<p>The above are all basis for the
items created by the Clan Crafting
skill. The GenClanItem and GenClanContainer are standard holdable items
assignable to clans, usually for the purpose of use with the
Conquerable behavior on Areas. They are only gettable by members of the
clan to whom they are assigned, and have properties to allow them to be
captured by other clans as well. The GenClanCommonItem and
GenClanCommonContainer cause their mob holders to perform tasks. The
GenClanFlag holds a conquered area in place, and provides Conquerable
behavior information. The GenClanApron makes the holder into a
shopkeeper. The GenClanPamphlet makes the holder a dissident and
multiplies in rival clan areas, and the GenClanSpecialItem performs
miscellaneous tasks when found in a conquered area.</p>
<p>Clan items all have a Clan Item
type, which must usually be matched
with the proper GenClan class type from the list above in order to work
effectively. Here is a proper mapping:</p>
<table style="width: 100%;" bgcolor="palegreen" border="1" cellpadding="1" cellspacing="1" width="100%">
<tbody>
<tr>
<td width="25%"><strong>Class
Name</strong></td>
<td width="75%"><strong>Clan
Item Types</strong></td>
</tr>
<tr>
<td>GenClanItem,
GenClanContainer</td>
<td>"BANNER", "GAVEL"</td>
</tr>
<tr>
<td>GenClanCommonItem,
GenClanCommonContainer</td>
<td>"GATHERITEM", "CRAFTITEM"</td>
</tr>
<tr>
<td>GenClanFlag</td>
<td>"FLAG"</td>
</tr>
<tr>
<td>GenClanPamphlet</td>
<td>"PROPAGANDA"</td>
</tr>
<tr>
<td>GenClanSpecialItem</td>
<td>"SPECIALSCALES",
"SPECIALSCAVENGER", "SPECIALOTHER",
"SPECIALTAXER"</td>
</tr>
</tbody>
</table>
<br>
Whenever a GenClanItem is created, much like the GenItem above, you are
presented with a list of properties to fill in. Pressing enter will
leave the property unchanged. The properties include everything listed
under GenItem, plus a few more:<br>
<br>
<table style="width: 100%;" bgcolor="yellow" border="1" cellpadding="1" cellspacing="1" width="100%">
<tbody>
<tr>
<td width="25%"><strong>Property</strong></td>
<td width="75%"><strong>Description</strong></td>
</tr>
<tr>
<td><em>Clan
ID</em></td>
<td>This field is reserved
for the Name of the clan that this
item belongs to.</td>
</tr>
<tr>
<td><em>Clan
Item Type</em></td>
<td>This type of clan item,
as described above.</td>
</tr>
</tbody>
</table>
<br>
<br>
<p><strong><a name="geni22"><font style="background-color: lime;">The
"GenWallpaper", and "GenFatWallpaper"</font></a></strong></p>
<p>GenWallpaper is unique in that
it is a non-gettable item which is
never listed among the items in a room, but CAN be looked at. It is
intended to provide targets for the LOOK command based upon objects
which might be mentioned in a room description. Archons should make
sure they have SYSMSGS turned on to edit wallpaper items, since they
will not be noticed otherwise.<br>
</p>
<p>GenFatWallpaper is the same as
GenWallpaper, except that it also has
a displayText field, so that it can be seen in a room. However, like
GenWallpaper, it can not be interacted with.<br>
</p>
<p>When GenWallpaper is created,
you have only the name (which should
contain key words for the LOOK command), the description that is seen,
and whether or not it is also readable.</p>
<p><strong><a name="geni25"><font style="background-color: lime;">The
"GenRecipe"</font></a></strong></p>
<p>GenRecipe is a complex but
powerful tool for expanding the system of
Common Skills in the CoffeeMud codebase. A GenRecipe is a piece of
paper upon which is written one or more recipes, schematics, or other
instructions for enhancing the list of things which can be crafted by
players using their crafting Common Skills. A player takes advantage of
a recipe by mearly having the item in his or her inventory and using
the appropriate skill for which the recipe was designed.</p>
<p>Designing a GenRecipe object is
extremely complex. After setting the
"normal" GenItem fields for this item, such as name, readabletext,
weight, value, etc, there is a whole new submenu under the option
"Recipe Data". &nbsp;This will let you enter two key GenRecipe
fields:
Common Skill ID, and the Maximum number of Recipes. &nbsp;The
Common
Skill
ID identifies which of the common skills is served by the recipe.After
this you get the submenu &nbsp;for entering new Data Lines (the
actual
recipes) by hitting the Add option. &nbsp;
The
Data line describes in detail the item which can be created by players
with this recipe on hand. The format of the data line is a series of
comma-delimited values which are defined for each common skill
uniquely. There are three ways of determining the number and nature of
each value for the data line. The first is to look at the Params
example given, where each entry is comma delimited, and the || denotes
one or another but not both. Another is to open the appropriate common
skill *.java file in the /com/planet_ink/Abilities/Common/ directory on
your computer and observing the several lines near the top of the file
which begin with "protected static final int RCP_". The number, order,
and nature of the values will be identical to these variable
definitions. The last way is to open the appropriate *.txt file for
the common skill in the /resources/skills/ directory (such as
weaponsmith.txt or pottery.txt) and noting the first line of the file.
The first line in most cases will be a guide to the number and nature
of the field values.</p>
<p><strong><a name="geni23"><font style="background-color: lime;">The
"GenInstrument" and "GenPiano"</font></a></strong></p>
<p>The GenInstrument represents a
musical instrument for the purposes
of the several Minstrel spells. They differ only in that the GenPiano
is also like a GenRideable mentioned above, in that it must be sat on
to play.</p>
<p>Whenever a GenInstrument is
created, much like the GenRideable
above, you are presented with a list of properties to fill in. Pressing
enter will leave the property unchanged. The properties include
everything listed under GenItem, and GenRideable for the GenPiano, plus
one more:</p>
<table style="width: 100%;" bgcolor="yellow" border="1" cellpadding="1" cellspacing="1" width="100%">
<tbody>
<tr>
<td width="25%"><strong>Property</strong></td>
<td width="75%"><strong>Description</strong></td>
</tr>
<tr>
<td><em>Instrument
Type</em></td>
<td>This is the general
classification of the instrument for the
purposes of several of the Minstrel songs.</td>
</tr>
</tbody>
</table>
<br>
<br>
<p><a name="geni24"><strong><font style="background-color: lime;">The
"GenLimb"</font></strong></a></p>
<p>This strange item represents
both false limbs and real replaceable
ones.</p>
<p>Whenever a GenLimb item is
created, much like the GenContainer
above, you are presented with a list of properties to fill in. Pressing
enter will leave the property unchanged. The properties include all of
the fields listed above under GenItem, though some have slightly
different meanings:</p>
<table style="width: 100%;" bgcolor="yellow" border="1" cellpadding="1" cellspacing="1" width="100%">
<tbody>
<tr>
<td width="25%"><strong>Property</strong></td>
<td width="75%"><strong>Description</strong></td>
</tr>
<tr>
<td><em>Name,
Secret Identity</em></td>
<td>At least one of these
fields must *END* with the name
of a valid body part in order for the GenLimb to operate properly.
Value body parts include:
"ANTENNEA","EYE","EAR","HEAD","NECK","ARM","HAND","TORSO","LEG","FOOT",
"NOSE","GILL","MOUTH","WAIST","TAIL",and "WING"</td>
</tr>
<tr>
<td><em>Magical
Ability</em></td>
<td>On a GenLimb, this field
should have a value of 0 when the
limb is false (meaning that wearing it does not replace the
functionality of missing limbs), or a value &gt; 0 (meaning that it
replaces X missing limbs).</td>
</tr>
<tr>
<td><span style="font-style: italic;">Race ID</span></td>
<td>The race of the creature
this limb came from, if it is a real
limb, or empty otherwise.</td>
</tr>
</tbody>
</table>
<p><strong><a name="moditems"><font color="blue" size="5">Modifying
Items</font></a></strong></p>
<p>There are properties of items,
armor, weapons, and containers that
can be modified by the Archon. If one wishes to modify a dagger, one
must either hold the dagger, or have the dagger present in the room.
The Archon can then issue the command "modify dagger". If the item is a
GenItem, GenContainer, GenFood, GenWater, GenDrink, GenWeapon, or any
other "Gen" item, then the same properties as above will be presented.</p>
<p>Like rooms and areas, there are
a very rich selection of Behaviors
you may choose for items. Here are our favorites:</p>
<p>"Decay" for items that are only
around for a limited time.<br>
"DelayedTransporter" to make an item that moves people around.<br>
"Emoter" to make items behave in random and cute manners.<br>
"FasterRecovery" makes the owner or rider recover stats faster.<br>
"Follower" will make items follow players and mobs around.<br>
"InstantDeath" to cause an item to kill someone.<br>
"RandomItems" will cause items from a saved file to appear in a
container item.<br>
"ItemGenerator" will create treasure and items for your container items.<br>
"Mime" to make an item mimic the socials that players do.<br>
"Patroller" makes the item travel a route you specify, even when ridden.<br>
"Scriptable" allows you to script the behavior of the item based on
triggers.<br>
"Sounder" to add new color to item usage.</p>
<p>Items also benefit from
effects, just like rooms, areas, and exits.
Here are some important effects you may consider for your items:</p>
<p>"Burning" sets an item on fire.<br>
"Chant_ChargeMetal" makes an item attract electricity.<br>
"Chant_Shillelagh" makes wooden weapons more deadly.<br>
"Falling" sets an item as falling.<br>
"Prop_AbilityImmunity" protects the item from specified targeted spells.<br>
"Prop_AbsorbDamage" makes the item absorb damage from certain attacks.<br>
"Prop_AddDamage" makes the item owner sustain extra damage.<br>
"Prop_Artifact" will make the item very special indeed.<br>
"Prop_ClosedDayNight" makes an item disappear at night.<br>
"Prop_ClosedSeason" makes an item disappear for a season.<br>
"Prop_FightSpellCast" makes a weapon cast a spell when it hits.<br>
"Prop_HaveAdjuster" modifies the owners stats.<br>
"Prop_HaveResister" modifies the owners saving throws.<br>
"Prop_HaveSpellCast" gives a spell effect to the owner.<br>
"Prop_HaveZapper" restricts ownership.<br>
"Prop_Hidden" makes an item hidden, temporarily.<br>
"Prop_IceBox" makes a container that keeps food from spoiling.<br>
"Prop_Invisibility" makes an item invisible.<br>
"Prop_ItemBinder" makes an item bind to char, acct, or clan.<br>
"Prop_ItemNoRuin" makes the item immune to your loot corruption policy.<br>
"Prop_ItemTransporter" makes an item that transports things.<br>
"Prop_ItemTransReceiver" makes an item receives transported things.<br>
"Prop_LangTranslator" makes the item a translator of languages.<br>
"Prop_LimitedEquip" can limit the number of particular items that can be equipped.<br>
"Prop_LimitedItems" can limit the number of a particular item ever to
be owned.<br>
"Prop_LocationBound" limits where an item can be taken from.<br>
"Prop_ModExperience" modifies experience gained when
holding/wielding/wearing this.<br>
"Prop_MoveRestrictor" can be used to limit rideable items<br>
"Prop_NoDamage" makes the item incapable of doing damage.<br>
"Prop_NoPurge" makes the item a permanent piece of garbage.<br>
"Prop_NoRecall" makes the item prevent recalling.<br>
"Prop_OpenPassword" gives a container a secret opening word.<br>
"Prop_RideAdjuster" modifies the mounted persons stats.<br>
"Prop_RideEnabler" gives the mounted new skills.<br>
"Prop_RideResister" modifies the mounted persons saving throws.<br>
"Prop_RideSpellCast" gives a spell effect to the mounter.<br>
"Prop_RideZapper" restricts mounting.<br>
"Prop_RoomView" makes an item that gives you a view of something else.
A window maker!<br>
"Prop_ScrapExplode" makes the item explode when the scrap common skill
is used on it.<br>
"Prop_Smell" gives the item an aroma when using the SNIFF command.<br>
"Prop_SpellAdder" makes the item cast a spell on those who come near it.<br>
"Prop_SpellReflecting" helps make a shield that reflects magic.<br>
"Prop_StayAboard" makes a mounted item remain mounted forever.<br>
"Prop_TattooAdder" makes an item that grants one a tattoo.<br>
"Prop_TicketTaker" makes a rideable that requires money to board.<br>
"Prop_Trashcan" makes a container that destroys things placed inside.<br>
"Prop_UseSpellCast" makes an item that spell-affects the owner when
filled, worn, placed in, wielded, or held.<br>
"Prop_UseSpellCast2" makes an item that spell-affects the one who gets,
eats, or drinks from it.<br>
"Prop_WeaponImmunity" makes an item grant attack immunities.<br>
"Prop_WearAdjuster" modifies the wearers stats.<br>
"Prop_WearEnabler" gives the wearer skills.<br>
"Prop_WearResister" modifies the wearers saving throws.<br>
"Prop_WearSpellCast" gives a spell effect to the wearer.<br>
"Prop_WearZapper" restricts wearing/wielding/holding.<br>
"Spell_Boomerang" makes an item very loyal to the owner.<br>
"Spell_ContinualLight" makes an item shine!<br>
"Spell_Fly" makes an item fly around.<br>
"Spell_LightenItem" makes an item lighter.<br>
"Spell_MagicalAura" gives an item a magical aura.<br>
"Spell_Shrink" makes an item smaller.<br>
"Spell_WizardLock" makes a container harder to open.<br>
"Prayer_BlessItem" makes a weapon harder hitting.<br>
"Prayer_CurseItem" makes a weapon worse at hitting.<br>
"Prayer_FlameWeapon" makes a weapon flame striking.<br>
<br>
Lots of traps are available to make items more perilous:
"Bomb_AcidBurst", "Bomb_Explosive", "Bomb_FlameBurst", "Bomb_Noxious",
"Bomb_Pepper", "Bomb_Poison", "Bomb_Smoke", "Bomb_Spores",
"Bomb_Water", "Trap_AcidSpray", "Trap_Boomerang", "Trap_ElectricShock",
"Trap_Get", "Trap_GetBlade", "Trap_GetGas", "Trap_GetNeedle",
"Trap_GetSpell", "Trap_Gluey", "Trap_Greasy", "Trap_Ignition",
"Trap_Infected", "Trap_Launcher", "Trap_Needle", "Trap_NeedlePrick",
"Trap_Noise", "Trap_Open", "Trap_OpenBlade", "Trap_OpenGas",
"Trap_OpenNeedle", "Trap_OpenSpell", "Trap_PoisonGas", "Trap_Popper",
"Trap_SleepGas", "Trap_Spark", "Trap_SpellBlast", "Trap_SporeTrap",
"Trap_Trap", "Trap_Unlock", "Trap_UnlockBlade", "Trap_UnlockGas",
"Trap_UnlockNeedle", "Trap_UnlockSpell", "Trap_Vanishing",
"Trap_WeaponSwing"<br>
<br>
Lots of poisons are available to make weapons more deadly, or
drinkables into poisons - "Poison_Alcohol", "Poison_BeeSting",
"Poison_Bloodboil", "Poison_Decrepifier", "Poison_Firebreather",
"Poison_Ghoultouch", "Poison_GoblinDrip", "Poison_Heartstopper",
"Poison_Liquor", "Poison_Mindsap", "Poison_Peppersauce",
"Poison_Rotten", "Poison_Slumberall", "Poison_Venom", "Poison_XXX"</p>
<p>For "non-Generic" items, the
following properties will be presented
during modification (see Appendix A for more information):<br>
</p>
<table style="width: 100%;" bgcolor="yellow" border="1" cellpadding="1" cellspacing="1" width="100%">
<tbody>
<tr>
<td width="25%"><strong>Property</strong></td>
<td width="75%"><strong>Description</strong></td>
</tr>
<tr>
<td><em>Level</em></td>
<td>the level of the item,
dictating the lowest level a character
must attain to possess or hold it. See Appendix A for more information
on this field.</td>
</tr>
<tr>
<td><em>Magical
Ability</em></td>
<td>This number represents
an adjustment to the items
magical properties. If the item is any sort of armor, then this value
will be the same as described above under GenArmor. If the item is a
weapon, then this value will be the same as described above under
GenWeapon. For all other items, aside from making the item appears
magical, it has no other use whatsoever. See Appendix A for more
information on this field.</td>
</tr>
<tr>
<td><em>RejuvTicks</em></td>
<td>This number represents
the number of ticks (where a
tick is roughly 3 seconds) before an item, which has been removed from
the room, rejuvenates or resets to its proper state. The value
'2147483647' or '0' means that the item never rejuvenates, but once
picked up and brought out of the room, is gone forever. Any other value
will represent a number of ticks. This property does not take effect
until the room is saved. For more information on making the RejuvTicks
property take effect after changing it, see below under Rejuvenating
Items and Mobs" or "How to Save a Room".</td>
</tr>
<tr>
<td><em>UsesRemaining</em></td>
<td>for scrolls, lanterns,
ammunition, staves, and wands, this
represents the number of times the item may be used again before
expiring. For all other items, this field has no purpose whatsoever.</td>
</tr>
<tr>
<td><em>MiscText</em></td>
<td>the meaning of this
field differs entirely from item
to item. For most weapons and armor, it means nothing. For readable
items, it represents the text written upon it. For scrolls, it is the
spells that are scribed upon it. For a StdKey, it is the key code that
must match the door the key will open (see above under GenExit). See
Appendix A for more information on this field.</td>
</tr>
</tbody>
</table>
<br>
<br>
<p><strong><a name="xitems"><font color="blue" size="5">Destroying Items</font></a></strong></p>
<p>To destroy an item that is
either being held by you, or is in the
same room as you, you need only issue the destroy command. For
instance, if a dagger has offended: "destroy item dagger" wll make it
go away.</p>
<p>Once destroyed, items that have
been set to rejuv will not do so. If
the item was a permanently saved item in the room, you must re-save the
room in order to make the items destruction permanent.</p>
<p><strong><a name="arctools"><font color="blue" size="5">Tools of the
Trade</font></a></strong></p>
<p>The Archons of your realm have
lots of items that assist them in
building and administering their mud. Lets take a look at these:</p>
<p><em>The
Archon Staff</em> (CREATE ITEM
ARCHONSTAFF) - the Archon
Staff is the main tool of the true Archon. Also available from the
OUTFIT command, it not only provides a deadly weapon, but a useful
source of magical power. To use the powers of the staff, it must first
be wielded. It is a two-handed item, so the Archon's held position must
be given up for it as well. Once wielded, numerous magical words invoke
the power: s<em>ay targetname</em>
<em>"refresh"</em>
will rejuvenate
the targets mana, hit points, and movement; <em>sayto
targetname
"level up"</em> will give the target
a free level of experience; <em>sayto
targetname "level all up"</em> will
level the target up to 91; <em>sayto
targetname "burn"</em> will blast
the target with hellish fire.</p>
<p><em>The
Wand of the Archons</em> (CREATE
ITEM WANDARCHON) - the Wand
of the Archons is the one-handed alternative to the Archon Staff. It is
also available only to true Archons. To use the powers of the wand, it
must first be held. Once held, numerous magical words invoke the power:
s<em>ay targetname</em>
<em>"refresh"</em>
will rejuvenate the targets
mana, hit points, and movement; <em>sayto
targetname "level up"</em>
will give the target a free level of experience; <em>sayto
targetname
"level all up"</em> will level the
target up to 91; <em>sayto
targetname "burn"</em> will blast
the target with hellish fire.</p>
<p><em>The
Goody Bag</em> (CREATE ITEM
GOODYBAG) - The Goody Bag is
full of fabulous prizes which Archons may dispense to players. What's
better, an item that is removed is always replaced, so that the bag
never runs out. Inside the goody bad are piles of currency, pills to
gain stats or experience, and others goodies.</p>
<p><em>Ingredients
Sack</em> (CREATE ITEM INGREDIENTS)
- The
Ingredients bag has exactly one of every kind of natural resource the
system offers. Removing one from the bag will automatically replace it,
so the bag never ever runs out.</p>
<p><strong><a name="mobcreate"><font color="blue" size="5">Creating MOBs</font></a></strong></p>
<p>Greater even than the mages
powerful spells of summoning is the
Archons ability to conjure beasts into caverns and townspeople on to
streets. To do this, the Archon need only issue the create command once
again. Summoning a goblin into an ordinary room is as simple as
entering "create Goblin". This will create a standard Goblin in the
room you are standing in. To make him stay there, even after you
reboot, you must save the room as described in the section below on
saving rooms.</p>
<p>To find out what mobs are
available for you to create, you can enter
"list mobs". Entering "create &lt;mobname&gt;" will prove the
true
incantation for almost all of the creatures on this list. An exception,
however, is the GenRideable. Since there is both an Item and a MOB
version of that name, you will need to further qualify your create
command by entering "create mob GenRideable" or "create item
GenRideable".</p>
<p>If you wish to create your
goblin a Grid-type locale, extra
consideration is required. Locale types like MountainsGrid, WoodsGrid,
WoodsMaze, PlainsGrid, DesertMaze, etc.. can all contain nasty monsters
in them. However, two rules need to be followed for this magic to work
properly. The first is that you can only save creatures which are in
the parent Grid room itself. If you have SYSMSGS on, you can tell which
room this is because it is the only one with a simple room ID
("MyArea#123") in the description. Since no one ever actually walks
into the parent Grid room, the only way to get to it is using the
Archon GOTO command. The second of the two rules is that you must give
the mob a Mobile behavior. The mobile behaviors are specially coded so
that they will take the monster to a random room inside the grid the
first time the thing tries to move.</p>
<p><strong><a name="genm1"><font style="background-color: lime;">The
"GenMob" and "GenUndead"</font></a></strong></p>
<p>Whenever a GenMob or GenUndead
is created, much like the GenItem
above, you are presented with a list of properties to fill in. Pressing
enter will leave the property unchanged. The only difference between
the GenMob and GenUndead is that the GenUndead can be TURNed by a
Cleric, while a GenMob cannot. The properties include:</p>
<table style="width: 100%;" bgcolor="yellow" border="1" cellpadding="1" cellspacing="1" width="100%">
<tbody>
<tr>
<td width="25%"><strong>Property</strong></td>
<td width="75%"><strong>Description</strong></td>
</tr>
<tr>
<td><em>Name</em></td>
<td>the name of the mob,
like "an evil priest", or "a goblin"</td>
</tr>
<tr>
<td><em>Description</em></td>
<td>what one sees when one
looks at the mob</td>
</tr>
<tr>
<td><em>Display
Text</em></td>
<td>what one sees when the
mob is lurking in a room.</td>
</tr>
<tr>
<td><em>Race</em></td>
<td>the race of your
creature.</td>
</tr>
<tr>
<td><em>Rejuv
Ticks</em></td>
<td>the number of ticks (4
second intervals), after the
mob has been killed, that will transpire before the mob reappears in
its home room. For more information on making the RejuvTicks property
take effect after changing it, see below under Rejuvenating Items and
Mobs" or "How to Save a Room".</td>
</tr>
<tr>
<td><em>Gender</em> </td>
<td>M, N or F please!</td>
</tr>
<tr>
<td><em>Level</em> </td>
<td>this represents the
experience level of the MOB. This
number determines (along with alignment) how much experience a player
will get for slaying the creature. This number should be calculated
with great care so as not to make it "too good" for a higher level, or
"too tough" for a lower level.</td>
</tr>
<tr>
<td><em>Attacks/Round</em></td>
<td>this represents the
number of attacks the creature receives
every round. 1 is perfect.</td>
</tr>
<tr>
<td><em>Attack
Adjustment</em></td>
<td>this represents the MOBs
ability to slay other beings. At
first level, this should be a 0. At 25th level, this may be as much as
150-200. You should keep the default, either way.</td>
</tr>
<tr>
<td><em>Damage/Hit</em></td>
<td>this represents the
maximum amount of damage a MOB does when
striking its opponents. At first level, 4-8 is plenty. At 25th level,
20-50 is a good range, depending upon the monsters speed. Just keep the
default.</td>
</tr>
<tr>
<td><em>Armor</em> </td>
<td>the amount of protection
the beast has against being
hit. Lower numbers are always better here. At first level, 50 is a
well-protected creature, while 100 is one that is completely helpless
against attacks. At 25th level, -150 would be a good number. Again,
just keep the default.</td>
</tr>
<tr>
<td><em>Hit
Points/Level</em></td>
<td>this is a multiplier
used to determine the creatures hit
points. The number 11 is a typical, it is the default, and unless the
creature is really nasty (12-20 range), it should be kept at default.</td>
</tr>
<tr>
<td><em>Alignment</em> </td>
<td>this is one the default
"Factions" (see below) used
by most muds, and refers to the mobs ethical disposition. By the
default settings, this is the most important determinate of whether a
player gets experience, aside from monster level. You should make the
alignment reflect the creature&#8217;s obvious disposition. Making
children evil, or a good orc doesn't do anyone any good.</td>
</tr>
<tr>
<td><em>Money</em></td>
<td>unless a thief gets it
first, this will be the minimum amount
of money the creature is carrying. The money carried is expressed in
multiples of the base value. A money value of 20 will mean that
they are carrying 20 gold (or whatever the local currency is), assuming
gold is valued at 1.0 of base. If the local currency has only Latinum
Bars valued at 0.5, then a money value of 20 here would mean that the
creature carries 40 Latinum Bars.</td>
</tr>
<tr>
<td><span style="font-style: italic;">Money
Variation</span></td>
<td>when this creature is
killed, this amount (positive or
negative) will be used to vary the amount of money the mob has on his
or her corpse. &nbsp;The total amount of money a dead creature will
have will be equal to the Money field above, plus a random amount from
0 to this value in base value. &nbsp;A value of 2.5 here would mean
a
random amount from 0 to 2.5 will be added to the Money field above, for
instance.</td>
</tr>
<tr>
<td><em>Weight</em> </td>
<td>You should make this
number reflect the monsters true weight.</td>
</tr>
<tr>
<td><em>Height</em> </td>
<td>You should make this
number reflect the monsters true
height/size.</td>
</tr>
<tr>
<td><em>Abilities</em> </td>
<td>grants the opportunity
to give your new MOB spells,
prayers, skills, and other abilities. Enter 'list' to see a list of the
proper names of the CoffeeMud abilities. For more information, you may
enter 'atopics' at the main prompt to see a list of the common names of
spells, skills, prayers, and songs to use. You may also enter 'ahelp'
from the main prompt to show some of the more secret effects available.
You may add new ones by entering the ability's proper name only.
Entering it again will remove it. Keep in mind that placing properties
here is absolutely useless, even though they are classified as
abilities; they belong under effects below.</td>
</tr>
<tr>
<td><em>Behaviors</em> </td>
<td>the list of standard
behaviors that can be attached
to MOBs is growing daily. Enter 'list' to see a list of them. You may
also, from a normal prompt, enter 'ahelp' for more information on the
available behaviors. Either way, you may add new ones by entering the
behaviors proper names here, followed by any behavior parameters.
Entering it again will remove it. If you gave your MOB any spells or
skills, you should at least also give it the CombatAbilities behavior
so that it will use them in combat. However, some behaviors, such as
Mageness, Clericness, etc.. come fully-loaded with abilities.</td>
</tr>
<tr>
<td><em>Effects</em></td>
<td>this may refer to a
property, as discussed above in
the section on rooms, or it may refer to a permanent spell effect.
After all, it is one thing to be able to pray for Bless, but quite
another thing to ALWAYS be blessed. Either way, use 'list' here to see
the proper names of the abilities that can be added as effects. Enter
the proper name of the ability to add it as an effect, then any effect
parameters. Enter the proper name again to remove it. From the main
prompt, 'help properties' is a great place to find the many mob
properties available. 'help abilities' will also show some of the more
secret effects available.</td>
</tr>
<tr>
<td><em>Factions</em></td>
<td>the list of factions to
which this mob belongs, and in which
he or she has a value assigned. Enter the faction name to add or
remove. Changing a value involves first removing, then re-adding. See
below for more information on factions.</td>
</tr>
<tr>
<td><em>Is
.. flags (Disposition)</em></td>
<td>Most of these are self
explanatory.</td>
</tr>
<tr>
<td><em>Can
See... flags (Senses)</em></td>
<td>Again, methinks thou
canst fathom most of these just fine
without me enumerating them.</td>
</tr>
</tbody>
</table>
<p><strong><a name="genm2"><font style="background-color: lime;">The
"GenShopKeeper"</font></a></strong></p>
<p>ShopKeepers are folks that buy
and sell equipement that is given to
them by Archons. ShopKeepers can sell anything from items to creatures,
skills as a teacher, or spells for a price. ShopKeepers
are&nbsp;interacted with using the LIST, BUY, SELL, VALUE, and INFO
commands.</p>
<p>ShopKeepers designated as Land
Sellers will sell any rooms in the
same area as the shopkeeper which has the Prop_RoomForSale,
Prop_RoomsForSale, or Prop_LotsForSale properties. Use "AHELP
Prop_RoomForSale" for more information on this effect you may add to
rooms. ShopKeepers designated as Clan Land Sellers will do the same,
but only for Clan members. In this way, players and clans can buy and
own their own rooms where their property will be safe during reboots,
and pets can become permanent fixtures. This is also the way the
Construction, Masonry, Locksmith, and other property-related skills can
become useful.</p>
<p>ShopKeepers can also be Inn
Keepers. To make this work, you need
only give the shopkeeper a number of StdInnKey items equal to the
number of rooms in your inn. For each room in your inn, make sure you
have a locked door for each room, and that each of the locked doors in
your inn has a key code equal to "INN1", "INN2", etc.. up to the number
of locked doors for each room in the Inn. Players will then buy the
keys to rooms, and the keys will automatically return to the
shopkeepers stock after a single mud "day". The only other trick to
making a successful inn is to make sure you do the "reset room" command
to the room with the innkeeper in it, after the keys have all been
given to him, and the room has been saved.</p>
<p>ShopKeepers are much more savvy
about money and economy than most.
They will often draw not only from the loose gold a player has, but any
high-denomination Notes the player has in his or her inventory. The
ShopKeeper will also give change in this manner. The player will often
need to check the "change bag" newly arrived in their inventory to see
the change that a ShopKeeper might have given them. These change bags
will often contain the high-denomination notes mentioned before (such
as a Golden Note, or a Half Note). Each of these notes are convertable
into loose gold merely by GETting them from the change bag.</p>
<p>Whenever a GenShopKeeper is
created, much like the GenMob above, you
are presented with a list of properties to fill in. Pressing enter will
leave the property unchanged. The properties include all of the fields
listed above under GenMob, plus a few more:</p>
<table style="width: 100%;" bgcolor="yellow" border="1" cellpadding="1" cellspacing="1" width="100%">
<tbody>
<tr>
<td width="25%"><strong>Property</strong></td>
<td width="75%"><strong>Description</strong></td>
</tr>
<tr>
<td><em>Type</em></td>
<td>a shopkeeper can sell
Anything, General items, Armor,
Miscellanous magic items not included amongst armor or weapons,
Weapons, Pets, Leather items, Only buys the things he also sells (but
sells whatever you give him to sell), Trains players in spells,
prayers, skills, or songs, Casts prayers, spells, or songs on the
buyer, Potions, Land, and more! All shopkeepers can also buy what they
sell, excluding Trainers and Casters. a shopkeeper can also sell a
combination of these, though some combinations will not be allowed
(such as a spell caster and a spell trainer). &nbsp;You can even
narrow
the type further using the mask described by the next field.</td>
</tr>
<tr>
<td><span style="font-style: italic;">Item Buy
Mask</span></td>
<td>if the above shopkeeper
type isn't enough to narrow the types
of items your shopkeeper will buy and sell, then a Zapper Mask may also
be given to further filter the appropriate items. &nbsp;See help on
ZAPPERMASKS for more information on how to construct one.
&nbsp;Zappermasks are usually used with mobs, but you'll find many
of
the fields can be used with items as well.</td>
</tr>
<tr>
<td><em>Inventory</em></td>
<td>
<p>this is where you would
"stock" your shopkeeper with items
that match their type. You may add to this list by entering the class
names of any standard items, standard mobs, or abilities. You may also
enter the name of any stray items or mobs hanging out in the same room
as the shopkeeper to put them up for sale. This last is the best and
only way to get Generic items and mobs onboard.</p>
<p>When an item is put up
for sale, you may specify the number of
items like it the shopkeeper has in stock, and a price for the item.
You may also specify a price for the item. There are many different
values you can put in the price field.</p>
<p>* A given price of 0 or
higher will ensure that the item will
have that price in local currency. For example. The price is expressed
in multiples of the base value. A price value of 20 will mean that
the item costs 20 gold to buy, before adjusting for charisma and other
factors, assuming gold is valued at 1.0 of base. If the local currency
has only Latinum Bars valued at 0.5, then a price value of 20 here
would yield a 40 Latinum Bars price to consumers.<br>
* A given price of -1 means that you are allowing CoffeeMud to price
the item for you. This should be the recommended entry unless you know
what you are doing.<br>
* A given price between -2 and -100, or -1000 is invalid!<br>
* A given price between -101 and -999 will designate some number of
Quest Points to charge for the item. The number of quest points is
determined by taking the absolute value of your given price and
subtracting 100. So a given price of -135 would mean that the item
costs 35 quest points.<br>
* A given price of -1001 or lower will designate some number of
Experience Points to charge for the item. The number of experience
points is determined by taking the absolute value of your given price
and subtracting 1000. So a given price of -1001 would mean that the
item costs 1 experience point, while a price of -9876 would mean that
the item costs 8876 experience points.</p>
</td>
</tr>
<tr>
<td><em>Prejudice
Factors</em></td>
<td>See the section above
called "What Areas are Worth" for more
information on this field and its syntax.<br>
</td>
</tr>
<tr>
<td><span style="font-style: italic;">Item
Pricing Factors</span></td>
<td>See the section above
called "What Areas are Worth" for more
information on this field and its syntax.</td>
</tr>
<tr>
<td><em>Budget</em></td>
<td>
<p>See the section above
called "What Areas are Worth" for more
information on this field and its syntax.</p>
</td>
</tr>
<tr>
<td><em>Devalue
Rate</em></td>
<td>See the section above
called "What Areas are Worth" for more
information on this field and its syntax.</td>
</tr>
<tr>
<td><em>Inventory
Reset Rate</em></td>
<td>
<p>See the section above
called "What Areas are Worth" for more
information on this field and its syntax.</p>
</td>
</tr>
</tbody>
</table>
<br>
<br>
<br>
<p><strong><a name="genma"><font style="background-color: lime;">The
"GenAuctioneer"</font></a></strong></p>
<p>An Auctioneer is a special type
of ShopKeeper that sells items for
players over a limited amount of time. Auctioneers can charge a flat
fee for their service, a fee based on the number of days the auctioneer
will sell the item and the base value of the item, and a fee based on
the final selling price. Auctioneers are&nbsp;interacted with using
the
BID, SELL, INFO, and LIST commands for their unique services.</p>
<p>Whenever a GenAuctioneer is
created, much like the GenShopKeeper
above, you are presented with a list of properties to fill in. Pressing
enter will leave the property unchanged. The properties include all of
the fields listed above under GenMob and GenShopKeeper, plus a few more:</p>
<table style="width: 100%;" bgcolor="yellow" border="1" cellpadding="1" cellspacing="1" width="100%">
<tbody>
<tr>
<td width="25%"><strong>Property</strong></td>
<td width="75%"><strong>Description</strong></td>
</tr>
<tr>
<td><em>Auction
House</em> </td>
<td>Name of the auction
chain to which this auctioneer belongs.
All GenAuctioneer mobs who have the same value in this field will
display the same items to players.</td>
</tr>
<tr>
<td><em>Flat
fee per auction</em></td>
<td>A flat fee (in base gold
value) that is charged to a player
for each item they list for auction.</td>
</tr>
<tr>
<td><em>Listing
Cut/%Pct per day</em></td>
<td>This field allows the

auctioneer to take a cut for
high-price listings. This is the percentage of the listed items BASE
price PER day of the auction that is charged at the time the auction is
listed. It is in addition to the flat fee above. This should be a very
small number indeed.. values such as 0.5% are acceptable.</td>
</tr>
<tr>
<td><em>Cut/%Pct
of final price</em></td>
<td>Percent of the final
winning auction price that is charged by
the auctioneer. The seller of the item would then receive the winning
bid price minus this cut.</td>
</tr>
<tr>
<td><span style="font-style: italic;">Maximum
number of auction
mud-days</span></td>
<td>The maximum number of
game days that an auctioneer will keep
an item available for auction on behalf of a player.</td>
</tr>
<tr>
<td><span style="font-style: italic;">Minimum
number of auction
mud-days</span></td>
<td>The minimum number of
game days that an auctioneer will
require that an item be available for auction on behalf of a player.
The player may not even close the auction before this number of days,
once the item is listed.</td>
</tr>
</tbody>
</table>
<br>
<p><strong><a name="genm3"><font style="background-color: lime;">The
"GenBanker"</font></a></strong></p>
<p>A Banker is a special type of
ShopKeeper that holds money and items
in a special private account for players. Bankers can pay or charge
interest on money left in the account, and charge interest on items
left with them. Bakers can also loan money based on those same items as
collateral, and automatically handle interest and payment plans.
&nbsp;Bankers are&nbsp;interacted with using the BORROW,
WITHDRAW, and
DEPOSIT commands for their unique services, and LIST, BUY, SELL, VALUE,
and INFO for some of their mundaine ones. &nbsp;A
Banker may also be designated as a Clan Banker, meaning that it will
only deal with Clan Treasurers. &nbsp;</p>
<p>Whenever a GenBanker is
created, much like the GenShopKeeper above,
you are presented with a list of properties to fill in. Pressing enter
will leave the property unchanged. The properties include all of the
fields listed above under GenMob and GenShopKeeper, plus a few more:</p>
<table style="width: 100%;" bgcolor="yellow" border="1" cellpadding="1" cellspacing="1" width="100%">
<tbody>
<tr>
<td width="25%"><strong>Property</strong></td>
<td width="75%"><strong>Description</strong></td>
</tr>
<tr>
<td><em>Coin
Interest</em></td>
<td>This is the amount of
interest paid (or CHARGED if negative)
every game month (about once a real day) on gold money left in a
players account.</td>
</tr>
<tr>
<td><em>Item
Interest</em></td>
<td>This is the amount of
interest paid (or CHARGED if negative)
every game month (about once a real day) on items left in a users
account.<br>The ability to hold items can be disabled by making this amount &gt; 0.5</td>
</tr>
<tr>
<td><em>Loan
Interest</em></td>
<td>This is the amount of
interest charged every game month
(about once a real day) on gold money loaned to players or clans
account.<br>The ability to make loans can be disabled by making this amount &lt; -0.5</td>
</tr>
<tr>
<td><em>Bank
Name</em></td>
<td>This is a unique
identifier for the bank chain. All
GenBankers with the same Bank Name will offer the same accounts to
players.</td>
</tr>
</tbody>
</table>
<p><strong><a name="gencow"><font style="background-color: lime;">The
"GenCow"</font></a></strong></p>
<p>A Cow is a special type of
rideable mob that provides a liquid
accessible with the FILL command, and will re-fill itself.&nbsp;</p>
<p>Whenever a GenCow is
created, much like the GenRideable,
you are presented with a list of properties to fill in. Pressing enter
will leave the property unchanged. The properties include all of the
fields listed above under GenMob and GenRideable, plus a few more:</p>
<table style="width: 100%;" bgcolor="yellow" border="1" cellpadding="1" cellspacing="1" width="100%">
<tbody>
<tr>
<td width="25%"><strong>Property</strong></td>
<td width="75%"><strong>Description</strong></td>
</tr>
<tr>
<td><em>Quenched/Drink</em></td>
<td>when drunk out of, how
much of the total capacity is
consumed. A value of 500 represents a full day of drinking, while 100
would represent a full glass</td>
</tr>
<tr>
<td><em>Amount
of Drink Held</em> </td>
<td>the amount of total
drink held by the container. Each time
the item is drunk, the amount represented by Quenched/Drink is
subtracted from this.&nbsp;</td>
</tr>
<tr>
<td><em>Liquid
Type</em></td>
<td>this denotes what kind
of
liquid it is, whether fresh water, salt water, or even BLOOD!</td>
</tr>
</tbody>
</table>
<br>
<p><strong><a name="genm7"><font style="background-color: lime;">The
"GenLibrarian"</font></a></strong></p>
<p>A Librarian is a special type
of
ShopKeeper that loans out items instead of selling them. &nbsp;The
player who borrows from a librarian is obligated to return the items,
lest they incur charges. &nbsp;Each librarian can have unique
items,
but when librarians are part of a single Library Chain, then every
member of the chain will share checkout records and assume to be
sharing their common items. &nbsp;Librarians
are&nbsp;interacted with
using the BORROW, GIVE, LIST, SELL, and INFO commands for their unique
services.</p>
<p>Whenever a GenLibrarian is
created, much like the GenShopKeeper above,
you are presented with a list of properties to fill in. Pressing enter
will leave the property unchanged. The properties include all of the
fields listed above under GenMob and GenShopKeeper, plus a few more:</p>
<table style="width: 100%;" bgcolor="yellow" border="1" cellpadding="1" cellspacing="1" width="100%">
<tbody>
<tr>
<td width="25%"><strong>Property</strong></td>
<td width="75%"><strong>Description</strong></td>
</tr>
<tr>
<td><em>Overdue
Charge</em></td>
<td>This is the amount that
a player is charged for having an
item longer that the Overdue mud-days.</td>
</tr>
<tr>
<td><em>Overdue
Charge Pct</em></td>
<td>This is the percent of
the value of an item that a player is
charged for having an item longer than the Overdue mud-days.</td>
</tr>
<tr>
<td><span style="font-style: italic;">Daily
Overdue Charge</span></td>
<td>This is the amount that
a player is charged every mud-day
after the
first day, for having an item longer that the Overdue mud-days.</td>
</tr>
<tr>
<td><span style="font-style: italic;">Daily
Overdue Charge Pct</span></td>
<td>This is the percent of
the value of an item that a player is
charged every mud-day after the
first day, for having an item longer than the Overdue mud-days.</td>
</tr>
<tr>
<td><span style="font-style: italic;">Overdue
Mud-Days</span></td>
<td>The number of mud-days,
after the time checked out, that the
item will not be considered overdue. After this time, charges will
begin to accrue.</td>
</tr>
<tr>
<td><span style="font-style: italic;">Reclaim
Mud-Days</span></td>
<td>The number of mud-days,
after the time checked out, that an
item will automatically return to the Library. &nbsp;Any charges
incurred will remain in effect.</td>
</tr>
<tr>
<td><span style="font-style: italic;">Max
Borrowed</span></td>
<td>The maximum number of
unique items that any player can borrow
at one time.</td>
</tr>
<tr>
<td><em>Library
Name</em></td>
<td>This is a unique
identifier for the library chain. All
GenLibrarians with the same Library Name will share check-out records.</td>
</tr>
<tr>
<td><span style="font-style: italic;">Contributor
Mask</span></td>
<td>A Zapper Mask to apply
to anyone who attempt to contribute
new items to the library.</td>
</tr>
</tbody>
</table>
<br>
<br>
<a name="genm6"><strong><font style="background-color: lime;">The
"GenPostman"</font></strong></a>
<p>A Postman is a special type of
ShopKeeper that delivers items from
one postman in the branch to another. Each postman holds a special
private box for players or clans. Postman can charge to deliver items
from one box to another, and can charge for the amount of time an item
remains in a box. Every player receives a free box with any postman in
the same area as their Recall/Beacon point. Other boxes with other
postmen must be purchased. Clans must always purchases their boxes.
Postmen are&nbsp;interacted with using the GIVE, WITHDRAW, LIST,
and
SAY commands for their unique services.</p>
<p>Whenever a GenPostman is
created, much like the GenShopKeeper above,
you are presented with a list of properties to fill in. Pressing enter
will leave the property unchanged. The properties include all of the
fields listed above under GenMob and GenShopKeeper, plus a few more:</p>
<table style="width: 100%;" bgcolor="yellow" border="1" cellpadding="1" cellspacing="1" width="100%">
<tbody>
<tr>
<td width="25%"><strong>Property</strong></td>
<td width="75%"><strong>Description</strong></td>
</tr>
<tr>
<td><em>Postal
Chain</em></td>
<td>This is a unique
identifier for the postal chain. Postmen
will only deliver mail among members of the same chain. Player/Clan
boxes are opened with individual postmen, however.</td>
</tr>
<tr>
<td><em>Fee
to open a new box</em></td>
<td>This is the amount of
money charged to open a new box with a
postman. The money is expressed in terms of base value, though the
currency accepted will reflect the area where the postman is.</td>
</tr>
<tr>
<td><em>Minimum
postage cost</em></td>
<td>This is the minimum
amount of money charged players to
deliver an item.</td>
</tr>
<tr>
<td><em>Postage
cost per pound after 1st pound</em></td>
<td>This is the amount of
postage money charged, per pound of the
item, for each pound over the first one.</td>
</tr>
<tr>
<td><em>Holding
fee per pound per month</em></td>
<td>This is the amount of
money charged every mud month that an
item remains idle in a postal box. The first month is always free.</td>
</tr>
<tr>
<td><em>Maximum
number of months held</em></td>
<td>This is the maximum
number of mud months which a
postman will hold an item idle in a postal box. After this duration
expires, the postman will put the item up for sale to recoup losses.</td>
</tr>
</tbody>
</table>
<br>
<p><strong><a name="genm4"><font style="background-color: lime;">The
"GenRideable"</font></a></strong></p>
<p>Whenever a GenRideable is
created, much like the GenMob above, you
are presented with a list of properties to fill in. Pressing enter will
leave the property unchanged. The properties include all of the fields
listed above under GenMob, plus a few more:</p>
<table style="width: 100%;" bgcolor="yellow" border="1" cellpadding="1" cellspacing="1" width="100%">
<tbody>
<tr>
<td width="25%"><strong>Property</strong></td>
<td width="75%"><strong>Description</strong></td>
</tr>
<tr>
<td><em>Rideable
Type</em></td>
<td>the type of rideable
item this is, from a floater to a flyer,
etc.</td>
</tr>
<tr>
<td><em>MOBs
Held</em></td>
<td>th emaximum number of
mobs which may ride this animal at once.</td>
</tr>
</tbody>
</table>
<p><strong><a name="genm5"><font style="background-color: lime;">
The "GenDeity"</font></a></strong></p>
Deities are the employers of
Clerics, and the object of some players
adoration and worship. Deities are necessary for the DEITIES command to
work, and add great role playing opportunities for all players, though
especially Clerics, since only with deities does their Convert skill
have any meaning. Since deities of this sort being attacked and killed
can have a negative effect on game-play, it is important that deities
be placed in a room where they will be save from players. Give the room
where your deities are Prop_NoSummon and Prop_NoTeleport to keep mages
from zapping deities in or out of their safe room.
<p>There are a few important
points to understand about these supreme
beings before continueing. Deities may have separate requirements for
who may worship them, and who may be their clerics. You will specify
these below. Deities may also have a list of blessings they may bestow
upon their clerics and their non-cleric worshippers. When their clerics
perform a special clerical ritual, the deity will give the cleric ALL
of his blessings. When a non-cleric worshipper performs the special
worshipper ritual, the deity will give the worshipper one random
blessing. Leaving these rituals blank prevents the deity from bestowing
the proper blessings. You will specify all of these things below as
well. Deities may also have a list of curses that they bestow as
punishment for sin. When the clerics perform the cleric-specific sinful
ritual, the deity will inflict all of his curses upon the cleric. When
a non-cleric worshipper performs the worshipper-specific sinful ritual,
the deity will inflict one random curse upon the worshipper. Whether
these curses exist, how many there are, and whether there are any
sinful rituals are all specified below. The last point is about special
clerical powers. Deities may give one of their clerics a
skill/spell/prayer/whatever as a special power after the cleric has
performed the specified clerical power ritual. This power is taken away
should the cleric ever rebuke the deity. Whether this power exists is
specified below.</p>
<p>Whenever a GenDeity is created,
much like the GenMob above, you are
presented with a list of properties to fill in. Pressing enter will
leave the property unchanged. The properties include all of the fields
listed above under GenMob, plus a few more:</p>
<table style="width: 100%;" bgcolor="yellow" border="1" cellpadding="1" cellspacing="1" width="100%">
<tbody>
<tr>
<td width="25%"><strong>Property</strong></td>
<td width="75%"><strong>Description</strong></td>
</tr>
<tr>
<td><em>Cleric
Requirements</em></td>
<td>This field describes the
requirements for a cleric to
work for this deity. The value in this field include the same mask
format as described in the help for Prop_WearZapper. Check the help for
that property, or enter AHELP PROP_WEARZAPPER from the command line for
a list of the mask syntax used here.</td>
</tr>
<tr>
<td><em>Worship
Requirements</em></td>
<td>This is where the
requirements for becoming a
worshiper of this deity is described. The values in this field are
identical to the Cleric Requirements above. The only difference being
to whom the mask applies (Clerics/everyone else).</td>
</tr>
<tr>
<td><em>Blessings</em></td>
<td>This field is a list of
the spells, skills, prayers,
blessings, or other Abilities which may be selectively granted by the
deity to his or her worshipers. All of the listed blessings are
typically granted to Clerics of the deity.</td>
</tr>
<tr>
<td><em>Cleric
Ritual</em></td>
<td> For a cleric to receive
the blessings of the deity,
the cleric must perform a particular ritual consisting of one or more
actions. This field will list the tasks in the ritual which must be
performed. Each task is separated by a "|" to mean that either of the
tasks on either side of the "|" is sufficient, or a "&amp;" to mean
that both of the tasks on either side of the "&amp;" is required.
The
tasks themselves must be of one of the following forms:<br>
<ul>
<li>SAY [TEXT] - the text
specified must be said by the player.
For example: SAY "Allah is Great"</li>
<li>TIME [HOUR] - the
other tasks must be performed at the
specified hour. For example: TIME 3</li>
<li>PUTTHING [THING NAME]
[CONTAINER NAME] - an item of the
type must be placed in the specified container. For example: PUTTHING
dagger pit</li>
<li>BURNTHING [THING NAME]
- an item of the type given must be
burnt or set afire. This is typically done with the FIREBUILDING skill.
For example: BURNTHING the ceremonial log</li>
<li>EAT [FOOD NAME] - the
specified item must be eaten. For
example: EAT holy pie.</li>
<li>READ [ITEM NAME] - the
specified item must be eaten. For
example: READ holy book.</li>
<li>DRINK [DRINK NAME] -
the specified drink must be consumed.
For example: DRINK holy fountain</li>
<li>INROOM - the player
must be in the specified room number,
or the word holy to designate a room with infused holiness. For
example: INROOM NewArea#123</li>
<li>RIDING - the player
must be on the specified mount. For
example: RIDING holy altar</li>
<li>CAST - the player must
cast the specified spell. For
example: CAST Prayer_Bless</li>
<li>EMOTE - the player
must emote the following thing. For
example: EMOTE kneels before the throan</li>
<li>PUTVALUE [MINIMUM
VALUE] [CONTAINER NAME] - an item worth
at least the specified amount must be placed in the specified
container. For example: PUTVALUE coins pit</li>
<li>PUTMATERIAL [MATERIAL
TYPE] [CONTAINER NAME] - an item made
of the specified material must be placed in the specified container.
For instance: PUTMATERIAL cotton pit</li>
<li>BURNMATERIAL [MATERIAL
TYPE] - an item made of the
specified material must be burnt, such as using the FIREBUILDING skill.
For instance: BURNMATERIAL balsa</li>
<li>BURNMATERIAL [MINIMUM
VALUE] - an item worth at least the
specified amount must be burnt, such as using the FIREBUILDING skill.
For instance: BURNVALUE "wooden statue"</li>
<li>RANDOM [PERCENTAGE
NUMBER] - happens % of the time. For
example: RANDOM 10</li>
<li>CHECK [REQUIREMENT
STRING] - Use this with care. This
allows masks to be entered which the player must meet. The mask is of
the same format as described in Cleric Requirements above.</li>
<li>SITTING 0 - the player
must be sitting (the 0 is required!)</li>
<li>STANDING 0 - the
player must be standing (the 0 is
required!)</li>
<li>SLEEPING 0 - the
player must be sleeping (the 0 is
required!)</li>
<li>WAIT [#TICKS] - a
pause of #TICKS is required --
this should be no MORE than 10, to use multiple WAITs in a row for
longer pauses. Also, never make this the first possible trigger -- you
always want this between 2 things they must do (&amp;).</li>
<li>YOUSAY - if the
previous item was completed (&amp;), then
the person doing the ritual will automatically say the text.</li>
<li>ALLSAY - if the
previous item was completed (&amp;), then
everyone in the room will automatically say the text.</li>
<li>OTHERSAY - if the
previous item was completed (&amp;), then
everyone in the room except person doing the ritual will automatically
say the text.</li>
</ul>
</td>
</tr>
<tr>
<td><em>Worshipper
Ritual</em></td>
<td>For a worshipper to
receive one of the blessings of
the deity, the player must perform a particular ritual consisting of
one or more actions. This field will list the tasks in the ritual which
must be performed, and uses the exact same format as the Cleric Ritual
field above.</td>
</tr>
<tr>
<td><em>Curses</em></td>
<td>This field is an
optional list of the spells, skills,
prayers, curses, or other Abilities which may be selectively inflicted
by the deity upon his or her worshipers. All of the listed curses are
typically inflicted on Clerics of the deity.</td>
</tr>
<tr>
<td><em>Clerical
Sin</em></td>
<td>For a cleric to receive
the above curses of the
deity, the player must perform a particular ritual consisting of one or
more actions. This field will list the tasks in the ritual which must
be performed, and uses the exact same format as the Cleric Ritual field
above.</td>
</tr>
<tr>
<td><em>Worshipper
Sin</em></td>
<td>For a non-cleric
worshipper of the deity to receive
one of the above curses of the deity, the player must perform a
particular ritual consisting of one or more actions. This field will
list the tasks in the ritual which must be performed, and uses the
exact same format as the Cleric Ritual field above.</td>
</tr>
<tr>
<td><em>Powers</em></td>
<td>This field is an
optional list of the spells, skills,
prayers, curses, or other Abilities which will be randomly chosen from
to give to clerics who perform the clerical power ritual.</td>
</tr>
<tr>
<td><em>Clerical
Power ritual</em></td>
<td>For a cleric to receive
one of the above powers of
the deity, the player must perform a particular ritual consisting of
one or more actions. This field will list the tasks in the ritual which
must be performed, and uses the exact same format as the Cleric Ritual
field above.</td>
</tr>
</tbody>
</table>
<br>
<strong><a name="modmobs"><font color="blue" size="5">Modifying MOBs</font></a></strong>
<p>There are properties of mobs
that can be modified by the Archon. If
one wishes to modify a goblin, the goblin must be present in the room.
The Archon can then issue the command "modify goblin". If the mob
modified is a GenMob or GenUndead, then the same properties as above
will be presented. .</p>
<p>Although there are exceptions,
MOBs will be the primary beneficiary
of Behaviors. For Generic MOBs, you will find many useful Behaviors
which will add great depth to your MUD. It is highly recommended that
any Archon wishing to create a rich and wonderous universe spend time
perusing the help files to learn of the wonders of the Behaviors and
Effects. Here are some useful behaviors:</p>
<p>"Aggressive" makes the mob
attack others.<br>
"AlignHelper" makes the mob defend same alignments.<br>
"AntiVagrant" makes the mob wake up stragglers on the street.<br>
"Bardness" makes the mob fight with bard skills.<br>
"Beggar" makes the mob beg for money.<br>
"BribeGateGuard" makes the mob a gate guard who can be bribed.<br>
"BrotherHelper" makes the mob defend similar mobs.<br>
"ClanHelper" makes the mob defend clan buddies.<br>
"Clericness" makes the mob fight with cleric skills appropriate to
alignment.<br>
"CombatAbilities" makes the mob use its abilities in combat.<br>
"CombatAssister" makes the mob assist specific other mobs in combat.<br>
"CommonSpeaker" makes the mob speak common, even if it doesn't want to.<br>
"CorpseEater" makes the mob eat corpses it comes across.<br>
"CorpseLooter" makes the mob loot corpses it kills.<br>
"Decay" makes the mob go away after a time.<br>
"DelayedTransporter" makes a mob that randomly zaps around the place.<br>
"DoorwayGuardian" makes a mob that won't let anyone pass.<br>
"Drowness" provides certain drow-like behavior to genmobs.<br>
"Druidness" makes the mob fight with druid skills.<br>
"Emoter" makes the mob do the silly things you think of.<br>
"EvilExecutioner" makes the mob slaughter good folks.<br>
"FaithHelper" makes the mob defend those of the same faith.<br>
"FightFlee" makes an annoying mob that runs away.<br>
"Fighterness" makes a mob that fights with fighter skills.<br>
"Follower" makes the mob follow folks around.<br>
"GateGuard" makes a mob that opens, closes, unlocks, and locks a door.<br>
"GoldLooter" makes a mob that takes the loot from the vanquished.<br>
"GoodExecutioner" makes a mob that kills evil and thief mobs.<br>
"GoodGuardian" makes a mob that stops fights and defends the helpless.<br>
"Guard" always defends the attacked.<br>
"Healer" makes the mob a random friendly healer.<br>
"Hireling" puts the mobs abilities up for hire.<br>
"InstantDeath" kills everyone in the room with the mob, after a time.<br>
"ItemIdentifier" makes the mob an identifier for hire.<br>
"ItemGenerator" will create treasure and items for your mobs inventory.<br>
"ItemMender" makes the mob a mender for hire.<br>
"ItemRefitter" makes the mob a refitter for hire.<br>
"MOBEater" makes the mob eat its enemies.<br>
"MOBHelper" makes the mob assist other mobs.<br>
"MOBHunter" makes the mob hunt other mobs.<br>
"MOBReSave" a bizarre behavior that updates a mobs info in the world
database.<br>
"MOBTeacher" makes the mob a teacher of class skills.<br>
"Mageness" makes the mob use mage skills in combat.<br>
"Mime" makes the mob mime the socials of other mobs.<br>
"Mobile" makes the mob mobile.<br>
"MobileAggressive" makes the mob mobile and aggressive.<br>
"MobileGoodGuardian" makes the mob mobile and peacemaking.<br>
"MOBReSave" keeps the mob updated in the database at all times.<br>
"MoneyChanger" makes the mob exchange coins for notes.<br>
"MudChat" makes the mob chatty.<br>
"NastyAbilities" makes the mob a random caster of mean spells.<br>
"NiceAbilities" makes the mob a random caster of friendly spells.<br>
"NoCombatAssist" makes the mob never assist group members in combat.<br>
"ObjectGuardian" makes the mob forbid getting items in its room.<br>
"Patroller" makes the mob walk a patrol.<br>
"PlayerHelper" makes the mob assist players.<br>
"PokerDealer" makes a dealer of player vs player poker games.<br>
"ProtectedCitizen" makes the mob scream for help!<br>
"ROMGangMember" makes the mob a gang member.<br>
"ROMPatrolman" makes the mob a patrolman for gang members.<br>
"RandomItems" will cause items from a saved file to appear on your mob.<br>
"RandomTransporter" makes the mob zip around the map.<br>
"RaceHelper" makes the mob assist those of the same race.<br>
"Scavenger" makes the mob a scavenger of stuff on the ground.<br>
"Scriptable" makes the mob run scripts that you write!<br>
"Sounder" makes the mob emote the silly things you want it to.<br>
"TargetPlayer" makes the mob fight the weakest player attacking him.<br>
"TaxCollector" makes the mob a collector of money from players and or
mobs.<br>
"Thiefness" makes the mob use thief skills in combat.<br>
"Vagrant" makes the mob sleepy.<br>
"VeryAggressive" makes the mob willing to jump rooms to fight.<br>
"Wimpy" makes the mob run away.<br>
"WimpyAggressive" makes the mob only fight sleeping folks.<br>
</p>
<p>Mobs also benefit from effects,
just like rooms, areas, items, and
exits. Here are some important effects you may consider for your mobs:</p>
<p>"Age" is the proper way to age
a mob<br>
"Allergies" gives the mob allergies.<br>
"Amputation" takes away a limb from the mob<br>
"Chant_Fertility" makes the mob fertile.<br>
"Chant_PrayerWard" resists prayers.<br>
"Chant_Shapelessness" makes the mob very light.<br>
"Chant_SongWard" resists songs.<br>
"Chant_SpellWard" resist spells.<br>
"Chant_Thorns" makes those fighting the mob get pricked!<br>
"Chant_Treemind" resist mind effects.<br>
"Chant_WindShape" takes less damage.<br>
"Chant_WindSnatcher" makes the mob resist the wind.<br>
"Immunities" gives the mob immunities you pick.<br>
"Injury" injures the mobs limbs.<br>
"Inebriation" makes the mob drunk.<br>
"Paladin_Aura" protects the mob from evil.<br>
"Paladin_Goodness" assaults all evil!<br>
"Prayer_AcidHealing" heals from acid attacks.<br>
"Prayer_AiryForm" takes less damage.<br>
"Prayer_BladeBarrier" hits back!<br>
"Prayer_Bless" a holy aura.<br>
"Prayer_Demonshield" flames back!<br>
"Prayer_DoomAura" burns those who try and touch!<br>
"Prayer_ElectricHealing" heals from electric hits.<br>
"Prayer_Etherealness" allows him to walk through doors.<br>
"Prayer_FireHealing" heals from fire attacks<br>
"Prayer_IceHealing" heals from cold attacks.<br>
"Prayer_ProtEvil" protects from evil.<br>
"Prayer_ProtGood" protects from good.<br>
"Prayer_ProtParalyzation" protects from paralysis.<br>
"Prayer_ProtUndead" protects from the undead.<br>
"Prayer_Sanctuary" takes less damage.<br>
"Prop_AbilityImmunity" protects the mob from specified targeted spells.<br>
"Prop_AbsorbDamage" absorbs damage from certain attacks.<br>
"Prop_AddDamage" deals more damage to this mob from certain attacks.<br>
"Prop_ClosedDayNight" makes the mob go home at night, or just disappear.<br>
"Prop_ClosedSeason" makes the mob go home for the season, or just
disappear.<br>
"Prop_Doppleganger" makes the mob change its level and skill to match
opponents.<br>
"Prop_Hidden" makes the mob hidden.<br>
"Prop_Invisibility" makes the mob invisible.<br>
"Prop_ItemTransporter" makes the mob a transporter of items.<br>
"Prop_ItemTransReceiver" makes the mob a receiver of transported items.<br>
"Prop_ItemLangTranslator" makes the mob a translator of languages.<br>
"Prop_LocationBound" limits the traveling ability of the mob.<br>
"Prop_ModExperience" modified experience gained from killing him.<br>
"Prop_NewDeathMsg" changes the string seen when this mob dies.<br>
"Prop_NoCharm" protects from charms.<br>
"Prop_NoSummon" protects from summoning.<br>
"Prop_NoOrdering" protects from player orders.<br>
"Prop_PeaceMaker" makes into peace maker.<br>
"Prop_PracticeDummy" makes into an unkillable unhitting dummy.<br>
"Prop_Resistance" gives resistances which you pick.<br>
"Prop_RestrictSpells" restricts spells from being cast.<br>
"Prop_Retainable" changes its price to shopkeepers.<br>
"Prop_RideAdjuster" adjusts stats when ridden.<br>
"Prop_RideEnabler" gives new skills to riders when ridden.<br>
"Prop_RideResister" adjusts saves when ridden.<br>
"Prop_RideSpellCast" gives spell-affects when ridden.<br>
"Prop_RideZapper" restricts riding.<br>
"Prop_SafePet" makes unattackable.<br>
"Prop_Smell" gives the mob an aroma.<br>
"Prop_SpellReflecting" makes spell reflecting.<br>
"Prop_StatTrainer" gives good stats.<br>
"Prop_StayAboard" makes a mounted mob remain mounted forever.<br>
"Prop_TattooAdder" gives a tattoo upon death.<br>
"Prop_TicketTaker" requires a price to ride.<br>
"Prop_Trainer" makes a mob into a full TRAIN command respondant.<br>
"Prop_WeaponImmunity" gives immunities to certain attacks.<br>
"Regeneration" regenerates hit points during combat.<br>
"Skill_AllBreathing" makes them a fish.<br>
"Skill_Resistance" gives resistances that you pick.<br>
"Soiled" gives the mob a stink.<br>
"Spell_Awe" makes them too awesome to attack.<br>
"Spell_Blink" makes them blink around during combat.<br>
"Spell_Blur" makes them hard to make out.<br>
"Spell_ChantShield" protects from chants.<br>
"Spell_Confusion"<br>
"Spell_FeatherFall" makes them float when falling.<br>
"Spell_Flameshield" flames back to attackers.<br>
"Spell_IllusoryDisease" gives them a fake disease.<br>
"Spell_IronGrip" makes them undisarmable.<br>
"Spell_Levitate" makes them levitate.<br>
"Spell_Light" makes them bright.<br>
"Spell_MajorGlobe" protects from great spells.<br>
"Spell_MinorGlobe" protects from ok spells.<br>
"Spell_ObscureSelf" makes them hard to discern.<br>
"Spell_ResistArrows" protects from arrows.<br>
"Spell_ResistMagicMissiles" protects from magic missiles.<br>
"Spell_ResistPetrification" protects from flesh to stone.<br>
"Spell_SpellTurning" turns spells around.<br>
"Spell_TeleportationWard" protects from teleporting.<br>
"Spell_Tourettes" gives them a dirty mouth.</p>
<p>And don't forget how much fun
it is to make your creatures
permanently SICK!<br>
"Disease_Aids", "Disease_Amnesia", "Disease_Anthrax",
"Disease_Arthritis", "Disease_Asthma", "Disease_Blahs",
"Disease_Cancer", "Disease_Carrier", "Disease_Chlamydia",
"Disease_Cold", "Disease_Depression", "Disease_Fever", "Disease_Fleas",
"Disease_Flu", "Disease_Gangrene", "Disease_Giggles",
"Disease_Gonorrhea", "Disease_Infection", "Disease_Lepresy",
"Disease_Lockjaw", "Disease_Lycanthropy", "Disease_Lyme",
"Disease_Magepox", "Disease_Malaria", "Disease_Narcolepsy",
"Disease_Migraines", "Disease_MummyRot", "Disease_Plague",
"Disease_Pneumonia", "Disease_PoisonIvy", "Disease_SARS",
"Disease_Smiles", "Disease_Syphilis", "Disease_Tetnus",
"Disease_Tinnitus", "Disease_Vampirism"<br>
</p>
<p>For all non-generic MOBs, the
following properties will be presented
for modification (See Appendix B for more information):</p>
<table style="width: 100%;" bgcolor="yellow" border="1" cellpadding="1" cellspacing="1" width="100%">
<tbody>
<tr>
<td width="25%"><strong>Property</strong></td>
<td width="75%"><strong>Description</strong></td>
</tr>
<tr>
<td><em>Level</em></td>
<td>this is the level of the
mob. Please see the Level entry
under GenMob for more information. On some mobs, such as Dragons, this
can have a profound impact.</td>
</tr>
<tr>
<td><em>Magical
Ability</em></td>
<td>This number represents
an adjustment to the base
properties of the mob. This number, unfortunately, means different
things to different mob types. For dragons, it may refer to color. For
others, it may bring a slightly different description. You can play
with this value to see if it has any effect on the mob you've chosen,
though the effects will not likely become evident until after the
beastie has reloaded.</td>
</tr>
<tr>
<td><em>RejuvTicks</em></td>
<td>This number represents
the number of ticks (4 second
intervals) before a MOB that has been killed rejuvenates or resets to
its proper state. The value '2147483647' or '0' means that the MOB
never rejuvenates, but once killed, is gone forever. Any other value
will represent a number of ticks. This property does not take effect
until the room is saved. For more information on making the RejuvTicks
property take effect after changing it, see below under Rejuvenating
Items and Mobs" or "How to Save a Room".</td>
</tr>
<tr>
<td><em>MiscText</em></td>
<td>For non-generic MOBs,
this is a completely unused field.</td>
</tr>
</tbody>
</table>
<p><strong><a name="xmobs"><font color="blue" size="5">Destroying MOBs</font></a></strong></p>
<p>To destroy a MOB that is in the
same room as you, you need only
issue the destroy command. If an orc, for instance, no longer requires
his existence: "destroy mob orc" will take that existence away.</p>
<p>Once destroyed, MOBs that have
been set to rejuv will not do so. If
the MOB was a permanently saved MOB in the room, you must re-save the
room in order to make the MOBs destruction permanent.</p>
<p><strong><a name="eqmobs"><font color="blue" size="5">Equipping MOBs</font></a></strong></p>
<p>You may give a MOB equipment to
wear or carry as treasure, if this
is done properly. First off, you can ONLY equip a Generic MOB. This
includes the GenMob, GenDeity, GenRideable, GenUndead, GenBanker, and
GenShopKeeper. No other creature may be saved with equipment. Generic
or non-Generic Items may be used as equipment.</p>
<p>To equip the MOB, first create
the items you wish to give to your
new creature using the procedure described above under "Creating
Items". Now, you may use the give command to put the item into the mobs
inventory, and the dress command to make the mob wear it.</p>
<p>MOBs can also be equipped with
variable items. Variable items are
items which may or may not appear in its inventory on any particular
rejuvenation of the mob. Variable items are created by modifying the
Rejuv/Pct field on the item in the mobs inventory. You can do this with
the command MODIFY ITEMNAME@MOBNAME and then selecting the Rejuv/Pct
field. &nbsp;If the value of this
field is -1, then the item will only appear in the the MOBs inventory
at boot or creation time. &nbsp;If it is otherwise less than 1 or
greater than 99, then the item will always
appear in the MOBs inventory. If the value of the field is between 1
and
100, then it represents the percent chance that the item will remain in
the inventory. A special case is created when more than one variable
item is actually being worn in the same wear location on a mob. In this
special case, CoffeeMud will ensure that exactly one of the variable
items will remain.</p>
<p>Dealing with variable equipment
can be very tricky when not using
the MUDGrinder. It requires that the Archon remain in the room with the
mob until the room is saved, in order to prevent the mob from ditching
its equipment according to the variable rules. This is because the
variable equipment rules will not activate so long as an Archon is in
the room. Dealing with variable equipment on MOBs also requires that
the Archon remember to use the RESET ROOM command whenever returning to
the room to make modifications. Only RESET ROOM will cause the mob to
regain all of his equipment with their Rejuv/Pct fields intact.
Forgetting to do a RESET ROOM before making modifications and saving
the room can cause the Archon to lose variable equipment. Lastly, the
Archon should take care not to make copies of variable equipment on
mobs as room items. This is because the Rejuv/Pct field that is used to
hold the percentage chance for the equipment while it is in a mobs
inventory means something entirely different when the item is saved in
a room. When an item is saved in a room, the Rejuv/Pct field refers to
the rejuvenation (repopulation) rate for the item when it is removed
from a room.</p>
<p><strong><a name="catalog"><font color="blue" size="5">Catalog</font></a></strong></p>
<p>Now that you have learned how
to create mobs and items, it is time
to discuss the tools you have for organizing them. &nbsp;You may
find,
as master of all you survey, that certain mobs and items are being
repeated in numerous places throughout your world. &nbsp;And you
may
further find it very inconvenient to be forced to modify each and every
one of them every time you wish to change just one. &nbsp;To solve
these problems, we must discuss the mysteries of the Catalog.</p>
<p>The catalog is little more than
a alphabetical list of specially
chosen mobs and items (almost always of the Generic variety) that you
can organize into categories.
&nbsp;Once a mob or item has been molded to your liking and placed
into
the catalog, it will become a permanent representative of all
mobs/items of the same exact name. &nbsp;Once added to the catalog,
new
instances can be created rather simply by using the CREATE command, and
all instances will remain absolutely identical -- to change one is to
change them all. &nbsp;From inside your world, you may use the
CATALOG
command to add and remove mobs and items from the catalog.
&nbsp;The
MODIFY command may be used against any single instance of a catalog mob
or item to modify them all. &nbsp;From the MUDGrinder, a special
Catalog menu allows you to directly modify catalog entries, and through
them, all that exist in your world.</p>
<p>Cataloged
items and mobs can be tagged as belonging to a category, though this
does not change the fact that only one mob or item of a given name may
exist anywhere in the catalog. &nbsp;However, this does help you
keep
track of them if you have a bunch. &nbsp;Cataloged items and mobs
can
also be accessed as xml (*.cmare) files through the CMFS (see the Game
Builder's Guide) under the CMVFS directory /resources/catalog/... This
can be useful for some systems and behaviors (such as RandomItem or
RandomMonsters) that permit the specifying of xml (*.cmare) files.</p>
<p>Cataloged Items also have an
additional aspect about them which can
be tinkered with. &nbsp;Items in your catalog can be given optional
"Auto-Drop" characteristics. &nbsp;This is the ability of an item
to
mystically appear in the inventories of your worlds mobs at the time of
their birth, or, alternatively, in their corpses at the time of their
death. &nbsp;To use this feature, you need only specify a "Drop
Rate",
or a percent chance the item will be selected, whether the item appears
in Live mobs or only in Death, and a Zapper mask describing precisely
what kind of mobs the item may be given to. &nbsp;Specifying
Auto-Drop
characteristics for catalog items can be a quick and easy way to
distribute random treasures, but are hardly a substitute for the
personal touch of equipping your worlds denizens by hand.</p>
<p><strong><a name="racecreate"><font color="blue" size="5">Creating
Races</font></a></strong></p>
<p>Although the myriad of
available races should be quite sufficient
for any Archon's needs, you may find yourself at a point where a new
species is required for the balance of your ecosystem. In this
situation, we must turn to the CREATE RACE command. Supposing we needed
the raveging Woogler to grace our shores, we would enter:</p>
<p><strong>CREATE
RACE Woogler</strong></p>
<p>And it would be done.</p>
<p>However, what if it's not
really some new 12 legged Boglopper we
want, but just a change to one of the races which the gods have laid
down? In that case, we would do the exact same thing and CoffeeMud will
allow us to create a new generic copy of the stock race that can be
modified.</p>
<p>Whenever creating or modifying
a new race, the Archon is presented
with a menu of selections and options available to customize the little
boogers. Here is a description of those options:</p>
<table style="width: 100%;" bgcolor="yellow" border="1" cellpadding="1" cellspacing="1" width="100%">
<tbody>
<tr>
<td width="25%"><strong>Property</strong></td>
<td width="75%"><strong>Description</strong></td>
</tr>
<tr>
<td><em>Name</em></td>
<td>the displayable name of
the race.</td>
</tr>
<tr>
<td><em>Racial
Category</em></td>
<td>the category into which
the race fits. Use ? to get a list of
existing ones.</td>
</tr>
<tr>
<td><em>Base
Weight</em></td>
<td>the minimum weight of a
mob of this race</td>
</tr>
<tr>
<td><em>Weight
Variance</em></td>
<td>the amount by which the
weight of the mob may vary above the
base.</td>
</tr>
<tr>
<td><em>Base
Male Height</em></td>
<td>the minimum height of a
male mob of this race</td>
</tr>
<tr>
<td><em>Base
Female Height</em></td>
<td>the minimum height of a
female mob of this race</td>
</tr>
<tr>
<td><em>Height
Variance</em></td>
<td>the amount by which the
height of the mob may vary above the
base.</td>
</tr>
<tr>
<td><span style="font-style: italic;">Disabled</span></td>
<td>allows you to toggle on
and off one of the several racial
disabling flags</td>
</tr>
<tr>
<td><span style="font-style: italic;">Can
Breathe</span></td>
<td>normally AIR, this lets
you set what members of this race can
breathe. &nbsp;(see atmosphere in Rooms). &nbsp;BE KIND. :)</td>
</tr>
<tr>
<td><em>Availability</em></td>
<td>whether or not players
may access this race at creation, in
spells/skills, or never</td>
</tr>
<tr>
<td><em>Leaving
Text</em></td>
<td>the word displayed when
a mob of this race leaves the room</td>
</tr>
<tr>
<td><em>Arriving
Text</em></td>
<td>the word displayed when
a mob of this race arrives into a room</td>
</tr>
<tr>
<td><em>Health
Race</em></td>
<td>the name of a standard
race which will be used as a
source of health descriptions during combat. In short, enter here the
name of a race that looks the most like the one you are creating. If
you are creating a generic race on top of an existing standard one, you
will need to use the fully qualified class name of the form:
com.planet_ink.coffee_mud.Races.&lt;racename&gt; in order to
access the
standard version.</td>
</tr>
<tr>
<td><span style="font-style: italic;">Event
Race</span></td>
<td>the name of a standard
race which will be used as a
source of special race-specific java-coded events, such as the way
Chickens lay eggs. Leaving this blank is the usual correct answer. If
you are creating a generic race on top of an existing standard one, you
will need to use the fully qualified class name of the form:
com.planet_ink.coffee_mud.Races.&lt;racename&gt;in order to
access the
standard version.</td>
</tr>
<tr>
<td><em>Body
Parts</em></td>
<td>the number and type of
body parts available for amputation</td>
</tr>
<tr>
<td><span style="font-style: italic;">UNwearable
locations</span></td>
<td>a list of wear locations
which, due mostly to the body shape
of this race, normal equipment can not be worn.</td>
</tr>
<tr>
<td style="font-style: italic;">Never
create corpse</td>
<td>if true, the corpse of
such a creature is destroyed when
death occurs -- it leaves no body behind.</td>
</tr>
<tr>
<td><span style="font-style: italic;">Player
Rideable</span></td>
<td>if true, players created
using this race are rideable.</td>
</tr>
<tr>
<td><span style="font-style: italic;">XP
Adjustment Pct</span></td>
<td>the amount to adjust
gained and lost experience by, as a
percentage of the experience, + or -</td>
</tr>
<tr>
<td><em>PhysStat
Adjustments</em></td>
<td>adjustments, positive or
negative, to attack, defence, and
other stats. Use ? for a list.</td>
</tr>
<tr>
<td><em>CharStat
Adjustments</em></td>
<td>adjustments, positive or
negative, to strength, saving
throws, and other stats. Use ? for a list.</td>
</tr>
<tr>
<td><em>CharStat
Settings</em></td>
<td>hard settings for
strength, saving throws, and other stats.
Use ? for a list.</td>
</tr>
<tr>
<td><em>CharState
Adjustments</em></td>
<td>adjustments, positive or
negative, to hit points, mana, and
other
stats. Hunger or Thirst &gt; +2000000000 (two billion) to disable
those. Fatigue &lt; -2000000000 ( neg.two billion) disables that. </td>
</tr>
<tr>
<td><em>Starting
CharState Adjustments</em></td>
<td>adjustments, positive or
negative, to the default hit points,
mana, and other stats for starting players of this race.</td>
</tr>
<tr>
<td><em>Resources</em></td>
<td>list of items produced
from the corpse of this race when it
is Butchered.</td>
</tr>
<tr>
<td><em>Outfit</em></td>
<td>list of items
automatically equipped and word when the OUTFIT
command is used, or a player of this race is created.</td>
</tr>
<tr>
<td><em>Natural
Weapon</em></td>
<td>the weapon used by this
race when it is unarmed.</td>
</tr>
<tr>
<td><span style="font-style: italic;">Weapons
Race</span></td>
<td>the name of a standard
race which will be used as a
source of random racial unarmed weapons. Enter here the name of a race
that looks the most like the one you are creating. If you are create a
generic race on top of an existing standard one, you will need to use
the fully qualified class name of the form:
com.planet_ink.coffee_mud.Races.&lt;racename&gt; in order to
access the
standard version.</td>
</tr>
<tr>
<td><em>Racial
Abilities</em></td>
<td>a list of abilities
available to members of this
race. the abilities must be of the type that have command words. the
proficiency given to the ability is hard coded and cannot be modified.
the level referred to is in player levels as opposed to class levels.</td>
</tr>
<tr>
<td><em>Cultural
Abilities</em></td>
<td>a list of abilities
granted automatically to those who are
born this race. it is assumed these abilities are learned because of
the races culture. the proficiency given is the default proficiency
which players/mobs of this race start out with, the level at which they
can get the ability, and whether the ability is automatically gained,
or merely qualified for..</td>
</tr>
<tr>
<td><span style="font-style: italic;">Racial
Immunities</span></td>
<td>list of abilities to
which this race is entirely and silently immune.</td>
</tr>
</tbody>
</table>
<br>
<br>
<strong><a name="saving"><font color="royalblue" size="5">"Rejuvenating
Items and Mobs" or "How to Save a Room"</font></a></strong>
<p>MOBs and Items that are created
in rooms, even those which have had
the Rejuv Ticks property set to some reasonable number, will not
actually begin to rejuvenate, and will not reappear in the room when
CoffeeMud is rebooted, until the room is saved.</p>
<p>To save a room, you must be
standing in it. From there, you may
issue either the "save items" command to save the items in the room,
"save mobs" command to save the mobs in the room, or "save room" to
save them both. You should make sure that the items, mobs, or both, are
exactly the way you want them to be when the system is rebooted.
Players in the room, including yourself and your followers, will be
ignored by the command to save the mobs.</p>
<p>Currently, the resets using the
Rejuv setting method are on a
mob-by-mob and item-by-item basis, though the system does give you some
default reset times when mobs are created (based on level). There is an
alternative reset method however. If you were to make NONE of your mobs
or items resettable under the current scheme (by making the REJUV value
0), then to add the Behavior called "ResetWhole" to each Area, you can
simply reset every room in the area on a timed basis. The behavior will
reset every room after no one has visited the area in a certain amount
of time. This time can be set in the behaviors parameters. Use AHELP
ResetWhole for more information on this behavior.</p>
<p><strong><a name="appa"><font color="green" size="5">Appendix A:
Special Standard Items</font></a></strong></p>
<p>Map</p>
<ul>
<li>
<div> level - A value of 0
means the map will be built without
access to any indoor rooms or areas behind only secret exits. A value
of 1 means the map will be built with both indoor and outdoor rooms,
but without secret rooms. Any other value will display each and every
room, regardless. A room that is classified as "in the air" will never
be placed on a map. </div>
</li>
<li>
<div> misc text - The names of
the areas, separated by semicolons,
to place on the map. For instance "Area1;Area2" would build a map from
rooms in both Area 1 and Area 2. </div>
</li>
</ul>
<p>LargeChest, SmallChest,
LockableContainer, etc</p>
<ul>
<li>
<div> misc text - The name of
the key which will open this
container. </div>
</li>
</ul>
<p>StdJournal</p>
<ul>
<li>
<div> misc text - The reading,
writing, and replying requirements
for the journal. The proper format is READ=REQUIREMENTS
WRITE=REQUIREMENTS REPLY=REQUIREMENTS ADMIN=REQUIREMENTS, etc... The
REQUIREMENTS are as described above under the Assigned Readable Text
field in the GenJournal entry. </div>
</li>
</ul>
<p>StdKey</p>
<ul>
<li>
<div> misc text - The name of
the key. This value must match the
corresponding value on the door, chest, etc. </div>
</li>
</ul>
<p>TrappedChest (or any other
trapped item)</p>
<ul>
<li>
<div> ability - The type of
trap encountered. 0=Needle, 1=Pit or
Blade, 2=Gas </div>
</li>
</ul>
<p>RingOrnamental, Gem</p>
<ul>
<li>
<div> level - The material the
ring or gem is made out of, or what
gem is mounted on it in the case of a ring. </div>
</li>
</ul>
<p>Coins</p>
<ul>
<li>
<div> ability - The number of
coins in the pile </div>
</li>
<li>
<div> misc text - the currency
name followed by a / (slash),
followed by the denomination value (floating point) </div>
</li>
</ul>
<p>InnKey</p>
<ul>
<li>
<div> * Must be in a
shopkeepers starting inventory in order to
take effect. Each key in the shopkeeper's inventory will be
automatically set to open exits with lock descriptions "INN1", "INN2",
etc.. In order to create an Inn, you need only have a shopkeeper with
one InnKey for every room in your inn. Then create the same number of
rooms, each with a locked door. Key each locked door to a different
room number, so that they will match the keys. For instance, "INN1",
"INN2", etc. See the section on exits for more information on keying
locked doors. </div>
</li>
</ul>
<p>(Most Generic and non-Generic
Armor)</p>
<ul>
<li>
<div> ability - Equates to a
roughly 10 point bonus in armor for
every ability point above 0. Makes the armor magical. Negative ability
points will do the opposite. </div>
</li>
</ul>
<p>(Most Generic and non-Generic
Weapons)</p>
<ul>
<li>
<div> ability - Equates to a 5
point attack bonus, and 1 point
damage bonus for every ability point above 0. Makes the weapon magical.
Negative ability points do the opposite. </div>
</li>
</ul>
<p>ScrollSpell</p>
<ul>
<li>
<div> usesRemaining - The
number of times, total, that any spell on
the scroll may be cast or scribed. In other words, this number applies
to ANY use of the scroll, as opposed to individually for each of the
spells. </div>
</li>
<li>
<div> misc text - The names of
the spells, separated by semicolons,
that are written on the scroll. The names must be the same
case-sensitive class names used in CoffeeMud. For instance:
"Spell_MagicMissile;Spell_Fireball;Spell_ResistElectricity" </div>
</li>
</ul>
<p>StdWand, Staff, Wand_Fire,
Wand_Nourishment</p>
<ul>
<li>
<div> usesRemaining - The
number of times the wand will respond to
its activation word. </div>
</li>
<li>
<div>
<div> misc text - For Staff
and StdWand only, the name of the spell
that is invoked by the magic word. The name must be the same
case-sensitive class names used in CoffeeMud. For instance:
"Spell_MagicMissile" </div>
</div>
</li>
</ul>
<p>StdPill, StdPotion</p>
<ul>
<li>misc text - the list of the
spells, separated by semicolons, that
are invoked by consumption. The spell names must be the same
case-sensitive class names used in CoffeeMud. For instance:
"Spell_MagicMissile; Spell_Sleep"</li>
</ul>
<p>StdLawBook</p>
<ul>
<li>misc text - the name of the
Area for which this book operates.</li>
</ul>
<p>StdPortal</p>
<ul>
<li>misc text - A room ID, or a
a semicoloon-delimited list of
roomIDs that this portal leads to. For the return trip, a portal object
would need to be in both rooms.</li>
</ul>
<p>Ring_Protection</p>
<ul>
<li>
<div> level - The type of
protection afforded by the ring. Levels
0-11 protect from various magical effects. </div>
</li>
<li>
<div> ability - For levels 12
and higher, the amount of 10 point
armor protection afforded. </div>
</li>
</ul>
<p>StdTitle</p>
<ul>
<li>
<div> misc text - the room ID
of the room which has the
Prop_RoomForSale property. </div>
</li>
</ul>
<p>ManualClasses,
ManualAdvancement, etc.</p>
<ul>
<li>
<div> usesRemaining - The
number of types the manual may be read
before becoming ineffective. </div>
</li>
</ul>
<p><strong><a name="appb"><font color="green" size="5">Appendix B:
Special Standard MOBs</font></a></strong></p>
<p>Dragon</p>
<div>
<ul>
<li>
<div> level - The Age of the
Dragon. Ranges are from 8-64. </div>
</li>
<li>
<div> ability - The Color of
the Dragon. Ranges are from 1-10. </div>
</li>
</ul>
</div>
<p>Goblin</p>
<ul>
<li>
<div> ability - The type of
goblin being dealt with. Ranges 0-1000 </div>
</li>
</ul>
<p>StdBanker</p>
<ul>
<li>
<div> misc text - The name of
the bank chain </div>
</li>
</ul>
<p>StdPostman</p>
<ul>
<li>
<div> misc text - The name of
the postal chain </div>
</li>
</ul>
<p>StdShopKeeper</p>
<ul>
<li>misc text - Prejudice
factors. See the field of the same name
under GenShopKeeper above!</li>
</ul>
<p><strong><a name="appc"><font color="green" size="5">Appendix C:
Generic Weapons and Armor Guide</font></a></strong></p>
<p align="left"><u><strong><font>Weapon
Groups</font></strong></u></p>
<p>When building weapons, you must
first select the group that the
weapon falls under. The weapon group affects which classes can use the
weapon, as well as what specializations enhance it&#8217;s use.
Selecting more common weapon groups, such as EDGED or SWORD can enable
a weapon designer to place higher level restrictions, if desired, on
the weapon. This increase in levels is suggested to be 2 additional
levels, but not necessary to keep the game balanced. Weapons within a
group may deal any TYPE of damage, as discussed later, but have general
tendencies towards one or two types.</p>
<p>Weapons within a given category
have certain general tendencies, as
describe by the table below. Any or all of these can be overridden for
the purpose of weapon design, these are just the basic type of weapons
in that category. For example, flailed weapons tend to be unwieldy
(have a negative to attack), but that doesn&#8217;t mean all flails
are
unwieldy.</p>
<p>Similarly, the allowed
materials are materials used historically to
make that type of weapon. If a weapon designer deigns to make a weapon
out of LAMPOIL, it is doable, just a little unorthodox. (You would
probably want to make the weapon out of GLASS, as that is the outer
delivery devise of a Molotov Cocktail.) Currently, weapon SIZE has no
effect on game play, but that may change at a later date. The BASE
MATERIAL of a weapon assumes that weapons are made from that general
area, and use material bonuses based on that type. If you create a
weapon out of a non-standard, ALLOWABLE MATERIAL, use the appropriate
charts for determining attack and damage bonuses after the level has
been set.</p>
<table style="left: 10px; top: 28408px; background-color: yellow; width: 100%;" border="1" cellpadding="1" cellspacing="1">
<tbody>
<tr>
<td valign="top" width="91"><br>
</td>
<td valign="top" width="70">
<p><strong>Base
Damage type</strong></p>
</td>
<td valign="top" width="81">
<p><strong>Base
# Hands/ Base Reach</strong></p>
</td>
<td valign="top" width="58">
<p><strong>Base
Attack Bonus</strong></p>
</td>
<td valign="top" width="132">
<p><strong>Size
of Weapon</strong></p>
</td>
<td valign="top" width="160">
<p><strong>Base
Material/ Allowable Materials</strong></p>
</td>
</tr>
<tr>
<td valign="top" width="91">
<p>FLAILED</p>
</td>
<td valign="top" width="70">
<p>Blunt</p>
</td>
<td valign="top" width="81">
<p>1/0</p>
</td>
<td valign="top" width="58">
<p>-5</p>
</td>
<td valign="top" width="132">
<p>Weight*3</p>
</td>
<td valign="top" width="160">
<p>Wood/ M, W, R, L</p>
</td>
</tr>
<tr>
<td valign="top" width="91">
<p>BLUNT**</p>
</td>
<td valign="top" width="70">
<p>Blunt</p>
</td>
<td valign="top" width="81">
<p>1/0</p>
</td>
<td valign="top" width="58">
<p>0</p>
</td>
<td valign="top" width="132">
<p>Weight*2</p>
</td>
<td valign="top" width="160">
<p>Wood / M, W, R, L, P</p>
</td>
</tr>
<tr>
<td valign="top" width="91">
<p>SWORD</p>
</td>
<td valign="top" width="70">
<p>Slash</p>
</td>
<td valign="top" width="81">
<p>1/0</p>
</td>
<td valign="top" width="58">
<p>0</p>
</td>
<td valign="top" width="132">
<p>Weight + 12</p>
</td>
<td valign="top" width="160">
<p>Metal/ M, W, R, G, P</p>
</td>
</tr>
<tr>
<td valign="top" width="91">
<p>POLEARM</p>
</td>
<td valign="top" width="70">
<p>Pierce</p>
</td>
<td valign="top" width="81">
<p>2/1</p>
</td>
<td valign="top" width="58">
<p>0</p>
</td>
<td valign="top" width="132">
<p>Weight*4 + 24</p>
</td>
<td valign="top" width="160">
<p>Wood/ M, W, R, P</p>
</td>
</tr>
<tr>
<td valign="top" width="91">
<p>AXE</p>
</td>
<td valign="top" width="70">
<p>Slash</p>
</td>
<td valign="top" width="81">
<p>1/0</p>
</td>
<td valign="top" width="58">
<p>0</p>
</td>
<td valign="top" width="132">
<p>Weight + 6</p>
</td>
<td valign="top" width="160">
<p>Metal/ M, W, R, G, P</p>
</td>
</tr>
<tr>
<td valign="top" width="91">
<p>HAMMER</p>
</td>
<td valign="top" width="70">
<p>Blunt</p>
</td>
<td valign="top" width="81">
<p>1/0</p>
</td>
<td valign="top" width="58">
<p>0</p>
</td>
<td valign="top" width="132">
<p>Weight +12</p>
</td>
<td valign="top" width="160">
<p>Wood/ M, W, R,</p>
</td>
</tr>
<tr>
<td valign="top" width="91">
<p>EDGED*</p>
</td>
<td valign="top" width="70">
<p>Pierce</p>
</td>
<td valign="top" width="81">
<p>1/0</p>
</td>
<td valign="top" width="58">
<p>+10</p>
</td>
<td valign="top" width="132">
<p>Weight*2</p>
</td>
<td valign="top" width="160">
<p>Metal/ M, W, R, G, P</p>
</td>
</tr>
<tr>
<td valign="top" width="91">
<p>RANGED***</p>
</td>
<td valign="top" width="70">
<p>Pierce</p>
</td>
<td valign="top" width="81">
<p>2/1</p>
</td>
<td valign="top" width="58">
<p>0</p>
</td>
<td valign="top" width="132">
<p>SPECIAL</p>
</td>
<td valign="top" width="160">
<p>Wood/M, W, R, L, G, P</p>
</td>
</tr>
</tbody>
</table>
<br>
<br>
<p>*A Dagger is a type of EDGED
weapon.</p>
<p>**A Staff is a type of BLUNT
weapon.</p>
<p>***Includes both RANGED, and
THROWN weapons.</p>
<p>Allowed Materials:
(M)etal/Mithril, (W)ooden, (R)ock, (B)one,
(L)eather, (G)lass, (P)recious. Disallowed: Flesh, Vegetation, Liquid,
Cloth, Paper</p>
<p><u><strong><font style="background-color: aqua;">Determining
Weapon
Level</font></strong></u></p>
<p>Weapon creation can be done by
the designer fixing the DAMAGE that a
weapon does, or by fixing the LEVEL required to use the weapon. To
generate weapons that do a specific amount of damage which are balanced
with the WEAPONSMITHING skills, use the following formula:</p>
<p>Level= ((2*D)/(H+1) + (A-W)/5
+R)*((R/W)+2)+1</p>
<p>where</p>
<p>D=base DAMAGE of the weapon
before material modifiers,<br>
H=number of hands required to wield<br>
A=base ATTACK bonus of the weapon<br>
R=REACH/RANGE of weapon<br>
W=WEIGHT of weapon</p>
<p>Round the final number down, to
a minimum level of 1. Some general
criteria to follow for weapons to avoid creating ultra-powerful,
low-level weapons include:</p>
<p>Create the weapon for a
HUMAN-sized character first. If you wish to
scale it up or down for different races, use the WEAPONS FOR GIANTS
table after setting the base level. A typical one-handed human weapon
will weigh from 1-8 pounds, and a two handed weapon will typically
weigh from 10 to 20 pounds. Using heavier/lighter weapons will create a
strange, and possibly unbalanced, result.</p>
<p>Melee weapons should not have a
reach greater than 1.</p>
<p>Weight of weapons should
include any incidental weight in using the
item, such as carrying case, ammunition, and other equipment generally
assumed to be in use with the item. For most RANGED weapons, this will
add another 4 pounds to the typical weight of the weapon. For melee
weapons, the weight is generally negligible. (Except, possibly for a
Katana with a very ornate scabbard.)</p>
<p>Round the final number down, to
a minimum level of 1.</p>
<p>Some sample weapons and levels:</p>
<table style="width: 100%;" bgcolor="yellow" border="1" cellpadding="1" cellspacing="1" width="100%">
<tbody>
<tr>
<td valign="top" width="110">
<p><strong>Name</strong></p>
</td>
<td valign="top" width="70">
<p><strong>Class</strong></p>
</td>
<td valign="top" width="78">
<p><strong>DamType</strong></p>
</td>
<td valign="top" width="51">
<p><strong>Level</strong></p>
</td>
<td valign="top" width="52">
<p><strong>DAM</strong></p>
</td>
<td valign="top" width="46">
<p><strong>ATT</strong></p>
</td>
<td valign="top" width="55">
<p><strong>Hands</strong></p>
</td>
<td valign="top" width="55">
<p><strong>Range</strong></p>
</td>
<td valign="top" width="53">
<p><strong>Value</strong></p>
</td>
<td valign="top" width="42">
<p><strong>Size</strong></p>
</td>
<td valign="top" width="39">
<p><strong>WT</strong></p>
</td>
<td valign="top" width="69">
<p><strong>Material</strong></p>
</td>
</tr>
<tr>
<td valign="top" width="110">
<p>Hand Ax</p>
</td>
<td valign="top" width="70">
<p>Axe</p>
</td>
<td valign="top" width="78">
<p>Slashing</p>
</td>
<td valign="top" width="51">
<p>1</p>
</td>
<td valign="top" width="52">
<p>4</p>
</td>
<td valign="top" width="46">
<p>-10</p>
</td>
<td valign="top" width="55">
<p>1</p>
</td>
<td valign="top" width="55">
<p>0</p>
</td>
<td valign="top" width="53">
<p>56</p>
</td>
<td valign="top" width="42">
<p>14</p>
</td>
<td valign="top" width="39">
<p>8</p>
</td>
<td valign="top" width="69">
<p>Wooden</p>
</td>
</tr>
<tr>
<td valign="top" width="110">
<p>Dagger</p>
</td>
<td valign="top" width="70">
<p>Edged</p>
</td>
<td valign="top" width="78">
<p>Piercing</p>
</td>
<td valign="top" width="51">
<p>1</p>
</td>
<td valign="top" width="52">
<p>2</p>
</td>
<td valign="top" width="46">
<p>-5</p>
</td>
<td valign="top" width="55">
<p>1</p>
</td>
<td valign="top" width="55">
<p>0</p>
</td>
<td valign="top" width="53">
<p>130</p>
</td>
<td valign="top" width="42">
<p>12</p>
</td>
<td valign="top" width="39">
<p>6</p>
</td>
<td valign="top" width="69">
<p>Metal</p>
</td>
</tr>
<tr>
<td valign="top" width="110">
<p>Short Sword</p>
</td>
<td valign="top" width="70">
<p>Sword</p>
</td>
<td valign="top" width="78">
<p>Slashing</p>
</td>
<td valign="top" width="51">
<p>1</p>
</td>
<td valign="top" width="52">
<p>2</p>
</td>
<td valign="top" width="46">
<p>0</p>
</td>
<td valign="top" width="55">
<p>1</p>
</td>
<td valign="top" width="55">
<p>0</p>
</td>
<td valign="top" width="53">
<p>220</p>
</td>
<td valign="top" width="42">
<p>22</p>
</td>
<td valign="top" width="39">
<p>10</p>
</td>
<td valign="top" width="69">
<p>Metal</p>
</td>
</tr>
<tr>
<td valign="top" width="110">
<p>Voulge</p>
</td>
<td valign="top" width="70">
<p>Polearm</p>
</td>
<td valign="top" width="78">
<p>Slashing</p>
</td>
<td valign="top" width="51">
<p>9</p>
</td>
<td valign="top" width="52">
<p>13</p>
</td>
<td valign="top" width="46">
<p>-10</p>
</td>
<td valign="top" width="55">
<p>2</p>
</td>
<td valign="top" width="55">
<p>1</p>
</td>
<td valign="top" width="53">
<p>803</p>
</td>
<td valign="top" width="42">
<p>96</p>
</td>
<td valign="top" width="39">
<p>18</p>
</td>
<td valign="top" width="69">
<p>Metal</p>
</td>
</tr>
<tr>
<td valign="top" width="110">
<p>Gladius</p>
</td>
<td valign="top" width="70">
<p>Sword</p>
</td>
<td valign="top" width="78">
<p>Piercing</p>
</td>
<td valign="top" width="51">
<p>7</p>
</td>
<td valign="top" width="52">
<p>4</p>
</td>
<td valign="top" width="46">
<p>+5</p>
</td>
<td valign="top" width="55">
<p>1</p>
</td>
<td valign="top" width="55">
<p>0</p>
</td>
<td valign="top" width="53">
<p>300</p>
</td>
<td valign="top" width="42">
<p>22</p>
</td>
<td valign="top" width="39">
<p>10</p>
</td>
<td valign="top" width="69">
<p>Metal</p>
</td>
</tr>
<tr>
<td valign="top" width="110">
<p>Grand Sceptre</p>
</td>
<td valign="top" width="70">
<p>Blunt</p>
</td>
<td valign="top" width="78">
<p>Bashing</p>
</td>
<td valign="top" width="51">
<p>12</p>
</td>
<td valign="top" width="52">
<p>8</p>
</td>
<td valign="top" width="46">
<p>+5</p>
</td>
<td valign="top" width="55">
<p>1</p>
</td>
<td valign="top" width="55">
<p>0</p>
</td>
<td valign="top" width="53">
<p>680</p>
</td>
<td valign="top" width="42">
<p>32</p>
</td>
<td valign="top" width="39">
<p>16</p>
</td>
<td valign="top" width="69">
<p>Metal</p>
</td>
</tr>
<tr>
<td valign="top" width="110">
<p>Executioner&#8217;s
Axe</p>
</td>
<td valign="top" width="70">
<p>Axe</p>
</td>
<td valign="top" width="78">
<p>Slashing</p>
</td>
<td valign="top" width="51">
<p>13</p>
</td>
<td valign="top" width="52">
<p>20</p>
</td>
<td valign="top" width="46">
<p>-10</p>
</td>
<td valign="top" width="55">
<p>2</p>
</td>
<td valign="top" width="55">
<p>0</p>
</td>
<td valign="top" width="53">
<p>1233</p>
</td>
<td valign="top" width="42">
<p><b>72!</b></p>
</td>
<td valign="top" width="39">
<p>25</p>
</td>
<td valign="top" width="69">
<p>Wooden</p>
</td>
</tr>
<tr>
<td valign="top" width="110">
<p>Cat-o-nine tails</p>
</td>
<td valign="top" width="70">
<p>Flail</p>
</td>
<td valign="top" width="78">
<p>Bashing</p>
</td>
<td valign="top" width="51">
<p>17</p>
</td>
<td valign="top" width="52">
<p>15</p>
</td>
<td valign="top" width="46">
<p>-20</p>
</td>
<td valign="top" width="55">
<p>1</p>
</td>
<td valign="top" width="55">
<p>0</p>
</td>
<td valign="top" width="53">
<p>965</p>
</td>
<td valign="top" width="42">
<p>42</p>
</td>
<td valign="top" width="39">
<p>14</p>
</td>
<td valign="top" width="69">
<p>Leather</p>
</td>
</tr>
<tr>
<td valign="top" width="110">
<p>Sledgehammer</p>
</td>
<td valign="top" width="70">
<p>Hammer</p>
</td>
<td valign="top" width="78">
<p>Bashing</p>
</td>
<td valign="top" width="51">
<p>10</p>
</td>
<td valign="top" width="52">
<p>34</p>
</td>
<td valign="top" width="46">
<p>-50</p>
</td>
<td valign="top" width="55">
<p>2</p>
</td>
<td valign="top" width="55">
<p>0</p>
</td>
<td valign="top" width="53">
<p>2773</p>
</td>
<td valign="top" width="42">
<p>52</p>
</td>
<td valign="top" width="39">
<p>40</p>
</td>
<td valign="top" width="69">
<p>Wooden</p>
</td>
</tr>
<tr>
<td valign="top" width="110">
<p>Javelin</p>
</td>
<td valign="top" width="70">
<p>Thrown</p>
</td>
<td valign="top" width="78">
<p>Piercing</p>
</td>
<td valign="top" width="51">
<p>8</p>
</td>
<td valign="top" width="52">
<p>3</p>
</td>
<td valign="top" width="46">
<p>0</p>
</td>
<td valign="top" width="55">
<p>1</p>
</td>
<td valign="top" width="55">
<p>2</p>
</td>
<td valign="top" width="53">
<p>265</p>
</td>
<td valign="top" width="42">
<p>76</p>
</td>
<td valign="top" width="39">
<p>8</p>
</td>
<td valign="top" width="69">
<p>Metal</p>
</td>
</tr>
<tr>
<td valign="top" width="110">
<p>Katana</p>
</td>
<td valign="top" width="70">
<p>Sword</p>
</td>
<td valign="top" width="78">
<p>Slashing</p>
</td>
<td valign="top" width="51">
<p>13</p>
</td>
<td valign="top" width="52">
<p>7</p>
</td>
<td valign="top" width="46">
<p>+10</p>
</td>
<td valign="top" width="55">
<p>1</p>
</td>
<td valign="top" width="55">
<p>0</p>
</td>
<td valign="top" width="53">
<p>635</p>
</td>
<td valign="top" width="42">
<p><b>36!</b></p>
</td>
<td valign="top" width="39">
<p>16</p>
</td>
<td valign="top" width="69">
<p>Metal</p>
</td>
</tr>
</tbody>
</table>
<br>
Notice: On the
Executioner&#8217;s Axe, and the Katana, the size
does not correspond to the size formula given above. That&#8217;s
OK,
since the size isn&#8217;t currently used, and since the weapon
designer ultimately has free reign over weapon design. Also, if you
compare many of these levels to that of the weaponsmithing skill, you
will some discrepancies on the levels. Weapon construction
isn&#8217;t
an exact science, as long as you get it in the general range the game
will remain balanced.<br>
<br>
<p><u><strong><font style="background-color: aqua;">Determining
Attack
Bonus and Weapon
Damage</font></strong></u></p>
<p>If you wish to create a weapon
based on the level of a MOB, you can
use some algebra and convert the equation into a damage equation to
give you the following formulas:</p>
<p>Attack Bonus = A + (L * N)</p>
<p>Weapon Damage =
(((L-1)/((R/W)+2) + (W-A)/5
-R)*(((H*2)+1)/2)) * M</p>
<p>where</p>
<p>L=Level required to use weapon,<br>
H=number of hands required to wield<br>
A=base ATTACK bonus of the weapon, -5 for flailed, 10 for edged, dagger<br>
R=REACH/RANGE of weapon<br>
W=WEIGHT of weapon<br>
M=Weapon class damage modifier: 1.1 for flailed, 0.8 for edged, 0.5 for
dagger, 1.5 for thrown, 0.9
for blunt and staff, 1.0 for all others.<br>
N=Weapon class attack modifier: &nbsp;-0.3 for flailed, 0.6 for
edged,
1.3 for dagger, 0.3 for blunt and staff, 0.0 for all others.</p>
<p>Round the final number down, to
a minimum level of 1.</p>
<p><u><strong><font style="background-color: aqua;">Determining
Weapon
Cost</font></strong></u></p>
<p>To compute the
weapon&#8217;s base value use the following equation:</p>
<p>Cost of Item=
2*(W*V+(5*D+A+R*10)*D)/((H+1) * (1 + T))</p>
<p>where</p>
<p>D=base DAMAGE of the weapon
before material modifiers,<br>
H=number of hands required to wield<br>
A=base ATTACK bonus of the weapon<br>
R=REACH/RANGE of weapon<br>
W=WEIGHT of weapon<br>
V=VALUE of the material the weapon is made from<br>
T=THROWN (1 if Thrown, 0 if not Thrown)</p>
<p><u><strong><font style="background-color: aqua;">Determining
Weapon
Damage Type</font></strong></u></p>
<p>Weapon Damage Type is entirely
up to the weapon designer, but some
guidelines have already been provided for the basic weapon types. Here
is a brief description of the different damage types, and level
modifiers for weapons with these damage types:</p>
<p>NATURAL&#8212;All Natural
weapons should be UnGettable. Natural
weapons are available for a creature to use in combat, such as a
Manticore&#8217;s tail spikes; but not actual weapons for
adventurer&#8217;s to loot. Any GETTABLE Natural weapon should have
a
level MODIFIER of at LEAST it&#8217;s DAMAGE rating. Natural
weapons
would be favored by monks if they could get them.</p>
<p>SLASHING&#8212;Slashing
weapons are fairly common and include things
like Axes and Swords. No special care needs to be considered when
making a weapon deal SLASHING damage.</p>
<p>PIERCING&#8212;Piercing
weapons are very common amongst the Polearm
groups. No special care needs to be considered when making a weapon
deal PIERCING damage.</p>
<p>BASHING&#8212;Bashing
weapons are common amongst Blunt and Hammer
weapon groups. No special care needs to be considered when making a
weapon deal SLASHING damage.</p>
<p>BURNING&#8212;This is the
damage type for all fire based attacks and
spells. Burning weapons tend to do more damage to cloth and leather
armors, and overall are more powerful than Slashing/Piercing/Bashing
due to there infrequent use amongst weapons. Add 2 levels to a
weapon&#8217;s base LEVEL if it is of type BURNING.</p>
<p>BURSTING&#8212; This is the
damage type for all Magic based attacks
and spells. Bursting are more powerful than Slashing/Piercing/Bashing
due to there infrequent use amongst weapons. Add 2 levels to a
weapon&#8217;s base LEVEL if it is of type BURSTING.</p>
<p>SHOOT&#8212;This is the
damage type of projectile missiles, such as
Bows and Guns. It is very similar in nature to PIERCING. No special
care needs to be considered when making a weapon deal SHOOT damage.</p>
<p>FROSTING&#8212;This is the
damage type for all Cold based attacks
and spells. Frosting weapons tend to be more powerful than
Slashing/Piercing/Bashing due to there infrequent use amongst weapons.
Add 2 levels to a weapon&#8217;s base LEVEL if it is of type
FROSTING.</p>
<p>GASSING&#8212;This is the
damage type for all Gas based attacks and
spells. Gassing weapons tend to be more powerful than
Slashing/Piercing/Bashing due to there infrequent use amongst weapons.
Add 2 levels to a weapon&#8217;s base LEVEL if it is of type
GASSING.</p>
<p>MELTING&#8212;This is the
damage type for all Acid based attacks and
spells. Melting weapons tend to do more damage to armors, and overall
are more powerful than Slashing/Piercing/Bashing due to there
infrequent use amongst weapons. Add 2 levels to a weapon&#8217;s
base
LEVEL if it is of type MELTING.</p>
<p>STRIKING&#8212;This is the
damage type for all Electricity based
attacks and spells. Striking weapons tend to do more damage to cloth
and leather armors, and overall are more powerful than
Slashing/Piercing/Bashing due to there infrequent use amongst weapons.
Add 2 levels to a weapon&#8217;s base LEVEL if it is of type
STRIKING.</p>
<p><u><strong><font style="background-color: aqua;">Creating
Quick and
Dirty Weapons</font></strong></u></p>
<p>If you just want to guestimate
a weapon&#8217;s level or damage, use
the following formulas. They aren&#8217;t very accurate, and can
create
radically overbalanced weapons in the hands of players, but they are
great for easy NON-GETTABLE MOB weapons.</p>
<p>LEVEL=DAMAGE + (ATTACK/5)</p>
<p>or</p>
<p>DAMAGE=LEVEL - (ATTACK/5)</p>
<p><u><strong><font style="background-color: aqua;">Weapons
for Giants</font></strong></u></p>
<p>If you wish to create weapons
for large (or small) creatures, the
weight of the item will often get an unusually high bias, creating
MASSIVE low level weapons with lots of damage potential. Instead,
create the weapon for a human sized creature, and add the following
modifiers.</p>
<p>WEAPONS FOR GIANTS</p>
<table style="width: 100%;" bgcolor="yellow" border="1" cellpadding="1" cellspacing="1" width="100%">
<tbody>
<tr>
<td valign="top" width="104">
<p><strong>Weight
Increase</strong></p>
</td>
<td valign="top" width="83">
<p><strong>Level
Increase</strong></p>
</td>
<td valign="top" width="101">
<p><strong>Damage
Increase</strong></p>
</td>
<td valign="top" width="101">
<p><strong>Size
Increase</strong></p>
</td>
<td valign="top" width="101">
<p><strong>Range
Increase</strong></p>
</td>
<td valign="top" width="101">
<p><strong>Value
Increase</strong></p>
</td>
</tr>
<tr>
<td valign="top" width="104">
<p>-90%</p>
</td>
<td valign="top" width="83">
<p>0</p>
</td>
<td valign="top" width="101">
<p>-3</p>
</td>
<td valign="top" width="101">
<p>-50%</p>
</td>
<td valign="top" width="101">
<p>-1</p>
</td>
<td valign="top" width="101">
<p>+50%</p>
</td>
</tr>
<tr>
<td valign="top" width="104">
<p>-50%</p>
</td>
<td valign="top" width="83">
<p>0</p>
</td>
<td valign="top" width="101">
<p>-2</p>
</td>
<td valign="top" width="101">
<p>-25%</p>
</td>
<td valign="top" width="101">
<p>-1</p>
</td>
<td valign="top" width="101">
<p>+20%</p>
</td>
</tr>
<tr>
<td valign="top" width="104">
<p>-25%</p>
</td>
<td valign="top" width="83">
<p>0</p>
</td>
<td valign="top" width="101">
<p>-1</p>
</td>
<td valign="top" width="101">
<p>-10%</p>
</td>
<td valign="top" width="101">
<p>0</p>
</td>
<td valign="top" width="101">
<p>+10%</p>
</td>
</tr>
<tr>
<td valign="top" width="104">
<p>+25%</p>
</td>
<td valign="top" width="83">
<p>+1</p>
</td>
<td valign="top" width="101">
<p>+1</p>
</td>
<td valign="top" width="101">
<p>+10%</p>
</td>
<td valign="top" width="101">
<p>0</p>
</td>
<td valign="top" width="101">
<p>+25%</p>
</td>
</tr>
<tr>
<td valign="top" width="104">
<p>+50%</p>
</td>
<td valign="top" width="83">
<p>+2</p>
</td>
<td valign="top" width="101">
<p>+2</p>
</td>
<td valign="top" width="101">
<p>+20%</p>
</td>
<td valign="top" width="101">
<p>0</p>
</td>
<td valign="top" width="101">
<p>+50%</p>
</td>
</tr>
<tr>
<td valign="top" width="104">
<p>+100%</p>
</td>
<td valign="top" width="83">
<p>+4</p>
</td>
<td valign="top" width="101">
<p>+4</p>
</td>
<td valign="top" width="101">
<p>+50%</p>
</td>
<td valign="top" width="101">
<p>+1</p>
</td>
<td valign="top" width="101">
<p>+75%</p>
</td>
</tr>
<tr>
<td valign="top" width="104">
<p>each additional +100%</p>
</td>
<td valign="top" width="83">
<p>+4</p>
</td>
<td valign="top" width="101">
<p>+4</p>
</td>
<td valign="top" width="101">
<p>+50%</p>
</td>
<td valign="top" width="101">
<p>0</p>
</td>
<td valign="top" width="101">
<p>+25%</p>
</td>
</tr>
</tbody>
</table>
<br>
<br>
<p><font size="5"><font style="background-color: lightgrey;"><u><strong>Armor</strong></u></font></font></p>
<p>Armor creation is, in many
ways, much simpler than weapon creation.
There are three types of armor: Cloth, Leather, and Metal. Strange
armors could exist, but are variants of one of these three types. The
armor values vary by location, and by material. Shields are considered
to be HELD METAL armor. For a wooden shield, consider it as a HELD
LEATHER armor for the purposes of further discussion (though your
material would still be WOODEN).</p>
<p><u><strong><font style="background-color: lightgrey;">Armor Points
(Not the final Defensive value of the armor)</font></strong></u></p>
<p>Different types of armor have
different level values, since the less
armored classes would love to get that extra armor bonus at a lighter
weight. To keep the classes balanced, the use the following guideline
for determining the BASE POINT value of an armor piece. As you will see
in the next section, different WEAR locations will have different ARMOR
VALUEs for the same type of armor. A platemail breastplate is more
protective than a platemail cuff.</p>
<table style="width: 100%;" bgcolor="yellow" border="1" cellpadding="1" cellspacing="1" width="100%">
<tbody>
<tr>
<td valign="top" width="55">
<p><strong>Points</strong></p>
</td>
<td valign="top" width="56">
<p><strong>Cloth
Level</strong></p>
</td>
<td valign="top" width="64">
<p><strong>Leather
Level</strong></p>
</td>
<td valign="top" width="60">
<p><strong>Metal
Level</strong></p>
</td>
<td valign="top" width="355">
<p><strong>Sample
Armor Type</strong></p>
</td>
</tr>
<tr>
<td valign="top" width="55">
<p>0</p>
</td>
<td valign="top" width="56">
<p>0</p>
</td>
<td valign="top" width="64">
<p>0</p>
</td>
<td valign="top" width="60">
<p>0</p>
</td>
<td valign="top" width="355">
<p>Simple clothes</p>
</td>
</tr>
<tr>
<td valign="top" width="55">
<p>1</p>
</td>
<td valign="top" width="56">
<p>3</p>
</td>
<td valign="top" width="64">
<p>0</p>
</td>
<td valign="top" width="60">
<p>0</p>
</td>
<td valign="top" width="355">
<p>Padded clothes</p>
</td>
</tr>
<tr>
<td valign="top" width="55">
<p>2</p>
</td>
<td valign="top" width="56">
<p>7</p>
</td>
<td valign="top" width="64">
<p>1</p>
</td>
<td valign="top" width="60">
<p>0</p>
</td>
<td valign="top" width="355">
<p>Leather armor</p>
</td>
</tr>
<tr>
<td valign="top" width="55">
<p>3</p>
</td>
<td valign="top" width="56">
<p>12</p>
</td>
<td valign="top" width="64">
<p>5</p>
</td>
<td valign="top" width="60">
<p>0</p>
</td>
<td valign="top" width="355">
<p>Hard Leather Armor</p>
</td>
</tr>
<tr>
<td valign="top" width="55">
<p>4</p>
</td>
<td valign="top" width="56">
<p>18</p>
</td>
<td valign="top" width="64">
<p>10</p>
</td>
<td valign="top" width="60">
<p>1</p>
</td>
<td valign="top" width="355">
<p>Studded Leather or Ring
Mail</p>
</td>
</tr>
<tr>
<td valign="top" width="55">
<p>5</p>
</td>
<td valign="top" width="56">
<p>25</p>
</td>
<td valign="top" width="64">
<p>16</p>
</td>
<td valign="top" width="60">
<p>3</p>
</td>
<td valign="top" width="355">
<p>Scale Mail</p>
</td>
</tr>
<tr>
<td valign="top" width="55">
<p>6</p>
</td>
<td valign="top" width="56">
<p>33</p>
</td>
<td valign="top" width="64">
<p>23</p>
</td>
<td valign="top" width="60">
<p>5</p>
</td>
<td valign="top" width="355">
<p>Chain Mail</p>
</td>
</tr>
<tr>
<td valign="top" width="55">
<p>7</p>
</td>
<td valign="top" width="56">
<p>42</p>
</td>
<td valign="top" width="64">
<p>31</p>
</td>
<td valign="top" width="60">
<p>8</p>
</td>
<td valign="top" width="355">
<p>Banded</p>
</td>
</tr>
<tr>
<td valign="top" width="55">
<p>8</p>
</td>
<td valign="top" width="56">
<p>52</p>
</td>
<td valign="top" width="64">
<p>40</p>
</td>
<td valign="top" width="60">
<p>12</p>
</td>
<td valign="top" width="355">
<p>Plate</p>
</td>
</tr>
<tr>
<td valign="top" width="55">
<p>9</p>
</td>
<td valign="top" width="56">
<p>62</p>
</td>
<td valign="top" width="64">
<p>50</p>
</td>
<td valign="top" width="60">
<p>17</p>
</td>
<td valign="top" width="355">
<p>Field Plate</p>
</td>
</tr>
<tr>
<td valign="top" width="55">
<p>10</p>
</td>
<td valign="top" width="56">
<p>72</p>
</td>
<td valign="top" width="64">
<p>60</p>
</td>
<td valign="top" width="60">
<p>23</p>
</td>
<td valign="top" width="355">
<p>Full Plate</p>
</td>
</tr>
<tr>
<td valign="top" width="55">
<p>11</p>
</td>
<td valign="top" width="56">
<p>82</p>
</td>
<td valign="top" width="64">
<p>70</p>
</td>
<td valign="top" width="60">
<p>30</p>
</td>
<td valign="top" width="355">
<p>Dwarven Plate</p>
</td>
</tr>
<tr>
<td valign="top" width="55">
<p>12</p>
</td>
<td valign="top" width="56">
<p>92</p>
</td>
<td valign="top" width="64">
<p>80</p>
</td>
<td valign="top" width="60">
<p>38</p>
</td>
<td valign="top" width="355">
<p>?</p>
</td>
</tr>
<tr>
<td valign="top" width="55">
<p>13*</p>
</td>
<td valign="top" width="56">
<p>102</p>
</td>
<td valign="top" width="64">
<p>90</p>
</td>
<td valign="top" width="60">
<p>47</p>
</td>
<td valign="top" width="355">
<p>??</p>
</td>
</tr>
</tbody>
</table>
<br>
<br>
<p>*Higher levels of armor are
conceivable. Add 10 Levels per point
above 13</p>
<p><u><strong><font style="background-color: lightgrey;">Armor Value
(The Almost Final Defensive Value)</font></strong></u></p>
<p>Once you have determined
it&#8217;s base points, then you will
determine it&#8217;s actual ARMOR VALUE, based upon it&#8217;s
location, and it&#8217;s WEIGHT, based upon location, point value,
and
material type. For example, a Banded Shirt (7 points) would provide a
total ARMOR VALUE of 21 (7*3), and weigh 30 pounds.</p>
<table style="width: 100%;" bgcolor="yellow" border="1" cellpadding="1" cellspacing="1" width="100%">
<tbody>
<tr>
<td valign="top" width="118"><br>
</td>
<td valign="top" width="118">
<p align="center"><strong>Armor
Value per Point</strong></p>
</td>
<td valign="top" width="118">
<p align="center"><strong>Cloth
Weight per Location</strong></p>
</td>
<td valign="top" width="118">
<p align="center"><strong>Leather
Weight per&nbsp;</strong><strong>Location</strong></p>
</td>
<td valign="top" width="118">
<p align="center"><strong>Metal
Weight per&nbsp;</strong><strong>Location</strong></p>
</td>
</tr>
<tr>
<td valign="top" width="118">
<p>Head</p>
</td>
<td valign="top" width="118">
<p align="center">1</p>
</td>
<td valign="top" width="118">
<p align="center">2</p>
</td>
<td valign="top" width="118">
<p align="center">6</p>
</td>
<td valign="top" width="118">
<p align="center">10</p>
</td>
</tr>
<tr>
<td valign="top" width="118">
<p>Neck</p>
</td>
<td valign="top" width="118">
<p align="center">.5</p>
</td>
<td valign="top" width="118">
<p align="center">1</p>
</td>
<td valign="top" width="118">
<p align="center">3</p>
</td>
<td valign="top" width="118">
<p align="center">5</p>
</td>
</tr>
<tr>
<td valign="top" width="118">
<p>Arms</p>
</td>
<td valign="top" width="118">
<p align="center">1</p>
</td>
<td valign="top" width="118">
<p align="center">3</p>
</td>
<td valign="top" width="118">
<p align="center">9</p>
</td>
<td valign="top" width="118">
<p align="center">15</p>
</td>
</tr>
<tr>
<td valign="top" width="118">
<p>Wrist (2)</p>
</td>
<td valign="top" width="118">
<p align="center">.5</p>
</td>
<td valign="top" width="118">
<p align="center">1</p>
</td>
<td valign="top" width="118">
<p align="center">2</p>
</td>
<td valign="top" width="118">
<p align="center">3</p>
</td>
</tr>
<tr>
<td valign="top" width="118">
<p>Hands</p>
</td>
<td valign="top" width="118">
<p align="center">.5</p>
</td>
<td valign="top" width="118">
<p align="center">1</p>
</td>
<td valign="top" width="118">
<p align="center">3</p>
</td>
<td valign="top" width="118">
<p align="center">5</p>
</td>
</tr>
<tr>
<td valign="top" width="118">
<p>Torso</p>
</td>
<td valign="top" width="118">
<p align="center">3</p>
</td>
<td valign="top" width="118">
<p align="center">6</p>
</td>
<td valign="top" width="118">
<p align="center">18</p>
</td>
<td valign="top" width="118">
<p align="center">30</p>
</td>
</tr>
<tr>
<td valign="top" width="118">
<p>Waist</p>
</td>
<td valign="top" width="118">
<p align="center">.5</p>
</td>
<td valign="top" width="118">
<p align="center">1</p>
</td>
<td valign="top" width="118">
<p align="center">3</p>
</td>
<td valign="top" width="118">
<p align="center">5</p>
</td>
</tr>
<tr>
<td valign="top" width="118">
<p>Legs</p>
</td>
<td align="center">2</td>
<td valign="top" width="118">
<p align="center">3</p>
</td>
<td valign="top" width="118">
<p align="center">9</p>
</td>
<td valign="top" width="118">
<p align="center">15</p>
</td>
</tr>
<tr>
<td valign="top" width="118">
<p>Feet</p>
</td>
<td valign="top" width="118">
<p align="center">.5</p>
</td>
<td valign="top" width="118">
<p align="center">2</p>
</td>
<td valign="top" width="118">
<p align="center">6</p>
</td>
<td valign="top" width="118">
<p align="center">10</p>
</td>
</tr>
<tr>
<td valign="top" width="118">
<p>Held</p>
</td>
<td valign="top" width="118">
<p align="center">2</p>
</td>
<td valign="top" width="118">
<p align="center">3</p>
</td>
<td valign="top" width="118">
<p align="center">9</p>
</td>
<td valign="top" width="118">
<p align="center">15</p>
</td>
</tr>
<tr>
<td valign="top" width="118">
<p>Wield</p>
</td>
<td valign="top" width="118">
<p align="center">1</p>
</td>
<td valign="top" width="118">
<p align="center">3</p>
</td>
<td valign="top" width="118">
<p align="center">9</p>
</td>
<td valign="top" width="118">
<p align="center">15</p>
</td>
</tr>
</tbody>
</table>
<br>
<br>
<p>The armor weights are
recommendations. If you wish to create a
lighter version of chain mail that gives the same armor protection
(like Elven Chainmail) go right ahead. It will not increase the level,
it will increase the COST of the armor.</p>
<p><u><strong><font style="background-color: lightgrey;">Armor Cost</font></strong></u></p>
<p>The formula for the cost of the
armor is:</p>
<p>COST = (A*A + V) * ( W/2)</p>
<p>where</p>
<p>W = Weight of Armor<br>
A = Armor Points<br>
V = material Value</p>
<p>So our example of an iron
Banded Shirt would cost 2173.5 (round up
to 2174): (7*7+20)*(63/2).</p>
<p><u><strong><font style="background-color: lightgrey;">Final Armor
Adjustments</font></strong></u></p>
<p>After you have computed the
Armor Value, consult the materials
tables for any bonuses that the material may give. This number is a
bonus per Armor Point. If a breast plate of full plate is made from
Adamantite (armor bonus of 4), it would gain 12 (4*3) points of
protection, bringing it&#8217;s total value from 30 (10*3) to 42.
(30 +
12). Material modifiers do NOT affect the level of the armor, even
though it would have an effective Armor Point total of 14, it would
still be available at level 23! Consult the Material Modifiers section
below for an Armor Point reference.</p>
<p><u><strong><font style="background-color: yellow;">Magic Modifiers</font></strong></u></p>
<p>Magic should be controlled by
the type of MUD that is being run. If
you run a low-fantasy MUD, you may wish to increase the Level
requirement for items with magical properties. If you are on a
high-fantasy MUD, you may wish to decrease the Level requirements for
items with magical properties. Magic comes in at least seven forms:
Magic Adjustment, <em>PropFightSpellCast,
PropHaveSpellCast,
PropWearSpellCast, PropHaveAdjustor, PropWearAdjuster,
PropHaveResistor, PropWearResistor</em>.</p>
<p><u><strong><font style="background-color: yellow;">Magic Adjustment</font></strong></u></p>
<p>This field is available on any
item, weapon or armor. If the item
can be worn (but not used as a weapon), then every point of magic gives
1 point of Armor Value. If the item can be used as a weapon, then it
gives +2 to Damage, and +10 to Attack per point of bonus. In either
case, the magic adjustment improves the item&#8217;s saving throws
against attacks that damage it&#8217;s condition. Having a Magic
Adjustment greater than 0 makes the item magical (and detectable as
such). Every 1 point of magic adjustment is worth 5 additional levels
to the base level of the item.</p>
<p><em>PropFightSpellCast</em></p>
<p>This property will make a
weapon discharge a spell-effect with each
successful hit. As such, it is very powerful, and the
weapon&#8217;s
level should be increased by twice the spell&#8217;s typical level.
As
with all spell effects, use careful judgment when placing spells on
items, and use your own discretion for determining the final level
adjustment.</p>
<p><em>PropHaveSpellCast</em></p>
<p>By simply having this item, the
designated spell is cast on the
owner. If this is a positive effect, add the Spell effect&#8217;s
typical level to the level of the item (at least, depending on
usefulness). If having a stone of Invisibility (level 7) is enough to
make you invisible, then the stone should require at least a level 7
character (if it did nothing else). On something as powerful as
invisibility, you may wish to increase the level even more.</p>
<p><em>PropWearSpellCast</em></p>
<p>This property makes any
worn/wielded item grant the effects of a
spell. As a general rule, the item&#8217;s level should be
increased by
half of the spell&#8217;s typical level. Again, use your own
discretion
when creating items that may be very powerful, such as stoneskin or
invisibility.</p>
<p><em>PropHaveAdjustor</em></p>
<p>This property makes an item
that is in a MOBs possession gain
certain abilities. This is a very powerful effect, since a MOB could
conceivably carry a lot of these items. The level increase for items of
this type should be at least twice as high as those with the
PropWearAdjustor effect.</p>
<p><em>PropWearAdjustor</em></p>
<p>This property makes a
worn/wielded item grant special benefits to
it&#8217;s owner.</p>
<table style="background-color: yellow; width: 100%;" border="1" cellpadding="1" cellspacing="1">
<tbody>
<tr>
<td valign="top" width="79">
<p align="center"><strong>Level
per Point</strong></p>
</td>
<td valign="top" width="468">
<p><strong>Effect</strong></p>
</td>
</tr>
<tr>
<td valign="top" width="79">
<p align="center">15</p>
</td>
<td valign="top" width="468">
<p>Str, Dex, Con, Int, Wis,
Cha</p>
</td>
</tr>
<tr>
<td style="text-align: center;">30</td>
<td>Max Str, Dex, Con, Int,
Wis, Cha</td>
</tr>
<tr>
<td valign="top" width="79">
<p align="center">1/5</p>
</td>
<td valign="top" width="468">
<p>Hit Points, Mana Points</p>
</td>
</tr>
<tr>
<td valign="top" width="79">
<p align="center">1/5</p>
</td>
<td valign="top" width="468">
<p>Movement Points</p>
</td>
</tr>
<tr>
<td valign="top" width="79">
<p align="center">1</p>
</td>
<td valign="top" width="468">
<p>Armor</p>
</td>
</tr>
<tr>
<td valign="top" width="79">
<p align="center">1</p>
</td>
<td valign="top" width="468">
<p>Attack</p>
</td>
</tr>
<tr>
<td valign="top" width="79">
<p align="center">3</p>
</td>
<td valign="top" width="468">
<p>Damage</p>
</td>
</tr>
<tr>
<td valign="top" width="79">
<p align="center">10</p>
</td>
<td valign="top" width="468">
<p>Disposition=(Flying,
Swimming, Good, Neutral, Evil, etc)</p>
</td>
</tr>
<tr>
<td valign="top" width="79">
<p align="center">10</p>
</td>
<td valign="top" width="468">
<p>Level</p>
</td>
</tr>
<tr>
<td valign="top" width="79">
<p align="center">?</p>
</td>
<td valign="top" width="468">
<p>Rejuv, Hunger, Thirst,
Experience</p>
</td>
</tr>
<tr>
<td valign="top" width="79">
<p align="center">10</p>
</td>
<td valign="top" width="468">
<p>Senses (See Invis, etc)</p>
</td>
</tr>
<tr>
<td valign="top" width="79">
<p align="center">Variable</p>
</td>
<td valign="top" width="468">
<p>Race, Height, Weight,
Gender</p>
</td>
</tr>
<tr>
<td valign="top" width="79">
<p align="center">20</p>
</td>
<td valign="top" width="468">
<p>Speed</p>
</td>
</tr>
</tbody>
</table>
<br>
<br>
<p><em>PropHaveResistor</em></p>
<p>This property will give anyone
possessing the item the said
resistance increase. This is a more powerful version of
PropWearResistor. The level increase for this property should be three
times that of a PropWearResistor.</p>
<p><em>PropWearResistor</em></p>
<p>This property allows an item
worn/held/wielded to grant the owner
bonuses to various saving throws, or outright immunities to certain
attacks.</p>
<table style="width: 100%;" bgcolor="yellow" border="1" cellpadding="1" cellspacing="1" width="100%">
<tbody>
<tr>
<td valign="top" width="115">
<p align="center"><strong>Level
per percentage of resistance</strong></p>
</td>
<td valign="top" width="444">
<p><strong>Effect</strong></p>
</td>
</tr>
<tr>
<td valign="top" width="115">
<p align="center">1/5</p>
</td>
<td valign="top" width="444">
<p>Gas, Fire, Electrical,
Mind, Magic, Cold, Acid, Water, Evil
(Undead), Justice (thief abilities and others)</p>
</td>
</tr>
<tr>
<td valign="top" width="115">
<p align="center">5</p>
</td>
<td valign="top" width="444">
<p>Weapons, Blunt, Pierce,
Slash (reduces damage)</p>
</td>
</tr>
<tr>
<td valign="top" width="115">
<p align="center">2</p>
</td>
<td valign="top" width="444">
<p>Teleport Immunity
(includes gate, summon, and others)</p>
</td>
</tr>
<tr>
<td valign="top" width="115">
<p align="center">10</p>
</td>
<td valign="top" width="444">
<p>Holy Immunity</p>
</td>
</tr>
<tr>
<td valign="top" width="115">
<p align="center">10</p>
</td>
<td valign="top" width="444">
<p>Disease Immunity</p>
</td>
</tr>
<tr>
<td valign="top" width="115">
<p align="center">10</p>
</td>
<td valign="top" width="444">
<p>Poison Immunity</p>
</td>
</tr>
</tbody>
</table>
<br>
<br>
<p><u><strong><font style="background-color: yellow;">Other Effects</font></strong></u></p>
<p>There are many properties
available in Coffeemud that enable unique
item creation. There are inhibiting properties such as the <em>PropWearZapper</em>
and <em>PropHaveZapper</em>
that can be used to reduce the level of the item (I would say as a
general rule, for every race restricted, reduce the level requirement
by 2, and for every class restricted reduce the level by 1.) Other
spell effects may be negative, reducing the value of the item. Still
others may be difficult to determine their effects, reducing the value
of the item. Use your judgment, or request the system owner&#8217;s
advice for particularly complicated works of magic.</p>
<p align="left"><u><strong><font style="background-color: yellow;">Cost
of Magical and Miscelaneous Properties</font></strong></u></p>
<p>For determining the added
monetary value of an item based on its
magical properties, you must first determine how prevelant magic items
will be in your world. Choose a cost Index between *10 for a magic rich
world, to *100 for a magic poor world. Each level above the base level
is multiplied by this Index and then added to the base cost to
determine its final value.</p>
<p>Final Cost = Base Cost + (Total
Level Increase)*(cost Index)</p>
<p align="left"><u><strong><font style="background-color: powderblue;">Material
Modifiers</font></strong></u></p>
<p>The Material that you use to
create an item affects it&#8217;s
overall effectiveness without affecting it&#8217;s level. Make
these
modifications to the item AFTER completing the previous formulas. If
you use a non-standard material, do not apply the actual material
modifiers (other than value) to the item&#8217;s Attack, Damage, or
Armor values. A metal club is superior to a wooden club, but using a
better type of metal doesn&#8217;t increase the bluntness (or even
relative hardness) of the club significantly. ROCK is an exception to
this rule.</p>
<p>ALLOWABLE MATERIALS</p>
<table style="width: 100%;" bgcolor="yellow" border="1" cellpadding="1" cellspacing="1" width="100%">
<tbody>
<tr>
<td valign="top" width="105">
<p><strong>Standard</strong></p>
</td>
<td valign="top" width="102">
<p><strong>Actual</strong></p>
</td>
<td valign="top" width="104">
<p><strong>Damage</strong></p>
</td>
<td valign="top" width="101">
<p><strong>Attack</strong></p>
</td>
<td valign="top" width="90">
<p><strong>Armor</strong></p>
</td>
</tr>
<tr>
<td valign="top" width="105">
<p>Metal/Mithril</p>
</td>
<td valign="top" width="102">
<p>Wooden</p>
</td>
<td valign="top" width="104">
<p>-4</p>
</td>
<td valign="top" width="101">
<p>0</p>
</td>
<td valign="top" width="90">
<p>-3</p>
</td>
</tr>
<tr>
<td valign="top" width="105">
<p>Metal/Mithril</p>
</td>
<td valign="top" width="102">
<p>Precious**</p>
</td>
<td valign="top" width="104">
<p>-4</p>
</td>
<td valign="top" width="101">
<p>-10</p>
</td>
<td valign="top" width="90">
<p>-3</p>
</td>
</tr>
<tr>
<td valign="top" width="105">
<p>Metal/Mithril</p>
</td>
<td valign="top" width="102">
<p>Leather**</p>
</td>
<td valign="top" width="104">
<p>-6</p>
</td>
<td valign="top" width="101">
<p>-10</p>
</td>
<td valign="top" width="90">
<p>-4</p>
</td>
</tr>
<tr>
<td valign="top" width="105">
<p>Metal/Mithril</p>
</td>
<td valign="top" width="102">
<p>Rock</p>
</td>
<td valign="top" width="104">
<p>-2</p>
</td>
<td valign="top" width="101">
<p>-10</p>
</td>
<td valign="top" width="90">
<p>-1</p>
</td>
</tr>
<tr>
<td valign="top" width="105">
<p>Metal/Mithril</p>
</td>
<td valign="top" width="102">
<p>Glass</p>
</td>
<td valign="top" width="104">
<p>-4</p>
</td>
<td valign="top" width="101">
<p>-20</p>
</td>
<td valign="top" width="90">
<p>-3</p>
</td>
</tr>
<tr>
<td valign="top" width="105">
<p>Metal/Mithril</p>
</td>
<td valign="top" width="102">
<p>*Other**</p>
</td>
<td valign="top" width="104">
<p>-8</p>
</td>
<td valign="top" width="101">
<p>-30</p>
</td>
<td valign="top" width="90">
<p>-5</p>
</td>
</tr>
<tr>
<td valign="top" width="105">
<p>Wooden</p>
</td>
<td valign="top" width="102">
<p>Metal/Mithril**</p>
</td>
<td valign="top" width="104">
<p>+2</p>
</td>
<td valign="top" width="101">
<p>0</p>
</td>
<td valign="top" width="90">
<p>+3</p>
</td>
</tr>
<tr>
<td valign="top" width="105">
<p>Wooden</p>
</td>
<td valign="top" width="102">
<p>Precious**</p>
</td>
<td valign="top" width="104">
<p>+2</p>
</td>
<td valign="top" width="101">
<p>-10</p>
</td>
<td valign="top" width="90">
<p>0</p>
</td>
</tr>
<tr>
<td valign="top" width="105">
<p>Wooden</p>
</td>
<td valign="top" width="102">
<p>Leather**</p>
</td>
<td valign="top" width="104">
<p>-2</p>
</td>
<td valign="top" width="101">
<p>0</p>
</td>
<td valign="top" width="90">
<p>0</p>
</td>
</tr>
<tr>
<td valign="top" width="105">
<p>Wooden</p>
</td>
<td valign="top" width="102">
<p>Rock</p>
</td>
<td valign="top" width="104">
<p>+2</p>
</td>
<td valign="top" width="101">
<p>-10</p>
</td>
<td valign="top" width="90">
<p>+2</p>
</td>
</tr>
<tr>
<td valign="top" width="105">
<p>Wooden</p>
</td>
<td valign="top" width="102">
<p>Glass</p>
</td>
<td valign="top" width="104">
<p>-2</p>
</td>
<td valign="top" width="101">
<p>-10</p>
</td>
<td valign="top" width="90">
<p>0</p>
</td>
</tr>
<tr>
<td valign="top" width="105">
<p>Wooden</p>
</td>
<td valign="top" width="102">
<p>*Other**</p>
</td>
<td valign="top" width="104">
<p>-6</p>
</td>
<td valign="top" width="101">
<p>-30</p>
</td>
<td valign="top" width="90">
<p>-3</p>
</td>
</tr>
<tr>
<td valign="top" width="105">
<p>Cloth</p>
</td>
<td valign="top" width="102">
<p>Metal/Mithril</p>
</td>
<td valign="top" width="104">
<p align="center">N/A</p>
</td>
<td valign="top" width="101">
<p align="center">N/A</p>
</td>
<td valign="top" width="90">
<p>+4</p>
</td>
</tr>
<tr>
<td valign="top" width="105">
<p>Cloth</p>
</td>
<td valign="top" width="102">
<p>Wooden</p>
</td>
<td valign="top" width="104">
<p align="center">N/A</p>
</td>
<td valign="top" width="101">
<p align="center">N/A</p>
</td>
<td valign="top" width="90">
<p>+1</p>
</td>
</tr>
<tr>
<td valign="top" width="105">
<p>Cloth</p>
</td>
<td valign="top" width="102">
<p>Precious**</p>
</td>
<td valign="top" width="104">
<p align="center">N/A</p>
</td>
<td valign="top" width="101">
<p align="center">N/A</p>
</td>
<td valign="top" width="90">
<p>+1</p>
</td>
</tr>
<tr>
<td valign="top" width="105">
<p>Cloth</p>
</td>
<td valign="top" width="102">
<p>Leather</p>
</td>
<td valign="top" width="104">
<p align="center">N/A</p>
</td>
<td valign="top" width="101">
<p align="center">N/A</p>
</td>
<td valign="top" width="90">
<p>+1</p>
</td>
</tr>
<tr>
<td valign="top" width="105">
<p>Cloth</p>
</td>
<td valign="top" width="102">
<p>Rock</p>
</td>
<td valign="top" width="104">
<p align="center">N/A</p>
</td>
<td valign="top" width="101">
<p align="center">N/A</p>
</td>
<td valign="top" width="90">
<p>+3</p>
</td>
</tr>
<tr>
<td valign="top" width="105">
<p>Cloth</p>
</td>
<td valign="top" width="102">
<p>Glass</p>
</td>
<td valign="top" width="104">
<p align="center">N/A</p>
</td>
<td valign="top" width="101">
<p align="center">N/A</p>
</td>
<td valign="top" width="90">
<p>+1</p>
</td>
</tr>
<tr>
<td valign="top" width="105">
<p>Cloth</p>
</td>
<td valign="top" width="102">
<p>*Other**</p>
</td>
<td valign="top" width="104">
<p align="center">N/A</p>
</td>
<td valign="top" width="101">
<p align="center">N/A</p>
</td>
<td valign="top" width="90">
<p>-2</p>
</td>
</tr>
</tbody>
</table>
<br>
<br>
<p>*Consider each on a case by
case basis</p>
<p>**DO NOT apply MATERIAL
MODIFIERS to DAMAGE, ATTACK, and ARMOR</p>
<p><u><strong><font style="background-color: plum;">Material
Indexes</font></strong></u></p>
<p>Once an item is completed, add
any values from materials to the end
result to get the final values for the item. Note that CONDITION is a
relative term that determines ARMOR and WEAPON damage condition.
Different types of materials suffer differently from the various attack
forms. A blank in this area means that it resists damage normally, and
wears at the standard rate for all attacks against that type of
material. A &#8216;+&#8217; means that it holds up better
against all
forms of attacks. A &#8216;-&#8216; means that it suffers more
damage
from all forms of attacks.</p>
<p>Mithril is a special type of
METAL. Therefore, any item that can be
made from a metal, can also be made from a mithril. Mithril has
different resistance scores than metals, and has other special
properties, so it is listed as its own classification.</p>
<p>If an item is created from a
non-standard material, apply those
modifiers FIRST. If they don&#8217;t allow for a MATERIAL MODIFIER,
then skip this step.</p>
<table style="width: 100%;" bgcolor="#ffff00" border="1" cellpadding="1" cellspacing="1" width="100%">
<tbody>
<tr>
<td valign="top" width="86">
<p><strong>Material</strong></p>
</td>
<td valign="top" width="84">
<p><strong>Type</strong></p>
</td>
<td valign="top" width="84">
<p><strong>Value</strong></p>
</td>
<td valign="top" width="84">
<p><strong>ATTACK</strong></p>
</td>
<td valign="top" width="85">
<p><strong>DAMAGE</strong></p>
</td>
<td valign="top" width="84">
<p><strong>ARMOR</strong></p>
</td>
<td valign="top" width="84">
<p><strong>Condition</strong></p>
</td>
</tr>
<tr>
<td valign="top" width="86">
<p>Stone</p>
</td>
<td valign="top" width="84">
<p>ROCK</p>
</td>
<td valign="top" width="84">
<p>1</p>
</td>
<td valign="top" width="84"> </td>
<td valign="top" width="85"> </td>
<td valign="top" width="84"> </td>
<td valign="top" width="84"> </td>
</tr>
<tr>
<td valign="top" width="86">
<p>Limestone</p>
</td>
<td valign="top" width="84">
<p>ROCK</p>
</td>
<td valign="top" width="84">
<p>1</p>
</td>
<td valign="top" width="84">
<p>-10</p>
</td>
<td valign="top" width="85">
<p>-2</p>
</td>
<td valign="top" width="84">
<p>-1</p>
</td>
<td valign="top" width="84">
<p align="center">-</p>
</td>
</tr>
<tr>
<td valign="top" width="86">
<p>Flint</p>
</td>
<td valign="top" width="84">
<p>ROCK</p>
</td>
<td valign="top" width="84">
<p>1</p>
</td>
<td valign="top" width="84">
<p>-10</p>
</td>
<td valign="top" width="85">
<p>-2</p>
</td>
<td valign="top" width="84">
<p>-1</p>
</td>
<td valign="top" width="84">
<p align="center">-</p>
</td>
</tr>
<tr>
<td valign="top" width="86">
<p>Granite</p>
</td>
<td valign="top" width="84">
<p>ROCK</p>
</td>
<td valign="top" width="84">
<p>2</p>
</td>
<td valign="top" width="84">
<p>+10</p>
</td>
<td valign="top" width="85">
<p>+2</p>
</td>
<td valign="top" width="84">
<p>+1</p>
</td>
<td valign="top" width="84">
<p align="center">+</p>
</td>
</tr>
<tr>
<td valign="top" width="86">
<p>Obsidian</p>
</td>
<td valign="top" width="84">
<p>ROCK</p>
</td>
<td valign="top" width="84">
<p>10</p>
</td>
<td valign="top" width="84">
<p>+10</p>
</td>
<td valign="top" width="85">
<p>+2</p>
</td>
<td valign="top" width="84">
<p>+1</p>
</td>
<td valign="top" width="84">
<p align="center">+</p>
</td>
</tr>
<tr>
<td valign="top" width="86">
<p>Marble</p>
</td>
<td valign="top" width="84">
<p>ROCK</p>
</td>
<td valign="top" width="84">
<p>20</p>
</td>
<td valign="top" width="84"> </td>
<td valign="top" width="85"> </td>
<td valign="top" width="84"> </td>
<td valign="top" width="84"> </td>
</tr>
<tr>
<td valign="top" width="86">
<p>Sand</p>
</td>
<td valign="top" width="84">
<p>ROCK</p>
</td>
<td valign="top" width="84">
<p>1</p>
</td>
<td valign="top" width="84">
<p>-40</p>
</td>
<td valign="top" width="85">
<p>-8</p>
</td>
<td valign="top" width="84">
<p>-4</p>
</td>
<td valign="top" width="84">
<p align="center">----</p>
</td>
</tr>
<tr>
<td valign="top" width="86">
<p>Coal</p>
</td>
<td valign="top" width="84">
<p>ROCK</p>
</td>
<td valign="top" width="84">
<p>1</p>
</td>
<td valign="top" width="84">
<p>-40</p>
</td>
<td valign="top" width="85">
<p>-8</p>
</td>
<td valign="top" width="84">
<p>-4</p>
</td>
<td valign="top" width="84">
<p align="center">----</p>
</td>
</tr>
</tbody>
</table>
<br>
<br>
<table style="width: 100%;" bgcolor="#ffff00" border="1" cellpadding="1" cellspacing="1" width="100%">
<tbody>
<tr>
<td valign="top" width="84">
<p><strong>Material</strong></p>
</td>
<td valign="top" width="84">
<p><strong>Type</strong></p>
</td>
<td valign="top" width="84">
<p><strong>Value</strong></p>
</td>
<td valign="top" width="84">
<p><strong>ATTACK</strong></p>
</td>
<td valign="top" width="85">
<p><strong>DAMAGE</strong></p>
</td>
<td valign="top" width="84">
<p><strong>ARMOR</strong></p>
</td>
<td valign="top" width="84">
<p><strong>Condition</strong></p>
</td>
</tr>
<tr>
<td valign="top" width="84">
<p>Iron</p>
</td>
<td valign="top" width="84">
<p>METAL</p>
</td>
<td valign="top" width="84">
<p>20</p>
</td>
<td valign="top" width="84"> </td>
<td valign="top" width="85"> </td>
<td valign="top" width="84"> </td>
<td valign="top" width="84"> </td>
</tr>
<tr>
<td valign="top" width="84">
<p>Lead</p>
</td>
<td valign="top" width="84">
<p>METAL</p>
</td>
<td valign="top" width="84">
<p>10</p>
</td>
<td valign="top" width="84">
<p>-10</p>
</td>
<td valign="top" width="85">
<p>-2</p>
</td>
<td valign="top" width="84">
<p>-1</p>
</td>
<td valign="top" width="84">
<p align="center">-</p>
</td>
</tr>
<tr>
<td valign="top" width="84">
<p>Bronze</p>
</td>
<td valign="top" width="84">
<p>METAL</p>
</td>
<td valign="top" width="84">
<p>10</p>
</td>
<td valign="top" width="84">
<p>-10</p>
</td>
<td valign="top" width="85">
<p>-2</p>
</td>
<td valign="top" width="84">
<p>-1</p>
</td>
<td valign="top" width="84">
<p align="center">-</p>
</td>
</tr>
<tr>
<td valign="top" width="84">
<p>Silver</p>
</td>
<td valign="top" width="84">
<p>METAL</p>
</td>
<td valign="top" width="84">
<p>30</p>
</td>
<td valign="top" width="84">
<p>-10</p>
</td>
<td valign="top" width="85">
<p>-2</p>
</td>
<td valign="top" width="84">
<p>-1</p>
</td>
<td valign="top" width="84">
<p align="center">-</p>
</td>
</tr>
<tr>
<td valign="top" width="84">
<p>Gold</p>
</td>
<td valign="top" width="84">
<p>METAL</p>
</td>
<td valign="top" width="84">
<p>50</p>
</td>
<td bgcolor="#ffff00" valign="top" width="84">
<p>-10</p>
</td>
<td valign="top" width="85">
<p>-2</p>
</td>
<td valign="top" width="84">
<p>-1</p>
</td>
<td valign="top" width="84">
<p align="center">-</p>
</td>
</tr>
<tr>
<td valign="top" width="84">
<p>Zinc</p>
</td>
<td valign="top" width="84">
<p>METAL</p>
</td>
<td valign="top" width="84">
<p>10</p>
</td>
<td valign="top" width="84">
<p>-10</p>
</td>
<td valign="top" width="85">
<p>-2</p>
</td>
<td valign="top" width="84">
<p>-1</p>
</td>
<td valign="top" width="84">
<p align="center">-</p>
</td>
</tr>
<tr>
<td valign="top" width="84">
<p>Copper</p>
</td>
<td valign="top" width="84">
<p>METAL</p>
</td>
<td valign="top" width="84">
<p>10</p>
</td>
<td valign="top" width="84">
<p>-10</p>
</td>
<td valign="top" width="85">
<p>-2</p>
</td>
<td valign="top" width="84">
<p>-1</p>
</td>
<td valign="top" width="84">
<p align="center">-</p>
</td>
</tr>
<tr>
<td valign="top" width="84">
<p>Tin</p>
</td>
<td valign="top" width="84">
<p>METAL</p>
</td>
<td valign="top" width="84">
<p>10</p>
</td>
<td valign="top" width="84">
<p>-20</p>
</td>
<td valign="top" width="85">
<p>-4</p>
</td>
<td valign="top" width="84">
<p>-2</p>
</td>
<td valign="top" width="84">
<p align="center">--</p>
</td>
</tr>
<tr>
<td valign="top" width="84">
<p>Steel</p>
</td>
<td valign="top" width="84">
<p>METAL</p>
</td>
<td valign="top" width="84">
<p>150</p>
</td>
<td valign="top" width="84">
<p>+20</p>
</td>
<td valign="top" width="85">
<p>+4</p>
</td>
<td valign="top" width="84">
<p>+2</p>
</td>
<td valign="top" width="84">
<p align="center">++</p>
</td>
</tr>
<tr>
<td valign="top" width="84">
<p>Brass</p>
</td>
<td valign="top" width="84">
<p>METAL</p>
</td>
<td valign="top" width="84">
<p>120</p>
</td>
<td valign="top" width="84"> </td>
<td valign="top" width="85"> </td>
<td valign="top" width="84"> </td>
<td valign="top" width="84"> </td>
</tr>
<tr>
<td valign="top" width="84">
<p>Platinum</p>
</td>
<td valign="top" width="84">
<p>METAL</p>
</td>
<td valign="top" width="84">
<p>80</p>
</td>
<td valign="top" width="84"> </td>
<td valign="top" width="85"> </td>
<td valign="top" width="84"> </td>
<td valign="top" width="84"> </td>
</tr>
</tbody>
</table>
<br>
<br>
<table style="width: 100%;" bgcolor="#ffff00" border="1" cellpadding="1" cellspacing="1" width="100%">
<tbody>
<tr>
<td valign="top" width="89">
<p><strong>Material</strong></p>
</td>
<td valign="top" width="84">
<p><strong>Type</strong></p>
</td>
<td valign="top" width="82">
<p><strong>Value</strong></p>
</td>
<td valign="top" width="84">
<p><strong>ATTACK</strong></p>
</td>
<td valign="top" width="85">
<p><strong>DAMAGE</strong></p>
</td>
<td valign="top" width="83">
<p><strong>ARMOR</strong></p>
</td>
<td valign="top" width="84">
<p><strong>Condition</strong></p>
</td>
</tr>
<tr>
<td valign="top" width="89">
<p>Mithril</p>
</td>
<td valign="top" width="84">
<p>MITHRIL</p>
</td>
<td valign="top" width="82">
<p>200</p>
</td>
<td valign="top" width="84">
<p>30</p>
</td>
<td valign="top" width="85">
<p>6</p>
</td>
<td valign="top" width="83">
<p>3</p>
</td>
<td valign="top" width="84"> </td>
</tr>
<tr>
<td valign="top" width="89">
<p>Adamantite</p>
</td>
<td valign="top" width="84">
<p>MITHRIL</p>
</td>
<td valign="top" width="82">
<p>500</p>
</td>
<td valign="top" width="84">
<p>40</p>
</td>
<td valign="top" width="85">
<p>8</p>
</td>
<td valign="top" width="83">
<p>4</p>
</td>
<td valign="top" width="84">
<p align="center">+</p>
</td>
</tr>
</tbody>
</table>
<br>
<br>
<table bgcolor="#ffff00" border="1" cellpadding="1" cellspacing="1" width="100%">
<tbody>
<tr>
<td valign="top" width="84">
<p><strong>Material</strong></p>
</td>
<td valign="top" width="86">
<p><strong>Type</strong></p>
</td>
<td valign="top" width="84">
<p><strong>Value</strong></p>
</td>
<td valign="top" width="84">
<p><strong>ATTACK</strong></p>
</td>
<td valign="top" width="85">
<p><strong>DAMAGE</strong></p>
</td>
<td valign="top" width="84">
<p><strong>ARMOR</strong></p>
</td>
<td valign="top" width="84">
<p><strong>Condition</strong></p>
</td>
</tr>
<tr>
<td valign="top" width="84">
<p>Wood</p>
</td>
<td valign="top" width="86">
<p>WOODEN</p>
</td>
<td valign="top" width="84">
<p>2</p>
</td>
<td valign="top" width="84"> </td>
<td valign="top" width="85"> </td>
<td valign="top" width="84"> </td>
<td valign="top" width="84"> </td>
</tr>
<tr>
<td valign="top" width="84">
<p>Pine</p>
</td>
<td valign="top" width="86">
<p>WOODEN</p>
</td>
<td valign="top" width="84">
<p>4</p>
</td>
<td valign="top" width="84"> </td>
<td valign="top" width="85"> </td>
<td valign="top" width="84"> </td>
<td valign="top" width="84"> </td>
</tr>
<tr>
<td valign="top" width="84">
<p>Balsa</p>
</td>
<td valign="top" width="86">
<p>WOODEN</p>
</td>
<td valign="top" width="84">
<p>1</p>
</td>
<td valign="top" width="84">
<p>-10</p>
</td>
<td valign="top" width="85">
<p>-2</p>
</td>
<td valign="top" width="84">
<p>-1</p>
</td>
<td valign="top" width="84">
<p align="center">-</p>
</td>
</tr>
<tr>
<td valign="top" width="84">
<p>Oak</p>
</td>
<td valign="top" width="86">
<p>WOODEN</p>
</td>
<td valign="top" width="84">
<p>5</p>
</td>
<td valign="top" width="84"> </td>
<td valign="top" width="85"> </td>
<td valign="top" width="84"> </td>
<td valign="top" width="84"> </td>
</tr>
<tr>
<td valign="top" width="84">
<p>Maple</p>
</td>
<td valign="top" width="86">
<p>WOODEN</p>
</td>
<td valign="top" width="84">
<p>10</p>
</td>
<td valign="top" width="84"> </td>
<td valign="top" width="85"> </td>
<td valign="top" width="84"> </td>
<td valign="top" width="84"> </td>
</tr>
<tr>
<td valign="top" width="84">
<p>Redwood</p>
</td>
<td valign="top" width="86">
<p>WOODEN</p>
</td>
<td valign="top" width="84">
<p>20</p>
</td>
<td valign="top" width="84"> </td>
<td valign="top" width="85"> </td>
<td valign="top" width="84"> </td>
<td valign="top" width="84"> </td>
</tr>
<tr>
<td valign="top" width="84">
<p>Hickory</p>
</td>
<td valign="top" width="86">
<p>WOODEN</p>
</td>
<td valign="top" width="84">
<p>5</p>
</td>
<td valign="top" width="84"> </td>
<td valign="top" width="85"> </td>
<td valign="top" width="84"> </td>
<td valign="top" width="84"> </td>
</tr>
<tr>
<td valign="top" width="84">
<p>Ironwood</p>
</td>
<td valign="top" width="86">
<p>WOODEN</p>
</td>
<td valign="top" width="84">
<p>25</p>
</td>
<td valign="top" width="84">
<p>+10</p>
</td>
<td valign="top" width="85">
<p>+2</p>
</td>
<td valign="top" width="84">
<p>+1</p>
</td>
<td valign="top" width="84">
<p align="center">+</p>
</td>
</tr>
</tbody>
</table>
<br>
<br>
<table bgcolor="#ffff00" border="1" cellpadding="1" cellspacing="1" width="100%">
<tbody>
<tr>
<td valign="top" width="84">
<p><strong>Material</strong></p>
</td>
<td valign="top" width="87">
<p><strong>Type</strong></p>
</td>
<td valign="top" width="83">
<p><strong>Value</strong></p>
</td>
<td valign="top" width="84">
<p><strong>ATTACK</strong></p>
</td>
<td valign="top" width="85">
<p><strong>DAMAGE</strong></p>
</td>
<td valign="top" width="84">
<p><strong>ARMOR</strong></p>
</td>
<td valign="top" width="84">
<p><strong>Condition</strong></p>
</td>
</tr>
<tr>
<td valign="top" width="84">
<p>Scales</p>
</td>
<td valign="top" width="87">
<p>LEATHER</p>
</td>
<td valign="top" width="83">
<p>10</p>
</td>
<td valign="top" width="84"> </td>
<td valign="top" width="85"> </td>
<td valign="top" width="84">
<p>+2</p>
</td>
<td valign="top" width="84">
<p align="center">++</p>
</td>
</tr>
<tr>
<td valign="top" width="84">
<p>Leather</p>
</td>
<td valign="top" width="87">
<p>LEATHER</p>
</td>
<td valign="top" width="83">
<p>10</p>
</td>
<td valign="top" width="84"> </td>
<td valign="top" width="85"> </td>
<td valign="top" width="84"> </td>
<td valign="top" width="84"> </td>
</tr>
</tbody>
</table>
<br>
<br>
<table bgcolor="#ffff00" border="1" cellpadding="1" cellspacing="1" width="100%">
<tbody>
<tr>
<td valign="top" width="84">
<p><strong>Material</strong></p>
</td>
<td valign="top" width="84">
<p><strong>Type</strong></p>
</td>
<td valign="top" width="84">
<p><strong>Value</strong></p>
</td>
<td valign="top" width="84">
<p><strong>ATTACK</strong></p>
</td>
<td valign="top" width="85">
<p><strong>DAMAGE</strong></p>
</td>
<td valign="top" width="84">
<p><strong>ARMOR</strong></p>
</td>
<td valign="top" width="84">
<p><strong>Condition</strong></p>
</td>
</tr>
<tr>
<td valign="top" width="84">
<p>Fur</p>
</td>
<td valign="top" width="84">
<p>CLOTH</p>
</td>
<td valign="top" width="84">
<p>20</p>
</td>
<td valign="top" width="84"> </td>
<td valign="top" width="85"> </td>
<td valign="top" width="84">
<p>+1</p>
</td>
<td valign="top" width="84">
<p align="center">+</p>
</td>
</tr>
<tr>
<td valign="top" width="84">
<p>Wool</p>
</td>
<td valign="top" width="84">
<p>CLOTH</p>
</td>
<td valign="top" width="84">
<p>10</p>
</td>
<td valign="top" width="84"> </td>
<td valign="top" width="85"> </td>
<td valign="top" width="84"> </td>
<td valign="top" width="84"> </td>
</tr>
<tr>
<td valign="top" width="84">
<p>Feathers</p>
</td>
<td valign="top" width="84">
<p>CLOTH</p>
</td>
<td valign="top" width="84">
<p>10</p>
</td>
<td valign="top" width="84"> </td>
<td valign="top" width="85"> </td>
<td valign="top" width="84"> </td>
<td valign="top" width="84"> </td>
</tr>
<tr>
<td valign="top" width="84">
<p>Cotton</p>
</td>
<td valign="top" width="84">
<p>CLOTH</p>
</td>
<td valign="top" width="84">
<p>5</p>
</td>
<td valign="top" width="84"> </td>
<td valign="top" width="85"> </td>
<td valign="top" width="84"> </td>
<td valign="top" width="84"> </td>
</tr>
<tr>
<td valign="top" width="84">
<p>Hemp</p>
</td>
<td valign="top" width="84">
<p>CLOTH</p>
</td>
<td valign="top" width="84">
<p>4</p>
</td>
<td valign="top" width="84"> </td>
<td valign="top" width="85"> </td>
<td valign="top" width="84"> </td>
<td valign="top" width="84"> </td>
</tr>
<tr>
<td valign="top" width="84">
<p>Silk</p>
</td>
<td valign="top" width="84">
<p>CLOTH</p>
</td>
<td valign="top" width="84">
<p>200</p>
</td>
<td valign="top" width="84"> </td>
<td valign="top" width="85"> </td>
<td valign="top" width="84"> </td>
<td valign="top" width="84"> </td>
</tr>
<tr>
<td valign="top" width="84">
<p>Hide</p>
</td>
<td valign="top" width="84">
<p>CLOTH</p>
</td>
<td valign="top" width="84">
<p>4</p>
</td>
<td valign="top" width="84"> </td>
<td valign="top" width="85"> </td>
<td valign="top" width="84"> </td>
<td valign="top" width="84"> </td>
</tr>
</tbody>
</table>
<br>
<br>
<table bgcolor="#ffff00" border="1" cellpadding="1" cellspacing="1" width="100%">
<tbody>
<tr>
<td valign="top" width="84">
<p><strong>Material</strong></p>
</td>
<td valign="top" width="84">
<p><strong>Type</strong></p>
</td>
<td valign="top" width="84">
<p><strong>Value</strong></p>
</td>
<td valign="top" width="84">
<p><strong>ATTACK</strong></p>
</td>
<td valign="top" width="85">
<p><strong>DAMAGE</strong></p>
</td>
<td valign="top" width="84">
<p><strong>ARMOR</strong></p>
</td>
<td valign="top" width="84">
<p><strong>Condition</strong></p>
</td>
</tr>
<tr>
<td valign="top" width="84">
<p>Glass</p>
</td>
<td valign="top" width="84">
<p>GLASS</p>
</td>
<td valign="top" width="84">
<p>10</p>
</td>
<td valign="top" width="84"> </td>
<td valign="top" width="85"> </td>
<td valign="top" width="84"> </td>
<td valign="top" width="84"> </td>
</tr>
<tr>
<td valign="top" width="84">
<p>Clay</p>
</td>
<td valign="top" width="84">
<p>GLASS</p>
</td>
<td valign="top" width="84">
<p>1</p>
</td>
<td valign="top" width="84">
<p>-20</p>
</td>
<td valign="top" width="85">
<p>-4</p>
</td>
<td valign="top" width="84">
<p>-2</p>
</td>
<td valign="top" width="84">
<p align="center">--</p>
</td>
</tr>
<tr>
<td valign="top" width="84">
<p>China</p>
</td>
<td valign="top" width="84">
<p>GLASS</p>
</td>
<td valign="top" width="84">
<p>30</p>
</td>
<td valign="top" width="84"> </td>
<td valign="top" width="85"> </td>
<td valign="top" width="84"> </td>
<td valign="top" width="84"> </td>
</tr>
<tr>
<td valign="top" width="84">
<p>Crystal</p>
</td>
<td valign="top" width="84">
<p>GLASS</p>
</td>
<td valign="top" width="84">
<p>10</p>
</td>
<td valign="top" width="84"> </td>
<td valign="top" width="85"> </td>
<td valign="top" width="84"> </td>
<td valign="top" width="84"> </td>
</tr>
<tr>
<td valign="top" width="84">
<p>Bone</p>
</td>
<td valign="top" width="84">
<p>GLASS</p>
</td>
<td valign="top" width="84">
<p>1</p>
</td>
<td valign="top" width="84">
<p>+20</p>
</td>
<td valign="top" width="85">
<p>+4</p>
</td>
<td valign="top" width="84">
<p>+2</p>
</td>
<td valign="top" width="84">
<p align="center">++</p>
</td>
</tr>
</tbody>
</table>
<br>
<br>
<table bgcolor="#ffff00" border="1" cellpadding="1" cellspacing="1" width="100%">
<tbody>
<tr>
<td valign="top" width="84">
<p><strong>Material</strong></p>
</td>
<td valign="top" width="84">
<p><strong>Type</strong></p>
</td>
<td valign="top" width="84">
<p><strong>Value</strong></p>
</td>
<td valign="top" width="84">
<p><strong>Condition</strong></p>
</td>
</tr>
<tr>
<td valign="top" width="84">
<p>Paper</p>
</td>
<td valign="top" width="84">
<p>PAPER</p>
</td>
<td valign="top" width="84">
<p>10</p>
</td>
<td valign="top" width="84"> </td>
</tr>
</tbody>
</table>
<br>
<br>
<table bgcolor="#ffff00" border="1" cellpadding="1" cellspacing="1" width="100%">
<tbody>
<tr>
<td valign="top" width="103">
<p><strong>Material</strong></p>
</td>
<td valign="top" width="79">
<p><strong>Type</strong></p>
</td>
<td valign="top" width="53">
<p><strong>Value</strong></p>
</td>
<td valign="top" width="78">
<p><strong>Condition</strong></p>
</td>
</tr>
<tr>
<td valign="top" width="103">
<p>Meat</p>
</td>
<td valign="top" width="79">
<p>FLESH</p>
</td>
<td valign="top" width="53">
<p>4</p>
</td>
<td valign="top" width="78"> </td>
</tr>
<tr>
<td valign="top" width="103">
<p>Beef</p>
</td>
<td valign="top" width="79">
<p>FLESH</p>
</td>
<td valign="top" width="53">
<p>6</p>
</td>
<td valign="top" width="78"> </td>
</tr>
<tr>
<td valign="top" width="103">
<p>Pork</p>
</td>
<td valign="top" width="79">
<p>FLESH</p>
</td>
<td valign="top" width="53">
<p>8</p>
</td>
<td valign="top" width="78"> </td>
</tr>
<tr>
<td valign="top" width="103">
<p>Poultry</p>
</td>
<td valign="top" width="79">
<p>FLESH</p>
</td>
<td valign="top" width="53">
<p>3</p>
</td>
<td valign="top" width="78"> </td>
</tr>
<tr>
<td valign="top" width="103">
<p>Mutton</p>
</td>
<td valign="top" width="79">
<p>FLESH</p>
</td>
<td valign="top" width="53">
<p>4</p>
</td>
<td valign="top" width="78"> </td>
</tr>
<tr>
<td valign="top" width="103">
<p>Fish</p>
</td>
<td valign="top" width="79">
<p>FLESH</p>
</td>
<td valign="top" width="53">
<p>5</p>
</td>
<td valign="top" width="78"> </td>
</tr>
<tr>
<td valign="top" width="103">
<p>Eggs</p>
</td>
<td valign="top" width="79">
<p>FLESH</p>
</td>
<td valign="top" width="53">
<p>2</p>
</td>
<td valign="top" width="78">
<p align="center">-</p>
</td>
</tr>
</tbody>
</table>
<br>
<br>
<table bgcolor="#ffff00" border="1" cellpadding="1" cellspacing="1" width="100%">
<tbody>
<tr>
<td valign="top" width="94">
<p><strong>Material</strong></p>
</td>
<td valign="top" width="85">
<p><strong>Type</strong></p>
</td>
<td valign="top" width="78">
<p><strong>Value</strong></p>
</td>
<td valign="top" width="83">
<p><strong>Condition</strong></p>
</td>
</tr>
<tr>
<td valign="top" width="94">
<p>Wheat</p>
</td>
<td valign="top" width="85">
<p>Vegetation</p>
</td>
<td valign="top" width="78">
<p>1</p>
</td>
<td valign="top" width="83"> </td>
</tr>
<tr>
<td valign="top" width="94">
<p>Corn</p>
</td>
<td valign="top" width="85">
<p>Vegetation</p>
</td>
<td valign="top" width="78">
<p>1</p>
</td>
<td valign="top" width="83"> </td>
</tr>
<tr>
<td valign="top" width="94">
<p>Rice</p>
</td>
<td valign="top" width="85">
<p>Vegetation</p>
</td>
<td valign="top" width="78">
<p>1</p>
</td>
<td valign="top" width="83"> </td>
</tr>
<tr>
<td valign="top" width="94">
<p>Carrots</p>
</td>
<td valign="top" width="85">
<p>Vegetation</p>
</td>
<td valign="top" width="78">
<p>1</p>
</td>
<td valign="top" width="83"> </td>
</tr>
<tr>
<td valign="top" width="94">
<p>Tomatoes</p>
</td>
<td valign="top" width="85">
<p>Vegetation</p>
</td>
<td valign="top" width="78">
<p>1</p>
</td>
<td valign="top" width="83"> </td>
</tr>
<tr>
<td valign="top" width="94">
<p>Peppers</p>
</td>
<td valign="top" width="85">
<p>Vegetation</p>
</td>
<td valign="top" width="78">
<p>1</p>
</td>
<td valign="top" width="83"> </td>
</tr>
<tr>
<td valign="top" width="94">
<p>Greens</p>
</td>
<td valign="top" width="85">
<p>Vegetation</p>
</td>
<td valign="top" width="78">
<p>1</p>
</td>
<td valign="top" width="83"> </td>
</tr>
<tr>
<td valign="top" width="94">
<p>Fruit</p>
</td>
<td valign="top" width="85">
<p>Vegetation</p>
</td>
<td valign="top" width="78">
<p>2</p>
</td>
<td valign="top" width="83"> </td>
</tr>
<tr>
<td valign="top" width="94">
<p>Apples</p>
</td>
<td valign="top" width="85">
<p>Vegetation</p>
</td>
<td valign="top" width="78">
<p>2</p>
</td>
<td valign="top" width="83"> </td>
</tr>
<tr>
<td valign="top" width="94">
<p>Berries</p>
</td>
<td valign="top" width="85">
<p>Vegetation</p>
</td>
<td valign="top" width="78">
<p>2</p>
</td>
<td valign="top" width="83"> </td>
</tr>
<tr>
<td valign="top" width="94">
<p>Oranges</p>
</td>
<td valign="top" width="85">
<p>Vegetation</p>
</td>
<td valign="top" width="78">
<p>2</p>
</td>
<td valign="top" width="83"> </td>
</tr>
<tr>
<td valign="top" width="94">
<p>Lemons</p>
</td>
<td valign="top" width="85">
<p>Vegetation</p>
</td>
<td valign="top" width="78">
<p>2</p>
</td>
<td valign="top" width="83"> </td>
</tr>
<tr>
<td valign="top" width="94">
<p>Grapes</p>
</td>
<td valign="top" width="85">
<p>Vegetation</p>
</td>
<td valign="top" width="78">
<p>3</p>
</td>
<td valign="top" width="83"> </td>
</tr>
<tr>
<td valign="top" width="94">
<p>Olives</p>
</td>
<td valign="top" width="85">
<p>Vegetation</p>
</td>
<td valign="top" width="78">
<p>2</p>
</td>
<td valign="top" width="83"> </td>
</tr>
<tr>
<td valign="top" width="94">
<p>Potatoes</p>
</td>
<td valign="top" width="85">
<p>Vegetation</p>
</td>
<td valign="top" width="78">
<p>1</p>
</td>
<td valign="top" width="83"> </td>
</tr>
<tr>
<td valign="top" width="94">
<p>Cactus</p>
</td>
<td valign="top" width="85">
<p>Vegetation</p>
</td>
<td valign="top" width="78">
<p>2</p>
</td>
<td valign="top" width="83"> </td>
</tr>
<tr>
<td valign="top" width="94">
<p>Dates</p>
</td>
<td valign="top" width="85">
<p>Vegetation</p>
</td>
<td valign="top" width="78">
<p>2</p>
</td>
<td valign="top" width="83"> </td>
</tr>
<tr>
<td valign="top" width="94">
<p>Seaweed</p>
</td>
<td valign="top" width="85">
<p>Vegetation</p>
</td>
<td valign="top" width="78">
<p>1</p>
</td>
<td valign="top" width="83"> </td>
</tr>
<tr>
<td valign="top" width="94">
<p>Cocoa</p>
</td>
<td valign="top" width="85">
<p>Vegetation</p>
</td>
<td valign="top" width="78">
<p>4</p>
</td>
<td valign="top" width="83"> </td>
</tr>
<tr>
<td valign="top" width="94">
<p>Barley</p>
</td>
<td valign="top" width="85">
<p>Vegetation</p>
</td>
<td valign="top" width="78">
<p>1</p>
</td>
<td valign="top" width="83"> </td>
</tr>
<tr>
<td valign="top" width="94">
<p>Mushrooms</p>
</td>
<td valign="top" width="85">
<p>Vegetation</p>
</td>
<td valign="top" width="78">
<p>1</p>
</td>
<td valign="top" width="83"> </td>
</tr>
<tr>
<td valign="top" width="94">
<p>Herbs</p>
</td>
<td valign="top" width="85">
<p>Vegetation</p>
</td>
<td valign="top" width="78">
<p>1</p>
</td>
<td valign="top" width="83"> </td>
</tr>
<tr>
<td valign="top" width="94">
<p>Sugar</p>
</td>
<td valign="top" width="85">
<p>Vegetation</p>
</td>
<td valign="top" width="78">
<p>1</p>
</td>
<td valign="top" width="83"> </td>
</tr>
<tr>
<td valign="top" width="94">
<p>Hops</p>
</td>
<td valign="top" width="85">
<p>Vegetation</p>
</td>
<td valign="top" width="78">
<p>2</p>
</td>
<td valign="top" width="83"> </td>
</tr>
<tr>
<td valign="top" width="94">
<p>Coffeebeans</p>
</td>
<td valign="top" width="85">
<p>Vegetation</p>
</td>
<td valign="top" width="78">
<p>2</p>
</td>
<td valign="top" width="83"> </td>
</tr>
</tbody>
</table>
<br>
<br>
<table bgcolor="#ffff00" border="1" cellpadding="1" cellspacing="1" width="100%">
<tbody>
<tr>
<td valign="top" width="86">
<p><strong>Material</strong></p>
</td>
<td valign="top" width="84">
<p><strong>Type</strong></p>
</td>
<td valign="top" width="84">
<p><strong>Value</strong></p>
</td>
<td valign="top" width="84">
<p><strong>Condition</strong></p>
</td>
</tr>
<tr>
<td valign="top" width="86">
<p>Freshwater</p>
</td>
<td valign="top" width="84">
<p>LIQUID</p>
</td>
<td valign="top" width="84">
<p>0</p>
</td>
<td valign="top" width="84"> </td>
</tr>
<tr>
<td valign="top" width="86">
<p>Saltwater</p>
</td>
<td valign="top" width="84">
<p>LIQUID</p>
</td>
<td valign="top" width="84">
<p>0</p>
</td>
<td valign="top" width="84"> </td>
</tr>
<tr>
<td valign="top" width="86">
<p>Drinkable</p>
</td>
<td valign="top" width="84">
<p>LIQUID</p>
</td>
<td valign="top" width="84">
<p>0</p>
</td>
<td valign="top" width="84"> </td>
</tr>
<tr>
<td valign="top" width="86">
<p>Milk</p>
</td>
<td valign="top" width="84">
<p>LIQUID</p>
</td>
<td valign="top" width="84">
<p>2</p>
</td>
<td valign="top" width="84"> </td>
</tr>
<tr>
<td valign="top" width="86">
<p>Blood</p>
</td>
<td valign="top" width="84">
<p>LIQUID</p>
</td>
<td valign="top" width="84">
<p>1</p>
</td>
<td valign="top" width="84"> </td>
</tr>
<tr>
<td valign="top" width="86">
<p>Lampoil</p>
</td>
<td valign="top" width="84">
<p>LIQUID</p>
</td>
<td valign="top" width="84">
<p>1</p>
</td>
<td valign="top" width="84">
<p align="center">+</p>
</td>
</tr>
<tr>
<td valign="top" width="86">
<p>Poison</p>
</td>
<td valign="top" width="84">
<p>LIQUID</p>
</td>
<td valign="top" width="84">
<p>1</p>
</td>
<td valign="top" width="84">
<p align="center">+</p>
</td>
</tr>
<tr>
<td valign="top" width="86">
<p>Liquor</p>
</td>
<td valign="top" width="84">
<p>LIQUID</p>
</td>
<td valign="top" width="84">
<p>10</p>
</td>
<td valign="top" width="84">
<p align="center">+</p>
</td>
</tr>
<tr>
<td valign="top" width="86">
<p>Honey</p>
</td>
<td valign="top" width="84">
<p>LIQUID</p>
</td>
<td valign="top" width="84">
<p>1</p>
</td>
<td valign="top" width="84">
<p align="center">+</p>
</td>
</tr>
<tr>
<td valign="top" width="86">
<p>Coffee</p>
</td>
<td valign="top" width="84">
<p>LIQUID</p>
</td>
<td valign="top" width="84">
<p>0</p>
</td>
<td valign="top" width="84"> </td>
</tr>
</tbody>
</table>
<br>
<br>
<table bgcolor="#ffff00" border="1" cellpadding="1" cellspacing="1" width="100%">
<tbody>
<tr>
<td valign="top" width="94">
<p><strong>Material</strong></p>
</td>
<td valign="top" width="92">
<p><strong>Type</strong></p>
</td>
<td valign="top" width="74">
<p><strong>Value</strong></p>
</td>
<td valign="top" width="83">
<p><strong>Condition</strong></p>
</td>
</tr>
<tr>
<td valign="top" width="94">
<p>Jade</p>
</td>
<td valign="top" width="92">
<p>PRECIOUS</p>
</td>
<td valign="top" width="74">
<p>50</p>
</td>
<td valign="top" width="83"> </td>
</tr>
<tr>
<td valign="top" width="94">
<p>Diamond</p>
</td>
<td valign="top" width="92">
<p>PRECIOUS</p>
</td>
<td valign="top" width="74">
<p>5000</p>
</td>
<td valign="top" width="83">
<p align="center">++++</p>
</td>
</tr>
<tr>
<td valign="top" width="94">
<p>Gem</p>
</td>
<td valign="top" width="92">
<p>PRECIOUS</p>
</td>
<td valign="top" width="74">
<p>1000</p>
</td>
<td valign="top" width="83">
<p align="center">--</p>
</td>
</tr>
<tr>
<td valign="top" width="94">
<p>Pearl</p>
</td>
<td valign="top" width="92">
<p>PRECIOUS</p>
</td>
<td valign="top" width="74">
<p>1000</p>
</td>
<td valign="top" width="83">
<p align="center">-</p>
</td>
</tr>
<tr>
<td valign="top" width="94">
<p>Opal</p>
</td>
<td valign="top" width="92">
<p>PRECIOUS</p>
</td>
<td valign="top" width="74">
<p>80</p>
</td>
<td valign="top" width="83"> </td>
</tr>
<tr>
<td valign="top" width="94">
<p>Amethyst</p>
</td>
<td valign="top" width="92">
<p>PRECIOUS</p>
</td>
<td valign="top" width="74">
<p>300</p>
</td>
<td valign="top" width="83"> </td>
</tr>
<tr>
<td valign="top" width="94">
<p>Garnet</p>
</td>
<td valign="top" width="92">
<p>PRECIOUS</p>
</td>
<td valign="top" width="74">
<p>70</p>
</td>
<td valign="top" width="83"> </td>
</tr>
<tr>
<td valign="top" width="94">
<p>Aquamarine</p>
</td>
<td valign="top" width="92">
<p>PRECIOUS</p>
</td>
<td valign="top" width="74">
<p>50</p>
</td>
<td valign="top" width="83"> </td>
</tr>
<tr>
<td valign="top" width="94">
<p>Topaz</p>
</td>
<td valign="top" width="92">
<p>PRECIOUS</p>
</td>
<td valign="top" width="74">
<p>200</p>
</td>
<td valign="top" width="83"> </td>
</tr>
<tr>
<td valign="top" width="94">
<p>Amber</p>
</td>
<td valign="top" width="92">
<p>PRECIOUS</p>
</td>
<td valign="top" width="74">
<p>80</p>
</td>
<td valign="top" width="83"> </td>
</tr>
<tr>
<td valign="top" width="94">
<p>Chrysoberyl</p>
</td>
<td valign="top" width="92">
<p>PRECIOUS</p>
</td>
<td valign="top" width="74">
<p>50</p>
</td>
<td valign="top" width="83"> </td>
</tr>
</tbody>
</table>
<br>
<br>
<p align="left"><u><b>Location
Layers</b></u></p>
<p align="left">Equipement
can be designated as undergarmets or
overgarments by a system of layers. The normal layer of clothing is
designated the 0 layer. Negative layers are underclothing, while
positive layers are overclothing. Coffeemud supports up to 32767
layers, but it is not recommended to allow such latitude in your games.
Your players will become walking department stores. The methodology
recommended by the Coffeemud staff (and utilized in the crafting
skills) is listed below. Clothing must be applied from the lowest layer
to the highest layer, and removed in reverse order.<br>
</p>
<p align="left">To apply a
Layer to a worn item in the common skills
list (or GenRecipe), you add the layer number followed by a colon prior
to the wearlocation (but in the same column as the wear location). An
example would be a doublet, worn on the torso would be shown as
1:TORSO. The default location (0) is implicitly understood, so a shirt
would be written as TORSO (no colon needed).<br>
</p>
<p align="left">Clothing in
adjacent layer numbers can not be worn
together (that is, a layer 1 clothing doesn&#8217;t fit on top of a
layer 0 clothing, but will fit over a layer -1 clothing).<br>
There are two special flags for clothing, Multiwear (M) and Seethru
(S). Multiwear allows the item to be worn in the same (or even
adjacent) layers as other clothing. A badge that is M1:TORSO could be
worn after the character is already wearing a shirt that is 0:TORSO or
a doublet that is 1:TORSO. Additionally, Multiple badges of that nature
could be worn at the same time. Seethru allows the clothing to not
obscure lower-layered clothing. In the case of our badge, if we made it
MS1:TORSO, you would be able to see the shirt underneath it. If it was
just M1:TORSO, you would only see the badge(s) worn, not the shirt
underneath.<br>
</p>
<table bgcolor="#ffff00" border="1" cellpadding="1" cellspacing="1">
<tbody>
<tr>
<td valign="top" width="79"><b>Layer</b>
</td>
<td valign="top" width="480"><b>Examples</b>
</td>
</tr>
<tr>
<td valign="top" width="79">-5</td>
<td valign="top" width="480">Tattoo,
piercing</td>
</tr>
<tr style="">
<td valign="top" width="79">-4</td>
<td valign="top" width="480">Hose,
leotards, Hairpieces</td>
</tr>
<tr>
<td valign="top" width="79">-3</td>
<td valign="top" width="480">Socks,
Underwear, panties, bras,
corsets, garder belts, jewelry</td>
</tr>
<tr>
<td valign="top" width="79">-2</td>
<td valign="top" width="480">Tshirts,
Camise, nightshirts, collars</td>
</tr>
<tr>
<td valign="top" width="79">-1<br>
</td>
<td valign="top" width="480">Normal
clothes</td>
</tr>
<tr>
<td valign="top" width="79">0<br>
</td>
<td valign="top" width="480">Normal
Leather and Chain Armors,
mitts, *DEFAULT*</td>
</tr>
<tr>
<td valign="top" width="79">1<br>
</td>
<td valign="top" width="480">Normal
Plate armors, coats, jackets,
boots</td>
</tr>
<tr>
<td valign="top" width="79">2<br>
</td>
<td valign="top" width="480">Cloaks,Robes,
scarf,
overcoat,trenchcoat, cowls</td>
</tr>
<tr>
<td valign="top" width="79">3<br>
</td>
<td valign="top" width="480">Sleeping
Bags, body bags, Heaumes,
Golashes</td>
</tr>
</tbody>
</table>
<br>
<br>
<br>
<p><a name="appd"><strong><font color="#008000" size="5">Appendix D:
Index</font></strong></a></p>
<table border="1" cellpadding="0" cellspacing="0" width="100%">
<tbody>
<tr>
<td bgcolor="lightpink" width="20%"><b><font color="black">Rooms</font></b></td>
<td bgcolor="lightgreen" width="20%"><b><font color="black">Exits</font></b></td>
<td bgcolor="lightblue" width="20%"><b><font color="black">MOBs</font></b></td>
<td bgcolor="lightyellow" width="20%"><b><font color="black">Items</font></b></td>
<td bgcolor="lightgrey" width="20%"><b><font color="black">Misc</font></b></td>
</tr>
<tr>
<td bgcolor="lightpink"><a href="#rooms"><font color="black">Introduction</font></a></td>
<td bgcolor="lightgreen"><a href="#exits"><font color="black">Introduction</font></a></td>
<td bgcolor="lightblue"><a href="#mobintro"><font color="black">Introduction</font></a></td>
<td bgcolor="lightyellow"><a href="#itemintro"><font color="black">Introduction</font></a></td>
<td bgcolor="lightgrey"><a href="#construct"><font color="black">Construction</font></a></td>
</tr>
<tr>
<td bgcolor="lightpink"><a href="#roomcreate"><font color="black">Creating</font></a></td>
<td bgcolor="lightgreen"><a href="#exitcreate"><font color="black">Creating</font></a></td>
<td bgcolor="lightblue"><a href="#mobcreate"><font color="black">Creating</font></a></td>
<td bgcolor="lightyellow"><a href="#itemcreate"><font color="black">Creating</font></a></td>
<td bgcolor="lightgrey"><a href="#admin"><font color="black">Administration</font></a></td>
</tr>
<tr>
<td bgcolor="lightpink"><a href="#modrooms"><font color="black">Modifying</font></a></td>
<td bgcolor="lightgreen"><a href="#modexits"><font color="black">Modifying</font></a></td>
<td bgcolor="lightblue"><a href="#modmobs"><font color="black">Modifying</font></a></td>
<td bgcolor="lightyellow"><a href="#moditems"><font color="black">Modifying</font></a></td>
<td bgcolor="lightgrey"><a href="#security"><font color="black">Security</font></a></td>
</tr>
<tr>
<td bgcolor="lightpink"><a href="#xrooms"><font color="black">Destroying</font></a></td>
<td bgcolor="lightgreen"><a href="#xexits"><font color="black">Destroying</font></a></td>
<td bgcolor="lightblue"><a href="#xmobs"><font color="black">Destroying</font></a></td>
<td bgcolor="lightyellow"><a href="#xitems"><font color="black">Destroying</font></a></td>
<td bgcolor="lightgrey"><a href="#planning"><font color="black">Planning</font></a></td>
</tr>
<tr>
<td bgcolor="lightpink"><a href="#linkrooms"><font color="black">Linking</font></a></td>
<td bgcolor="lightgreen"><a href="#genexit"><font color="black">GenExits</font></a></td>
<td bgcolor="lightblue"><a href="#eqmobs"><font color="black">Equipping</font></a></td>
<td bgcolor="lightyellow"><a href="#arctools"><font color="black">Archon
Tools</font></a></td>
<td bgcolor="lightgrey"><a href="#creation"><font color="black">Creation</font></a></td>
</tr>
<tr>
<td bgcolor="lightpink"><a href="#unlinkrooms"><font color="black">Unlinking</font></a></td>
<td bgcolor="lightgreen"><a href="#genexit"><font color="black">GenDoors</font></a></td>
<td bgcolor="lightblue"><a href="ArchonGuide.html#racecreate"><font><font color="black">Races</font></font></a></td>
<td bgcolor="lightyellow"><a href="#"><font style="background-color: rgb(255, 255, 255);" color="black"><br>
</font></a> </td>
<td bgcolor="lightgrey"><a href="#areas"><font color="black">Areas</font></a></td>
</tr>
<tr>
<td bgcolor="lightpink"><a href="#saving"><font color="black">Saving</font></a></td>
<td bgcolor="lightgreen"><a href="#"><font color="black"><br>
</font></a> </td>
<td bgcolor="lightblue"><a href="#racecreate"><font color="black"><br>
</font></a> </td>
<td bgcolor="lightyellow"><a href="#"><font color="black"><br>
</font></a> </td>
<td bgcolor="lightgrey"><a href="#catalog"><font color="black">Catalog<br>
</font></a> </td>
</tr>
</tbody>
</table>
<p><strong><font color="green" size="3">Generic
Item Types
(GenItems)</font></strong></p>
<table bgcolor="lightyellow" border="1" cellpadding="0" cellspacing="0" width="100%">
<tbody>
<tr>
<td width="20%"> <a href="#geni6"><font color="black">GenAmmunition</font></a> </td>
<td width="20%"> <a href="#geni7"><font color="black">GenArmor</font></a> </td>
<td> <a href="#geniboe"><font color="black">GenBagOfEndlessness</font></a>
</td>
<td width="20%"> <a href="#geni8"><font color="black">GenBed</font></a> </td>
</tr>
<tr>
<td width="20%"> <a href="#geni8"><font color="black">GenBoat</font></a> </td>
<td width="20%"> <a href="#geni4"><font color="black">GenBoffWeapon</font></a> </td>
<td> <a href="#geni4"><font color="black">GenBow</font></a>
</td>
<td> <a href="#geni5"><font color="black">GenCage</font></a>
</td>
</tr>
<tr>
<td> <a href="#geni8"><font color="black">GenCageRideable</font></a>
</td>
<td> <a href="#geni8"><font color="black">GenChair</font></a>
</td>
<td> <a href="#geni2"><font color="black">GenCigar</font></a>
</td>
<td> <a href="#geni21"><font color="black">GenClanCommonContainer</font></a>
</td>
</tr>
<tr>
<td> <a href="#geni21"><font color="black">GenClanCommonItem</font></a>
</td>
<td> <a href="#geni21"><font color="black">GenClanContainer</font></a>
</td>
<td> <a href="#geni21"><font color="black">GenClanFlag</font></a>
</td>
<td> <a href="#geni21"><font color="black">GenClanItem</font></a>
</td>
</tr>
<tr>
<td> <a href="#geni21"><font color="black">GenClanPamphlet</font></a>
</td>
<td> <a href="#geni21"><font color="black">GenClanSpecialItem</font></a>
</td>
<td> <a href="#geni26"><font color="black">GenCloak</font></a>
</td>
<td> <a href="#geni0"><font color="black">GenCoins</font></a>
</td>
</tr>
<tr>
<td> <a href="#geni5"><font color="black">GenContainer</font></a>
</td>
<td> <a href="#geni5"><font color="black">GenCorpse</font></a>
</td>
<td> <a href="#geni27"><font color="black">GenDice</font></a>
</td>
<td> <a href="#geni9"><font color="black">GenDrink</font></a>
</td>
</tr>
<tr>
<td> <a href="#geni7-2"><font color="black">GenEarrings<br>
</font></a> </td>
<td> <a href="#geni1"><font color="black">GenFixture</font></a>
</td>
<td> <a href="#geni9"><font color="black">GenFood</font></a>
</td>
<td> <a href="#geni9"><font color="black">GenFoodResource</font></a>
</td>
</tr>
<tr>
<td> <a href="#geni9"><font color="black">GenFountain</font></a>
</td>
<td> <a href="#geni8"><font color="black">GenFurniture</font></a>
</td>
<td> <a href="#geni23"><font color="black">GenInstrument</font></a>
</td>
<td> <a href="#geni1"><font color="black">GenItem</font></a>
</td>
</tr>
<tr>
<td> <a href="#geni3"><font color="black">GenJournal</font></a>
</td>
<td> <a href="#geni12"><font color="black">GenKey</font></a>
</td>
<td> <a href="#geni2"><font color="black">GenLantern</font></a>
</td>
<td> <a href="#geni4"><font color="black">GenLasso</font></a>
</td>
</tr>
<tr>
<td> <a href="#geni19"><font color="black">GenLawBook</font></a>
</td>
<td> <a href="#geni2"><font color="black">GenLightSource</font></a>
</td>
<td> <a href="#geni24"><font color="black">GenLimb</font></a>
</td>
<td> <a href="#geni9"><font color="black">GenLiquidResource</font></a>
</td>
</tr>
<tr>
<td> <a href="#geni11"><font color="black">GenMap</font></a>
</td>
<td> <a href="#geni1"><font color="black">GenMirror</font></a>
</td>
<td> <a href="#geni15"><font color="black">GenMultiPotion</font></a>
</td>
<td> <a href="#geni4"><font color="black">GenNet</font></a>
</td>
</tr>
<tr>
<td> <a href="#geni10"><font color="black">GenPerfume</font></a>
</td>
<td> <a href="#geni23"><font color="black">GenPiano</font></a>
</td>
<td> <a href="#geni15"><font color="black">GenPill</font></a>
</td>
<td> <a href="#geni2"><font color="black">GenPipe</font></a>
</td>
</tr>
<tr>
<td> <a href="#geni20"><font color="black">GenPortal</font></a>
</td>
<td> <a href="#geni15"><font color="black">GenPotion</font></a>
</td>
<td> <a href="#geni15"><font color="black">GenPowder</font></a>
</td>
<td> <a href="#geni1"><font color="black">GenReadable</font></a>
</td>
</tr>
<tr>
<td> <a href="#geni25"><font color="black">GenRecipe</font></a>
</td>
<td> <a href="#geni1"><font color="black">GenResource</font></a>
</td>
<td> <a href="#geni8"><font color="black">GenRideable</font></a>
</td>
<td> <a href="#geni7-3"><font color="black">GenSailingShip<br>
</font></a> </td>
</tr>
<tr>
<td> <a href="#geni28"><font color="black">GenScale<br>
</font></a> </td>
<td> <a href="#geni17"><font color="black">GenScroll</font></a>
</td>
<td> <a href="#geni7"><font color="black">GenShield</font></a>
</td>
<td> <a href="#geni4"><font color="black">GenSling</font></a>
</td>
</tr>
<tr>
<td> <a href="#geni4"><font color="black">GenSpear</font></a>
</td>
<td> <a href="#geni13"><font color="black">GenStaff</font></a>
</td>
<td> <a href="#geni16"><font color="black">GenSuperPill</font></a>
</td>
<td> <a href="#geni8"><font color="black">GenTable</font></a>
</td>
</tr>
<tr>
<td> <a href="#geni7-2"><font color="black">GenThinArmor<br>
</font></a> </td>
<td> <a href="#geni18"><font color="black">GenTitle</font></a>
</td>
<td> <a href="#geni8"><font color="black">GenTub</font></a>
</td>
<td> <a href="#geni9"><font color="black">GenTub</font></a>
</td>
</tr>
<tr>
<td> <a href="#geni22"><font color="black">GenWallpaper</font></a>
</td>
<td> <a href="#geni14"><font color="black">GenWand</font></a>
</td>
<td> <a href="#geni9"><font color="black">GenWater</font></a>
</td>
<td> <a href="#geni4"><font color="black">GenWeapon</font></a>
</td>
</tr>
</tbody>
</table>
<p><strong><font color="green" size="3">Generic
MOB Types
(GenMOBs)</font></strong></p>
<table bgcolor="lightblue" border="1" cellpadding="0" cellspacing="0" width="100%">
<tbody>
<tr>
<td width="20%"><a href="#genm1"><font color="black">GenMob</font></a></td>
<td width="20%"><a href="#genm1"><font color="black">GenUndead</font></a></td>
<td width="20%"><a href="#genm2"><font color="black">GenShopKeeper</font></a></td>
<td width="20%"><a href="#genm3"><font color="black">GenBanker</font></a></td>
<td width="20%"><a href="#genm4"><font color="black">GenRideable</font></a></td>
</tr>
<tr>
<td width="20%"><a href="#genm5"><font color="black">GenDeity</font></a></td>
<td width="20%"><a href="#genm6"><font color="black">GenPostman</font></a></td>
<td width="20%"><a href="#genma"><font color="black">GenAuctioneer<br>
</font></a> </td>
<td width="20%"><a href="#genm7"><font color="black">GenLibrarian<br>
</font></a> </td>
<td width="20%"><a href="#gencow"><font color="black">GenCow<br>
</font></a> </td>
</tr>
</tbody>
</table>
<p><strong><font color="green" size="3">Appendices</font></strong></p>
<table bgcolor="lightgrey" border="1" cellpadding="0" cellspacing="0" width="100%">
<tbody>
<tr>
<td width="33%"><a href="#appa"><font color="black">Appendix A
(StdItems)</font></a></td>
<td width="33%"><a href="#appb"><font color="black">Appendix B
(StdMOBS)</font></a></td>
<td width="33%"><a href="#appc"><font color="black">Appendix C
(GenWeapons / GenArmor)</font></a></td>
</tr>
</tbody>
</table>
</body></html>