<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>
Builders FAQ
</title>
<link rel="StyleSheet" href="style.css" type="text/css" media="screen" />
<!-- Modified by Josh Mueller, 2006-05-05, fix valiadation problems, add index, hyperlink questions, remove duplicates, and fix spelling errors -->
</head>
<body>
<center><table width=90% cellpadding=10 cellspacing=0 border=1 bordercolor=gray><tr>
<td width=100% colspan=2 bgcolor=#DFDFDF align=left>
<h1>
The Builders F.A.Q.
</h1>
<h2>
CoffeeMud 5.2
</h2>
</td></tr><tr><td width=20% valign=top align=left>
<ul>
<li>
<a href="#questions">Questions</a>
</li>
<li>
<a href="#answers">Answers</a>
</li>
</ul>
</td><td valign=top align=left>
<p>
This FAQ is a supplement to the <a href=
"InstallationGuide.html">Installation Guide</a> and the <a href=
"ArchonGuide.html">Archon's Guide</a> included in this package.
This FAQ was written and compiled by Jeremy Vyska and Bo Zimmerman
with assistance from many of the helpful members of the CoffeeMud
Yahoo Group.
</p><a name="questions" id="questions"> </a>
<ul>
<li>
<a href="#q00">What should I know to run a CoffeeMud?</a>
</li>
<li>
<a href="#q01">Can I add Northeast, southwest, etc? What supports
it?</a>
</li>
<li>
<a href="#q02">Where do suggestions, questions, and bugs go?</a>
</li>
<li>
<a href="#q03">Does CoffeeMud support Remorting?</a>
</li>
<li>
<a href="#q04">Does CoffeeMud have a Building Port?</a>
</li>
<li>
<a href="#q05">Does CoffeeMud have any other combat options
besides normal and QUEUE?</a>
</li>
<li>
<a href="#q06">What databases can CoffeeMud work with?</a>
</li>
<li>
<a href="#q07">How do Clans work?</a>
</li>
<li>
<a href="#q08">What does Hunger/Thirst/Fatigue affect?</a>
</li>
<li>
<a href="#q09">Can I make rooms available for players to
purchase?</a>
</li>
<li>
<a href="#q10">How can I make mobs talk/answer questions?</a>
</li>
<li>
<a href="#q11">How do player Tattoos work?</a>
</li>
<li>
<a href="#q12">How do I make poisonous drinks?</a>
</li>
<li>
<a href="#q13">How do I make other Archons?</a>
</li>
<li>
<a href="#q14">How do I make materials that the Common Skills can
use?</a>
</li>
<li>
<a href="#q15">Why don't my aggressive mobs attack me?</a>
</li>
<li>
<a href="#q16">Why don't my mobile/patrolling mobs move?</a>
</li>
<li>
<a href="#q17">How do I import CoffeeMud areas (*.cmare)?</a>
</li>
<li>
<a href="#q18">How do I import ROM/Circle/other areas
(*.are)?</a>
</li>
<li>
<a href="#q19">Why isn't my variable equipment working?</a>
</li>
<li>
<a href="#q20">How do I make a Classless version of
CoffeeMud?</a>
</li>
<li>
<a href="#q21">How do I make a Levelless version of
CoffeeMud?</a>
</li>
<li>
<a href="#q22">How do I make a Levelless AND Experience Pointless
version of CoffeeMud?</a>
</li>
<li>
<a href="#q23">How do I make a Raceless version of CoffeeMud?</a>
</li>
<li>
<a href="#q24">How do I make an item that never loses
Condition?</a>
</li>
<li>
<a href="#q25">How can I make food that doesn't rot?</a>
</li>
<li>
<a href="#q26">Whats coming down the road for CoffeeMud?</a>
</li>
<li>
<a href="#q27">Whats with the Space Ship Stuff?</a>
</li>
<li>
<a href="#q28">Whats with the Heroics and Technical settings on
Areas, Classes, and Races?</a>
</li>
<li>
<a href="#q29">Whats with the Electronics stuff?</a>
</li>
<li>
<a href="#q30">How do I make a mob that doesn't rejuv after he is
killed?</a>
</li>
<li>
<a href="#q31">Does CoffeeMud have an Overland Map ability?</a>
</li>
<li>
<a href="#q32">How do I make a particular resource available for
Foraging/Chopping/etc in a particular room?</a>
</li>
<li>
<a href="#q33">Can players have their own shops?</a>
</li>
<li>
<a href="#q34">Can clans buy healers and such?</a>
</li>
</ul>
<a name="answers" id="answers"> </a>
<h3>
<a name="q00" id="q00">What should I know to run a CoffeeMud?</a>
</h3>
<p>
Well, for starters, if you're going to run it on your computer and
you don't know how to setup a firewall with port forwarding, you
will have a tough time (and our group isn't *really* a network
support group, so we're not top-notch at helping folks with their
network troubles).
</p>
<p>
Secondly, if you plan to do anything clever, different, or
otherwise doing anything that isn't using what is within the system
already, you will either need to know some basic Java coding OR be
able to bribe a Java savvy friend with beer.
</p>
<p>
You should also have some idea about what you want to have in your
game. Yes, I know this sounds obvious, but it gets overlooked.
CoffeeMud supports Fantasy based games, so you will want to bear
that in mind. In progress is support for Sci-Fi games, but it is a
work in progress that is in its early stages.
</p>
<h3>
<a name="q01" id="q01">Can I add Northeast, southwest, etc? What
supports it?</a>
</h3>
<p>
Yes, haven't you read the INI help descriptions yet? DIRECTIONS=7
can be changed to DIRECTIONS=11, thereby enabling Northeast,
Northwest, southeast, and southwest.
</p>
<h3>
<a name="q02" id="q02">Where do suggestions, questions, and bugs
go?</a>
</h3>
<p>
Well, best bet for questions, suggestions, and bugs is to email
<a href=
"mailto:coffeemud@yahoogroups.com">coffeemud@yahoogroups.com</a>.
Many times people will expand on suggestions or have fixes for bugs
for you pretty quickly.
</p>
<h3>
<a name="q03" id="q03">Does CoffeeMud support Remorting?</a>
</h3>
<p>
Yes, in its own way. Here is the HELP REMORT entry:
</p>
<p>
Remorting requires careful planning and, if you don't have the
benefits of certain Druidic chants, lots of time. Remorting is done
through your children. Children are created by using the MATE
social with a member of the opposite sex while the both of you are
suitably undressed. If pregnancy occurs in the female, birth will
occur some 10 mud-months following this. The child should remain in
the mothers inventory until it can walk, which occurs 9 mud- months
following birth. If the child is Christened by a Cleric with a
player legal name, and if the child remains as a follower of either
the father or the mother until it grows up, it will become a
player, which occurs 18-27 mud-months after birth. If the child
does not remain an active follower, or if it is never Christened,
it will grow up to be a mob, or perhaps not grow up at all! Should
the named child grow up, the child will cease to be a following
mob, and become a player which can be logged-in as. The child may
be a mixed breed of the mother and father if one of them is a Human
and the other is not. Racial benefits will be split between the
mother and father, though children will have a bonus to their
maximum stats when they become a player, making them a good choice
for playing!
</p>
<p>
If you are looking for that traditional remort concept revolving
around classes, it is not supported. But you can accomplish that
through setting the INI CLASSYSTEM=MULTI, then do a bit of code
changing within your class files. For example, you might have
'Super Wizard' or something. In that class file:
</p>
<pre>
public boolean qualifiesForThisClass(MOB mob, boolean quiet)
{
if((mob.charStats().getClassLevel("Wizard")<30)
&&(mob.charStats().getClassLevel("Power Wizard")<30))
{
if(!quiet)
mob.tell("You aren't a master of wizardry yet.");
return false;
}
return true;
}
</pre>
<p>
In that case, the player would have to have 30 levels in both
"Wizard" and "Power Wizard" to qualify for the "Super Wizard"
CharClass.
</p>
<h3>
<a name="q04" id="q04">Does CoffeeMud have a Building Port?</a>
</h3>
<p>
No, there is no separate port for world content creation. All
building tools are on-line realtime. It is easy to export and
import areas, so you can run more than one copy. This can be
essential if you are also making coding changes, which will often
require reboots.
</p>
<h3>
<a name="q05" id="q05">Does CoffeeMud have any other combat options
besides normal and QUEUE?</a>
</h3>
<p>
Not as part of the base code. However, Matthew
(roguestar191@comcast.net), a member of the CoffeeMud Yahoo Group,
has developed a patch that enables more flexibility in combat
control. It can be found in the Files section at
http://games.groups.yahoo.com/group/CoffeeMud/files/
</p>
<h3>
<a name="q06" id="q06">What databases can CoffeeMud work with?</a>
</h3>
<p>
Anything ODBC friendly. It comes with a flat file system called
FakeDB so you don't have to setup a database if you want. However,
products like MySQL and HSQLDB make the system run much faster.
</p>
<h3>
<a name="q07" id="q07">How do Clans work?</a>
</h3>
<p>
First, you need to use the clancreate command to create a new clan.
You have to get at least MINCLANMEMBERS amount of new members
before it will activate you (Set in the INI file). Activation means
you will be visible in the listing, can buy land for the clan, can
have clan bank accounts, and can hire mobs, as well as have
politics with others.
</p>
<p>
Once you've made your clan, people can 'clanapply' to the clan. Of
course, the person has to be at least level MINCLANLEVEL (Set in
the INI file). 'clanapply' can be done even if you're the only one
online. Clan bosses can set qualifications to the clan with the
'clanqual' command and both bosses and leaders will see new
applicants in their 'clandetails' screen, at which point, they can
'clanaccept' or 'clanreject' the player (regardless of online
status). Clan bosses can also 'clanassign' people roles, such as
treasurer, leader, or even boss. Clan bosses and leaders may, at
any time, 'clanexile' a member - as well as members can
'clanresign'
</p>
<p>
Once you're accepted into a clan, you can use the clantalk channel
to talk to your clan, as well as use the 'Clan Home' and 'Clan
Donate' spells. The 'clanhome' location and the 'clandonate'
location can be set by bosses using the 'clanhomeset' and
'clandonateset' commands. Clan morgues can be designated with the
'clanmorgueset' command. Bosses and treasurers may deal with any
Clan bankers and Clan Postmen in your game. If MINCLANMEMBERS don't
at least login in DAYSCLANDEATH days, then the clan will be purged
automatically.
</p>
<h3>
<a name="q08" id="q08">What does Hunger/Thirst/Fatigue affect?</a>
</h3>
<p>
Neglecting to eat or drink can put a player into a state of hunger
or thirst respectively. Failing to sleep for days on end can cause
fatigue. Each of these will lower attack rating, armor rating, and
damage capabilities. Hunger and Thirst will also decrease the rate
at which hit points, movement, and mana are regained. Lastly,
remaining Hungry or Thirsty for too long will result in death,
though there will be plenty of warnings from the system before it
happens.
</p>
<h3>
<a name="q09" id="q09">Can I make rooms available for players to
purchase? Can players have homes?</a>
</h3>
<p>
Yes. And there are a ton of ways to do it. The most common way is
to create a special Area for player homes, put some rooms in it
which you want to be for sale, and then add either
Prop_RoomForSale, Prop_RoomsForSale or Prop_LotsForSale to each
room as a property. Then, in the same area (but not in one of your
rooms for sale!), put a shopkeeper that sells either Clan
Homes/Land or Player Homes/Land. This will force the shopkeeper to
keep an updated inventory of titles to rooms available for sale.
</p>
<h3>
<a name="q10" id="q10">How can I make mobs talk/answer
questions?</a>
</h3>
<p>
Luckily, a great document has already been provided for the useful
things which can be accomplished with the MudChat behavior.
<a href="MudChat.html">Here it is.</a>
</p>
<h3>
<a name="q11" id="q11">How do player Tattoos work?</a>
</h3>
<p>
Tattoo's are intended to act as miscellaneous flags which players
may obtain, like a quest point. These tattoo's can then be checked
for as requirements to enter rooms or exits using Prop_ReqTattoo,
or using Prop_ReqEntry. Prop_HaveZapper and Prop_WearZapper can
also be used to check for tattoos.
</p>
<p>
An example would be like this: The completion of a specific quest
occurs when Gunther defeats the evil sorcerer Nunder and enters his
inner chamber (where all the treasure is hidden). Entering this
inner chamber automatically grants Gunther a Tatto called
"NUNDERKILLER" because Prop_TattooAdder was on the room as a
property. Now, elsewhere in the realm is the second quest where
Nunder's apprentice has escaped with an ancient artifact and is up
to no good. However, to even ENTER the area where Nunder's
apprentice is operating, the system (via the Prop_ReqTattoo
property on this other Area) requires that Gunther already have the
"NUNDERKILLER" Tattoo. If Gunther had not defeated Nunder, he would
not be allowed into the realm of Nunder's apprentice.
</p>
<h3>
<a name="q12" id="q12">How do I make poisonous drinks?</a>
</h3>
<p>
The best way to "mix a drink" is to make a GenPotion item, and add
the relevant Poison_* as the potion spell effect. Another way is to
make a GenDrink item, add the Poison_ as an effect.
</p>
<h3>
<a name="q13" id="q13">How do I make other Archons?</a>
</h3>
<p>
Using your existing Archon, issue the command "create item
ManualArchon". Then have your other player get the manual and read
it.
</p>
<h3>
<a name="q14" id="q14">How do I make materials that the Common
Skills can use?</a>
</h3>
<p>
Make sure you create a GenResource, GenLiquidResource, or
GenFoodResource item. Only items of this sort will be recognized as
raw materials by the common skills.
</p>
<h3>
<a name="q15" id="q15">Why don't my aggressive mobs attack me?</a>
</h3>
<p>
Aggressive mobs don't attack Archons, or anyone else with CMDROOMS
or ORDER security privileges.
</p>
<h3>
<a name="q16" id="q16">Why don't my mobile/patrolling mobs
move?</a>
</h3>
<p>
Mobile mobs will not move if an Archon, or anyone else with
CMDROOMS or ORDER security privileges is the in the same room as
them.
</p>
<h3>
<a name="q17" id="q17">How do I import CoffeeMud areas
(*.cmare)?</a>
</h3>
<h3>
<a name="q18" id="q18">How do I import ROM/Circle/other areas
(*.are)?</a>
</h3>
<p>
Check out the IMPORT command.
</p>
<h3>
<a name="q19" id="q19">Why isn't my variable equipment working?</a>
</h3>
<p>
Equipment which is placed on a mob and designated as variable will
not disappear so long as an Archon, or anyone else with CMDROOMS or
ORDER security privileges is the in the same room as them.
</p>
<h3>
<a name="q20" id="q20">How do I make a Classless version of
CoffeeMud?</a>
</h3>
<p>
The CoffeeMud.ini file has a parameter called DISABLE. If CLASSES
is added to the disable parameter, then CoffeeMud will skip the
class selection process at logon, and automatically set the player
to the normally dormant class called "PlayerClass". This class, by
default, qualifies for all skills. If you'd like to have the
PlayerClass qualify for only a certain subset of skills, you will
need to either modify PlayerClass.java, or create a new
GenCharClass called "PlayerClass" and give it your own set of
skills to qualify for. If you want, you can create certain races
for which there is no character class by setting the CLASSLESS flag
within your GenRace or custom coded Race.
</p>
<p>
This will also skip the class selection process for new players,
and automatically select a class which (despite the DISABLE flag)
the race qualifies for. See StdRace.java for how to code the
classless() flag in races. See the section on GenCharClasses above
for information on racial class qualifying.
</p>
<h3>
<a name="q21" id="q21">How do I make a Levelless version of
CoffeeMud</a>
</h3>
<p>
The CoffeeMud.ini file has a parameter called DISABLE. If LEVELS is
added to the disable parameter, then CoffeeMud will not allow any
player to gain or lose levels, either magically or through normal
means, despite any experience points that may be gained or lost.
Individual classes and races can also be designated as being
"levelless" through either coding custom classes and races, or
through the GenRace/GenCharClass creation process. See StdRace.java
or StdCharClass.java for how to code the classless() flag in java.
See the section on GenCharClasses or GenRaces above for information
on how to do it through that interface. Note that adding LEVELS to
the DISABLE flag does not prevent gaining or losing experience, but
just the leveling consequences.
</p>
<h3>
<a name="q22" id="q22">How do I make a Levelless AND Experience
Pointless version of CoffeeMud?</a>
</h3>
<p>
<strong>A.</strong> The CoffeeMud.ini file has a parameter called
DISABLE. If EXPLESS and LEVELS are added to the disable parameter,
then CoffeeMud will not allow any player to gain or lose experience
points or levels, either magically or through normal means.
Individual classes and races can also be designated as being
"levelless" and "expless" through either coding custom classes and
races, or through the GenRace/GenCharClass creation process. See
StdRace.java or StdCharClass.java for how to code the classless()
and expless() flags in java. See the section on GenCharClasses or
GenRaces above for information on how to do it through that
interface.
</p>
<h3>
<a name="q23" id="q23">How do I make a Raceless version of
CoffeeMud?</a>
</h3>
<p>
The CoffeeMud.ini file has a parameter called DISABLE. If RACES is
added to the disable parameter, then CoffeeMud will skip the race
selection process at logon, and automatically set the player to the
normally dormant class called "PlayerRace". Individual classes can
also be designated as being "raceless" through either coding custom
classes , or through the GenCharClass creation process. See
StdCharClass.java for how to code the raceless() flag in java. See
the section on GenCharClasses above for information on how to do it
through that interface.
</p>
<h3>
<a name="q24" id="q24">How do I make an item that never loses
Condition?</a>
</h3>
<p>
There are a couple of ways. One is to place Chant_Unbreakable on
the item as permanent Effect. Another way is to change the items
Magical Ability score, and turn on its Is Magical disposition flag
on. This will make the item more resistant to mundane damage.
</p>
<h3>
<a name="q25" id="q25">How can I make food that doesn't rot?</a>
</h3>
<p>
The only kinds of food that rot are those from the class
GenFoodResource, which are materials FLESH or VEGETATION. The
easiest way to make food that doesn't spoil then is to make it out
of GenFood instead of GenFoodResource, or to change its material
from FLESH or VEGETATION to something else. Another way is to make
the resource magical by turning on its Is Magical disposition flag.
</p>
<h3>
<a name="q26" id="q26">Whats coming down the road for
CoffeeMud?</a>
</h3>
<p>
Some day in the distant future, CoffeeMud will support three
different genres representing three different KINDS of games. One
will be the Fantasy game that it supports now, which involves the
improvement of a player character through skills and leveling.
Another will be a Technical/Science Fiction game involving the
accumulation of wealth and power in outer space and in other ways. A
third will be a Modern/Fantasy Hero game involving players pitting
their wits against each other in engine-moderated contests. The
Hero game will feature super heroes and villains.
</p>
<h3>
<a name="q27" id="q27">Whats with the Space Ship Stuff?</a>
</h3>
<h3>
<a name="q28" id="q28">Whats with the Heroics and Technical
settings on Areas, Classes, and Races?</a>
</h3>
<h3>
<a name="q29" id="q29">Whats with the Electronics stuff?</a>
</h3>
<p>
See the previous question on whats coming down the road for
CoffeeMud. The answer to the last question is no -- none of it
works yet, but it will some day.
</p>
<h3>
<a name="q30" id="q30">How do I make a mob that doesn't rejuv after
he is killed?</a>
</h3>
<p>
Setting a mobs REJUV setting to 0 will prevent him from
automatically resetting. Not saving him in the room he started in
will make this permanent across engine reboots.
</p>
<h3>
<a name="q31" id="q31">Does CoffeeMud have an Overland Map
ability?</a>
</h3>
<p>
Yes, check out the Regional Awareness skill. It is restricted in
the base distribution, but can easily be made generally available
to all players. Just open up the file
com/planet_ink/coffee_mud/CharClasses/StdCharClass.java amd find
the method called "public StdCharClass()" and add the following
line to the list therein:
</p>
<pre>
CMAble.addCharAbilityMapping("All",1,"Skill_RegionalAwareness",false);
</pre>
<p>
After doing the above, you'll need to recompile StdCharClass.java
before rebooting your mud. See the Programmer's Guide for more
information on rebuilding CoffeeMud.
</p>
<h3>
<a name="q32" id="q32">How do I make a particular resource
available for Foraging/Chopping/etc in a particular room?</a>
</h3>
<p>
Check out the ResourceOverride behavior.
</p>
<h3>
<a name="q33" id="q33">Can players have their own shops?</a>
</h3>
<p>
Yes, in several different ways. One is for the player to gain the
Marketeering skill. This allows them to become shopkeepers, sell
their goods, and set prices for their goods. Another is to
"purchase" a ShopKeeper-type mob being sold with the property
Prop_Retainable. A mob sold with that property will take up
permanent residence at the players home, and sell the items that
are given to them. Money made in this way will go to a bank account
(see StdBanker) held by the owner of the property. A third way is
through Conquest. If the player belongs to a Clan, and that clan
conquers an Area which has the Conquerable Behavior on it, the
shopkeepers therein will become beholden to the leaders of that
clan, selling any items they give to them.
</p>
<h3>
<a name="q34" id="q34">Can clans buy healers and such?</a>
</h3>
<p>
Yes. Put a healer mob up for sale at a shop. The healer mob should
have the appropriate behaviors and skills to make them a healer
(such as Healer, or NiceAbilities behaviors) and the
Prop_Retainable property. That last will make it so that the player
is forced to pay the mob for his services, and makes sure that the
mob is saved at the players home.
</p>
</td></tr></table></center>
</body>
</html>