Your IP : 216.73.216.224


Current Path : /home/cmowner/CoffeeMud/
Upload File :
Current File : //home/cmowner/CoffeeMud/coffeemud.ini.save

######################################################################
# Main server IP config
######################################################################

# PORT number for CoffeeMud to listen on.  Multiple ports may be separated
# by commas.
PORT=5555

# DOMAIN is the friendly name of your mud server to the outside world.
# For instance, myserver.mydns.org would be an example.
# It is required by the SMTP Server, the two intermud clients
# I3 and IMC2, and the Siplet internal MUD client.  
# The SMTP Server will require that all email addresses end 
# with this name (ex: myname@thishost.domain.com), so be smart about what 
# you put here.  See www.dyndns.org for information on getting a free domain
# name.
DOMAIN=pocketmud.com

# BIND address, defaults to empty (all IP addresses (multi-homed machine))
#BIND=127.0.0.1 

# BACKLOG defaults to 6 - number of connections that can be queued
BACKLOG=6

# MAXCONNSPERIP - maximum connections to allow from a single IP addr. 0=unlimited
# Default is 4
MAXCONNSPERIP=4

# MAXNEWPERIP - maximum new characters per day from a single IP addr. 0=unlimited
# Default is 3
MAXNEWPERIP=3

# Runs the specified web servers.  This entry is either the word FALSE to disable
# all internal web servers, or a comma-delimited list of web server names, each
# with their own special configuration ini file of the same name located in your
# /web directory.  For instance, if this entry is "pub,admin", then the server
# will look for the files "/web/pub.ini" and "/web/admin.ini" for configuration
# information on those two web servers to start.
# Default is pub,admin
RUNWEBSERVERS=pub,admin

# Runs smtpserver if the value is 'true' (case insensitive)
#  any other value, or absence of line, will mean the smtpserver is not loaded
RUNSMTPSERVER=FALSE

# SMTPSERVERNAME defines the name of the smtp server to use when sending out-going
# emails.  If blank, the system will attempt to connect to the mail server denoted
# by the email addresses directly.  Otherwise, the given server will be used as 
# a relay server.  If you want to implement SMTP authentication, you can include
# a comma followed by either LOGIN or PLAIN, followed by the user name, followed
# by the password.
# Example: smtp.relayhost.com
# Example: smtp.relayhost.com,PLAIN,user,password
SMTPSERVERNAME=

# ADMINEMAIL is the admin email address for your mud.  Used for I3 and MSSP
ADMINEMAIL=marisag@pocketmud.com

# MUDSTATE is a string describing the status of your mud. This is used for 
# I3 and MSSP reporting.  Values are numeric, and include:
# 0 = Alpha (MudLib Development)
# 1 = Closed Beta (Restricted Access)
# 2 = Open Beta (Beta Testing)
# 3 = Live (Open to the public)
# Changes will require a mud reboot to take full effect.  Default value is 3.
MUDSTATE=2

# CHARSETINPUT is the name of the Java Character set to use for the default 
# input stream.  Default is iso-8859-1
CHARSETINPUT=iso-8859-1

# CHARSETOUTPUT is the name of the Java Character set to use for the default 
# output stream.  Default is iso-8859-1
CHARSETOUTPUT=iso-8859-1

######################################################################
# JDBC Database fields
######################################################################

# DBCLASS is the name of the JDBC Driver, typically sun.jdbc.odbc.JdbcOdbcDriver
# DBSERVICE is the name of the JDBC Service as defined by your local operating system
# DBUSER is a user name required to log into the JDBC service
# DBPASS is the password for the above user name
# DBPARMS are misc jdbc properties in the format VAR1="VALUE" VAR2="VALUE"  
# DBCONNECTIONS is the maximum number of connections to make to the database
# DBPINGINTERVALMINS is the number of minutes between forced pings of idle connections 
# DBTRANSACT true to disable auto commit and also use batch inserts
# DBREUSE is true if you want the system to reuse connections instead of making new ones
#
#Here are example settings for a System ODBC Service called "CoffeeMudAccess":
# DBCLASS=sun.jdbc.odbc.JdbcOdbcDriver
# DBSERVICE=jdbc:odbc:CoffeeMudAccess
#Here are example settings for a Derby database called "coffeemud":
# DBCLASS=org.apache.derby.jdbc.EmbeddedDriver
# DBSERVICE=jdbc:derby:C:/db-derby-10.1.2.1-bin/frameworks/embedded/bin/coffeemud
# DBREUSE=TRUE
#Here are example settings for a HSQLDB database 
# DBCLASS=org.hsqldb.jdbcDriver
# DBSERVICE=jdbc\:hsqldb\:hsql\://localhost\:9001
# DBUSER=sa
# DBREUSE=TRUE
#Here are example settings for a Postgres database called "coffeemud"
# DBCLASS=org.postgresql.Driver
# DBSERVICE=jdbc\:postgresql\://localhost\:5432/coffeemud
# DBUSER=postgres
# DBREUSE=TRUE
# DBTRANSACT=TRUE
##And here are example settings for a MySQL database called "coffeemud":
DBCLASS=com.mysql.jdbc.Driver
DBSERVICE=jdbc\:mysql\://localhost\:3306/coffeemud
DBUSER=root
DBPASS=qaaz34X!
DBPARMS=autoReconnect=true useSSL=false allowPublicKeyRetrieval=true
DBREUSE=TRUE
DBTRANSACT=TRUE
DBCONNECTIONS=10
DBREUSE=TRUE
DBPINGINTERVALMINS=60
##And lastly, here are the default settings for the fakedb database:
#DBCLASS=com.planet_ink.fakedb.Driver
#DBSERVICE=jdbc:fakedb:resources/fakedb
#DBUSER=
#DBPASS=
#DBCONNECTIONS=2
#DBREUSE=TRUE
#DBTRANSACT=FALSE
#DBPINGINTERVALMINS=60

# LANGUAGE and COUNTRY are used to build the name of the two properties files
# located within the resources directory which are used to define input and
# output text filtering.  The input filter is called parser_en_TX.properties
# (when LANGUAGE and COUNTRY are en and TX respectively).  The output filter
# file is called translation_en_TX.properties.
# Default for LANGUAGE is en, and the default for COUNTRY is TX
LANGUAGE=en
COUNTRY=TX

######################################################################
# IMC2 Settings
######################################################################

# IMC2 client is run if RUNIMC2CLIENT is TRUE.  
RUNIMC2CLIENT=FALSE

# The IMC2HUBNAME, IMC2HUBPORT values all require a visit to the 
# IMC2 Main web site at: http://www.mudbytes.net/intermud-connection
IMC2HUBNAME=server02.mudbytes.net
IMC2HUBPORT=9000

# The IMC2LOGIN should be a version of your muds name without spaces.
# This may require registration with the network you are joining.  For
# the MudDomain network, you do not have to register -- just put your
# muds name in, and some arbitrary passwords in IMC2PASS1 and IMC2PASS2.
IMC2LOGIN=MyMudsNameWoSpaces
IMC2PASS1=pass1
IMC2PASS2=pass2

# Put anything you like for IMC2MYEMAIL and IMC2MYWEB.  They are just
# display fields for the IMC2 INFO command.
IMC2MYEMAIL=nobody@nowhere.com
IMC2MYWEB=http://localhost:27744

# The IMC2CHANNELS are a comma separated list of channels.
# Each entry consists of the channel name, a channel participant mask,
# and the corresponding imc2 channel name (including hub:).  
# The channel mask uses the same flags as is shown in the Archon help
# files under ZAPPERMASKS.  The mask may also include the word 
# READONLY to make the channel read-only, or PLAYERREADONLY to make 
# the channel read-only to players alone.
# Example: IMC2CHANNELS= IMCCHAT +SYSOP -NAMES Hub01:ichat
IMC2CHANNELS=
			  
######################################################################
# InterMud 3 Settings
######################################################################

# RUNI3SERVER is run if first value is TRUE
RUNI3SERVER=TRUE

# The ICHANNELS are a comma separated list of channels.
# Each entry consists of the channel name, a channel participant mask,
# and the corresponding imud3 channel name.  
# The channel mask uses the same flags as is shown in the Archon help
# files under ZAPPERMASKS.  The mask may also include the word 
# READONLY to make the channel read-only, or PLAYERREADONLY to make 
# the channel read-only to players alone.
ICHANNELS=ICOFF -LEVELS +>91 coffeemud_universe

# The I3PORT is the listening port for the I3 server.
I3PORT=27766

# I3ROUTERS = comma delimited list of acceptable i3 routers in the
# form host:port:password
# Example I3ROUTERS=204.209.44.3:8080:*i4
I3ROUTERS=204.209.44.3:8080:*i4

######################################################################
# CoffeeInterMud 1 Settings
######################################################################

# RUNCM1SERVER is run if first value is TRUE
RUNCM1SERVER=TRUE

# The CM1CONFIG is path to a cm1.ini files.  This is where the bulk
# of the CM1 server configuration is kept. 
# Default is /web/cm1.ini
CM1CONFIG=/web/cm1.ini

######################################################################
# Security related configuration variables
######################################################################

# The SYSOPMASK string defines the criteria by which an all-powerful
# system operator/administrator is defined.  The players who meet
# this critera may perform any and all administrative commands 
# anywhere, at any time.  The mask uses the same flags as is 
# shown in the Archon help files under ZAPPERMASKS.
# Default is -ANYCLASS +Archon
SYSOPMASK=-ANYCLASS +Archon

# WIZLISTMASK is a mask that determines which names appear
# when the WIZLIST command is used.  If empty, the default mask is used, which
# is: -ANYCLASS +Archon.  See the HELP ZAPPERMASK for more information, though
# ONLY those flags dealing with name, class, race, and level will apply.
WIZLISTMASK=

# HASHPASSWORDS defines whether passwords are hashed before saving to the DB.
# This provides some level of security for those who don't trust their DB 
# admins, or expose their DB to others.  However, when users forget their
# passwords, the user will have to generate a new password to email it.
# Set to YES to start hashing passwords.
HASHPASSWORDS=NO

# The JSCRIPTS parameter defines the use of JavaScript in Scriptable
# behaviors.  If the setting is 0, then JavaScripts are
# never executed in Scriptable behaviors.  A value of 2 (default) means
# they're always executed.  A value of 1 requires approval by a player
# whose security matched the SYSOPMASK above.  Approval is done
# through the MODIFY JSCRIPTS command.
JSCRIPTS=1

# The GROUP_ strings define a series of security access group.  
# The remainder of each configuration variable name (after "GROUP_")
# is the name of the group being defined.  The value is a comma
# delimited list of security codes.  Players who belong to the
# security groups defined here gain the capabilities and functionality
# defined by the security codes.  See AHELP SECURITY for a
# valid list of security codes.  A few default groups are defined
# below.  Remember that the name of the group is the part AFTER the 
# word "GROUP_".  So, for example, the name of the group defined by the 
# entry GROUP_SUBOP is actually SUBOP.
GROUP_QUESTMASTERS=POSSESS, AT, AFTER, CMDQUESTS, GOTO, COPYITEM, COPYMOB, IMMORT
GROUP_SUBOP=AHELP, AREA ANNOUNCE, AREA AT, AREA COPYMOBS, AREA COPYITEMS, \
			AREA COPYROOMS, AREA CMDROOMS, AREA CMDITEMS, AREA CMDEXITS, \
			AREA CMDRACES, AREA GOTO, AREA POSSESS, AREA STAT, AREA SYSMSGS, \
			AREA TRANSFER, AREA WHERE, AREA RESET, AREA KILLDEAD, AREA ORDER, \
			AREA ABOVELAW, AREA WIZINV, AREA CLOAK, AREA CMDMOBS, IMMORT, TRAILTO, SESSIONS, \
			AREA POOF, AREA PURGE, AREA RESTRING, AREA LISTADMIN, AREA TRAILTO, \
			AREA SUPERSKILL, AREA LOADUNLOAD, AREA MXPTAGS, CARRYALL, TASKS, AREA GMODIFY, \
			VFS: RESOURCES
GROUP_TRAVELER=GOTO
GROUP_WIZI=WIZINV, ABOVELAW, CLOAK
GROUP_MISCHIEF=POSSESS, AT, STAT
GROUP_SLAYER=KILLDEAD
GROUP_ASSISTANT=COPYITEMS, SESSIONS, RESET, TRANSFER, PURGE, SUPERSKILL
GROUP_ASSISTANT2=COPYMOBS, COPYITEMS, SESSIONS, RESET, TRANSFER, PURGE, \
				 RESTRING, WHERE, SUPERSKILL
GROUP_ASSISTANT3=COPYMOBS, COPYITEMS, SESSIONS, RESET, TRANSFER, PURGE, BEACON, \
				 TICKTOCK, RESTRING, SNOOP, WHERE, SUPERSKILL, TRAILTO
GROUP_IMPLEMENTOR=AHELP, ANNOUNCE, AT, COPYMOBS, COPYITEMS, COPYROOMS, CMDROOMS, \
				  CMDITEMS, CMDEXITS, CMDRACES, GOTO, POSSESS, STAT, SYSMSGS, \
				  TRANSFER, WHERE, RESET, KILLDEAD, ORDER, ABOVELAW, WIZINV, \
				  CMDMOBS, IMMORT, TRAILTO, SESSIONS, SUPERSKILL, MXPTAGS, \
				  CLOAK, CARRYALL, TASKS, GMODIFY, FS: RESOURCES, CATALOG
GROUP_SYSOP=AFTER, AHELP, ANNOUNCE, AT, BAN, BEACON, BOOT, COPYMOBS, COPYITEMS, \
			COPYROOMS, CMDQUESTS, CMDSOCIALS, CMDROOMS, CMDITEMS, CMDEXITS, CMDAREAS, \
			CMDRACES, CMDCLASSES, NOPURGE, KILLBUGS, KILLIDEAS, KILLTYPOS, CMDCLANS, \
			DUMPFILE, GOTO, LOADUNLOAD, CMDPLAYERS, POSSESS, SHUTDOWN, SNOOP, STAT, \
			SYSMSGS, TICKTOCK, TRANSFER, WHERE, RESET, RESETUTILS, KILLDEAD, MERGE, \
			IMPORTROOMS, IMPORTMOBS, IMPORTITEMS, IMPORTPLAYERS, EXPORT, EXPORTPLAYERS, \
			EXPORTFILE, ORDER, I3, ABOVELAW, CMDMOBS, SUPERSKILL, JOURNALS, PKILL, \
			SESSIONS, TRAILTO, LISTADMIN, MXPTAGS, CMDFACTIONS, CARRYALL, KILLASSIST, \
			TASKS, ALLSKILLS, JSCRIPTS, GMODIFY, COMPONENTS, EXPERTISES, TITLES, FS: , \
			CMDABILITIES, IDLEOK, CATALOG, CMDRECIPES

######################################################################
# Player COMBAT related configuration variables
######################################################################

