Mobile Resolutions

Details  |  World  |  Continents  |  Areas  |  Zones  |  Rooms  |  Mobiles  |  Items  |  Exits  |  Extras  |  Buffs  |  Races

Mobiles defined the creatures that roam the world. There are two important types of mobile, the Playing Character (PC) and the Non-Playing Character (NPC). PC mobiles are the real-life players that connect to the game, whereas NPC mobiles are the creatures defined by the area builders to inhabit the world. Following are the mobile fields that can currently be retrieved and set via the resolution operator. Each description is prefixed with either [G] gettable, [S] settable, or [G,S] gettable and settable. Resolutions are case sensitive.

General Information
Various information about the mobile/player that doesn't really fall under stats.
@mobile->actionDelay [G,S] The number of second until the mobile can (normally) perform another action. This delay is ignored for actions issued via scripts unless the appropriate flag is set.
@mobile->templateAreaId [G] The ID of the area in which the mob is described.
@mobile->templateAreaPtr [G] A pointer to the area structure in which the mob is described.
@mobile->continentEntryId [G,S] The ID of the room for which the mobile entered the current continent. This is used when the player dies to start them within the continent of their death rather than their hometown. Boats and portals set the value as necessary when players enter and leave the boat.
@mobile->descLong [G,S] The text seen when a player views the mobile in a room (via the "look" command).
@mobile->descShort [G,S] The text seen when a player see the mobile perform an action such as getting an item or moving to an adjacent room.
@mobile->descExamine [G,S] The text seen when a player examines or looks at a mobile.
@mobile->id [G] The ID of the mobile. The same ID assigned to it in the builder and used to load it into the game.
@mobile->keywords [G,S] Keywords by which an mobile may be targetted. Keywords may be separated with spaces, commas, or semi-colons.
@mobile->name [G] An alias for @mobile->descShort.
@mobile->title [G] Returns the title of a PC mobile.
@mobile->npcGroup [G,S] An arbitrary ID which defines buddy groups amongst mobiles having the same ID. mobiles with the same npcGroup ID will assist their buddies in combat.
@mobile->rankName [G] Rank of mobile (dweeb, novice, livingLegend, etc.)
@mobile->rankTitle [G] Rank title of mobile (a Novice Adventurer, a Living Legend, etc.)
@mobile->screenHeight [G] The height in ascii characters of the player's terminal screen. This is not determined automatically but may be set by the player. It affects scrolling when viewing long help or messages.
@mobile->screenWidth [G] The width in ascii characters of the player's terminal screen. This is not determined automatically but may be set by the player. It affects the width at which many descriptions are automatically wrapped.
@mobile->skipPrompt [S] Setting this to 1 will prevent the player's prompt from being displayed on the next update cycle. A player usually receives a freshly printed prompt whenever output is sent to their terminal. This is sometimes not desired if the prompt has already been sent for some other reason.
@mobile->startRoomId [G,S] The ID of the room in which the mobile was first loaded. For PC players this will be the ID of the room in which they entered the game (usually the hometown). This is used by the game engine to have the mobile walk back to the appropriate room if they have been moved via summon, suggest, command, charm, flee, or any other technique.
@mobile->uniqueId [G] A unique ID assigned to the mobile when it is created. The lifespan of the ID is until the mobile rents or the game reboots.
@mobile->utters [G] Racial specific utterance for non-talking races (eg. hisses, squawks, screeches, etc.)
@mobile->continentId [G] The ID of the continent in which the mobile resides. Continents at this time have an influence over summon and gate spells since you can't jump between them using these spells. You should never store the continent ID or compare against a a literal integer value since it could change. It is better to store/compare against the key value.
@mobile->continentPtr [G] A unique pointer to the continent data structure that can be used with continent specific resolutions.
@mobile->continentKey [G] The simplified name of the continent which will consist of only alphabetic characters and underscores. If you need to store a continent identifier of compare against an explicit value then you should use this value. Example: western_islands
@mobile->continent [G] The name of the continent as might be displayed to a player. Example: Western Islands
@mobile->areaId [G] The ID of the area in which the mobile resides. You should never store the area ID or compare against a a literal integer value since it could change. It is better to store/compare against the key value.
@mobile->areaPtr [G] A unique pointer to the area data structure that can be used with area specific resolutions.
@mobile->areaKey [G] The simplified name of the area which will consist of only alphanumeric characters and underscores. If you need to store a area identifier of compare against an explicit value then you should use this value. Example: esa_isle
@mobile->area [G] The name of the area as might be displayed to a player. Example: Esa Isle
@mobile->zoneId [G] The ID of the zone in which the mobile resides.
@mobile->zonePtr [G] A unique pointer to the zone data structure that can be used with zone specific resolutions.
@mobile->zone [G] The name of the zone as shown when a zone resets or is loaded.
@mobile->roomId [G] The ID of the room in which the mobile resides.
@mobile->roomPtr [G] A unique pointer to the room data structure that can be used with room specific resolutions.
@mobile->room [G] The name of the room as shown when a player looks at a room.

