<NME> coffeemud.ini <BEF> ###################################################################### # 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= # 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 10 MAXCONNSPERIP=10 # 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=TRUE # 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= # MUDSTATE is a string describing the status of your mud. This is used for # I3 and MSSP reporting. Values are numeric, and include: # 0 = Alpha (MudLib Development) # 1 = Closed Beta (Restricted Access) # 2 = Open Beta (Beta Testing) # 3 = Live (Open to the public) # Changes will require a mud reboot to take full effect. Default value is 3. MUDSTATE=2 # CHARSETINPUT is the name of the Java Character set to use for the default # input stream. Default is iso-8859-1 CHARSETINPUT=iso-8859-1 # CHARSETOUTPUT is the name of the Java Character set to use for the default # output stream. Default is iso-8859-1 CHARSETOUTPUT=iso-8859-1 ###################################################################### # JDBC Database fields ###################################################################### # DBCLASS is the name of the JDBC Driver, typically sun.jdbc.odbc.JdbcOdbcDriver # DBSERVICE is the name of the JDBC Service as defined by your local operating system # DBUSER is a user name required to log into the JDBC service # DBPASS is the password for the above user name # DBPARMS are misc jdbc properties in the format VAR1="VALUE" VAR2="VALUE" # DBCONNECTIONS is the maximum number of connections to make to the database # DBPINGINTERVALMINS is the number of minutes between forced pings of idle connections # DBTRANSACT true to disable auto commit and also use batch inserts # DBREUSE is true if you want the system to reuse connections instead of making new ones # #Here are example settings for a System ODBC Service called "CoffeeMudAccess": # DBCLASS=sun.jdbc.odbc.JdbcOdbcDriver # DBSERVICE=jdbc:odbc:CoffeeMudAccess #Here are example settings for a Derby database called "coffeemud": # DBCLASS=org.apache.derby.jdbc.EmbeddedDriver # DBSERVICE=jdbc:derby:C:/db-derby-10.1.2.1-bin/frameworks/embedded/bin/coffeemud # DBREUSE=TRUE #Here are example settings for a HSQLDB database # DBCLASS=org.hsqldb.jdbcDriver # DBSERVICE=jdbc\:hsqldb\:hsql\://localhost\:9001 # DBUSER=sa # DBREUSE=TRUE #Here are example settings for a Postgres database called "coffeemud" # DBCLASS=org.postgresql.Driver # DBSERVICE=jdbc\:postgresql\://localhost\:5432/coffeemud # DBUSER=postgres # DBREUSE=TRUE # DBTRANSACT=TRUE ##And here are example settings for a MySQL database called "coffeemud": # DBCLASS=com.mysql.jdbc.Driver # DBSERVICE=jdbc\:mysql\://localhost\:3306/coffeemud # DBUSER=root@localhost # DBPARMS=autoReconnect=true useSSL=false allowPublicKeyRetrieval=true # DBREUSE=TRUE # DBTRANSACT=TRUE ##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 criteria 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, KILLSTUCK,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 dequeued from player commands entry. Any # remaining unused actions are used for standard attacks or movement. # MANUAL All standard actions are dequeued 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=NO # 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 # Include POWER-LEVEL to show only player levels adjusted by OP effects. # 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,25,100,2,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 X The player is erased from the system after X deaths. # UNLEVEL X The player loses X levels of experience. # LOSESKILL The player loses a random skill # RETAIN The player retains their equipment # 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 20% RUIN. ITEMLOOTPOLICY=20% RUIN # The AUTOREACTION system is a general way to get mobs to react to # players based on their past behavior. The value is a comma # delimited list of key systems, which include: AREA, RACE, NAME, # DEITY, and PLANAR. 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. PLANAR # activates a faction for each Plane of Existence that supports it. # DEITY activates a faction for each deity. # # 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,PLANAR,DEITY # Default is PLANAR. AUTOREACTION=PLANAR # 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 # EFFECTCXL stands for effect combat XP levels. It determines how # much each 'OP' spell/skill effect affects the level of the mob for # purposes of determining experience points. An OP effect is one # cast by a non-deity whose level is more than "exprate" levels higher # than the mob. If this number is 0, then only normal mob levels # apply. A number > 0 will apply (or subtract) that many levels from # the mob for every OP effect found. # Default is 0. EFFECTCXL=0 ###################################################################### # Miscellaneous Player related configuration variables ###################################################################### # The CLASSSYSTEM describes how the character classing system works. # SUB Player can create a character in any one Base class, # and take levels in any of that Base classes subclasses # by switching. # SUB-[N] As SUB, but can only have maximum [N] classes. See SWITCH. # 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. # MULTI-[N] As Multi, but can only have max [N] classes. See SWITCH. # 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. # ,GAIN=[N] Define the cost of gaining a new class, [N] Training Sess # ,SWITCH=[N]Define the cost of switching to a prev class, [N] Train Pts # The default is SUB. Default GAIN is 1, and default SWITCH is 1. 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. # You can also add a comma, and an addendum to every classes hit point formula. # Default is 20. STARTHP=20 # The STARTMANA setting is the default starting mana for all players. # You can also add a comma, and an addendum to every classes mana formula. # Default is 100. STARTMANA=100 # The STARTMOVE setting is the default starting movement for all players. # You can also add a comma, and an addendum to every classes move formula. # Default is 100. STARTMOVE=100 # The BONUSACT setting is the default bonus action multiplier for speed # gained by npcs or by pcs through skills/spells BONUSACT=1.0 # 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 sessions 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 amount of # the cost to raise the stat to the next point, optionally followed by the # type of cost (TRAIN, PRACTICE, MANA, MOVEMENT, HITPOINT, XP, GOLD, QP, # a [DENOMINATION] or [CURRENCY]). TRAINS are otherwise implies. # Example: <18 1 GOLD, <22 2 MANA, <25 3 TRAIN, <99 5 "GOLD BIT" # 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 spend 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, Pixie, 1 Apple, 1 Waterskin, 1 Torch,\ Mindflayer, 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 DEITYPOLICY describes how players interact with any # deities in your game. It is a space delimited list of # key=value pairs describing the policy of your game. Keys # include: # REQUIREDMASK="<zappermask>" - a zappermask describing what # kinds of players are required to select a deity during # character creation. # NOREBUKE=TRUE - restrict a player from rebuking a deity # NOCONVERT=TRUE - restrict a player from converting another # player who already has a deity. # DEITYMASK - if REQUIREDMASK is set, this zapper mask will # describe which deities can/can't be chosen from during # char creation. # Default value is empty, which means no required deities, # and free conversion and rebuking for all. # Ex: DEITYPOLICY= REQUIREDMASK="-BASECLASS +CLERIC" DEITYPOLICY= # 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 summarize 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 MAXITEMSWORN tells the system the maximum number of items # that can be directly worn, even if the mob has enough wear # locations to accommodate more items. A value of 0 disables. # The default value is 0 MAXITEMSWORN=0 # The MAXWEARPERLOC tells the system the maximum number of wear # locations that a player can have per body part type, even if they # have enough copies of a particular body part to wear more. This # number also caps the "Floating Nearby" location. A value of 0 # disables the cap entirely. # The default value is 6 MAXWEARPERLOC=6 # 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 5-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. Races can # be prefixed by MOTHER or FATHER to narrow mixing options, and # multiple resulting races (RACE3) can be separated by |. The # resulting race can also be MOTHER, FATHER, or PARENT also. # Example: Orc+Human=Gnome,MOTHER Elf+Human=HalfElf|Elf # Default is blank. RACEMIXING= # HUNGER allows one to tweak 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 tweak 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 dispersed. A wildcard * 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 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 # EMOTE-PC: Use of the EMOTE command with a player in the room # EMOTE-NPC: Use of the EMOTE command with only npcs in the room # EMOTE-OTHER: Use of the EMOTE command when you are by yourself # CHANNEL: Use of a communication channel except CHANNEL-NAMED # CHANNEL-NAMED(NAME1,NAME2,NAME3): Use of named communication channels ** # GOAFK: the player goes AFK # # * NO RXP is earned while Fatigued, Hungry or Thirsty. # ** There must be no spaces between CHANN.. and the final ) # 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, EMOTE-PC 5, EMOTE-NPC 1, EMOTE-OTH 1, GOAFK -25, \ # CHANNEL-NAMED(GOSSIP,CHAT) -10 # 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 on mask syntax. This # mask can OPTIONALLY be prefixed with a number of ticks to remain online # after connection is lost. # Example: # LOGOUTMASK=-LOCATION +OWNED +CLANOWNED +PRIV +ROOMSTR(Inn) +ROOMSTR(Hotel) LOGOUTMASK= # TRAINCOSTS is a comma delimited list of player attributes that can be # raised using the Train command, each followed by the number of points # gained and finally the cost as a number and the word TRAIN, PRACTICE, # XP, or GOLD (or a currency). The attributes are: HITPOINTS, # MANA, MOVES, PRACTICES, TRAINS. # Example: HITPOINTS 10 1 GOLD, MANA 20 3 PRACTICE # Defaults: HITPOINTS 10 1 TRAIN, MANA 20 1 TRAIN, MOVES 20 1 TRAIN, # TRAINS 1 7 PRACTICE, PRACTICES 5 1 TRAIN TRAINCOSTS=HITPOINTS 10 1 TRAIN, MANA 20 1 TRAIN, MOVES 20 1 TRAIN, GAIN 1 7 PRACTICE,\ PRACTICES 5 1 TRAIN ###################################################################### # 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 EFFECTCAP is the maximum number of uninvokable effects that # can be normally invoked upon a character. This is enforced at # invocation time, where a potential effect over the cap will # cause a random other effect to be uninvoked. A value of 0 # disabled the cap, and 0 is the default. # Example: # EFFECTCAP=0 EFFECTCAP=0 # The MANACOST value determines the maximum amount of mana/move consumed # by all skills/spells which do not override their own mana/move costs. # An ordinary value applies to all skills. # You may also include a comma delimited list of spell/skill IDs, each # followed by a space and their specific values as exceptions. Each value # can be one of the following: # - A positive number, adjusted downward as level increases # - A negative number, which will be the same as 50 + (number * lowest qual level) # which is also adjusted downward as level increases. # - A math formula, where @x1=lowest qual level of the skill, @x2=mob level, # @x3=minimum mana cost, @x4=adjusted mob skill level, @x5=# levels above qual # Example: MANACOST=-3, Spell_Shield @x2*3, Skill_Recall 10 # Default is: -1, Skill_Recall 25 MANACOST=-1, Skill_Recall 25 # MANACOMPOUND is an optional system to increase the amount of # mana/move/whatever used whenever a skill is used again within # a particular number of ticks, or negate its use entirely. # This system is meant to encourage more variety in skill rotations. # The format is a comma-delimited list of entries, where each # entry is the number of ticks followed by a space and a # percentage of cost to increase, absolute amount of the cost to increase, # or -1 to negate the use entirely. Each entry can also optionally # end with the word MOBMASK= followed by a zapper mask to whom the rule # applies, and/or ABILITYMASK= followed by a zapper mask to designate # which rules apply to which skills. Entries without masks apply to # everyone and all unmatched abilities. # Example: MANACOMPOUND=5 5%, 0 0 ABILITYMASK=-JAVACLASS +Alchemy # Example: MANACOMPOUND=3 25% MANACOMPOUND= # 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, 10. MANAMINCOST=-1, 10 # 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 # (or a 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 # WALKCOST AND RUNCOST 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 # The DEFAULTABILITYARGS are default values to use when properties or skills that # otherwise do not have arguments are instantiated. This is especially useful # for diseases and other effects generated entirely in code and outside of # a builders control. This won't work if something immediately changes # the arguments to something else. # This is a comma-delimited set of KEY=VALUE pairs, where the KEY is a valid # Ability ID, and the VALUE is the arguments. Any argument commas need # to be escaped, e.g. \,. # Example: Disease_Vampirism=NOSWIM=false,Prop_Adjuster=ATTACK+10 # Default is nothing DEFAULTABILITYARGS= ###################################################################### # Start, Death, and Morgue Room Configuration ###################################################################### # The START string is the room ID that new players appear at: # This is the simplest form. You may include other entries # to specify specific start rooms for racial categories or races # (START_ELF, START_HUMAN, etc..). You may also create entries for # alignment, deity, class, or faction (START_FIGHTER, START_GOOD..), # or even level (START_1, ...). # You can also use START_MASK to tie a start room to a mask by # setting the key equal to room id followed by an equal sign, # then a mask (see ahelp ZAPPERMASK). # Example: START_FIGHTER=FighterSchool#10 START=New Area#0 # The DEATH string is the room ID that new players appear at # when they die. This is the simplest form, where the death # room is made the same as the start room. You may include # other entries to specify specific death rooms for racial # categories or races (DEATH_ELF, DEATH_HUMAN, etc..). You may also use # alignment, deity, class, or faction (DEATH_GOOD, DEATH_FIGHTER, etc..), # or even level (DEATH_13, ...). # You can also use DEATH_MASK to tie a death room to a mask by # setting the key equal to room id followed by an equal sign, # then a mask (see ahelp ZAPPERMASK). # Default 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). # Default 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=1 # 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
{'commit': 'diff --git a/coffeemud.ini b/coffeemud.ini\nindex 04f11cf0d1..e761c15922 100644\n--- a/coffeemud.ini\n+++ b/coffeemud.ini\n@@ -1170,7 +1170,7 @@ COMPRESS=\n # delimited.\n # Example: \n # BADNAMES=badname1,badname2,badname3\n-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\n+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,Water,Weight,Weightadj,Wisdom,Xp,Xpfnl,Xptnl\n \t\n # COMMONACCOUNTSYSTEM enables or disables the common account system\n # that allows players to use single accounts to manage all their\n', 'commit_subject': 'removed a stray from coffeemud.ini', 'repo_name': 'bozimmerman/CoffeeMud', 'committer': {'name': 'bozimmerman', 'email': 'dc45fe023482b3b890b5e574e53c1d051f45b1ef@zimmers.net', 'time_sec': '1593123369', 'tz_offset': '0', 'date': {'seconds': '1593123369'}}, 'commit_tree': 'b2edf4f8c158f8fe18241b028ae1a31da7053d51', 'commit_message': 'removed a stray from coffeemud.ini\n\ngit-svn-id: 0cdf8356e41b2d8ccbb41bb76c82068fe80b2514@19622 0d6f1817-ed0e-0410-87c9-987e46238f29\n', 'language_name': 'Java', 'license': 'apache-2.0', 'hunks': '@@ -1170,7 +1170,7 @@ COMPRESS=\n # delimited.\n # Example: \n # BADNAMES=badname1,badname2,badname3\n-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\n+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,Water,Weight,Weightadj,Wisdom,Xp,Xpfnl,Xptnl\n \t\n # COMMONACCOUNTSYSTEM enables or disables the common account system\n # that allows players to use single accounts to manage all their\n', 'addition_count': 1, 'deletion_count': 1, 'src_file': 'a/coffeemud.ini', 'tgt_file': 'b/coffeemud.ini', 'file_extension': '.ini', 'before_file': '######################################################################\n# Main server IP config\n######################################################################\n\n# PORT number for CoffeeMud to listen on.  Multiple ports may be separated\n# by commas.\nPORT=5555\n\n# DOMAIN is the friendly name of your mud server to the outside world.\n# For instance, myserver.mydns.org would be an example.\n# It is required by the SMTP Server, the two intermud clients\n# I3 and IMC2, and the Siplet internal MUD client.  \n# The SMTP Server will require that all email addresses end \n# with this name (ex: myname@thishost.domain.com), so be smart about what \n# you put here.  See www.dyndns.org for information on getting a free domain\n# name.\nDOMAIN=\n\n# BIND address, defaults to empty (all IP addresses (multi-homed machine))\n#BIND=127.0.0.1 \n\n# BACKLOG defaults to 6 - number of connections that can be queued\nBACKLOG=6\n\n# MAXCONNSPERIP - maximum connections to allow from a single IP addr. 0=unlimited\n# Default is 10\nMAXCONNSPERIP=10\n\n# MAXNEWPERIP - maximum new characters per day from a single IP addr. 0=unlimited\n# Default is 3\nMAXNEWPERIP=3\n\n# Runs the specified web servers.  This entry is either the word FALSE to disable\n# all internal web servers, or a comma-delimited list of web server names, each\n# with their own special configuration ini file of the same name located in your\n# /web directory.  For instance, if this entry is "pub,admin", then the server\n# will look for the files "/web/pub.ini" and "/web/admin.ini" for configuration\n# information on those two web servers to start.\n# Default is pub,admin\nRUNWEBSERVERS=pub,admin\n\n# Runs smtpserver if the value is \'true\' (case insensitive)\n#  any other value, or absence of line, will mean the smtpserver is not loaded\nRUNSMTPSERVER=TRUE\n\n# SMTPSERVERNAME defines the name of the smtp server to use when sending out-going\n# emails.  If blank, the system will attempt to connect to the mail server denoted\n# by the email addresses directly.  Otherwise, the given server will be used as \n# a relay server.  If you want to implement SMTP authentication, you can include\n# a comma followed by either LOGIN or PLAIN, followed by the user name, followed\n# by the password.\n# Example: smtp.relayhost.com\n# Example: smtp.relayhost.com,PLAIN,user,password\nSMTPSERVERNAME=\n\n# ADMINEMAIL is the admin email address for your mud.  Used for I3 and MSSP\nADMINEMAIL=\n\n# MUDSTATE is a string describing the status of your mud. This is used for \n# I3 and MSSP reporting.  Values are numeric, and include:\n# 0 = Alpha (MudLib Development)\n# 1 = Closed Beta (Restricted Access)\n# 2 = Open Beta (Beta Testing)\n# 3 = Live (Open to the public)\n# Changes will require a mud reboot to take full effect.  Default value is 3.\nMUDSTATE=2\n\n# CHARSETINPUT is the name of the Java Character set to use for the default \n# input stream.  Default is iso-8859-1\nCHARSETINPUT=iso-8859-1\n\n# CHARSETOUTPUT is the name of the Java Character set to use for the default \n# output stream.  Default is iso-8859-1\nCHARSETOUTPUT=iso-8859-1\n\n######################################################################\n# JDBC Database fields\n######################################################################\n\n# DBCLASS is the name of the JDBC Driver, typically sun.jdbc.odbc.JdbcOdbcDriver\n# DBSERVICE is the name of the JDBC Service as defined by your local operating system\n# DBUSER is a user name required to log into the JDBC service\n# DBPASS is the password for the above user name\n# DBPARMS are misc jdbc properties in the format VAR1="VALUE" VAR2="VALUE"  \n# DBCONNECTIONS is the maximum number of connections to make to the database\n# DBPINGINTERVALMINS is the number of minutes between forced pings of idle connections \n# DBTRANSACT true to disable auto commit and also use batch inserts\n# DBREUSE is true if you want the system to reuse connections instead of making new ones\n#\n#Here are example settings for a System ODBC Service called "CoffeeMudAccess":\n# DBCLASS=sun.jdbc.odbc.JdbcOdbcDriver\n# DBSERVICE=jdbc:odbc:CoffeeMudAccess\n#Here are example settings for a Derby database called "coffeemud":\n# DBCLASS=org.apache.derby.jdbc.EmbeddedDriver\n# DBSERVICE=jdbc:derby:C:/db-derby-10.1.2.1-bin/frameworks/embedded/bin/coffeemud\n# DBREUSE=TRUE\n#Here are example settings for a HSQLDB database \n# DBCLASS=org.hsqldb.jdbcDriver\n# DBSERVICE=jdbc\\:hsqldb\\:hsql\\://localhost\\:9001\n# DBUSER=sa\n# DBREUSE=TRUE\n#Here are example settings for a Postgres database called "coffeemud"\n# DBCLASS=org.postgresql.Driver\n# DBSERVICE=jdbc\\:postgresql\\://localhost\\:5432/coffeemud\n# DBUSER=postgres\n# DBREUSE=TRUE\n# DBTRANSACT=TRUE\n##And here are example settings for a MySQL database called "coffeemud":\n# DBCLASS=com.mysql.jdbc.Driver\n# DBSERVICE=jdbc\\:mysql\\://localhost\\:3306/coffeemud\n# DBUSER=root@localhost\t\n# DBPARMS=autoReconnect=true useSSL=false allowPublicKeyRetrieval=true\n# DBREUSE=TRUE\n# DBTRANSACT=TRUE\n##And lastly, here are the default settings for the fakedb database:\nDBCLASS=com.planet_ink.fakedb.Driver\nDBSERVICE=jdbc:fakedb:resources/fakedb\nDBUSER=\nDBPASS=\nDBCONNECTIONS=2\nDBREUSE=TRUE\nDBTRANSACT=FALSE\nDBPINGINTERVALMINS=60\n\n# LANGUAGE and COUNTRY are used to build the name of the two properties files\n# located within the resources directory which are used to define input and\n# output text filtering.  The input filter is called parser_en_TX.properties\n# (when LANGUAGE and COUNTRY are en and TX respectively).  The output filter\n# file is called translation_en_TX.properties.\n# Default for LANGUAGE is en, and the default for COUNTRY is TX\nLANGUAGE=en\nCOUNTRY=TX\n\n######################################################################\n# IMC2 Settings\n######################################################################\n\n# IMC2 client is run if RUNIMC2CLIENT is TRUE.  \nRUNIMC2CLIENT=FALSE\n\n# The IMC2HUBNAME, IMC2HUBPORT values all require a visit to the \n# IMC2 Main web site at: http://www.mudbytes.net/intermud-connection\nIMC2HUBNAME=server02.mudbytes.net\nIMC2HUBPORT=9000\n\n# The IMC2LOGIN should be a version of your muds name without spaces.\n# This may require registration with the network you are joining.  For\n# the MudDomain network, you do not have to register -- just put your\n# muds name in, and some arbitrary passwords in IMC2PASS1 and IMC2PASS2.\nIMC2LOGIN=MyMudsNameWoSpaces\nIMC2PASS1=pass1\nIMC2PASS2=pass2\n\n# Put anything you like for IMC2MYEMAIL and IMC2MYWEB.  They are just\n# display fields for the IMC2 INFO command.\nIMC2MYEMAIL=nobody@nowhere.com\nIMC2MYWEB=http://localhost:27744\n\n# The IMC2CHANNELS are a comma separated list of channels.\n# Each entry consists of the channel name, a channel participant mask,\n# and the corresponding imc2 channel name (including hub:).  \n# The channel mask uses the same flags as is shown in the Archon help\n# files under ZAPPERMASKS.  The mask may also include the word \n# READONLY to make the channel read-only, or PLAYERREADONLY to make \n# the channel read-only to players alone.\n# Example: IMC2CHANNELS= IMCCHAT +SYSOP -NAMES Hub01:ichat\nIMC2CHANNELS=\n\t\t\t  \n######################################################################\n# InterMud 3 Settings\n######################################################################\n\n# RUNI3SERVER is run if first value is TRUE\nRUNI3SERVER=TRUE\n\n# The ICHANNELS are a comma separated list of channels.\n# Each entry consists of the channel name, a channel participant mask,\n# and the corresponding imud3 channel name.  \n# The channel mask uses the same flags as is shown in the Archon help\n# files under ZAPPERMASKS.  The mask may also include the word \n# READONLY to make the channel read-only, or PLAYERREADONLY to make \n# the channel read-only to players alone.\nICHANNELS=ICOFF -LEVELS +>91 coffeemud_universe\n\n# The I3PORT is the listening port for the I3 server.\nI3PORT=27766\n\n# I3ROUTERS = comma delimited list of acceptable i3 routers in the\n# form host:port:password\n# Example I3ROUTERS=204.209.44.3:8080:*i4\nI3ROUTERS=204.209.44.3:8080:*i4\n\n######################################################################\n# CoffeeInterMud 1 Settings\n######################################################################\n\n# RUNCM1SERVER is run if first value is TRUE\nRUNCM1SERVER=TRUE\n\n# The CM1CONFIG is path to a cm1.ini files.  This is where the bulk\n# of the CM1 server configuration is kept. \n# Default is /web/cm1.ini\nCM1CONFIG=/web/cm1.ini\n\n######################################################################\n# Security related configuration variables\n######################################################################\n\n# The SYSOPMASK string defines the criteria by which an all-powerful\n# system operator/administrator is defined.  The players who meet\n# this criteria may perform any and all administrative commands \n# anywhere, at any time.  The mask uses the same flags as is \n# shown in the Archon help files under ZAPPERMASKS.\n# Default is -ANYCLASS +Archon\nSYSOPMASK=-ANYCLASS +Archon\n\n# WIZLISTMASK is a mask that determines which names appear\n# when the WIZLIST command is used.  If empty, the default mask is used, which\n# is: -ANYCLASS +Archon.  See the HELP ZAPPERMASK for more information, though\n# ONLY those flags dealing with name, class, race, and level will apply.\nWIZLISTMASK=\n\n# HASHPASSWORDS defines whether passwords are hashed before saving to the DB.\n# This provides some level of security for those who don\'t trust their DB \n# admins, or expose their DB to others.  However, when users forget their\n# passwords, the user will have to generate a new password to email it.\n# Set to YES to start hashing passwords.\nHASHPASSWORDS=NO\n\n# The JSCRIPTS parameter defines the use of JavaScript in Scriptable\n# behaviors.  If the setting is 0, then JavaScripts are\n# never executed in Scriptable behaviors.  A value of 2 (default) means\n# they\'re always executed.  A value of 1 requires approval by a player\n# whose security matched the SYSOPMASK above.  Approval is done\n# through the MODIFY JSCRIPTS command.\nJSCRIPTS=1\n\n# The GROUP_ strings define a series of security access group.  \n# The remainder of each configuration variable name (after "GROUP_")\n# is the name of the group being defined.  The value is a comma\n# delimited list of security codes.  Players who belong to the\n# security groups defined here gain the capabilities and functionality\n# defined by the security codes.  See AHELP SECURITY for a\n# valid list of security codes.  A few default groups are defined\n# below.  Remember that the name of the group is the part AFTER the \n# word "GROUP_".  So, for example, the name of the group defined by the \n# entry GROUP_SUBOP is actually SUBOP.\nGROUP_QUESTMASTERS=POSSESS, AT, AFTER, CMDQUESTS, GOTO, COPYITEM, COPYMOB, IMMORT\nGROUP_SUBOP=AHELP, AREA ANNOUNCE, AREA AT, AREA COPYMOBS, AREA COPYITEMS, \\\n\t\t\tAREA COPYROOMS, AREA CMDROOMS, AREA CMDITEMS, AREA CMDEXITS, \\\n\t\t\tAREA CMDRACES, AREA GOTO, AREA POSSESS, AREA STAT, AREA SYSMSGS, \\\n\t\t\tAREA TRANSFER, AREA WHERE, AREA RESET, AREA KILLDEAD, AREA ORDER, \\\n\t\t\tAREA ABOVELAW, AREA WIZINV, AREA CLOAK, AREA CMDMOBS, IMMORT, TRAILTO, SESSIONS, \\\n\t\t\tAREA POOF, AREA PURGE, AREA RESTRING, AREA LISTADMIN, AREA TRAILTO, \\\n\t\t\tAREA SUPERSKILL, AREA LOADUNLOAD, AREA MXPTAGS, CARRYALL, TASKS, AREA GMODIFY, \\\n\t\t\tVFS: RESOURCES\nGROUP_TRAVELER=GOTO\nGROUP_WIZI=WIZINV, ABOVELAW, CLOAK\nGROUP_MISCHIEF=POSSESS, AT, STAT\nGROUP_SLAYER=KILLDEAD\nGROUP_ASSISTANT=COPYITEMS, SESSIONS, RESET, TRANSFER, PURGE, SUPERSKILL\nGROUP_ASSISTANT2=COPYMOBS, COPYITEMS, SESSIONS, RESET, TRANSFER, PURGE, RESTRING, WHERE, SUPERSKILL\nGROUP_ASSISTANT3=COPYMOBS, COPYITEMS, SESSIONS, RESET, TRANSFER, PURGE, BEACON, TICKTOCK,\\\n\t\t\t\t RESTRING, SNOOP, WHERE, SUPERSKILL, TRAILTO\nGROUP_IMPLEMENTOR=AHELP, ANNOUNCE, AT, COPYMOBS, COPYITEMS, COPYROOMS, CMDROOMS, CMDITEMS,\\\n\t\t\t\t  CMDEXITS, CMDRACES, GOTO, POSSESS, STAT, SYSMSGS, TRANSFER, WHERE,RESET,\\\n\t\t\t\t  KILLDEAD, ORDER, ABOVELAW, WIZINV, CMDMOBS, IMMORT, TRAILTO,SESSIONS,\\\n\t\t\t\t  SUPERSKILL, MXPTAGS, CLOAK, CARRYALL, TASKS, GMODIFY,FS: RESOURCES,\\\n\t\t\t\t  CATALOG\nGROUP_SYSOP=AFTER, AHELP, ANNOUNCE, AT, BAN, BEACON, BOOT, COPYMOBS, COPYITEMS, \\\n\t\t\tCOPYROOMS, CMDQUESTS, CMDSOCIALS, CMDROOMS, CMDITEMS, CMDEXITS, CMDAREAS, \\\n\t\t\tCMDRACES, CMDCLASSES, NOPURGE, KILLBUGS, KILLIDEAS, KILLTYPOS, CMDCLANS, \\\n\t\t\tDUMPFILE, GOTO, LOADUNLOAD, CMDPLAYERS, POSSESS, SHUTDOWN, SNOOP, STAT, \\\n\t\t\tSYSMSGS, TICKTOCK, TRANSFER, WHERE, RESET, RESETUTILS, KILLDEAD, MERGE, \\\n\t\t\tIMPORTROOMS, IMPORTMOBS, IMPORTITEMS, IMPORTPLAYERS, EXPORT, EXPORTPLAYERS, \\\n\t\t\tEXPORTFILE, ORDER, I3, ABOVELAW, CMDMOBS, SUPERSKILL, JOURNALS, PKILL, \\\n\t\t\tSESSIONS, TRAILTO, LISTADMIN, MXPTAGS, CMDFACTIONS, CARRYALL, KILLSTUCK,TASKS,\\\n\t\t\tALLSKILLS, JSCRIPTS, GMODIFY, COMPONENTS, EXPERTISES, TITLES, FS: ,\\\n\t\t\tCMDABILITIES, IDLEOK, CATALOG, CMDRECIPES\n\n######################################################################\n# Player COMBAT related configuration variables\n######################################################################\n\n# COMBATSYSTEM determines how players are able to use their speed/number of \n# attacks during combat.  Values include:\n# DEFAULT    All standard actions must be used for standard attacks or movement,\n#            One bonus action is granted per round during combat for general use.\n# QUEUE      All standard actions are dequeued from player commands entry.  Any\n#            remaining unused actions are used for standard attacks or movement.\n# MANUAL     All standard actions are dequeued from player commands entry.  \n#            Remaining unused actions are lost.\n# TURNBASED  Players must spend all their actions within a given amount of time.\n#\nCOMBATSYSTEM=DEFAULT\n\n# SHOWDAMAGE toggles whether players will see the damage dealt to foes.\n# YES        Show damage in numbers, as well as words\n# NO         Only show words\n# SOURCE     Attacker sees numbers and words, target only sees words.\n# TARGET     Target sees numbers and words, attacker only sees words.\n# Default is NO\nSHOWDAMAGE=NO\n\n# PROWESSOPTIONS sets whether combat, defensive, and base damage prowess is shown \n# in the score command, and if so, how and with what options.  Options are comma\n# delimited.  \n# ARMOR-ABSOLUTE     Include the default absolute armor prowess string.\n# ARMOR-NUMBER       Include the numeric absolute armor value.\n# ARMOR-ADV          Include adverbs when the armor value is exceptional.\n# ARMOR-ADJ          Include an adjective relative to a mob of the same level.\n# COMBAT-ABSOLUTE    Include the default absolute combat prowess string.\n# COMBAT-NUMBER      Include the numeric absolute combat/attack value.\n# COMBAT-ADV         Include adverbs when the combat value is exceptional.\n# COMBAT-ADJ         Include an adjective relative to a mob of the same level.\n# COMBAT-NOUN        Include a level-based combat/attack noun.\n# *\n# Include SKILL-PROFICIENCY to show words instead of skill proficiency numbers\n# Include STAT-PROFICIENCY to show words instead of char stat numbers\n# Include FACTION-RANGE to show only faction ranges instead of numbers\n# Include POWER-LEVEL to show only player levels adjusted by OP effects.\n# Set the value to NONE to include none of the options above.\n# Set the value to blank to default to ARMOR-ABSOLUTE, ARMOR-NUMBER, \n#    COMBAT-ABSOLUTE, COMBAT-NUMBER\n# Default is blank\nPROWESSOPTIONS=\n\n# INJURYSYSTEM controls various variables dealing with limb injury, bleeding,\n# and amputation.  Each variable is separated by a comma, and does not include\n# the % character, even though the first four values are percentages.\n# The first variable is a % chance per hit of a limb being affected. \n# The second is a % of hit points threshold before limbs start being affected.\n# The third is % of hit points which must be done in a single blow to remove \n#   a limb before the limb is destroyed normally.  \n# The fourth is a % chance a limb is removed when it has been damaged 100% \n# The fifth is multiplier that increases actual % limb damage done per hit.\n# or has received a massive damage attack defined by the third variable.\n# The sixth value is the MINIMUM player level that can lose limbs.\n# The seventh value is the MINIMUM player level that can start bleeding\n# The eighth value is the % of hp lost by a player in one blow to start bleeding.\n# The ninth value is the % chance, on losing a limb, of bleeding.\n# The default value is 100,60,10,100,4,10,15,20,100\nINJURYSYSTEM=100,60,25,100,2,10,15,20,100\n\n# The PLAYERKILL describes how/whether players may kill each other.\n# The default is OPTIONAL-4, but valid values include:\n# ALWAYS     Players may kill each other at will.\n# ALWAYS-X   Players may kill each other at will, but only if they \n#            are within X levels of each other.\n# OPTIONAL   Players must both have their PKILL option turned on\n#            in order to kill each other.\n# OPTIONAL-X Players must both have their PKILL option turned on\n#            in order to kill each other, but must also be within\n#            X levels of each other.\n# ONEWAY     Same as OPTIONAL, but player can never turn PKILL off.\n# ONEWAY-X   Same as OPTIONAL-X, but player can never turn PKILL off.\n# NEVER      Players may never kill each other.\n# The above does not affect DUELing.\nPLAYERKILL=OPTIONAL-4\n\n# The PLAYERDEATH describes what happens to a player when they die.\n# Multiple entries may be included, and are separated by commas.\n# The default is EXPERIENCE, but valid values include:\n# PURGE X      The player is erased from the system after X deaths.\n# UNLEVEL X    The player loses X levels of experience.\n# LOSESKILL    The player loses a random skill\n# RETAIN       The player retains their equipment\n# ASTRAL       The player becomes an astral spirit.\n# ASTRAL_RES   As ASTRAL, but player can self-resurrect.\n# EXPERIENCE   The player loses 100 experience points per level\n# OUT X        The player goes safely unconscious for x ticks\n# RECALL       The player simply recalls to their death room (no body)\n# (a number)   The player loses a flat X experience points when they die.\n# (expression) The players lost experience is calculated based on the\n#              give math expression, using + - * / (), and using @x1 to\n#              stand for the players level, and @x2 the killers level\nPLAYERDEATH=(@x1 * 50) < 2000\n\n# MOBDEATH describes what happens to a non-player when they die.\n# The default is DEATH, but you can also use one of the following:\n# DEATH        They die.  They don\'t come back until they rejuv.\n# OUT (expr)   They go unconscious for # ticks determined by the\n#              expression.  Use +-*/(), and @x3 to insert rejuv ticks.\nMOBDEATH=DEATH\n\n# The FLEE parameter describes what happens to a player when they flee combat.\n# Multiple entries may be included, and are separated by commas.\n# The default is EXPERIENCE, but valid values include:\n# PURGE        The player is erased from the system.\n# UNLEVEL X    The player loses X levels of experience.\n# LOSESKILL    The player loses a random skill\n# ASTRAL       The player becomes an astral spirit.\n# ASTRAL_RES   As ASTRAL, but player can self-resurrect.\n# OUT X        The player goes safely unconscious for x ticks\n# EXPERIENCE   The player loses 5 xp per level above killers. Min 10.\n# RECALL       The player recalls to their death room as per death\n# (a number)   The player loses a flat X experience points when they flee.\n# (expression) The players lost experience is calculated based on the\n#              give math expression, using + - * / (), and using @x1 to\n#              stand for the players level, and @x2 the killers level\n# (blank)      Fleeing has no bad consequences, breaking several char classes.\nFLEE=EXPERIENCE\n\n# The EXPRATE describes how quickly experience rises or falls \n# with level differences.  The default is 6.  Lower numbers\n# increase the rate of experience gain ascent/descent as\n# level differences increase/decrease.  A value of 0 means \n# no bonus or penalty experience based on level differences.\nEXPRATE=6\n\n# The CORPSEGUARD string is used to determine who may loot the \n# corpses of dead players.  Use ALL to allow anyone to loot\n# them (default), SELFONLY will only allow the players to loot\n# their own corpses, and the PKONLY flag will allow the players, or \n# other players with the playerkill flag turned on to loot.\nCORPSEGUARD=ALL\n\n# The ITEMLOOTPOLICY is left blank to not implement any item-loss\n# when mobs are killed.  Otherwise you can implement one or more\n# rules separated by semicolons.  Each rule includes one or more\n# of the following: a % chance that an item will be affected by\n# the rule when a mob is killed and the corpse is generated, the\n# keyword RUIN to designate that the rule ruins the item, the\n# keyword LOSS to designate that the rule destroys the item, the\n# keyword UNWORN to designate that the rule only applies to unworn items, the\n# keyword WORN to designate that the rule only applies to worn items, an\n# ending keyword MASK= followed by a Zapper Mask (see HELP ZAPPERMASKS).\n# Example: ITEMLOOTPOLICY=10% RUIN;15% LOSS; 99% RUIN MASK=-MATERIAL +WOODEN\n# Default is 20% RUIN.\nITEMLOOTPOLICY=20% RUIN\n\n# The AUTOREACTION system is a general way to get mobs to react to\n# players based on their past behavior.  The value is a comma \n# delimited list of key systems, which include: AREA, RACE, NAME, \n# DEITY, and PLANAR.  The AREA system will cause mobs reactions to \n# be based on the players behavior in the area while NAME is based \n# on the players behavior towards mobs of that name.  PLANAR \n# activates a faction for each Plane of Existence that supports it.\n# DEITY activates a faction for each deity.\n#\n# Reaction causing behavior includes killing as well\n# as being sociable and hanging around.  A blank value disables\n# this system, which can be cpu and possibly memory intensive.\n# \n# Example: AUTOREACTION=AREA,PLANAR,DEITY\n# Default is PLANAR.\nAUTOREACTION=PLANAR\n\n# The number of ticks that a player challenged to a duel has to \n# consider that challenge.  Once this time expires, new challenges\n# may be issued.  Default is 5 ticks (roughly 20 seconds)\nDUELTICKDOWN=5\n\n# EFFECTCXL stands for effect combat XP levels.  It determines how\n# much each \'OP\' spell/skill effect affects the level of the mob for\n# purposes of determining experience points.  An OP effect is one \n# cast by a non-deity whose level is more than "exprate" levels higher\n# than the mob.  If this number is 0, then only normal mob levels\n# apply. A number > 0 will apply (or subtract) that many levels from\n# the mob for every OP effect found.\n# Default is 0.\nEFFECTCXL=0\n\n######################################################################\n# Miscellaneous Player related configuration variables\n######################################################################\n\n# The CLASSSYSTEM describes how the character classing system works.\n# SUB        Player can create a character in any one Base class,\n#            and take levels in any of that Base classes subclasses \n#            by switching.\n# SUB-[N]    As SUB, but can only have maximum [N] classes. See SWITCH.\n# NO         Disables all multi-classing, allowing users to pick from\n#            any of the player-selectable classes, but not to change.\n# NO-BASE    Disables all multi-classing, allowing users to pick from\n#            any of the base classes, but not to change.\n# NO-SUBONLY Disables all multi-classing, allowing users to pick from\n#            any of the sub classes, but none of the base classes.\n# NO-[X]     Specify a one and only class that players must take and \n#            keep.  Where [X] is a CLASS ID or name. Kinda like APP-*\n# NO-GRP-[X] Specify a one and only class group that players may pick \n#            from and stick with.  Where [X] is a BASE CLASS ID or name.\n# MULTI      Allows the player to select from any of the user-selectable\n#            classes, and then to take levels in any other class at will.\n# MULTI-[N]  As Multi, but can only have max [N] classes. See SWITCH.\n# APP-SUB    All players start as Apprentice, thereafter same as \n#            the SUB option above.\n# APP-NO     All players start as Apprentice, and are allowed to change\n#            to any other class exactly once, and are stuck thereafter.\n# APP-MULTI  All players start as Apprentice, thereafter same as \n#            the MULTI option above.\n# DISABLED   Disables the class system altogether.  This is the same as\n#            including CLASSES in the DISABLE flag.\n# ,GAIN=[N]  Define the cost of gaining a new class, [N] Training Sess\n# ,SWITCH=[N]Define the cost of switching to a prev class, [N] Train Pts\n# The default is SUB.  Default GAIN is 1, and default SWITCH is 1.\nCLASSSYSTEM=SUB\n\n# The FACTIONS string is a semicolon delimited list of paths\n# to one or more faction INI files to preload.  Preloading a\n# faction is required if automated assignment of faction values\n# is required by that faction.  Note that subdirectories are \n# allowed, but use \'/\' instead of \'\\\' Default is "alignment.ini"\nFACTIONS=alignment.ini\n\n# If the INTRODUCTIONSYSTEM flag is set to YES, will allow players to \n# see each other only by their race, until such time as they say\n# their own names outloud -- in effect "introducing" themselves.\nINTRODUCTIONSYSTEM=NO\n\n# The LASTPLAYERLEVEL setting is the maximum level that a player can\n# gain via mundane experience gain.  Beyond this level, the player\n# must gain via Archon magic items, or the Archon modify command.\n# Note, however, that this level setting is arbitrary.  Any value\n# from 1 to 2147483647 are acceptable last levels.\n# Default is 91\nLASTPLAYERLEVEL=91\n\n# The STARTHP setting is the default starting hit points for all players.\n# You can also add a comma, and an addendum to every classes hit point formula.\n# Default is 20.\nSTARTHP=20\n\n# The STARTMANA setting is the default starting mana for all players.\n# You can also add a comma, and an addendum to every classes mana formula.\n# Default is 100.\nSTARTMANA=100\n\n# The STARTMOVE setting is the default starting movement for all players.\n# You can also add a comma, and an addendum to every classes move formula.\n# Default is 100.\nSTARTMOVE=100\n\n# The BONUSACT setting is the default bonus action multiplier for speed \n# gained by npcs or by pcs through skills/spells\nBONUSACT=1.0\n\n# The COMMAND TIMES are default values to use for the number\n# of actions required to use the typical non-instant command.  DEFCMDTIME\n# refers to the number of actions required when the player is not\n# in combat.  DEFCOMCMDTIME is the number of actions required when the\n# player is in combat.  Typically, 1.0 means a full 4 second tick.\n# You may also include a comma delimited list of command IDs\n# followed by their specific cost values for exceptions. An entry without\n# an ID applies to all remaining commands.  Default is 0.15 and 1.0\n# Example: DEFCMDTIME=Score 1.0, East 0.5, 0.15\nDEFCMDTIME=0.15\nDEFCOMCMDTIME=1.0\n\n# AWARERANGE determines whether the auto-mapping system is enabled.  If this\n# value is greater than 0, it represents the size of the map shown.\n# Default is 0.\nAWARERANGE=0\n\n# EQVIEW determines how players equipment is seen by themselves and others.\n# DEFAULT    Equipment is listed by wear location for all involved.\n# MIXED      Equipment is listed by wear location for yourself, and seen \n#            in paragraph form by others.\n# PARAGRAPH  Equipment is always seen in paragraph form.\nEQVIEW=DEFAULT\n\n# EXVIEW determines how exits are seen by users\n# DEFAULT    Exits are seen as a list of exit names and room titles, unless BRIEF on\n# BRIEF      Exits are seen simply as a list of directions, unless EXAMINE is used.\n# PARAGRAPH  Exits are seen in paragraph form in the room description only.\n# MIXED      Exits are seen in paragraph form in the room description and as BRIEF.\nEXVIEW=DEFAULT\n\n# The FOLLOWLEVELDIFF allows you to set a level range limit\n# for player followers.  A value of 0 disables the limit.\nFOLLOWLEVELDIFF=0\n\n# The MAXSTATS value is the maximum total to which all\n# new character statistics (strength, intelligence, wisdom...)\n# will total when added together.  The default is 70.  This\n# value is only relevant when STARTSTAT<=0  \nMAXSTATS=70\n\n# The BASEMINSTAT value is the base minimum value for all \n# primary stats (str, int, wis, etc).  This value is modified\n# up or down by class or race and through training or random\n# rolls when a character is created.  The default is 3.\nBASEMINSTAT=3\n\n# The BASEMAXSTAT value is the base maximum value for all \n# primary stats (str, int, wis, etc).  This value is modified\n# up or down by class or race.  The default is 18.\nBASEMAXSTAT=18\n\n# The STATCOSTS is a comma-separated list of conditions and points which\n# together describe how many training sessions it costs to raise a primary\n# stat (str, int, dex, etc) with the Train command.  The condition must \n# start with a comparison on the current stat of the player, such as \n# <18, <=23, <25, <99 etc.  This  is followed by a space and the amount of \n# the cost to raise the stat to the next point, optionally followed by the\n# type of cost (TRAIN, PRACTICE, MANA, MOVEMENT, HITPOINT, XP, GOLD, QP,\n# a [DENOMINATION] or [CURRENCY]).  TRAINS are otherwise implies. \n# Example: <18 1 GOLD, <22 2 MANA, <25 3 TRAIN, <99 5 "GOLD BIT"\n# Default is <18 1, <22 2, <25 3, <99 5\nSTATCOSTS=<18 1, <22 2, <25 3, <99 5\n\n# The STARTSTAT value is the starting value for all player \n# primary stats (str, int, wis, etc).  This value is modified\n# up or down by class or race. \n# If this is 0 the system will allow the starting stats to be \n# rolled randomly during character creation, with MAXSTATS as \n# a maximum total.\n# If this is -1 the system will start all player stats at BASEMINSTAT \n# and allow the player to spend MAXSTATS - 18 points in any\n# way they like, though no stat can be spent above BASEMAXSTAT.\n# Default is 0.\nSTARTSTAT=0\n\n# The STARTINGITEMS list is a comma-delimited list of item IDs\n# or Names.  These can be either standard item IDs, or an item\n# from the global Item catalog. To give more than one of an item,\n# it should be prefixed with a number.  These are items given\n# to all new characters created.  To give no items, use ",".\n# An Item list can be prefixed with a race to distinguish.\n# Example: 13 Shield, 5 ShortSword, Pixie, 1 Apple, 1 Waterskin\n# Default: 1 Ration, 1 Waterskin, 1 Torch\nSTARTINGITEMS=1 Ration, 1 Waterskin, 1 Torch, Pixie, 1 Apple, 1 Waterskin, 1 Torch,\\\n\t\t\t  Mindflayer, 1 Waterskin, 1 Torch\n\n# The CHARCREATIONSCRIPTS value is a comma-delimited list of \n# Scriptable files/scripts that will be executed during player\n# creation to allow you to get more information from the user\n# and do something with it. Each file/script listed here may\n# be optionally preceded by a code and an colon to tell\n# the system after which step to execute the script. Codes: \n# PASSWORD, EMAIL, ANSI, THEME, RACE, GENDER, STATS, CLASS,\n# FACTIONS, END (default)\n# Only the ONCE_PROG will be executed.  See Scriptable Guide.\n# Default value is empty.\n# Ex: CHARCREATIONSCRIPTS=FACTIONS:LOAD=progs/chardesc.script\nCHARCREATIONSCRIPTS=\n\n# The DEITYPOLICY describes how players interact with any \n# deities in your game.  It is a space delimited list of \n# key=value pairs describing the policy of your game.  Keys\n# include:\n# REQUIREDMASK="<zappermask>" - a zappermask describing what\n#    kinds of players are required to select a deity during\n#    character creation.\n# NOREBUKE=TRUE - restrict a player from rebuking a deity\n# NOCONVERT=TRUE - restrict a player from converting another\n#    player who already has a deity. \n# DEITYMASK - if REQUIREDMASK is set, this zapper mask will\n#    describe which deities can/can\'t be chosen from during \n#    char creation.\n# Default value is empty, which means no required deities,\n#     and free conversion and rebuking for all.\n# Ex: DEITYPOLICY= REQUIREDMASK="-BASECLASS +CLERIC"\nDEITYPOLICY=\n\n# The MAXITEMSHOWN tells the system how many different items\n# to show, when listing items using the normal LOOK command, \n# before it will begin to simply summarize the remainder.  \n# The LONGLOOK (EXAMINE) command will always show all items,\n# and a value of 0 will disable this feature.  The default\n# value is 5.\nMAXITEMSHOWN=5\n\n# The MAXITEMSWORN tells the system the maximum number of items\n# that can be directly worn, even if the mob has enough wear\n# locations to accommodate more items.  A value of 0 disables.\n# The default value is 0\nMAXITEMSWORN=0\n\n# The MAXWEARPERLOC tells the system the maximum number of wear\n# locations that a player can have per body part type, even if they\n# have enough copies of a particular body part to wear more.  This\n# number also caps the "Floating Nearby" location. A value of 0 \n# disables the cap entirely.\n# The default value is 6\nMAXWEARPERLOC=6\n\n# The DEFAULTPLAYERFLAGS is a comma-delimited list of player \n# flags to turn on by default when a player is first created,\n# or for the time before they log in.  Options include:\n# AUTOGOLD, AUTOLOOT, AUTOEXITS, AUTOASSIST, ANSI COLOR, SYSMSGS, \n# AUTOMELEE, PLAYERKILL, BRIEF, NOFOLLOW, AUTOWEATHER, AUTODRAW, \n# AUTOGUARD, SOUNDS, AUTOIMPROVEMENT, NOTEACH, AUTONOTIFY, \n# AUTOFORWARD, MOTD, QUIET, MXP, COMPRESSED, AUTORUN\n# Default is empty.\nDEFAULTPLAYERFLAGS=\n\n# The RECOVERRATE is the number of 5-ticks between natural state\n# recovery (hp/mana/move).  Default is 1.\nRECOVERRATE=1\n\n# The REMORTMASK is a zappermask to describe what sort of player\n# can use the REMORT command. (See archon help on ZAPPERMASKS)\n# Default is -LEVEL +>60\nREMORTMASK=-LEVEL +>60\n\n# The REMORTRETAIN is a comma-delimited list of things that a player\n# retains when they remort.  These are typically personal stats that\n# cannot be retained otherwise.  Things like bank accounts and other\n# property, since they can be easily transferred, are always retained.\n# Each entry can be prefixed (or suffixed) with a percentage amount\n# to keep.\n#\n# Values include: \n#  HITPOINTS, MANA, MOVES, FACTIONS, LEVELS, ATTACK, QUESTPOINT\n#  DAMAGE, SKILLS, SKILLSAT100, DEFENSE, EXPERTISES, BONUSSTATPOINTS, \n# \n# SPECIAL values include:\n#  RACE to retain the existing race\n#  GENDER to retain the existing gender\n#  CHARCLASS to retain the existing character class\n#  STATS to retain the existing character stats\n#  WARRANTS to retain legal warrants\n#  VISITATION to retain room visitation records\n#\n# Default is 100% FACTIONS, 100% QUESTPOINT\nREMORTRETAIN=100% FACTIONS, 100% QUESTPOINT, RACE, GENDER\n\n# The RACEMIXING string allows you to override the default behavior\n# of the system whereby, when two different races mate through \n# magical help, a new GenRace is generated that is a mix of their\n# attributes.  This entry may be blank to use the default system,\n# FATHER to always use the fathers race, MOTHER to always use \n# the mothers race, or a series of comma-delimited entries like\n# RACE1+RACE2=RACE3 to specify that the mixing of two particular\n# races will always generate a specific third race.  Races can\n# be prefixed by MOTHER or FATHER to narrow mixing options, and\n# multiple resulting races (RACE3) can be separated by |.  The\n# resulting race can also be MOTHER, FATHER, or PARENT also.\n# Example: Orc+Human=Gnome,MOTHER Elf+Human=HalfElf|Elf\n# Default is blank.\nRACEMIXING= \n\n# HUNGER allows one to tweak the game hunger system.  This\n# is a comma-delimited list of 3 numbers.  The first number is\n# the base maximum amount of food that a base stomach can hold\n# (it is adjusted by size/weight).  The second number is a pct\n# to change the base amounts consumed.  The third number is a pct\n# to change the base amounts lost through exercise.\n# Default is 500,100,100\nHUNGER=500,100,100\n\n# THIRST allows one to tweak the game thirst system.  This\n# is a comma-delimited list of 3 numbers.  The first number is\n# the base maximum amount of drink that a base stomach can hold\n# (it is adjusted by size/weight).  The second number is a pct\n# to change the base amounts drank.  The third number is a pct\n# to change the base amounts lost through exercise.\n# Default is 1000,100,100\nTHIRST=1000,100,100\n\n# EXPDEFER determines whether a player receives earned experience right away,\n# or whether it is deferred until later. The normal state is that experience\n# is awarded the moment it is earned, where it is earned.  However, this\n# field lets you defer the awarding of earned experience until an event or \n# action is taken.\n# If the value is empty, the normal state holds.\n# To defer experience awarding, begin with entering the number of mud-hours\n# reflecting the frequency that such experience is awarded, followed \n# by a space and a percentage of xp to allow to be deferred, followed\n# by a space and COMMAND(ARGUMENT STRING) , followed by a space and a \n# zappermask. This will cause xp that is earned to be deferred until \n# entering the given command and given optional argument.  If the command \n# name begins with $ then the base command is still executed after the xp \n# is dispersed.  A wildcard * may be used in the argument.\n# The optional Zappermask then describes who must be in the same room; \n# see AHELP ZAPPERMASK for more info.  Unlike most static zappermasks,\n# this one may contain variables from the player enclosed in braces {},\n# such as {RACE} {CHARCLASS} {LEVEL}, etc.  See also DISABLE SHOWXP.\n# Example: 6 200% SAY(Give me XP!) -EFFECTS +MOBTeacher -ANYCLASS +{CHARCLASS}\n# An empty value (default) is normal\nEXPDEFER=\n\n# RPAWARDS determines the amount (or %) of experience which can be earned \n# by doing role playing type actions and a space followed by the minimum\n# seconds between each award, followed by a comma-delimited \n# list of actions which may earn a player role playing xp and the nominal \n# amount to award.  The actions include:\n# INTRODUCE-PC : introduce yourself to a player\n# INTRODUCE-NPC: introduce yourself to an npc\n# SAY-PC: Say, Say-To, whisper, or yell to a player\n# SAY-NPC: Say, Say-To, whisper, or yell to an npc\n# SOCIAL-PC: Target a social at a player\n# SOCIAL-NPC: Target a social at an npc\n# SOCIAL-OTH: Target a social at a room or oneself\n# EMOTE-PC: Use of the EMOTE command with a player in the room\n# EMOTE-NPC: Use of the EMOTE command with only npcs in the room\n# EMOTE-OTHER: Use of the EMOTE command when you are by yourself\n# CHANNEL: Use of a communication channel except CHANNEL-NAMED\n# CHANNEL-NAMED(NAME1,NAME2,NAME3): Use of named communication channels **\n# GOAFK: the player goes AFK\n#  \n# * NO RXP is earned while Fatigued, Hungry or Thirsty.\n# ** There must be no spaces between CHANN.. and the final )\n# Example:\n# RPAWARDS=25% 8, INTRODUCE-PC 20, INTRODUCE-NPC 5, SAY-PC 5, SAY-NPC 1, SOCIAL-PC 10, \\\n#          SOCIAL-NPC 1, SOCIAL-OTH 1, EMOTE-PC 5, EMOTE-NPC 1, EMOTE-OTH 1, GOAFK -25, \\\n#          CHANNEL-NAMED(GOSSIP,CHAT) -10\n# Default is empty (role playing xp is disabled)\nRPAWARDS=\n\n# LOGOUTMASK is an optional zappermask that the player must match in order \n# to logout of the game, quit, or switch to another account character.  \n# Dropping the connection in the wrong state will keep the vulnerable player \n# in game.  See AHELP ZAPPERMASK for more information on mask syntax. This\n# mask can OPTIONALLY be prefixed with a number of ticks to remain online\n# after connection is lost.\n# Example:\n# LOGOUTMASK=-LOCATION +OWNED +CLANOWNED +PRIV +ROOMSTR(Inn) +ROOMSTR(Hotel)\nLOGOUTMASK=\n\n# TRAINCOSTS is a comma delimited list of player attributes that can be\n# raised using the Train command, each followed by the number of points\n# gained and finally the cost as a number and the word TRAIN, PRACTICE,\n# XP, or GOLD (or a currency).  The attributes are: HITPOINTS, \n# MANA, MOVES, PRACTICES, TRAINS.  \n# Example: HITPOINTS 10 1 GOLD, MANA 20 3 PRACTICE\n# Defaults: HITPOINTS 10 1 TRAIN, MANA 20 1 TRAIN, MOVES 20 1 TRAIN,\n#           TRAINS 1 7 PRACTICE, PRACTICES 5 1 TRAIN\nTRAINCOSTS=HITPOINTS 10 1 TRAIN, MANA 20 1 TRAIN, MOVES 20 1 TRAIN, GAIN 1 7 PRACTICE,\\\n\t\t   PRACTICES 5 1 TRAIN\n\n######################################################################\n# Ability/Skill related configuration variables\n######################################################################\n\n# The MANACONSUMETIME and MANACONSUMEAMT allows you to set \n# a rate in ticks at which temporary spell affects \n# consume mana automatically.\n# An amount of mana determined by [MANACONSUMEAMT]\n# is consumed every [MANACONSUMETIME] ticks for each \n# spell affect.\n# A good value for MANACONSUMETIME would be 10 (10 ticks).\n# MANACONSUMEAMT is an amount of mana, but can also be \n#   set to LEVEL for player level, or SPELLLEVEL for spell level.\n# A value of 0 for MANACONSUMETIME disables this feature.  \n# Default is 0 (disabled) for both.\nMANACONSUMETIME=0\nMANACONSUMEAMT=0\n\n# The EFFECTCAP is the maximum number of uninvokable effects that\n# can be normally invoked upon a character.  This is enforced at\n# invocation time, where a potential effect over the cap will\n# cause a random other effect to be uninvoked.  A value of 0\n# disabled the cap, and 0 is the default.\n# Example:\n# EFFECTCAP=0 \nEFFECTCAP=0\n\n# The MANACOST value determines the maximum amount of mana/move consumed\n# by all skills/spells which do not override their own mana/move costs.  \n# An ordinary value applies to all skills.\n# You may also include a comma delimited list of spell/skill IDs, each\n# followed by a space and their specific values as exceptions.  Each value\n# can be one of the following: \n# - A positive number, adjusted downward as level increases\n# - A negative number, which will be the same as 50 + (number * lowest qual level)\n#     which is also adjusted downward as level increases.\n# - A math formula, where @x1=lowest qual level of the skill, @x2=mob level,\n#      @x3=minimum mana cost, @x4=adjusted mob skill level, @x5=# levels above qual\n# Example: MANACOST=-3, Spell_Shield @x2*3, Skill_Recall 10\n# Default is: -1, Skill_Recall 25\nMANACOST=-1, Skill_Recall 25\n\n# MANACOMPOUND is an optional system to increase the amount of \n# mana/move/whatever used whenever a skill is used again within\n# a particular number of ticks, or negate its use entirely.  \n# This system is meant to encourage more variety in skill rotations.\n# The format is a comma-delimited list of entries, where each \n# entry is the number of ticks followed by a space and a \n# percentage of cost to increase, absolute amount of the cost to increase,\n# or -1 to negate the use entirely.  Each entry can also optionally\n# end with the word MOBMASK= followed by a zapper mask to whom the rule\n# applies, and/or ABILITYMASK= followed by a zapper mask to designate\n# which rules apply to which skills.  Entries without masks apply to\n# everyone and all unmatched abilities.\n# Example: MANACOMPOUND=5 5%, 0 0 ABILITYMASK=-JAVACLASS +Alchemy\n# Example: MANACOMPOUND=3 25%\nMANACOMPOUND=\n\n# The MANAMINCOST value is the minimum amount of mana/move consumed\n# by a skill or spell which does not override its own mana/move\n# costs.  A value of -1 will use a players lowest qualifying level\n# for the skill/spell, or the value of 5, whichever is greater.\n# You may also include a comma delimited list of spell/skill IDs\n# followed by their specific minimum values for exceptions.\n# Example: MANAMINCOST=Spell_Shield 10, Skill_Recall 5, -1\n# The default is -1, 10.\nMANAMINCOST=-1, 10\n\n# ABILITY COSTS are three fields which define the number of \n# trains, xp, money, and/or practices required to gain an ability by \n# default.  Common skills and Languages are considered different \n# from other skills, and are thus listed separately.  The format is\n# a number followed by either the word TRAIN, PRACTICE, XP, or GOLD\n# (or a  currency).  Use @x1 to refer to the level of the skill\n# or @x2 to refer to the level of the player.  This can include a \n# comma-delimited list of overrides, prefixed with the ID of the skill.\n# Example: SKILLCOST=1 TRAIN, Spell_Sleep 50*@x1 GOLD\n# The defaults: 1 TRAIN for SKILLCOST, 3 PRACTICES for LANGCOST.\n#               and 1 TRAIN for COMMONCOST.\nCOMMONCOST=1 TRAIN\nSKILLCOST=1 TRAIN, Skill_WildernessLore 1 PRACTICE, PlayInstrument 3 PRACTICE\nLANGCOST=3 PRACTICE\n\n# WALKCOST AND RUNCOST are the two fields which define the number of \n# movement points required to traverse one room.\nWALKCOST=1\nRUNCOST=2\n\n# MAX ABILITIES are some default limits on the number of skills\n# of various types that can be trained or gained by players.\n# These only apply when the skills are qualified for by ALL classes, \n# and are not specific class skills.  Artisans, for example, \n# override all common skill limits for this reason. \n# A value of 0 removes all limits. Defaults are 0 for common skills,\n# 2 for crafting skills, 5 for non-crafting skills, and 3 for langs.\nMAXCOMMONSKILLS=0\nMAXCRAFTINGSKILLS=2\nMAXNONCRAFTINGSKILLS=5\nMAXLANGUAGES=3\n\n# The ABILITY TIMES are default values to use for the number\n# of actions required to cast a spell or use a skill.  DEFABLETIME\n# refers to the number of actions required when the player is not\n# in combat.  DEFCOMABLETIME is the number of actions required when the\n# player is in combat.  Typically, 1.0 means a full 4 second tick.\n# You may also include a comma delimited list of Skill IDs\n# followed by their specific cost values for exceptions. An entry without\n# an ID applies to all remaining commands.\n# Example Skill_Recall 2.0, Spell_Fireball 1.0, 0.23\n# Default is 0.10 and 1.0\nDEFABLETIME=0.10\nDEFCOMABLETIME=1.0\n\n# The SOCIAL TIMES are default values to use for the number\n# of actions required to perform a social.  DEFSOCTIME\n# refers to the number of actions required when the player is not\n# in combat.  DEFCOMSOCTIME is the number of actions required when the\n# player is in combat.  Typically, 1.0 means a full 4 second tick.\n# You may also include a comma delimited list of Social IDs\n# followed by their specific cost values for exceptions. An entry without\n# an ID applies to all remaining socials.\n# Example Bathe 2.0, Smile 1.0, 0.23\n# Default is 0.10 and 1.0\nDEFSOCTIME=0.10\nDEFCOMSOCTIME=1.0\n\n# The DEFAULTABILITYARGS are default values to use when properties or skills that\n# otherwise do not have arguments are instantiated.  This is especially useful\n# for diseases and other effects generated entirely in code and outside of \n# a builders control.  This won\'t work if something immediately changes\n# the arguments to something else.   \n# This is a comma-delimited set of KEY=VALUE pairs, where the KEY is a valid \n# Ability ID, and the VALUE is the arguments. Any argument commas need \n# to be escaped, e.g. \\,.\n# Example: Disease_Vampirism=NOSWIM=false,Prop_Adjuster=ATTACK+10\n# Default is nothing\nDEFAULTABILITYARGS=\n\n######################################################################\n# Start, Death, and Morgue Room Configuration\n######################################################################\n \n# The START string is the room ID that new players appear at:\n# This is the simplest form.  You may include other entries\n# to specify specific start rooms for racial categories or races\n# (START_ELF, START_HUMAN, etc..). You may also create entries for\n# alignment, deity, class, or faction (START_FIGHTER, START_GOOD..),\n# or even level (START_1, ...).\n# You can also use START_MASK to tie a start room to a mask by\n#  setting the key equal to room id followed by an equal sign, \n#  then a mask (see ahelp ZAPPERMASK).\n# Example: START_FIGHTER=FighterSchool#10\nSTART=New Area#0\n\n# The DEATH string is the room ID that new players appear at\n# when they die. This is the simplest form, where the death\n# room is made the same as the start room.  You may include \n# other entries to specify specific death rooms for racial \n# categories or races (DEATH_ELF, DEATH_HUMAN, etc..). You may also use\n# alignment, deity, class, or faction (DEATH_GOOD, DEATH_FIGHTER, etc..),\n# or even level (DEATH_13, ...).\n# You can also use DEATH_MASK to tie a death room to a mask by\n#  setting the key equal to room id followed by an equal sign, \n#  then a mask (see ahelp ZAPPERMASK).\n# Default is START, which brings the user back to their recall room.\n# Use MORGUE to bring the user back to where their body is.\n# Use HERE to make the user remain where they died (not recommended).\n# Example: DEATH_GOOD=Heaven#10\nDEATH=START\n\n# The MORGUE string is the room ID that the bodies of players\n# automatically go to.  By default, the value is START, meaning \n# that the body lies where the player dies.  You may include \n# other entries to specify specific body rooms for racial \n# categories or races (MORGUE_ELF, MORGUE_HUMAN, etc..). You may also \n# use alignment, deity, class, or faction (MORGUE_GOOD, MORGUE_FIGHTER, ..),\n# or even level (MORGUE_13, ...).\n# You can also use MORGUE_MASK to tie a morgue room to a mask by\n#  setting the key equal to room id followed by an equal sign, \n#  then a mask (see ahelp ZAPPERMASK).\n# Default is HERE, which means the body stays where it died.\n# Use DEATH to put the body where the player will end up.\n# Use START to put the body at their recall room.\n# Example: MORGUE_MASK=Heaven#10=-LEVELS +>31\nMORGUE=HERE\n\n######################################################################\n# World Environment configuration variables\n######################################################################\n\n# The MUDTHEME variable describes the availability of certain races \n# and classes in the system, especially at startup.  Valid values include:\n# 0=The mud does not accept new accounts.  Most options are disabled.\n# 1=Fantasy only\n# 2=Technological only\n# 3=Fantasy and Technological\n# 4=Heroic only\n# 5=Fantasy and Heroic\n# 6=Technological and Heroic\n# 7=Fantasy, Heroic and Technological\n# The default value is 1\nMUDTHEME=1\n\n# The DIRECTIONS setting describes how many directions are available in\n# the system.  There are only two valid settings: 7, which\n# means that N,S,E,W,U,D, and V are available, and 11, which \n# means that N,S,E,W,NW,NE,SW,SE,U,D, and V are available.\nDIRECTIONS=7\n\n# The SKYSIZE describes whether, and how large the automatic\n# Sky areas above your outdoor rooms will be.  A value of 0\n# means NO sky will be generated, while other values will\n# denote how large (square).  For instance, a value of 2\n# would mean 2 X 2, 3 would be 3 X 3, etc. Default is 3.\n# If a "-" character precedes the number, the exit to the\n# grid will be hidden.  For instance, -3 means a hidden 3X3.\n# This value also applies to underwater grids.\nSKYSIZE=3\n\n# The AUTOWEATHERPARMS describes whether the CoffeeMud \n# behavior knows as WeatherAffects is automatically \n# added to areas and, if so, what the parameters on \n# the behavior are.  You will need to check the \n# help files for the WeatherAffects behavior for the\n# meaning of the parameters.  If the value is NO, the\n# behavior will not be automatically added.  A value of\n# blank, or any other will add the behavior to all areas\n# and invoke it with the given parameters.  Default is blank.\nAUTOWEATHERPARMS=\n\n# The AUTOAREAPROPS describes whether CoffeeMud \n# automatically adds the listed Properties or\n# Behaviors automatically to all areas and, if so, \n# what the parameters on the properties or behaviors are.  \n# You will need to check the help files or the MUDGrinder \n# for list of properties and behaviors valid for areas and\n# the meaning of the parameters.\n#\n# The format for this entry is the ID of the property of\n# behavior followed optionally by the parameters in \n# parenthesis.  You can then separate multiple entries \n# with semicolons; example:\n# AUTOAREAPROPS=Prop_ReqCapacity(weight=1000);Arrest(custom)\nAUTOAREAPROPS=\n\n# MILLISPERMUDHOUR - Real life milliseconds in each mud "hour".\n# Default is 600000, or ten minutes.\nMILLISPERMUDHOUR=600000\n\n# HOURSINDAY - Hours In A MudDay. Counts from 0 to (this-1).\n# This field is for the default clock only.\n# Default is 6\nHOURSINDAY=6\n\n# DAYSINMONTH - Days In A MudMonth.  Counts from 1 to this.\n# This field is for the default clock only.\n# Default is 20\nDAYSINMONTH=20\n\n# MONTHSLIST - Names of the months in a year, from first to last\n# This list is comma delimited, and may be words, numbers, whatever.\n# This field is for the default clock only.\nMONTHSINYEAR=the 1st month,the 2nd month,the 3rd month,the 4th month,\\\n\t\t\t the 5th month,the 6th month,the 7th month,the 8th month\n\n# DAYSINWEEK - Names of the days in a week, from first to last.\n# This list is comma delimited, and may be words, numbers, whatever.\n# This field is for the default clock only.  Default is empty.\nDAYSINWEEK=\n\n# DAWNHR - The hour in which it is dawn on your world.\n# If you do not want a daytime, make this -1.\n# This field is for the default clock only. Default is 0.\nDAWNHR=0\n\n# DAYHR - The hour, which must be >DAWNHR, in which day time starts.\n# If you do not want a daytime, make this -1.\n# This field is for the default clock only. Default is 1.\nDAYHR=1\n\n# DUSKHR - The hour, which must be >DAYHR, in which it is dusk on your world.\n# If you do not want a nighttime, make this -1.\n# This field is for the default clock only. Default is 4.\nDUSKHR=4\n\n# NIGHTHR - The hour, which must be >DUSKHR, in which night begins on \n# your world.  The nighttime will run until DAWNHR.\n# If you do not want a nighttime, make this -1.\n# This field is for the default clock only. Default is 5.\nNIGHTHR=5\n\n# YEARDESC - This is a list of names to give to the years.  By default, the\n# descriptions will cycle after they are used up.  Use the number sign # to\n# denote where in each name you want the numeric year placed.\n# This list is comma delimited and is for the default clock only.\n# The default is "year #".\nYEARDESC=year #\n\n# DEFAULTPROMPT - This is the encoded default prompt that all players start\n# with.  They can change it with the PROMPT command.  See help on that \n# command for information on the syntax of this string.\n# Default is: ^N%E<^h%hhp ^m%mm ^v%vmv^N> \nDEFAULTPROMPT=^N%E<^h%hhp ^m%mm ^v%vmv^N> \n\n# PROMPTBEHAVIOR - This changes the automatic suffix to all prompts.\n# Changing to CRLF makes Mudlet work, but makes me unhappy.\n# Values are:\n# (empty) - No extra carriage returns, No Go-Ahead telnet code\n# GACRLF  - Add extra carriage returns, Add Go-Ahead telnet code\n# GA\t  - No extra carriage returns, Add Go-Ahead telnet code \n# CRLF\t  - Add extra carriage returns, No Go-Ahead telnet code\n# Default is empty.\nPROMPTBEHAVIOR=\n\n# EXPIRATIONS - A list of minutes denoting when various items, once placed\n# into a room directly or indirectly by your players, will expire and\n# be automatically cleaned up out of the world.  The values in the list are\n# the number of minutes for each of the following types of items respectively:\n# Monster loot, Player drops, Gathered natural resources, Monster corpses,\n# and Player corpses.  The defaults are 30, 1200, 60, 30, 1330 respectively. \nEXPIRATIONS=30,1200,60,30,1330\n\n# COLORSCHEME - This is a series of default ANSI color definitions in the \n# form of COLORCODE=COLOR,COLORCODE=COLOR+COLOR,COLORCODE=COLOR.\n# Valid COLORCODES include: "FIGHT","SPELL","EMOTE","TALK", "CHANNELTALK",\n# "CHANNEL","CHANNELFORE","IMPORTANT1", "IMPORTANT2","IMPORTANT3",\n# "ROOMTITLE","ROOMDESC","DIRECTION","DOORDESC","ITEM","MOB","HITPOINTS",\n# "MANA","MOVES","NORMAL","HIGHLIGHT","UNEXPDIRECTION","UNEXPDOORDESC".\n# Valid COLORS include: "WHITE","LIGHTGREEN","LIGHTBLUE","LIGHTRED",\n# "YELLOW","LIGHTCYAN","LIGHTPURPLE","GREY","GREEN","BLUE","RED","BROWN",\n# "CYAN","PURPLE","DARKGREY","BLACK","NONE","BOLD","UNDERLINE","ITALICS",\n# "BGWHITE","BGGREEN","BGBLUE","BGRED","BGYELLOW","BGCYAN","BGPURPLE","BGBLACK",\n# "BGDEFAULT","YOU-FIGHT","FIGHT-YOU"\nCOLORSCHEME=\\\n\tNORMAL=GREY,\\\n\t\t\tHIGHLIGHT=LIGHTCYAN,\\\n\t\t\tYOU-FIGHT=LIGHTPURPLE,\\\n\t\t\tFIGHT-YOU=LIGHTRED,\\\n\t\t\tFIGHT=RED,\\\n\t\t\tSPELL=YELLOW,\\\n\t\t\tEMOTE=LIGHTPURPLE,\\\n\t\t\tTALK=LIGHTBLUE,\\\n\t\t\tTELL=CYAN,\\\n\t\t\tCHANNEL=LIGHTCYAN+BGBLUE,\\\n\t\t\tIMPORTANT1=LIGHTCYAN+BGBLUE,\\\n\t\t\tIMPORTANT2=YELLOW+BGBLUE,\\\n\t\t\tIMPORTANT3=YELLOW+BGRED,\\\n# delimited.\n# Example: \n# BADNAMES=badname1,badname2,badname3\nBADNAMES=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\n\t\n# COMMONACCOUNTSYSTEM enables or disables the common account system\n# that allows players to use single accounts to manage all their\n\t\t\tMANA=LIGHTCYAN,\\\n\t\t\tMOVES=LIGHTCYAN,\\\n\t\t\tUNEXPDIRECTION=CYAN+BGBLUE,\\\n\t\t\tUNEXPDOORDESC=LIGHTBLUE\n\n# DEFAULTPARENTAREA is the default parent to assign to all areas that\n# use the default clock.  That is, if a new StdTimeZone or StdPlanet \n# area is created, this would not apply.  All other StdArea, StdThinArea, \n# etc type areas that do not have StdTimeZone or StdPlanet parents, however,\n# would be automatically assigned the area of this name as a parent.  This\n# is yet another useful way to add features to great swaths of areas.\n# Default is empty\nDEFAULTPARENTAREA=\n\n######################################################################\n# Miscellaneous Game related configuration variables\n######################################################################\n\n# The AUTOPURGE is a comma-separated list of conditions and days which\n# together describe how long a character will remain in the player database\n# despite not having logged on.  The condition must start with a comparison \n# on the level of the player, such as <2 >3, <=4, >=5 etc.  This  is followed\n# by a space and the number of rl days that their account will remain\n# before being automatically purged. If this amount evaluates to zero, then \n# the account will never be purged. After that is the number of rl days before\n# autopurging to email a warning. If this amount evaluates to zero, then \n# the account will never be warned.  Use the NOPURGE game command to protect \n# specific players and override this setting.  To disable all player character\n# purging, use a setting of: >=0 0 0\n# The default is <2 10 0, <3 15 1, <10 30 2, <90 90 7, >=90 0 0\nAUTOPURGE=<2 10 0,\\\n          <3 30 5,\\\n          <10 90 7,\\\n          <30 180 7,\\\n          <90 270 14,\\\n          >=90 0 0\n\n# The ACCOUNTPURGE how long an account will remain in database despite not\n# having any characters (see AUTOPURGE). This time will begin to tick down\n# after the last logout, or, if the expiration system is used, after the\n# expiration date is reached.\n# This number is in real life days, and 0 disables. \n# Default is 365 (one year).\nACCOUNTPURGE=365\n\n# The IDLETIMERS is a number pair representing the number of minutes a player\n# may remain idle (not entering anything) before being automatically logged\n# off.  This is followed by a number representing the number of minutes of\n# idleness before they get an "idle warning".  Setting these to 0 disables\n# the feature.  Default is 90 85.\nIDLETIMERS=90 85\n\n# The EMAILREQ flag describes EMAIL ADDRESS usage and requirement.\n# Values include:\n# OPTIONAL - email address is optional (default)\n# DISABLED - email address is not asked for\n# REQUIRED - email address is required to create a character\n# PASSWORD - During character creation, the user does not enter their \n#            own password.  Instead, a random password is generated and\n#            emailed to the given email address (which is required).\nEMAILREQ=OPTIONAL\n\n# The EDITORTYPE value says whether the mobs/item editor is \n# the WIZARD style or the MENU style. Default is MENU.\nEDITORTYPE=MENU\n\n# The PAGEBREAK value sets the default player value for \n# whether there is a "<pause - enter>" message after a \n# given number of lines.  0 means no, otherwise, its the \n# number of lines after which to break when large text pages are dumped.\n# The player can modify this value with the PAGEBREAK command.\n# Default is 0.\nPAGEBREAK=0\n\n# COMPRESS is a list, separated by commas, of which internal\n# objects or systems should optimize their memory usage.  \n# This can often be at the expense of CPU usage, so change\n# these with care.  Systems which may be chosen include:\n# GENMOBS, ITEMDESC, ROOMDESC, RESOURCES, MOBDESC.  \n# The default is to compress nothing.\nCOMPRESS=\n\n# BADNAMES is an ini entry that allows you to make certain player \n# names invalid when players are created.  The list is COMMA\n# delimited.\n# Example: \n# BADNAMES=badname1,badname2,badname3\nBADNAMES=Ability,Abjurer,Acid,Age,Alignment,Alterer,Amaris,Apprentice,Arcanist,Armor,\\\n\t\t Artisan,Assassin,Attack,Barbarian,Bard,Beastmaster,Burglar,Charisma,Charlatan,\\\n\t\t Cleric,Cold,Conjurer,Constitution,Conversion,Damage,Delver,Detection,Dexterity,\\\n\t\t Disease,Disposition,Diviner,Doomsayer,Druid,Electricity,Enchanter,Evoker,Fatigue,\\\n\t\t Fighter,Fire,Gaian,Gas,Gender,General,Guest,Gypsy,Healer,Height,Hits,Hunger,\\\n\t\t Illusionist,Intelligence,Jester,Justice,Last,Level,Mage,Magic,Mana,Maxcharisma,\\\n\t\t Maxconstitution,Maxdexterity,Maxfatigue,Maxhits,Maxhunger,Maxintelligence,\\\n\t\t Maxmana,Maxmove,Maxstrength,Maxthirst,Maxwisdom,Mer,Mind,Minstrel,Missionary,\\\n\t\t Monger,Monk,Move,Necromancer,Nigga,Nigger,Ninja,Oracle,Paladin,Paralysis,Pirate,\\\n\t\t Poison,Practices,Prancer,Purist,Questpoints,Ranger,Rejuv,Reliquist,Resists,\\\n\t\t Sailor,Scholar,Senses,Shaman,Skywatcher,Strength,Templar,Test,Tester,Thief,\\\n\t\t Thirst,Trains,Transmuter,Trapper,Traps,Undead,Water,Weight,Weightadj,Wisdom,Xp,\\\n\t\t Xpfnl,Xptnl,kkk,*nigger,*nigga\n\t\n# COMMONACCOUNTSYSTEM enables or disables the common account system\n# that allows players to use single accounts to manage all their\n# characters.  \n# Value is 0 or 1 to disable, or the maximum number of characters \n# each account can create.  Default is 1\nCOMMONACCOUNTSYSTEM=1\n\n# MAXCONNSPERACCOUNT is used with COMMONACCOUNTSYSTEM and the\n# MAXCONNSPERIP systems above to set a maximum number of character\n# online for a given account.  Value is 0 to disable this feature,\n# or a positive number.  Default is 3\nMAXCONNSPERACCOUNT=3\n\n# ACCOUNTEXPIRATION enables or disables the account expiration\n# system.  YES/NO are acceptable.  This can be used on a per-player\n# or as part of the COMMONACCOUNTSYSTEM. This system can also be \n# used as a character/account approval system, when TRIALDAYS=0.\n# Default is NO.\nACCOUNTEXPIRATION=NO\n\n# TRIALDAYS sets how many days a player gets free with character\n# creation.  This setting only matters when ACCOUNTEXPIRATION=YES.\n# Default is 15\nTRIALDAYS=15\n\n# EXPCONTACTLINE is the line displayed to the players when their account\n# is expired.    This setting only matters when ACCOUNTEXPIRATION=YES.\nEXPCONTACTLINE=Your account is expired.  Please contact _____ for assistance.\n\n# LISTFILE is the name of the file containing numerous charts and string\n# lists which the truly geeky among you may want to open up and customize.\n# Multiple entries may be separated by commas to allow later files to \n# override earlier ones.  An entry can even be an override variable.\n# Default is /resources/lists.ini\nLISTFILE=/resources/lists.ini\n\n# EXTVAR refers to a list of optional INI file entries to have admin-\n# defined variables "tacked on" to existing CoffeeMud objects, especially\n# GenCharClass, GenRace, DefaultPlayerStats, most of the various\n# Generic MOB and Item types (GenItem, GenWeapon, GenMob, GenArmor, etc), \n# Rooms (StdRoom, Woods, etc), and Areas (StdArea, etc).\n# These are defined by creating a new INI entry of the form "EXTVAR_" \n# followed by the Class ID (GenWeapon, Woods, etc).  Each entry should\n# be set equal to a comma-delimited list of new variable names you \n# would like to add to the class object.  The variables will then begin\n# to appear in the object editors, and will be saved and persisted in \n# the database.\n#\n# Example: EXTVAR_GenArmor=SHININESS,COLOR,EMBLEM  \n\n# ADDCHARSTAT and REPLACECHARSTAT allow you to add or modify character \n# stats used by the coffeemud engine.  Character stats are things like \n# STRENGTH, DEXTERITY, saving throws, etc.  These will be displayed in \n# appropriate places, and their values will be your player\'s db records.\n# They are defined by creating a new INI entry of the form "ADDCHARSTAT_" \n# followed by the NAME of the new stat to create, or "REPLACECHARSTAT_" \n# followed by the NAME of the old stat.  Each entry is then set equal to \n# a comma-delimited list of fields that define the new stat (or redefine \n# the old one).  These fields are, respectively: \n# 1. a stat type (BASE, SAVE, OTHER, or a new stat name when REPLACEing), \n# 2. a unique 2 letter abbreviation, \n# 3. a description, \n# 4. an adjective.  \n# For example:\n# ADDCHARSTAT_NEWSTAT=SAVE,ns,my new stat,newstatty\n# REPLACECHARSTAT_STRENGTH=NEWSTAT,ns,my new stat,newstatty\n\n# ADDMATERIAL and REPLACEMATERIAL allow you to add or modify the physical \n# resources used by the coffeemud engine for items.  These are things like \n# PORK, MITHRIL, LEATHER, LAMP_OIL, etc.  These will be displayed in \n# appropriate places, and their values will available to your archons.\n# They are defined by creating a new INI entry of the form "ADDMATERIAL_" \n# followed by the NAME of the new resource to create, or "REPLACEMATERIAL_" \n# followed by the NAME of the old res.  Each entry is then set equal to \n# a comma-delimited list of fields that define the resource (or redefine \n# the old one).  These fields are, respectively: \n# 1. a material (CLOTH, LEATHER, METAL,MITHRIL, WOODEN, GLASS, VEGETATION, \n#    FLESH, PAPER, ROCK, LIQUID, PRECIOUS, ENERGY, PLASTIC), \n# 2. a smell (if any), \n# 3. value, \n# 4. rarity weight (1-100, lower=rarer), \n# 5. hardness (0-6), \n# 6. bouancy (0-30000), \n# 7. the gathering category (FISH, BERRY, WOODY, or nothing).\n# 8. an optional ability ID (currently only for eating the raw form)\n# For example:\n# ADDMATERIAL_FLUFF=cloth,,0,100,0,10,,\n# REPLACEMATERIAL_COTTON=cloth,,0,100,0,10,,\n# ADDMATERIAL_GRUG=flesh,strong meaty,3,15,1,2000,FISH,\n\n# ADDWEARLOC and REPLACEWEARLOC allow you to add or modify the wearable  \n# locations used by the coffeemud engine for mobs.  These are things like \n# left finger, on eyes, on torso, etc.  These will be displayed in \n# appropriate places, and their values will available to your archons.\n# They are defined by creating a new INI entry of the form "ADDWEARLOC_" \n# followed by the NAME of the new location to create, or "REPLACEWEARLOC_" \n# followed by the NAME of the old loc.  Each entry is then set equal to \n# a comma-delimited list of fields that define the location (or redefine \n# the old one).  These fields are, respectively: \n# 1. a list of wear locations dependent on this one sep. by | characters, \n# 2. the armor score of this location (0.0 - 2.0), \n# 3. the displayed order (0-n), \n# 4. the weight score for cloth (0.0 - 10.0), \n# 5. for leather (0.0 - 10.0), \n# 6. for metal (0.0 - 10.0).  \n# For example:\n# ADDWEARLOC_FACE=eyes|mouth,0.2,16,0.5,0.7,1.0\n# REPLACEWEARLOC_EYES=,0.1,7,0.1,0.2,0.3\n\n######################################################################\n# Channel and Command Journal Configuration\n######################################################################\n\n# CHANNELS is a list, separated by commas, as below.  \n# These are public "CHAT" commands.  The channels must be \n# one word, in uppercase.  You may include a space and \n# an allowed channel participant mask, but this is optional.\n# The channel mask uses the same flags as is shown in the Archon help\n# files under ZAPPERMASKS.  The mask may also include the word \n# SAMEAREA to restrict a channel to being heard only by those in the \n# same area as the speaker, READONLY to make the channel read-only, \n# PLAYERREADONLY to make the channel read-only to players alone, and\n# ARCHONREADONLY to make the channel read-only except to archons.\n# The flag CLANONLY will display information only to player\'s clan members.\n# The flag CLANALLYONLY will add members of allied clans to the talk.\n# The flag NOBACKLOG will prevent saving msgs to the database\n# The flag ACHIEVEMENTS will announce player achievement gains.\n# The flags ADDAREA amd ADDROOM will add the name of the speakers location.\n# Other flags include EXECUTIONS, LOGINS, LOGOFFS, BIRTHS, MARRIAGES, \n# DIVORCES, CHRISTENINGS, LEVELS, DETAILEDLEVELS, DEATHS, DETAILEDDEATHS,\n# CONQUESTS, CONCEPTIONS, NEWPLAYERS, LOSTLEVELS, PLAYERPURGES, CLANINFO,\n# WARRANTS, ADDACCOUNT, ACCOUNTOOC, ACCOUNTOOCNOADMIN, REALNAMEOOC, NOMOOD,\n# REALNAMEOOCNOADMIN, NOLANGUAGE, ACCOUNTLOGINS, ACCOUNTLOGOFFS, or the \n# names of any colors to override the default. Some of the above flags \n# cause events to be automatically broadcasted on the given channel.\nCHANNELS=\\\n\tGOSSIP,\\\n\tGRATZ,\\\n\tCHAT,\\\n\tOOC ACCOUNTOOC NOLANGUAGE,\\\n\tQUESTCHAT PLAYERREADONLY, \\\n\tWIZ +SYSOP -NAMES, \\\n\tCLANTALK CLANONLY CLANINFO CONQUESTS LOGINS LOGOFFS, \\\n\tINFO READONLY EXECUTIONS LEVELS NEWPLAYERS BIRTHS MARRIAGES ACHIEVEMENTS DIVORCES CHRISTENINGS, \\\n\tWIZINFO READONLY LOGINS LOGOFFS DETAILEDLEVELS DETAILEDDEATHS PLAYERPURGES +SYSOP -NAMES\n\n# COMMANDJOURNALS is a list, separated by commas, as below.  \n# These are system journal commands.  The journal names must be \n# one word, in uppercase.  You may include a space and \n# an optional zapper mask which will show who is allowed to use the command, \n# The zapper mask uses the same flags as is shown in the Archon help files \n# under ZAPPERMASKS.  \n# Including "CHANNEL=CHANNELNAME" in the mask, with no spaces, will cause \n# all new entries to be echoed to the given channel of the name "CHANNELNAME".\n# The channel must be defined above.\n# Including "ADDROOM" with any value in the mask prepends the roomID of the person \n# adding entries to the journal to message entries.\n# Including "CONFIRM" with any value in the mask forces the user to be prompted\n# to confirm their new entry.\n# Including "ADMINECHO" with any value will cause new messages to be echoed to those \n# with the appropriate security flag when they log in.\n# Including "EXPIRE=X" in the mask, with no spaces, will cause entries more \n# than X days old to be automatically purged from the journal.\n# Including "SCRIPT=[filename]" in the mask will cause the given mobprog script \n# (see Scripting guide) to be executed, with the results appended to the journal.\n# Including "REPLYSELF=NAME" with the name of a journal, ALL, or a user, will automatically\n# send the message to that destination when one replies to a message that is both from and to\n# the replier.\n# Including "REPLYALL=NAME" with the name of a journal, ALL, FROM, MAILBOX, or a user, will \n# automatically send the message to that destination when one replies to a message that is to ALL. \n# Including "ASSIGN=NAME1:NAME2" with a colon-delimited list of arbitrary names allows messages to\n# be transferred to those names, thus acting as categories.\n# Including "MOTD" with any value forces user to be prompted at login when they have messages assigned.\n# Security flags are automatically defined for each COMMANDJOURNAL.  Players\n# with a security flag whose name is the same as the COMMANDCHANNEL will be\n# able to list and destroy items from the journal.\nCOMMANDJOURNALS=\\\n\tBUG CONFIRM SCRIPT=progs/bugreport.script,\\\n\tTYPO ADDROOM,\\\n\tIDEA,\\\n\tTASK,\\\n\tSTUCK CHANNEL=WIZINFO EXPIRE=2 ADMINECHO\n\n# FORUMJOURNALS is a list, separated by commas, as below.  \n# These are journals that act as open forums for users, esp on the\n# web site.  After the journal name comes a series of flags and \n# modifiers. "Zapper masks" refers to the same flags as is shown \n# in the Archon help files under ZAPPERMASKS.  \n# "READ=ZAPPER MASK" will determine who may read messages in this forum.\n# "POST=ZAPPER MASK" will determine who may post messages in this forum.\n# "REPLY=ZAPPER MASK" will determine who may reply to msgs in this forum.\n# "ADMIN=ZAPPER MASK" will determine who may administer this forum.\n# "CATEGORY=X" will set a category name for the forum\n# "EXPIRE=X" in the mask, with no spaces, will cause entries more\n# than X days old to be automatically purged from the journal.\n# * Do not include any spaces before your equal signs!\n# For masking purpose, anonymous users are level 0 mobs.\nFORUMJOURNALS=\\\n\tOpen Discussion ADMIN=+SYSOP -NAMES EXPIRE=90,\\\n\tAnnouncements READ=-<1 POST=+SYSOP -NAMES REPLY=+SYSOP -NAMES ADMIN=+SYSOP -NAMES EXPIRE=90,\\\n\tPlayer Chat READ=-<1 ADMIN=+SYSOP -NAMES EXPIRE=360,\\\n\tArchons Speak READ=+SYSOP -NAMES POST= REPLY= ADMIN= EXPIRE=360\n\n# JOURNALLIMIT is the maximum number of journal entries to show when \n# reading the table of contents of a journal.  This number can be \n# overridden when reading the journal to list older entries.  The\n# default is 10.  0 would be no limit.\nJOURNALLIMIT=10\n\n# CHANNELBACKLOG is the maximum number of channels messages for each\n# channel that will be retained in the channel backlog database. \n# A simple number is the number of messages to retain, while a number\n# followed by the word DAYS, WEEKS, MONTHS, or YEARS will retain\n# messages for that amount of time. A simple value of 0 disables the\n# entire backlog process, while the word "INFINITY" or "FOREVER" retains\n# all backlog database messages for all time. \n# DEFAULT is 10000\nCHANNELBACKLOG= 10000\n\n######################################################################\n# Clan Settings\n######################################################################\n\n# MINCLANLEVEL sets the system-wide absolute minimum level\n# that players must have reached to join a clan. For\n# systems that are multi-class or sub-class, total levels\n# is used, not highest.\n# Default is 1\nMINCLANLEVEL=1\n\n# MINCLANMEMBERs is how many members must be in a clan before that clan\n# is activated.  Pending Clans may not purchase land or negotiate with\n# other clans. This is also the minimum active number of members to not\n# be removed.  A value of 0 prevents a clan from ever being purged.\n# Default is 1\nMINCLANMEMBERS=1\n\n# MAXCLANMEMBERs is how many members max may be in a single clan before \n# that clan automatically rejects applications.  Setting this to 0 \n# removes the restriction altogether.\n# Default is 0\nMAXCLANMEMBERS=0\n\n# DAYSCLANDEATH is an auto-maintenance feature.  \n# If MINCLANMEMBERS haven\'t logged on in DAYSCLANDEATH days, the Clan\n# is automatically destroyed, their lands re-possessed, and bank account\n# emptied. Set this to 0 to disable altogether\n#\n# *** Note - this is in IN-GAME time, where 24 days equals 1 RL day\n# Default is 2160\nDAYSCLANDEATH=2160\n\n# DAYSCLANOVERTHROW is an auto-maintenance feature.  \n# If the only clan members with the highest rank are declared\n# missing because they have not logged in in DAYSCLANOVERTHROW days, the \n# current position holders will be replaced with the next highest ranking\n# player who is eligible and has logged in recently.  Set this to 0 to\n# disable this feature.\n#\n# *** Note - this is in IN-GAME time, where 24 days equals 1 RL day\n# Default is 952\nDAYSCLANOVERTHROW=952\n\n# CLANVOTE is part of the clan voting feature.  It determines\n# the number of mud days that a vote is allowed to exist before\n# being closed.  The vote will remain active for this given amount\n# of time, and also linger for the same amount of time after the \n# vote.  This number of days is followed by a comma and a required\n# %quorum for a vote to be considered valid, if the time expires.\n# There are three ini file settings for this feature, the\n# first being CLANVOTEO for Oligarchy, CLANVOTER for Republic, \n# and CLANVOTED for Democratic.\n# Remember, the format is CLANVOTEX=DAYS,QUORUM%\n# *** Note - the days are in IN-GAME time, where 24 days equals 1 RL day\nCLANVOTEO=24,100\nCLANVOTED=100,33\nCLANVOTER=48,66\n\n# CLANTROP is part of the clan trophy system whereby clan members are \n# rewarded for the performance of their clan.  Possible trophies:\n# * CLANTROPAREA is awarded to the clan with the most\n# number of areas controlled through the Conquerable behavior.  \n# * CLANTROPCP is awarded to the clan with the most\n# number of control points gained through the Conquerable behavior.\n# * CLANTROPPK is awarded to the clan with the most\n# number of rival clan player kills in the last rl month.\n# * CLANTROPEXP is awarded to the clan with the most experience points.\n# * CLANTROPMB is awarded to the clan with the most members\n# * CLANTROPLVL is awarded to the clan with the highest median level\n# * CLANTROPPLVL is awarded to the clan with the most player levellings\n# * CLANTROPPTIME is awarded to the clan with the most player time played\n#   :: The following are awarded for performance in the last month ::\n# * CLANTROPMONTHLYPTIME is awarded to the clan that had the most player time\n# * CLANTROPMONTHLYPXP is awarded to the clan that gained most player xp\n# * CLANTROPMONTHLYEXP is awarded to the clan that had most clan xp\n# * CLANTROPMONTHLYAREA is awarded to the clan that had most areas conquered\n# * CLANTROPMONTHLYLVLS is awarded to the clan that had most clan levellings\n# * CLANTROPMONTHLYCP is awarded to the clan that gained most control points\n# * CLANTROPMONTHLYMB is awarded to the clan that had most new members\n# The values of each of these variables denote the award given to the\n# clan or its members.  If no value is given, the trophy is disabled.\n# Each award is in the format: AMOUNT TYPE.\n# AMOUNT may be a literal number or a percentage.\n# TYPE may be:\n#   EXPERIENCE to give an award of individual player experience bonus.\n#   PRACTICES to give practice points at the donation room\n#   TRAINS to give training sessions at the donation room \n#   COINS to give money at an open bank account\nCLANTROPAREA=10% EXP\nCLANTROPCP=5% EXP\nCLANTROPEXP=5% EXP\nCLANTROPPK=10% EXP\nCLANTROPMB=3% EXP\nCLANTROPLVL=3% EXP\nCLANTROPPLVL=3% EXP\nCLANTROPPTIME=3% EXP\nCLANTROPMONTHLYPTIME=2% EXP\nCLANTROPMONTHLYPXP=2% EXP\nCLANTROPMONTHLYEXP=2% EXP\nCLANTROPMONTHLYAREA=2% EXP\nCLANTROPMONTHLYLVLS=2% EXP\nCLANTROPMONTHLYCP=2% EXP\nCLANTROPMONTHLYMB=2% EXP\n\n# CLANENCCOST is the amount of clan experience, per enchantment point\n# that is used in the construction of a clan item.\n# Default is 1000\nCLANENCHCOST=1000\n\n# CLANCOST is the amount of gold required to start a new clan.  Default\n# is 10000 gold.\n# Default is 10000\nCLANCOST=10000\n\n# MAXCLANCATS is a comma delimited list of clan categories, followed by \n# the maximum number of clans of that category that a player can belong\n# to simultaneously.  The format is for each entry is name of a category\n# followed by a space and the maximum number, where 0 is unlimited.  An\n# entry that is only a number will serve as a default for all unlisted cats.\n# Example: MAXCLANCATS=ClanCatA 2, ClanCatB 3, 0\n# Default is 1\nMAXCLANCATS=1\n\n# PUBLICCLANCATS is a comma delimited list of clan government clan \n# categories.  The government categories on this list are available for\n# players to create their own clans from.  Others are not.  The\n# empty string category is always available.\n# Example: PUBLICCLANCATS=ClanCatA, ClanCatB\n# Default is nothing (meaning only empty string is public)\nPUBLICCLANCATS=\n\n# CLANWEBSITES is a comma delimited list of coded lines describing where\n# clans of particular government clan categories mount and get their\n# personal web site.  The format for each line is:\n# [CLAN CATEGORY OR CLAN NAME] WebMountPath TemplatePath\n# The WebMountPath is the web path to the site, and will show up on \n# all mud web servers that have at least one mount path that is\n# a root of that path.  TemplatePath is a directory of files\n# where the default pages for the web site are copied from.\n# Use <CLANNAME> in a mount path in order to insert the clans name.\n# Use <CLANTYPE> in a journal name in order to insert the clans govt type.\n# Do not allow more than one clan to map to an entry in this list.\n# Default is [] /web/pub/clan/<CLANNAME> /web/clan.templates\nCLANWEBSITES=[] /web/pub/clan/<CLANNAME> /web/clan.templates\n\n# CLANFORUMDATA is a comma delimited list of coded lines describing where\n# clans of particular government clan categories mount and get their\n# forums, and the name and nature of those forums.  The format for each \n# line is [CLAN CATEGORY] Journal name followed by a series of flags and \n# modifiers. "Zapper masks" refers to the same flags as is shown \n# in the Archon help files under ZAPPERMASKS.  \n# "READ=ZAPPER MASK" will determine who may read messages in this forum.\n# "POST=ZAPPER MASK" will determine who may post messages in this forum.\n# "REPLY=ZAPPER MASK" will determine who may reply to msgs in this forum.\n# "ADMIN=ZAPPER MASK" will determine who may administer this forum.\n# "EXPIRE=X" in the mask, with no spaces, will cause entries more \n# than X days old to be automatically purged from the journal.\n# Use <CLANNAME> in a journal name in order to insert the clans name.\n# Use <CLANTYPE> in a journal name in order to insert the clans govt type.\n# * Do not include any spaces before your equal signs!\nCLANFORUMDATA=[] a Journal of <CLANTYPE> <CLANNAME> READ=-<1 POST=-<1 -CLAN "+<CLANNAME>(JOURNAL)" REPLY=-<1 -CLAN "+<CLANNAME>(JOURNAL)" ADMIN=-<1 -CLAN "+<CLANNAME>(ASSIGN)" -CLAN "+<CLANNAME>(JOURNAL)" EXPIRE=0\n\n######################################################################\n# MSP (Sound) Settings\n######################################################################\n\n# SOUND URL/PATH (optional)\n# This is used only to provide a URL path \n# for MSP sound files in the pub/sounds directory.\n# It should be set to your public web server\'s \n# URL, along with the path to your sound files.  \n# For instance:\n# http://www.mydomain.com:27744/sounds/\n# or\n# http://21.1.231.23:80/sounds/\n# The port number in the URL, if any, should match the\n# port number in the pub.ini for your web server.\n#\n# You MUST modify this value if you want your players \n# to be able to download sounds.  The default setting of\n# localhost would only help you.\nSOUNDPATH=http://localhost:27744/sounds/\n\n######################################################################\n# MXP (HTML/Enhanced) Settings\n######################################################################\n\n# MXPIMAGEPATH (optional)\n# This is used only to provide a URL path \n# for MSP sound files in the pub/images/mxp directory.\n# It should be set to your public web server\'s \n# URL, along with the path to your sound files.  \n# For instance:\n# http://www.mydomain.com:27744/images/mxp\n# or\n# http://21.1.231.23:80/images/mxp\n# The port number in the URL, if any, should match the\n# port number in the pub.ini for your web server.\n#\n# You MUST modify this value if you want your players \n# to be able to download images.  The default setting of\n# localhost would only help you.\nMXPIMAGEPATH=http://localhost:27744/images/mxp\n\n######################################################################\n# Default Economy Configuration\n######################################################################\n\n# PREJUDICE is used to define both the buying and selling\n# adjustments which shopkeepers will give by default, both \n# to everyone or to selected races.  An entry is required for each \n# adjustment by race.  Each entry is separated by a semicolon, and must\n# begin with either BUY= or SELL=.  BUY is buying from a shopkeeper, \n# and SELL is selling to a shopkeeper. Each entry may end with the name of\n# more than one race to apply to other than everyone. The values for BUY=\n# and SELL= are Real (decimal) numbers, with 1.0 meaning NO adjustment.\n# See the Archon\'s Guide under What Areas are Worth for more information on this\n# field.\n# This field may also be defined for individual shopkeepers or areas.\n# The value here is only the default when no individual value is given.\n# Default value is empty, which uses adjustment 1.0 for everyone.\n# An example value would be:\n# BUY=5.5 SELL=0.8 Elf Dwarf;BUY=2.0 SELL=0.9 Human;BUY=1.0;SELL=.99\nPREJUDICE=\n\n# PRICEFACTORS is used to define both the buying and selling\n# adjustments which shopkeepers will give by default, for select\n# items or types of items.  An entry is required for each \n# adjustment by type of item.  Each entry is separated by a semicolon, and must\n# begin with a real (decimal) number with 1.0 meaning NO adjustment.  That is\n# followed by a space and a zapper mask describing the types of items to\n# apply this adjustment to. See the HELP entry for PROP_HAVEZAPPER for more information\n# on how to encode masks in CoffeeMud.  See the Archon\'s Guide under What Areas are Worth \n# for more information on this field.\n# This field may also be defined for individual shopkeepers or areas.\n# The value here is only the default when no individual value is given.\n# Default value is empty, which uses adjustment 1.0 for everything.\n# PRICEFACTORS=0.5 -MATERIAL +WOODEN; 2.0 -MATERIAL +MITHRIL\n# (this would make all wooden items half price, and all mithril items double-price)\nPRICEFACTORS=\n\n# IGNOREMASK is used to define a default value for the sort of\n# people shopkeepers, bankers, and postal clerks will rudely ignore.\n# This field may also be defined for individual shopkeepers or areas also.\n# The value here is only the default when no individual value is given.\n# Default value is empty, which means no one is ignored.  Otherwise,\n# see the HELP entry for PROP_HAVEZAPPER for more information\n# on how to encode masks in CoffeeMud, and/or your Archon\'s Guide under\n# What Areas are Worth.\n# BUY=-CLASS +Fighter -RACE +Elf\nIGNOREMASK=\n\n# BUDGET is used to define the maximum amount of money, per a defined\n# time period, which shopkeepers will spend when buying equipment from \n# players.  The format of the field is an amount of gold followed by\n# the name of period (HOUR, DAY, WEEK, MONTH, YEAR).  All of these time\n# periods are **MUD** time periods, where one hour is about 10 minutes of\n# real life time.  \n# This field may also be defined for individual shopkeepers or areas.\n# The value here is only the default when no individual value is given.\n# See the Archon\'s Guide under What Areas are Worth for more information.\n# The default is 500000 MONTH\nBUDGET=500000 MONTH\n\n# DEVALUERATE is the percentage drop in price for every additional item\n# of a given name that is sold to the shopkeeper.  This rate is always\n# taken off of an items base price, so that a devalue rate of 100 (100%)\n# will always limit a shopkeeper from buying more than one, 50 limits to\n# 2, 25 limits to 4, 12.5 to 8, and so forth.  \n# If a single value is given, it will apply to all items.  If two values\n# are given, separated by spaces, then the first will apply to all items,\n# and the second only to raw resource items (raw wood, raw metals, stone, etc).\n# This field may also be defined for individual shopkeepers or areas.\n# The value here is only the default when no individual value is given.\n# See the Archon\'s Guide under What Areas are Worth for more information.\n# The Default is "20 0.2" (20% 0.2%) which means 0.2% for resources, 20% other Items.\nDEVALUERATE=20 0.2\n\n# INVRESETRATE is the frequency, in ticks (4 second intervals), that a\n# shopkeeper, by default, will totally reset his inventory.  This means\n# that any items purchased from players will be cleared out, and any\n# default stock will be replenished.  A value of 0 means that the\n# shopkeeper NEVER resets his inventory.  A value above 0 is the \n# amount of time, in ticks.  \n# This field may also be defined for individual shopkeepers or areas.\n# The value here is only the default when no individual value is given.\n# See the Archon\'s Guide under What Areas are Worth for more information.\n# The default is 64800 (about 3 real life days).\nINVRESETRATE=64800\n\n# AUCTIONRATES is a comma delimited list of prices that the engine will\n# charge players for using the auction system.  All prices are in base \n# gold values. The list of numbers is as follows: the live auction \n# listing fee, the timed auction listing fee, % of an items based value to \n# add to the timed auction listing fee per mud-day (per rl hour), the \n# % cut from the selling price to the auction house for live auctions, the \n# % cut from the selling price to the auction house for timed auctions,\n# the minimum number of mud-days to run a live auction,\n# and finally, the maximum number of mud-days to run a live auction.\n# Default is 0,10,0.1%,10%,5%,4,168\nAUCTIONRATES=0,10,0.1%,10%,5%,4,168\n\n######################################################################\n# Filters\n######################################################################\n\n# EMOTEFILTER masks out messages that contain one of the words listed.\n# Phrases can also be included by putting the strings in quotes.\n# Each word/phrase is separated by a space.\nEMOTEFILTER=\n\n# SAYFILTER masks out messages that contain one of the words listed.\n# Phrases can also be included by putting the strings in quotes.\n# Each word/phrase is separated by a space.\nSAYFILTER=\n\n# CHANNELFILTER masks out messages that contain one of the words listed.\n# Phrases can also be included by putting the strings in quotes.\n# Each word/phrase is separated by a space.\nCHANNELFILTER=SHIT FUCK CUNT FAGGOT ASSHOLE ASSWHOLE ARSEHOLE PUSSY COCK SLUT BITCH \\\n\t\t\t  FUCKING DICK FUCKITY FUCKHOLE SHITHOLE FUCKER MOTHERFUCKER FUK FUKER FUKR \\\n\t\t\t  MOTHERFUKR MOTHERFUK SHITTY KUNT NIGGER NIGGA SPICK\n\n# POSEFILTER masks out messages that contain one of the words listed.\n# Phrases can also be included by putting the strings in quotes.\n# Each word/phrase is separated by a space.\nPOSEFILTER=\n\n######################################################################\n# Redefinable escape codes\n######################################################################\n\n# These are definable escape codes.\n# They are accessed from text using \n# ^0, ^1, ^2, etc..\nESCAPE0=\nESCAPE1=\nESCAPE2=\nESCAPE3=\nESCAPE4=\nESCAPE5=\nESCAPE6=\nESCAPE7=\nESCAPE8=\nESCAPE9=\n\n######################################################################\n# Logging flags\n######################################################################\n\n# There are several logging channels in the code:\n# NUMLOGS is set the number of logs total to keep (a new one is made every boot)\n#\n# SYSMSGS for informational messages\n# ERRMSGS for error and abnormal messages\n# WRNMSGS for almost error and abnormal messages\n# DBGMSGS for debug messages\n# HLPMSGS for failed attempts to use HELP command\n# ACCMSGS for web server access logs\n# KILMSGS for kills messages\n# CBTMSGS for detailed combat/xp messages\n# Valid values include:\n#   ON for screen output\n#   OFF to turn the channel off\n#   FILE for mud.log output\n#   BOTH for both screen and file output\n#   OWNFILE to send to its own file (ex: mud_help.txt)\n#       append <[NUMBER]L to roll logs after [NUMBER] lines, ex: OWNFILE<9999L\n#       append <[NUMBER]B to roll logs after [NUMBER] bytes, ex: OWNFILE<9999999B\n#           use B for bytes, K for kilobytes, M for megabytes, G for gigabytes\n#       prefix with a number to change the number of logs kept during rolling.\n#           example: 55OWNFILE<999L = keep 55 log files, that roll after 999 lines\nNUMLOGS=10\nSYSMSGS=BOTH\nERRMSGS=BOTH\nWRNMSGS=BOTH\nDBGMSGS=BOTH\nHLPMSGS=OWNFILE\nKILMSGS=OFF\nCBTMSGS=OFF\nACCMSGS=OFF\n\n######################################################################\n# Subsystem, Debug, and other internal flags\n######################################################################\n\n# The DISABLE flag is used to turn off turn off certain mud subsystems.\n# \n# EXPERIENCE, RACES, CLASSES, LEVELS\n# Disable can be used to disable all experience gaining and losing as well \n# as level gaining and losing.   Races and Classes can also be disabled \n# from display, although they still impact skill qualifications and other \n# factors behind the scenes.  If races are disabled, then all new players \n# be set to "PlayerRace" if it exists, or StdRace otherwise.  If classes \n# are disabled, all new players will be set to "PlayerClass" if it exists, \n# or  StdCharClass otherwise.\n# \n# STDRACES, STDCLASSES \n# If you want to quickly turn off standard player races and/or classes and \n# start building your own generic ones from scratch, you can expel them from \n# character creation (but not from magical effects) with this.\n#\n# RACE_HALFELF, RACE_*, CHARCLASS_SKYWATCHER, CHARCLASS_* \n# If you want to quickly turn off access to a specific player race or class, \n# simply use RACE_  or CHARCLASS_ followed by the ID, in uppercase, of the \n# thing to disable.\n#\n# CONNSPAMBLOCK\n# Disable the subsystem that prevents numerous mud connections from the\n# same ip address in a short timespan.\n# \n# HUNGER, THIRST\n# Disables the tendency for players to get hungry and/or thirsty over time.\n#\n# LOGOUTS\n# Disables the removal of characters from the game world on logout.\n#\n# QUITREASON, RETIREREASON\n# Disables the prompt for a reason for quitting a new character, or retiring.\n#\n# ROOMVISITS\n# Disables the systems ability to remember every room a player visits for\n# determining exploration stats later on.  This is potentially a HUGE memory\n# hog, so turn this off if your memory is limited.\n#\n# CLASSTRAINING \n# Disables the ability of players to use the Train command to change their\n# class.  Other Training features are unaffected.  Make sure you provide\n# other mechanisms for class changes if you use this feature, such as \n# scripting or clan classes.\n#\n# LOGINS\n# Disables non-archons from logging in.  This puts your MUD into a maintenance\n# mode.  The text file resources/text/offline.txt is shown to them.\n#\n# NEWPLAYERS, NEWCHARACTERS\n# Disables the ability of those without accounts to create their own\n# players at login.  Be sure to put something in your intro.txt to let\n# folks know how their can get accounts!  If you are using the common\n# account system, you can disable NEWCHARACTERS also to disable both account\n# and character creation.\n#\n# PASSIVEAREAS\n# Disables the way the system renders standard-mobile mobs immobile, and stops\n# standard aggressive behaviors from occurring when a player has not been in \n# an area for 30 minutes or more (restarting it when they re-enter the areas)\n#\n# ALLERGIES\n# Disables the automatic assignment of a random allergy to new players.\n#\n# AUTODISEASE\n# Disables most of the engine\'s automatic disease-catching.\n#\n# DARKNIGHTS, DARKWEATHER\n# Disables the making of all outdoor rooms dark when night falls, or \n# the making of all outdoor rooms dark during blizzards and duststorms\n#\n# AUTOPURGE, PURGEACCOUNTS\n# Disables the player purging system, and/or the auto-deletion of \n# accounts when characters are purged or expired.\n#\n# EQUIPSIZE\n# Disables the equipment sizing system in the game. \n#\n# WEATHER, WEATHERNOTIFIES, WEATHERCHANGES\n# Disables aspects of the area-based automatic weather system, specifically\n# the entire system, notification of changes, and the changes themselves\n# respectively.\n#\n# TECHLEVEL\n# Disables the tech-item-level system\n#\n# SHOWXP\n# Disables the ability to see how much experience a player has earned.\n#\n# AUTOLANGUAGE\n# Disables the system whereby players attempt to speak the language of the\n# person they are addressing, and auto-address the only person in the room\n#\n# SLOW_AGEING\n# Disables the system that prevents users who have been logged out for a long\n# time from aging more than 1 year (or so). \n#\n# You may also disable a command by including the flag COMMAND_* where * is\n# the command class name (not the execution/key word).\n#\n# You may also disable a skill/spell/etc by including the flag ABILITY_* where \n# * is the ability class name (not the skill name or command word).\n#\n# You may also disable a expertise by including the flag EXPERTISE_* where \n# * is the expertise name, which may include the * as a wildcard at the end.\n#\n# You may also disable a faction by including the flag FACTION_* where \n# * is the faction id, for example: FACTION_ALIGNMENT.INI\n#\n# The other flags are mostly for testing and debugging purposes.\n#\n# All flag values entered are comma delimited, and include the following:\n#    SAVETHREAD, UTILITHREAD, CLANTICKS, MUDCHAT, ARREST, CONQUEST,\n#    SCRIPTABLE, EMOTERS, MOBILITY, QUESTS, RANDOMMONSTERS, STATS,\n#    LEVELS, EXPERIENCE, RACES, CLASSES, CONNSPAMBLOCK, POLLCACHE,\n#    ROOMVISITS, MAXCONNSPERIP, RANDOMITEMS, MCCP, MXP, MSP, FATGRIDS,\n#    FATAREAS, LOGINS, THREADTHREAD, JOURNALTHREAD, MAPTHREAD, MSSP,\n#    PLAYERTHREAD, SESSIONTHREAD, STATSTHREAD, CATALOGTHREAD, SMTPCLIENT,\n#    DBERRORQUE, DBERRORQUESTART, MAXNEWPERIP, MAXCONNSPERACCOUNT,\n#    RESPAWNTHREAD, ELECTRICTHREAD, MSDP, GMCP, ALL_AGEING, MCP, \n#    CHANNELBACKLOGS, ANSIPROMPT, HYGIENE, SPECOMBATTHREAD, FOODROT,\n#    CHANNELAUCTION, LANGUAGES, COMBATSTATS, MQLCACHE, ITEMGENCACHE,\n#    DEATHCRY, DIS955RULE, RANDOMQUESTS, AUTOAWARDS\n#\n# The default value is COMMAND_POSE, which disables the pose command, \n#    along with QUITREASON and RETIREREASON, which are useless.\nDISABLE=DBERRORQUESTART, COMMAND_POSE, QUITREASON, RETIREREASON\n\n# The ENABLE flag is for enabling features of the engine which are \n# normally disabled, such as most races, character classes in beta,\n# or other features considered untested.\n#\n# To enable access to a specific player race or class that is disabled \n# by default, simply use RACE_ or CHARCLASS_ followed by the ID, \n# in uppercase, of the thing to re-enable.  CHARCLASS_ IDs can also be\n# followed by one or more race IDs to create a race/class qualification. \n#\n# Eg: "RACE_OGRE, CHARCLASS_FIGHTER OGRE, CHARCLASS_WIZARD OGRE" \n# The above would enable the ogre race for players and let them be fighters \n# and wizards.\n# Example: RACE_OGRE, RACE_GNOLL, RACE_SVIRFNEBLIN, RACE_GITHYANKI, RACE_LIZARDMAN, \n# Example: RACE_AARAKOCRAN, RACE_MERFOLK, RACE_PIXIE, RACE_ORC, RACE_MINDFLAYER, \n# Example: RACE_GOBLIN, RACE_CENTAUR\n#\n# Default is blank\nENABLE=\n\n# The DEBUG flag should be used only by developers who want lots of\n# extra logging in order to fix bugs.  These values are also comma delimited.\n# DEBUG supports the following so far (remember to turn on DBGMSGS ABOVE!):\n#    PROPERTY, ARREST, CONQUEST, MUDPERCOLATOR, GMODIFY, MERGE, BADSCRIPTS, \n#    TELNET, CLASSLOADER, DBROOMPOP, DBROOMS, CMROIT, CMROEX, CMROCH, CMAREA, \n#    CMSTAT, HTTPMACROS, I3, HTTPACCESS, IMC2, SMTPSERVER, UTILITHREAD, \n#    MISSINGKIDS, FLAGWATCHING, CATALOGTHREAD, JOURNALTHREAD, MAPTHREAD, \n#    VACUUM, AUTOPURGE, PLAYERTHREAD, OUTPUT, EXPORT, STATSTHREAD, GEAS, \n#    SMTPCLIENT, MESSAGES, EVERYTHING, CMROOM, HTTPREQ, CMJRNL, IMPORT, \n#    PLAYERSTATS, CLANS, BINOUT, STROUT, BININ, BOOTSTRAPPER, CLANMEMBERS, \n#    INPUT, SHUTDOWN, SPACESHIP, SQLERRORS, GMCP, ELECTRICTHREAD, SCRIPTVARS, \n#    SCRIPTTRACE, TOPTHREAD, SIEGECOMBAT, QUESTSCRIPTS, SPACEMOVES, RITUALS, \n#    AUTOAWARDS\n# Default is empty.\nDEBUG=\n\n# NOCACHE is a list, separated by commas, of which internal\n# objects should optimize their memory usage to an extreme\n# point by not caching important data in memory, but instead\n# making calls to the database or filesystem to retrieve their data.\n# Systems which may be included are:\n# GENMOBS, ROOMDESC, FILERESOURCES, CATALOG, MAPFINDERS, ACCOUNTS,\n# PLAYERS\n# (GENITEMS are already uncached)\n# Default is MAPFINDERS -- remove it if your script writers are dragging you down\nNOCACHE=MAPFINDERS\n\n# The SAVE flag changes the normal saving and updating features\n# of the mud. Each value is comma delimited.  Values include:\n# NOPLAYERS - turns off player auto-saving and shutdown-save. Manual SAVE only!\n# NOPROPERTYMOBS - turns off player/clan property mob saving.\n# NOPROPERTYITEMS - turns off player/clan property item saving.\n# ROOMMOBS - turns on mob re-saving for ALL rooms at shutdown.\n# ROOMSHOPS - turns on mob/shopkeeper saving for ALL rooms at shutdown.\n# ROOMITEMS - turns on item saving for ALL rooms (except junk) at shutdown.\nSAVE=\n\n# The OBJSPERTHREAD value defines how many ticking objects will be assigned\n# to a single thread during processing.  Keeping this value high can cut \n# make your sysadmin happy.  Keeping it low will mitigate the damage caused \n# by blocked threads and overly busy scripts.  The default is 512\nOBJSPERTHREAD=512\n\n# The TICKTIME value defines how many milliseconds between each thread "tick".  \n# This is a massively powerful number that affects everything from combat,\n# to rejuvenation, the duration of spells, and a million other things.  In\n# fact, this number should be considered the CoffeeMud Throttle.  Lower it\n# to make your mud do things more often and seem "faster", raise it to slow\n# things down and spare your CPU.  Default is 4000 (four seconds)\nTICKTIME=4000\n\n# MINWORKERTHREADS is the minimum number of threads that will be set aside, \n# per mud host, to handle player I/O and player command execution, as well\n# as ticking objects, and periodic service threads.  More threads will be \n# spawned as necessary, and existing threads will be shared between those \n# still active. Any threads spawned above this number will be pruned down as \n# necessary, never to go below this number at any point.  Default is 5.\nMINWORKERTHREADS=5\n\n# MAXWORKERTHREADS is the maximum number of threads that will be active, \n# per mud host, to handle player I/O and player command execution, as well\n# as ticking objects, and periodic service threads. Certain activities, \n# such as random in-game player prompts (excluding the main command prompt) \n# will block a thread, so keep that in mind. Default is 60.\nMAXWORKERTHREADS=60\n\n# BLACKLISTFILE is the path/name of a file containing a list of ip addresses\n# that are never allowed to connect, unless an exception is made either in\n# the WHITELISTIPSCONN below, or if the CONNSPAMBLOCK system is disabled.\n# The format is either one ip address per line, or a range pair separated\n# by a dash (-).\n# The default value is /resources/ipblock.ini\nBLACKLISTFILE=/resources/ipblock.ini\n\n# WHITELISTIPSCONN is a comma-delimited list of ip addresses or ip address masks \n# that will override the CONNSPAMBLOCK filter (See DEBUG above) or MAXCONNSPERIP\n# or MAXCONNSPERACCOUNT above or BLACKLISTFILE above.  Default is empty.\nWHITELISTIPSCONN=\n\n# WHITELISTLOGINS is a comma-delimited list of player names, account names, or \n# regex masks for the above, which will override the disabled LOGINS filter\n# (See DEBUG above) and names for the MAXCONNSPERIP or MAXCONNSPERACCOUNT \n# above.  Default is empty.\nWHITELISTLOGINS=\n\n# WHITELISTIPSNEWPLAYERS is a comma-delimited list of new player names, ip addresses \n# or regex masks for the above, which will override the disabled NEWPLAYERS filter \n# (See DEBUG above) and the MAXNEWPERIP number above.\n# Default is empty.\nWHITELISTIPSNEWPLAYERS=\n\n######################################################################\n# Custom Room, MOB, Ability, Exit, etc. Object info\n######################################################################\n\n# These variables denote the paths to the several different required objects\n# which are loaded at boot time.  If you use any special objects not \n# included in the base CoffeeMud distribution, you may add the \n# paths to your classes below. \n# You may want to check out the Programming Guide (Programming.html in your \n# guides/ directory) at some point for more information on developing \n# custom CoffeeMud classes.\n# To use this feature, you may include any number of semicolon separated \n# paths.  Use \'%DEFAULT%\' to include the default class paths for the CoffeeMud \n# distribution.  The default for all of these is %DEFAULT%.  For example:\n# MOBS=%DEFAULT%;resources/examples/Lemming.js\n# ITEMS=%DEFAULT%;resources/myitems/\nCOMMON=%DEFAULT%\nLIBRARY=%DEFAULT%\nITEMS=%DEFAULT%\nWEAPONS=%DEFAULT%\nARMOR=%DEFAULT%\nMISCMAGIC=%DEFAULT%\nCLANITEMS=%DEFAULT%\nMOBS=%DEFAULT%\nBEHAVIORS=%DEFAULT%\nABILITIES=%DEFAULT%\nCHARCLASSES=%DEFAULT%\nRACES=%DEFAULT%\nCOMMANDS=%DEFAULT%\nLOCALES=%DEFAULT%\nAREAS=%DEFAULT%\nEXITS=%DEFAULT%\nCLANTYPES=%DEFAULT%\nTECH=%DEFAULT%\nCOMPTECH=%DEFAULT%\nSOFTWARE=%DEFAULT%\nMCPPACKAGES=%DEFAULT%\n\n######################################################################\n# Template for multiple-host server resource sharing\n######################################################################\n\n# PRIVATERESOURCES is for configuring multiple servers\n# on the same system, using fully or partially shared resources.\n# It is a comma-delimited list of library names, database tables, and other\n# resources.  Items found on this list will be not be shared with the base\n# mud thread group.  All other items are implicitly shared.\n#\n# Valid library entries include:\n# DATABASE,THREADS,INTERMUD,HTTP,LISTER,MONEY,SHOPS,COMBAT,\n# HELP,TRACKING,MASKING,CHANNELS,COMMANDS,ENGLISH,SLAVERY,JOURNALS,\n# FLAGS,OBJBUILDERS,SESSIONS,TELNET,XML,SOCIALS,UTENSILS,STATS,\n# MAP,QUEST,ABLEMAP,ENCODER,SMTP,DICE,FACTIONS,CLANS,POLLS,\n# TIME,COLOR,LOGIN,TIMS,LEVELS,EXPERTISES,MATERIALS,LEGAL,\n# LANGUAGE,CATALOG,PLAYERS,AUTOAWARDS,RESPAWN,SECURITY,GALACTIC,CITY\n#\n# Valid class entries include:\n# DBVFS,RACE,CHARCLASS,MOB,ABILITY,LOCALE,EXIT,ITEM,BEHAVIOR,\n# CLAN,WEAPON,ARMOR,MISCMAGIC,AREA,COMMAND,CLANITEM,\n# COMPTECH,SOFTWARE,WEBMACRO,COMMON,LIBRARY\n#\n# Valid object instance entries include:\n# FANTASYPLAYERS, TECHPLAYERS, HEROICPLAYERS\n# FANTASYAREAS, TECHAREAS, FANTAST+TECHAREAS, HEROICAREAS, \n# HEROIC+FANTASYAREAS, HEROIC+TECHAREAS, ALLAREAS\n#\n# Entries from above that have their own database tables:\n# (Requires a second database definition to take advantage of)\n# DBABILITY (table: CMGAAC)\n# DBCHARCLASS (table: CMCCAC)\n# DBRACE (table: CMGRAC)\n# DBPLAYERS (tables: CMCHAR, CMCHAB, CMCHFO, CMCHCL, CMCHIT, CMPDAT)\n# DBPLAYERDATA (tables: CMPDAT)\n# DBMAP (tables: CMROCH, CMROEX, CMROIT, CMROOM, CMAREA)\n# DBSTATS (table: CMSTAT)\n# DBPOLLS (table: CMPOLL)\n# DBVFS (table: CMVFS, special privacy flag for database file system)\n# DBJOURNALS (table: CMJRNL)\n# DBQUEST (table: CMQUESTS)\n# DBCLANS (table: CMCLAN)\n# DBBACKLOG (table: CMBKLG)\n#\nPRIVATERESOURCES=\n\n# PRIVATERESOURCEPATH is cmfs path in which to look for files \n# enumerated under PRIVATERESOURCES.  For example, if you want a \n# particular host to have its own private version of\n# resources/text/races.txt, you add that path to PRIVATERESOURCES \n# and then set PRIVATEPATH to resources/private/ and now find it \n# at /resources/private/text/races.txt\n# Default is empty, which is just resources\nPRIVATERESOURCEPATH=\n\n######################################################################\n# FORMULAS (mostly combat related)\n######################################################################\n\n# FORMULA_NPCHITPOINTS is the formula for the basic legacy npc hit points calculation \n# @x1=npc level, @x2=npc "ability" hit points modifier (usually 11)\n# Default is: 3 + @x1 + (@x1 * ((@x2/2) + (1?(@x2/2))))\nFORMULA_NPCHITPOINTS=3 + @x1 + (@x1 * ((@x2/2) + (1?(@x2/2))))\n\n# FORMULA_ATTACKADJUSTMENT is the formula for a players standard attack adjustments\n# @x1=base attack, @x2=curr.str>max.str?max.str:curr.str, @x3=base.str>max.str?max.str:base.str, \n# @x4=curr.str>max.str?(curr.str-max.str):0, @x5=hungry?1:0, @x6=thirsty?1:0, @x7=fatigued?1:0\n# @xx is a special variable denoting the current left->right calculated value\n# 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)\nFORMULA_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)\n\n# FORMULA_ARMORADJUSTMENT is the formula for players standard armor adjustments\n# @x1=base armor, @x2=curr.dex>max.dex?max.dex:curr.dex, @x3=base.dex>max.dex?max.dex:base.dex, \n# @x4=curr.dex>max.dex?(curr.dex-max.dex):0, @x5=hungry?1:0, @x6=thirsty?1:0, @x7=fatigued?1:0\n# @x8=sitting?0:1, @x9=sleeping?0:1\n# @xx is a special variable denoting the current left->right calculated value\n# 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\nFORMULA_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\n\n# FORMULA_ATTACKFUDGEBONUS is the formula applied to an attackers combat bonus\n# during normal combat. FORMULA_PVPATTACKFUDGEBONUS is the same formula for PVP\n# combat.\n# @x1=attackers level, @x2=defenders level, @x3=@x1>@x2?1:-1\n# Default is: @x3 * (@x1 - @x2)\nFORMULA_ATTACKFUDGEBONUS=@x3 * (@x1 - @x2) * (@x1 - @x2)\nFORMULA_PVPATTACKFUDGEBONUS=0\n\n# FORMULA_CHANCESPELLCRIT is the formula for the percent chance that spell damage will\n# yield a critical damage bonus during normal combat.  FORMULA_PVPCHANCESPELLCRIT\n# is the same formula for PVP combat.\n# @x1=base spell damage, @x2=curr.int>max.int?max.int:curr.int, @x3=base.int>max.int?max.int:base.int,\n# @x4=curr.int>max.int?(curr.int-max.int):0, @x5=hungry?1:0, @x6=thirsty?1:0, @x7=fatigued?1:0\n# @x8=attackers level, @x9=defenders level\n# Default is: (( ((@x2-10+((@x8-@x9)<10))/5)>0 * ((@x3-10+((@x8-@x9)<10))/5)>0 * ((@x3-10+((@x8-@x9)<10))/5) ))\nFORMULA_CHANCESPELLCRIT=(( ((@x2-10+((@x8-@x9)<10))/5)>0 * ((@x3-10+((@x8-@x9)<10))/5)>0 * ((@x3-10+((@x8-@x9)<10))/5) ))\nFORMULA_PVPCHANCESPELLCRIT=(( ((@x2-10)/5)>0 * ((@x3-10)/5)>0 * ((@x3-10)/5) ))\n\n# FORMULA_DAMAGESPELLCRIT is the formula for critical spell damage bonus during normal\n# combat. FORMULA_PVPDAMAGESPELLCRIT is the same formula during PVP combat.\n# @x1=base spell damage, @x2=curr.int>max.int?max.int:curr.int, @x3=base.int>max.int?max.int:base.int,\n# @x4=curr.int>max.int?(curr.int-max.int):0, @x5=hungry?1:0, @x6=thirsty?1:0, @x7=fatigued?1:0\n# @x8=attackers level, @x9=defenders level\n# 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)\nFORMULA_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)\nFORMULA_PVPDAMAGESPELLCRIT=(@x1*( ((@x2-10)/5)>0 * ((@x3-10)/5)>0 * ((@x3-10)/5) )/100.0)+(@x4/2)\n\n# FORMULA_DAMAGESPELLFUDGE is the formula for fudging spell damage by level differences\n# during normal combat. FORMULA_PVPDAMAGESPELLFUDGE is the same formula for PVP combat.\n# @x1=base spell damage, @x2=curr.int>max.int?max.int:curr.int, @x3=base.int>max.int?max.int:base.int,\n# @x4=curr.int>max.int?(curr.int-max.int):0, @x5=hungry?1:0, @x6=thirsty?1:0, @x7=fatigued?1:0\n# @x8=attackers level, @x9=defenders level\n# Default is: (@x1 - ( ((@x9-@x8)>0<1.0) * @x1 * (((@x9-@x8)<12.0)*((@x9-@x8)<12.0))/120.0))>0\nFORMULA_DAMAGESPELLFUDGE=(@x1 - ( ((@x9-@x8)>0<1.0) * @x1 * (((@x9-@x8)<12.0)*((@x9-@x8)<12.0))/120.0))>0\nFORMULA_PVPDAMAGESPELLFUDGE=@x1\n\n# FORMULA_DAMAGERANGEDTARGETED is the formula for damage to a target with a ranged weapon\n# during normal combat.  FORMULA_PVPDAMAGERANGEDTARGETED is the same formula for PVP combat.\n# @x1=base ranged weapon damage, @x2=curr.str>max.str?max.str:curr.str, @x3=attacker level, \n# @x4=defender level, @x5=hungry?1:0, @x6=thirsty?1:0, @x7=fatigued?1:0\n# @x8=attacker can see target?0:1, @x9=defender is sleeping?1:0, @x10=defender is sitting?1:0\n# @xx is a special variable denoting the current left->right calculated value\n# 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\nFORMULA_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\nFORMULA_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\n\n# FORMULA_DAMAGERANGEDSTATIC is the formula for damage calculated with a ranged weapon.\n# @x1=base ranged weapon damage, @x2=curr.str>max.str?max.str:curr.str, @x3=attacker level, \n# @x4=defender level,@x5=hungry?1:0, @x6=thirsty?1:0, @x7=fatigued?1:0\n# @x8=attacker can see target?0:1, @x9=defender is sleeping?1:0, @x10=defender is sitting?1:0\n# @xx is a special variable denoting the current left->right calculated value\n# Default is: ((1?@x1)+((@x3-@x4)/2.5)-(0.2*@xx*@x5)-(0.2*@xx*@x6)-(0.2*@xx*@x7))>1\nFORMULA_DAMAGERANGEDSTATIC=((1?@x1)+((@x3-@x4)/2.5)-(0.2*@xx*@x5)-(0.2*@xx*@x6)-(0.2*@xx*@x7))>1\n\n# FORMULA_DAMAGERANGEDFUDGE is the formula for fudging ranged damage by level differences\n# during normal combat.  FORMULA_PVPDAMAGERANGEDFUDGE is the same formula for PVP combat.\n# @x1=base damage, @x2=curr.dex>max.dex?max.dex:curr.dex, @x3=base.dex>max.dex?max.dex:base.dex,\n# @x4=curr.dex>max.dex?(curr.dex-max.dex):0, @x5=hungry?1:0, @x6=thirsty?1:0, @x7=fatigued?1:0\n# @x8=attackers level, @x9=defenders level\n# Default is: (@x1 - ( ((@x9-@x8)>0<1.0) * @x1 * (((@x9-@x8)<12.0)*((@x9-@x8)<12.0))/120.0))>0\nFORMULA_DAMAGERANGEDFUDGE=(@x1 - ( ((@x9-@x8)>0<1.0) * @x1 * (((@x9-@x8)<12.0)*((@x9-@x8)<12.0))/120.0))>0\nFORMULA_PVPDAMAGERANGEDFUDGE=@x1\n\n# FORMULA_DAMAGEMELEETARGETED is the formula for damage to a target with a melee weapon\n# during normal combat.  FORMULA_PVPDAMAGEMELEETARGETED is the same formula for PVP combat.\n# @x1=base player damage, @x2=curr.str>max.str?max.str:curr.str, @x3=attacker level, \n# @x4=defender level,@x5=hungry?1:0, @x6=thirsty?1:0, @x7=fatigued?1:0\n# @x8=attacker can see target?0:1, @x9=defender is sleeping?1:0, @x10=defender is sitting?1:0\n# @xx is a special variable denoting the current left->right calculated value\n# 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\nFORMULA_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\nFORMULA_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\n\n# FORMULA_DAMAGEMELEESTATIC is the formula for damage calculated with a melee weapon.\n# @x1=base player damage, @x2=curr.str>max.str?max.str:curr.str, @x3=attacker level, \n# @x4=defender level:0,@x5=hungry?1:0, @x6=thirsty?1:0, @x7=fatigued?1:0\n# @x8=attacker can see target?0:1, @x9=defender is sleeping?1:0, @x10=defender is sitting?1:0\n# @xx is a special variable denoting the current left->right calculated value\n# Default is: ((1?@x1)+((@x2-10+@x3-@x4)/5)-(0.2*@xx*@x5)-(0.2*@xx*@x6)-(0.2*@xx*@x7))>1\nFORMULA_DAMAGEMELEESTATIC=((1?@x1)+((@x2-10+@x3-@x4)/5)-(0.2*@xx*@x5)-(0.2*@xx*@x6)-(0.2*@xx*@x7))>1\n\n# FORMULA_DAMAGEMELEEFUDGE is the formula for fudging melee damage by level differences\n# during normal combat.  FORMULA_PVPDAMAGEMELEEFUDGE is the same formula for PVP combat.\n# @x1=base damage, @x2=curr.dex>max.dex?max.dex:curr.dex, @x3=base.dex>max.dex?max.dex:base.dex,\n# @x4=curr.dex>max.dex?(curr.dex-max.dex):0, @x5=hungry?1:0, @x6=thirsty?1:0, @x7=fatigued?1:0\n# @x8=attackers level, @x9=defenders level\n# Default is: (@x1 - ( ((@x9-@x8)>0<1.0) * @x1 * (((@x9-@x8)<12.0)*((@x9-@x8)<12.0))/120.0))>0\nFORMULA_DAMAGEMELEEFUDGE=(@x1 - ( ((@x9-@x8)>0<1.0) * @x1 * (((@x9-@x8)<12.0)*((@x9-@x8)<12.0))/120.0))>0\nFORMULA_PVPDAMAGEMELEEFUDGE=@x1\n\n# FORMULA_CHANCEWEAPONCRIT is the formula for the percent chance that weapon damage will\n# yield a critical damage bonus during normal combat.  FORMULA_PVPCHANCEWEAPONCRIT is\n# the same formula for PVP combat.\n# @x1=base weapon damage, @x2=curr.dex>max.dex?max.dex:curr.dex, @x3=base.dex>max.dex?max.dex:base.dex,\n# @x4=curr.dex>max.dex?(curr.dex-max.dex):0, @x5=hungry?1:0, @x6=thirsty?1:0, @x7=fatigued?1:0\n# @x8=attackers level, @x9=defenders level\n# 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)))\nFORMULA_CHANCEWEAPONCRIT=((((@x2-10+((@x8-@x9)<10))/2.5)>0 * ((@x3-10+((@x8-@x9)<10))/2.5)>0 * ((@x3-10+((@x8-@x9)<10))/2.5)))\nFORMULA_PVPCHANCEWEAPONCRIT=((((@x2-10)/2.5)>0 * ((@x3-10)/2.5)>0 * ((@x3-10)/2.5)))\n\n# FORMULA_DAMAGEWEAPONCRIT is the formula for the critical damage bonus from weapon attacks\n# during normal combat.  FORMULA_PVPDAMAGEWEAPONCRIT is the same formula for PVP combat.\n# @x1=base weapon damage, @x2=curr.dex>max.dex?max.dex:curr.dex, @x3=base.dex>max.dex?max.dex:base.dex,\n# @x4=curr.dex>max.dex?(curr.dex-max.dex):0, @x5=hungry?1:0, @x6=thirsty?1:0, @x7=fatigued?1:0\n# @x8=attackers level, @x9=defenders level\n# 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)\nFORMULA_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)\nFORMULA_PVPDAMAGEWEAPONCRIT=(@x1 * (((@x2-10)/2.5)>0 * ((@x3-10)/2.5)>0 * ((@x3-10)/2.5))/50.0)+(@x4/2)\n\n# FORMULA_HITPOINTRECOVER is the formula applied every so-many ticks for recovery of hit points\n# outside of combat and climbing.\n# @x1=constitution, @x2=level, @x3=hungry?1:0, @x4=thirsty?1:0, @x5=fatigued?1:0 \n# @x6=asleep?1:0, @x7=sitorride?1:0, @x8=flying?1:0, @x9=swimming?1:0\n# 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))\nFORMULA_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))\n\n# FORMULA_MANARECOVER is the formula applied every so-many ticks for recovery of mana\n# outside of combat and climbing.\n# @x1=int + wis, @x2=level, @x3=hungry?1:0, @x4=thirsty?1:0, @x5=fatigued?1:0 \n# @x6=asleep?1:0, @x7=sitorride?1:0, @x8=flying?1:0, @x9=swimming?1:0\n# 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))\nFORMULA_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))\n\n# FORMULA_MOVESRECOVER is the formula applied every so-many ticks for recovery of movement\n# outside of combat and climbing.\n# @x1=strength, @x2=level, @x3=hungry?1:0, @x4=thirsty?1:0, @x5=fatigued?1:0 \n# @x6=asleep?1:0, @x7=sitorride?1:0, @x8=flying?1:0, @x9=swimming?1:0\n# 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))\nFORMULA_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))\n\n# FORMULA_TOTALCOMBATXP is the total amount of experience to award to a set of killers for \n# a single victim.  The \'dividers\' are a subset of killers list.\n# @x1=number of dividers, @x2=sum of all (each dividers level squared), \n# @x3=sum of all divider levels, @x4=number of killers,\n# @x5=highest killer level, @x6=killed monster level\nFORMULA_TOTALCOMBATXP=100 + ((25*@x1) - (@x1*((25*@x1)^.5)))\n\n# FORMULA_INDCOMBATXP is the share of the total combat experience to award to an \n# individual killer who contributed in the fight.\n# The \'dividers\' are a subset of killers list.\n# @x1=total combat experience pool, @x2=killers level squared,\n# @x3=sum of all (each dividers level squared), @x4=killers level\n# @x4=sum of all dividers levels, @x5=total number of killers\n# @x6=highest killer level, @x7=killed monster level\nFORMULA_INDCOMBATXP=(@x1 * (@x2 / @x3)) < 100\n\n# FORMULA_MAXCARRY describes the maximum weight any mob can carry\n# at a time.\n# @x1=the mobs base body weight,   @x2=the current adjusted strength \n# @x3=the mob base strength, @x4=the mobs maximum trainable strength\nFORMULA_MAXCARRY=@x1 + ((@x2 + 10.0) * @x2 * @x1 / 150.0) + (@x2 * 5.0)\n\n# FORMULA_MAXITEMS is the maximum number of items any mob can carry\n# at a time.\n# @x1=the number of wearable codes, @x2=mobs current char level\n# @x3=the current adjusted dexterity, @x4=the mob base dexterity\n# @x5=the mobs max trainable dex,   @x6=the current adjusted strength \n# @x7=the mob base strength, @x8=the mobs maximum trainable strength\nFORMULA_MAXITEMS=(2 * @x1) + (2 * @x3) + (2 * @x2)\n\n# FORMULA_MAXFOLLOW is the maximum number of followers any mob can have\n# at a time.\n# @x1=mobs current char level,   @x2=the current adjusted charisma \n# @x3=the mob base charisma, @x4=the mobs maximum trainable charisma\nFORMULA_MAXFOLLOW=1 + ( ( @x2 - 6.0 ) / 3.0)\n', 'message': 'removed a stray from coffeemud.ini\n\ngit-svn-id: 0cdf8356e41b2d8ccbb41bb76c82068fe80b2514@19622 0d6f1817-ed0e-0410-87c9-987e46238f29\n', 'author_name': 'bozimmerman', 'lang': 'ini'}