# COMBATSYSTEM determines how players are able to use their speed/number of 
# attacks during combat.  Values include:
# DEFAULT    All standard actions must be used for standard attacks or movement,
#            One bonus action is granted per round during combat for general use.
# QUEUE      All standard actions are dequed from player commands entry.  Any
#            remaining unused actions are used for standard attacks or movement.
# MANUAL     All standard actions are dequed from player commands entry.  
#            Remaining unused actions are lost.
# TURNBASED  Players must spend all their actions within a given amount of time.
#
COMBATSYSTEM=DEFAULT

# SHOWDAMAGE toggles whether players will see the damage dealt to foes.
# YES        Show damage in numbers, as well as words
# NO         Only show words
# SOURCE     Attacker sees numbers and words, target only sees words.
# TARGET     Target sees numbers and words, attacker only sees words.
# Default is NO
SHOWDAMAGE=YES

# PROWESSOPTIONS sets whether combat, defensive, and base damage prowess is shown 
# in the score command, and if so, how and with what options.  Options are comma
# delimited.  
# ARMOR-ABSOLUTE     Include the default absolute armor prowess string.
# ARMOR-NUMBER       Include the numeric absolute armor value.
# ARMOR-ADV          Include adverbs when the armor value is exceptional.
# ARMOR-ADJ          Include an adjective relative to a mob of the same level.
# COMBAT-ABSOLUTE    Include the default absolute combat prowess string.
# COMBAT-NUMBER      Include the numeric absolute combat/attack value.
# COMBAT-ADV         Include adverbs when the combat value is exceptional.
# COMBAT-ADJ         Include an adjective relative to a mob of the same level.
# COMBAT-NOUN        Include a level-based combat/attack noun.
# *
# Include SKILL-PROFICIENCY to show words instead of skill proficiency numbers
# Include STAT-PROFICIENCY to show words instead of char stat numbers
# Include FACTION-RANGE to show only faction ranges instead of numbers
# Set the value to NONE to include none of the options above.
# Set the value to blank to default to ARMOR-ABSOLUTE, ARMOR-NUMBER, 
#    COMBAT-ABSOLUTE, COMBAT-NUMBER
# Default is blank
PROWESSOPTIONS=

# INJURYSYSTEM controls various variables dealing with limb injury, bleeding,
# and amputation.  Each variable is separated by a comma, and does not include
# the % character, even though the first four values are percentages.
# The first variable is a % chance per hit of a limb being affected. 
# The second is a % of hit points threshold before limbs start being affected.
# The third is % of hit points which must be done in a single blow to remove 
#   a limb before the limb is destroyed normally.  
# The fourth is a % chance a limb is removed when it has been damaged 100% 
# The fifth is multiplier that increases actual % limb damage done per hit.
# or has received a massive damage attack defined by the third variable.
# The sixth value is the MINIMUM player level that can lose limbs.
# The seventh value is the MINIMUM player level that can start bleeding
# The eighth value is the % of hp lost by a player in one blow to start bleeding.
# The ninth value is the % chance, on losing a limb, of bleeding.
# The default value is 100,60,10,100,4,10,15,20,100
INJURYSYSTEM=100,60,20,100,4,10,15,20,100

# The PLAYERKILL describes how/whether players may kill each other.
# The default is OPTIONAL-4, but valid values include:
# ALWAYS     Players may kill each other at will.
# ALWAYS-X   Players may kill each other at will, but only if they 
#            are within X levels of each other.
# OPTIONAL   Players must both have their PKILL option turned on
#            in order to kill each other.
# OPTIONAL-X Players must both have their PKILL option turned on
#            in order to kill each other, but must also be within
#            X levels of each other.
# ONEWAY     Same as OPTIONAL, but player can never turn PKILL off.
# ONEWAY-X   Same as OPTIONAL-X, but player can never turn PKILL off.
# NEVER      Players may never kill each other.
# The above does not affect DUELing.
PLAYERKILL=OPTIONAL-4

# The PLAYERDEATH describes what happens to a player when they die.
# Multiple entries may be included, and are separated by commas.
# The default is EXPERIENCE, but valid values include:
# PURGE        The player is erased from the system.
# UNLEVEL X    The player loses X levels of experience.
# LOSESKILL    The player loses a random skill
# ASTRAL       The player becomes an astral spirit.
# ASTRAL_RES   As ASTRAL, but player can self-resurrect.
# EXPERIENCE   The player loses 100 experience points per level
# OUT X        The player goes safely unconscious for x ticks
# RECALL       The player simply recalls to their death room (no body)
# (a number)   The player loses a flat X experience points when they die.
# (expression) The players lost experience is calculated based on the
#              give math expression, using + - * / (), and using @x1 to
#              stand for the players level, and @x2 the killers level
PLAYERDEATH=(@x1 * 50) < 2000

# MOBDEATH describes what happens to a non-player when they die.
# The default is DEATH, but you can also use one of the following:
# DEATH        They die.  They don't come back until they rejuv.
# OUT (expr)   They go unconscious for # ticks determined by the
#              expression.  Use +-*/(), and @x3 to insert rejuv ticks.
MOBDEATH=DEATH

# The FLEE parameter describes what happens to a player when they flee combat.
# Multiple entries may be included, and are separated by commas.
# The default is EXPERIENCE, but valid values include:
# PURGE        The player is erased from the system.
# UNLEVEL X    The player loses X levels of experience.
# LOSESKILL    The player loses a random skill
# ASTRAL       The player becomes an astral spirit.
# ASTRAL_RES   As ASTRAL, but player can self-resurrect.
# OUT X        The player goes safely unconscious for x ticks
# EXPERIENCE   The player loses 5 xp per level above killers. Min 10.
# RECALL       The player recalls to their death room as per death
# (a number)   The player loses a flat X experience points when they flee.
# (expression) The players lost experience is calculated based on the
#              give math expression, using + - * / (), and using @x1 to
#              stand for the players level, and @x2 the killers level
# (blank)      Fleeing has no bad consequences, breaking several char classes.
FLEE=EXPERIENCE

# The EXPRATE describes how quickly experience rises or falls 
# with level differences.  The default is 6.  Lower numbers
# increase the rate of experience gain ascent/descent as
# level differences increase/decrease.  A value of 0 means 
# no bonus or penalty experience based on level differences.
EXPRATE=6

# The CORPSEGUARD string is used to determine who may loot the 
# corpses of dead players.  Use ALL to allow anyone to loot
# them (default), SELFONLY will only allow the players to loot
# their own corpses, and the PKONLY flag will allow the players, or 
# other players with the playerkill flag turned on to loot.
CORPSEGUARD=ALL

# The ITEMLOOTPOLICY is left blank to not implement any item-loss
# when mobs are killed.  Otherwise you can implement one or more
# rules separated by semicolons.  Each rule includes one or more
# of the following: a % chance that an item will be affected by
# the rule when a mob is killed and the corpse is generated, the
# keyword RUIN to designate that the rule ruins the item, the
# keyword LOSS to designate that the rule destroys the item, the
# keyword UNWORN to designate that the rule only applies to unworn items, the
# keyword WORN to designate that the rule only applies to worn items, an
# ending keyword MASK= followed by a Zapper Mask (see HELP ZAPPERMASKS).
# Example: ITEMLOOTPOLICY=10% RUIN;15% LOSS; 99% RUIN MASK=-MATERIAL +WOODEN
# Default is blank.
ITEMLOOTPOLICY=

# The AUTOREACTION system is a general way to get mobs to react to
# players based on their past behavior.  There are presently three
# systems available: AREA, RACE, and NAME.  The AREA system will cause
# mobs reactions to be based on the players behavior in the area
# while NAME is based on the players behavior towards mobs of 
# that name.  Reaction causing behavior includes killing as well
# as being sociable and hanging around.  A blank value disables
# this system, which can be cpu and possibly memory intensive.
# Example: AUTOREACTION=AREA
# Default is blank.
AUTOREACTION=

# The number of ticks that a player challenged to a duel has to 
# consider that challenge.  Once this time expires, new challenges
# may be issued.  Default is 5 ticks (roughly 20 seconds)
DUELTICKDOWN=5

######################################################################
# Miscellaneous Player related configuration variables
######################################################################

# The CLASSSYSTEM describes how the character classing system works.
# The default is 'SUB', but valid values include:
# SUB        Player can create a character in any one Base class,
#            and take levels in any of that Base classes subclasses 
#            by switching.
# NO         Disables all multi-classing, allowing users to pick from
#            any of the player-selectable classes, but not to change.
# NO-BASE    Disables all multi-classing, allowing users to pick from
#            any of the base classes, but not to change.
# NO-SUBONLY Disables all multi-classing, allowing users to pick from
#            any of the sub classes, but none of the base classes.
# NO-[X]     Specify a one and only class that players must take and 
#            keep.  Where [X] is a CLASS ID or name. Kinda like APP-*
# NO-GRP-[X] Specify a one and only class group that players may pick 
#            from and stick with.  Where [X] is a BASE CLASS ID or name.
# MULTI      Allows the player to select from any of the user-selectable
#            classes, and then to take levels in any other class at will.
# APP-SUB    All players start as Apprentice, thereafter same as 
#            the SUB option above.
# APP-NO     All players start as Apprentice, and are allowed to change
#            to any other class exactly once, and are stuck thereafter.
# APP-MULTI  All players start as Apprentice, thereafter same as 
#            the MULTI option above.
# DISABLED   Disables the class system altogether.  This is the same as
#            including CLASSES in the DISABLE flag.
CLASSSYSTEM=SUB

# The FACTIONS string is a semicolon delimited list of paths
# to one or more faction INI files to preload.  Preloading a
# faction is required if automated assignment of faction values
# is required by that faction.  Note that subdirectories are 
# allowed, but use '/' instead of '\' Default is "alignment.ini"
FACTIONS=alignment.ini

# If the INTRODUCTIONSYSTEM flag is set to YES, will allow players to 
# see each other only by their race, until such time as they say
# their own names outloud -- in effect "introducing" themselves.
INTRODUCTIONSYSTEM=YES

# The LASTPLAYERLEVEL setting is the maximum level that a player can
# gain via mundane experience gain.  Beyond this level, the player
# must gain via Archon magic items, or the Archon modify command.
# Note, however, that this level setting is arbitrary.  Any value
# from 1 to 2147483647 are acceptable last levels.
# Default is 91
LASTPLAYERLEVEL=90

# The STARTHP setting is the default starting hit points for all players.
# Default is 20.
STARTHP=20

# The STARTMANA setting is the default starting mana for all players.
# Default is 100.
STARTMANA=100

# The STARTMOVE setting is the default starting movement for all players.
# Default is 100.
STARTMOVE=100

# The COMMAND TIMES are default values to use for the number
# of actions required to use the typical non-instant command.  DEFCMDTIME
# refers to the number of actions required when the player is not
# in combat.  DEFCOMCMDTIME is the number of actions required when the
# player is in combat.  Typically, 1.0 means a full 4 second tick.
# You may also include a comma delimited list of command IDs
# followed by their specific cost values for exceptions. An entry without
# an ID applies to all remaining commands.  Default is 0.15 and 1.0
# Example: DEFCMDTIME=Score 1.0, East 0.5, 0.15
DEFCMDTIME=0.15
DEFCOMCMDTIME=1.0

# AWARERANGE determines whether the auto-mapping system is enabled.  If this
# value is greater than 0, it represents the size of the map shown.
# Default is 0.
AWARERANGE=0

# EQVIEW determines how players equipment is seen by themselves and others.
# DEFAULT    Equipment is listed by wear location for all involved.
# MIXED      Equipment is listed by wear location for yourself, and seen 
#            in paragraph form by others.
# PARAGRAPH  Equipment is always seen in paragraph form.
EQVIEW=DEFAULT

# EXVIEW determines how exits are seen by users
# DEFAULT    Exits are seen as a list of exit names and room titles, unless BRIEF on
# BRIEF      Exits are seen simply as a list of directions, unless EXAMINE is used.
# PARAGRAPH  Exits are seen in paragraph form in the room description only.
# MIXED      Exits are seen in paragraph form in the room description and as BRIEF.
EXVIEW=BRIEF

# The FOLLOWLEVELDIFF allows you to set a level range limit
# for player followers.  A value of 0 disables the limit.
FOLLOWLEVELDIFF=0

# The MAXSTATS value is the maximum total to which all
# new character statistics (strength, intelligence, wisdom...)
# will total when added together.  The default is 70.  This
# value is only relevant when STARTSTAT<=0  
MAXSTATS=70

# The BASEMINSTAT value is the base minimum value for all 
# primary stats (str, int, wis, etc).  This value is modified
# up or down by class or race and through training or random
# rolls when a character is created.  The default is 3.
BASEMINSTAT=3

# The BASEMAXSTAT value is the base maximum value for all 
# primary stats (str, int, wis, etc).  This value is modified
# up or down by class or race.  The default is 18.
BASEMAXSTAT=18

# The STATCOSTS is a comma-separated list of conditions and points which
# together describe how many training points it costs to raise a primary
# stat (str, int, dex, etc) with the Train command.  The condition must 
# start with a comparison on the current stat of the player, such as 
# <18, <=23, <25, <99 etc.  This  is followed by a space and the number of 
# training points it costs to raise the stat to the next point.
# Default is <18 1, <22 2, <25 3, <99 5
STATCOSTS=<18 1, <22 2, <25 3, <99 5

# The STARTSTAT value is the starting value for all player 
# primary stats (str, int, wis, etc).  This value is modified
# up or down by class or race. 
# If this is 0 the system will allow the starting stats to be 
# rolled randomly during character creation, with MAXSTATS as 
# a maximum total.
# If this is -1 the system will start all player stats at BASEMINSTAT 
# and allow the player to spent MAXSTATS - 18 points in any
# way they like, though no stat can be spent above BASEMAXSTAT.
# Default is 0.
STARTSTAT=0

# The STARTINGITEMS list is a comma-delimited list of item IDs
# or Names.  These can be either standard item IDs, or an item
# from the global Item catalog. To give more than one of an item,
# it should be prefixed with a number.  These are items given
# to all new characters created.  To give no items, use ",".
# An Item list can be prefixed with a race to distinguish.
# Example: 13 Shield, 5 ShortSword, Pixie, 1 Apple, 1 Waterskin
# Default: 1 Ration, 1 Waterskin, 1 Torch
STARTINGITEMS=1 Ration, 1 Waterskin, 1 Torch

# The CHARCREATIONSCRIPTS value is a comma-delimited list of 
# Scriptable files/scripts that will be executed during player
# creation to allow you to get more information from the user
# and do something with it. Each file/script listed here may
# be optionally preceded by a code and an colon to tell
# the system after which step to execute the script. Codes: 
# PASSWORD, EMAIL, ANSI, THEME, RACE, GENDER, STATS, CLASS,
# FACTIONS, END (default)
# Only the ONCE_PROG will be executed.  See Scriptable Guide.
# Default value is empty.
# Ex: CHARCREATIONSCRIPTS=FACTIONS:LOAD=progs/chardesc.script
CHARCREATIONSCRIPTS=

# The MAXITEMSHOWN tells the system how many different items
# to show, when listing items using the normal LOOK command, 
# before it will begin to simply summerize the remainder.  
# The LONGLOOK (EXAMINE) command will always show all items,
# and a value of 0 will disable this feature.  The default
# value is 5.
MAXITEMSHOWN=5