Variables
You can use these fields to retrieve and set entity, player, and saved variables for the mobile.
@mobile->evars->varName [G,S] Sets or retrieves the value for the mobile's entity variable name "varName".
@mobile->pvars->varName [G,S] Sets or retrieves the value for the mobile's player variable name "varName".
@mobile->svars->varName [G,S] Sets or retrieves the value for the mobile's saved variable name "varName".

Primary Stats (100 point system -- includes mods from spells/skills/eq)
These values are the modified values attributed to the player after any modifiers for spells, skills, or equipment have been applied.

Using the 100 point stat system for primary stats is preferable over the traditional 25 point system since it provides better granularity and doesn't undergo implicit conversion when stats are set and retrieved. While the stat system is based on 100 points there is nothing preventing values over 100.
@mobile->baseCharisma [G,S]
@mobile->baseConstitution [G,S]
@mobile->baseDexterity [G,S]
@mobile->baseIntelligence [G,S]
@mobile->baseStrength [G,S]
@mobile->baseWisdom [G,S]

Primary Stats (100 point system -- unmodified)
These values are the raw unmodified values attributed to the player before any modifiers for spells, skills, or equipment are applied.

Using the 100 point stat system for primary stats is preferable over the traditional 25 point system since it provides better granularity and doesn't undergo implicit conversion when stats are set and retrieved. While the stat system is based on 100 points there is nothing preventing values over 100.
@mobile->realBaseCharisma [G,S]
@mobile->realBaseConstitution [G,S]
@mobile->realBaseDexterity [G,S]
@mobile->realBaseIntelligence [G,S]
@mobile->realBaseStrength [G,S]
@mobile->realBaseWisdom [G,S]

Primary Stats (traditional 25 point system -- includes mods from spells/skills/eq)
These values are the modified values attributed to the player after any modifiers for spells, skills, or equipment have been applied.

Access to the traditional 25 point system is primarily provided as a backward compatibility feature for old scripts that were written for the 25 point system. Values set and retrieved using these fields undergo an implicit transformation from the 100 point system to the 25 point system as described in the help for "stat conversions".
@mobile->charisma [G,S]
@mobile->constitution [G,S]
@mobile->dexterity [G,S]
@mobile->intelligence [G,S]
@mobile->strength [G,S]
@mobile->strengthBonus [G,S] The bonus may be a value from 0 to 100.
@mobile->wisdom [G,S]

Primary Stats (traditional 25 point system -- unmodified)
These values are the raw unmodified values attributed to the player before any modifiers for spells, skills, or equipment are applied.

Access to the traditional 25 point system is primarily provided as a backward compatibility feature for old scripts that were written for the 25 point system. Values set and retrieved using these fields undergo an implicit transformation from the 100 point system to the 25 point system as described in the help for "stat conversions".
@mobile->realCharisma [G,S]
@mobile->realConstitution [G,S]
@mobile->realDexterity [G,S]
@mobile->realIntelligence [G,S]
@mobile->realStrength [G,S]
@mobile->realStrengthBonus [G,S] The bonus may be a value from 0 to 100.
@mobile->realWisdom [G,S]

