# Behaviors Reference ## CoffeeMud 5.9
Properties/Affects Behaviors ActiveTicker Aggressive AlignHelper AntiVagrant Arrest Bardness Beggar BribeGateGuard BrotherHelper ClanHelper Clericness CombatAbilities CombatAssister CommonSpeaker Concierge Conquerable CorpseEater CorpseLooter Decay DelayedTransporter DoorwayGuardian Drowness Druidness Emoter EvilExecutioner FaithHelper FasterRecovery FieryRoom Fighterness FightFlee Follower GateGuard GetsAllEquipped GoldLooter GoodExecutioner GoodGuardian Guard Healer Hireling InstantDeath ItemGenerator ItemIdentifier ItemMender ItemRefitter LinkedWeather Mageness Mime MOBEater MOBHelper MOBHunter Mobile MobileAggressive MobileGoodGuardian MOBReSave MOBTeacher MoneyChanger MovingRoom MudChat Nanny NastyAbilities NeutralAbilities NiceAbilities NoCombatAssist ObjectGuardian Patroller PlayerHelper PokerDealer ProtectedCitizen ProtectedCitizens PuddleMaker QuestChat RaceHelper RandomItems RandomMonsters RandomQuests RandomTeleporter RandomTraps ResetWhole ResourceOverride ROMGangMember ROMPatrolman Sailor Scavenger Scriptable ScriptableEverymob Sounder StdBehavior TargetPlayer TaxCollector TaxiBehavior Thiefness Vagrant VeryAggressive WaterCurrents WeatherAffects Wimpy WimpyAggressive | ActiveTicker
    Behavior   : ActiveTicker
    Targets    : MOBs
    Parameters :
    Example    :
    Description:
    A base class for mobile type behaviors.  Do not use.
Aggressive
    Behavior   : Aggressive
    Targets    : MOBs
    Parameters : aggression flags (MESSAGE=[msg]) aggression masks
    Example    : +elf -fighter
    Example    : message="All must die!!" -elf +fighter
    Example    : MOBKILL MISBEHAVE +elf -fighter
    Description:
    Makes the mob attack any player mob it can detect in the same room, from the
    moment the new mob enters.  Horribly wounded mobs are not aggressive. Mobs will
    also not be aggressive towards Archons and builders with the CMDMOBS security
    flag.If no other parameters are given, the mob will attack anyone.
    Valid aggressive masks include:
    message=[msg] something for the mob to say whenever he's fixing to attack
    delay=x (makes the mob delay x ticks before looking for a victim)
    mobkill (makes this behavior attack mobs as well as players)
    nogang (makes this behavior pass over players already in combat)
    misbehave (makes this mob attack even when wounded or a follower)
    checklevel (makes this mob attack only those within 5 levels below him)
    See AHELP ZAPPERMASK, where allowed is aggressed, and disallowed is spared.
AlignHelper
    Behavior   : AlignHelper
    Targets    : MOBs
    Parameters : ([MAX COMBATANTS]) (MSG="[ATTACK MESSAGE]")
    Example    :  5 msg="OMG I'M ATTACKING!"
    Description:
    Joins a fight on the side of anyone who is the same alignment as the mob. You
    may optionally specify a maximum number of combatants that can join in using
    this behavior.
AntiVagrant
    Behavior   : AntiVagrant
    Targets    : MOBs
    Parameters : min, max ticks, a percent chance, anywhere and/or kickout flag
    Example    : min=2 max=3 chance=99
    Example    : min=2 max=3 chance=99 KICKOUT
    Example    : min=2 max=3 chance=75 ANYWHERE
    Example    : min=2 max=3 chance=75 ANYWHERE KICKOUT
    Description:
    Wakes up any MOB that is sleeping on a CityStreet type locale.  Will also stand
    up anyone sitting on a city street.  The locale type can be overridden by
    including the ANYWHERE flag.  You may also get the person kicked out of the
    current room by using the KICKOUT flag.  All of the parameters are optional.
Arrest
    Behavior   : Arrest
    Targets    : Areas
    Parameters : (/CUSTOM/[FILENAME])(;[LAW KEY]=[LAW VALUE] ...)
    Example    :
    Example    : custom
    Example    : laws_mycity.ini
    Example    : custom;JUDGE="justice judge" OFFICERS="cityguard police"
    Description:
    This powerful behavior allows you to set up the enforcement of laws inside of a
    city. The only parameter is the name of an ini file in the resources directory.
     If left blank, the default laws.ini file will be used.  The ini file specifies
    the judges, enforcement mobs, the laws and their punishments, and the location
    of jails.  The messages seen by the criminals is also contained therein.  The
    word custom may also be placed in the parameters in order to make the area laws
    changeable using either a StdLawBook or a GenLawBook.
Bardness
    Behavior   : Bardness
    Targets    : MOBs
    Parameters : (SUBCLASS NAME) (PROFICIENT) (NOSTATS) (NOCOMBATSTAT)
    Parameters : (OFFENSIVE,DEFENSIVE,MIXEDOFFENSIVE,MIXEDDEFENSIVE)
    Parameters : (MINTICKS=[NUM] MAXTICKS=[NUM] CHANCE=[NUM])
    Example    :
    Example    : Bard
    Example    : Dancer MIXEDOFFENSIVE
    Description:
    An extension of CombatAbilities, this behavior makes the mob a Bard by class,
    and gives the mob bard songs appropriate to its level.  After this behavior has
    triggered, it will often require a RESET for any level changes to the mob to
    take over.
    Use the proficient flag to make all skills at 100% instead of level-based. Use
    the offensive/.../mixeddefensive flags to influence skill choices. This
    behavior should not be used WITH any of the other CombatAbilities behaviors,
    such as Fighterness, Thiefness, Mageness, Clericness, Druidness, or
    CombatAbilities. It should be used alone on a mob.
    Also, be aware that this behavior will modify the mobs stats to better reflect
    the class, so any additions or removals of this behavior should be accompanied
    by a room reset after saving, and manually checking to make sure the combat
    stats are as desired.
Beggar
    Behavior   : Beggar
    Targets    : MOBs
    Parameters :
    Example    :
    Description:
    The mob with this behavior will beg for money from players, and say thank you
    when rewarded.
BribeGateGuard
    Behavior   : BribeGateGuard
    Targets    : MOBs
    Parameters : Price of entry, Gate System
    Example    : price=5 gates=Avalon
    Description:
    The mob will work akin to a gate guard, but you have to have at least the price
    on your tab for the guard to open it (or let you open it from that side) Any
    payment made over the price is retained, in a manner akin to a bank chain, so
    if any other guards are in the same Gate System, they will all use the same
    tab.  DO NOT put one on each side - unlike Gate Guards, these guys don't play
    well with others. If you want players to be able to sneak by them, merely make
    sure they can't see sneaking or invis - whichever.  The hiding player will have
    to wait for another player to get the door open to sneak through.
BrotherHelper
    Behavior   : BrotherHelper
    Targets    : MOBs
    Parameters : ([MAX FIGHTERS]) (NAMEONLY) (MSG="[ATTACK MESSAGE]")
    Example    :
    Example    : 5
    Example    : 5 nameonly msg="omg! Attack!"
    Description:
    Joins a fight on the side of an identical mob, or a mob from the same starting
    room.  You may optionally specify the maximum number of brothers who may
    assault a single target.  You may also put the word nameonly to not utilize the
    "same starting room" criteria.

    This behavior works differently on official legal enforcers specified by an
    Arrest or Conquerable behavior.  Legal enforcers will only trigger this
    behavior if he is coming to the aid of another legal official, or if he is sure
    that he is not coming to the aid of an aggressive mob.
ClanHelper
    Behavior   : ClanHelper
    Targets    : MOBs
    Parameters : [CLAN NAME] ([MAX COMBATANTS]) (MSG="[ATTACK MESSAGE]")
    Example    : McElvy
    Example    : McElvy 5 msg="OMG ATTACK!"
    Description:
    Joins a fight on the side of a mob of the same clan as specified in the
    parameters.
Clericness
    Behavior   : Clericness
    Targets    : MOBs
    Parameters : (SUBCLASS NAME) (PROFICIENT) (NOSTATS) (NOCOMBATSTAT)
    Parameters : (OFFENSIVE,DEFENSIVE,MIXEDOFFENSIVE,MIXEDDEFENSIVE)
    Parameters : (MINTICKS=[NUM] MAXTICKS=[NUM] CHANCE=[NUM])
    Example    :
    Example    : Templar
    Example    : Doomsayer OFFENSIVE
    Description:
    An extension of CombatAbilities, this behavior makes the mob a Cleric by class,
    and gives the mob clerical prayers appropriate to its alignment and level.
    After this behavior has triggered, it will often require a RESET for any
    alignment or level changes to the mob to take over.
    Use the proficient flag to make all skills at 100% instead of level-based. Use
    the offensive/.../mixeddefensive flags to influence skill choices. This
    behavior should not be used WITH any of the other CombatAbilities behaviors,
    such as Fighterness, Thiefness, Mageness, Clericness, Druidness, or
    CombatAbilities. It should be used alone on a mob.
    Also, be aware that this behavior will modify the mobs stats to better reflect
    the class, so any additions or removals of this behavior should be accompanied
    by a room reset after saving, and manually checking to make sure the combat
    stats are as desired.
CombatAbilities
    Behavior   : CombatAbilities
    Targets    : MOBs
    Parameters : (as derived class) and +SKILLID -SKILLID
    Parameters : (MINTICKS=[NUM] MAXTICKS=[NUM] CHANCE=[NUM])
    Example    : (as derived class) -Spell_Sleep
    Description:
    Gives the mob the urge to use their skills, spells, prayers, songs, and other
    abilities during combat.
    This behavior should not be used WITH any of the other CombatAbilities
    behaviors, such as Fighterness, Thiefness, Mageness, Clericness, Druidness, or
    CombatAbilities. It should be used alone on a mob.

    The parameters are as described in one of the derived classes, but in addition,
    you can also specify the IDs of certain skills that the behavior will either be
    allowed to be used in combat even if it is not normally allowed, or be
    disallowed to be used in combat even if the mob has the skill and it would
    normally be allowed, depending on whether the ID is preceded by + or -.
CombatAssister
    Behavior   : CombatAssister
    Targets    : MOBs
    Parameters : mask of mobs to assist
    Example    : -RACE +Elf
    Example    : -NAME "+My Buddies"
    Example    : -CLANS "+My Clan"
    Description:
    The mob with this behavior will come to the defence of any other mob which is
    attacked in its presence and meets the mask defined above.
    See AHELP ZAPPERMASK, where allowed is assisted, and disallowed is ignored.
CommonSpeaker
    Behavior   : CommonSpeaker
    Targets    : MOBs
    Parameters : ([LANGUAGEID])
    Example    :
    Example    : Orcish
    Description:
    Without parameters, this behavior makes sure that a mob is always speaking
    Common, even if it should be a race other than Human, or it should be
    polymorphed.  Another language may also optionally be specified.
Concierge
    Behavior   : Conceirge
    Targets    : MOBs, Items, Rooms, Areas
    Parameters : [ALL PRICE]/[AREA/ROOM]=[PRICE]/[PARAM]=[VALUE]; ... ;
    Example    : 1.5
    Example    : Midgaard#3001=1.5; Smurfville=2.0; =70 ; AREAONLY=true
    Example    : Midgaard#3032; =100 ; AREAONLY=false; MAXRANGE=100
    Description:
    This behavior makes the mob a deliverer of information to players, specifically
    the directions to rooms or areas.  The mob will charge for his services if you
    specify a price in the parameters, or he will do it for free if you don't, or
    if the last price specified was 0.  The parameters can include a comma
    delimited set of room IDs, area names, or even short title descriptions for
    quickly entering rooms within short range of the mob.

    The parameters may also include certain other variables as part of the
    parameter list.  These include AREAONLY = true or false, to specify whether the
    concierge knows anything about places outside his area.  MAXRANGE=number for
    the maximum number of rooms away from the concierge that is known.
    GREETING=message will give a special concierge greeting message for all players
    who enter the room its in. ENTERMSG will give a message to players who mount
    the concierge (rideables only).  TALKERNAME=name will change the apparent name
    of the speaker. PERROOM=number will set a per-room price for the distance from
    the current room to the one sought.  NOWATER=true to prevent trails over water.
    NOAIR=true, to prevent trails through the air. NOLOCKS=true to prevent trails
    through locked doors. NOHOMES=true to prevent trails through private homes.
    NOINDOOR=true to prevent finding or trailing through indoor rooms. NOCLIMB to
    prevent trails through climbable exits. NOCRAWL to prevent trails through
    crawlable exits.  Use PORTAL=true to have the concierge create a magical portal
    instead of giving directions.
Conquerable
    Behavior   : Conquerable
    Targets    : AREAs
    Parameters : (JOURNAL="[JOURNAL NAME]") (LAW=(TRUE/FALSE))
    Parameters : (OWNERSHIP=(TRUE/FALSE))
    Example    : JOURNAL="The Conquest Times" LAW=FALSE OWNERSHIP=FALSE
    Description:
    This behavior makes the area conquerable by clans using items put together
    using ClanCraft.  See the general help on CONQUEST for more information on what
    this means and how it works.  The JOURNAL entry, if given, will log conquest
    events to a journal of that name.  The LAW entry is required in order to allow
    an area to be set up by conquering clans with a system of law. The OWNERSHIP
    entry is true if All private property is automatically signed over to the
    conquering clan, and false if it is left alone.
CorpseEater
    Behavior   : CorpseEater
    Targets    : MOBs
    Parameters : min, max ticks, a percent chance, eatitems flag, corpse masks
    Example    : min=10 max=20 chance=75
    Example    : min=10 max=20 chance=75 -LEVEL +<17
    Example    : min=10 max=20 chance=75 -RACE +Elf
    Description:
    The mob will appear to eat any corpse it comes across.  It will not eat the
    item contents of the corpse unless the EATITEMS flag is given. It will also
    ignore player corpses unless the +PLAYER flag is included.  You may also
    specify masks to give the mob a more specific diet.  See AHELP ZAPPERMASK,
    where allowed is eaten, and disallowed is not eaten.
CorpseLooter
    Behavior   : CorpseLooter
    Targets    : MOBs
    Parameters :
    Example    :
    Description:
    This behavior makes a mob loot the corpses killed by it of items only.  It does
    this by turning on the mobs AUTOLOOT flag.
Decay
    Behavior   : Decay
    Targets    : MOBs, Items
    Parameters : min, max ticks, a percent chance, trigger masks
    Example    : min=10 max=20 chance=75 answer=" goes poof!"
    Example    : min=10 max=20 chance=75 -LEVEL +<17
    Example    : notrigger answer=" "
    Example    : min=10 max=20 chance=75 -CLASS +Paladin
    Description:
    According to the timing and percent chance described by the parameters, the mob
    or item with this behavior will vanish at the expired time.  MOBs do not begin
    their countdown until attacked, items when they are picked up, weapons when
    they are first wielded, or armor when it is first worn.  The countdown may also
    depend on whether the mob or player triggering the countdown meets any masks
    specified.   You may force the object to decay immediately by placing the
    NOTRIGGER mask inside your parameter string.  The message seen when the object
    decays can also be modified by changing the ANSWER parameter. For value masks
    to determine whether a countdown begins,
    see AHELP ZAPPERMASK, where allowed is decayed, and disallowed is ignored.
DelayedTransporter
    Behavior   : Delayed Transporter
    Targets    : Rooms, Mobs, Items
    Parameters : Max and min ticks, pct chance, room ids separated by ';'.
    Example    : min=10 max=20 chance=25;Midgaard#3001;Sewers#6020;Midgaard#3020
    Description:
    This behavior defines a serious of random rooms.  All rooms are separated by
    the semicolons shown above.  The first parameter can me empty for defaults, or
    may contain a setting for minimum ticks, maximum ticks, and the percept chance
    of occurrence after the random number of ticks has expired.  In the above
    example every 10-20 ticks, there is a 25% chance that every mob in the same
    room as the behaving object will be teleported to one of the three listed rooms
    (at random).
