<?xml version="1.0" encoding="iso-8859-1"?>
<!DOCTYPE control>

<!-- Saved on Wednesday, August 25, 2004, 03:27 PM -->

<control>
  <string
    bad_player_names="new, god, admin, me, self, name, password, help, guess, mud, nick, gammon, ksilyan, haley, game, to, into, from, the"
    blocked_ip="10.1.2.3, 10.1.2.4"
    class_copy_numbers="hp, max_items, str, wis, max_weight, dex, mana, move, coins"
    colour_command_help="`C"
    colour_exit="`G"
    colour_macro_end="`v]"
    colour_macro_start="[`^`W"
    colour_one_spell="`W"
    colour_room_name="`R"
    colour_single_command="`W"
    colour_spell_list="`Y"
    currency_nil="no gold coins"
    currency_one="1 gold coin"
    currency_plural="gold coins"
    default_language="english"
    default_prefix=""
    fr_currency_nil="pas de francs"
    fr_currency_one="1 franc"
    fr_currency_plural="francs"
    fr_unnamed_object_long="Une object sans nom es ici."
    fr_unnamed_object_short="une object avec no nom"
    new_player_flags="can_goto, fight_debug, can_transfer"
    html_footer="
    <hr/>
    <p><a href=&quot;/index.htm&quot;>Main Menu</a></p>
      <p><font size=-1>Internal web server written by Nick Gammon.
         </font></p>
      </body>
    </html>"
    html_header="<!DOCTYPE HTML PUBLIC &quot;-//IETF//DTD HTML 2.0//EN&quot;>
    <html>
      <head>
       <title>~</title>
       <STYLE TYPE=&quot;text/css&quot;>
        <!--
        
        BODY {
          font-family : Verdana, Geneva, Arial, Helvetica, sans-serif;
          font-size : 9pt;
          border: 0;
        }
        
        H2 {
          font-family : Comic Sans MS, Verdana, Geneva, Arial, Helvetica, sans-serif;
        }
        
        P {
          font-family : Verdana, Geneva, Arial, Helvetica, sans-serif;
          font-size : 8pt;
        }
        
        TD, TH {
         font-family : Comic Sans MS, Verdana, Geneva, Arial, Helvetica, sans-serif;
          font-size : 9pt;
          vertical-align : top;
          text-align: left;
          border: groove 2px ;
          padding: 2px;
        }      
      
      TABLE {
         border: groove 4px ;
         padding: 2px;
        }
         
      .small {
        font-size: xx-small;
        border: 2;
        }
        -->
        
        </STYLE>

       </head>
      <body bgcolor=&quot;#CCFDCC&quot;>
       <img src=&quot;logo.gif&quot;/>"
    prompt="`Xprompt> "
    unnamed_object_long="An unnamed object has been carelessly left here."
    unnamed_object_short="an unnamed object"
  />
  <number
    command_count_maximum="20"
    commands_per_second_maximum="100"
    idle_timeout_minutes_connect="3"
    idle_timeout_minutes_playing="15"
    initial_room="21000"
    name_length_maximum="10"
    name_length_minimum="4"
    password_attempts_maximum="3"
    password_attempts_maximum_this_ip="20"
    password_length_maximum="20"
    password_length_minimum="6"
    password_length_unique="4"
    port="4000"
    webport="80"
  />
  <flag
    log_failures="1"
    log_mob_failures="1"
    permit_new_players="1"
  />

<!-- classes -->

<classes>

<item>
  <string
    match="^mage|m$"
    name="Mage"
    summary="A class of magicians"
  />
  <number
    coins="30"
    dex="20"
    hp="20"
    mana="30"
    max_items="15"
    max_weight="100"
    move="18"
    str="10"
    wis="25"
  />
</item>

<item>
  <string
    match="^warrior|w$"
    name="Warrior"
    summary="A class of mighty warriors"
  />
  <number
    coins="30"
    dex="25"
    hp="40"
    mana="3"
    max_items="20"
    max_weight="150"
    move="30"
    str="25"
    wis="5"
  />
</item>

<item>
  <string
    match="^newts|n$"
    name="Newts"
    summary="Surly newts"
  />
  <number
    coins="10"
    dex="5"
    hp="5"
    mana="3"
    max_items="3"
    max_weight="15"
    move="5"
    str="5"
    wis="5"
  />
</item>
</classes>

<!-- dtd -->

<dtd>

<item>
  <string
    description="Spells"
    key="name"
    name="spells"
    sub_dtd_name="effects"
    summary_field="summary"
  />

<item>
  <string
    describe="The name of the spell."
    name="name"
    type="s"
  />
  <number
    max_length="20"
    min_length="3"
  />