# The DEFAULTPLAYERFLAGS is a comma-delimited list of player 
# flags to turn on by default when a player is first created,
# or for the time before they log in.  Options include:
# AUTOGOLD, AUTOLOOT, AUTOEXITS, AUTOASSIST, ANSI COLOR, SYSMSGS, 
# AUTOMELEE, PLAYERKILL, BRIEF, NOFOLLOW, AUTOWEATHER, AUTODRAW, 
# AUTOGUARD, SOUNDS, AUTOIMPROVEMENT, NOTEACH, AUTONOTIFY, 
# AUTOFORWARD, MOTD, QUIET, MXP, COMPRESSED, AUTORUN
# Default is empty.
DEFAULTPLAYERFLAGS=AUTOEXITS, AUTOASSIST, ANSI COLOR, AUTODRAW, AUTOFORWARD, AUTOIMPROVEMENT

# The RECOVERRATE is the number of ticks between natural state
# recovery (hp/mana/move).  Default is 1.
RECOVERRATE=1

# The REMORTMASK is a zappermask to describe what sort of player
# can use the REMORT command. (See archon help on ZAPPERMASKS)
# Default is -LEVEL +>60
REMORTMASK=-LEVEL +>

# The REMORTRETAIN is a comma-delimited list of things that a player
# retains when they remort.  These are typically personal stats that
# cannot be retained otherwise.  Things like bank accounts and other
# property, since they can be easily transferred, are always retained.
# Each entry can be prefixed (or suffixed) with a percentage amount
# to keep.
#
# Values include: 
#  HITPOINTS, MANA, MOVES, FACTIONS, LEVELS, ATTACK, QUESTPOINT
#  DAMAGE, SKILLS, SKILLSAT100, DEFENSE, EXPERTISES, BONUSSTATPOINTS, 
# 
# SPECIAL values include:
#  RACE to retain the existing race
#  GENDER to retain the existing gender
#  CHARCLASS to retain the existing character class
#  STATS to retain the existing character stats
#  WARRANTS to retain legal warrants
#  VISITATION to retain room visitation records
#
# Default is 100% FACTIONS, 100% QUESTPOINT
REMORTRETAIN=100% FACTIONS, 100% QUESTPOINT, RACE, GENDER

# The RACEMIXING string allows you to override the default behavior
# of the system whereby, when two different races mate through 
# magical help, a new GenRace is generated that is a mix of their
# attributes.  This entry may be blank to use the default system,
# FATHER to always use the fathers race, MOTHER to always use 
# the mothers race, or a series of comma-delimited entries like
# RACE1+RACE2=RACE3 to specify that the mixing of two particular
# races will always generate a specific third race.  Default is blank.
RACEMIXING= 

# HUNGER allows one to tweek the game hunger system.  This
# is a comma-delimited list of 3 numbers.  The first number is
# the base maximum amount of food that a base stomach can hold
# (it is adjusted by size/weight).  The second number is a pct
# to change the base amounts consumed.  The third number is a pct
# to change the base amounts lost through exercise.
# Default is 500,100,100
HUNGER=500,100,100

# THIRST allows one to tweek the game thirst system.  This
# is a comma-delimited list of 3 numbers.  The first number is
# the base maximum amount of drink that a base stomach can hold
# (it is adjusted by size/weight).  The second number is a pct
# to change the base amounts drank.  The third number is a pct
# to change the base amounts lost through exercise.
# Default is 1000,100,100
THIRST=1000,100,100

# EXPDEFER determines whether a player receives earned experience right away,
# or whether it is deferred until later. The normal state is that experience
# is awarded the moment it is earned, where it is earned.  However, this
# field lets you defer the awarding of earned experience until an event or 
# action is taken.
# If the value is empty, the normal state holds.
# To defer experience awarding, begin with entering the number of mud-hours
# reflecting the frequency that such experience is awarded, followed 
# by a space and a percentage of xp to allow to be deferred, followed
# by a space and COMMAND(ARGUMENT STRING) , followed by a space and a 
# zappermask. This will cause xp that is earned to be deferred until 
# entering the given command and given optional argument.  If the command 
# name begins with $ then the base command is still executed after the xp 
# is dispursed.  A wilcard * may be used in the argument.
# The optional Zappermask then describes who must be in the same room; 
# see AHELP ZAPPERMASK for more info.  Unlike most static zappermasks,
# this one may contain variables from the player enclosed in braces {},
# such as {RACE} {CHARCLASS} {LEVEL}, etc.  See also DISABLE SHOWXP.
# Example: 6 200% SAY(Give me XP!) -EFFECTS +MOBTeacher -ANYCLASS +{CHARCLASS}
# An empty value (default) is normal
EXPDEFER=

# RPAWARDS determines the amount (or %) of experience which can be earned 
# by doing role playing type actions and a space followed by the minimum
# seconds between each award, followed by the a comma-delimited 
# list of actions which may earn a player role playing xp and the nominal 
# amount to award.  The actions include:
# INTRODUCE-PC : introduce yourself to a player
# INTRODUCE-NPC: introduce yourself to an npc
# SAY-PC: Say, Say-To, whisper, or yell to a player
# SAY-NPC: Say, Say-To, whisper, or yell to an npc
# SOCIAL-PC: Target a social at a player
# SOCIAL-NPC: Target a social at an npc
# SOCIAL-OTH: Target a social at a room or oneself
# GOAFK: the player goes AFK
#  
# �	NO RXP is earned while Fatigued, Hungry or Thirsty.
# Example:
# RPAWARDS=25% 8, INTRODUCE-PC 20, INTRODUCE-NPC 5, SAY-PC 5, SAY-NPC 1, SOCIAL-PC 10, SOCIAL-NPC 1, SOCIAL-OTH 1, GOAFK -25 
# Default is empty (role playing xp is disabled)
RPAWARDS=

# LOGOUTMASK is an optional zappermask that the player must match in order 
# to logout of the game, quit, or switch to another account character.  
# Dropping the connection in the wrong state will keep the vulnerable player 
# in game.  See AHELP ZAPPERMASK for more information.  
# Example:
# LOGOUTMASK=-LOCATION +OWNED +CLANOWNED +PRIV +ROOMSTR(Inn) +ROOMSTR(Hotel)
LOGOUTMASK=

######################################################################
# Ability/Skill related configuration variables
######################################################################

# The MANACONSUMETIME and MANACONSUMEAMT allows you to set 
# a rate in ticks at which temporary spell affects 
# consume mana automatically.
# An amount of mana determined by [MANACONSUMEAMT]
# is consumed every [MANACONSUMETIME] ticks for each 
# spell affect.
# A good value for MANACONSUMETIME would be 10 (10 ticks).
# MANACONSUMEAMT is an amount of mana, but can also be 
#   set to LEVEL for player level, or SPELLLEVEL for spell level.
# A value of 0 for MANACONSUMETIME disables this feature.  
# Default is 0 (disabled) for both.
MANACONSUMETIME=0
MANACONSUMEAMT=0

# The MANACOST value is the maximum amount of mana/move consumed
# by a skill or spell which does not override its own mana/move
# costs.  The default is 50.  A value of -1 will add in a players
# lowest qualifying level for the skill/spell to the default value.
# You may also include a comma delimited list of spell/skill IDs
# followed by their specific minimum values for exceptions.
# Example: MANACOST=Spell_Shield 10, Skill_Recall 5, -1
MANACOST=50, Skill_Recall 25

# The MANAMINCOST value is the minimum amount of mana/move consumed
# by a skill or spell which does not override its own mana/move
# costs.  A value of -1 will use a players lowest qualifying level
# for the skill/spell, or the value of 5, whichever is greater.
# You may also include a comma delimited list of spell/skill IDs
# followed by their specific minimum values for exceptions.
# Example: MANAMINCOST=Spell_Shield 10, Skill_Recall 5, -1
# The default is -1.
MANAMINCOST=-1

# ABILITY COSTS are three fields which define the number of 
# trains, xp, money, and/or practices required to gain an ability by 
# default.  Common skills and Languages are considered different 
# from other skills, and are thus listed separately.  The format is
# a number followed by either the word TRAIN, PRACTICE, XP, or GOLD
# (in any local currency).  Use @x1 to refer to the level of the skill
# or @x2 to refer to the level of the player.  This can include a 
# comma-delimited list of overrides, prefixed with the ID of the skill.
# Example: SKILLCOST=1 TRAIN, Spell_Sleep 50*@x1 GOLD
# The defaults: 1 TRAIN for SKILLCOST, 3 PRACTICES for LANGCOST.
#               and 1 TRAIN for COMMONCOST.
COMMONCOST=1 TRAIN
SKILLCOST=1 TRAIN, Skill_WildernessLore 1 PRACTICE, PlayInstrument 3 PRACTICE
LANGCOST=3 PRACTICE

# WALK AND RUN COST are the two fields which define the number of 
# movement points required to traverse one room.
WALKCOST=1
RUNCOST=2

# MAX ABILITIES are some default limits on the number of skills
# of various types that can be trained or gained by players.
# These only apply when the skills are qualified for by ALL classes, 
# and are not specific class skills.  Artisans, for example, 
# override all common skill limits for this reason. 
# A value of 0 removes all limits. Defaults are 0 for common skills,
# 2 for crafting skills, 5 for non-crafting skills, and 3 for langs.
MAXCOMMONSKILLS=0
MAXCRAFTINGSKILLS=2
MAXNONCRAFTINGSKILLS=5
MAXLANGUAGES=3

# The ABILITY TIMES are default values to use for the number
# of actions required to cast a spell or use a skill.  DEFABLETIME
# refers to the number of actions required when the player is not
# in combat.  DEFCOMABLETIME is the number of actions required when the
# player is in combat.  Typically, 1.0 means a full 4 second tick.
# You may also include a comma delimited list of Skill IDs
# followed by their specific cost values for exceptions. An entry without
# an ID applies to all remaining commands.
# Example Skill_Recall 2.0, Spell_Fireball 1.0, 0.23
# Default is 0.10 and 1.0
DEFABLETIME=0.10
DEFCOMABLETIME=1.0

# The SOCIAL TIMES are default values to use for the number
# of actions required to perform a social.  DEFSOCTIME
# refers to the number of actions required when the player is not
# in combat.  DEFCOMSOCTIME is the number of actions required when the
# player is in combat.  Typically, 1.0 means a full 4 second tick.
# You may also include a comma delimited list of Social IDs
# followed by their specific cost values for exceptions. An entry without
# an ID applies to all remaining socials.
# Example Bathe 2.0, Smile 1.0, 0.23
# Default is 0.10 and 1.0
DEFSOCTIME=0.10
DEFCOMSOCTIME=1.0

######################################################################
# Start, Death, and Morgue Room Configuration
######################################################################
 
# The START string is the room ID that new players appear at:
# This is the simplest form.  You may include other entries
# to specify specific start rooms for racial categories or races
# (START_ELF, START_HUMAN, etc..). You may also create entries for
# alignment, deity, class, or faction (START_FIGHTER, START_GOOD..),
# or even level (START_1, ...).
# You can also use START_MASK to tie a start room to a mask by
#  setting the key equal to room id followed by an equal sign, 
#  then a mask (see ahelp ZAPPERMASK).
# Example: START_FIGHTER=FighterSchool#10
START=New Area#0

# The DEATH string is the room ID that new players appear at
# when they die. This is the simplest form, where the death
# room is made the same as the start room.  You may include 
# other entries to specify specific death rooms for racial 
# categories or races (DEATH_ELF, DEATH_HUMAN, etc..). You may also use
# alignment, deity, class, or faction (DEATH_GOOD, DEATH_FIGHTER, etc..),
# or even level (DEATH_13, ...).
# You can also use DEATH_MASK to tie a death room to a mask by
#  setting the key equal to room id followed by an equal sign, 
#  then a mask (see ahelp ZAPPERMASK).
# Detault is START, which brings the user back to their recall room.
# Use MORGUE to bring the user back to where their body is.
# Use HERE to make the user remain where they died (not recommended).
# Example: DEATH_GOOD=Heaven#10
DEATH=START

# The MORGUE string is the room ID that the bodies of players
# automatically go to.  By default, the value is START, meaning 
# that the body lies where the player dies.  You may include 
# other entries to specify specific body rooms for racial 
# categories or races (MORGUE_ELF, MORGUE_HUMAN, etc..). You may also 
# use alignment, deity, class, or faction (MORGUE_GOOD, MORGUE_FIGHTER, ..),
# or even level (MORGUE_13, ...).
# You can also use MORGUE_MASK to tie a morgue room to a mask by
#  setting the key equal to room id followed by an equal sign, 
#  then a mask (see ahelp ZAPPERMASK).
# Detault is HERE, which means the body stays where it died.
# Use DEATH to put the body where the player will end up.
# Use START to put the body at their recall room.
# Example: MORGUE_MASK=Heaven#10=-LEVELS +>31
MORGUE=HERE

######################################################################
# World Environment configuration variables
######################################################################

# The MUDTHEME variable describes the availability of certain races 
# and classes in the system, especially at startup.  Valid values include:
# 0=The mud does not accept new accounts.  Most options are disabled.
# 1=Fantasy only
# 2=Technological only
# 3=Fantasy and Technological
# 4=Heroic only
# 5=Fantasy and Heroic
# 6=Technological and Heroic
# 7=Fantasy, Heroic and Technological
# The default value is 1
MUDTHEME=3

# The DIRECTIONS setting describes how many directions are available in
# the system.  There are only two valid settings: 7, which
# means that N,S,E,W,U,D, and V are available, and 11, which 
# means that N,S,E,W,NW,NE,SW,SE,U,D, and V are available.
DIRECTIONS=7

# The SKYSIZE describes whether, and how large the automatic
# Sky areas above your outdoor rooms will be.  A value of 0
# means NO sky will be generated, while other values will
# denote how large (square).  For instance, a value of 2
# would mean 2 X 2, 3 would be 3 X 3, etc. Default is 3.
# If a "-" character precedes the number, the exit to the
# grid will be hidden.  For instance, -3 means a hidden 3X3.
# This value also applies to underwater grids.
SKYSIZE=3

# The AUTOWEATHERPARMS describes whether the CoffeeMud 
# behavior knows as WeatherAffects is automatically 
# added to areas and, if so, what the parameters on 
# the behavior are.  You will need to check the 
# help files for the WeatherAffects behavior for the
# meaning of the parameters.  If the value is NO, the
# behavior will not be automatically added.  A value of
# blank, or any other will add the behavior to all areas
# and invoke it with the given parameters.  Default is blank.
AUTOWEATHERPARMS=

# The AUTOAREAPROPS describes whether CoffeeMud 
# automatically adds the listed Properties or
# Behaviors automatically to all areas and, if so, 
# what the parameters on the properties or behaviors are.  
# You will need to check the help files or the MUDGrinder 
# for list of properties and behaviors valid for areas and
# the meaning of the parameters.
#
# The format for this entry is the ID of the property of
# behavior followed optionally by the parameters in 
# parenthesis.  You can then separate multiple entries 
# with semicolons; example:
# AUTOAREAPROPS=Prop_ReqCapacity(weight=1000);Arrest(custom)
AUTOAREAPROPS=

