Complete reference for mobile behavior flags
This document provides comprehensive information about all mobile
flags (MOB_*) used in LuminariMUD. Mobile flags control NPC
behaviors, abilities, restrictions, and special mechanics throughout the
game world.
Mobile flags are bitflags defined in src/core/structs.h
and are checked throughout the codebase using the
MOB_FLAGGED() macro. There are currently 126 mobile
flags (indices 0-125, NUM_MOB_FLAGS) that control
everything from basic AI behavior to special monster abilities.
Usage Pattern:
if (MOB_FLAGGED(mob, MOB_FLAGNAME)) {
// Flag is set, apply behavior/restriction
}MOB_* define is a flagsrc/core/structs.h and its neighbours contain many
constants beginning with MOB_ that are not
action-flag bit numbers. They are mobile vnums and summon identifiers
that happen to share the prefix:
| Example | Value | What it actually is |
|---|---|---|
MOB_GHOST_WOLF |
801 | A mobile vnum |
MOB_DIRE_RAT |
9400 | A mobile vnum |
MOB_MOUNT_SPELL |
101320 | A summon identifier |
Because bit numbers only run 0-124, values above that range are a
reliable tell - but the ranges also collide.
MOB_BLOCK_E is bit 46 and MOB_DIRE_SPIDER is
vnum 46; nothing in the name distinguishes them.
If you are grepping for MOB_ to enumerate flags, do not.
The authoritative list of action flags is the action_bits[]
table in src/core/constants.c, whose index is the
bit number, terminated by a "\n" entry. Anything not in
that table is not an action flag, whatever it is called.
Effect: Indicates the mobile has a special procedure (spec-proc) attached.
Code References:
src/spec/spec_assign_mobiles.c, src/spec/,
feature-owned procedure modules
Effect: Mobile will not move from its current location.
Code References:
src/mob/mob_act.c - Prevents random movement
(owner-local mobile agenda)src/mob/mob_act.c - Position management for sentinels
(owner-local mobile agenda)src/core/utils.c - Drag restrictions
(push_attempt())Effect: Mobile picks up items from the ground.
Code References: mob_act.c:162
Effect: Mobile cannot be backstabbed or surprise attacked.
Code References:
src/combat/act.offensive.c - Backstab prevention
(do_backstab(), do_circle())src/combat/act.offensive.c - Sneak attack prevention
(do_backstab(), do_circle())Effect: Mobile flees when severely injured.
Code References:
src/combat/fight.c - Flee trigger check
(damage())src/mob/mob_act.c - Wimpy behavior handling
(owner-local mobile agenda)Effect: Marks mobile as sentient/intelligent.
Effect: Mobile enters room if it hears fighting nearby.
Effect: Mobile emits light.
Effect: Mobile automatically attacks all nearby characters.
Code References:
src/mob/mob_act.c - Aggression trigger (owner-local
mobile agenda)src/core/limits.c - Set during rage/charm effects
(proc_d20_round_one())src/core/db.c - Boot-time validation with alignment
aggro flags (parse_mobile())Effect: Mobile attacks evil-aligned characters on sight.
Effect: Mobile attacks good-aligned characters on sight.
Effect: Mobile attacks neutral-aligned characters on sight.
Effect: Mobile cannot be charmed or mind-controlled.
Code References:
src/magic/spells.c - Charm spell blocking
(effect_charm())src/combat/spec_abilities.c - Ability-based charm
blocking (process_weapon_abilities(),
process_item_abilities())Effect: Mobile cannot be summoned or teleported.
Effect: Mobile cannot be put to sleep.
Effect: Mobile cannot be bashed or knocked down.
Effect: Mobile cannot be blinded.
Effect: Mobile cannot be attacked by players.
Effect: Mobile cannot be deafened.
Effect: Mobile cannot be grappled or grabbed.
Effect: Mobile cannot be confused.
Effect: Mobile cannot be paralyzed.
Effect: Mobile cannot be stolen from.
Effect: Mobile will not wander outside its home zone.
Effect: Mobile physically blocks movement in specific directions.
Characters cannot pass through in the blocked direction unless they meet bypass conditions.
Code References: movement.c:622-640
Effect: When blocking, allows characters of same class to pass.
Code References: movement.c:645
Effect: When blocking, allows characters of same race to pass.
Code References: movement.c:643
Effect: When blocking, allows lower-level characters to pass.
Code References: movement.c:649
Effect: When blocking, allows characters of same alignment to pass.
Code References: movement.c:651-655
Effect: When blocking, allows characters of same ethos to pass.
Effect: Specifically blocks evil-aligned characters.
Code References: movement.c:657
Effect: Specifically blocks neutral-aligned characters.
Code References: movement.c:659
Effect: Specifically blocks good-aligned characters.
Code References: movement.c:661
Effect: Mobile remembers characters who attack it.
Code References:
src/mob/mob_memory.c - Memory system check
(is_in_memory())src/combat/fight.c - Adding to memory
(dam_killed_vict(), damage(),
hit())src/movement/graph.c - Pathfinding to remembered
enemies (hunt_victim())Effect: Mobile assists other NPCs fighting against players.
Code References:
src/mob/mob_act.c - Helper behavior logic (owner-local
mobile agenda)src/core/limits.c - Removed when mob becomes aggressive
(proc_d20_round_one())Effect: Mobile protects citizens and assists them in combat.
Code References:
src/mob/mob_act.c - Guard protection logic (owner-local
mobile agenda)src/quest/missions.c - Mission guard assignment
(create_mission_mobs())Effect: Mobile is protected by guards.
Code References:
src/mob/mob_act.c - Protection checks (owner-local
mobile agenda)src/quest/missions.c - Citizen designation
(create_mission_mobs())Effect: Mobile actively tracks down and hunts enemies.
Code References:
src/mob/mob_act.c - Hunter behavior trigger
(owner-local mobile agenda)src/combat/fight.c - Hunt initiation
(damage())Effect: Mobile will assist other mobs in its group/following.
Code References: mob_act.c:303 -
Assistance logic
Effect: Mobile hunts specific target(s).
Effect: Mobile is a ranger’s animal companion.
Effect: Mobile is a wizard’s/sorcerer’s familiar.
Effect: Mobile is a summoned/companion mount.
Effect: Mobile can be mounted and ridden.
Code References:
src/act/act.other.c - Mount command checks
(do_mount(), do_tame())src/movement/movement_cost.c - Movement cost
adjustments (get_speed())src/character/evolutions.c - Eidolon mountable flag
(assign_eidolon_evolutions())Effect: Mobile is an elemental creature.
Effect: Mobile is animated undead.
Effect: Mobile is a summoned planar ally.
Effect: Mobile is a hired mercenary.
Effect: Mobile is a shadowdancer’s shadow companion.
Effect: Mobile is a Children of the Night vampire companion.
Effect: Mobile is a vampire spawn.
Effect: Mobile is a dragon knight’s mount.
Effect: Mobile created via mummy dust spell.
Effect: Mobile is a summoner’s eidolon.
Effect: Mobile is a genie or genie-type creature.
Effect: Mobile is a companion dragon.
Effect: Mobile is a leadership retainer/cohort.
Effect: Mobile can perform grapple attacks.
Effect: Mobile can petrify enemies.
Effect: Mobile can fire tail spikes.
Effect: Mobile can drain character levels.
Effect: Mobile can charm enemies.
Effect: Mobile can blink (short-range teleport).
Effect: Mobile can engulf enemies.
Effect: Mobile can cause fear in enemies.
Effect: Mobile has corruption touch/attack.
Code References: fight.c:11963 -
Corruption attack trigger
Effect: Mobile can swallow enemies whole.
Effect: Mobile can fly.
Effect: Mobile has poisonous attacks.
Code References: fight.c:11956 - Poison
attack trigger
Effect: Mobile regenerates HP quickly.
Effect: Mobile can paralyze enemies.
Effect: Mobile can breathe fire.
Effect: Mobile can breathe lightning.
Effect: Mobile can breathe poison gas.
Effect: Mobile can breathe acid.
Effect: Mobile can breathe frost/cold.
Effect: Mobile is immune to magic.
Effect: Mobile is naturally invisible.
Effect: Read-only flag automatically set on all NPCs.
Important: This is a system flag that should never be manually toggled.
Effect: Read-only flag indicating mobile is being extracted.
Important: This is a system flag that should never be manually toggled.
Effect: Mobile will not engage in combat.
Effect: Mobile has no character class.
Effect: Broadcasts message to entire game when killed.
Effect: Broadcasts message when this mob kills a player.
Effect: Mobile uses custom gold drop amounts.
Effect: Disables AI routines for this mobile.
Effect: Mobile uses advanced AI for responses.
Effect: Mobile is part of wilderness random encounter system.
Effect: Mobile represents an object (quest board, etc.).
Effect: Mobile can accept and complete supply orders.
Effect: Mobile has unlimited spell slots.
Effect: The mobile uses the stat modifiers written on its prototype instead of the defaults for its category.
medit are applied
verbatimCode References:
src/core/utils.c - Stat application
(apply_mob_stat_modifiers())Encounter tier is sometimes called the mob tier flag, but it is not
an action-bit flag and does not consume a MOB_* bit. Each
mobile has one mutually exclusive Tier: value: Standard
(0), Elite (1), Small Group (2), Big Group (3), Raid (4), or World Boss
(5). Level controls competence; tier controls encounter-size
pressure.
Builders select the tier from the main MEDIT menu, then use autoroll after setting race, subraces, size, class, and level. The complete established autostat calculation runs first. Standard and an unspecified tier add nothing; higher tiers then add saved HP, hitroll, armor, and damroll.
Tier is not read by the loader or combat system to add live bonuses. Editing Tier does not change existing statistics; rerun autoroll to calculate and save the new tier result. The established level-31-to-34 base behavior always remains active.
Code References:
src/mob/mob_autoroll.c - Post-base saved-stat Tier
bonusessrc/olc/medit.c - Builder selection and tier-aware
autorollsrc/core/db.c and src/olc/genmob.c -
Tier: loading and savingEnhanced mobile files persist base spell resistance as
SpellRes: from 0 through 100. MEDIT exposes the same value
in its advanced statistics menu. Loading clamps the field to that range,
and OLC save writes a nonzero base value back to disk. Autoroll can
replace it from the selected race profile, so set identity before
running automatic statistics.
Code References:
src/core/db.c - SpellRes: loadingsrc/olc/genmob.c - SpellRes: savingsrc/olc/medit.c - display, edit, and autoroll
ownershipEffect: Prevents the Ghost perk and similar abilities from slipping past this mobile’s blocking.
Code References:
src/movement/movement.c - Block bypass check
(do_simple_move())Effect: Marks the mobile as a constructed golem.
Code References:
src/act/act.other.c - Golem commands
(do_destroygolem(), do_golemrepair())src/craft/crafting_new.c - Golem crafting and repair
(has_golem_follower(), craft_golem_complete(),
can_repair_golem())src/core/utils.c - Follower tracking
(can_add_follower())src/combat/fight.c - Corpse generation
(make_corpse())Effect: The mobile cannot be teleported.
Code References:
src/magic/spells.c - Teleport target check
(spell_teleport())src/magic/magic.c - Creation placement
(mag_creations())Effect: Preserve shared Realms of Luminari mobile behaviors during deterministic conversion.
MOB_ROL_NICE_THIEF allows stealing but suppresses
automatic retaliation when caughtMOB_ROL_STAY_SECTOR restricts random wandering to the
mobile’s current sectorMOB_ROL_DELAY_HUNTER becomes MOB_HUNTER
after the mobile falls below 90 percent HPMOB_ROL_ARCHER lets an equipped mobile fire a launcher,
or throw an eligible wielded weapon when no usable launcher exists, at a
valid target one room away. Ordinary mobiles do not gain automatic
throwing merely by wielding a throwable weapon.MOB_ROL_HAS_PS, MOB_ROL_HAS_CL,
MOB_ROL_HAS_MU, MOB_ROL_HAS_TH, and
MOB_ROL_HAS_WA retain independent source class-behavior
rolesMOB_ROL_AGGR_RACE_EVIL and
MOB_ROL_AGGR_RACE_GOOD use the converted source race groups
rather than current character alignmentMOB_ROL_DEMON and MOB_ROL_DEVIL preserve
the source boot-time planar behavior: infravision and aggregate
elemental protection are emitted on the prototype, while recognized
combat aliases can gate a bounded source-equivalent group on their
authored cooldown. Player-controlled creatures cannot gate; gated
followers cannot recursively gate and disappear after four game
hours.MOB_ROL_UMBERHULK equips the converted canonical claws
when available and retains the level-scaled confusion or extra mandible
attack during combat.MOB_SPEC or the prototype’s
persistent SpecProc slot, so an authored direct procedure continues to
run on the same mobile.MOB_ROL_FADE_FAMILIAR, MOB_ROL_FADE_MOUNT,
and MOB_ROL_FADE_MONSTER preserve the three source
conjured-creature death messages and suppress corpse creation. They are
independent of the persisted SpecProc slot and safely compose with other
behavior.MOB_ROL_ANGEL retains source angel identity after
conversion collapses that race into the target outsider category. The
RoL shadow-giant adapter uses it to preserve the source
spook immunity list; it does not schedule behavior on its
own.MOB_ROL_TOTEM_SPIRIT marks the 21 converted shaman
spirit families. Their source-specific fade messages suppress corpses
without consuming the persistent SpecProc slot, and newly summoned
spirits receive the same flag at runtime.MOB_ROL_BLACK_VAPOR_DEATH preserves the Bloodstone
undead death message while retaining Luminari’s native no-corpse policy
for the converted undead. It does not consume the mobile’s persistent
SpecProc slot.MOB_ROL_ABYSS_FORGED marks only the source demon
prototypes whose primary and secondary weapons dissolve on death. In the
target it removes one-handed, off-hand, and two-handed wielded weapons
before either special death handling or ordinary corpse creation,
without consuming the persistent SpecProc slot.MOB_ROL_BEHOLDER preserves source beholder identity for
mechanics with explicit beholder immunities.MOB_ROL_LYCANTHROPE_SUMMON marks only the two converted
prototypes selected by call lycanthrope; ordinary lycanthropes do not
receive the summon role.Code References:
src/mob/mob_act.c - Movement, archery, and race
aggressionsrc/combat/fight.c - Delayed hunter activationsrc/spec/spec_rol_conversion.c - Automatic demon,
devil, and umber-hulk behaviorsrc/act/act.other.c - Caught-theft responsesrc/core/utils.h - Class-role queriesEffect: UNUSED - Kept for backward compatibility.
| Index | Flag Name | OLC Display Name | Category | Primary Purpose |
|---|---|---|---|---|
| 0 | MOB_SPEC | System | Has special procedure | |
| 1 | MOB_SENTINEL | Sentinel | Behavior | Won’t move |
| 2 | MOB_SCAVENGER | Scavenger | Behavior | Picks up items |
| 3 | MOB_ISNPC | Mob | System | Is NPC (read-only) |
| 4 | MOB_AWARE | Aware | Combat | Can’t be backstabbed |
| 5 | MOB_AGGRESSIVE | Aggro | Combat | Attacks everyone |
| 6 | MOB_STAY_ZONE | Zone-Sentinel | Movement | Stays in zone |
| 7 | MOB_WIMPY | Wimpy | Behavior | Flees when hurt |
| 8 | MOB_AGGR_EVIL | Aggro-Evil | Combat | Attacks evil |
| 9 | MOB_AGGR_GOOD | Aggro-Good | Combat | Attacks good |
| 10 | MOB_AGGR_NEUTRAL | Aggro-Neutral | Combat | Attacks neutral |
| 11 | MOB_MEMORY | Memory | Combat | Remembers attackers |
| 12 | MOB_HELPER | Helper | Combat | Assists other NPCs |
| 13 | MOB_NOCHARM | Uncharmable | Immunity | Can’t be charmed |
| 14 | MOB_NOSUMMON | Unsummonable | Immunity | Can’t be summoned |
| 15 | MOB_NOSLEEP | Immune-Sleep | Immunity | Can’t be slept |
| 16 | MOB_NOBASH | Unbashable | Immunity | Can’t be bashed |
| 17 | MOB_NOBLIND | Unblindable | Immunity | Can’t be blinded |
| 18 | MOB_NOKILL | Unkillable | Immunity | Can’t be attacked |
| 19 | MOB_SENTIENT | Sentient | Classification | Intelligent being |
| 20 | MOB_NOTDEADYET | !DEAD! | System | Being extracted |
| 21 | MOB_MOUNTABLE | Mountable | Companion | Can be ridden |
| 22 | MOB_NODEAF | Immune-Deaf | Immunity | Can’t be deafened |
| 23 | MOB_NOFIGHT | Does-Not-Fight | Behavior | Won’t fight |
| 24 | MOB_NOCLASS | Classless | Classification | No class |
| 25 | MOB_NOGRAPPLE | Ungrappleable | Immunity | Can’t be grappled |
| 26 | MOB_C_ANIMAL | Animal-Companion | Companion | Animal companion |
| 27 | MOB_C_FAMILIAR | Familiar | Companion | Familiar |
| 28 | MOB_C_MOUNT | Paladin/Blackguard-Mount | Companion | Summoned mount |
| 29 | MOB_ELEMENTAL | Summoned-Elemental | Companion | Elemental |
| 30 | MOB_ANIMATED_DEAD | Animated-Dead | Companion | Animated undead |
| 31 | MOB_GUARD | Guard | Combat | Protects citizens |
| 32 | MOB_CITIZEN | Citizen | Classification | Protected by guards |
| 33 | MOB_HUNTER | Hunter | Combat | Tracks foes |
| 34 | MOB_LISTEN | Listen | Behavior | Hears fighting |
| 35 | MOB_LIT | Lit-Up | Environment | Emits light |
| 36 | MOB_PLANAR_ALLY | Planar-Ally | Companion | Planar ally (unused) |
| 37 | MOB_NOSTEAL | No-Steal | Immunity | Can’t be stolen from |
| 38 | MOB_INFO_KILL | Info-Kill | System | Broadcasts death |
| 39 | MOB_CUSTOM_GOLD | Custom-Gold | System | Custom gold drops |
| 40 | MOB_NO_AI | No-AI | System | AI disabled |
| 41 | MOB_MERCENARY | Mercenary | Companion | Hired mercenary |
| 42 | MOB_ENCOUNTER | Encounter | System | Wilderness encounter |
| 43 | MOB_SHADOW | Shadow | Companion | Shadow companion |
| 44 | MOB_IS_OBJ | Mob-Is-Obj | System | Represents object |
| 45 | MOB_BLOCK_N | Mob-Block-North | Blocking | Blocks north |
| 46 | MOB_BLOCK_E | Mob-Block-East | Blocking | Blocks east |
| 47 | MOB_BLOCK_S | Mob-Block-South | Blocking | Blocks south |
| 48 | MOB_BLOCK_W | Mob-Block-West | Blocking | Blocks west |
| 49 | MOB_BLOCK_NE | Mob-Block-NE | Blocking | Blocks northeast |
| 50 | MOB_BLOCK_SE | Mob-Block-SE | Blocking | Blocks southeast |
| 51 | MOB_BLOCK_SW | Mob-Block-SW | Blocking | Blocks southwest |
| 52 | MOB_BLOCK_NW | Mob-Block-NW | Blocking | Blocks northwest |
| 53 | MOB_BLOCK_U | Mob-Block-Up | Blocking | Blocks up |
| 54 | MOB_BLOCK_D | Mob-Block-Down | Blocking | Blocks down |
| 55 | MOB_BLOCK_CLASS | Mob-Block-Class | Blocking | Class exemption |
| 56 | MOB_BLOCK_RACE | Mob-Block-Race | Blocking | Race exemption |
| 57 | MOB_BLOCK_LEVEL | Mob-Block-Level | Blocking | Level restriction |
| 58 | MOB_BLOCK_ALIGN | Mob-Block-Alignment | Blocking | Alignment exemption |
| 59 | MOB_BLOCK_ETHOS | Mob-Block-Ethos | Blocking | Ethos exemption |
| 60 | MOB_INFO_KILL_PLR | Info-Kill-of-Player | System | Broadcasts PC death |
| 61 | MOB_MOB_ASSIST | Mob-Assist | Combat | Assists other mobs |
| 62 | MOB_NOCONFUSE | No-Confuse | Immunity | Can’t be confused |
| 63 | MOB_HUNTS_TARGET | Hunts-Target | Combat | Hunts specific target |
| 64 | MOB_ABIL_GRAPPLE | Ability-Grapple | Ability | Grapple attack |
| 65 | MOB_ABIL_PETRIFY | Ability-Petrify | Ability | Petrification |
| 66 | MOB_ABIL_TAIL_SPIKES | Ability-Tail-Spikes | Ability | Spike attack |
| 67 | MOB_ABIL_LEVEL_DRAIN | Ability-Level-Drain | Ability | Level drain |
| 68 | MOB_ABIL_CHARM | Ability-Charm | Ability | Charm attack |
| 69 | MOB_ABIL_BLINK | Ability-Blink | Ability | Blink/teleport |
| 70 | MOB_ABIL_ENGULF | Ability-Engulf | Ability | Engulf attack |
| 71 | MOB_ABIL_CAUSE_FEAR | Ability-Cause-Fear | Ability | Cause fear |
| 72 | MOB_ABIL_CORRUPTION | Ability-Corruption | Ability | Corruption touch |
| 73 | MOB_ABIL_SWALLOW | Ability-Swallow | Ability | Swallow whole |
| 74 | MOB_ABIL_FLIGHT | Ability-Flight | Ability | Can fly |
| 75 | MOB_ABIL_POISON | Ability-Poison | Ability | Poison attack |
| 76 | MOB_ABIL_REGENERATION | Ability-Regenerate | Ability | Regenerates HP |
| 77 | MOB_ABIL_PARALYZE | Ability-Paralyze | Ability | Paralyze attack |
| 78 | MOB_ABIL_FIRE_BREATH | Ability-Fire-Breath | Ability | Fire breath |
| 79 | MOB_ABIL_LIGHTNING_BREATH | Ability-Lightning-Breath | Ability | Lightning breath |
| 80 | MOB_ABIL_POISON_BREATH | Ability-Poison-Breath | Ability | Poison breath |
| 81 | MOB_ABIL_ACID_BREATH | Ability-Acid-Breath | Ability | Acid breath |
| 82 | MOB_ABIL_FROST_BREATH | Ability-Frost-Breath | Ability | Frost breath |
| 83 | MOB_ABIL_MAGIC_IMMUNITY | Ability-Magic-Immunity | Ability | Immune to magic |
| 84 | MOB_ABIL_INVISIBILITY | Ability-Invisibility | Ability | Naturally invisible |
| 85 | MOB_C_O_T_N | Child-of-the-Night | Companion | Children of Night |
| 86 | MOB_VAMP_SPWN | Vampire-Spawn | Companion | Vampire spawn |
| 87 | MOB_DRAGON_KNIGHT | Dragon-Knight | Companion | Dragon knight mount |
| 88 | MOB_MUMMY_DUST | Mummy-Dust | Companion | Mummy dust creation |
| 89 | MOB_EIDOLON | Eidolon | Companion | Eidolon |
| 90 | MOB_BLOCK_EVIL | Mob-Block-Evil | Blocking | Blocks evil |
| 91 | MOB_BLOCK_NEUTRAL | Mob-Block-Neutral | Blocking | Blocks neutral |
| 92 | MOB_BLOCK_GOOD | Mob-Block-Good | Blocking | Blocks good |
| 93 | MOB_GENIEKIND | Mob-Geniekind | Classification | Genie-type |
| 94 | MOB_C_DRAGON | Mob-Dragon-Mount | Companion | Companion dragon |
| 95 | MOB_RETAINER | Retainer | Companion | Leadership retainer |
| 96 | MOB_BUFF_OUTSIDE_COMBAT | UNUSED-96 | Deprecated | UNUSED |
| 97 | MOB_NOPARALYZE | Immune-Paralysis | Immunity | Can’t be paralyzed |
| 98 | MOB_AI_ENABLED | AI-Enabled | System | Advanced AI |
| 99 | MOB_QUARTERMASTER | Quartermaster | System | Supply orders |
| 100 | MOB_UNLIMITED_SPELL_SLOTS | Unlimited-Spell-Slots | System | No spell limits |
| 101 | MOB_CUSTOM_MOB_STATS | Custom-Mob-Stats | System | Use hand-set stats, not category defaults |
| 102 | MOB_NO_BLOCK_BYPASS | No-Block-Bypass | Combat | Blocking cannot be bypassed |
| 103 | MOB_GOLEM | Golem | System | Constructed golem, for follower tracking |
| 104 | MOB_NOTELEPORT | No-Teleport | System | Cannot be teleported |
| 105 | MOB_ROL_NICE_THIEF | RoL-Nice-Thief | Compatibility | Does not retaliate against caught theft |
| 106 | MOB_ROL_STAY_SECTOR | RoL-Stay-Sector | Compatibility | Random movement stays in sector |
| 107 | MOB_ROL_DELAY_HUNTER | RoL-Delay-Hunter | Compatibility | Starts hunting after material damage |
| 108 | MOB_ROL_ARCHER | RoL-Archer | Compatibility | Fires or throws into an adjacent room |
| 109 | MOB_ROL_HAS_PS | RoL-Psionic | Compatibility | Has psionic behavior role |
| 110 | MOB_ROL_HAS_CL | RoL-Cleric | Compatibility | Has divine-caster behavior role |
| 111 | MOB_ROL_HAS_MU | RoL-Mage | Compatibility | Has arcane-caster behavior role |
| 112 | MOB_ROL_HAS_TH | RoL-Thief | Compatibility | Has rogue behavior role |
| 113 | MOB_ROL_HAS_WA | RoL-Warrior | Compatibility | Has warrior behavior role |
| 114 | MOB_ROL_AGGR_RACE_EVIL | RoL-Aggro-Evil-Race | Compatibility | Attacks evil source races |
| 115 | MOB_ROL_AGGR_RACE_GOOD | RoL-Aggro-Good-Race | Compatibility | Attacks good source races |
| 116 | MOB_ROL_DEMON | RoL-Demon | Compatibility | Runs implicit source demon behavior |
| 117 | MOB_ROL_DEVIL | RoL-Devil | Compatibility | Runs implicit source devil behavior |
| 118 | MOB_ROL_UMBERHULK | RoL-Umberhulk | Compatibility | Runs implicit source umber-hulk behavior |
| 119 | MOB_ROL_FADE_FAMILIAR | RoL-Fade-Familiar | Compatibility | Familiar fades without a corpse |
| 120 | MOB_ROL_FADE_MOUNT | RoL-Fade-Mount | Compatibility | Conjured mount fades without a corpse |
| 121 | MOB_ROL_FADE_MONSTER | RoL-Fade-Monster | Compatibility | Conjured monster fades without a corpse |
| 122 | MOB_ROL_ANGEL | RoL-Angel | Compatibility | Preserves source angel identity |
| 123 | MOB_ROL_TOTEM_SPIRIT | RoL-Totem-Spirit | Compatibility | Totem spirit fades without a corpse |
| 124 | MOB_ROL_BLACK_VAPOR_DEATH | RoL-Black-Vapor-Death | Compatibility | Bloodstone undead becomes black vapor without a corpse |
| 125 | MOB_ROL_ABYSS_FORGED | RoL-Abyss-Forged | Compatibility | Wielded abyss-forged weapons dissolve on death |
| 126 | MOB_ROL_BEHOLDER | RoL-Beholder | Compatibility | Preserves source beholder identity for explicit immunities |
| 127 | MOB_ROL_LYCANTHROPE_SUMMON | RoL-Lycanthrope-Summon | Compatibility | Prototype eligible for call lycanthrope |
Common Mob Archetypes:
City Guard:
Aggressive Monster:
Alignment Guardian:
Pack Hunter:
Boss Monster:
MOB_ABIL_* flagsAmbient NPC:
Flag Conflicts:
MOB_BLOCK_* direction flags work togetherChecking Flags:
if (MOB_FLAGGED(mob, MOB_AGGRESSIVE)) {
// Mob is aggressive
}
// Multiple flag check
if (MOB_FLAGGED(mob, MOB_GUARD) && MOB_FLAGGED(mob, MOB_MEMORY)) {
// Guard with memory
}Setting Flags:
SET_BIT_AR(MOB_FLAGS(mob), MOB_SENTINEL);Removing Flags:
REMOVE_BIT_AR(MOB_FLAGS(mob), MOB_AGGRESSIVE);System Flags to Never Modify:
Primary Files:
src/core/structs.h - Flag definitions (the
MOB_* define block ending at
MOB_NOTELEPORT)src/mob/mob_act.c - Mobile AI and behaviorsrc/combat/fight.c - Combat interactionssrc/movement/movement.c - Movement and blockingsrc/combat/spec_abilities.c - Special abilitiessrc/magic/spells.c - Spell interactionsLast Updated: November 6, 2024
Version: 1.0
Maintainer: LuminariMUD Development Team