</item>

<item>
  <string
    describe="Summary of the spell's purpose (for spell list)."
    name="summary"
    type="s"
  />
  <number
    max_length="60"
    min_length="10"
  />
</item>

<item>
  <string
    describe="Minimum level to cast this spell."
    name="level"
    type="n"
  />
  <number
    max_value="100"
    min_value="-3"
  />
  <flag
    choose_set="0"
    multi_language="0"
    required="0"
    room="0"
  />
</item>

<item>
  <string
    describe="Message shown to everyone in the room upon successful casting."
    name="success_room"
    type="s"
  />
  <flag
    multi_language="1"
  />
</item>

<item>
  <string
    describe="Checked if the spell is active (ie. can be used by players)."
    name="active"
    type="b"
  />
</item>
</item>

<item>
  <string
    description="Languages"
    key="name"
    name="languages"
    summary="Languages the players can use"
  />
  <flag
    auto_id="0"
    sub_dtd="0"
  />

<item>
  <string
    describe="The name of the language."
    name="name"
    type="s"
  />
  <number
    max_length="20"
    min_length="3"
  />
  <flag
    required="1"
  />
</item>

<item>
  <string
    describe="What to show the player when they create a new character."
    name="prompt"
    type="s"
  />
  <number
    max_length="30"
    min_length="3"
  />
  <flag
    required="1"
  />
</item>

<item>
  <string
    describe="Prefix for data names (eg. fr_ )"
    match_regexp="^[a-z]{2}_$"
    name="prefix"
    type="s"
  />
  <number
    max_length="3"
    min_length="0"
  />
  <flag
    choose_set="0"
    multi_language="0"
    required="0"
    room="0"
  />
</item>
</item>

<item>
  <string
    description="Effects"
    key="id"
    name="effects"
    summary_field="type"
  />
  <flag
    auto_id="1"
    sub_dtd="1"
  />

<item>
  <string
    describe="The unique ID of this effect"
    name="id"
    type="s"
  />
  <flag
    required="1"
  />
</item>

<item>
  <string
    describe="The type of effect"
    match_set="now, every"
    name="type"
    type="s"
  />
  <flag
    choose_set="1"
    required="1"
  />
</item>
</item>

<item>
  <string
    description="Rooms"
    key="vnum"
    name="rooms"
    sub_dtd_name="exits"
    summary="Rooms"
    summary_field="short"
  />
  <flag
    auto_id="0"
    sub_dtd="0"
  />

<item>
  <string
    describe="Room vnum - unique room designator"
    name="vnum"
    type="n"
  />
  <number
    max_value="100000"
    min_value="1"
  />
  <flag
    required="1"
  />
</item>

<item>
  <string
    describe="Room short description"
    name="short"
    type="s"
  />
  <number
    max_length="40"
    min_length="3"
  />
  <flag
    required="1"
  />
</item>

<item>
  <string
    describe="Room full description"
    name="description"
    type="s"
  />
  <number
    lines="10"
  />
  <flag
    multi_language="1"
    required="1"
  />
</item>

<item>
  <string
    describe="Is this a shop?"
    name="shop"
    type="b"
  />
</item>

<item>
  <string
    describe="Profit made by shop when something is sold (ie. the player buys).
For example, 1.2 means a 20% profit (item is sold for 1.2 times its value)."
    name="profit_buy"
    type="f"
  />
  <float
    max_float_value="3"
    min_float_value="0.2"
  />
  <flag
    choose_set="0"
    multi_language="0"
    regexp="0"
    required="0"
    room="0"
  />
</item>

<item>
  <string
    describe="Comma-delimited list of types of things this shop will buy."
    name="shop_buy_types"
    type="s"
  />
  <number
    max_length="100"
  />
  <flag
    choose_set="0"
    handler="0"
    multi_language="0"
    no_change="0"
    regexp="0"
    required="0"
    room="0"
    webhandler="0"
  />
</item>

<item>
  <string
    describe="Comma-delimited list of IDs of objects that this shop stocks."
    name="shop_stock"
    type="s"
  />
  <number
    max_length="100"
  />
  <flag
    choose_set="0"
    handler="0"
    multi_language="0"
    no_change="0"
    regexp="0"
    required="0"
    room="0"
    webhandler="0"
  />
</item>
</item>

<item>
  <string
    description="Exits"
    key="short"
    name="exits"
    sub_dtd="1"
    summary="Room exits"
    summary_field="depart_self"
  />
  <flag
    auto_id="0"
    sub_dtd="1"
  />

<item>
  <string
    describe="Exit name (eg. north)"
    name="short"
    type="s"
  />
  <flag
    required="1"
  />