# MILLISPERMUDHOUR - Real life milliseconds in each mud "hour".
# Default is 600000, or ten minutes.
MILLISPERMUDHOUR=600000

# HOURSINDAY - Hours In A MudDay. Counts from 0 to (this-1).
# This field is for the default clock only.
# Default is 6
HOURSINDAY=6

# DAYSINMONTH - Days In A MudMonth.  Counts from 1 to this.
# This field is for the default clock only.
# Default is 20
DAYSINMONTH=20

# MONTHSLIST - Names of the months in a year, from first to last
# This list is comma delimited, and may be words, numbers, whatever.
# This field is for the default clock only.
MONTHSINYEAR=the 1st month,the 2nd month,the 3rd month,the 4th month,\
			 the 5th month,the 6th month,the 7th month,the 8th month

# DAYSINWEEK - Names of the days in a week, from first to last.
# This list is comma delimited, and may be words, numbers, whatever.
# This field is for the default clock only.  Default is empty.
DAYSINWEEK=

# DAWNHR - The hour in which it is dawn on your world.
# If you do not want a daytime, make this -1.
# This field is for the default clock only. Default is 0.
DAWNHR=0

# DAYHR - The hour, which must be >DAWNHR, in which day time starts.
# If you do not want a daytime, make this -1.
# This field is for the default clock only. Default is 1.
DAYHR=1

# DUSKHR - The hour, which must be >DAYHR, in which it is dusk on your world.
# If you do not want a nighttime, make this -1.
# This field is for the default clock only. Default is 4.
DUSKHR=4

# NIGHTHR - The hour, which must be >DUSKHR, in which night begins on 
# your world.  The nighttime will run until DAWNHR.
# If you do not want a nighttime, make this -1.
# This field is for the default clock only. Default is 5.
NIGHTHR=5

# YEARDESC - This is a list of names to give to the years.  By default, the
# descriptions will cycle after they are used up.  Use the number sign # to
# denote where in each name you want the numeric year placed.
# This list is comma delimited and is for the default clock only.
# The default is "year #".
YEARDESC=year #

# DEFAULTPROMPT - This is the encoded default prompt that all players start
# with.  They can change it with the PROMPT command.  See help on that 
# command for information on the syntax of this string.
# Default is: ^N%E<^h%hhp ^m%mm ^v%vmv^N> 
DEFAULTPROMPT=^N%E<^h%hhp ^m%mm ^v%vmv^N> 

# PROMPTBEHAVIOR - This changes the automatic suffix to all prompts.
# Changing to CRLF makes Mudlet work, but makes me unhappy.
# Values are:
# (empty) - No extra carriage returns, No Go-Ahead telnet code
# GACRLF  - Add extra carriage returns, Add Go-Ahead telnet code
# GA	  - No extra carriage returns, Add Go-Ahead telnet code 
# CRLF	  - Add extra carriage returns, No Go-Ahead telnet code
# Default is empty.
PROMPTBEHAVIOR=

# EXPIRATIONS - A list of minutes denoting when various items, once placed
# into a room directly or indirectly by your players, will expire and
# be automatically cleaned up out of the world.  The values in the list are
# the number of minutes for each of the following types of items respectively:
# Monster loot, Player drops, Gathered natural resources, Monster corpses,
# and Player corpses.  The defaults are 30, 1200, 60, 30, 1330 respectively. 
EXPIRATIONS=30,1200,60,30,1330

# COLORSCHEME - This is a series of default ANSI color definitions in the 
# form of COLORCODE=COLOR,COLORCODE=COLOR+COLOR,COLORCODE=COLOR.
# Valid COLORCODES include: "FIGHT","SPELL","EMOTE","TALK", "CHANNELTALK",
# "CHANNEL","CHANNELFORE","IMPORTANT1", "IMPORTANT2","IMPORTANT3",
# "ROOMTITLE","ROOMDESC","DIRECTION","DOORDESC","ITEM","MOB","HITPOINTS",
# "MANA","MOVES","NORMAL","HIGHLIGHT","UNEXPDIRECTION","UNEXPDOORDESC".
# Valid COLORS include: "WHITE","LIGHTGREEN","LIGHTBLUE","LIGHTRED",
# "YELLOW","LIGHTCYAN","LIGHTPURPLE","GREY","GREEN","BLUE","RED","BROWN",
# "CYAN","PURPLE","DARKGREY","BLACK","NONE","BOLD","UNDERLINE","BLINK","ITALICS",
# "BGWHITE","BGGREEN","BGBLUE","BGRED","BGYELLOW","BGCYAN","BGPURPLE","BGBLACK",
# "BGDEFAULT","YOU-FIGHT","FIGHT-YOU"
COLORSCHEME=NORMAL=GREY,\
			HIGHLIGHT=LIGHTCYAN,\
			YOU-FIGHT=LIGHTPURPLE,\
			FIGHT-YOU=LIGHTRED,\
			FIGHT=RED,\
			SPELL=YELLOW,\
			EMOTE=LIGHTPURPLE,\
			TALK=LIGHTBLUE,\
			TELL=CYAN,\
			CHANNEL=LIGHTCYAN+BGBLUE,\
			IMPORTANT1=LIGHTCYAN+BGBLUE,\
			IMPORTANT2=YELLOW+BGBLUE,\
			IMPORTANT3=YELLOW+BGRED,\
			ROOMTITLE=LIGHTCYAN,\
			ROOMDESC=WHITE,\
			DIRECTION=LIGHTCYAN+BGBLUE,\
			DOORDESC=LIGHTBLUE,\
			ITEM=LIGHTGREEN,\
			MOB=LIGHTPURPLE,\
			HITPOINTS=LIGHTCYAN,\
			MANA=LIGHTCYAN,\
			MOVES=LIGHTCYAN,\
			UNEXPDIRECTION=CYAN+BGBLUE,\
			UNEXPDOORDESC=LIGHTBLUE

# DEFAULTPARENTAREA is the default parent to assign to all areas that
# use the default clock.  That is, if a new StdTimeZone or StdPlanet 
# area is created, this would not apply.  All other StdArea, StdThinArea, 
# etc type areas that do not have StdTimeZone or StdPlanet parents, however,
# would be automatically assigned the area of this name as a parent.  This
# is yet another useful way to add features to great swaths of areas.
# Default is empty
DEFAULTPARENTAREA=

######################################################################
# Miscellaneous Game related configuration variables
######################################################################

# The AUTOPURGE is a comma-separated list of conditions and days which
# together describe how long a character will remain in the player database
# despite not having logged on.  The condition must start with a comparison 
# on the level of the player, such as <2 >3, <=4, >=5 etc.  This  is followed
# by a space and the number of rl days that their account will remain
# before being automatically purged. If this amount evaluates to zero, then 
# the account will never be purged. After that is the number of rl days before
# autopurging to email a warning. If this amount evaluates to zero, then 
# the account will never be warned.  Use the NOPURGE game command to protect 
# specific players and override this setting.  To disable all player character
# purging, use a setting of: >=0 0 0
# The default is <2 10 0, <3 15 1, <10 30 2, <90 90 7, >=90 0 0
AUTOPURGE=<2 10 0, \
          <3 30 5, \
          <10 90 7, \
          <30 180 7, \
          <90 270 14, \
          >=90 0 0

# The ACCOUNTPURGE how long an account will remain in database despite not
# having any characters (see AUTOPURGE). This time will begin to tick down
# after the last logout, or, if the expiration system is used, after the
# expiration date is reached.
# This number is in real life days, and 0 disables. Default is 14 (two weeks).
ACCOUNTPURGE=14

# The IDLETIMERS is a number pair representing the number of minutes a player
# may remain idle (not entering anything) before being automatically logged
# off.  This is followed by a number representing the number of minutes of
# idleness before they get an "idle warning".  Setting these to 0 disables
# the feature.  Default is 90 85.
IDLETIMERS=90 85

# The EMAILREQ flag describes EMAIL ADDRESS usage and requirement.
# Values include:
# OPTIONAL - email address is optional (default)
# DISABLED - email address is not asked for
# REQUIRED - email address is required to create a character
# PASSWORD - During character creation, the user does not enter their 
#            own password.  Instead, a random password is generated and
#            emailed to the given email address (which is required).
EMAILREQ=OPTIONAL

# The EDITORTYPE value says whether the mobs/item editor is 
# the WIZARD style or the MENU style. Default is MENU.
EDITORTYPE=MENU

# The PAGEBREAK value sets the default player value for 
# whether there is a "<pause - enter>" message after a 
# given number of lines.  0 means no, otherwise, its the 
# number of lines after which to break when large text pages are dumped.
# The player can modify this value with the PAGEBREAK command.
# Default is 0.
PAGEBREAK=0

# COMPRESS is a list, separated by commas, of which internal
# objects or systems should optimize their memory usage.  
# This can often be at the expense of CPU usage, so change
# these with care.  Systems which may be chosen include:
# GENMOBS, ITEMDESC, ROOMDESC, RESOURCES, MOBDESC.  
# The default is to compress nothing.
COMPRESS=

# BADNAMES is an ini entry that allows you to make certain player 
# names invalid when players are created.  The list is COMMA
# delimited.
# Example: 
# BADNAMES=badname1,badname2,badname3
BADNAMES=Ability,Abjurer,Acid,Age,Alignment,Alterer,Apprentice,Arcanist,Armor,Artisan,Assassin,Attack,Barbarian,Bard,Beastmaster,Burglar,Charisma,Charlatan,Cleric,Cold,Conjurer,Constitution,Conversion,Damage,Delver,Detection,Dexterity,Disease,Disposition,Diviner,Doomsayer,Druid,Electricity,Enchanter,Evoker,Fatigue,Fighter,Fire,Gaian,Gas,Gender,General,Guest,Healer,Height,Hits,Hunger,Illusionist,Intelligence,Jester,Justice,Last,Level,Mage,Magic,Mana,Maxcharisma,Maxconstitution,Maxdexterity,Maxfatigue,Maxhits,Maxhunger,Maxintelligence,Maxmana,Maxmove,Maxstrength,Maxthirst,Maxwisdom,Mer,Mind,Minstrel,Missionary,Monk,Move,Necromancer,Nigger,Oracle,Paladin,Paralysis,Pirate,Poison,Practices,Prancer,Purist,Questpoints,Ranger,Rejuv,Resists,Sailor,Scholar,Senses,Shaman,Skywatcher,Strength,Templar,Test,Tester,Thief,Thirst,Trains,Transmuter,Trapper,Traps,Undead,Virax,Water,Weight,Weightadj,Wisdom,Xp,Xpfnl,Xptnl
	
# COMMONACCOUNTSYSTEM enables or disables the common account system
# that allows players to use single accounts to manage all their
# characters.  
# Value is 0 or 1 to disable, or the maximum number of characters 
# each account can create.  Default is 1
COMMONACCOUNTSYSTEM=1

# MAXCONNSPERACCOUNT is used with COMMONACCOUNTSYSTEM and the
# MAXCONNSPERIP systems above to set a maximum number of character
# online for a given account.  Value is 0 to disable this feature,
# or a positive number.  Default is 3
MAXCONNSPERACCOUNT=3

# ACCOUNTEXPIRATION enables or disables the account expiration
# system.  YES/NO are acceptable.  This can be used on a per-player
# or as part of the COMMONACCOUNTSYSTEM. This system can also be 
# used as a character/account approval system, when TRIALDAYS=0.
# Default is NO.
ACCOUNTEXPIRATION=NO

# TRIALDAYS sets how many days a player gets free with character
# creation.  This setting only matters when ACCOUNTEXPIRATION=YES.
# Default is 15
TRIALDAYS=15

# EXPCONTACTLINE is the line displayed to the players when their account
# is expired.    This setting only matters when ACCOUNTEXPIRATION=YES.
EXPCONTACTLINE=Your account is expired.  Please contact _____ for assistance.

# LISTFILE is the name of the file containing numerous charts and string
# lists which the truly geeky among you may want to open up and customize.
# Multiple entries may be separated by commas to allow later files to 
# override earlier ones.  An entry can even be an override variable.
# Default is /resources/lists.ini
LISTFILE=/resources/lists.ini

# EXTVAR refers to a list of optional INI file entries to have admin-
# defined variables "tacked on" to existing CoffeeMud objects, especially
# GenCharClass, GenRace, DefaultPlayerStats, most of the various
# Generic MOB and Item types (GenItem, GenWeapon, GenMob, GenArmor, etc), 
# Rooms (StdRoom, Woods, etc), and Areas (StdArea, etc).
# These are defined by creating a new INI entry of the form "EXTVAR_" 
# followed by the Class ID (GenWeapon, Woods, etc).  Each entry should
# be set equal to a comma-delimited list of new variable names you 
# would like to add to the class object.  The variables will then begin
# to appear in the object editors, and will be saved and persisted in 
# the database.
#
# Example: EXTVAR_GenArmor=SHININESS,COLOR,EMBLEM  

# ADDCHARSTAT and REPLACECHARSTAT allow you to add or modify character 
# stats used by the coffeemud engine.  Character stats are things like 
# STRENGTH, DEXTERITY, saving throws, etc.  These will be displayed in 
# appropriate places, and their values will be your player's db records.
# They are defined by creating a new INI entry of the form "ADDCHARSTAT_" 
# followed by the NAME of the new stat to create, or "REPLACECHARSTAT_" 
# followed by the NAME of the old stat.  Each entry is then set equal to 
# a comma-delimited list of fields that define the new stat (or redefine 
# the old one).  These fields are, respectively: 
# 1. a stat type (BASE, SAVE, OTHER, or a new stat name when REPLACEing), 
# 2. a unique 2 letter abbreviation, 
# 3. a description, 
# 4. an adjective.  
# For example:
# ADDCHARSTAT_NEWSTAT=SAVE,ns,my new stat,newstatty
# REPLACECHARSTAT_STRENGTH=NEWSTAT,ns,my new stat,newstatty

# ADDMATERIAL and REPLACEMATERIAL allow you to add or modify the physical 
# resources used by the coffeemud engine for items.  These are things like 
# PORK, MITHRIL, LEATHER, LAMP_OIL, etc.  These will be displayed in 
# appropriate places, and their values will available to your archons.
# They are defined by creating a new INI entry of the form "ADDMATERIAL_" 
# followed by the NAME of the new resource to create, or "REPLACEMATERIAL_" 
# followed by the NAME of the old res.  Each entry is then set equal to 
# a comma-delimited list of fields that define the resource (or redefine 
# the old one).  These fields are, respectively: 
# 1. a material (CLOTH, LEATHER, METAL,MITHRIL, WOODEN, GLASS, VEGETATION, 
#    FLESH, PAPER, ROCK, LIQUID, PRECIOUS, ENERGY, PLASTIC), 
# 2. a smell (if any), 
# 3. value, 
# 4. rarity weight (1-100, lower=rarer), 
# 5. hardness (0-6), 
# 6. bouancy (0-30000), 
# 7. the gathering category (FISH, BERRY, WOODY, or nothing).
# 8. an optional ability ID (currently only for eating the raw form)
# For example:
# ADDMATERIAL_FLUFF=cloth,,0,100,0,10,,
# REPLACEMATERIAL_COTTON=cloth,,0,100,0,10,,
# ADDMATERIAL_GRUG=flesh,strong meaty,3,15,1,2000,FISH,