Miscellaneous Stats (includes mods from spells/skills/eq)
These values are the modified values attributed to the player after any modifiers for spells, skills, or equipment have been applied. Not all fields have an associated field for retrieving the raw value before modifications.
@mobile->alignment [G,S] The mobile's alignment. This should be between -1000 and 1000.
@mobile->armour [G,S] The mobile's armour class.
@mobile->bank [G,S] How much gold is in the bank.
@mobile->classId [G] The ID of the mobile's primary class (if any). If no primary class exists (such as for jack of all trades) then 0 is returned.
@mobile->classPtr [G] A pointer to the class data structure which can be used with class resolutions.
@mobile->class [G,S] The name of the mobile's primary class (if any). If no primary class exists (such as for jack of all trades) then null is returned. The name of the class if one exists will be returned in lower-case. A mobile is considered dedicated when @mobile->class == @mobile->subClass. Only NPC targets may have their class set using this method.
@mobile->damageBonus [G,S] Damage bonus applied to all melee attacks.
@mobile->defender [G] A meta field that returns a pointer to the mobile that defends this mobile in combat. If the mobile is in a rear row with allies before it then this will return a pointer to the foremost ally. Otherwise it will return a pointer to the mob itself.
@mobile->exp [G,S] Alias for @mobile->experience.
@mobile->experience [G,S] The mobile's current experience points.
@mobile->expMax [G,S] The mobile's maximum ever achieved experience points.
@mobile->expToNextLevel [G] A meta field that returns the number of experience points required for the mobile to advance to the next level.
@mobile->expTrophy [G,S] The base number of experience points that this mobile is worth when defeated in combat.
@mobile->expUnused [G] Returns the overflow points of experience that have not yet been used in a dice roll for stat gains. This value is maintained to ensure that players are never "ripped off" with respect to experience gained for a kill.
@mobile->puzzlePoints [G] Returns the current number of puzzle points achieved by the target.
@mobile->genderId [G] Returns the ID of the mobile's gender.
@mobile->gender [G,S] Describes the gender of the mobile. Valid values are: male, female, neuter.
@mobile->gold [G,S] The amount of gold the mobile has on-hand.
@mobile->height [G,S] The height of the mobile in beans. 1 bean is approximately 1cm.
@mobile->hitpoints [G,S] The mobile's current hitpoints.
@mobile->hitrollBonus [G,S] Hotroll bonus applied to all melee attacks.
@mobile->hometown [G,S] The name of the mobile's hometown. This is only applicable to PC mobiles. Values will be returned in lower case (eg. "shayol ghul").
@mobile->invisibilityLevel [G,S] This determines the minimum level at which a mortal can see the mobile. Unlike the invisibility affect, this cannot be bypassed with the detect invisibility affect. The primary purpose of this field is to prevent access to a mobile by a low level mortal or to prevent the mobile from being detected in cases where it's purpose is to create an effect. Such use of mobiles is mostly historical from a time when the scripting engine was incapable of making complex alterations of the world. In such case "lackey" mobiles were used to catch signals to perform tasks such as unlocking doors in such a way as for the mechanism to be undetected.
@mobile->isActionReady [G] A meta field that returns if the mobile is ready for issuing an action command. This will be true if action lag from previous actions has expired. If the mobile is ready then 1 is returned; otherwise 0 is returned.
@mobile->level [G,S] The level of the mobile. This affects the power of its skills and spells and its ability to save versus skills and spells.
@mobile->mana [G,S] The amount of mana currently available to the mobile.
@mobile->maxHitpoints [G,S] The maximum number of hitpoints available to the mobile when it is completely rested.
@mobile->maxMana [G,S] The maximum amount of mana available to the mobile when it is completely rested.
@mobile->maxMoves [G,S] The maximum number of moves available to the mobile when it is completely rested.
@mobile->moves [G,S] The number of moves currently available to the mobile. NPC mobiles are not limited when travelling by their movement points.
@mobile->position [G,S] The current position of the mobile. This can be any one of: dead mortally wounded incapacitated stunned sleeping resting sitting fighting standing
@mobile->positionId [G,S] The current position ID of the mobile. This field is deprecated since the @mobile->position field is much more flexible and maintainable.
@mobile->positionDefault [G,S] The default position of the mobile. See @mobile->position for possible values.
@mobile->positionIdDefault [G,S] The default position ID of the mobile. This field is deprecated since the @mobile->position field is much more flexible and maintainable.
@mobile->practices [G,S] The number of practice points currently available to the mobile.
@mobile->raceId [G] The ID of the mobile's race. This field is deprecated since the @mobile->race field is much more flexible and maintainable.
@mobile->racePtr [G] A pointer to the race data structure for use with race resolutions.
@mobile->race [G,S] The mobile's race. This will return the textual name of the race in all lower-case (eg. troll, human, halfling, ...). Only NPC targets may have their race set using this method.
@mobile->reputation [G] Not yet properly supported.
@mobile->row [G,S] The current row in which the mobile resides with respect to grouping.
@mobile->sex [G,S] Alias for @mobile->gender.
@mobile->subClassId [G] The ID of the mobile's secondary class (if any). If no primary class exists (such as for jack of all trades) then 0 is returned.
@mobile->subClassPtr [G] A pointer to the sub class data structure which can be used with class resolutions.
@mobile->subClass [G,S] The name of the mobile's secondary class (if any). If no secondary class exists (such as for jack of all trades) then null is returned. The name of the class if one exists will be returned in lower-case. A mobile is considered dedicated when @mobile->class == @mobile->subClass. Only NPC targets may have their sub-class set using this method.
@mobile->thac0 [G,S] The current (T)o (H)it (A)rmour (C)lass (0) value for the mobile. Unless you know what you're doing don't use this field. Even if you do know what you're doing you probably shouldn't use this field since it doesn't quite work the way it should.
@mobile->weight [G,S] The mobile's current weight in stones. 1 stone is approximately 1 pound.
@mobile->wimpy [G,S] Defines at which point the mobile will attempt to automatically flee from combat. A value of 0 means no automatic attempt to flee will be made.
@mobile->isJailed [G] A meta field that returns 1 if the mobile has been jailed, and returns 0 otherwise.
@mobile->isPc [G] A meta field that returns 1 if the mobile is a PC character, and returns 0 otherwise.
@mobile->isNpc [G] A meta field that returns 1 if the mobile is an NPC character, and returns 0 otherwise.
@mobile->isPet [G] A meta field that returns 1 if the mobile is a pet, and returns 0 otherwise.
@mobile->isConscious [G] A meta field that returns 1 if the mobile is conscious (position greater than sleeping), and returns 0 otherwise.
@mobile->isUnconscious [G] A meta field that returns 1 if the mobile is unconscious (position less than or equal to sleeping), and returns 0 otherwise.
@mobile->isCharm [G] A meta field that returns 1 if the mobile is a charm, and returns 0 otherwise.
@mobile->isPossessed [G] A meta field that returns 1 if the mobile is possessed, and returns 0 otherwise.
@mobile->isSwitched [G] A meta field that returns 1 if the mobile is switche (possessing another mobile), and returns 0 otherwise.
@mobile->isLinkDead [G] A meta field that returns 1 if the mobile is link-dead, and returns 0 otherwise.