</item>

<item>
  <string
    describe="What to match on"
    name="match"
    type="s"
  />
  <flag
    regexp="1"
    required="1"
  />
</item>

<item>
  <string
    describe="Name of code handling routine"
    match_regexp="^\w*$"
    name="handler"
    type="s"
  />
  <flag
    choose_set="0"
    handler="1"
    multi_language="0"
    regexp="0"
    required="0"
    room="0"
  />
</item>

<item>
  <string
    describe="Is this a visible exit?"
    name="exit"
    type="b"
  />
</item>

<item>
  <string
    describe="Message shown to player when s/he departs"
    name="depart_self"
    type="s"
  />
  <flag
    multi_language="1"
  />
</item>

<item>
  <string
    describe="Message shown to others in room when player departs"
    name="depart_room"
    type="s"
  />
  <flag
    multi_language="1"
  />
</item>

<item>
  <string
    describe="Message shown to others in new room when player arrives"
    name="success_room"
    type="s"
  />
  <flag
    multi_language="1"
  />
</item>

<item>
  <string
    describe="Which room to go to"
    name="target"
    type="n"
  />
  <flag
    room="1"
  />
</item>

<item>
  <string
    describe="If checked, this exit is blocked to mobs."
    name="nomob"
    type="b"
  />
  <flag
    choose_set="0"
    handler="0"
    multi_language="0"
    no_change="0"
    regexp="0"
    required="0"
    room="0"
    webhandler="0"
  />
</item>
</item>

<item>
  <string
    description="Objects"
    key="id"
    name="objects"
    summary="Objects"
    summary_field="short"
  />
  <flag
    auto_id="1"
    sub_dtd="0"
  />

<item>
  <string
    describe="What to match on to locate this object"
    name="match"
    type="s"
  />
  <flag
    regexp="1"
    required="1"
  />
</item>

<item>
  <string
    describe="Object unique ID"
    name="id"
    type="s"
  />
  <flag
    auto_id="1"
    choose_set="0"
    multi_language="0"
    required="1"
    room="0"
  />
</item>

<item>
  <string
    describe="Object short description"
    name="short"
    type="s"
  />
  <number
    max_length="40"
    min_length="3"
  />
  <flag
    multi_language="1"
    required="1"
  />
</item>

<item>
  <string
    describe="Object full description"
    name="long"
    type="s"
  />
  <number
    lines="10"
  />
  <flag
    multi_language="1"
    required="1"
  />
</item>

<item>
  <string
    describe="Can we take it?"
    name="take"
    type="b"
  />
</item>

<item>
  <string
    describe="Weight of item"
    name="weight"
    type="n"
  />
</item>

<item>
  <string
    describe="Is it a container?"
    name="container"
    type="b"
  />
  <flag
    choose_set="0"
    multi_language="0"
    regexp="0"
    required="0"
    room="0"
  />
</item>

<item>
  <string
    describe="What its value is (in coins)."
    name="value"
    type="n"
  />
  <number
    min_value="0"
  />
  <flag
    choose_set="0"
    multi_language="0"
    regexp="0"
    required="0"
    room="0"
  />
</item>

<item>
  <string
    describe="Type of object."
    match_set="container, armour, food, weapon, gadget"
    name="type"
    type="s"
  />
  <flag
    choose_set="1"
    multi_language="0"
    regexp="0"
    required="1"
    room="0"
  />
</item>
</item>

<item>
  <string
    description="Mobs"
    key="id"
    name="mobs"
    summary="Mobs"
    summary_field="short"
  />
  <flag
    auto_id="1"
    sub_dtd="0"
  />

<item>
  <string
    describe="What to match on to locate this mob"
    name="match"
    type="s"
  />
  <flag
    regexp="1"
    required="1"
  />
</item>

<item>
  <string
    describe="Mob unique ID"
    name="id"
    type="s"
  />
  <flag
    auto_id="1"
    choose_set="0"
    multi_language="0"
    required="1"
    room="0"
  />
</item>

<item>
  <string
    describe="Mob short description"
    name="short"
    type="s"
  />
  <number
    max_length="40"
    min_length="3"
  />
  <flag
    multi_language="1"
    required="1"
  />
</item>

<item>
  <string
    describe="Mob full description"
    name="long"
    type="s"
  />
  <number
    lines="10"
  />
  <flag
    multi_language="1"
    required="1"
  />
</item>
</item>

<item>
  <string
    description="Data Definition"
    key="name"
    name="dtd"
    sub_dtd_name="field_dtd"
    summary_field="description"
  />