# ADDWEARLOC and REPLACEWEARLOC allow you to add or modify the wearable  
# locations used by the coffeemud engine for mobs.  These are things like 
# left finger, on eyes, on torso, etc.  These will be displayed in 
# appropriate places, and their values will available to your archons.
# They are defined by creating a new INI entry of the form "ADDWEARLOC_" 
# followed by the NAME of the new location to create, or "REPLACEWEARLOC_" 
# followed by the NAME of the old loc.  Each entry is then set equal to 
# a comma-delimited list of fields that define the location (or redefine 
# the old one).  These fields are, respectively: 
# 1. a list of wear locations dependent on this one sep. by | characters, 
# 2. the armor score of this location (0.0 - 2.0), 
# 3. the displayed order (0-n), 
# 4. the weight score for cloth (0.0 - 10.0), 
# 5. for leather (0.0 - 10.0), 
# 6. for metal (0.0 - 10.0).  
# For example:
# ADDWEARLOC_FACE=eyes|mouth,0.2,16,0.5,0.7,1.0
# REPLACEWEARLOC_EYES=,0.1,7,0.1,0.2,0.3

######################################################################
# Channel and Command Journal Configuration
######################################################################

# CHANNELS is a list, separated by commas, as below.  
# These are public "CHAT" commands.  The channels must be 
# one word, in uppercase.  You may include a space and 
# an allowed channel participant mask, but this is optional.
# The channel mask uses the same flags as is shown in the Archon help
# files under ZAPPERMASKS.  The mask may also include the word 
# SAMEAREA to restrict a channel to being heard only by those in the 
# same area as the speaker, READONLY to make the channel read-only, 
# PLAYERREADONLY to make the channel read-only to players alone, and
# ARCHONREADONLY to make the channel read-only except to archons.
# The flag CLANONLY will display information only to player's clan members.
# The flag CLANALLYONLY will add members of allied clans to the talk.
# The flag NOBACKLOG will prevent saving msgs to the database
# The flag ACHIEVEMENTS will announce player achievement gains.
# The flags ADDAREA amd ADDROOM will add the name of the speakers location.
# Other flags include EXECUTIONS, LOGINS, LOGOFFS, BIRTHS, MARRIAGES, 
# DIVORCES, CHRISTENINGS, LEVELS, DETAILEDLEVELS, DEATHS, DETAILEDDEATHS,
# CONQUESTS, CONCEPTIONS, NEWPLAYERS, LOSTLEVELS, PLAYERPURGES, CLANINFO,
# WARRANTS, ADDACCOUNT, ACCOUNTOOC, ACCOUNTOOCNOADMIN, REALNAMEOOC,
# REALNAMEOOCNOADMIN, NOLANGUAGE, or the names of any colors to override 
# the default. Some of the above flags cause events to be automatically
# broadcasted on the given channel.
CHANNELS=\
	GOSSIP,\
	GRATZ,\
	CHAT,\
	OOC ACCOUNTOOC NOLANGUAGE,\
	QUESTCHAT PLAYERREADONLY, \
	WIZ +SYSOP -NAMES, \
	CLANTALK CLANONLY CLANINFO CONQUESTS LOGINS LOGOFFS, \
	INFO READONLY EXECUTIONS LEVELS NEWPLAYERS BIRTHS MARRIAGES ACHIEVEMENTS DIVORCES CHRISTENINGS, \
	WIZINFO READONLY LOGINS LOGOFFS DETAILEDLEVELS DETAILEDDEATHS PLAYERPURGES +SYSOP -NAMES

# COMMANDJOURNALS is a list, separated by commas, as below.  
# These are system journal commands.  The journal names must be 
# one word, in uppercase.  You may include a space and 
# an optional zapper mask which will show who is allowed to use the command, 
# The zapper mask uses the same flags as is shown in the Archon help files 
# under ZAPPERMASKS.  
# Including "CHANNEL=CHANNELNAME" in the mask, with no spaces, will cause 
# all new entries to be echoed to the given channel of the name "CHANNELNAME".
# The channel must be defined above.
# Including "ADDROOM" with any value in the mask prepends the roomID of the person 
# adding entries to the journal to message entries.
# Including "CONFIRM" with any value in the mask forces the user to be prompted
# to confirm their new entry.
# Including "ADMINECHO" with any value will cause new messages to be echoed to those 
# with the appropriate security flag when they log in.
# Including "EXPIRE=X" in the mask, with no spaces, will cause entries more 
# than X days old to be automatically purged from the journal.
# Including "SCRIPT=[filename]" in the mask will cause the given mobprog script 
# (see Scripting guide) to be executed, with the results appended to the journal.
# Including "REPLYSELF=NAME" with the name of a journal, ALL, or a user, will automatically
# send the message to that destination when one replies to a message that is both from and to
# the replyer.
# Including "REPLYALL=NAME" with the name of a journal, ALL, FROM, MAILBOX, or a user, will 
# automatically send the message to that destination when one replies to a message that is to ALL. 
# Including "ASSIGN=NAME1:NAME2" with a colon-delimited list of arbitrary names allows messages to
# be transferred to those names, thus acting as categories.
# Including "MOTD" with any value forces user to be prompted at login when they have messages assigned.
# Security flags are automatically defined for each COMMANDJOURNAL.  Players
# with a security flag whose name is the same as the COMMANDCHANNEL will be
# able to list and destroy items from the journal.
COMMANDJOURNALS=\
	BUG CONFIRM SCRIPT=progs/bugreport.script,\
	TYPO ADDROOM,\
	IDEA,\
	TASK,\
	ASSIST CHANNEL=WIZINFO EXPIRE=2 ADMINECHO

# FORUMJOURNALS is a list, separated by commas, as below.  
# These are journals that act as open forums for users, esp on the
# web site.  After the journal name comes a series of flags and 
# modifiers. "Zapper masks" refers to the same flags as is shown 
# in the Archon help files under ZAPPERMASKS.  
# "READ=ZAPPER MASK" will determine who may read messages in this forum.
# "POST=ZAPPER MASK" will determine who may post messages in this forum.
# "REPLY=ZAPPER MASK" will determine who may reply to msgs in this forum.
# "ADMIN=ZAPPER MASK" will determine who may administer this forum.
# "EXPIRE=X" in the mask, with no spaces, will cause entries more 
# than X days old to be automatically purged from the journal.
# * Do not include any spaces before your equal signs!
# For masking purpose, anonymous users are level 0 mobs.
FORUMJOURNALS=\
	Open Discussion ADMIN=+SYSOP -NAMES EXPIRE=90,\
	Announcements READ=-<1 POST=+SYSOP -NAMES REPLY=+SYSOP -NAMES ADMIN=+SYSOP -NAMES EXPIRE=90,\
	Player Chat READ=-<1 ADMIN=+SYSOP -NAMES EXPIRE=360,\
	Archons Speak READ=+SYSOP -NAMES POST= REPLY= ADMIN= EXPIRE=360

# JOURNALLIMIT is the maximum number of journal entries to show when 
# reading the table of contents of a journal.  This number can be 
# overridden when reading the journal to list older entries.  The
# default is 10.  0 would be no limit.
JOURNALLIMIT=10

# CHANNELBACKLOG is the maximum number of channels messages for each
# channel that will be retained in the channel backlog database. 
# A simple number is the number of messages to retain, while a number
# followed by the word DAYS, WEEKS, MONTHS, or YEARS will retain
# messages for that amount of time. A simple value of 0 disables the
# entire backlog process, while the word "INFINITY" or "FOREVER" retains
# all backlog database messages for all time. 
# DEFAULT is 10000
CHANNELBACKLOG= 10000

######################################################################
# Clan Settings
######################################################################

# MINCLANLEVEL sets the system-wide absolute minimum level
# that players must have reached to join a clan. For
# systems that are multi-class or sub-class, total levels
# is used, not highest.
# Default is 1
MINCLANLEVEL=1

# MINCLANMEMBERs is how many members must be in a clan before that clan
# is activated.  Pending Clans may not purchase land or negotiate with
# other clans. This is also the minimum active number of members to not
# be removed.  A value of 0 prevents a clan from ever being purged.
# Default is 1
MINCLANMEMBERS=1

# MAXCLANMEMBERs is how many members max may be in a single clan before 
# that clan automatically rejects applications.  Setting this to 0 
# removes the restriction altogether.
# Default is 20
MAXCLANMEMBERS=20

# DAYSCLANDEATH is an auto-maintenance feature.  
# If MINCLANMEMBERS haven't logged on in DAYSCLANDEATH days, the Clan
# is automatically destroyed, their lands re-possessed, and bank account
# emptied. Set this to 0 to disable altogether
#
# *** Note - this is in IN-GAME time, where 24 days equals 1 RL day
# Default is 1260
DAYSCLANDEATH=1260

# DAYSCLANOVERTHROW is an auto-maintenance feature.  
# If the only clan members with the highest rank are declared
# missing because they have not logged in in DAYSCLANOVERTHROW days, the 
# current position holders will be replaced with the next highest ranking
# player who is eligible and has logged in recently.  Set this to 0 to
# disable this feature.
#
# *** Note - this is in IN-GAME time, where 24 days equals 1 RL day
# Default is 952
DAYSCLANOVERTHROW=952

# CLANVOTE is part of the clan voting feature.  It determines
# the number of mud days that a vote is allowed to exist before
# being closed.  The vote will remain active for this given amount
# of time, and also linger for the same amount of time after the 
# vote.  This number of days is followed by a comma and a required
# %quorum for a vote to be considered valid, if the time expires.
# There are three ini file settings for this feature, the
# first being CLANVOTEO for Oligarchy, CLANVOTER for Republic, 
# and CLANVOTED for Democratic.
# Remember, the format is CLANVOTEX=DAYS,QUORUM%
# *** Note - the days are in IN-GAME time, where 24 days equals 1 RL day
CLANVOTEO=24,100
CLANVOTED=100,33
CLANVOTER=48,66

# CLANTROP is part of the clan trophy system whereby clan members are 
# rewarded for the performance of their clan.  Possible trophies:
# * CLANTROPAREA is awarded to the clan with the most
# number of areas controlled through the Conquerable behavior.  
# * CLANTROPCP is awarded to the clan with the most
# number of control points gained through the Conquerable behavior.
# * CLANTROPPK is awarded to the clan with the most
# number of rival clan player kills in the last rl month.
# * CLANTROPEXP is awarded to the clan with the most experience points.
# * CLANTROPMB is awarded to the clan with the most members
# * CLANTROPLVL is awarded to the clan with the highest median level
# * CLANTROPPLVL is awarded to the clan with the most player levellings
# * CLANTROPPTIME is awarded to the clan with the most player time played
#   :: The following are awarded for performance in the last month ::
# * CLANTROPMONTHLYPTIME is awarded to the clan that had the most player time
# * CLANTROPMONTHLYPXP is awarded to the clan that gained most player xp
# * CLANTROPMONTHLYEXP is awarded to the clan that had most clan xp
# * CLANTROPMONTHLYAREA is awarded to the clan that had most areas conquered
# * CLANTROPMONTHLYLVLS is awarded to the clan that had most clan levellings
# * CLANTROPMONTHLYCP is awarded to the clan that gained most control points
# * CLANTROPMONTHLYMB is awarded to the clan that had most new members
# The values of each of these variables denote the award given to the
# clan or its members.  If no value is given, the trophy is disabled.
# Each award is in the format: AMOUNT TYPE.
# AMOUNT may be a literal number or a percentage.
# TYPE may be:
#   EXPERIENCE to give an award of individual player experience bonus.
#   PRACTICES to give practice points at the donation room
#   TRAINS to give training points at the donation room 
#   COINS to give money at an open bank account
CLANTROPAREA=10% EXP
CLANTROPCP=5% EXP
CLANTROPEXP=5% EXP
CLANTROPPK=10% EXP
CLANTROPMB=3% EXP
CLANTROPLVL=3% EXP
CLANTROPPLVL=3% EXP
CLANTROPPTIME=3% EXP
CLANTROPMONTHLYPTIME=2% EXP
CLANTROPMONTHLYPXP=2% EXP
CLANTROPMONTHLYEXP=2% EXP
CLANTROPMONTHLYAREA=2% EXP
CLANTROPMONTHLYLVLS=2% EXP
CLANTROPMONTHLYCP=2% EXP
CLANTROPMONTHLYMB=2% EXP

# CLANENCCOST is the amount of clan experience, per enchantment point
# that is used in the construction of a clan item.
# Default is 1000
CLANENCHCOST=1000

# CLANCOST is the amount of gold required to start a new clan.  Default
# is 10000 gold.
# Default is 10000
CLANCOST=10000

# MAXCLANCATS is a comma delimited list of clan categories, followed by 
# the maximum number of clans of that category that a player can belong
# to simultaneously.  The format is for each entry is name of a category
# followed by a space and the maximum number, where 0 is unlimited.  An
# entry that is only a number will serve as a default for all unlisted cats.
# Example: MAXCLANCATS=ClanCatA 2, ClanCatB 3, 0
# Default is 1
MAXCLANCATS=1

# PUBLICCLANCATS is a comma delimited list of clan government clan 
# categories.  The government categories on this list are available for
# players to create their own clans from.  Others are not.  The
# empty string category is always available.
# Example: PUBLICCLANCATS=ClanCatA, ClanCatB
# Default is nothing (meaning only empty string is public)
PUBLICCLANCATS=

# CLANWEBSITES is a comma delimited list of coded lines describing where
# clans of particular government clan categories mount and get their
# personal web site.  The format for each line is:
# [CLAN CATEGORY OR CLAN NAME] WebMountPath TemplatePath
# The WebMountPath is the web path to the site, and will show up on 
# all mud web servers that have at least one mount path that is
# a root of that path.  TemplatePath is a directory of files
# where the default pages for the web site are copied from.
# Use <CLANNAME> in a mount path in order to insert the clans name.
# Use <CLANTYPE> in a journal name in order to insert the clans govt type.
# Do not allow more than one clan to map to an entry in this list.
# Default is [] /web/pub/clan/<CLANNAME> /web/clan.templates
CLANWEBSITES=[] /web/pub/clan/<CLANNAME> /web/clan.templates

# CLANFORUMDATA is a comma delimited list of coded lines describing where
# clans of particular government clan categories mount and get their
# forums, and the name and nature of those forums.  The format for each 
# line is [CLAN CATEGORY] Journal name followed by a series of flags and 
# modifiers. "Zapper masks" refers to the same flags as is shown 
# in the Archon help files under ZAPPERMASKS.  
# "READ=ZAPPER MASK" will determine who may read messages in this forum.
# "POST=ZAPPER MASK" will determine who may post messages in this forum.
# "REPLY=ZAPPER MASK" will determine who may reply to msgs in this forum.
# "ADMIN=ZAPPER MASK" will determine who may administer this forum.
# "EXPIRE=X" in the mask, with no spaces, will cause entries more 
# than X days old to be automatically purged from the journal.
# Use <CLANNAME> in a journal name in order to insert the clans name.
# Use <CLANTYPE> in a journal name in order to insert the clans govt type.
# * Do not include any spaces before your equal signs!
CLANFORUMDATA=[] a Journal of <CLANTYPE> <CLANNAME> READ=-<1 POST=-<1 REPLY=-<1  EXPIRE=0