Miscellaneous Stats (unmodified)
These values are the raw unmodified values attributed to the player before any modifiers for spells, skills, or equipment are applied.
@mobile->realArmour [G,S]
@mobile->realDamageBonus [G,S]
@mobile->realHitrollBonus [G,S]
@mobile->realMaxHitpoints [G,S]
@mobile->realMaxMana [G,S]
@mobile->realMaxMoves [G,S]
@mobile->realName [G]
@mobile->realRaceId [G]
@mobile->realRacePtr [G]
@mobile->realRace [G]
@mobile->realGenderId [G]
@mobile->realGender [G]
@mobile->realPositionIdDefault [G]
@mobile->realPositionDefault [G]
@mobile->realThac0 [G,S]

Saves (includes mods from spells/skills/eq)
Saves affect a mobiles ability to reduce the affect of an offensive affect for which a saving throw is made. Negative values are better for the mobile than positive values.

These values are the modified values attributed to the player after any modifiers for spells, skills, or equipment have been applied. Not all fields have an associated field for retrieving the raw value before modifications.
@mobile->saves->breath [G,S] Ability to save versus "breath" type affects. For instance when dragon's breath, whirlwind, etc. For some reason even earthquake is under this one :/
@mobile->saves->paralyze [G,S] Not currently in use.
@mobile->saves->petrify [G,S] Pword fear uses this one.
@mobile->saves->prayer [G,S] Most offensive piety based spells use this.
@mobile->saves->rod [G,S] Not currently used.
@mobile->saves->spell [G,S] Most offensive arcana based spells use this.

Equipment
These fields relate to a mobile's levels of satiation/drunkeness.
@mobie->buzz
@mobile->drunk
[G,S] This defines how "buzzed" the mobile is. 0 means no buzz.
@mobile->hunger [G,S] This determines how hungry a mobile is. A value of 0 means not hungry at all (equivalent to completely full). The value this can go to is dependent on race with larger more ravenous races having a larger capacity for hunger.
@mobile->thirst [G,S] This determines how thirsty a mobile is. A value of 0 means not hungry at all (equivalent to completely quenched). The value this can go to is dependent on race with larger more ravenous races having a larger capacity for thirst.

Equipment
These fields allow moving items to specific equipment locations and retrieving any item that is in a specific equipment position. Items worn by assigning the item to the equipment field do not trigger catch_wear scripts.
@mobile->equipment [G]
@mobile->equipment->about [G,S]
@mobile->equipment->arms [G,S]
@mobile->equipment->body [G,S]
@mobile->equipment->feet [G,S]
@mobile->equipment->hands [G,S]
@mobile->equipment->head [G,S]
@mobile->equipment->held [G,S]
@mobile->equipment->leftFinger [G,S]
@mobile->equipment->leftWrist [G,S]
@mobile->equipment->legs [G,S]
@mobile->equipment->light [G,S]
@mobile->equipment->neck1 [G,S]
@mobile->equipment->neck2 [G,S]
@mobile->equipment->rightFinger [G,S]
@mobile->equipment->rightWrist [G,S]
@mobile->equipment->shield [G,S]
@mobile->equipment->waist [G,S]
@mobile->equipment->wielded [G,S]

Equipment (short alias)
Exactly the same as the equipment field counterparts except less typing is involved :)
@mobile->eq [G]
@mobile->eq->about [G,S]
@mobile->eq->arms [G,S]
@mobile->eq->body [G,S]
@mobile->eq->feet [G,S]
@mobile->eq->hands [G,S]
@mobile->eq->head [G,S]
@mobile->eq->held [G,S]
@mobile->eq->leftFinger [G,S]
@mobile->eq->leftWrist [G,S]
@mobile->eq->legs [G,S]
@mobile->eq->light [G,S]
@mobile->eq->neck1 [G,S]
@mobile->eq->neck2 [G,S]
@mobile->eq->rightFinger [G,S]
@mobile->eq->rightWrist [G,S]
@mobile->eq->shield [G,S]
@mobile->eq->waist [G,S]
@mobile->eq->wielded [G,S]