<item>
  <string
    describe="Name of table DTD is for"
    name="name"
    type="s"
  />
  <flag
    required="1"
  />
</item>

<item>
  <string
    describe="The unique key which identifies table items"
    name="key"
    type="s"
  />
  <flag
    required="1"
  />
</item>

<item>
  <string
    describe="Short description - for showing in dtd list and as heading for sub-dtds."
    name="description"
    type="s"
  />
  <flag
    choose_set="0"
    multi_language="0"
    required="1"
    room="0"
  />
</item>

<item>
  <string
    describe="The name of the DTD for sub-items"
    name="sub_dtd_name"
    type="s"
  />
</item>

<item>
  <string
    describe="If checked, this is a sub DTD and not shown on main list"
    name="sub_dtd"
    type="b"
  />
</item>

<item>
  <string
    describe="If checked, this key field will be given an automatically-generated unique ID."
    name="auto_id"
    type="b"
  />
</item>

<item>
  <string
    describe="Name of the field which is to appear next to the key when listing the records."
    match_regexp="^\w+$"
    name="summary_field"
    type="s"
  />
  <number
    max_length="30"
    min_length="1"
  />
  <flag
    choose_set="0"
    handler="0"
    multi_language="0"
    no_change="0"
    regexp="0"
    required="0"
    room="0"
    webhandler="0"
  />
</item>
</item>

<item>
  <string
    description="Field DTDs"
    key="name"
    name="field_dtd"
    summary_field="describe"
  />
  <flag
    sub_dtd="1"
  />

<item>
  <string
    describe="Name of field DTD is for"
    name="name"
    type="s"
  />
  <flag
    required="1"
  />
</item>

<item>
  <string
    describe="The type of data for this field (s=string, n=number, f=float, b=bool)"
    match_set="s,n,f,b"
    name="type"
    type="s"
  />
  <number
    max_length="1"
    min_length="1"
  />
  <flag
    required="1"
  />
</item>

<item>
  <string
    describe="Description of field (shown to builders). Line breaks will be honoured here."
    name="describe"
    type="s"
  />
  <number
    lines="3"
  />
</item>

<item>
  <string
    describe="This field must match this regular expression (if any).
You can use this to enforce validation rules (eg. ^[A-Z]+$ )"
    name="match_regexp"
    type="s"
  />
  <flag
    regexp="1"
  />
</item>

<item>
  <string
    describe="This field must NOT match this regular expression (if any).
You can use this to exclude certain things (eg. slashes) from fields"
    name="nomatch_regexp"
    type="s"
  />
  <flag
    regexp="1"
  />
</item>

<item>
  <string
    describe="This field must be a member of this set (if any).
The set is supplied as a comma-delimited set of alternatives (eg. a, b, c)"
    name="match_set"
    type="s"
  />
</item>

<item>
  <string
    describe="For strings (text), the minimum length of this field."
    name="min_length"
    type="n"
  />
  <number
    max_length="4"
  />
</item>

<item>
  <string
    describe="The maximum length of this field (also affects the size on the browser)."
    name="max_length"
    type="n"
  />
  <number
    max_length="4"
  />
</item>

<item>
  <string
    describe="For numbers, the minimum value that may be entered."
    name="min_value"
    type="n"
  />
</item>

<item>
  <string
    describe="For numbers, the maximum value that may be entered."
    name="max_value"
    type="n"
  />
</item>

<item>
  <string
    describe="For floating-point numbers, the minimum value that may be entered."
    name="min_float_value"
    type="f"
  />
</item>

<item>
  <string
    describe="For floating-point numbers, the maximum value that may be entered."
    name="max_float_value"
    type="f"
  />
</item>

<item>
  <string
    describe="For strings (text), the number of lines to allow for data-entry.
If less than 2, the field is a single-line field, otherwise it is a text box."
    name="lines"
    type="n"
  />
  <number
    max_length="3"
  />
</item>

<item>
  <string
    describe="If checked, this field is required (may not be blank). 
Note that many of the checks are not performed for empty fields if 'required' is not checked."
    name="required"
    type="b"
  />
</item>

<item>
  <string
    describe="If checked, this field will be shown once for each supported language."
    name="multi_language"
    type="b"
  />
</item>

<item>
  <string
    describe="If checked, the items in match_set will be presented in a combo-box"
    name="choose_set"
    type="b"
  />
</item>

<item>
  <string
    describe="If checked, this item is a room vnum and must be in the list of rooms."
    name="room"
    type="b"
  />
</item>

<item>
  <string
    describe="If checked this field is itself a regular expression."
    name="regexp"
    type="b"
  />
  <flag
    auto_id="0"
    choose_set="0"
    multi_language="0"
    required="0"
    room="0"
  />