######################################################################
# MSP (Sound) Settings
######################################################################

# SOUND URL/PATH (optional)
# This is used only to provide a URL path 
# for MSP sound files in the pub/sounds directory.
# It should be set to your public web server's 
# URL, along with the path to your sound files.  
# For instance:
# http://www.mydomain.com:27744/sounds/
# or
# http://21.1.231.23:80/sounds/
# The port number in the URL, if any, should match the
# port number in the pub.ini for your web server.
#
# You MUST modify this value if you want your players 
# to be able to download sounds.  The default setting of
# localhost would only help you.
SOUNDPATH=http://pocketmud.com:27744/sounds/

######################################################################
# MXP (HTML/Enhanced) Settings
######################################################################

# MXPIMAGEPATH (optional)
# This is used only to provide a URL path 
# for MSP sound files in the pub/images/mxp directory.
# It should be set to your public web server's 
# URL, along with the path to your sound files.  
# For instance:
# http://www.mydomain.com:27744/images/mxp
# or
# http://21.1.231.23:80/images/mxp
# The port number in the URL, if any, should match the
# port number in the pub.ini for your web server.
#
# You MUST modify this value if you want your players 
# to be able to download images.  The default setting of
# localhost would only help you.
MXPIMAGEPATH=http://pocketmud.com:27744/images/mxp

######################################################################
# Default Economy Configuration
######################################################################

# PREJUDICE is used to define both the buying and selling
# adjustments which shopkeepers will give by default, both 
# to everyone or to selected races.  An entry is required for each 
# adjustment by race.  Each entry is separated by a semicolon, and must
# begin with either BUY= or SELL=.  BUY is buying from a shopkeeper, 
# and SELL is selling to a shopkeeper. Each entry may end with the name of
# more than one race to apply to other than everyone. The values for BUY=
# and SELL= are Real (decimal) numbers, with 1.0 meaning NO adjustment.
# See the Archon's Guide under What Areas are Worth for more information on this
# field.
# This field may also be defined for individual shopkeepers or areas.
# The value here is only the default when no individual value is given.
# Default value is empty, which uses adjustment 1.0 for everyone.
# An example value would be:
# BUY=5.5 SELL=0.8 Elf Dwarf;BUY=2.0 SELL=0.9 Human;BUY=1.0;SELL=.99
PREJUDICE=

# PRICEFACTORS is used to define both the buying and selling
# adjustments which shopkeepers will give by default, for select
# items or types of items.  An entry is required for each 
# adjustment by type of item.  Each entry is separated by a semicolon, and must
# begin with a real (decimal) number with 1.0 meaning NO adjustment.  That is
# followed by a space and a zapper mask describing the types of items to
# apply this adjustment to. See the HELP entry for PROP_HAVEZAPPER for more information
# on how to encode masks in CoffeeMud.  See the Archon's Guide under What Areas are Worth 
# for more information on this field.
# This field may also be defined for individual shopkeepers or areas.
# The value here is only the default when no individual value is given.
# Default value is empty, which uses adjustment 1.0 for everything.
# PRICEFACTORS=0.5 -MATERIAL +WOODEN; 2.0 -MATERIAL +MITHRIL
# (this would make all wooden items half price, and all mithril items double-price)
PRICEFACTORS=

# IGNOREMASK is used to define a default value for the sort of
# people shopkeepers, bankers, and postal clerks will rudely ignore.
# This field may also be defined for individual shopkeepers or areas also.
# The value here is only the default when no individual value is given.
# Default value is empty, which means noone is ignored.  Otherwise,
# see the HELP entry for PROP_HAVEZAPPER for more information
# on how to encode masks in CoffeeMud, and/or your Archon's Guide under
# What Areas are Worth.
# BUY=-CLASS +Fighter -RACE +Elf
IGNOREMASK=

# BUDGET is used to define the maximum amount of money, per a defined
# time period, which shopkeepers will spend when buying equipment from 
# players.  The format of the field is an amount of gold 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.  
# This field may also be defined for individual shopkeepers or areas.
# The value here is only the default when no individual value is given.
# See the Archon's Guide under What Areas are Worth for more information.
# The default is 500000 MONTH
BUDGET=500000 MONTH

# DEVALUERATE is the percentage drop in price for every additional item
# of a given name that is sold to the shopkeeper.  This rate is always
# taken off of an items base price, so that a devalue rate of 100 (100%)
# will always limit a shopkeeper from buying more than one, 50 limits to
# 2, 25 limits to 4, 12.5 to 8, and so forth.  
# If a single value is given, it will apply to all items.  If two values
# are given, separated by spaces, then the first will apply to all items,
# and the second only to raw resource items (raw wood, raw metals, stone, etc).
# This field may also be defined for individual shopkeepers or areas.
# The value here is only the default when no individual value is given.
# See the Archon's Guide under What Areas are Worth for more information.
# The Default is "20 0.2" (20% 0.2%) which means 0.2% for resources, 20% other Items.
DEVALUERATE=20 0.2

# INVRESETRATE is the frequency, in ticks (4 second intervals), that a
# shopkeeper, by default, will totally reset his inventory.  This means
# that any items purchased from players will be cleared out, and any
# default stock will be replentished.  A value of 0 means that the
# shopkeeper NEVER resets his inventory.  A value above 0 is the 
# amoung of time, in ticks.  
# This field may also be defined for individual shopkeepers or areas.
# The value here is only the default when no individual value is given.
# See the Archon's Guide under What Areas are Worth for more information.
# The default is 64800 (about 3 real life days).
INVRESETRATE=64800

# AUCTIONRATES is a comma delimited list of prices that the engine will
# charge players for using the auction system.  All prices are in base 
# gold values. The list of numbers is as follows: the live auction 
# listing fee, the timed auction listing fee, % of an items based value to 
# add to the timed auction listing fee per mud-day (per rl hour), the 
# % cut from the selling price to the auction house for live auctions, the 
# % cut from the selling price to the auction house for timed auctions,
# the minimum number of mud-days to run a live auction,
# and finally, the maximum number of mud-days to run a live auction.
# Default is 0,10,0.1%,10%,5%,4,168
AUCTIONRATES=0,10,0.1%,10%,5%,4,168

######################################################################
# Filters
######################################################################

# EMOTEFILTER masks out messages that contain one of the words listed.
# Phrases can also be included by putting the strings in quotes.
# Each word/phrase is separated by a space.
EMOTEFILTER=

# SAYFILTER masks out messages that contain one of the words listed.
# Phrases can also be included by putting the strings in quotes.
# Each word/phrase is separated by a space.
SAYFILTER=

# CHANNELFILTER masks out messages that contain one of the words listed.
# Phrases can also be included by putting the strings in quotes.
# Each word/phrase is separated by a space.
CHANNELFILTER=SHIT FUCK CUNT FAGGOT ASSHOLE ASSWHOLE ARSEHOLE PUSSY COCK SLUT BITCH DAMN FUCKING DICK FUCKITY FUCKHOLE SHITHOLE FUCKER MOTHERFUCKER FUK FUKER FUKR MOTHERFUKR MOTHERFUK SHITTY KUNT 

# POSEFILTER masks out messages that contain one of the words listed.
# Phrases can also be included by putting the strings in quotes.
# Each word/phrase is separated by a space.
POSEFILTER=

######################################################################
# Redefinable escape codes
######################################################################

# These are definable escape codes.
# They are accessed from text using 
# ^0, ^1, ^2, etc..
ESCAPE0=
ESCAPE1=
ESCAPE2=
ESCAPE3=
ESCAPE4=
ESCAPE5=
ESCAPE6=
ESCAPE7=
ESCAPE8=
ESCAPE9=

######################################################################
# Logging flags
######################################################################

# There are several logging channels in the code:
# NUMLOGS is set the number of logs total to keep (a new one is made every boot)
#
# SYSMSGS for informational messages
# ERRMSGS for error and abnormal messages
# WRNMSGS for almost error and abnormal messages
# DBGMSGS for debug messages
# HLPMSGS for failed attempts to use HELP command
# ACCMSGS for web server access logs
# KILMSGS for kills messages
# CBTMSGS for detailed combat/xp messages
# Valid values include:
#   ON for screen output
#   OFF to turn the channel off
#   FILE for mud.log output
#   BOTH for both screen and file output
#   OWNFILE to send to its own file (ex: mud_help.txt)
#       append <[NUMBER]L to roll logs after [NUMBER] lines, ex: OWNFILE<9999L
#       append <[NUMBER]B to roll logs after [NUMBER] bytes, ex: OWNFILE<9999999B
#           use B for bytes, K for kilobytes, M for megabytes, G for gigabytes
#       prefix with a number to change the number of logs kept during rolling.
#           example: 55OWNFILE<999L = keep 55 log files, that roll after 999 lines
NUMLOGS=10
SYSMSGS=BOTH
ERRMSGS=BOTH
WRNMSGS=BOTH
DBGMSGS=BOTH
HLPMSGS=OWNFILE
KILMSGS=OFF
CBTMSGS=OFF
ACCMSGS=OFF

######################################################################
# Subsystem, Debug, and other internal flags
######################################################################

# The DISABLE flag is used to turn off turn off certain mud subsystems.
# 
# EXPERIENCE, RACES, CLASSES, LEVELS
# Disable can be used to disable all experience gaining and losing as well 
# as level gaining and losing.   Races and Classes can also be disabled 
# from display, although they still impact skill qualifications and other 
# factors behind the scenes.  If races are disabled, then all new players 
# be set to "PlayerRace" if it exists, or StdRace otherwise.  If classes 
# are disabled, all new players will be set to "PlayerClass" if it exists, 
# or  StdCharClass otherwise.
# 
# STDRACES, STDCLASSES 
# If you want to quickly turn off standard player races and/or classes and 
# start building your own generic ones from scratch, you can expel them from 
# character creation (but not from magical effects) with this.
#
# RACE_HALFELF, RACE_*, CHARCLASS_SKYWATCHER, CHARCLASS_* 
# If you want to quickly turn off access to a specific player race or class, 
# simply use RACE_  or CHARCLASS_ followed by the ID, in uppercase, of the 
# thing to disable.
#
# CONNSPAMBLOCK
# Disable the subsystem that prevents numerous mud connections from the
# same ip address in a short timespan.
# 
# HUNGER, THIRST
# Disables the tendency for players to get hungry and/or thirsty over time.
#
# LOGOUTS
# Disables the removal of characters from the game world on logout.
#
# QUITREASON, RETIREREASON
# Disables the prompt for a reason for quitting a new character, or retiring.
#
# ROOMVISITS
# Disables the systems ability to remember every room a player visits for
# determining exploration stats later on.  This is potentially a HUGE memory
# hog, so turn this off if your memory is limited.
#
# CLASSTRAINING 
# Disables the ability of players to use the Train command to change their
# class.  Other Training features are unaffected.  Make sure you provide
# other mechanisms for class changes if you use this feature, such as 
# scripting or clan classes.
#
# LOGINS
# Disables non-archons from logging in.  This puts your MUD into a maintenace
# mode.  The text file resources/text/offline.txt is shown to them.
#
# NEWPLAYERS, NEWCHARACTERS
# Disables the ability of those without accounts to create their own
# players at login.  Be sure to put something in your intro.txt to let
# folks know how their can get accounts!  If you are using the common
# account system, you can disable NEWCHARACTERS also to disable both account
# and character creation.
#
# PASSIVEAREAS
# Disables the way the system renders standard-mobile mobs immobile, and stops
# standard aggressive behaviors from occurring when a player has not been in 
# an area for 30 minutes or more (restarting it when they re-enter the areas)
#
# ALLERGIES
# Disables the automatic assignment of a random allergy to new players.
#
# AUTODISEASE
# Disables most of the engine's automatic disease-catching.
#
# DARKNIGHTS, DARKWEATHER
# Disables the making of all outdoor rooms dark when night falls, or 
# the making of all outdoor rooms dark during blizzards and duststorms
#
# AUTOPURGE, PURGEACCOUNTS
# Disables the player purging system, and/or the auto-deletion of 
# accounts when characters are purged or expired.
#
# EQUIPSIZE
# Disables the equipment sizing system in the game. 
#
# WEATHER, WEATHERNOTIFIES, WEATHERCHANGES
# Disables aspects of the area-based automatic weather system, specifically
# the entire system, notification of changes, and the changes themselves
# respectively.
#
# TECHLEVEL
# Disables the tech-item-level system
#
# SHOWXP
# Disables the ability to see how much experience a player has earned.
#
# AUTOLANGUAGE
# Disables the system whereby players attempt to speak the language of the
# person they are addressing, and auto-address the only person in the room
#
# SLOW_AGEING
# Disables the system that prevents users who have been logged out for a long
# time from aging more than 1 year (or so). 
#
# You may also disable a command by including the flag COMMAND_* where * is
# the command class name (not the execution/key word).
#
# You may also disable a skill/spell/etc by including the flag ABILITY_* where 
# * is the ability class name (not the skill name or command word).
#
# You may also disable a expertise by including the flag EXPERTISE_* where 
# * is the expertise name, which may include the * as a wildcard at the end.
#
# You may also disable a faction by including the flag FACTION_* where 
# * is the faction id, for example: FACTION_ALIGNMENT.INI
#
# The other flags are mostly for testing and debugging purposes.
#
# All flag values entered are comma delimited, and include the following:
#    SAVETHREAD, UTILITHREAD, CLANTICKS, MUDCHAT, ARREST, CONQUEST,
#    SCRIPTABLE, EMOTERS, MOBILITY, QUESTS, RANDOMMONSTERS, STATS,
#    LEVELS, EXPERIENCE, RACES, CLASSES, CONNSPAMBLOCK, POLLCACHE,
#    ROOMVISITS, MAXCONNSPERIP, RANDOMITEMS, MCCP, MXP, MSP, FATGRIDS,
#    FATAREAS, LOGINS, THREADTHREAD, JOURNALTHREAD, MAPTHREAD, MSSP,
#    PLAYERTHREAD, SESSIONTHREAD, STATSTHREAD, CATALOGTHREAD, SMTPCLIENT,
#    DBERRORQUE, DBERRORQUESTART, MAXNEWPERIP, MAXCONNSPERACCOUNT,
#    RESPAWNTHREAD, ELECTRICTHREAD, MSDP, GMCP, ALL_AGEING, MCP, 
#    CHANNELBACKLOGS, ANSIPROMPT, HYGIENE, SPECOMBATTHREAD, FOODROT,
#    CHANNELAUCTION, LANGUAGES
#
# The default value is COMMAND_POSE, which disables the pose command, 
#    along with QUITREASON and RETIREREASON, which are useless.
DISABLE=DBERRORQUESTART, COMMAND_POSE, QUITREASON, RETIREREASON