DoorwayGuardian
    Behavior   : DoorwayGuardian
    Targets    : MOBs
    Parameters : NOSNEAK, ALWAYS, a doorway direction, followed by an optional list

    Parameters : of masking parameters described below, followed by an optional
    Parameters : semicolon and an override of the rejection message to the user.
    Example  : always north
    Example  : nosneak east -class +mage -race +elf -evil
    Example  : east north;<S-NAME> smack(s) <T-NAME> and push(es) <T-HIM-HER> back!

    Description:
    The mob will not allow any other mob or player to open or move through a doored
    exit.  The mob must be killed to get by!  If a direction is not specified, the
    mob will protect all exits, otherwise only the one in the direction specified.
    The guard will also behave according to whether the player trying to move meets
    the other parameter mask requirements.  If no masks are given, the guard will
    always block the players. The guardian is subject to being sneaked by, unless
    the NOSNEAK string is included in the parameters.  The guardian can also be
    bypassed if in combat or badly hurt, unless the ALWAYS flag is included. See
    AHELP ZAPPERMASK for masking rules to see who is allowed.
Drowness
    Behavior   : Drowness
    Targets    : MOBs
    Parameters :
    Example    :
    Description:
    The behavior of the drow differs slightly between males and females.  This
    behavior is therefore an entire kit, including weapons, armor, spells, and
    combat behavior.  DO NOT (I repeat) DO NOT use this behavior with any
    CombatAbilities derivitive, unless you want an unfair and utterly deadly
    opponent.  Also, do NOT add any equipment to the mob with this behavior.  The
    kit will supply the mob with weapons and armor.
Druidness
    Behavior   : Druidness
    Targets    : MOBs
    Parameters : (SUBCLASS NAME) (PROFICIENT) (NOSTATS) (NOCOMBATSTAT)
    Parameters : (OFFENSIVE,DEFENSIVE,MIXEDOFFENSIVE,MIXEDDEFENSIVE)
    Parameters : (MINTICKS=[NUM] MAXTICKS=[NUM] CHANCE=[NUM])
    Example    :
    Example    : Druid
    Example    : SkyWatcher DEFENSIVE
    Description:
    An extension of CombatAbilities, this behavior makes the mob a Druid by class,
    and gives the mob druid skills appropriate to its level.  After this behavior
    has triggered, it will often require a RESET for any level changes to the mob
    to take over.
    Use the proficient flag to make all skills at 100% instead of level-based. Use
    the offensive/.../mixeddefensive flags to influence skill choices. This
    behavior should not be used WITH any of the other CombatAbilities behaviors,
    such as Fighterness, Thiefness, Mageness, Clericness, Druidness, or
    CombatAbilities. It should be used alone on a mob.
    Also, be aware that this behavior will modify the mobs stats to better reflect
    the class, so any additions or removals of this behavior should be accompanied
    by a room reset after saving, and manually checking to make sure the combat
    stats are as desired.
Emoter
    Behavior   : Emoter
    Targets    : Room, MOBs, Items, Areas
    Parameters : Flags, Max/Min ticks, pct chance, expires, emote strings, ';'
    separated.
    Example    : min=10 max=20 chance=25;wiggles his bottom.;smiles evilly.;burps!
    Example    : smell chance=25 expires=10;smells horrible!;is really stinky!
    Example    : chance=100 inroom="Here#1,Here#2";looks horrible!;is bad!
    Example    : broadcast sound chance=25;grumbles!;eeeks!
    Example    : min=1 max=2 chance=25;sound grumbles!;visual leers broadly.;social
    smile
    Description:
    This behavior defines a serious of random emotes.  All emote strings are
    separated by the semicolons shown above.  The first parameter can be empty for
    defaults, or may contain a setting for minimum ticks (min=10), maximum ticks
    (max=20), the percent chance of occurrence after the random number of ticks has
    expired (chance=25), a total number of occurrences before expiration
    (expires=0), a list of rooms where the emoter MUST be for the emoter to work
    (inroom=...), a tag to make the emote sound based (sound), a tag to make the
    emote smell based (smell), or a tag to make the emote broadcast to adjacent
    rooms (broadcast).  In the first example every 10-20 ticks, there is a 25%
    chance that the object with this property will select one of the emotes
    randomly and perform it for all those in the same room who can see it.  In the
    second example, a smell based emote will be performed 25% of the time, but will
    only emote 10 times before the behavior is removed from the object.  In the
    third example, there is a 100% chance that, if the object is in room Here#1 or
    Here#2, it will emote one of the two choices. In the fourth example, a sound
    based emote will be performed 25% of the time in the room of the behavior, and
    in any adjacent rooms.

    You can also mix and match the types of emotes by putting the keywords SIGHT,
    SMELL, NOISE, and SOCIAL as the first word in each emote string.  This denotes
    the type of emote for the rest of the string.  The last example shows how to
    enter a mixed emote.
EvilExecutioner
    Behavior   : EvilExecutioner
    Targets    : MOBs
    Parameters : PLAYERS
    Example    :
    Description:
    The mob with this behavior will attack any good or paladin non-player mob it
    detects.  With the Players parameter, it will even attack players as well.
FaithHelper
    Behavior   : FaithHelper
    Targets    : MOBs
    Parameters : [DEITY NAME] ([MAX COMBATANTS]) (MSG="[ATTACK MESSAGE]")
    Example    : Odin 5 msg="OMG ATTACK!"
    Description:
    Joins a fight on the side of a mob of the same faith as specified in the
    parameters. You may optionally specify a maximum number of combatants that can
    join in using this behavior.
FasterRecovery
    Behavior   : FasterRecovery
    Targets    : Rooms, Areas, Items, MOBs
    Parameters : (HEALTH=[NUM BURST TICKS]) (BURST=[NUM]) (HITS=[NUM]) (MOVE=[NUM])
    (MANA=[NUM])
    Example    : burst=2
    Example    : health=5
    Example    : hits=2
    Example    : mana=5 hits=10
    Example    : burst=2 health=5
    Description:
    This allows the room, possessed item, or ridden mob or item to give an extra
    burst of speed to all affected mobs. The parameters are all optional.  If the
    "health" parameter is given, then the mob will get a number of regen ticks
    equal to the number given.  For instance, if the value is 2, then the mob will
    regen twice per tick, a value of 3 means 3 times per tick, etc.  Values of 1 or
    less mean no extra regen ticks.  The "burst" parameter refers to bursts of
    extra speed to the benefiting mobs equal to the number given. For instance, if
    the value is 2, the mob will move twice as fast per tick, a value of 3 means 3
    times as fast, etc.  Values of 1 or less mean normal ticking applies.  Values
    for hits, move, and mana are similar to health, but will only give a burst or
    rejuvenation to that particular stat.
FieryRoom
    Behavior   : FieryRoom
    Targets    : Rooms
    Parameters : min, max ticks, a percent chance, flags and strings
    Example    : min=5 max=10 chance=100;damage=77 Title="A Horribly
    Blackened Spot" Description="This place was once just like
    any part of the road.  Now it is nothing more than a sooty pit."
    NOSTOP eqchance=50
    Description:
    This behavior makes a room operate like it is on fire.  This can include
    dealing direct damage to players, burning flammable equipment and making
    non-flammable equipment heat up (i.e. is dropped), emote that it is burning,
    and eventually turn into a burnt-out room.
    The first parameter can be empty for defaults, or may contain a setting for
    minimum ticks (min=10), maximum ticks (max=20), and the percept chance of
    occurrence after the random number of ticks has expired (chance=25).

    Additional Settings and Flags:
    DAMAGE=XXX         - The amount of damage dealt to inhabitants every behavior
    tick
    TITLE=[text]       - The Room Display to change the room to when done burning
    DESCRIPTION=[text] - The Room Desc to change the room to when done burning
    EQCHANCE=XXX       - The unlikeliness of EQ bursting into flames or heating up.

    BURNTICKS=XXX      - How many behavior ticks to keep burning (Moot with NOSTOP)

    NOSTOP             - Prevent the room from ever burning up.  TITLE, DESCRIPTION
    and
    BURNTICKS become irrelevant
    NONPC              - Don't deal damage or eq burn/drop to NPC's
    NOFIRETEXT         - Don't display burning emotes while the room is burning.

    All of the parameters are optional. Defaults are:
    DAMAGE=10
    TITLE="A Charred Ruin"
    DESCRIPTION="Whatever was once here is now nothing more than ash."
    EQCHANCE=0  (no default Eq destruction)
    BURNTICKS=12
Fighterness
    Behavior   : Fighterness
    Targets    : MOBs
    Parameters : (SUBCLASS NAME) (PROFICIENT) (NOSTATS) (NOCOMBATSTAT)
    Parameters : (OFFENSIVE,DEFENSIVE,MIXEDOFFENSIVE,MIXEDDEFENSIVE)
    Parameters : (MINTICKS=[NUM] MAXTICKS=[NUM] CHANCE=[NUM])
    Example    : Fighter
    Example    : Paladin
    Description:
    An extension of CombatAbilities, this behavior makes the mob a Fighter by
    class, and gives the mob fighter skills appropriate to its level.  After this
    behavior has triggered, it will often require a RESET for any level changes to
    the mob to take over.
    Use the proficient flag to make all skills at 100% instead of level-based. Use
    the offensive/.../mixeddefensive flags to influence skill choices. This
    behavior should not be used WITH any of the other CombatAbilities behaviors,
    such as Fighterness, Thiefness, Mageness, Clericness, Druidness, or
    CombatAbilities. It should be used alone on a mob.
    Also, be aware that this behavior will modify the mobs stats to better reflect
    the class, so any additions or removals of this behavior should be accompanied
    by a room reset after saving, and manually checking to make sure the combat
    stats are as desired.
FightFlee
    Behavior   : FightFlee
    Targets    : MOBs
    Parameters : min, max ticks, and a percent chance
    Example    : min=10 max=20 chance=75
    Description:
    According to the timing and percent chance described by the parameters, the mob
    or item with this behavior will flee during combat.
Follower
    Behavior   : Follower
    Targets    : MOBs, Items
    Parameters : min, max, pct (inv) (group) (nofollowers) (wander)
    Parameters : (follow mask) (name=[name])
    Example    :
    Example    : min=1 max=1 chance=50 -race +elf
    Example    : group nofollowers -race +elf +gnome
    Example    : min=4 max=20 chance=100 inv -race +elf +gnome
    Description:
    The mob with this behavior will follow any other mob that leaves the room.
    Following normally happens on the tick, but if minticks and maxticks are -1, it
    will be instant. A chance percentage (1-100) parameter may be given to better
    randomize the opportunity.  A GROUP flag may also be included to make the mob
    join the targets group instead of merely following them out of the room.  The
    rate of non-grouping following is dictated by the min and max ticks.  The
    NOFOLLOWERS flag will make sure that this behavior does not trigger when the
    mob has someone following him/her. The WANDER flag may be added to allow the
    mob to leave their home area.

    An item with this behavior will also follow mobs around, depending upon whether
    the INVENTORY flag is in the parameters or not.  If it is, then the item will
    reappear in the inventory of the first person to pick it up whenever it is
    dispensed with.  If the INVENTORY flag is not used, it will always appear in
    the same room as the first it comes across.  The rate of reappearance is
    dictated by the min and max ticks. Items with this behavior can not be sold to
    shopkeepers.

    A NAME may be given to limit the person followed to only that name. A mask may
    also be given to define what sort of targets are elligible to be followed by
    the mob or item.
    See AHELP ZAPPERMASK, where allowed is followed, and disallowed is ignored.