</item>

<item>
  <string
    describe="If checked, this must be the name of a command code handler built into the server (ie. a C++ routine designed to handle commands)."
    name="handler"
    type="b"
  />
  <flag
    choose_set="0"
    handler="0"
    multi_language="0"
    regexp="0"
    required="0"
    room="0"
    webhandler="0"
  />
</item>

<item>
  <string
    describe="If checked, this must be the name of a web code handler built into the web server (ie. a C++ routine designed to handle web commands)."
    name="webhandler"
    type="b"
  />
  <flag
    choose_set="0"
    handler="0"
    multi_language="0"
    regexp="0"
    required="0"
    room="0"
  />
</item>

<item>
  <string
    describe="If checked, this item cannot be changed in the online editor."
    name="no_change"
    type="b"
  />
  <flag
    choose_set="0"
    handler="0"
    multi_language="0"
    regexp="0"
    required="0"
    room="0"
    webhandler="0"
  />
</item>
</item>

<item>
  <string
    description="Classes"
    key="name"
    name="classes"
    summary_field="summary"
  />
  <flag
    auto_id="0"
    sub_dtd="0"
  />

<item>
  <string
    describe="Name of this class."
    match_regexp="^\w+$"
    name="name"
    type="s"
  />
  <number
    max_length="15"
  />
  <flag
    choose_set="0"
    handler="0"
    multi_language="0"
    regexp="0"
    required="1"
    room="0"
    webhandler="0"
  />
</item>

<item>
  <string
    describe="Summary of the class (shown to new players)"
    name="summary"
    type="s"
  />
  <number
    max_length="60"
    min_length="10"
  />
  <flag
    choose_set="0"
    handler="0"
    multi_language="0"
    regexp="0"
    required="1"
    room="0"
    webhandler="0"
  />
</item>

<item>
  <string
    describe="What to match on to identify the class."
    name="match"
    type="s"
  />
  <flag
    choose_set="0"
    handler="0"
    multi_language="0"
    regexp="1"
    required="1"
    room="0"
    webhandler="0"
  />
</item>

<item>
  <string
    describe="Number of coins a new player is given."
    name="coins"
    type="n"
  />
  <number
    max_value="1000"
    min_value="5"
  />
  <flag
    choose_set="0"
    handler="0"
    multi_language="0"
    regexp="0"
    required="1"
    room="0"
    webhandler="0"
  />
</item>

<item>
  <string
    describe="New player dexterity for this class."
    name="dex"
    type="n"
  />
  <number
    max_value="30"
    min_value="1"
  />
  <flag
    choose_set="0"
    handler="0"
    multi_language="0"
    regexp="0"
    required="1"
    room="0"
    webhandler="0"
  />
</item>

<item>
  <string
    describe="New player HP for this class."
    name="hp"
    type="n"
  />
  <number
    max_value="100"
    min_value="1"
  />
  <flag
    choose_set="0"
    handler="0"
    multi_language="0"
    regexp="0"
    required="1"
    room="0"
    webhandler="0"
  />
</item>

<item>
  <string
    describe="New player mana for this class."
    name="mana"
    type="n"
  />
  <number
    max_value="100"
    min_value="0"
  />
  <flag
    choose_set="0"
    handler="0"
    multi_language="0"
    regexp="0"
    required="1"
    room="0"
    webhandler="0"
  />
</item>

<item>
  <string
    describe="Number of items a new player in this class can carry."
    name="max_items"
    type="n"
  />
  <number
    max_value="30"
    min_value="1"
  />
  <flag
    choose_set="0"
    handler="0"
    multi_language="0"
    regexp="0"
    required="1"
    room="0"
    webhandler="0"
  />
</item>

<item>
  <string
    describe="Weight a new player in this class can carry."
    name="max_weight"
    type="n"
  />
  <number
    max_value="200"
    min_value="5"
  />
  <flag
    choose_set="0"
    handler="0"
    multi_language="0"
    regexp="0"
    required="1"
    room="0"
    webhandler="0"
  />
</item>

<item>
  <string
    describe="New player movement points for this class."
    name="move"
    type="n"
  />
  <number
    max_value="200"
    min_value="5"
  />
  <flag
    choose_set="0"
    handler="0"
    multi_language="0"
    regexp="0"
    required="1"
    room="0"
    webhandler="0"
  />
</item>

<item>
  <string
    describe="New player strength points for this class."
    name="str"
    type="n"
  />
  <number
    max_value="30"
    min_value="1"
  />
  <flag
    choose_set="0"
    handler="0"
    multi_language="0"
    regexp="0"
    required="1"
    room="0"
    webhandler="0"
  />