# The ENABLE flag is for enabling features of the engine which are 
# normally disabled, such as most races, character classes in beta,
# or other features considered untested.
#
# To enable access to a specific player race or class that is disabled 
# by default, simply use RACE_ or CHARCLASS_ followed by the ID, 
# in uppercase, of the thing to re-enable.  CHARCLASS_ IDs can also be
# followed by one or more race IDs to create a race/class qualification. 
# These race IDs may begin with minus sign (-) to remove an existing
# qualification. 
# Eg: "RACE_OGRE, CHARCLASS_FIGHTER OGRE, CHARCLASS_WIZARD OGRE" 
# The above would enable the ogre race for players and let them be fighters 
# and wizards.
# Example: RACE_OGRE, RACE_GNOLL, RACE_SVIRFNEBLIN, RACE_GITHYANKI, RACE_LIZARDMAN, 
# Example: RACE_AARAKOCRAN, RACE_MERFOLK, RACE_PIXIE, RACE_ORC, RACE_MINDFLAYER, 
# Example: RACE_GOBLIN, RACE_CENTAUR
#
# Default is blank
ENABLE=

# The DEBUG flag should be used only by developers who want lots of
# extra logging in order to fix bugs.  These values are also comma delimited.
# DEBUG supports the following so far (remember to turn on DBGMSGS ABOVE!):
#    MESSAGES, HTTPREQ, EXPORT, GEAS, IMC2, I3, BINOUT, BININ,
#    DBROOMS, CMROIT, CMROEX, CMROCH, CMROOM, CMAREA, CMSTAT, SMTPSERVER
#    SMTPCLIENT, AUTOPURGE, CONQUEST, ARREST, TELNET, CLASSLOADER, VACUUM,
#    DBROOMPOP, POLLCACHE, SAVETHREAD, UTLITHREAD, PROPERTY, MISSINGKIDS,
#    CATALOGTHREAD, CATALOGCACHE, OUTPUT, HTTPACCESS, RESPAWNTHREAD, HTTPMACROS
#    BADSCRIPTS, CMJRNL, PLAYERSTATS, CLANS, THINGRIDS, MUDPERCOLATOR,
#    CLANMEMBERS, SHUTDOWN, HYGIENE, SPACESHIP, SQLERRORS, ELECTRICTHREAD,
#    GMCP
# Default is empty.
DEBUG=

# NOCACHE is a list, seperated by commas, of which internal
# objects should optomize their memory usage to an extreme
# point by not caching important data in memory, but instead
# making calls to the database or filesystem to retrieve their data.
# Systems which may be included are:
# GENMOBS, ROOMDESC, FILERESOURCES, CATALOG, MAPFINDERS, ACCOUNTS,
# PLAYERS
# (GENITEMS are already uncached)
# Default is MAPFINDERS -- remove it if your script writers are dragging you down
NOCACHE=MAPFINDERS

# The SAVE flag changes the normal saving and updating features
# of the mud. Each value is comma delimited.  Values include:
# NOPLAYERS - turns off player auto-saving and shutdown-save. Manual SAVE only!
# NOPROPERTYMOBS - turns off player/clan property mob saving.
# NOPROPERTYITEMS - turns off player/clan property item saving.
# ROOMMOBS - turns on mob re-saving for ALL rooms at shutdown.
# ROOMSHOPS - turns on mob/shopkeeper saving for ALL rooms at shutdown.
# ROOMITEMS - turns on item saving for ALL rooms (except junk) at shutdown.
SAVE=

# The OBJSPERTHREAD value defines how many ticking objects will be assigned
# to a single thread during processing.  Keeping this value high can cut 
# make your sysadmin happy.  Keeping it low will mitigate the damage caused 
# by blocked threads and overly busy scripts.  The default is 512
OBJSPERTHREAD=512

# The TICKTIME value defines how many miliseconds between each thread "tick".  
# This is a massively powerful number that affects everything from combat,
# to rejuvenation, the duration of spells, and a million other things.  In
# fact, this number should be considered the CoffeeMud Throttle.  Lower it
# to make your mud do things more often and seem "faster", raise it to slow
# things down and spare your CPU.  Default is 4000 (four seconds)
TICKTIME=4000

# MINWORKERTHREADS is the minimum number of threads that will be set aside, 
# per mud host, to handle player I/O and player command execution, as well
# as ticking objects, and periodic service threads.  More threads will be 
# spawned as necessary, and existing threads will be shared between those 
# still active. Any threads spawned above this number will be pruned down as 
# necessary, never to go below this number at any point.  Default is 5.
MINWORKERTHREADS=5

# MAXWORKERTHREADS is the maximum number of threads that will be active, 
# per mud host, to handle player I/O and player command execution, as well
# as ticking objects, and periodic service threads. Certain activities, 
# such as random in-game player prompts (excluding the main command prompt) 
# will block a thread, so keep that in mind. Default is 60.
MAXWORKERTHREADS=60

# BLACKLISTFILE is the path/name of a file containing a list of ip addresses
# that are never allowed to connect, unless an exception is made either in
# the WHITELISTIPSCONN below, or if the CONNSPAMBLOCK system is disabled.
# The format is either one ip address per line, or a range pair separated
# by a dash (-).
# The default value is /resources/ipblock.ini
BLACKLISTFILE=/resources/ipblock.ini

# WHITELISTIPSCONN is a comma-delimited list of ip addresses or ip address masks 
# that will override the CONNSPAMBLOCK filter (See DEBUG above) or MAXCONNSPERIP
# or MAXCONNSPERACCOUNT above or BLACKLISTFILE above.  Default is empty.
WHITELISTIPSCONN=

# WHITELISTLOGINS is a comma-delimited list of player names, account names, or 
# regex masks for the above, which will override the disabled LOGINS filter
# (See DEBUG above) and names for the MAXCONNSPERIP or MAXCONNSPERACCOUNT 
# above.  Default is empty.
WHITELISTLOGINS=

# WHITELISTIPSNEWPLAYERS is a comma-delimited list of new player names, ip addresses 
# or regex masks for the above, which will override the disabled NEWPLAYERS filter 
# (See DEBUG above) and the MAXNEWPERIP number above.
# Default is empty.
WHITELISTIPSNEWPLAYERS=

######################################################################
# Custom Room, MOB, Ability, Exit, etc. Object info
######################################################################

# These variables denote the paths to the several different required objects
# which are loaded at boot time.  If you use any special objects not 
# included in the base CoffeeMud distribution, you may add the 
# paths to your classes below. 
# You may want to check out the Programming Guide (Programming.html in your 
# guides/ directory) at some point for more information on developing 
# custom CoffeeMud classes.
# To use this feature, you may include any number of semicolon separated 
# paths.  Use '%DEFAULT%' to include the default class paths for the CoffeeMud 
# distribution.  The default for all of these is %DEFAULT%.  For example:
# MOBS=%DEFAULT%;resources/examples/Lemming.js
# ITEMS=%DEFAULT%;resources/myitems/
COMMON=%DEFAULT%
LIBRARY=%DEFAULT%
ITEMS=%DEFAULT%
WEAPONS=%DEFAULT%
ARMOR=%DEFAULT%
MISCMAGIC=%DEFAULT%
CLANITEMS=%DEFAULT%
MOBS=%DEFAULT%
BEHAVIORS=%DEFAULT%
ABILITIES=%DEFAULT%
CHARCLASSES=%DEFAULT%
RACES=%DEFAULT%
COMMANDS=%DEFAULT%
LOCALES=%DEFAULT%
AREAS=%DEFAULT%
EXITS=%DEFAULT%
CLANTYPES=%DEFAULT%
TECH=%DEFAULT%
COMPTECH=%DEFAULT%
SOFTWARE=%DEFAULT%
MCPPACKAGES=%DEFAULT%

######################################################################
# Template for multiple-host server resource sharing
######################################################################

# PRIVATERESOURCES is for configuring multiple servers
# on the same system, using fully or partially shared resources.
# It is a comma-delimited list of library names, database tables, and other
# resources.  Items found on this list will be not be shared with the base
# mud thread group.  All other items are implicitly shared.
#
# Valid library entries include:
# DATABASE,THREADS,INTERMUD,HTTP,LISTER,MONEY,SHOPS,COMBAT,
# HELP,TRACKING,MASKING,CHANNELS,COMMANDS,ENGLISH,SLAVERY,JOURNALS,
# FLAGS,OBJBUILDERS,SESSIONS,TELNET,XML,SOCIALS,UTENSILS,STATS,
# MAP,QUEST,ABLEMAP,ENCODER,SMTP,DICE,FACTIONS,CLANS,POLLS,
# TIME,COLOR,LOGIN,TIMS,LEVELS,EXPERTISES,MATERIALS,LEGAL,
# LANGUAGE,CATALOG,PLAYERS,TITLES,RESPAWN
#
# Valid class entries include:
# DBVFS,RACE,CHARCLASS,MOB,ABILITY,LOCALE,EXIT,ITEM,BEHAVIOR,
# CLAN,WEAPON,ARMOR,MISCMAGIC,AREA,COMMAND,CLANITEMS,
# COMPTECH,SOFTWARE,WEBMACROS,COMMON,LIBRARY
#
# Valid object instance entries include:
# FANTASYPLAYERS, TECHPLAYERS, HEROICPLAYERS
# FANTASYAREAS, TECHAREAS, FANTAST+TECHAREAS, HEROICAREAS, 
# HEROIC+FANTASYAREAS, HEROIC+TECHAREAS, ALLAREAS
#
# Entries from above that have their own database tables:
# (Requires a second database definition to take advantage of)
# DBABILITY (table: CMGAAC)
# DBCHARCLASS (table: CMCCAC)
# DBRACE (table: CMGRAC)
# DBPLAYERS (tables: CMCHAR, CMCHAB, CMCHFO, CMCHCL, CMCHIT, CMPDAT)
# DBPLAYERDATA (tables: CMPDAT)
# DBMAP (tables: CMROCH, CMROEX, CMROIT, CMROOM, CMAREA)
# DBSTATS (table: CMSTAT)
# DBPOLLS (table: CMPOLL)
# DBVFS (table: CMVFS, special privacy flag for database file system)
# DBJOURNALS (table: CMJRNL)
# DBQUEST (table: CMQUESTS)
# DBCLANS (table: CMCLAN)
# DBBACKLOG (table: CMBKLG)
#
PRIVATERESOURCES=

# PRIVATERESOURCEPATH is cmfs path in which to look for files 
# enumerated under PRIVATERESOURCES.  For example, if you want a 
# particular host to have its own private version of
# resources/text/races.txt, you add that path to PRIVATERESOURCES 
# and then set PRIVATEPATH to resources/private/ and now find it 
# at /resources/private/text/races.txt
# Default is empty, which is just resources
PRIVATERESOURCEPATH=

######################################################################
# FORMULAS (mostly combat related)
######################################################################

# FORMULA_NPCHITPOINTS is the formula for the basic legacy npc hit points calculation 
# @x1=npc level, @x2=npc "ability" hit points modifier (usually 11)
# Default is: 3 + @x1 + (@x1 * ((@x2/2) + (1?(@x2/2))))
FORMULA_NPCHITPOINTS=3 + @x1 + (@x1 * ((@x2/2) + (1?(@x2/2))))

# FORMULA_ATTACKADJUSTMENT is the formula for a players standard attack adjustments
# @x1=base attack, @x2=curr.str>max.str?max.str:curr.str, @x3=base.str>max.str?max.str:base.str, 
# @x4=curr.str>max.str?(curr.str-max.str):0, @x5=hungry?1:0, @x6=thirsty?1:0, @x7=fatigued?1:0
# @xx is a special variable denoting the current left->right calculated value
# Default is: (50+@x1+(((@x2-9)/5)*((@x3-9)/5)*((@x3-9)/5))+@x4)-(0.15*@xx*@x5)-(0.15*@xx*@x6)-(0.3*@xx*@x7)
FORMULA_ATTACKADJUSTMENT=(50+@x1+(((@x2-9)/5)*((@x3-9)/5)*((@x3-9)/5))+@x4)-(0.15*@xx*@x5)-(0.15*@xx*@x6)-(0.3*@xx*@x7)

# FORMULA_ARMORADJUSTMENT is the formula for players standard armor adjustments
# @x1=base armor, @x2=curr.dex>max.dex?max.dex:curr.dex, @x3=base.dex>max.dex?max.dex:base.dex, 
# @x4=curr.dex>max.dex?(curr.dex-max.dex):0, @x5=hungry?1:0, @x6=thirsty?1:0, @x7=fatigued?1:0
# @x8=sitting?0:1, @x9=sleeping?0:1
# @xx is a special variable denoting the current left->right calculated value
# Default is: (@x1-( (((@x2-9)/5)*((@x3-9)/5)*((@x3-9)/5*@x8)) +(@x4*@x8)-(0.15*@xx>0*@x5)-(0.15*@xx>0*@x6)-(0.3*@xx>0*@x7)*@x9))-100
FORMULA_ARMORADJUSTMENT=(@x1-( (((@x2-9)/5)*((@x3-9)/5)*((@x3-9)/5*@x8)) +(@x4*@x8)-(0.15*@xx>0*@x5)-(0.15*@xx>0*@x6)-(0.3*@xx>0*@x7)*@x9))-100

# FORMULA_ATTACKFUDGEBONUS is the formula applied to an attackers combat bonus
# during normal combat. FORMULA_PVPATTACKFUDGEBONUS is the same formula for PVP
# combat.
# @x1=attackers level, @x2=defenders level, @x3=@x1>@x2?1:-1
# Default is: @x3 * (@x1 - @x2)
FORMULA_ATTACKFUDGEBONUS=@x3 * (@x1 - @x2) * (@x1 - @x2)
FORMULA_PVPATTACKFUDGEBONUS=0

# FORMULA_CHANCESPELLCRIT is the formula for the percent chance that spell damage will
# yield a critical damage bonus during normal combat.  FORMULA_PVPCHANCESPELLCRIT
# is the same formula for PVP combat.
# @x1=base spell damage, @x2=curr.int>max.int?max.int:curr.int, @x3=base.int>max.int?max.int:base.int,
# @x4=curr.int>max.int?(curr.int-max.int):0, @x5=hungry?1:0, @x6=thirsty?1:0, @x7=fatigued?1:0
# @x8=attackers level, @x9=defenders level
# Default is: (( ((@x2-10+((@x8-@x9)<10))/5)>0 * ((@x3-10+((@x8-@x9)<10))/5)>0 * ((@x3-10+((@x8-@x9)<10))/5) ))
FORMULA_CHANCESPELLCRIT=(( ((@x2-10+((@x8-@x9)<10))/5)>0 * ((@x3-10+((@x8-@x9)<10))/5)>0 * ((@x3-10+((@x8-@x9)<10))/5) ))
FORMULA_PVPCHANCESPELLCRIT=(( ((@x2-10)/5)>0 * ((@x3-10)/5)>0 * ((@x3-10)/5) ))