Inventory
These fields can be used to retrieve and move items into the mobile's inventory.
@mobile->inventory [G] Returns an array consisting of pointers to the items in the mobile's inventory (this does not included equipped items or items in the special affects inventory).
@mobile->inventory->first [G,S] Returns the first item in the mobile's inventory. If assigned a value then the assigned item is moved to the first position in the mobile's inventory.
@mobile->inventory->head [G,S] An alias for @mobile->inventory->first.
@mobile->inventory->last [G,S] Returns the last item in the mobile's inventory. If assigned a value then the assigned item is moved to the last position in the mobile's inventory.
@mobile->inventory->tail [G,S] An alias for @mobile->inventory->last.

Inventory (short alias for inventory field)
Exactly the same as the inventory field counterparts except less typing is involved :)
@mobile->inv [G] Alias for @mobile->inventory.
@mobile->inv->first [G,S] Alias for @mobile->inventory->first.
@mobile->inv->head [G,S] Alias for @mobile->inventory->head.
@mobile->inv->last [G,S] Alias for @mobile->inventory->last.
@mobile->inv->tail [G,S] Alias for @mobile->inventory->tail.

Buffs
Fields for retrieving information about any buffs on the mobile.
@mobile->buffs [G] Returns an array of buff pointers currently on the mobile. Entries are indexed sequentially from 1 onward.
@mobile->buffs->first [G,S] Returns a pointer to the first buff on the mobile.
@mobile->buffs->last [G,S] Returns a pointer to the last buff on the mobile.
@mobile->buffs->head [G,S] An alias for @mobile->buffs->first
@mobile->buffs->tail [G,S] An alias for @mobile->buffs->last
@mobile->buffs->add [G,S] An alias for @mobile->buffs->last

Special Effects Inventory (mobile cannot interact with these)
The special affects inventory is a special inventory of items with which the mobile cannot directly interact. Special affects are used to apply modifiers to mobiles in the same way as worn equipment, or to hook into the trigger system to provide effects without requiring an item to be worn. For example the vampirism system is implemented using two special effects items that swap in and out between nightime and daytime. Similarly, the spell summon places a special effect item on the target PC and overrides the accept command to facilitate acceptance of the summons. Another example is the slit throat skill and it's use of a special effect item to facilitate continued bleeding and the bleeding description for the room and score views.
@mobile->iaffects [G,S] Returns an array consisting of pointers to the items in the mobile's special affects inventory.
@mobile->iaffects->first [G,S] Returns the first item in the mobile's special affects inventory. If assigned a value then the assigned item is moved to the first position in the mobile's special affects inventory.
@mobile->iaffects->head [G,S] An alias for @mobile->iaffects->first.
@mobile->iaffects->last [G,S] Returns the last item in the mobile's special affects inventory. If assigned a value then the assigned item is moved to the last position in the mobile's special affects inventory.
@mobile->iaffects->tail [G,S] An alias for @mobile->iaffects->last.