</item>

<item>
  <string
    describe="New player wisdom for this class."
    name="wis"
    type="n"
  />
  <number
    max_value="30"
    min_value="1"
  />
  <flag
    choose_set="0"
    handler="0"
    multi_language="0"
    regexp="0"
    required="1"
    room="0"
    webhandler="0"
  />
</item>
</item>

<item>
  <string
    description="Pages served up by the internal web server"
    key="name"
    name="web_pages"
    summary_field="handler"
  />
  <flag
    auto_id="0"
    sub_dtd="0"
  />

<item>
  <string
    describe="Name of the web page (eg. xyz.php)"
    match_regexp="^\w+\.php$"
    name="name"
    type="s"
  />
  <flag
    choose_set="0"
    handler="0"
    multi_language="0"
    regexp="0"
    required="1"
    room="0"
    webhandler="0"
  />
</item>

<item>
  <string
    describe="The internal code handler for this page"
    name="handler"
    type="s"
  />
  <flag
    choose_set="0"
    handler="0"
    multi_language="0"
    regexp="0"
    required="1"
    room="0"
    webhandler="1"
  />
</item>

<item>
  <string
    describe="Can guests (users who have not logged in) use this page?"
    name="allow_guest"
    type="b"
  />
  <flag
    choose_set="0"
    handler="0"
    multi_language="0"
    regexp="0"
    required="0"
    room="0"
    webhandler="0"
  />
</item>

<item>
  <string
    describe="Which flag needs to be set on a user before they can view this page."
    match_regexp="^\w+$"
    name="needflag"
    type="s"
  />
  <number
    max_length="30"
    min_length="1"
  />
  <flag
    choose_set="0"
    handler="0"
    multi_language="0"
    regexp="0"
    required="0"
    room="0"
    webhandler="0"
  />
</item>
</item>

<item>
  <string
    description="Users of the integrated web server"
    key="name"
    name="web_users"
    summary_field="description"
  />
  <flag
    auto_id="0"
    sub_dtd="0"
  />

<item>
  <string
    describe="Name of this user (what they log in as)."
    name="name"
    type="s"
  />
  <flag
    choose_set="0"
    handler="0"
    multi_language="0"
    no_change="0"
    regexp="0"
    required="1"
    room="0"
    webhandler="0"
  />
</item>

<item>
  <string
    describe="List of tables this user has full access to (view, add, change, delete). Can be &quot;all&quot;."
    name="full_access_tables"
    type="s"
  />
  <flag
    choose_set="0"
    handler="0"
    multi_language="0"
    no_change="0"
    regexp="0"
    required="0"
    room="0"
    webhandler="0"
  />
</item>

<item>
  <string
    describe="List of tables (comma-delimited) that this user can view.
You need to be able to view a table in order to edit it."
    name="view_tables"
    type="s"
  />
  <flag
    choose_set="0"
    handler="0"
    multi_language="0"
    no_change="0"
    regexp="0"
    required="0"
    room="0"
    webhandler="0"
  />
</item>

<item>
  <string
    describe="List of tables (comma-delimited) that this user can NOT view.
You can use this to exclude tables that might have been in the &quot;all&quot; list for a user."
    name="noview_tables"
    type="s"
  />
  <flag
    choose_set="0"
    handler="0"
    multi_language="0"
    no_change="0"
    regexp="0"
    required="0"
    room="0"
    webhandler="0"
  />
</item>

<item>
  <string
    describe="List of tables (comma-delimited) that this user can add new items to."
    name="add_tables"
    type="s"
  />
  <flag
    choose_set="0"
    handler="0"
    multi_language="0"
    no_change="0"
    regexp="0"
    required="0"
    room="0"
    webhandler="0"
  />
</item>

<item>
  <string
    describe="List of tables (comma-delimited) that this user can NOT add new items to."
    name="noadd_tables"
    type="s"
  />
  <flag
    choose_set="0"
    handler="0"
    multi_language="0"
    no_change="0"
    regexp="0"
    required="0"
    room="0"
    webhandler="0"
  />
</item>

<item>
  <string
    describe="List of tables (comma-delimited) that this user can change existing items of."
    name="change_tables"
    type="s"
  />
  <flag
    choose_set="0"
    handler="0"
    multi_language="0"
    no_change="0"
    regexp="0"
    required="0"
    room="0"
    webhandler="0"
  />
</item>

<item>
  <string
    describe="List of tables (comma-delimited) that this user can NOT change existing items of."
    name="nochange_tables"
    type="s"
  />
  <flag
    choose_set="0"
    handler="0"
    multi_language="0"
    no_change="0"
    regexp="0"
    required="0"
    room="0"
    webhandler="0"
  />