GateGuard
    Behavior   : GateGuard
    Targets    : MOBs
    Parameters : a list of masking parameters described below
    Example    : -class +mage -race +elf -evil
    Description:
    When this mob is standing next to a doorway and a player enters, the mob will
    open the door for the player, and close it after them.  The guard will also
    lock the door at night, if the door has a lock.  The guard will behave
    according to whether any players in the room meet the parameters.  If no
    parameter is given, the guard will always follow the behavior. Valid parameters
    include:
    keeplocked (if the door has a lock, the mob will make sure it remains so
    allnight (does not operate differently at night than the day)
    See AHELP ZAPPERMASK for masking people away from the gate.
GetsAllEquipped
    Behavior   : GetsAllEquipped
    Targets    : MOBs
    Parameters :
    Example    :
    Description:
    This is a deprecated behavior, but listed here in case someone can think of a
    new use for it.  This behavior causes the mob, on reset, to grab everything in
    its default room, and attempt to wear it.  He also does this whenever someone
    in the room dies, so its also good for making the mob autoloot.
GoldLooter
    Behavior   : GoldLooter
    Targets    : MOBs
    Parameters :
    Example    :
    Description:
    This behavior makes a mob loot the gold from corpses killed by it.  It does
    this by turning on the mobs AUTOGOLD flag.
GoodExecutioner
    Behavior   : GoodExecutioner
    Targets    : MOBs
    Parameters : (PLAYERS)
    Example    :
    Description:
    The mob with this behavior will attack any evil or thief non-player mob it
    detects.    With the Players parameter, it will even attack players as well.
GoodGuardian
    Behavior   : GoodGuardian
    Targets    : MOBs
    Parameters :
    Example    :
    Description:
    This is a very active behavior.  If the mob detects any evil mob attacking a
    good mob in the same room, or an adjacent room, it will attack the evil mob.
    If evil mobs are fighting, it will do nothing.  If two good or neutral mobs are
    fighting, it will stop the fight.
Guard
    Behavior   : Guard
    Targets    : MOBs
    Parameters : ([MOB Name])
    Example    :
    Example    : Bob
    Description:
    If ANY mob, player or non-player, is attacked in the same room as the mob with
    this behavior, this mob will come to the victim's defence.  However, if this
    behavior has a parameter, then they will only come to the aid of players/mobs
    with that name.
Healer
    Behavior   : Healer
    Targets    : MOBs
    Parameters : min, max ticks, and a percent chance
    Example    : min=10 max=20 chance=75
    Description:
    The mob with this behavior gains Cure Disease, Cure Light Wounds, Cure Serious
    Wounds, Bless, and Sanctuary.  At random, the mob will cast these spells on any
    player-mobs in the room.
Hireling
    Behavior   : Hireling
    Targets    : MOBs
    Parameters : price to hire;minutes of service
    Example    : 10000;30
    Description:
    Allows a mob to hire him or herself out for a given amount of time. The first
    parameter is the price to hire the mob, followed by a semicolon and the number
    of minutes that amount of money purchases.  Additional money may be given by
    the player to extend the time.  When the time expires, the mob returns to his
    or her start room.
InstantDeath
    Behavior   : InstantDeath
    Targets    : MOBs, Items, Rooms, Areas
    Parameters : mask, min, max ticks, and a percent chance
    Example    : min=10 max=20 chance=75 mask="-RACE +ORC"
    Description:
    According to the timing and percent chance described by the parameters, the
    item owner with this behavior will be killed.  MOBs and Rooms with this
    behavior will kill all their inhabitants.  MOBs do not kill until attacked,
    food when eaten, drinks when sipped items when they are picked up, weapons when
    they are first wielded, or armor when it is first worn.  Rooms merely need to
    be entered.
    See AHELP ZAPPERMASK, where allowed is killed, and disallowed is spared.
ItemGenerator
    Behavior   : ItemGenerator
    Targets    : Areas, Rooms, Containers, Mobs
    Parameters : [min/max ticks] [% chance] [min/max items/dups]
    [enchanted=%][mobs] [locale mask]; [mask]
    Example    : min=10 max=20 chance=75 minitems=1 maxitems=10 maxdups=0;-LEVELS
    +>10
    Example    : minitems=10 maxitems=20 MOBS -ALL +CITY;-MATERIAL +IRON +BRONZE
    Example    : minitems=10 maxitems=20 enchanted=20;-NAME "+Short Sword"
    Description:
    This behavior will generate a list of items from the standard common skills. It
    will also add random enchantments and curses to items a percentage of the time
    dictated by the enchanted parameter (default=10).  Items are selected from the
    list on a pseudo-random basis, with the chance weighted in favor of the least
    valuable items in favor of the most valuable.  This is to decrease the chances
    of a plethora of Spidersteel swords.

    The parameters before the semicolon describe the rate and amount of items
    generated.  The room or area will attempt to generate an item every (min) to
    (max) ticks, assuming the percent chance (chance) is made.  It will then
    generate at least the minimum (minitems) number of items from the list, but
    never more than the maximum (maxitems) number of monsters.  Duplicates are
    allowed unless (maxdups) is set to some value.  Items taken away will be
    replaced by this behavior, even if they are looted.  This behavior will
    generate items when on a room, in the inventory when on a mob, or in the shop
    when on a shopkeeper.  If on an area, a random room in the area will be picked
    for the item. The TYPE of room in that area which will be selected for
    population may also be specified. -ALL to disallow all locales, followed by
    +AIR +CITY +JUNGLE (etc) to reallow certain locales.  -CITY -UNDERWATER and
    others may be used to restrict certain locales.  If no locale types are
    specified, then all rooms in an area will be populatable.  Valid locates
    include: "STONE",	"WOODEN", "CAVE", "MAGIC", "UNDERWATER", "AIR",
    "WATERSURFACE",	"METAL", "CITY", "WOODS", "ROCKY", "PLAINS", "UNDERWATER",
    "AIR", "WATERSURFACE", "JUNGLE", "SWAMP", "DESERT", "HILLS", "MOUNTAINS". If
    the behavior is on a mob, or the MOBS flag is given in the parameters, then the
    item will be placed on a mob IF POSSIBLE (if the behavior is on an area, and a
    room with no mobs is randomly selected, it may not happen).  Items placed on
    mobs will be automatically worn if possible.

    The parameters after the semicolon are a mask to help select what kind of items
    are generated for the several rooms or whatever.  For the mask flags, see AHELP
    ZAPPERMASK, where allowed is generated, and disallowed is not.
ItemIdentifier
    Behavior   : ItemIdentifier
    Targets    : MOBs
    Parameters : (COST="[FORMULA]")
    Example    : COST="100+@x1"
    Description:
    For a price, this mob will identify items.  They will NOT work for Archons,
    however.
    The optional COST parameter can be used to change the pricing formula.
    Variables are: @x1=level, @x2=value, @x3=condition(0-100),
    @x4=magical=1.0/non-magical=0.0.
ItemMender
    Behavior   : ItemMender
    Targets    : MOBs
    Parameters : (COST="[FORMULA]")
    Example    : COST="100+@x1"
    Description:
    For a price, this mob will repair damaged weapons and armor.  The mender will
    NOT work for Archons, however.
    The optional COST parameter can be used to change the pricing formula.
    Variables are: @x1=level, @x2=value, @x3=condition(0-100),
    @x4=magical=1.0/non-magical=0.0.
ItemRefitter
    Behavior   : ItemRefitter
    Targets    : MOBs
    Parameters : (COST="[FORMULA]")
    Example    : COST="100+@x1"
    Description:
    For a price, this mob will resize armor to fit the mob.  The mender will NOT
    work for Archons, however.
    The optional COST parameter can be used to change the pricing formula.
    Variables are: @x1=level, @x2=value, @x3=condition(0-100),
    @x4=magical=1.0/non-magical=0.0.
LinkedWeather
    Behavior   : LinkedWeather
    Targets    : Areas
    Parameters : [Area Name](;ROLLING)
    Example    : My Area
    Example    : My Area;ROLLING
    Description:
    This behavior forces the area to always mimic the weather of another area on
    your map.  That area is determined by the parameters.  The normal behavior is
    for the weather of the given area to always be the same as the linked area. If
    the area name in the parameters is followed by a semicolon and the word
    ROLLING, then the area instead will always take on the weather of the linked
    area on its next weather change, meaning that the linked area's weather will
    seem to "roll" into this area on every weather change.
Mageness
    Behavior   : Mageness
    Targets    : MOBs
    Parameters : (SUBCLASS NAME) (PROFICIENT) (NOSTATS) (NOCOMBATSTAT)
    Parameters : (OFFENSIVE,DEFENSIVE,MIXEDOFFENSIVE,MIXEDDEFENSIVE)
    Parameters : (MINTICKS=[NUM] MAXTICKS=[NUM] CHANCE=[NUM])
    Example    :
    Example    : Mage
    Example    : Illusionist MIXEDDEFENSIVE
    Description:
    An extension of CombatAbilities, this behavior makes the mob a Mage by class,
    and gives the mob mage spells appropriate to its level.  After this behavior
    has triggered, it will often require a RESET for any level changes to the mob
    to take over.
    Use the proficient flag to make all skills at 100% instead of level-based. Use
    the offensive/.../mixeddefensive flags to influence skill choices. This
    behavior should not be used WITH any of the other CombatAbilities behaviors,
    such as Fighterness, Thiefness, Mageness, Clericness, Druidness, or
    CombatAbilities. It should be used alone on a mob.
    Also, be aware that this behavior will modify the mobs stats to better reflect
    the class, so any additions or removals of this behavior should be accompanied
    by a room reset after saving, and manually checking to make sure the combat
    stats are as desired.
Mime
    Behavior   : Mime
    Targets    : MOBs, Items, Exits, Rooms
    Parameters : min, max ticks, and a percent chance
    Example    : min=10 max=20 chance=75
    Description:
    This amazingly annoying Behavior makes the thing mimic any emotes or socials
    done by a player in the same room, back to that player.
MOBEater
    Behavior   : MOBEater
    Targets    : MOBs
    Parameters : min, max ticks, and a percent chance to occur, and pct of hp acid
    dmg does
    Example    : min=4 max=8 chance=5 acidpct=50
    Description:
    This behavior allows a mob to eat other mobs or players, and digest them!
    Great for dragons! You can set how often this occurs, and what % of the players
    max hp is taken from when when being digested in the stomach.  Another player
    must kill the mob with this behavior to free those being digested.  This
    behavior will not work at ALL unless the mob with this behavior is twice the
    weight of the target.
MOBHelper
    Behavior   : MOBHelper
    Targets    : MOBs
    Parameters : ([MAX COMBATANTS]) (MSG="[ATTACK MESSAGE]")
    Example    : 5 MSG="OMG ATTACK!"
    Description:
    The mob with this behavior will come to the defence of any non-player mob which
    is attacked in its presence.
MOBHunter
    Behavior   : MOBHunter
    Targets    : MOBs
    Parameters : min, max ticks, room radius, a percent chance, mask of mobs to
    hunt
    Example    : min=600 max=1200 chance=99 radius=50 -RACE +Human
    Example    : min=50 max=1200 chance=75 -NAME "+Evil Wizards"
    Description:
    This behavior will cause the mob to seek out a victim within the RADIUS number
    of rooms from where he is.  The mob will then hunt down and assassinate the
    victim.  The mob will begin the hunt according to the frequency defined by the
    parameters.  The MIN and MAX parms decide the minimum number of ticks to wait
    between hunts, and the CHANCE parm determines the chance the hunt will begin at
    that time.  The RADIUS is the number of rooms away from the mobs current room
    in which a victim will be sought.  The rest of the parameters are a mask to
    determine who would make a good victim.
    See AHELP ZAPPERMASK, where allowed is hunted, and disallowed is ignored.
Mobile
    Behavior   : Mobile
    Targets    : MOBs
    Parameters : min, max ticks, a percent chance, flags, locale parms
    Example    : min=10 max=20 chance=75 wander -air -underwater
    Example    : min=10 max=20 chance=75 opendoors
    Example    : min=10 max=20 chance=75 leash=3 opendoors
    Description:
    According to the timing and percent chance described by the parameters, the mob
    with this behavior will travel in a random available direction. Mobs will not
    leave rooms containing visible Archons and builders with the CMDMOBS security
    flag. The wander flag is required if the mob is allowed to leave his or her
    area. The opendoors flag will allow the mob to open closed doors when walking
    around, or to unlock locked doors if the mob has the key. The leash parameter
    will prevent the mob from getting too far from home. The TYPE of room from
    which the mob is restricted may also be entered. -ALL to disallow all locales,
    followed by +AIR +CITY +JUNGLE (etc) to reallow certain locales.  -CITY
    -UNDERWATER and others may be used to restrict certain locales.  The full
    locale list is: STONE, WOODEN, CAVE, MAGIC, UNDERWATER, AIR, WATERSURFACE,
    METAL , CITY, WOODS, ROCKY, PLAINS, JUNGLE, SWAMP, DESERT, HILLS, MOUNTAINS,
    SPACEPORT, SEAPORT
MobileAggressive
    Behavior   : MobileAggressive
    Targets    : MOBs
    Parameters : min, max ticks, a percent chance, flags, message=[msg], and masks
    Example    : min=10 max=20 chance=75 -underwater -thief +elf
    Example    : min=10 max=20 chance=75 wander -air -elf
    Example    : min=10 max=20 chance=75 message="aha!" -air -elf
    Example    : min=10 max=20 chance=75 mobkill misbehave
    Description:
    According to the timing and percent chance described by the parameters, the mob
    with this behavior will travel in a random available direction. The mob will
    attack any player mob it comes across. They will be especially aggressive
    towards players within 16 levels of themselves in adjacent rooms. If no other
    parameters are given, the mob will attack anyone, anywhere. The wander flag is
    required if the mob is allowed to leave his or her area. The TYPE of room from
    which the mob is restricted may also be entered. -ALL to disallow all locales,
    followed by +AIR +CITY +JUNGLE (etc) to reallow certain locales.  -CITY
    -UNDERWATER and others may be used to restrict certain locales. The full locale
    list is: STONE, WOODEN, CAVE, MAGIC, UNDERWATER, AIR, WATERSURFACE, METAL ,
    CITY, WOODS, ROCKY, PLAINS, JUNGLE, SWAMP, DESERT, HILLS, MOUNTAINS, SPACEPORT,
    SEAPORT.

    Masks may also be used to specify who the mob is likely to attack.  Mobs will
    not be mobile or aggressive towards Archons and builders with the CMDMOBS
    security flag. If no other masks are given, the mob will attack anyone within 8
    levels.
    Valid aggressive masks include:
    message=[msg] something for the mob to say whenever he's fixing to attack
    delay=x (makes the mob delay x ticks before looking for a victim)
    mobkill (makes this behavior attack mobs as well as players)
    nogang (makes this behavior pass over players already in combat)
    misbehave (makes this mob attack even when wounded or a follower)
    checklevel (makes this mob attack only those within 5 levels below him)
    See AHELP ZAPPERMASK, where allowed is attacked, and disallowed is spared.
MobileGoodGuardian
    Behavior   : MobileGoodGuardian
    Targets    : MOBs
    Parameters : min, max ticks, a percent chance, flags, locale parms
    Example    : min=10 max=20 chance=75 wander -air -underwater
    Description:
    This is a very active behavior.  If the mob detects any evil mob attacking a
    good mob in the same room, or an adjacent room, it will attack the evil mob.
    If evil mobs are fighting, it will do nothing.  If two good or neutral mobs are
    fighting, it will stop the fight. This mob is also mobile, which means the mob
    will move around the area. The wander flag is required if the mob is allowed to
    leave his or her area. The TYPE of room from which the mob is restricted may
    also be entered. -ALL to disallow all locales, followed by +AIR +CITY +JUNGLE
    (etc) to reallow certain locales.  -CITY -UNDERWATER and others may be used to
    restrict certain locales. The full locale list is: STONE, WOODEN, CAVE, MAGIC,
    UNDERWATER, AIR, WATERSURFACE, METAL , CITY, WOODS, ROCKY, PLAINS, JUNGLE,
    SWAMP, DESERT, HILLS, MOUNTAINS, SPACEPORT, SEAPORT.  Mobs will not leave rooms
    containing visible Archons and builders with the CMDMOBS security flag.
MOBReSave
    Behavior   : MOBReSave
    Targets    : MOBs
    Parameters : min, max ticks, a percent chance
    Example    : min=140 max=140 chance=100
    Description:
    This behavior allows the mob with it to be updated in the CoffeeMud database
    according to the frequency defined by min, max ticks.  This behavior is tricky
    to set up the first time. When you know you are going to want an updating mob
    in a room, you should first go to the room and create a GenMob with this
    behavior (no parameters needed).  Wait a few seconds, and you will see the
    GenMob that you created has disappeared.  Now you are free to add this behavior
    to one or more other mobs at your leisure.  Don't forget to resave the room
    when you are done!
MOBTeacher
    Behavior   : MOBTeacher
    Targets    : MOBs
    Parameters : Char class name(s), ability name(s), expertise name(s),
    Parameters : percentages, nocommon flag, noedus flag, or empty to teach all.
    Example    : mage evoker illusionist transmuter
    Example    : 100% mage 10% Thief_Steal NOCOMMON
    Example    : Spell_Sleep 5% Spell_Wish
    Example    : Spell_BurningHands
    Description:
    This behavior makes the mob suitable to teach skills, spells, prayers, songs,
    or expertises as specified in the parameters.  If the parameter is empty, the
    mob will be able to teach all abilities.  If the parameter contains the name of
    a character class, the mob will only teach abilities of that class. *Any* class
    may always practice with a MOBTeacher, but the mob may only teach those
    abilities for the character class the parameters describe.  The classes listed
    by mob teacher are NOT base classes.  To have a teacher able to teach skills
    from an entire base class, all sub-classes must be listed.
    Percentages may be included inside the parameters as well.  The percentage will
    always apply only to the character classes or spells listed after the
    percentage, not before.  Encountering another percentage entry will override
    the previous.  A percentage will dictate the chance that a given spell will be
    known by the teacher, or the chance that a particular spell in a given
    character class will be known.
    Two flags can also modify your list.  The NOCOMMON flag prevents the teacher
    from teaching common skills, even if they would normally be on his list.  The
    NOEXPS flag prevents the teacher from teaching expertises, even if he would
    normally qualify for them.
    If this behavior has NO parameters whatsoever, the mob will teach all basic
    skills. Expertises will only be taught if the mob otherwise qualifies for them
    himself, and Character Class changes will only be taught if the mob is that
    class.
MoneyChanger
    Behavior   : MoneyChanger
    Targets    : MOBs
    Parameters : (CUT=[NUM]) (DEFAULT=[NUM]) ([CURRENCY]=[NUM])
    Parameters : (CUT=[NUM]) (SPACEMAXCUT=[NUM]) (SPACEMAXDISTANCE=[PCT])
    Example    :
    Example    : cut=5
    Example    : default=0 GOLD=5 INGITS=10
    Example    : cut=5 spacemaxcut=90 spacemaxdistance=35
    Description:
    Whenever a player gives the money changer coins, the money changer will give
    back to the player a bag containing an equivalent amount of money in the money
    changers native currency.  The "cut" that the money changer takes, in general,
    can be defined with the CUT parameter, by making CUT equal to a percentage.  If
    you wish, you can also define exchange rates for the several currencies in your
    system by setting each currency name equal to a percentage.

    When dealing with intersteller currencies, there are two other parameters,
    which can be used to automatically calculate a scaled "cut" of the exchange
    based on how far away the exchanged currencies planet is from the money
    changers.  To do this, you can add spacemaxcut to denote the percentage to take
    when the currency is from an unknown or maximum distance, and spacemaxdistance
    to denote a percentage of the entire galactic radius to use as a maximum.
MovingRoom
    Behavior   : Mover
    Targets    : Rooms
    Parameters : min=3 max=3 chance=100;[xmlsection];[ticks at stops];[ticks
    between stops]
    Example    : min=3 max=3 chance=100;SUBWAY;3;10
    Description:
    The above example would set the room's parameters to the ones listed in the
    SUBWAY section of the file resources/moving.xml.  There is a subway example
    already there.
    NOTE!      : The follow conditions -must- be met before setting the room to
    this behaviour.
    1.
    The rooms that you want this room to open out to -must- already be defined
    before you make the XML section.
    2.
    The XML document -must- be writen before you set this behaviour.
    3.
    You -cannot- have the moving room override an exit, ie. if room A links south
    to Room B
    you cannot have the mover link north to room A.
    *******************
    XML DOCUMENT NOTES:
    *******************
    You can use the following strings in the XML document to be translated on the
    fly
    $disproom  : if mover is at a stop this is the room it is opened to otherwise
    . Example  : this is the next room that this room will open too.
    $inopendir : this is the direction the door on the inside (the mover) opens.
    $outopendir: this is the direction the door on the outside (where the mover
    stoped) opens.
    $traveldir : this is the current direction that the room is moving in.

    <STOPS> here you would list the ROOMID of each room the mover will stop at
    example.
    <STOP1>[first stop]</STOP1>n

    <NORMALDIRECTION> and <REVERSEDIRECTION>
    -in these tags you define the parameters for the mover while is is going back
    and forth.
    -normal is stop1 to stopwhatever and reverse is stopwhatever to stop1.
    -TRAVELDIRECTION = the direction it is traveling from point a to point b.
    -DOORSDIRECTION = the direction the doors open out of the mover.
    --<INSIDE> and <OUTSIDE>
    ---in these tags you define what is echoed to the client in the mover and
    outside.
    ---ARRIVALINFO = what is echoed when the room gets to the stop
    ---DEPARTINFO = what is echoed when the room leaves the stop
    <ROOMDESCRIPTIONS>
    -here you define what is appended to the end of the room descriptions.
    -<NORMALDIRECTION> and <REVERSEDIRECTION>
    --<INSIDE> and <OUTSIDE>
    ---DOOROPENED = if the door is opened append this.
    ---DOORCLOSED = if the door is closed append this.

    There are two examples in the XML document you can look at for further info.

    Ideas for this would be, subways, busses, wagon trains (caravans) spaceships,
    stargates, everchanging paths in mazes, elevators, ect.
MudChat
    Behavior   : MudChat
    Targets    : MOBs
    Parameters : optional or additional chat data file name and/or chat-mob-type
    Example    : smurf
    Example    : chat.dat=smurf
    Example    : mychat.dat=cityguard
    Example    : mychat.dat=
    Example    : +(here there);9neither;5well, where?;1nowhere
    Description:
    Allows the mobs to speak and respond to speech.  The chat.dat file, from which
    speech behavior is derived, contains many "templates" for different speech
    behaviors.  MudChat will attempt to choose the correct speech behavior for the
    mob based on the mobs name.  This may be overridden by specifying a speech
    behavior in the parameters.  Speech patterns in the chat.dat at present
    include:
    default
    dog fido beastly fido_dog
    cat kitten lion
    pig boar
    doll toy
    papa_smurf smurf
    monster
    smurfette
    healer cleric doctor

    If the first character in the parameters is a plus-sign, then a semi-colon
    delimited list of chat data is expected, in the same format as is found in
    chat.dat.
Nanny
    Behavior   : Nanny
    Targets    : MOBs
    Parameters : RATE=[PRICE] NAME="[PLACE NAME]" WATCHES="[CODES]" (|~| [XML])
    Example    : rate=2.5 name="The Stables" watches="mounts,wagons"
    Description:
    Makes the mob a protector and watcher of mobs and items of various sorts, for
    money. The rate parameter describes the base gold value he charges for each
    thing dropped off, per hour.  The name is a description of the type of place he
    runs.  The watches parameter contains one or more comma-delimeted words (no
    spaces!) describing the kinds of things he will charge people to watch and
    protect, and may include one or more of the following:
    babies - baby items born from mud breeding
    children - child mobs (after babies grow up)
    mounts - rideable mobs of all sorts
    cars - land-rideable items that aren't wagons
    aircars - air-rideable items
    wagons - rideable land items that are wagons
    followers - mobs that aren't children, mounts, etc.
    boats - rideable items of the sea

    This behavior will automatically save the items and mobs in the room he is
    watching over, and prevent items from decay.  Combat against himself or mobs
    under protection is forbidden, as is removing any mob or item that has not been
    paid for.  The first mud-hour is free, and protection will not begin until the
    owner leaves.

    NOTE - due to the way this behavior stores records, do not place this behavior
    on a mob that is cataloged in the CATALOG system.
NastyAbilities
    Behavior   : NastyAbilities
    Targets    : MOBs
    Parameters : min, max ticks, and a percent chance (optional fightok string)
    Example    : min=10 max=20 chance=75
    Example    : min=10 max=20 chance=75 fightok
    Description:
    According to the timing and percent chance described by the parameters, the mob
    with this behavior will use any of its malicious abilities, including spells,
    prayers, songs, or others, to the detriment of random player mobs in the same
    room.  These spells will not automatically cause combat unless the FIGHTOK
    string is included in the parameters.
NeutralAbilities
    Behavior   : NeutralAbilities
    Targets    : MOBs
    Parameters : min, max ticks, and a percent chance (optional fightok string)
    Example    : min=10 max=20 chance=75
    Example    : min=10 max=20 chance=75 fightok
    Description:
    According to the timing and percent chance described by the parameters, the mob
    with this behavior will use any of its indifferent abilities, including spells,
    prayers, songs, or others, to the amusement of random player mobs in the same
    room.  These spells will not automatically cause combat unless the FIGHTOK
    string is included in the parameters.
NiceAbilities
    Behavior   : NiceAbilities
    Targets    : MOBs
    Parameters : min, max ticks, and a percent chance
    Example    : min=10 max=20 chance=75
    Description:
    According to the timing and percent chance described by the parameters, the mob
    with this behavior will use any of its benevolent abilities, including spells,
    prayers, songs, or others, for the benefit of player mobs in the same room.
NoCombatAssist
    Behavior   : NoCombatAssist
    Targets    : MOBs
    Parameters :
    Example    :
    Description:
    This behavior makes sure that a mob does not assist in combat when following a
    player or another mob.
ObjectGuardian
    Behavior   : ObjectGuardian
    Targets    : MOBs
    Parameters : SENTINAL
    Example    : SENTINAL
    Description:
    This will cause a mob to explicitly prevent any other mob from taking or
    removing any object in the same room as the mob. You have to kill him! By
    adding SENTINAL to the parameters, the mob will be even more vigilant and
    steadfast, not letting combat or even severe damage deter him from his duty.
Patroller
    Behavior   : Patroller
    Targets    : MOBs, Items
    Parameters : min, max ticks, % chance, rideok flag, diameter; room ids or
    directions
    Example    : min=10 max=20 chance=75
    rideok=true;Midgaard#3001;#3002;#3003;RESTART
    Example    : min=10 max=20 chance=99
    rideok=only;Midgaard#3001;#3002;#3003;RESTART
    Example    : min=10 max=20 chance=15;east;.;north;north;east
    Example    : min=10 max=20 chance=15 diameter=100;Midgaard#1;New
    Thalos#10;.;.;restart
    Description:
    According to the timing and percent chance described by the parameters, the mob
    or item with this behavior will travel the path assigned in the parameters.
    Cardinal directions and room numbers are all valid entries, though the cardinal
    directions must always be valid from the objects current position to work.  The
    'RESTART' parameter may be placed in the path to force the object to start the
    path from the beginning.  If no 'RESTART' parameter is given, the object will
    by default retrace their steps back to the beginning of the path.  The '.'
    parameter (a period) in the path will direct the patroller to pause one step at
    that point.  If any doors are encountered along the patrol route, they will be
    unlocked and opened by a mob.  Items will ignore doors. If a route of room ids
    is given, the patroller will automatically "track" from their current position
    to the next room on their patrol list, even if it is not adjacent. The diameter
    parameter should be enlarged when it is possible for the patroller to become
    more that 20 rooms "off track".

    By default, rideable mobs and items will stop patrolling when they are ridden.
    Setting rideok to true will make it so that they continue their patrol even
    when ridden, though they can still be driven by passengers.  Setting rideok to
    only will keep the rideable on track, and prevent driving by passengers.

    See Prop_StayAboard for a helpful support property for patrollers with riders.
PlayerHelper
    Behavior   : PlayerHelper
    Targets    : MOBs
    Parameters : ([MAX COMBATANTS]) (MSG="[ATTACK MESSAGE]")
    Example    : 5 msg="OMG ATTACK!"
    Description:
    The mob with this behavior will come to the defence of any player mob against
    any non-player mob.  You may optionally specify a maximum number of combatants
    that can join in using this behavior.
PokerDealer
    Behavior   : PokerDealer
    Targets    : MOBs, Rooms
    Parameters : (GAME=[gameint]) (MINPLAYERS=[numplayers]) (ANTI=[antiamount])
    Example    : game=2 minplayer=4 anti=5.0
    Description:
    This behavior makes the mob or room a dealer of poker games.  The behavior will
    manage not only the players hands, but their betting, card draws, and other
    aspects.  The variety of poker defaults to straight poker, but may be set to
    one of the following: STRAIGHTPOKER=0, 5CARDSTUD=1, 7CARDSTUD, DRAWPOKER=3.
    As of this version, the dealer can not play, so numplayers must be 2 or more.
ProtectedCitizen
    Behavior   : ProtectedCitizen
    Targets    : MOBs
    Parameters : Max/Min ticks, pct chance, rooms radius, max#assists;guardian
    mask; yell strings, ';' separated.
    Example    : min=1 max=5 chance=25 radius=7 maxassists=1;-NAME +cityguard;HELP
    ME!!!;Save me!
    Example    : WANDER radius=20;-NAME +cityguard;HELP ME!!!;,screams for his
    life!
    Description:
    This behavior allows a mob to scream for help during combat, given the
    conditions described by the parameters.  MIN and MAX describe the range of
    ticks (3 second periods) between screams.  MAXASSISTS describes the maximum
    number of mobs who will assist the citizen.  CHANCE describes the PERCENT
    chance the mob has of screaming after the period.  Whenever the mob screams the
    system will check RADIUS rooms deep around the mob for ANOTHER mob that matches
    the mask check after the first semicolon.  In this example, mobs with the word
    "citiguard" in their name.  If such a mob is found, and that mob has one of the
    "Mobile" behaviors, it will be moved one room closer to the screaming mob.  An
    optional WANDER flag allows mobs from adjacent areas to be drawn in. When the
    guardian mob arrives to the same room as the screaming mob, it will join the
    screaming mob in defence. All of the semicolon-separated strings at the end of
    the parameter list will denote the random things which the screaming mob will
    yell out. Once a mob has come to the screamers defence, it will stop screaming.
    If a comma prefixes the scream message, it will be emoted instead.
    See AHELP ZAPPERMASK, where allowed is assisted, and disallowed is ignored.
ProtectedCitizens
    Behavior   : ProtectedCitizens
    Targets    : MOBs, ROOMs, and AREAs
    Parameters : Max/Min ticks, pct chance, rooms radius, max#assists;
    Parm (cont): protected citizen mask;guardian mask; yell strings, ';' separated.

    Example    : radius=5 maxassists=7;-NAME +citizen;-NAME +cityguard;HELP
    ME!!!;Save me!
    Example    : radius=10 maxassists=2;-NAME +citizen;HELP ME!!!;,screams for his
    life!
    Description:
    This behavior allows a mob described by the citizen mask (the first string
    after the first semicolon) to scream for help during combat, given the
    conditions described by the parameters.  MIN and MAX describe the range of
    ticks (3 second periods) between screams.  MAXASSISTS describes the maximum
    number of guardians who will assist the citizen.  CHANCE describes the PERCENT
    chance the mob has of screaming after the period.  Whenever the mob screams the
    system will check RADIUS rooms deep around the mob for a guardian mob that
    matches the mask check after the second semicolon.  In this example, mobs with
    the word "cityguard" in their name.  If such a mob is found, and that mob has
    one of the "Mobile" behaviors, it will be moved one room closer to the
    screaming mob.  When the guardian mob arrives to the same room as the screaming
    mob, it will join the screaming mob in defence. All of the semicolon-separated
    strings at the end of the parameter list will denote the random things which
    the screaming mob will yell out. Once a mob has come to the screamers defence,
    it will stop screaming. If a comma prefixes the scream message, it will be
    emoted instead.
    For the valid masks for the citizen and guardian mobs, see AHELP ZAPPERMASK
PuddleMaker
    Behavior   : PuddleMaker
    Targets    : Rooms, Areas
    Parameters : [PCT CHANCE]
    Example    : 34
    Description:
    The room or area with this behavior will, on the given pct chance, generate a
    puddle or some snow following an appropriate rain, sleet, thunderstorm, or
    similar weather event.  The generated snow or puddle will disappear (evaporate)
    after a time.  It can also generate dust after a dust storm.
QuestChat
    Behavior   : QuestChat
    Targets    : MOBs
    Parameters : optional or additional chat data, or filenames ,or chat-mob-type
    Example    : smurf
    Example    : +(here there);9neither;5well, where?;1nowhere
    Example    : chat.dat=smurf
    Example    : mychat.dat=cityguard
    Example    : mychat.dat=
    Example    : +(speak | talk | words::DONE_SPEAKING);9only said this to YOU
    once.
    Description:
    An extension of the MudChat behavior, with a special feature for Quests. Allows
    the mobs to speak and respond to speech.  The chat.dat file, from which speech
    behavior is derived, contains many "templates" for different speech behaviors.
    MudChat will attempt to choose the correct speech behavior for the mob based on
    the mobs name.  This may be overridden by specifying a speech behavior in the
    parameters.  This behavior extends the basic functionality of MudChat in the
    following ways:

    1. If the first character in the parameters is a plus-sign, then a semi-colon
    delimited list of chat data is expected, in the same format as is found in
    chat.dat.

    2. If format#1 is used, the trigger pattern may be followed by a double-colon,
    and then immediately by a variable string.   This string will designate that
    the given pattern is only responded to for a given player ONCE.  The string
    will also be added to a list of strings under the players name in any Quest
    object. This list will then be available through a Scriptable QVAR function.
RaceHelper
    Behavior   : RaceHelper
    Targets    : MOBs
    Parameters : ([MAX COMBATANTS]) (MSG="[ATTACK MESSAGE]")
    Example    : 5 msg="OMG ATTACK!"
    Description:
    Joins a fight on the side of an identical mob, or one of the same race. You may
    optionally specify a maximum number of combatants that can join in using this
    behavior.
RandomItems
    Behavior   : RandomItems
    Targets    : Areas, Rooms, Containers, Mobs
    Parameters : [min/max ticks] [% chance] [min/max items] [mobs] [locale mask];
    [xml/filename]
    Example    : min=10 max=20 chance=75 minitems=1 maxitems=10;myitems.cmare
    Example    : minitems=10 maxitems=20 MOBS -ALL +CITY;stuff.cmare
    Example    : minitems=10 maxitems=20 ;<ITEMS><ITEM>..etc..
    Description:
    This behavior will read a list of items from a CMARE file of items generated
    using the "EXPORT AREA ITEMS" or "EXPORT ROOM ITEMS" command.  The path to this
    file should be the last parameter, following a semicolon.  The path is
    considered relative to the CoffeeMud resources directory.  The xml from such a
    file may also be pasted in as the last parameter instead.

    The parameters before the semicolon describe the rate and amount of items
    generated.  The room or area will attempt to generate an item every (min) to
    (max) ticks, assuming the percent chance (chance) is made.  It will then
    generate at least the minimum (minitems) number of items from the list, but
    never more than the maximum (maxitems) number of monsters.  Duplicates are
    allowed.  Items taken away will be replaced by this behavior, even if they are
    looted.  If the behavior is on a room, all items will be generated in that
    room.  If on an area, a random room in the area will be picked for the item.
    The TYPE of room in that area which will be selected for population may also be
    specified. -ALL to disallow all locales, followed by +AIR +CITY +JUNGLE (etc)
    to reallow certain locales.  -CITY -UNDERWATER and others may be used to
    restrict certain locales.  If no locale types are specified, then all rooms in
    an area will be populatable.  Valid locates include: "STONE",	"WOODEN", "CAVE",
    "MAGIC", "UNDERWATER", "AIR", "WATERSURFACE",	"METAL", "CITY", "WOODS",
    "ROCKY", "PLAINS", "UNDERWATER", "AIR", "WATERSURFACE", "JUNGLE", "SWAMP",
    "DESERT", "HILLS", "MOUNTAINS". If the behavior is on a mob, or the MOBS flag
    is given in the parameters, then the item will be placed on a mob IF POSSIBLE
    (if the behavior is on an area, and a room with no mobs is randomly selected,
    it may not happen).  Items placed on mobs will be automatically worn if
    possible.   If the behavior is on a shopkeeper, it will put the items up for
    sale.
RandomMonsters
    Behavior   : RandomMonsters
    Targets    : Areas, Rooms
    Parameters : [min/max ticks] [% chance] [min/max monsters] [locale mask];
    [xml/filename]
    Example    : min=10 max=20 chance=75 minmonsters=1
    maxmonsters=10;monsters.cmare
    Example    : minmonsters=10 maxmonsters=20 -ALL +CITY;criminals.cmare
    Example    : minmonsters=10 maxmonsters=20 ;<MOBS><MOB>..etc..
    Description:
    This behavior will read a list of monsters from a CMARE file of mobs generated
    using the "EXPORT AREA MOBS" or "EXPORT ROOM MOBS" command.  The path to this
    file should be the last parameter, following a semicolon.  The path is
    considered relative to the CoffeeMud resources directory.  The xml from such a
    file may also be pasted in as the last parameter instead.

    The parameters before the semicolon describe the rate and amount of monsters
    generated.  The room or area will attempt to generate a monster every (min) to
    (max) ticks, assuming the percent chance (chance) is made.  It will then
    generate at least the minimum (minmonsters) number of monsters from the list,
    but never more than the maximum (maxmonsters) number of monsters.  Duplicates
    are allowed.  Monsters who die will be replaced by this behavior, even if they
    wander out of the room or area.  If the behavior is on a room, all monsters
    will be generated in that room.  If on an area, a random room in the area will
    be picked for the monster. The TYPE of room in that area which will be selected
    for population may also be specified. -ALL to disallow all locales, followed by
    +AIR +CITY +JUNGLE (etc) to reallow certain locales.  -CITY -UNDERWATER and
    others may be used to restrict certain locales.  If no locale types are
    specified, then all rooms in an area will be populatable.  By default,
    non-flying mobs will never be generated in air rooms, nor will non-swimming
    mobs be generated underwater. Valid locates include: "STONE",	"WOODEN", "CAVE",
    "MAGIC", "UNDERWATER", "AIR", "WATERSURFACE",	"METAL", "CITY", "WOODS",
    "ROCKY", "PLAINS", "UNDERWATER", "AIR", "WATERSURFACE", "JUNGLE", "SWAMP",
    "DESERT", "HILLS", "MOUNTAINS".
RandomQuests
    Behavior   : RandomQuests
    Targets    : Areas, Mobs
    Parameters : (MIN=[TICKS]) (MAX=[TICKS]) (CHANCE=[0-100]) ([var=value] ...)
    Example    : minquests=3 maxquests=5 template=normal_capture1
    Description:
    This behavior will generate a random quest inside a host area, or generate a
    random quest on behalf of the host mob.  The arguments are all optional, and
    are numerous:
    MIN, MAX, and CHANCE determine how frequently an attempt will be made to
    generate a quest.  Be generous with this, as quest generation is a
    cpu-intensive process.  Default is 10-20 ticks.
    MINQUESTS, MAXQUESTS determine how many quests will be generated at one time.
    If any existing quests ellapse, then new ones will be generated.  Default is
    1-3 quests.  If multiple quests are offered by the sasme mob, then, by default,
    the player must complete each one in order.
    PATH is used to specify the xml document to read the random quest data from.
    Default is randareas/example.xml.
    TAGID is the tag of the QUEST object inside the PATH document to generate.
    Default is "all_quests".
    EXPIRE is the amount of time a quest will run for before expiring forever.
    Expiration occurs even if a quest is accepted moments before.  The default is
    "3 hours".
    MAXATTEMPTS is the number of attempts that will be made to generate a
    particular quest.  This is necessary because not all areas, people, or
    circumstances will support evey quest type.  The default is 3.

    The following are not aspects of this behavior, but are variables passed on to
    the percolator who generates the quests, and are only meaningful because of
    their definitions in /resources/quests/random/*.xml.
    TEMPLATE is the name of the quest template to use.  Default is random.
    AVOIDSCANS can be set to YES to avoid quest templates that scan an entire area.

    AREA_NAME can override the name of the areas where the announcer is found.
    SOURCE_NAME can override the name of the quest announcer.
    TARGETAREA_NAME can override the name of the area where the quest occurs.
    MULTIAREA can be set to YES to allow the quest to occur other than the source
    area.
    TARGETNAME is quest-type specific, but can mean the name of a quest target mob
    or item.
    NUM_TARGETS is quest-type specific, but can mean the number of items/mobs to
    target.
    AGGRESSION is quest-type specific, but can be set to YES or NO.
    XP_AMOUNT_AWARDED is the amount of xp to award for completing a quest.
    GOLD_AMOUNT_AWARDED is the amount of money to award for completing a quest.
    QUEST_POINT_AWARDED can be set to YES or NO.
    QUEST_MULTIPLE can be set to YES, NO, or PREV
    ANNOUNCECHANNEL can be anything from SAY, LOCAL, QUESTCHAT, etc.
RandomTeleporter
    Behavior   : RandomTeleporter
    Targets    : Mobs
    Parameters : min, max ticks, a percent chance, (nowander) locale parms
    Example    : min=10 max=20 chance=75 -air -underwater
    Example    : min=10 max=20 chance=75 nowander
    Description:
    This behavior makes a mob which will transport himself to a random room on the
    map.  Locale parms may be given to restrict the types of rooms he will
    transport too.  A randomtransport will, by default, transport all over the
    world.  Use the nowander flag to keep him in his area.
RandomTraps
    Behavior   : Random Traps
    Targets    : Rooms, Areas
    Parameters : Max and min ticks, pct chance, min and max traps, locale and other
    flags.
    Example    : min=10 max=20 chance=25 mintraps=1 maxtraps=10 EXITS="YES"
    ITEMS="YES" ROOMS="YES"
    Example    : min=10 max=20 chance=25 ROOMS="YES" ITEMS="NO" -ALL +CityStreet
    Description:
    This behavior will generate traps in a room or area.
    Frequency Parameters:
    The frequency and chance that the traps will be generated is determined by the
    min, max, and chance parameters.

    Number of traps parameters:
    The number of traps generated is determined by mintraps and maxtraps.

    Types of items trapped parameters:
    You may also dictate the types of things which can be trapped. By default, only
    closed, locked doors will get trapped.  To allow other things to be trapped,
    other parameters must be included.
    The ROOMS parameter may be made equal to YES to allow trapping of rooms, or NO
    to not allow this.
    The EXITS parameter may be made equal to DOORS to allow trapping of all doors,
    LOCKED to allow only trapping of locked doors, or NO to not allow exits to be
    trapped at all.
    The ITEMS parameter may be equal to YES to allow trapping of any items, CONT to
    allow trapping only of containers, LID to trap only the containers with lids,
    LOCK to trap only containers with locks, or NO to never trap items.

    The locale parameters:
    The TYPE of room in that area which will be checked for trappable things may
    also be specified. Use -ALL to disallow all locales, followed by +AIR +CITY
    +JUNGLE (etc) to reallow certain locales.  -CITY -UNDERWATER and others may be
    used to restrict certain locales.  If no locale types are specified, then all
    rooms in an area will be elligible.
ResetWhole
    Behavior   : ResetWhole
    Targets    : Rooms, Areas
    Parameters : # of ticks of inactivity before reset
    Parameters : (TICKS=[INACTIVITY TICKS])/(RLHOUR=[HOUR])/(MUDHOUR=[HOUR])
    Example    : 4000
    Description:
    This behavior provides an alternative means of resetting your rooms and areas.
    The system will total reset a room (mobs and items) which has not been visited
    by a player in the given amount of ticks.  Remember that a tick is about 4
    seconds. You can alternatively specify a real life hour (0-23) or mud hour of
    the day with the RLHOUR or MUDHOUR parameters. An Area with this behavior will
    skip over any rooms which also have this behavior, allowing you to have
    different total reset times for certain rooms.  Of course, this behavior does
    not override the existing REJUV system for mobs and items, so if you would like
    to use the ResetWhole system exclusively, you should set the rejuv rate on all
    the mobs and items in your game to 0, which disables their internal
    rejuvenation.
ResourceOverride
    Behavior   : ResourceOverride
    Targets    : Rooms, Areas
    Parameters : min, max ticks, a percent chance, resources and (for areas) room
    types
    Example    : MIN=5 MAX=5 CHANCE=100 CORN WHEAT RICE
    Example    : CORN WHEAT RICE ROCKY MOUNTAINS PLAINS
    Description:
    This class allows one to override the normal resources generated by rooms for
    many common skills.  This skill will randomly select from the list enumerated
    in the parameters instead of the normal list. If this behavior is added to an
    area, you can add to the parameters a list of room types to apply the new
    resources to.  Room types include: STONE, WOODEN, CAVE, MAGIC, UNDERWATER, AIR,
    WATERSURFACE,	METAL, CITY, WOODS, ROCKY, PLAINS, UNDERWATER", AIR,
    WATERSURFACE, JUNGLE, SWAMP, DESERT, HILLS, MOUNTAINS

    When changing the parameters of an existing ResourceOverride on an area, be
    sure to use RESET AREA to change back any rooms previously affected.
ROMGangMember
    Behavior   : ROMGangMember
    Targets    : MOBs
    Parameters : [GANG NAME](;[ATTACK MESSAGE]...
    Example    : Troll
    Example    : Troll;I`m gonna kill you!;I`ve got you now!;DIE!
    Description:
    A silly behavior to better support ROM area files.  The mob with this behavior
    will attack any other mob which also has this behavior, but is in a different
    gang.  This behavior is not active when a mob with the ROMPatrolman is in the
    room.  The first argument is always the gang that this member belongs to,
    whereas any additional arguments are things the mobs say before attacking.
ROMPatrolman
    Behavior   : ROMPatrolman
    Targets    : MOBs
    Parameters :
    Example    :
    Description:
    A silly behavior to better support ROM area files.  The mob with this behavior
    will complain whenever there is a fight going on in the same room.  The mob may
    do nothing, join the fight, or break it up.
Sailor
    Behavior   : Sailor
    Targets    : Mobs
    Parameters : (TICKDELAY=[NUMBER]) (PEACEMOVER=[TRUE/FALSE])
    Parameters : (AREAONLY=[TRUE/FALSE]) (WIMPY=[TRUE/FALSE])
    Parameters : (FIGHTMOVER=[TRUE/FALSE]) (FIGHTTECH=[TRUE/FALSE])
    Parameters : (AGGRO=[TRUE/FALSE]) (AGGROMOBS=[TRUE/FALSE])
    Parameters : (AGGROLEVELCHECK=[TRUE/FALSE]) (AGGROMASK=[MASK])
    Parameters : (DEFENDER=[TRUE/FALSE]) (BOARDER=[TRUE/FALSE])
    Example    : tickdelay=10 peacemover=true areaonly=false
    Description:
    This behavior will turn a mob into a helpful member of the crew of a large
    boardable sailing ship.  With no arguments, this behavior will make the mob
    stand idle until their ship is in combat, at which point they will load and aim
    weapons they encounter. By default, they act more frequently based on their
    level from 1-30.

    If a mob has the Shipwright behavior, they will automatically mend the ship
    when not in combat, or when the ship is badly hurt during combat.  If a mob has
    Grapples and is Mobile, they will throw grapples and board enemy ships when
    appropriate.

    Parameters:
    TICKDELAY - the number of ticks between actions, whether in combat or no
    PEACEMOVER - will sail the ship around at random when not in combat
    AREAONLY - whether the ship stays in-area when sailing around
    FIGHTMOVER - will sail the ship around at (somewhat) random during combat
    WIMPY - if FIGHTMOVER is true, will make the ship run away when losing
    FIGHTTECH - will load and aim weapons during combat
    AGGRO - will target other ships they encounter and start fights
    AGGROMOBS - if AGGRO is true, this will also start fights with mob-only ships
    AGGROLEVELCHECK - if AGGRO, this will only fight with near-level enemy ships
    AGGROMASK - if AGGRO, a zappermask to filter enemies.  See help ZAPPERMASK.
    DEFENDER - if DEFENDER is true, the mob will seek the deck to defend against
    boarders
    BOARDER - if BOARDER is true, this mob will seek the enemy ship to attack enemy
    crew
    -
    Defaults are:
    TICKDELAY:  30 - tickBonus - ([LEVEL] / 4)
    TICKBONUS: 0
    AREAONLY: true
    FIGHTMOVER: true
    FIGHTTECH: true
    WIMPY: true
    PEACEMOVER, BOARDER, DEFENDER, AGGRO, AGGROMOBS, AGGROLEVELCHECK: false
    -
Scavenger
    Behavior   : Scavenger
    Targets    : MOBs
    Parameters : (MIN=[TICKS]) (MAX=[TICKS]) (CHANCE=[NUM%]) (TRASH=[ROOMID])
    Parameters : ... (; [ITEM ZAPPERMASK]) Example    : min=10 max=20 chance=75
    Example    : min=10 max=20 chance=75 trash="no"
    Example    : min=10 max=20 chance=75 trash="Midgaard#3021"
    Example    : min=10 max=20 chance=75 ; -JAVACLASS +GENWEAPON
    Description:
    According to the timing and percent chance described by the parameters, the mob
    with this behavior will attempt to pick up and take away random objects in the
    same room as the mob.  Scavengers will not do their work when a PC is in the
    room, however.  If they get "filled up" on items, they will destroy them,
    unless the trash flag is present.  If it is set to NO, they will do nothing.
    If it is set to a roomid, the mob will track to that room and put the things in
    any ungettable container therein, or on the ground if that is not an option. An
    optional semicolon at the end of the arguments may be followed by a zapper mask
    to limit the types of items the scavenger will pick up.  See AHELP ZAPPERMASK.
Scriptable
    Behavior   : Scriptable
    Targets    : MOBs, Items, Rooms
    Parameters : (see below)
    Example    : LOAD=progs/mrinfo.script~
    Description:
    This behavior allows the reactions and behaviors of the mob to be scripted. The
    parameter may be complete scripts, and/or LOAD commands as specified below. If
    you choose to use a file for your script, then each script command line must be
    terminated by a linefeed or a semicolon.  If you choose to put your entire
    script into the parameters, you must terminate EVERY line with a semicolon (;).

    Multiple scripts with multiple triggers may be included.  Each script and
    trigger must be separated by the ~ character.  See examples in the
    resources/progs directory!
    Now to the script itself:
    The first line must be a trigger word followed by any parameters.  Valid
    triggers and parameters are as follows:
    LOAD=[SCRIPT PATH] - insert a new script from another file.  Ex:
    LOAD=progs/my.script~
    GREET_PROG [PCT CHANCE] - When players enter the room, given the chance.
    ARRIVE_PROG [PCT CHANCE] - When the mob enters a new room, or enters the game.
    ALL_GREET_PROG [PCT CHANCE] - Same as GREET_PROG, but works with sneakers too.
    LOGIN_PROG [PCT CHANCE] - When players logs into the game, given the chance.
    LOGOFF_PROG [PCT CHANCE] - When players log out of the game, given the chance.
    LEVEL_PROG [PCT CHANCE] - When a player anywhere gains a level, given the
    chance.
    SPEECH_PROG (P) [A PHRASE]/[ONE OR MORE WORDS] - When someone says the words.
    BRIBE_PROG [AMOUNT OF GOLD] - When the amount or better is given to the
    monster.
    GIVE_PROG (P) [A PHRASE]/[ONE OR MORE WORDS] - When something is given to the
    monster.
    RAND_PROG [PCT CHANCE] - Triggers at random, given the chance.
    ONCE_PROG - Triggers on the first occurrence, but never again (until reset).
    FIGHT_PROG [PCT CHANCE] - Triggers during combat, given the chance.
    ENTRY_PROG [PCT CHANCE] - Triggers whenever the monster enters a new room.
    EXIT_PROG [PCT CHANCE] - Triggers whenever anyone exits the room of the
    monster.
    DEATH_PROG - When the monster dies.
    KILL_PROG - When the monster kills.
    HITPRCNT_PROG [HP PCT] - When the monster reaches the hit points % remaining.
    MASK_PROG (P) [A PHRASE]/[ONE OR MORE WORDS] - When a mob performs an action
    with these words.
    IMASK_PROG (P) [A PHRASE]/[ONE OR MORE WORDS] - When this mob performs an
    action with these words.
    REGMASK_PROG (P) [EXACT PHRASE]/[REGULAR EXPRESSION] - When a mob performs an
    action matching.
    ACT_PROG (P) [A PHRASE]/[ONE OR MORE WORDS] - When a mob performs an action
    with these words.
    SOCIAL_PROG [SOCIAL NAME] - When a mob performs the given social.
    CHANNEL_PROG [CHNAME] (P) [A PHRASE]/[ONE OR MORE WORDS] - When channels a
    message with these words.
    QUEST_TIME_PROG [QUEST NAME] [TIME LEFT] - When the running quest reaches the
    number of minutes left.
    TIME_PROG [LIST OF HOURS] - Mob runs program at listed hours of the day.
    DAY_PROG [LIST OF DAYS] - Mob runs program at listed days of the month.
    DELAY_PROG [LOW TICKS] [HIGH TICKS] - Mob runs program at the given interval
    range.
    LOOK_PROG (P) [A PHRASE]/[ONE OR MORE WORDS] - When matching something is
    looked at.
    LLOOK_PROG (P) [A PHRASE]/[ONE OR MORE WORDS] - When matching something is
    llooked at.
    GET_PROG (P) [A PHRASE]/[ONE OR MORE WORDS] - When matching something is
    gotten.
    OPEN_PROG (P) [A PHRASE]/[ONE OR MORE WORDS] - When matching something is
    opened.
    CLOSE_PROG (P) [A PHRASE]/[ONE OR MORE WORDS] - When matching something is
    closed.
    LOCK_PROG (P) [A PHRASE]/[ONE OR MORE WORDS] - When matching something is
    locked.
    UNLOCK_PROG (P) [A PHRASE]/[ONE OR MORE WORDS] - When matching something is
    unlocked.
    PUT_PROG (P) [A PHRASE]/[ONE OR MORE WORDS] - When matching something is put in
    something.
    DROP_PROG (P) [A PHRASE]/[ONE OR MORE WORDS] - When matching something is
    dropped.
    REMOVE_PROG (P) [A PHRASE]/[ONE OR MORE WORDS] - When matching something is
    removed.
    CONSUME_PROG (P) [A PHRASE]/[ONE OR MORE WORDS] - When matching something is
    ate/drank.
    WEAR_PROG (P) [A PHRASE]/[ONE OR MORE WORDS] - When matching something is
    worn/wielded.
    DAMAGE_PROG - When damage taken by mob or given by item. Item#2 is the weapon.
    $g will have the amount.
    BUY_PROG (P) [A PHRASE]/[ONE OR MORE WORDS] - When matching something is bought
    (items only).
    SELL_PROG (P) [A PHRASE]/[ONE OR MORE WORDS] - When matching something is sold.

    EXECMSG_PROG [MSG CODE] (P) [COMMAND WORDS] - When a msg of type msg code is
    executed. HELP MSG TYPES.
    CNCLMSG_PROG [MSG CODE] (P) [COMMAND WORDS] - Before a msg of type msg code is
    allowed. HELP MSG TYPES.
    FUNCTION_PROG [FUNCTION NAME] - declares a runnable function, with parms in $g,
    see MPCALLFUNC.
    *** NOTE Phrases for MASK_PROG, GIVE_PROG, GET_PROG, PUT_PROG, REMOVE_PROG,
    WEAR_PROG, BUY_PROG, SELL_PROG, and SPEECH_PROG must group words and phrases
    together using the "'" character, for instance 'a phrase' or 'multiple words'.
    The characteris unnecessary when put around single words 'word'.

    *** NOTE If Scriptable is placed on an Item, triggers such as GET_PROG,
    DROP_PROG, WEAR_PROG, and REMOVE_PROG will only trigger when the scripted item
    is involved.

    *** NOTE MASK_PROG and ACT_PROG will check commands as they appear to the mob
    with this behavior.  Consider perspective, vision, and word tense in light of
    this fact when wording your masks.  For instance, the purchase of a sword in a
    dark shop may be seen as 'Someone buys something from someone' instead of 'Bob
    buys a sword from Joe'.

    Following this line is your script itself.  The commands are as follows:
    IF/ENDIF/ELSE Conditional evaluations, separated by AND/OR.  The IF statement
    can group conditions with () and use the following functions as part of its
    evaluation:
    - RAND([% CHANCE])    Random truth
    - HAS([CODE] [ITEM NAME])  if the given mob has the specified item.
    - HASNUM([CODE] [ITEM NAME] == [NUM])  the amount the given mob has of the
    item.
    - HASTITLE([CODE] [TITLE STR])  if the given mob has the give title.
    - WORN([CODE] [ITEM NAME])  if the given mob wears the specified item.
    - ISNPC([CODE])  if the given mob is a non-player.
    - ISPC([CODE])  if the given mob is a player.
    - ISPKILL([CODE])  if the given mob has playerkill flag on.
    - ISGOOD([CODE])  if the given mob is good.
    - ISNAME([CODE] [WORDS])  if the given item is named with given words.
    - CURRENCY([CODE] == [NAME])  if the native currency of the mob or coins is the
    name. Where == may be !=.
    - NUMMOBSINAREA([MOB NAME] == [NUM]) if comparison of number of mobs of that
    name in area. Where == may be !=, >, <, <=, <=.
    - NUMMOBS([MOB NAME] == [NUM]) if comparison of number of mobs of that name in
    world. Where == may be !=, >, <, <=, <=.
    - NUMRACEINAREA([MOB NAME] == [NUM]) if comparison of number of mobs of that
    name in area. Where == may be !=, >, <, <=, <=.
    - NUMRACES([MOB NAME] == [NUM]) if comparison of number of mobs of that name in
    world. Where == may be !=, >, <, <=, <=.
    - ISEVIL([CODE])  if the given mob is evil.
    - ISNEUTRAL([CODE])  if the given mob is neutral.
    - ISFIGHT([CODE])  if the given mob is fighting.
    - ISALIVE([CODE])  if the given mob is alive and available.
    - ISIMMORT([CODE])  if the given mob is an archon.
    - ISCHARMED([CODE])  if the given mob is charmed.
    - STRCONTAINS([STRING] [CODED WORDS])  is string contains coded words.  May use
    "" & | > < ().
    - STAT([CODE] [STAT] == [VALUE]) if the given mob/item has a stat of value, !=
    is also valid.
    - GSTAT([CODE] [STAT] == [VALUE]) like STAT, but player data accessible. See
    Generic.java.
    - DATETIME([TIME/DAY/ETC] == [VALUE]) like STAT, but player data accessible.
    Where == may be >, <, !=, >=, or <=.
    - AFFECTED([CODE] [SPELL CLASS]) if the mob is affected by spell.
    - ISBEHAVE([CODE] [BEHAVIOR CLASS]) if the mob has a behavior.
    - ISFOLLOW([CODE])  if the given mob is following someone in the room.
    - ISSERVANT([CODE])  if the given mob is serving someone in the room.
    - HITPRCNT([CODE] == [% HITS])  if the given mob has the pct chance hit points.
     Where == may be >, <, !=, >=, or <=.
    - HASTATTOO([CODE] [TATTOONAME]) whether the given mob has the given tattoo.
    - INLOCALE([ROOM CLASS]) if the mob is in the given room type.
    - ISBIRTHDAY([CODE]) if the mobs birthday is today.
    - INROOM([ROOM ID/MOB NAME] == [ROOM ID/MOB NAME]) if the mob is in the given
    room.
    - MOOD([MOB NAME] == [MOOD NAME]) if the mob has a mood, and it is the one
    specified.
    - ISRECALL([MOB NAME]== [ROOM ID/MOB NAME]) is the mob is from the given room.
    - ISHERE([CODE]) if the mob/item in the same room as the scripted one.
    - INAREA([NAME]) if the scripted mob/item in room named by the parameters.
    - ISLIKE([CODE] [MASK]) if the mob/item meets the given zapper mask.  See
    ZAPPERMASKS for mask syntax
    - ISODD([AMT]) whether the given argument is an odd whole number
    - VAR([CODE] [VAR NAME] == [VALUE]) if the var for the given mob has value.
    Where == may be !=, >, <, >=, <=.
    - FACTION([CODE] [FACT] == [VALUE]) if the faction for the given mob has value.
     Where == may be !=, >, <, >=, <=.
    - SEX([CODE] == [M/F/N]) evaluates sex.  Where == may also be !=.
    - POSITION([CODE] == [SLEEPING/STANDING/SITTING] Evaluates position.
    - LEVEL([CODE] == [LVL]) evaluates level.  Where == may be !=, <, >, >=, <=.
    - MATH([EXPR] == [EXPR]) evaluates expression.  Where == may be !=, <, >, >=,
    <=.
    - QUESTPOINTS([CODE] == [VAL]) evaluates questpoints.  Where == may be !=, <,
    >, >=, <=.
    - QVAR([QUEST] [CODE] == [VAL]) evaluates temp quest vars.  Where == may be !=,
    <, >, >=, <=.
    - TRAINS([CODE] == [VAL]) evaluates trains.  Where == may be !=, <, >, >=, <=.
    - PRACS([CODE] == [VAL]) evaluates pracs.  Where == may be !=, <, >, >=, <=.
    - CLASS([CODE] == [CLASS NAME]) evaluates class. Where == may be !=.
    - BASECLASS([CODE] == [CLASS NAME]) evaluates base class. Where == may be !=.
    - RACE([CODE] == [RACE NAME]) evaluates race. Where == may be !=.
    - RACECAT([CODE] == [RACE CAT NAME]) evaluates racial category. Where == may be
    !=.
    - GOLDAMT([CODE] == [AMT]) evaluates base gold or item value. Where == may be
    !=, >, <, >=, <=.
    - EXP([CODE] == [AMT]) evaluates experience points. Where == may be !=, >, <,
    >=, <=.
    - VALUE([CODE] [CURRENCY] == [AMT]) evaluates base value in given currency.
    Where == may be !=, >, <, >=, <=.
    - IPADDRESS([CODE] == [ADDRESS]) evaluates ip address of player. Where == may
    be !=.
    - QUESTSCRIPTED([CODE] [QUEST NAME]) returns whether the code of the given name
    has a script from the given quest.
    - QUESTWINNER([CODE] [QUEST NAME]) returns whether the code of the given name
    has won the given quest.
    - QUESTMOB([NAME] [QUEST NAME]) returns whether the mob of the given name is a
    mob designated in the given quest.
    - QUESTOBJ([NAME] [QUEST NAME]) returns whether the item of the given name is
    an item designated in the given quest.
    - QUESTROOM([ROOMID] [QUEST NAME]) returns whether the item of the given name
    is an item designated in the given quest.
    - ISQUESTMOBALIVE([NAME/NUM] [QUEST NAME]) returns whether the mob, designated
    in the currently running quest, is alive.
    - ISTIME([HOUR#/DAY/DAWN/DUSK/NIGHT]) returns the time of day, or time region.
    - ISSEASON([WINTER/SPRING/SUMMER/FALL]) returns the season.
    - ISWEATHER([CLEAR/RAIN/SNOW/WINDY/ETC..]) returns the weather
    - ISMOON() returns whether the scriptor can see the moon
    - ISMOON([NEW/WAXCRESCENT/WAXQUARTER/WAXGIBBOUS/FULL/WANEGIBBOUS/ETC..]) check
    the moon type
    - ISDAY([DAY#]) returns the day of the month.
    - EVAL([CODE] == [VALUE/CODE])  if the code has value.  Where == may be !=, >,
    <, >=, <=.
    - NUMBER([VALUE/CODE]) whether the given code or value is a number.
    - RANDNUM([VALUE] == [MAX VALUE]) how the 1st code compares to rand 1..max
    code.
    - RAND0NUM([VALUE] == [MAX VALUE]) how the 1st code compares to rand 0..max
    code-1.
    - ROOMMOB([NUM] [NAME]) whether the NUMth mob in the room is named NAME.
    - ROOMITEM([NUM] [NAME]) whether the NUMth item in the room is named NAME.
    - NUMMOBSROOM([*/NAME] == [NUMBER]) compares the # of named mobs in room.
    Where == may be !=, >, <, >=, <=.
    - NUMPCSAREA(== [NUMBER]) compares the number of pcs in the area.   Where ==
    may be !=, >, <, >=, <=.
    - NUMPCSROOM(== [NUMBER]) compares the number of pcs in the room.   Where ==
    may be !=, >, <, >=, <=.
    - EXPLORED([CODE] [AREA/WORLD] == [NUMBER]) check % explored of code mob.
    Where == may be !=, >, <, >=, <=.
    - NUMITEMSROOM(== [NUMBER]) compares the number of mobs in the room.   Where ==
    may be !=, >, <, >=, <=.
    - NUMITEMSMOB([NAME] == [NUMBER]) compares the number of items the mob has.
    Where == may be !=, >, <, >=, <=.
    - MOBITEM([MOBNAME] [NUM] [NAME]) whether the NUMth item owned by mob mobname
    is named NAME.
    - INCONTAINER([CODE] [CONTAINER/MOUNT]) whether the item is in container or
    mount.
    - ISABLE([CODE] [SKILL NAME]) whether the mob has the skill/ability.
    - ISOPEN([CODE/DIRECTION]) whether the container item, or direction name is
    open.
    - ISLOCKED([CODE/DIRECTION]) whether the container item, or direction name is
    locked.
    - STRIN([STRING] [STRING]) whether the second string appears as a whole word in
    the first.
    - CALLFUNC([FUNCTION] [PARM]..) returns whether the FUNCTION_PROG named returns
    a non-null.
    - DEITY([CODE] == [CLASS NAME]) evaluates a mobs deity. Where == may be !=.
    - CLAN([CODE] == [CLASS NAME]) evaluates a mobs clanid. Where == may be !=.
    - CLANRANK([CODE] == [NUMBER]) evaluates mobs rank.  Where == may be !=, <, >,
    >=, <=.
    - CLANDATA([CLAN] [VAR] == [STRING]) evaluates clan rank.  Where == may be !=,
    <, >, >=, <=.
    *** NOTES! The parenthesis are REQUIRED for the above!  The brackets should NOT
    be included, they are there to designate a parameter.  Where CODE above is one
    of the following: $n=source of the action, $i=scripted mob, $t=target,
    $o=item1, $p=item2, $w=owner of item1, $W=owner of item2.

    Now we get to the executed commands.  They are as follows:
    FOR $X = [START] to [FINISH] - loops. X must be 0-9.  End with NEXT by itself.
    SWITCH/CASE/ENDSWITCH - act as a multiple if/elseif/elseif....
    MPASOUND [TEXT] - a noisy emote that goes to all adjacent rooms.
    MPECHO [TEXT] - an emote
    MPSLAY [MOB NAME] - utterly kill the target.
    MPJUNK [ITEM] - destroy the given item from the monsters inventory.
    MPMLOAD [MOB NAME] - create an instance of the given mob name.
    MPOLOAD [ITEM NAME] - create an instanceof the given item, give it to the mob.
    MPOLOADROOM [ITEM NAME] - create an instanceof the given item, drop it in the
    room.
    MPMLOAD FROMFILE [CMARE FILE] [MOB NAME] - create a given mob name from a file.

    MPOLOAD FROMFILE [CMARE FILE] [ITEM NAME] - create an item from a file, give it
    to the mob.
    MPOLOADROOM FROMFILE [CMARE FILE]  [ITEM NAME] - create an item from a file,
    drop it in the room.
    MPECHOAT [MOB/ROOM/AREA/WORLD] [TEXT] - emote to the given target.
    MPECHOAROUND [TEXT] - emotes to everyone in room but the source of the trigger.

    MPCAST [SPELL] [MOB NAME] - casts the given spell at the given target.
    MPKILL [MOB NAME] - attack the given target.
    MPEXP [MOB NAME] [EXP or TNL%] - grants amount of exp to mob.
    MPQUESTPOINTS [MOB NAME] [QPS] - sets mobs amount of questpoints. Prefix QPS
    with ++ or -- to adjust only.
    MPTRAINS [MOB NAME] [TRAINS] - sets mobs amount of trains. Prefix TRAINS with
    ++ or -- to adjust only.
    MPPRACS [MOB NAME] [PRACS] - sets mobs amount of pracs. Prefix PRACS with ++ or
    -- to adjust only.
    MPPURGE [ITEM/MOB NAME] - destroy the given target item or mob.
    MPUNAFFECT [MOB NAME] [ALL/SKILL NAME]- removes given affects from the mob.
    MPGOTO [ROOM ID/NAME/DESC] - take the monster to the given room.
    MPAT [ROOM ID/NAME/DESC] [COMMAND] - do a command at the given room.
    MPSET [MOB/ITEM] [VAR NAME] [VALUE] - use with care! sets a stat for a mob or
    item.
    MPGSET [MOB/ITEM] [VAR NAME] [VALUE] - like MPSET but player data accessible.
    See GSTAT.
    MPTRANSFER [ALL/MOB NAME] [ROOM ID/NAME/DESC] - transfer mobs to the given
    room.
    MPBEACON [ROOM ID/NAME/DESC] [ALL/MOB NAME] - Makes given room start room for
    players.
    MPFORCE [MOB NAME] [COMMAND] - force the given mob to do the given command.
    MPPROMPT [PC NAME] [VARIABLE NAME] [PROMPT].  Store user entered value in
    variable.  See Guide.
    MPCONFIRM [PC NAME] [VARIABLE NAME] [DEFAULT VALUE] [PROMPT].  Y or N.  See
    Guide.
    MPCHOOSE [PC NAME] [VARIABLE NAME] [CHOICES] [DEFAULT VALUE] [PROMPT].  Hotkey
    choices.  See Guide.
    MPSCRIPT [MOB/ITEM] ([FLAGS]) [SCRIPT] - adds a quest Scriptable to the target,
    flags GLOBAL INDIVIDUAL SAVABLE EXECUTE.
    MPSETVAR [MOB NAME] [VAR NAME] [VALUE] - set a variable for the given mob.
    Value may be ++, --, or preceded by +,-,*,or /.
    MPENDQUEST [QUEST NAME/MOB NAME] - this command will shutdown the given quest,
    or remove quest scripts from given mob.
    MPSTARTQUEST [QUEST NAME] - this command will start the quest of the given
    name.
    MPQUESTWIN [MOB NAME] [QUEST NAME] - declares the mob a winner of the given
    quest.
    MPSTOP [MOB NAME] - forces mob to stop fighting, or performing common skills.
    MPCALLFUNC [FUNC NAME] [PARMS...] - executes a FUNCTON_PROG already declared.
    MPALARM [TICKTIME] [COMMAND] - executes COMMAND after time has elapsed.
    MPNOTRIGGER [TRIGGER NAME] [MILISECS]- this command will prevent given trigger
    for given miliseconds.
    MPFACTION [MOB] [FACTION] [VALUE] - changes faction value for given mob. Value
    is number, range, or +NUM, --NUM.
    MPWHILE ([IF CONDITION]) [COMMAND] - repeatedly executes commmand.
    MPDAMAGE [MOB/ITEM] [MIN] [MAX] (KILL)- does random damage to the target. Kills
    only when KILL parm given.
    MPREJUV AREA/ROOM/[ROOMID]/[AREAID] (ITEMS/MOBS) - rejuv dead mobs, lost items
    from area or room
    MPRESET AREA/ROOM/[ROOMID]/[AREAID] - reload an area or room from the database
    MPLOG ERROR/INFO/DEBUG HEADER MESSAGE - add an entry to the coffeemud server
    log
    MPCHANNEL (!)[CHANNEL] MESSAGE - send a message to a channel
    MPTRACKTO [MOB NAME] - forces the mob to track down the given mob.
    MPWALKTO [MOB NAME] - forces the mob to track down the given mob, land surface
    only.
    MPAFFECT [SPELL] [MOB NAME] [PARMS] - automatically casts a spell on a mob.
    MPBEHAVE [BEHAVIOR] [MOB NAME] [PARMS] - adds a behavior to the mob.
    MPUNBEHAVE [BEHAVIOR] [MOB NAME] - removes a behavior from a  mob.
    MPTATTOO [MOB] (-)[TATTOONAME] - adds or removes the given tattoo for the mob.

    MPPLAYERCLASS [MOB] [CCLASS ID] ([LVL])... - changes current char class &
    optionally level.
    MPTITLE [MOB] (-) [TITLE] - adds or removes the given title string from the
    mob.
    MPENABLE [MOB] [ABILITY NAME] [PROF] [STR] - adds a new skill to the mob, or
    mods prof. w/++,--.
    MPDISABLE [MOB] [ABILITY NAME] - removes a skill from the mob.
    MPSAVEVAR [MOB NAME] [VAR NAME] - saves the variable set using MPSETVAR to the
    database.
    MPLOADVAR [MOB NAME] [VAR NAME] - loads the variable from the database.
    MPM2I2M [MOB/ITEM] - this strange command turns a mob into an item and back
    into a mob
    MPHIDE [MOB/ITEM/EXIT] - makes the target undetectable by any means.
    MPUNHIDE [MOB/ITEM/EXIT] - reverses the affects of MPHIDE -- does not affect
    Hide or other skills.
    MPOPEN [ITEM/EXIT] - opens a closed container or door.
    MPCLOSE [ITEM/EXIT] - closes an open container or door.
    MPLOCK [ITEM/EXIT] - closes and locks a lockable container or door.
    MPUNLOCK [ITEM/EXIT] - unlocks a locked container or door, but does not open.
    MPSETCLANDATA [CLAN] [VAR] [VALUE] - changes a datum about the given clan.
    MPARGSET [$VAR] [VALUE] - changes internal $(i,n,t,0,1,..9) object to one
    specified by value.
    MPLOADQUESTOBJ [QUEST] [QVARNAME] [$VAR] - loads quest obj into internal
    $(i,n,t,0,1,..9) object.
    MPUNLOADSCRIPT [SCRIPT FILE NAME] - unloads a file script from the resources
    cache for refreshing
    MPQSET [QUEST] [QVARNAME] [VALUE] - set temp quest var to given value.
    BREAK -- return/break out of the current if condition or program script.
    RETURN [OPTIONAL STRING] - exits the existing script, returning the string
    given.
    <SCRIPT> - embed Javascript in Scriptable event.  Must be closed with
    </SCRIPT>.
    [COMMAND] [PARMS]- any valid coffee mud command!
    ** NOTES! For those commands which have multiple parameters (specifically MPAT,
    MPFORCE, MPCAST, MPECHOAT, you must use "'" characters in order to group any
    words in the first parameter of those commands.  Inside your command
    parameters, whether it be text, or even when specifying MOB or ITEM names, you
    may use any of the following freely:
    $a - name of the area the monsters in
    $b - name of last item/mob loaded w/mmpload/mpoload
    $B - display text of last item/mob loaded w/mmpload/mpoload
    $c - random npc/pc inhabitants name
    $C - random npc/pc inhabitants name
    $i - monsters name
    $I - monsters display text
    $n - source of triggers name
    $N - source of triggers name
    $t - target of triggers name
    $T - target of triggers name
    $r - random pc inhabitants name
    $R - random pc inhabitants name
    $j - he/she of the monster
    $e - he/she of the trigger source
    $d - title of monsters room location
    $D - long desc of monsters room location
    $f - name of the person monster follows
    $E - he/she of the trigger target
    $F - he/she of the person monster follows
    $g - lowercase form of the message from a MPCALLFUNC, MASK_PROG or SPEECH_PROG.

    $G - uppercase form of the message from a MPCALLFUNC, MASK_PROG or SPEECH_PROG.

    $J - he/she of a random pc inhabitant
    $k - his/her of the monster
    $l - list of all mobs (excluding monster). See "." syntax below.
    $L - list of all Items in room. See "." syntax below.
    $m - his/her of the trigger source
    $M - his/her of the trigger target
    $K - his/her of a random pc inhabitant
    $y - sir/madam of the trigger source
    $Y - sir/madam of the trigger target
    $o - item1 name
    $O - item1 name
    $p - item2 name
    $P - item2 name
    $w - owner of item1s name
    $W - owner of item2s name
    $x - random valid exit's direction
    $X - random valid exit's name
    $xN- north exit's name
    $0..$9- temporary variables set by other commands.

    $<[CODE] [VAR NAME]> - the variable of the given name, of the given code.
    Where code is $i, $n, $t, $o, or $p.  See MPSETVAR.

    ${[NUM] [QUEST NAME]} - a mob name from the given quest, if the quest is
    running. The number corresponds to the order in which mobs were designated in
    the quest script. Counting starts at 1.

    $[[NUM] [QUEST NAME]] - an item name from the given quest, if the quest is
    running. The number corresponds to the order in which items were designated in
    the quest script. Counting starts at 1.

    $%FUNCTION(PARM1 PARM2..)% - replace this code with a value from one of the
    internal functions.  While the names are the same as the eval functions above,
    their parameters will be slightly different.  The functions which may be
    included in this code include the following:
    - RAND() random number between 1 and 100.
    - HAS([CODE])  name of a random item in given mobs inventory.
    - HASNUM([CODE] [ITEM])  number of the given items in given mobs inventory.
    - WORN([CODE])  name of a random worn item in given mobs inventory.
    - ISNPC([CODE])  not implemented.
    - ISPC([CODE])  not implemented.
    - ISGOOD([CODE])  returns the alignment string of the given mob.
    - ISNAME([CODE])  Returns the real/full name of the given object.
    - CURRENCY([CODE])  Returns the native currency of the given object.
    - MATH([EXPR]) returns evaluated mathematical expressions. +-*\
    - MOOD([MOB NAME]) the given mobs mood.
    - NUMMOBSINAREA([MOB NAME]) number of mobs in area matching mask.
    - NUMMOBS([MOB NAME]) number of mobs in world matching mask.
    - NUMRACEINAREA([MOB NAME]) number of mobs in area matching race.
    - NUMRACES([MOB NAME]) number of mobs in world matching race.
    - ISEVIL([CODE])  alignment number of the given mob.
    - ISNEUTRAL([CODE])  short alignment string of the given mob.
    - ISFIGHT([CODE])  name of the mob the given mob is fighting.
    - ISALIVE([CODE])  health of the given mob.
    - ISIMMORT([CODE])  not implemented.
    - ISBIRTHDAY([CODE]) returns birthday of the mob
    - ISCHARMED([CODE])  name of the charm spell the mob is under.
    - STAT([CODE] [STAT]) value of the given stat for the given object.
    - DATETIME(DAY/TIME/MONTH/YEAR) displays the appropriate numberic value.
    - GSTAT([CODE] [STAT]) like STAT, but player data accessible. See Generic.java.

    - AFFECTED([CODE]) name of a random spell affect on the object.
    - FACTION([CODE] [FACTION]) name of the range the mob has in given faction.
    - ISBEHAVE([CODE]) class ids of the behaviors on the object.
    - ISFOLLOW([CODE])  name of the mob the given mob is following.
    - ISSERVANT([CODE])  name of the mob the given mob is serving.
    - HITPRCNT([CODE])  % of hit points remaining for given mob.
    - INLOCALE() name of the room type the monster is in.
    - INROOM() raw id of the room the monster is in.
    - ISODD([AMT]) echos AMT if AMT is an odd, whole number.
    - ISRECALL([CODE]) start room of the given mob.
    - INAREA() name of the area the monster is in.
    - ISHERE() name of the area the monster is in.
    - VAR([CODE] [VAR NAME]) Value of the given variable.
    - SEX([CODE]) sex of the given mob.
    - POSITION([CODE]) position name of the given mob.
    - LEVEL([CODE]) level of the given mob.
    - QUESTPOINTS([CODE]) questpoints of the given mob.
    - PRACS([CODE]) practices of the given mob.
    - TRAINS([CODE]) trains of the given mob.
    - CLASS([CODE]) class of the given mob.
    - BASECLASS([CODE]) base class of the given mob.
    - RACE([CODE]) race of the given mob.
    - RACECAT([CODE]) racial category of the given mob.
    - GOLDAMT([CODE]) number of gold coins the given mob has.
    - EXP([CODE]) number of experience points the given mob has.
    - VALUE([CODE] [CURRENCY]) base value the given mob has in given currency.
    - QUESTWINNER([CODE]) returns a list of all the quests the mob was won.
    - QUESTSCRIPTED([CODE]) returns a list of all the quests the mob is scripted
    for.
    - QUESTMOB([QUEST NAME]) returns a list of all the mobs desigated by this
    quest.
    - QUESTOBJ([QUEST NAME])  returns a list of all the items desigated by this
    quest.
    - QUESTROOM([QUEST NAME])  returns a list of all rooms desigated by this quest.

    - ISQUESTMOBALIVE([QUEST NAME]) returns a list of all live mobs desigated by
    this quest.
    - ISTIME() returns the approx time of day in words.
    - ISSEASON() returns the season.
    - ISWEATHER() returns the weather
    - ISMOON() returns the moon phase
    - ISDAY() returns word day or evening.
    - EVAL()  not implemented.
    - NUMBER([VALUE/CODE]) Returns the numberic value of the given argument.
    - RANDNUM([VALUE/CODE]) returns random number from 1..value/code.
    - RAND0NUM([VALUE/CODE]) returns random number from 0..value/code-1.
    - ROOMMOB([NUM]) returns the NUMth mob in the room's name.
    - ROOMITEM([NUM]) whether the NUMth item in the room's NAME.
    - NUMMOBSROOM([*/NAME]) returns the number of named mobs in the room.
    - NUMPCSAREA() returns the number of pcs in the area.
    - NUMPCSROOM() returns the number of pcs in the room.
    - EXPLORED([CODE] [AREA/WORLD]) displays % explored of code mob.
    - NUMITEMSROOM() returns the number of items in the room.
    - NUMITEMSMOB([NAME]) returns the number of items the mob has.
    - MOBITEM([MOBNAME] [NUM]) returns the NUMth item owned by mob mobname.
    - INCONTAINER([CODE]) returns container of an item, or the mount of a mob.
    - ISABLE([CODE] [SKILL NAME]) the mobs proficiency in the given skill/ability.
    - ISOPEN([CODE/DIRECTION]) "true" if the container item, or direction name is
    open.
    - ISLOCKED([CODE/DIRECTION]) the key name if the container, or direction has a
    lock.
    - STRIN([STRING] [STRING]) word number of the second string if it appears in
    the first.
    - CALLFUNC([FUNCTION] [PARM]..) the value returned by the FUNCTION_PROG named.
    - DEITY([CODE]) returns a mobs deity.
    - CLAN([CODE]) returns a mobs clan.
    - CLANRANK([CODE]) returns mobs clan role/rank as a number.
    - CLANDATA([CLAN] [VAR]) returns the given clans data based on var.
    - IPADDRESS([CODE]) return ip address of player.
    - QVAR([QUEST] [CODE]) returns temp quest vars.

    Any of the $ codes may be followed by a period and a literal number to
    designate a particular word inside a string of many words.  For instance if $o
    evaluates to "a magic wand", $o.1 would evalulate to "magic".  If $l evaluated
    to "orc bob hassan", $l.2 would give "hassan".  This syntax can also be
    followed by ".." to grab substrings.  For instance, if $o evaluates to "a magic
    wand", $o.1.. would evaluate to "magic wand".
ScriptableEverymob
    Behavior   : ScriptableEverymob
    Targets    : Areas, Rooms
    Parameters : Same as BEHAVIOR_SCRIPTABLE
    Example    : LOAD=progs/mrinfo.script~
    Description:
    This behavior will cause all mobs native to the area or room to be
    automatically given a particular Scriptable script to run.  Mobs that already
    have scriptable behaviors will be unaffected.
Sounder
    Behavior   : Sounder
    Targets    : Room, MOBs, Items, Areas
    Parameters : (Max/Min ticks;) ([EMOTE CODE] [EMOTE STRING];)
    Example    : sound 80 wiggles his bottom.;sound 60 smiles evilly.;sound 20
    burps!
    Example    : min=20 max=20;wear $p looks good on you.;remove Now you don't look
    so good.;remove_room $n doesn't look so good.

    An alternative to the Emoter behavior, this allows you to create very simple
    emoting triggers based on percent chances every tick, or based on event
    triggers such as getting an item, or leaving a room.  Each emote trigger is
    semicolon (;) separated, and the first trigger may instead be a set of ticks.
    Valid emote codes include the following:
    SOUND [PCT CHANCE] - every min/max ticks, this will be emoted % chance of the
    time.
    GET - if an item is gotten (or THE item), this will emote to the getter.
    GET_ROOM - if an item is gotten (or THE item), this will emote to the room (not
    the getter).
    DROP - if an item is dropped (or THE item), this will emote to the getter.
    DROP_ROOM - if an item is dropped (or THE item), this will emote to the room
    (not the getter).
    PUSH - if an item is pushed (or THE item), this will emote to the pusher.
    PUSH_ROOM - if an item is pushed (or THE item), this will emote to the room
    (not the pusher).
    PULL - if an item is pulled (or THE item), this will emote to the pulled.
    PULL_ROOM - if an item is pulled (or THE item), this will emote to the room
    (not the puller).
    EAT - if an item is eaten (or THE item), this will emote to the eater.
    EAT_ROOM - if an item is eaten (or THE item), this will emote to the room (not
    the getter).
    MOUNT - if an item is mounted (or THE item), this will emote to the mounter.
    MOUNT_ROOM - if an item is mounted (or THE item), this will emote to the room
    (not the getter).
    DRINK - if an item is drunk (or THE item), this will emote to the drinker.
    DRINK_ROOM - if an item is drunk (or THE item), this will emote to the room
    (not the getter).
    SIT - if an item is sat on (or THE item), this will emote to the sitter.
    SIT_ROOM - if an item is sat on (or THE item), this will emote to the room (not
    the getter).
    SLEEP - if an item is slept on (or THE item), this will emote to the sleeper.
    SLEEP_ROOM - if an item is slept on (or THE item), this will emote to the room
    (not the getter).
    WEAR - if an item is worn (or THE item), this will emote to the wearer.
    WEAR_ROOM - if an item is worn (or THE item), this will emote to the room (not
    the getter).
    OPEN - if an item is opened (or THE item), this will emote to the wearer.
    OPEN_ROOM - if an item is opened (or THE item), this will emote to the room
    (not the getter).
    CLOSE - if an item is closed (or THE item), this will emote to the wearer.
    CLOSE_ROOM - if an item is closed (or THE item), this will emote to the room
    (not the getter).
    HOLD - if an item is held (or THE item), this will emote to the wearer.
    HOLD_ROOM - if an item is held (or THE item), this will emote to the room (not
    the getter).
    WIELD - if an item is wielded (or THE item), this will emote to the wearer.
    WIELD_ROOM - if an item is wielded (or THE item), this will emote to the room
    (not the getter).
    REMOVE - if an item is removed (or THE item), this will emote to the remover.
    REMOVE_ROOM - if an item is removed (or THE item), this will emote to the room
    (not the getter).
    PORTAL_ENTER - if the room is entered, this will emote to the one entering.
    PORTAL_ENTER_ROOM - if the room is entered, this will emote to the others in
    the room.
    PORTAL_EXIT - if the room is left, this will emote to the one leaving.
    PORTAL_EXIT_ROOM - if the room is left, this will emote to the others in the
    room.
    DAMAGE - if the object is hurt, or used to hurt, this will emote to the one
    hurting.
    DAMAGE_ROOM - if the object is hurt, or used to hurt, this will emote to the
    others in the room.
    FIGHT - if the object is attacking, or used to attack, this will emote to the
    one attacking.
    FIGHT_ROOM - if the object is attacking, or used to attack, this will emote to
    the others in the room.

    The emote strings may be any text, and the following codes may be included:
    $p - the name of the item with the behavior.
    $n - the name of the source of the emote, or the source of the trigger.
    $e - the he/she of $n.
    $s - the his/her of $n.
StdBehavior
TargetPlayer
    Behavior   : TargetPlayer
    Targets    : MOBs
    Parameters : min, max ticks, a percent chance
    Example    : min=2 max=3 chance=99
    Description:
    This behavior makes the MOB, in combat, target the weakest player in their
    enemies' group.
TaxCollector
    Behavior   : TaxCollector
    Targets    : MOBs
    Parameters : (WAIT=[TIME]) (GRACE=[TIME])
    Example    :
    Example    : WAIT=60000 GRACE=600000
    Description:
    This behavior makes the mob a very annoying and somewhat dangerous collector of
    money from both players and mobs.  The TaxCollector will, by default, demand
    10% of any money by a random person it comes across in the form of a "citizens
    tax".  That person has [WAIT] milliseconds to give over the money before the
    tax collector either charges them with tax evasion, or attacks.  If the
    taxcollector is paid (mobs will always pay), then the person has [GRACE] amount
    of time before money is demanded again.  The TaxCollector will never demand
    money from a member of its own clan, if it has one.  Also, in areas with law,
    the tax collector will charge the rate defined as the Citizens Tax instead of
    the flat 10%, as well as charging for any back property taxes if applicable.
TaxiBehavior
    Behavior   : TaxiBehavior
    Targets    : MOBs, Items, Rideables
    Parameters : [ALL PRICE]/[AREA/ROOM]=[PRICE]/[PARAM]=[VALUE]; ... ;
    Example    : 1.5
    Example    : Midgaard#3001=1.5; Smurfville=2.0; 70 ; AREAONLY=true
    Example    : Midgaard#3032; 100 ; INDOOROK=false; MAXRANGE=100
    Description:
    This behavior makes the mob a carrier of players to places.  The mob will
    charge for his services if you specify a price in the parameters, or he will do
    it for free if you don't, or if the last price specified was 0.  The parameters
    can include a comma delimited set of room IDs, area names, or even short title
    descriptions for quickly entering rooms within short range of the mob.

    The parameters may also include certain other variables as part of the
    parameter list.  These include AREAONLY = true or false, to specify whether the
    taxi knows anything about places outside his area.  MAXRANGE=number for the
    maximum number of rooms away from the taxi that is known.  GREETING=message
    will give a special taxi greeting message for all players who enter the room
    its in. ENTERMSG will give a message to players after they mount the taxi.
    TALKERNAME=name will change the apparent name of the speaker, allowing you to
    turn a mounted mob into a "driver" if you wish. PERROOM=number will set a
    per-room price for the distance from the current room to the one sought.
    INDOOROK=true will allow the taxi to traverse indoor rooms if convenient.
    NOWATER=true to prevent trails over water. NOAIR=true, to prevent trails
    through the air. NOLOCKS=true to prevent trails through locked doors.
    NOHOMES=true to prevent trails through private homes. NOCLIMB to prevent trails
    through climbable exits. NOCRAWL to prevent trails through crawlable exits.
Thiefness
    Behavior   : Thiefness
    Targets    : MOBs
    Parameters : (SUBCLASS NAME) (PROFICIENT) (NOSTATS) (NOCOMBATSTAT)
    Parameters : (OFFENSIVE,DEFENSIVE,MIXEDOFFENSIVE,MIXEDDEFENSIVE)
    Parameters : (MINTICKS=[NUM] MAXTICKS=[NUM] CHANCE=[NUM])
    Example    :
    Example    : Thief
    Example    : Assassin MIXEDOFFENSIVE
    Description:
    An extension of CombatAbilities, this behavior makes the mob a Thief by class,
    and gives the mob thief skills appropriate to its level.  After this behavior
    has triggered, it will often require a RESET for any level changes to the mob
    to take over. The Thiefness behavior also includes many non-combat abilities,
    including sneaking and hiding, backstabbing, picking pockets, and even stealing
    at high levels!
    Use the proficient flag to make all skills at 100% instead of level-based. Use
    the offensive/.../mixeddefensive flags to influence skill choices. This
    behavior should not be used WITH any of the other CombatAbilities behaviors,
    such as Fighterness, Thiefness, Mageness, Clericness, Druidness, or
    CombatAbilities. It should be used alone on a mob.
    Also, be aware that this behavior will modify the mobs stats to better reflect
    the class, so any additions or removals of this behavior should be accompanied
    by a room reset after saving, and manually checking to make sure the combat
    stats are as desired.
Vagrant
    Behavior   : Vagrant
    Targets    : MOBs
    Parameters :
    Example    :
    Description:
    The mob will spontaneously decide to go to sleep wherever the mob is currently
    at.  After awhile the mob will wake up.
VeryAggressive
    Behavior   : VeryAggressive
    Targets    : MOBs
    Parameters : aggression flags (message=[msg]) aggression masks
    Example    : -race +elf message="die! You!"
    Example    : -race +elf
    Example    : mobkill misbehave -race +elf
    Description:
    Makes the mob attack any player mob it can detect in the same room, from the
    moment the new mob enters.  In addition, this behavior will detect any mobs in
    adjacent rooms, and move to attack those as well, but only if those players
    meet all the other criteria, and are within 16 levels of the mob. Mobs will not
    be aggressive towards Archons and builders with the CMDMOBS security flag.
    Horribly wounded mobs are not aggressive. If no other parameters are given, the
    mob will attack anyone within 8 levels. Valid aggressive masks include:
    message=[msg] something for the mob to say whenever he's fixing to attack
    delay=x (makes the mob delay x ticks before looking for a victim)
    mobkill (makes this behavior attack mobs as well as players)
    nogang (makes this behavior pass over players already in combat)
    misbehave (makes this mob attack even when wounded or a follower)
    See AHELP ZAPPERMASK, where allowed is attacked, and disallowed is spared.
WaterCurrents
    Behavior   : WaterCurrents
    Targets    : Areas, Rooms
    Parameters : min, max ticks, % chance, [DIRECTION] [DIRECTION] [etc..]
    Example    : min=1 max=3 chance=99 east south
    Example    : east south
    Description:
    The mob will be drawn along in the directions specified by the parameters.  If
    an exit is available in the first direction, it will be chosen, otherwise the
    second one, etc.  The min, max, and chance dictate how often the currents will
    strike.
WeatherAffects
    Behavior   : WeatherAffects
    Targets    : Rooms, Areas
    Parameters : (windsheer=%chance) (puddlepct=%chance) (rainslipchance=%chance)
    Parameters : (snowSlipChance=%chance) (sleetSlipChance=%chance)
    (freezeOverChance=%chance)
    Parameters : (droughtFireChance=%chance) (botherticks=#ticks)
    (diseaseticks=#ticks)
    Parameters : (rustticks=#ticks) (lightningticks=#ticks) (rumbleticks=#ticks)
    Parameters : (gustticks=#ticks) (tornadoticks=#ticks) (hailticks=#ticks)
    Parameters : (dustticks=#ticks)
    Example    : windsheer=10 puddlepct=20
    Description:
    The amazingly powerful behavior handles almost all of the effects of weather
    upon players and the environment.  By changing the parameters listed above, the
    frequency of certain negative effects of weather can be tweeked, modified,
    enhanced, or eliminated.
    The parameters and their meaning are as follows:
    windsheer - percent chance that a ranged attack or thrown item will be blown
    off course.
    puddlepct - percent chance, following wet weather, that puddles, snow piles, or
    dust will form.
    rainslipchance - percent chance, during wet weather, that someone will slip
    while moving.
    snowSlipChance - percent chance, during snowy weather, that someone will slip
    while moving.
    sleetSlipChance - percent chance, during sleety weather, that someone will slip
    while moving.
    freezeOverChance - percent chance, during cold weather, following cold weather,
    that a given
    available water surface will freeze over for a time.
    droughtFireChance - percent chance, during a drought, that a random item will
    be selected
    from all available rooms to be spontaneously ignited.
    botherticks - how often, in ticks, players will be reminded of current weather
    conditions.
    diseaseticks - how often, in ticks, players will suffer a small chance,
    depending on weather
    conditions, of catching a weather related disease, such as cold, flu,
    frostbite, heat.
    rustticks - how often, in ticks, players in wet weather or conditions will
    suffer a chance
    of one of their items rusting and therefore taking damage.
    lightningticks - how often, in ticks, during thunderstorms, an available player
    will suffer
    a chance of someone in the same room being struck by lightning.
    rumbleticks - how often, in ticks, players are given slightly more personal
    reminders of
    current weather conditions than they get from botherticks.
    gustticks - how often, in ticks, during windy conditions, an available player
    will suffer
    a chance of someone in the same room being buffeted by a gust of wind.
    hailticks - how often, in ticks, during hail storms, an available player will
    suffer
    a chance of someone in the same room being buffeted by hail.
    dustticks - how often, in ticks, during dust storms, an available player will
    suffer
    a chance of someone in the same room being hit in the eye with dirt.
    tornadoticks - how often, in ticks, during thunderstorms and windy conditions,
    an available
    player will suffer the chance of a tornado touching down in their room.
Wimpy
    Behavior   : Wimpy
    Targets    : MOBs
    Parameters : wimpy masks
    Example    : -race +elf
    Description:
    Makes the mob flee any player mob it can detect in the same room. If no other
    parameters are given, the mob will flee anyone. Valid masks include:
    delay=x (makes the mob delay x ticks before looking for someone to fear)
    very=1 (makes the mob flee even if not in combat)
    See AHELP ZAPPERMASK, where allowed is fleed from, and disallowed is not.
WimpyAggressive
    Behavior   : WimpyAggressive
    Targets    : MOBs
    Parameters : aggression flags (message=[msg]) aggression masks
    Example    : -race +elf
    Example    : -race +elf misbehave mobkill
    Description:
    Makes the mob attack any sleeping player mob it can detect in the same room.
    Mobs will not be aggressive towards Archons and builders with the CMDMOBS
    security flag. If no other parameters are given, the mob will attack anyone.
    Valid aggressive masks include:
    message=[msg] something for the mob to say whenever he's fixing to attack
    delay=x (makes the mob delay x ticks before looking for a victim)
    mobkill (makes this behavior attack mobs as well as players)
    misbehave (makes this mob attack even when wounded or a follower)
    See AHELP ZAPPERMASK, where allowed is attacked, and disallowed is spared.