Flags
Flags are boolean values that enable or disable features for the mobile. Many flags are enabled by virtue of the mobile's race, spell/skill affects, and equipment. To set a flag you can assign the value 1, to disable a flag you can assign the value 0.
@mobile->flags->aggroToEvil [G,S] When set the mobile is aggressive toward creatures having alignment <= -350.
@mobile->flags->aggroToGood [G,S] When set the mobile is aggressive toward creatures having alignment >= 350.
@mobile->flags->ansiColour [G] When set the mobile has ANSI colours enabled.
@mobile->flags->antimagic [G,S] When set the mobile is affected by anti-magic.
@mobile->flags->autoSkills [G,S] When set the internal engine will automatically cause the mobile to use skills as necessary. If you find the automated system is impeding your specialized scripts then you can disable them using this flag and manually craft its AI.
@mobile->flags->autoSpells [G,S] When set the internal engine will automatically cause the mobile to use spells as necessary. If you find the automated system is impeding your specialized scripts then you can disable them using this flag and manually craft its AI.
@mobile->flags->bash [G,S] When set the mob has not yet recovered from being bashed.
@mobile->flags->blind [G,S] When set the mobile is blinded.
@mobile->flags->canSeeEverything [G,S] When set, the mobile can see everything except things that are wizinvis. This includes things that are hidden, shidden, or obscured by the dark. This should never be set on a PC.
@mobile->flags->channel [G,S] Deprecated. Do not use.
@mobile->flags->charm [G,S] When set the mobile is under the influence of charm. This flag is used in multiple scenarios not necessarily relating to the charm spell. For instance recruits, zombies, dancing swords all fall under the influence of this flag.
@mobile->flags->chillTouch [G,S] When set the mobile has the chill touch ability.
@mobile->flags->circle [G,S] Not currently used.
@mobile->flags->comprehension [G,S] When set the mobile can comprehend all languages.
@mobile->flags->cursed [G,S] When set the mobile is cursed.
@mobile->flags->deadlyPoison [G,S] When set the mobile will suffer from deadly poison affects.
@mobile->flags->deathsDoor [G,S] When set the mobile is protected by death's door. This is only valid for PC mobiles.
@mobile->flags->detectAura [G,S] When set the mobile can detect the auto of other mobiles.
@mobile->flags->detectInvisible [G,S] When set the mobile can detect invisible mobiles and objects.
@mobile->flags->detectMagic [G,S] When set the mobile can detect an auro of magic when an item has magical properties (see @object->flags->isMagical).
@mobile->flags->dominated [G,S] When set the mobile is subjected to the domination. This is similar to charm in that the affected mobile will follow its master around. However, unlike charm domination does not allow the master to issue commands. Befriended animals fall under this category.
@mobile->flags->fear [G,S] When set th emobile is affected by fear. Fear causes the mobile to flee in panic when in the presence of a mobile it hates.
@mobile->flags->feebleMind [G,S] When set the mobile is affected by feeble mind. Feeble mind decreases the quality of arcana and piety spells.
@mobile->flags->feignDeath [G,S] When set the mobile is affected by feign death. They will appear as a corpse in the room to onlookers.
@mobile->flags->fieryVortex [G,S] When set the mobile will be surrounded by a fiery vortex.
@mobile->flags->fistsOfFury [G,S] When set the mobile will be affected by fists of fury.
@mobile->flags->fly [G,S] When set the mobile will be flying.
@mobile->flags->follow [G,S] When set the mobile is marked as following some leader. The leader may not necessarily be present in the same room.
@mobile->flags->footParalysis [G,S] Mobile can't use feet (snares use this flag).
@mobile->flags->forceTrophyExp [G,S] The game normally calculates the experience gained for killing a particular mob so that the process is unform across the game. In exceptional circumstances it can be necessary to force the game to use a defined amount of experience (such as for clones produced by multiplicity spell). When this flag is enabled the value of expTrophy will be awarded when the mobile is killed.
@mobile->flags->group [G,S] When set the mobile is a member of some group. I don't recall the distinction between this flag and the follow flag.
@mobile->flags->handParalysis [G,S] Mobile can't use hands (not supported).
@mobile->flags->hide [G,S] When set the mobile will be hidden from view and only detectable when the viewer is affected by sense life.
@mobile->flags->hitsRegenDouble [G,S] When set the mobile will regenerate hitpoints at twice their base hitpoint regeneration rate.
@mobile->flags->hitsRegenHalf [G,S] When set the mobile will regenerate hitpoints at half their base hitpoint regeneration rate.
@mobile->flags->infravision [G,S] When set the mobile will be affected by infravision and will be able to see mobiles in dark rooms.
@mobile->flags->insanity [G,S] When set the mobile will be affected by insanity.
@mobile->flags->invisible [G,S] When set the mobile will be invisible to onlookers not affected by detect invisible. Sense life will also reveal their presence, but they cannot be targetted with sense life alone.
@mobile->flags->invulnerability [G,S] When set the mobile is immune to damage.
@mobile->flags->isActionReady [G] A meta field that returns if the mobile is ready for issuing an action command. This will be true if action lag from previous actions has expired. If the mobile is ready then 1 is returned; otherwise 0 is returned.
@mobile->flags->isGuide [G,S] When set the mobile is marked as a guide and will not return to it's starting location when also marked as a sentinel.
@mobile->flags->isJailed [G] A meta field that returns 1 if the mobile has been jailed and returns 0 otherwise.
@mobile->flags->isUndead [G] A meta that returns 1 when the mobile is one of the undead races and 0 otherwise.
@mobile->flags->isJailed [G] A meta field that returns 1 if the mobile has been jailed, and returns 0 otherwise.
@mobile->flags->isPc [G] A meta field that returns 1 if the mobile is a PC character, and returns 0 otherwise.
@mobile->flags->isNpc [G] A meta field that returns 1 if the mobile is an NPC character, and returns 0 otherwise.
@mobile->flags->isPet [G] A meta field that returns 1 if the mobile is a pet, and returns 0 otherwise.
@mobile->flags->isCharm [G] A meta field that returns 1 if the mobile is a charm, and returns 0 otherwise.
@mobile->flags->isPossessed [G] A meta field that returns 1 if the mobile is possessed, and returns 0 otherwise.
@mobile->flags->isSwitched [G] A meta field that returns 1 if the mobile is switche (possessing another mobile), and returns 0 otherwise.
@mobile->flags->isLinkDead [G] A meta field that returns 1 if the mobile is link-dead, and returns 0 otherwise.
@mobile->flags->lichTouch [G,S] When set the mobile is affected by lich touch.
@mobile->flags->manaRegenDouble [G,S] When set the mobile will regenerate mana at twice their base mana regeneration rate.
@mobile->flags->manaRegenHalf [G,S] When set the mobile will regenerate mana at half their base mana regeneration rate.
@mobile->flags->manaShield [G,S] When set the mobile will replace hitpoint penalties with mana penalties when their hitpoints have reached zero and they take damage.
@mobile->flags->movesImpaired [G,S] Not currently used.
@mobile->flags->movesRegenDouble [G,S] When set the mobile will regenerate moves at twice their base moves regeneration rate.
@mobile->flags->movesRegenHalf [G,S] When set the mobile will regenerate moves at half their base moves regeneration rate.
@mobile->flags->niceThief [G,S] When set on an NPC mobile then the mobile will be "nice" to other mobiles attempting to steal from it. By "nice" the mobile won't attack, but instead give the thief a warning.
@mobile->flags->noCatchLooking [G,S] When set, the mobile will never be caught looking at another mobile. This can be useful when you want to get the examine information for a mobile via output buffering.
@mobile->flags->noHold [G,S] When set the mobile is unable to hold items in its off-hand.
@mobile->flags->noStun [G,S] When set the mobile is immune to lag from commands and actions.
@mobile->flags->noWear [G,S] When set the mobile cannot wear equipment.
@mobile->flags->noWield [G,S] When set the mobile cannot wield anything.
@mobile->flags->paralysis [G,S] When set the mobile is affected by paralysis. This is a meta flag that corresponds the state of both the handParalysis and footParalysis flags. Setting this flag will set both of them, unsetting this flag will unset both of them.
@mobile->flags->parry [G,S] When set the mobile will attempt to parry melee attacks.
@mobile->flags->poison [G,S] When set the mobile will suffer from poison affects.
@mobile->flags->protectionFromEvil [G,S] When set the mobile will not be attackable by evil mobiles of considerably lower level. This flag can be bypased by scripts.
@mobile->flags->regenerate [G,S] When set the mobile will regenerate hitpoints, mana, and moves 33% faster than their base rate.
@mobile->flags->sanctuary [G,S] When set the mobile will have any damage dealt to it reduced by 1/3.
@mobile->flags->scavenger [G,S] When set the mobile will act as a scavenger and randomly pick up stuff lying about. Corpses are excepted from scavenging; however, scripts may explicitly have a mobile pick up or loot a corpse.
@mobile->flags->senseLife [G,S] When set the mobile can detect lifeforms in the room that may be hidden or invisible. The ability to sense life does not provide the identity of the sense lifeform.
@mobile->flags->sentinel [G,S] When set the mobile will not wander around the world. If the mobile finds itself in a location other than the room in which it loaded then it will attempt to walk back (this happens when it flees, is commanded, charm runs out, summon, etc).
@mobile->flags->shide [G,S] When set the mobile will move about the world as though affected by both sneak and hide.
@mobile->flags->shockingGrasp [G,S] When set the mobile will deal a shock to an opponent engaged in melee combat.
@mobile->flags->shopKeeperAccept [G,S] When set shopkeeper mobiles may accept items not listed in their shop supplies. This enables shopkeepers to also play parts in quests. When this flag is enabled, the builder should take extra care to ensure that the shopkeeper properly purges items from its inventory that should not be available for sale.
@mobile->flags->sickness [G,S] When set the mobile will suffer the effects of sickness.
@mobile->flags->silence [G,S] When set the mobile will be unable to use verbal commands/spells. This is very detrimental to magic user's effectiveness.
@mobile->flags->sleep [G,S] When set the mobile will be unable to wake up at will.
@mobile->flags->smartCharm [G,S] When set the mobile will continue to be able to use any scripts defined for when charmed, befriended, or trained.
@mobile->flags->snare [G,S] Not currently used. This was originally used for the snare skill in old Cythera, but WoC uses the footParalysis flag instead which allows for more generic use.
@mobile->flags->sneak [G,S] When set the mobile will not be noticed by other mobiles when moving from room to room.
@mobile->flags->stayArea [G,S] When set an NPC mobile will not wander outside of its current area.
@mobile->flags->stayZone [G,S] When set an NPC mobile will not wander outside of its current zone.
@mobile->flags->summoned [G,S] When set the mobile is considered a "summoned" creature. This has no bearing on the summon spell but is used by such spells as "dispel evil", "holy word", "corrupt", and "unholy word".
@mobile->flags->sweeping [G,S] No longer used.
@mobile->flags->trained [G,S] When set the mobile is considered trained. This is used by the animal training skill to mark a creature as being a trained pet.
@mobile->flags->vampireDaywalk [G,S] When set the mobile may walk freely in the sunlight even when it is a vampire.
@mobile->flags->waterBreath [G,S] When set the mobile can breath underwater.
@mobile->flags->waterOnly [G,S] When set the mobile will die if removed from a water terrain.
@mobile->flags->waterWalk [G,S] When set the mobile can walk upon water a la Jesus.
@mobile->flags->wimpy [G,S] When set the NPC mobile will automatically attempt to flee from combat when its hitpoints drop below 20%.