</item>

<item>
  <string
    describe="List of tables (comma-delimited) that this user can change delete items from."
    name="delete_tables"
    type="s"
  />
  <flag
    choose_set="0"
    handler="0"
    multi_language="0"
    no_change="0"
    regexp="0"
    required="0"
    room="0"
    webhandler="0"
  />
</item>

<item>
  <string
    describe="List of tables (comma-delimited) that this user can NOT delete items from."
    name="nodelete_tables"
    type="s"
  />
  <flag
    choose_set="0"
    handler="0"
    multi_language="0"
    no_change="0"
    regexp="0"
    required="0"
    room="0"
    webhandler="0"
  />
</item>

<item>
  <string
    describe="Hashed password of this user."
    match_regexp="^[[:xdigit:]]{40}$"
    name="password"
    type="s"
  />
  <number
    max_length="40"
  />
  <flag
    choose_set="0"
    handler="0"
    multi_language="0"
    no_change="0"
    regexp="0"
    required="0"
    room="0"
    webhandler="0"
  />
</item>

<item>
  <string
    describe="Token for this user (generated randomly and returned via a cookie to identify them)."
    match_regexp="^[A-Fa-f0-9]{40}$"
    name="token"
    type="s"
  />
  <flag
    choose_set="0"
    handler="0"
    multi_language="0"
    no_change="1"
    regexp="0"
    required="0"
    room="0"
    webhandler="0"
  />
</item>

<item>
  <string
    describe="When they last loggged on."
    name="logged_on_at"
    type="s"
  />
  <flag
    choose_set="0"
    handler="0"
    multi_language="0"
    no_change="1"
    regexp="0"
    required="0"
    room="0"
    webhandler="0"
  />
</item>

<item>
  <string
    describe="TCP/IP address they last logged on from."
    name="logged_on_ip_address"
    type="s"
  />
  <flag
    choose_set="0"
    handler="0"
    multi_language="0"
    no_change="1"
    regexp="0"
    required="0"
    room="0"
    webhandler="0"
  />
</item>

<item>
  <string
    describe="Full name and other comments about this person."
    name="description"
    type="s"
  />
  <flag
    choose_set="0"
    handler="0"
    multi_language="0"
    no_change="0"
    regexp="0"
    required="1"
    room="0"
    webhandler="0"
  />
</item>

<item>
  <string
    describe="If checked, user can use web-based online building editor."
    name="editor"
    type="b"
  />
  <flag
    choose_set="0"
    handler="0"
    multi_language="0"
    no_change="0"
    regexp="0"
    required="0"
    room="0"
    webhandler="0"
  />
</item>
</item>

<item>
  <string
    description="Resets"
    key="id"
    name="resets"
    summary_field="target"
  />
  <flag
    auto_id="1"
    sub_dtd="0"
  />

<item>
  <string
    describe="o = object into room
m = mob into room"
    match_set="o,m"
    name="type"
    type="s"
  />
  <number
    max_length="1"
    min_length="1"
  />
  <flag
    choose_set="1"
    handler="0"
    multi_language="0"
    no_change="0"
    regexp="0"
    required="1"
    room="0"
    webhandler="0"
  />
</item>

<item>
  <string
    describe="Unique ID of this reset."
    name="id"
    type="s"
  />
  <flag
    choose_set="0"
    handler="0"
    multi_language="0"
    no_change="0"
    regexp="0"
    required="1"
    room="0"
    webhandler="0"
  />
</item>

<item>
  <string
    describe="Target of reset (ID of mob or object)"
    name="target"
    type="s"
  />
  <number
    max_length="15"
    min_length="1"
  />
  <flag
    choose_set="0"
    handler="0"
    multi_language="0"
    no_change="0"
    regexp="0"
    required="1"
    room="0"
    webhandler="0"
  />
</item>

<item>
  <string
    describe="Which room to put it into"
    name="vnum"
    type="n"
  />
  <number
    min_value="1"
  />
  <flag
    choose_set="0"
    handler="0"
    multi_language="0"
    no_change="0"
    regexp="0"
    required="1"
    room="1"
    webhandler="0"
  />
</item>
</item>
</dtd>

<!-- languages -->

<languages>

<item>
  <string
    commands_dir="./commands/"
    name="english"
    prefix=""
    prompt="English"
  />
</item>

<item>
  <string
    commands_dir="./fr_commands/"
    name="french"
    prefix="fr_"
    prompt="Francais"
  />
</item>
</languages>

<!-- spells -->

<spells>

