| Current Path : /home/cmowner/CoffeeMud/ |
| Current File : //home/cmowner/CoffeeMud/coffeemud.ini-keep |
######################################################################
# 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=fstltna@yahoo.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=coffeemud
DBPASS=wssx34X!
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=NO
# 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=91
# 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=DEFAULT
# 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=
# 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 +>60
# 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=Midgaard#3136
# 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=3
# 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