Imposter Specific Information
Imposter is the generic replacement for the disguise system. Unlike disguise an imposter can be assigned one or many attributes as part of the masquerade. Additionally, NPCs are no longer excluded from the fun. The disguise skill itself uses the imposter system along with an imposter type buff timer for expiration.
@mobile->imposter->isImposter [G,S] Returns 1 if the mobile is currently masquerading as an imposter; otherwise returns 0. If assigned a value of 1 then a new imposter is intialised without any specific masquerading. If assigned a value of 0 then any the masquerade is removed and the mobile is no longer an imposter.
@mobile->imposter->mobileId [G] Returns the ID of the mobile (if any) used to generate the imposter's masquerade.
@mobile->imposter->mobile [G,S] Returns the name of the mobile (if any) used to generate the imposter's masquerade. A mobile ID, mobile pointer, or corpse object pointer may be assigned to this field to have the mobile masquerade as the associated mobile.
@mobile->imposter->raceId [G] Returns the ID of the imposter's masquerading race if one has been assigned.
@mobile->imposter->racePtr [G] Returns a pointer to the imposter's masquerading race structure if one has been assigned.
@mobile->imposter->race [G,S] Returns the name of the imposter's masquerading race if one has been assigned. Alternatively, a race ID, race name, or race pointer can be assigned to the field to have the mobile masquerade as that race.
@mobile->imposter->genderId [G] Returns the ID of the imposter's masquerading gender if one has been assigned.
@mobile->imposter->gender [G,S] Returns the name of the imposter's masquerading gender if one has been assigned. Alternatively, a gender ID, gender name, or gender pointer can be assigned to the field to have the mobile masquerade as that gender.
@mobile->imposter->positionIdDefault [G] Returns the ID of the imposter's masquerading default position if one has been assigned.
@mobile->imposter->positionDefault [G,S] Returns the name of the imposter's masquerading default position if one has been assigned. Alternatively, a position ID or position name can be assigned to the field to have the mobile masquerade with that default position.
@mobile->imposter->keywords [G,S] Returns the keywords that can target the imposter. Assigning a value sets the keywords that can target the imposter. When a mobile imposter is generated via the disguise skill, the keywords are merged from the first keyword of the masquerade, the original mobile's keywords, and all the keywords of the masquerade. In this way the imposter can still be targeted by their original keywords.
@mobile->imposter->descAction [G,S] Returns the short description used for actions and activities. Assigning a value sets the action description for the the imposter. For instance setting this to "a Large Slime" would result in the following kinds of output: "a Large Slime leaves east."; "You are slapped by a Large Slime."
@mobile->imposter->descRoom [G,S] Returns the longer room description used when the mobile is viewed in a room in their default position. Assigning a value sets the room description for the imposter. If the mobile is not in their default position then the action description is used and appended with their current position.