<item>
  <string
    fr_success_room="(FR)%<player> lays healing hands on %<target>."
    fr_success_self="(FR)You lay healing hands on %<target>"
    fr_success_target="(FR)%<player> lays healing hands on you."
    name="heal"
    success_room="%<player> lays healing hands on %<target>."
    success_self="You lay healing hands on %<target>"
    success_target="%<player> lays healing hands on you."
    summary="Heals some wounds of the target."
  />
  <flag
    active="1"
  />

<item>
  <string
    effect="hp"
    effect_id="1"
    type="now"
  />
  <number
    by="5"
  />
</item>

<item>
  <string
    effect="move"
    effect_id="2"
    type="now"
  />
  <number
    by="3"
  />
</item>

<item>
  <string
    effect="hp"
    effect_id="3"
    fr_msg_room="(FR)%<target> feels a little better now."
    fr_msg_target="(FR)You feel a little better now."
    msg_room="%<target> feels a little better now."
    msg_target="You feel a little better now."
    type="every"
  />
  <number
    by="10"
    count="4"
    interval="20"
  />
</item>
</item>

<item>
  <string
    name="fireball"
    success_room="%<player> hits %<target> with a blast of flame!"
    success_self="You hit %<target> with a blast of flame!"
    success_target="%<player> hits you with a blast of flame!"
    summary="Casts a devastating fireball upon some poor sucker."
  />
  <flag
    active="1"
  />

<item>
  <string
    effect="hp"
    effect_id="4"
  />
  <number
    by="-5"
  />
</item>

<item>
  <string
    effect="str"
    effect_id="5"
  />
  <number
    by="-2"
  />
</item>
</item>

<item>
  <string
    name="iceblast"
    summary="Casts a terrible blast of ice"
  />
  <number
    level="2"
  />
  <flag
    active="0"
  />

<item>
  <string
    effect="hp"
    effect_id="6"
  />
  <number
    by="5"
  />
</item>
</item>
</spells>

<!-- web_pages -->

<web_pages>

<item>
  <string
    handler="WebWhoList"
    name="who.php"
  />
  <flag
    allow_guest="1"
  />
</item>

<item>
  <string
    handler="WebRoomList"
    name="room.php"
  />
</item>

<item>
  <string
    handler="WebControlList"
    name="control.php"
  />
</item>

<item>
  <string
    handler="WebSpellList"
    name="spell.php"
  />
</item>

<item>
  <string
    handler="WebSend"
    name="message.php"
  />
</item>

<item>
  <string
    handler="WebEditor"
    name="edit.php"
    needflag="editor"
  />
</item>

<item>
  <string
    handler="WebShowDtd"
    name="dtd.php"
  />
</item>

<item>
  <string
    handler="WebCommandList"
    name="commands.php"
  />
</item>

<item>
  <string
    handler="WebServerInfo"
    name="info.php"
  />
  <flag
    allow_guest="1"
  />
</item>

<item>
  <string
    handler="WebLogin"
    name="login.php"
  />
  <flag
    allow_guest="1"
  />
</item>

<item>
  <string
    handler="WebLogout"
    name="logout.php"
  />
  <flag
    allow_guest="0"
  />
</item>
</web_pages>

<!-- web_users -->

<web_users>

<item>
  <string
    description="Nick Gammon"
    full_access_tables="all"
    logged_on_at="Tuesday, August 24, 2004, 03:12 PM"
    logged_on_ip_address="127.0.0.1"
    name="nick"
    password="881f2a8b0d9da1a9ce1de87980ccf0a71e1cac06"
    token="fb5924969c128e0c77daa275e7c7f68497bd0d6e"
  />
  <flag
    editor="1"
  />
</item>

<item>
  <string
    description="Adam (Adymon)"
    full_access_tables="all"
    name="Adam"
    noadd_tables="dtd"
    nochange_tables="dtd"
    nodelete_tables="dtd"
    password="a058b0419d3b40ae0de89153d82138f59a6b6b9e"
  />
  <flag
    editor="1"
  />
</item>

<item>
  <string
    description="John Donlan"
    full_access_tables="all"
    name="John"
    noadd_tables="dtd"
    nochange_tables="dtd"
    nodelete_tables="dtd"
    password="8f00313db49e4201ae5ae0c49ee07bee5085ac98"
  />
  <flag
    editor="1"
  />
</item>

<item>
  <string
    description="David Haley"
    full_access_tables="all"
    name="David"
    noadd_tables="dtd"
    nochange_tables="dtd"
    nodelete_tables="dtd"
    password="701873d9b959bdbc0663ca33bcb84c6eb88c2adb"
  />
  <flag
    editor="1"
  />
</item>
</web_users>
</control>