# FORMULA_DAMAGESPELLCRIT is the formula for critical spell damage bonus during normal
# combat. FORMULA_PVPDAMAGESPELLCRIT is the same formula during PVP combat.
# @x1=base spell damage, @x2=curr.int>max.int?max.int:curr.int, @x3=base.int>max.int?max.int:base.int,
# @x4=curr.int>max.int?(curr.int-max.int):0, @x5=hungry?1:0, @x6=thirsty?1:0, @x7=fatigued?1:0
# @x8=attackers level, @x9=defenders level
# Default is: (@x1*( ((@x2-10+((@x8-@x9)<10))/5)>0 * ((@x3-10+((@x8-@x9)<10))/5)>0 * ((@x3-10+((@x8-@x9)<10))/5) )/100.0)+(@x4/2)
FORMULA_DAMAGESPELLCRIT=(@x1*( ((@x2-10+((@x8-@x9)<10))/5)>0 * ((@x3-10+((@x8-@x9)<10))/5)>0 * ((@x3-10+((@x8-@x9)<10))/5) )/100.0)+(@x4/2)
FORMULA_PVPDAMAGESPELLCRIT=(@x1*( ((@x2-10)/5)>0 * ((@x3-10)/5)>0 * ((@x3-10)/5) )/100.0)+(@x4/2)

# FORMULA_DAMAGESPELLFUDGE is the formula for fudging spell damage by level differences
# during normal combat. FORMULA_PVPDAMAGESPELLFUDGE is the same formula for PVP combat.
# @x1=base spell damage, @x2=curr.int>max.int?max.int:curr.int, @x3=base.int>max.int?max.int:base.int,
# @x4=curr.int>max.int?(curr.int-max.int):0, @x5=hungry?1:0, @x6=thirsty?1:0, @x7=fatigued?1:0
# @x8=attackers level, @x9=defenders level
# Default is: (@x1 - ( ((@x9-@x8)>0<1.0) * @x1 * (((@x9-@x8)<12.0)*((@x9-@x8)<12.0))/120.0))>0
FORMULA_DAMAGESPELLFUDGE=(@x1 - ( ((@x9-@x8)>0<1.0) * @x1 * (((@x9-@x8)<12.0)*((@x9-@x8)<12.0))/120.0))>0
FORMULA_PVPDAMAGESPELLFUDGE=@x1

# FORMULA_DAMAGERANGEDTARGETED is the formula for damage to a target with a ranged weapon
# during normal combat.  FORMULA_PVPDAMAGERANGEDTARGETED is the same formula for PVP combat.
# @x1=base ranged weapon damage, @x2=curr.str>max.str?max.str:curr.str, @x3=attacker level, 
# @x4=defender level, @x5=hungry?1:0, @x6=thirsty?1:0, @x7=fatigued?1:0
# @x8=attacker can see target?0:1, @x9=defender is sleeping?1:0, @x10=defender is sitting?1:0
# @xx is a special variable denoting the current left->right calculated value
# Default is: ((1?@x1)+((@x3-@x4)/2.5)-(0.5*@xx*@x8)+(0.5*@xx*@x9)+(0.2*@xx*@x10)-(0.2*@xx*@x5)-(0.2*@xx*@x6)-(0.2*@xx*@x7))>1
FORMULA_DAMAGERANGEDTARGETED=((1?@x1)+((@x3-@x4)/2.5)-(0.5*@xx*@x8)+(0.5*@xx*@x9)+(0.2*@xx*@x10)-(0.2*@xx*@x5)-(0.2*@xx*@x6)-(0.2*@xx*@x7))>1
FORMULA_PVPDAMAGERANGEDTARGETED=((1?@x1)-(0.5*@xx*@x8)+(0.5*@xx*@x9)+(0.2*@xx*@x10)-(0.2*@xx*@x5)-(0.2*@xx*@x6)-(0.2*@xx*@x7))>1

# FORMULA_DAMAGERANGEDSTATIC is the formula for damage calculated with a ranged weapon.
# @x1=base ranged weapon damage, @x2=curr.str>max.str?max.str:curr.str, @x3=attacker level, 
# @x4=defender level,@x5=hungry?1:0, @x6=thirsty?1:0, @x7=fatigued?1:0
# @x8=attacker can see target?0:1, @x9=defender is sleeping?1:0, @x10=defender is sitting?1:0
# @xx is a special variable denoting the current left->right calculated value
# Default is: ((1?@x1)+((@x3-@x4)/2.5)-(0.2*@xx*@x5)-(0.2*@xx*@x6)-(0.2*@xx*@x7))>1
FORMULA_DAMAGERANGEDSTATIC=((1?@x1)+((@x3-@x4)/2.5)-(0.2*@xx*@x5)-(0.2*@xx*@x6)-(0.2*@xx*@x7))>1

# FORMULA_DAMAGERANGEDFUDGE is the formula for fudging ranged damage by level differences
# during normal combat.  FORMULA_PVPDAMAGERANGEDFUDGE is the same formula for PVP combat.
# @x1=base damage, @x2=curr.dex>max.dex?max.dex:curr.dex, @x3=base.dex>max.dex?max.dex:base.dex,
# @x4=curr.dex>max.dex?(curr.dex-max.dex):0, @x5=hungry?1:0, @x6=thirsty?1:0, @x7=fatigued?1:0
# @x8=attackers level, @x9=defenders level
# Default is: (@x1 - ( ((@x9-@x8)>0<1.0) * @x1 * (((@x9-@x8)<12.0)*((@x9-@x8)<12.0))/120.0))>0
FORMULA_DAMAGERANGEDFUDGE=(@x1 - ( ((@x9-@x8)>0<1.0) * @x1 * (((@x9-@x8)<12.0)*((@x9-@x8)<12.0))/120.0))>0
FORMULA_PVPDAMAGERANGEDFUDGE=@x1

# FORMULA_DAMAGEMELEETARGETED is the formula for damage to a target with a melee weapon
# during normal combat.  FORMULA_PVPDAMAGEMELEETARGETED is the same formula for PVP combat.
# @x1=base player damage, @x2=curr.str>max.str?max.str:curr.str, @x3=attacker level, 
# @x4=defender level,@x5=hungry?1:0, @x6=thirsty?1:0, @x7=fatigued?1:0
# @x8=attacker can see target?0:1, @x9=defender is sleeping?1:0, @x10=defender is sitting?1:0
# @xx is a special variable denoting the current left->right calculated value
# Default is: ((1?@x1)+((@x2-10+@x3-@x4)/5)-(0.5*@xx*@x8)+(0.5*@xx*@x9)+(0.2*@xx*@x10)-(0.2*@xx*@x5)-(0.2*@xx*@x6)-(0.2*@xx*@x7))>1
FORMULA_DAMAGEMELEETARGETED=((1?@x1)+((@x2-10+@x3-@x4)/5)-(0.5*@xx*@x8)+(0.5*@xx*@x9)+(0.2*@xx*@x10)-(0.2*@xx*@x5)-(0.2*@xx*@x6)-(0.2*@xx*@x7))>1
FORMULA_PVPDAMAGEMELEETARGETED=((1?@x1)+((@x2-10)/5)-(0.5*@xx*@x8)+(0.5*@xx*@x9)+(0.2*@xx*@x10)-(0.2*@xx*@x5)-(0.2*@xx*@x6)-(0.2*@xx*@x7))>1

# FORMULA_DAMAGEMELEESTATIC is the formula for damage calculated with a melee weapon.
# @x1=base player damage, @x2=curr.str>max.str?max.str:curr.str, @x3=attacker level, 
# @x4=defender level:0,@x5=hungry?1:0, @x6=thirsty?1:0, @x7=fatigued?1:0
# @x8=attacker can see target?0:1, @x9=defender is sleeping?1:0, @x10=defender is sitting?1:0
# @xx is a special variable denoting the current left->right calculated value
# Default is: ((1?@x1)+((@x2-10+@x3-@x4)/5)-(0.2*@xx*@x5)-(0.2*@xx*@x6)-(0.2*@xx*@x7))>1
FORMULA_DAMAGEMELEESTATIC=((1?@x1)+((@x2-10+@x3-@x4)/5)-(0.2*@xx*@x5)-(0.2*@xx*@x6)-(0.2*@xx*@x7))>1

# FORMULA_DAMAGEMELEEFUDGE is the formula for fudging melee damage by level differences
# during normal combat.  FORMULA_PVPDAMAGEMELEEFUDGE is the same formula for PVP combat.
# @x1=base damage, @x2=curr.dex>max.dex?max.dex:curr.dex, @x3=base.dex>max.dex?max.dex:base.dex,
# @x4=curr.dex>max.dex?(curr.dex-max.dex):0, @x5=hungry?1:0, @x6=thirsty?1:0, @x7=fatigued?1:0
# @x8=attackers level, @x9=defenders level
# Default is: (@x1 - ( ((@x9-@x8)>0<1.0) * @x1 * (((@x9-@x8)<12.0)*((@x9-@x8)<12.0))/120.0))>0
FORMULA_DAMAGEMELEEFUDGE=(@x1 - ( ((@x9-@x8)>0<1.0) * @x1 * (((@x9-@x8)<12.0)*((@x9-@x8)<12.0))/120.0))>0
FORMULA_PVPDAMAGEMELEEFUDGE=@x1

# FORMULA_CHANCEWEAPONCRIT is the formula for the percent chance that weapon damage will
# yield a critical damage bonus during normal combat.  FORMULA_PVPCHANCEWEAPONCRIT is
# the same formula for PVP combat.
# @x1=base weapon damage, @x2=curr.dex>max.dex?max.dex:curr.dex, @x3=base.dex>max.dex?max.dex:base.dex,
# @x4=curr.dex>max.dex?(curr.dex-max.dex):0, @x5=hungry?1:0, @x6=thirsty?1:0, @x7=fatigued?1:0
# @x8=attackers level, @x9=defenders level
# Default is: ((((@x2-10+((@x8-@x9)<10))/2.5)>0 * ((@x3-10+((@x8-@x9)<10))/2.5)>0 * ((@x3-10+((@x8-@x9)<10))/2.5)))
FORMULA_CHANCEWEAPONCRIT=((((@x2-10+((@x8-@x9)<10))/2.5)>0 * ((@x3-10+((@x8-@x9)<10))/2.5)>0 * ((@x3-10+((@x8-@x9)<10))/2.5)))
FORMULA_PVPCHANCEWEAPONCRIT=((((@x2-10)/2.5)>0 * ((@x3-10)/2.5)>0 * ((@x3-10)/2.5)))

# FORMULA_DAMAGEWEAPONCRIT is the formula for the critical damage bonus from weapon attacks
# during normal combat.  FORMULA_PVPDAMAGEWEAPONCRIT is the same formula for PVP combat.
# @x1=base weapon damage, @x2=curr.dex>max.dex?max.dex:curr.dex, @x3=base.dex>max.dex?max.dex:base.dex,
# @x4=curr.dex>max.dex?(curr.dex-max.dex):0, @x5=hungry?1:0, @x6=thirsty?1:0, @x7=fatigued?1:0
# @x8=attackers level, @x9=defenders level
# Default is: (@x1 * (((@x2-10+((@x8-@x9)<10))/2.5)>0 * ((@x3-10+((@x8-@x9)<10))/2.5)>0 * ((@x3-10+((@x8-@x9)<10))/2.5))/50.0)+(@x4/2)
FORMULA_DAMAGEWEAPONCRIT=(@x1 * (((@x2-10+((@x8-@x9)<10))/2.5)>0 * ((@x3-10+((@x8-@x9)<10))/2.5)>0 * ((@x3-10+((@x8-@x9)<10))/2.5))/50.0)+(@x4/2)
FORMULA_PVPDAMAGEWEAPONCRIT=(@x1 * (((@x2-10)/2.5)>0 * ((@x3-10)/2.5)>0 * ((@x3-10)/2.5))/50.0)+(@x4/2)

# FORMULA_HITPOINTRECOVER is the formula applied every so-many ticks for recovery of hit points
# outside of combat and climbing.
# @x1=constitution, @x2=level, @x3=hungry?1:0, @x4=thirsty?1:0, @x5=fatigued?1:0 
# @x6=asleep?1:0, @x7=sitorride?1:0, @x8=flying?1:0, @x9=swimming?1:0
# Default is:           5+((@x2/2.0)+((@x1/2.0) - (@xx*@x3/2.0) - (@xx*@x4/2.0)) + (@xx*@x6*.7) + (@xx/4.0*@x7) - (@xx/2.0*@x9))
FORMULA_HITPOINTRECOVER=5+((@x2/2.0)+(((@x1/2.0)<13) - (@xx*@x3/2.0) - (@xx*@x4/2.0)) + (@xx*@x6*.7) + (@xx/4.0*@x7) - (@xx/2.0*@x9))

# FORMULA_MANARECOVER is the formula applied every so-many ticks for recovery of mana
# outside of combat and climbing.
# @x1=int + wis, @x2=level, @x3=hungry?1:0, @x4=thirsty?1:0, @x5=fatigued?1:0 
# @x6=asleep?1:0, @x7=sitorride?1:0, @x8=flying?1:0, @x9=swimming?1:0
# Default is:       25+((@x2/12.0)+((@x1/6.0) - (@xx*@x3/2.0) - (@xx*@x4/2.0) - (@xx*@x5/2.0)) + (@xx*@x6*.7) + (@xx/4.0*@x7) - (@xx/2.0*@x9))
FORMULA_MANARECOVER=25+((@x2/12.0)+(((@x1/6.0)<5) - (@xx*@x3/2.0) - (@xx*@x4/2.0) - (@xx*@x5/2.0)) + (@xx*@x6*.7) + (@xx/4.0*@x7) - (@xx/2.0*@x9))

# FORMULA_MOVESRECOVER is the formula applied every so-many ticks for recovery of movement
# outside of combat and climbing.
# @x1=strength, @x2=level, @x3=hungry?1:0, @x4=thirsty?1:0, @x5=fatigued?1:0 
# @x6=asleep?1:0, @x7=sitorride?1:0, @x8=flying?1:0, @x9=swimming?1:0
# Default is:        25+((@x2/5.0)+((@x1/1.5) - (@xx*@x3/2.0) - (@xx*@x4/2.0) - (@xx*@x5/2.0)) + (@xx*@x6*.7) + (@xx/4.0*@x7) + (@xx/4.0*@x8) - (@xx/2.0*@x9))
FORMULA_MOVESRECOVER=25+((@x2/5.0)+(((@x1/1.5)<16) - (@xx*@x3/2.0) - (@xx*@x4/2.0) - (@xx*@x5/2.0)) + (@xx*@x6*.7) + (@xx/4.0*@x7) + (@xx/4.0*@x8) - (@xx/2.0*@x9))

# FORMULA_TOTALCOMBATXP is the total amount of experience to award to a set of killers for 
# a single victim.  The 'dividers' are a subset of killers list.
# @x1=number of dividers, @x2=sum of all (each dividers level squared), 
# @x3=sum of all divider levels, @x4=number of killers
FORMULA_TOTALCOMBATXP=100 + ((25*@x1) - (@x1*((25*@x1)^.5)))

# FORMULA_INDCOMBATXP is the share of the total combat experience to award to an 
# individual killer who contributed in the fight.
# The 'dividers' are a subset of killers list.
# @x1=total combat experience pool, @x2=killers level, squared,
# @x3=sum of all (each dividers level squared), @x4=killers level
# @x4=sum of all dividers levels, @x5=total number of killers
FORMULA_INDCOMBATXP=(@x1 * (@x2 / @x3)) < 100