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.
| |
|