Vampire Specific Information
Vampirism is a combination of internal attributes on a mobile and the vampirism special affect items. The fields here for the most part hook into the internal structures. In some cases though, notably the isCompleteVapire field, the field is a meta field that provides aggregate behaviour based on both internal and special affect information. For instance, the isCompleteVampire field checks that both the appropriate internal fields exist and that the special affect item is in the special affects inventory. Additionally, assigning 0 to the field causes the internal structure to be wiped and the special affect item to be removed.
@mobile->vampire->bloodline [G,S] The vampires current bloodline. Currently the only activated bloodline is "Veer Van Vladmeir".
@mobile->vampire->bloodlineId [G,S] The ID of the bloodline. This field shouldn't be used unless comparing against another ID. The @mobile->vampire->bloodline field is much more maintainable with respect to future changes.
@mobile->vampire->bloodlust [G,S] How well the vampire's bloodlust is satiated. The higher the better. If the value drops to 0 then the vampire will die.
@mobile->vampire->generation [G,S] The vampire's generation. A vampire created by drinking from the unholy chalice will be generation 1. Vampires turned by generation 1 vampires will be generation 2. Vampires turned by generation 2 vampires will be generation 3 vampires, etc, etc.
@mobile->vampire->infectedById [G,S] The unique player ID of the PC mobile that turned the infected mobile. If no such patron/matron exists then this will be 0.
@mobile->vampire->infectedByName [G,S] The name of the source of the infection. This will also be set if the mobile was turned by the chalice or some other non-mobile source.
@mobile->vampire->infection [G,S] The current infection level of the mobile. This is used in conjunction with bloodlust to determine when the mobile is ready for completion of the transformation to vampire.
@mobile->vampire->infectionTime [G,S] A unix timestamp of when the mobile was turned.
@mobile->vampire->infectionTimespan [G,S] I don't remember *lol*.
@mobile->vampire->isCompleteVampire [G,S] A meta field that can be used to check whether a mobile has completely transformed to a vampire or not. Alternatively it can be assigned a 1 or a 0 to make the target mobile a vampire or completely remove vampirism from the mobile respectively.
@mobile->vampire->isVampire [G,S] Returns true if the mobile is a vampire or is becoming a vampire.