Overview
This compendium draws its data straight from the MadROM C sources so that builders always work with the canonical rules used by the game server. Command availability is sourced from the global command table, trust level macros, and the corresponding handler implementations, while flag and type listings mirror the live tables in tables.c and supporting headers.
The trust ladder comes from interp.h and merc.h, the builder tooling summaries cite their command implementations (for example, population.c, generate.c, flag.c, and act_wiz.c), and every flag table reproduces the constants maintained in tables.c. No legacy markdown was consulted—everything you see here is regenerated from the current code.
Access levels & trust
The MadROM trust macros map to numeric levels derived from MAX_LEVEL = 100 and the immortal/hero thresholds. These macros are referenced throughout the command table to gate builder tools.
| Macro | Level | Description |
|---|---|---|
ML | 100 | Implementor |
L1 | 99 | Creator |
L2 | 98 | Supreme Being |
L3 | 97 | Deity |
L4 | 96 | God |
L5 | 95 | Immortal |
L6 | 94 | Demigod |
L7 | 93 | Angel |
L8 | 92 | Avatar |
IM | 93 | LEVEL_IMMORTAL (Angel) |
HE | 91 | LEVEL_HERO (Hero) |
The macros above are defined alongside MAX_LEVEL, LEVEL_IMMORTAL, and LEVEL_HERO in merc.h and documented in interp.h.【F:src/interp.h†L1-L14】【F:src/merc.h†L146-L169】
Builder command reference
The table below lists the most frequently used building tools, their minimum trust requirements, and a short description taken directly from the handler source. Levels are shown using the same macros that the command table uses.
| Command | Required level | What it does | Implementation |
|---|---|---|---|
populate |
L4 (96) |
Spawns 1–20 template mobs into the current room, using an explicit theme when provided, otherwise preferring the default theme before falling back to a random (unweighted) pick; requires trust 100 before doing any work.【F:src/interp.c†L75-L76】【F:src/population.c†L156-L207】 | population.c |
generatearea |
L4 (96) |
Builds a themed 50-room grid (33700–33749) from predefined templates after validating the theme argument and listing available options.【F:src/interp.c†L75-L76】【F:src/generate.c†L130-L182】 | generate.c |
flag |
L2 (98) |
Provides syntax to toggle mob, player, object, and room flags with optional +, -, or = modes; enforces scope-specific flag tables before applying the change.【F:src/interp.c†L337-L338】【F:src/flag.c†L90-L203】 |
flag.c |
vnum |
L4 (96) |
Searches loaded indices for mobs, objects, or skills by name and prints their vnums so builders can reference assets quickly.【F:src/interp.c†L407-L408】【F:src/act_wiz.c†L3046-L3094】 | act_wiz.c |
olist |
L5 (95) |
Lists objects in the current area with optional filters (weapons, armor, food, keys, etc.), showing counts, weights, costs, and type-specific values.【F:src/interp.c†L393-L394】【F:src/act_wiz.c†L3449-L3518】 | act_wiz.c |
mlist |
L5 (95) |
Enumerates area mobiles and can focus on clerics, mages, or mobprog-enabled entries while reporting alignment, kill counts, and armor values.【F:src/interp.c†L390-L392】【F:src/act_wiz.c†L3585-L3646】 | act_wiz.c |
rlist |
L5 (95) |
Displays rooms in the current area with heal/mana rates and supports swim/noswim filters for aquatic checks.【F:src/interp.c†L400-L402】【F:src/act_wiz.c†L3646-L3696】 |
act_wiz.c |
alist |
L5 (95) |
Prints all loaded areas with their vnum ranges and filenames—handy for seeing what ranges are already in use.【F:src/interp.c†L390-L393】【F:src/act_wiz.c†L3716-L3740】 | act_wiz.c |
load |
L4 (96) |
Loads mobs or objects into the room via load mob <vnum> or load obj <vnum> <level>; relays syntax if arguments are missing.【F:src/interp.c†L355-L356】【F:src/act_wiz.c†L4751-L4781】 |
act_wiz.c |
clone |
L5 (95) |
Duplicates the targeted mobile or object, recursively copying contents and broadcasting creation events to the room and Wiznet.【F:src/interp.c†L408-L409】【F:src/act_wiz.c†L4638-L4713】 | act_wiz.c |
string |
L5 (95) |
Edits descriptions and titles on mobiles or objects with explicit syntax for each editable field, guarding against PC-only changes where appropriate.【F:src/interp.c†L404-L405】【F:src/act_wiz.c†L6264-L6332】 | act_wiz.c |
Flag reference
Each table below mirrors the live flag definitions in tables.c. The “Builder Settable” column reports the boolean stored in the table (for commands such as flag) so you can see which bits are protected in-game.
Legacy guide discrepancies: docs/madozy.txt stops before newer bits that appear in tables.c. Notable gaps include smart/prestige/nowander in the act flags, the gore offense flag, and the wood/silver/iron immunity/resistance/vulnerability bits. Keep these differences in mind when reconciling builds against the classic guide.
Mob act flags
| Name | Bit / Constant | Builder Settable |
|---|---|---|
| npc | A | No |
| sentinel | B | Yes |
| scavenger | C | Yes |
| smart | D | Yes |
| unused | ACT_UNUSED | Yes |
| aggressive | F | Yes |
| stay_area | G | Yes |
| wimpy | H | Yes |
| pet | I | Yes |
| train | J | Yes |
| practice | K | Yes |
| holylight | N | No |
| undead | O | Yes |
| cleric | Q | Yes |
| mage | R | Yes |
| thief | S | Yes |
| warrior | T | Yes |
| noalign | U | Yes |
| nopurge | V | Yes |
| healer | aa | Yes |
| gain | bb | Yes |
| update_always | cc | Yes |
| nowander | dd | Yes |
Source: tables.c act_flags array.【F:src/tables.c†L59-L84】
Player flags
| Name | Bit / Constant | Builder Settable |
|---|---|---|
| plr | 0 | No |
| autoassist | C | No |
| autoexit | D | No |
| autoloot | E | No |
| autosac | F | No |
| autogold | G | No |
| autosplit | H | No |
| autohappy | I | No |
| autogrumpy | J | No |
| showdefense | K | No |
| exact | M | No |
| holylight | N | No |
| wizinvis | O | No |
| can_loot | P | No |
| nosummon | Q | No |
| nofollow | R | No |
| color | S | No |
| wiznet | T | No |
| afk | U | Yes |
| tribe | V | No |
| log | W | No |
| deny | X | No |
| freeze | Y | No |
| thief | Z | Yes |
| killer | aa | Yes |
| arena | bb | Yes |
| spectate | cc | Yes |
| autotitle | dd | No |
| test | ee | Yes |
Source: tables.c plr_flags array.【F:src/tables.c†L86-L117】
Affect & combat flags
| Name | Bit / Constant | Builder Settable |
|---|---|---|
| blind | A | Yes |
| invisible | B | Yes |
| detect_evil | C | Yes |
| detect_invis | D | Yes |
| detect_magic | E | Yes |
| detect_hidden | F | Yes |
| talon | G | Yes |
| sanctuary | H | Yes |
| faerie_fire | I | Yes |
| infrared | J | Yes |
| curse | K | Yes |
| protect_good | L | Yes |
| poison | M | Yes |
| protect | N | Yes |
| paralysis | O | Yes |
| sneak | P | Yes |
| hide | Q | Yes |
| sleep | R | Yes |
| charm | S | Yes |
| flying | T | Yes |
| pass_door | U | Yes |
| haste | V | Yes |
| calm | W | Yes |
| plague | X | Yes |
| weaken | Y | Yes |
| dark_vision | Z | Yes |
| berserk | aa | Yes |
| swim | bb | Yes |
| regeneration | cc | Yes |
| lethargy | dd | Yes |
See also affect2_flags, off_flags, and imm_flags in the same section of tables.c for extended effects, attack assists, and damage immunities.【F:src/tables.c†L119-L213】
Additional combat, aggression, and form flags
The following tables list auxiliary combat toggles that builders can apply to mobiles.
| Table | Highlights |
|---|---|
off_flags | Offensive moves such as backstab, trip, and assist behaviours.【F:src/tables.c†L162-L185】 |
imm_flags | Damage and effect immunities including fire, poison, silver, and iron.【F:src/tables.c†L188-L212】 |
aggr_flags | Aggression selectors by class, race, or temperament (e.g., mage, good, psycho).【F:src/tables.c†L215-L240】 |
form_flags & part_flags | Creature body types and anatomy for dismemberment and behaviour logic.【F:src/tables.c†L241-L288】 |
Communication, room, exit, and object flags
| Table | Purpose |
|---|---|
comm_flags | Player channel and messaging toggles (quiet, noargue, notecho, etc.).【F:src/tables.c†L289-L325】 |
room_flags | Environmental properties such as dark, private, and arena flag markers.【F:src/tables.c†L326-L347】 |
room_aff_flags | Ambient room effects like smoke and bloody.【F:src/tables.c†L348-L357】 |
exit_flags | Door state bits (door, closed, locked, pickproof, etc.).【F:src/tables.c†L360-L372】 |
extra_flags | Object properties such as glow, nodrop, ancient, and elite.【F:src/tables.c†L373-L397】 |
wear_flags | Wear locations including offhand, twohands, and belt slots.【F:src/tables.c†L398-L417】 |
weapon_flags | Weapon specializations such as flaming, vampiric, and twohands.【F:src/tables.c†L418-L427】 |
rest_flags | Race/class alignment restrictions for resting objects.【F:src/tables.c†L428-L447】 |
food_flags, portal_flags | Food side-effects and portal behaviours (e.g., randomarea, nocurse).【F:src/tables.c†L448-L470】 |
Item and sector types
| Name | Bit / Constant | Builder Settable |
|---|---|---|
| light | ITEM_LIGHT | Yes |
| scroll | ITEM_SCROLL | Yes |
| wand | ITEM_WAND | Yes |
| staff | ITEM_STAFF | Yes |
| weapon | ITEM_WEAPON | Yes |
| treasure | ITEM_TREASURE | Yes |
| armor | ITEM_ARMOR | Yes |
| potion | ITEM_POTION | Yes |
| clothing | ITEM_CLOTHING | Yes |
| furniture | ITEM_FURNITURE | Yes |
| trash | ITEM_TRASH | Yes |
| container | ITEM_CONTAINER | Yes |
| drink | ITEM_DRINK_CON | Yes |
| key | ITEM_KEY | Yes |
| food | ITEM_FOOD | Yes |
| money | ITEM_MONEY | Yes |
| boat | ITEM_BOAT | Yes |
| npccorpse | ITEM_CORPSE_NPC | Yes |
| pccorpse | ITEM_CORPSE_PC | No |
| fountain | ITEM_FOUNTAIN | Yes |
| pill | ITEM_PILL | Yes |
| protect | ITEM_PROTECT | No |
| map | ITEM_MAP | Yes |
| jukebox | ITEM_JUKEBOX | Yes |
| portal | ITEM_PORTAL | Yes |
| explosive | ITEM_EXPLOSIVE | Yes |
| liquid | ITEM_LIQUID | Yes |
| red_mine | ITEM_RED_MINE | No |
| blue_mine | ITEM_BLUE_MINE | No |
| charm | ITEM_CHARM | Yes |
| jewelery | ITEM_JEWELRY | Yes |
| reagent | ITEM_REAGENT | Yes |
| trophy | ITEM_TROPHY | Yes |
| travel | ITEM_TRAVEL | No |
The same source block contains sector_types, sex_types, size_types, and qs_table, which are reproduced for convenience below.【F:src/tables.c†L471-L548】
| Sector / demographic | Constant | Settable |
|---|---|---|
| inside | SECT_INSIDE | Yes |
| city | SECT_CITY | Yes |
| field | SECT_FIELD | Yes |
| forest | SECT_FOREST | Yes |
| hills | SECT_HILLS | Yes |
| mountain | SECT_MOUNTAIN | Yes |
| water_swim | SECT_WATER_SWIM | Yes |
| water_noswim | SECT_WATER_NOSWIM | Yes |
| air | SECT_AIR | Yes |
| desert | SECT_DESERT | Yes |
| water_flooded | SECT_WATER_FLOODED | Yes |
| fire | SECT_FIRE | Yes |
| lava | SECT_LAVA | Yes |
| void | SECT_VOID | Yes |
| eunuch | SEX_NEUTRAL | Yes |
| male | SEX_MALE | Yes |
| female | SEX_FEMALE | Yes |
| random | SEX_RANDOM | Yes |
| tiny | SIZE_TINY | Yes |
| small | SIZE_SMALL | Yes |
| medium | SIZE_MEDIUM | Yes |
| large | SIZE_LARGE | Yes |
| huge | SIZE_HUGE | Yes |
| giant | SIZE_GIANT | Yes |
| hit | PC_QS_HIT | Yes |
| mana | PC_QS_MANA | Yes |
| moves | PC_QS_MOVES | Yes |
| hunger | PC_QS_HUNGER | Yes |
| thirst | PC_QS_THIRST | Yes |
| exp | PC_QS_EXP | Yes |
Source: tables.c item, sector, sex, size, and quick-stat tables.【F:src/tables.c†L488-L548】
ROM object value reference
Use this table to decode the five Value slots found on every object in the ROM engine. Match the object’s type to learn what each field controls when you audit resets or review builder submissions.
| Item type | Value1 | Value2 | Value3 | Value4 | Value5 |
|---|---|---|---|---|---|
| LIGHT | Unused slot (always 0). | Unused slot (always 0). | Hours of light remaining (0 = dead, 999 = infinite). | Unused slot. | Unused slot. |
| SCROLL | Spell level the scroll casts at. | Spell slot #1 (spell number). | Spell slot #2 (spell number or 0). | Spell slot #3 (spell number or 0). | Unused slot. |
| WAND | Spell level the wand casts at. | Maximum charges the wand can hold. | Current charges remaining. | Spell number cast by the wand. | Unused slot. |
| STAFF | Spell level the staff casts at. | Maximum charges the staff can hold. | Current charges remaining. | Spell number triggered by the staff. | Unused slot. |
| WEAPON | Weapon class (sword, axe, etc.). | Number of damage dice. | Size of each damage die. | Damage type / attack verb. | Weapon flags (flaming, frost, two-handed, etc.). |
| TREASURE | Unused slot. | Unused slot. | Unused slot. | Unused slot. | Unused slot. |
| ARMOR | Armor vs. pierce. | Armor vs. bash. | Armor vs. slash. | Armor vs. magic. | Unused slot. |
| POTION | Spell level the potion casts at. | Spell slot #1 (spell number). | Spell slot #2 (spell number or 0). | Spell slot #3 (spell number or 0). | Unused slot. |
| CLOTHING | Unused slot (cosmetic clothing uses affects instead). | Unused slot. | Unused slot. | Unused slot. | Unused slot. |
| FURNITURE | Maximum occupants. | Maximum weight it can support. | Furniture flags (sit, rest, sleep, stand, etc.). | Healing bonus (hp gained per tick). | Mana bonus (mana gained per tick). |
| TRASH | Unused slot. | Unused slot. | Unused slot. | Unused slot. | Unused slot. |
| CONTAINER | Capacity (total weight it can hold). | Container flags (closeable, pickproof, etc.). | Key vnum (0 if none). | Weight multiplier for carried contents. | Unused slot. |
| DRINK-CON | Liquid capacity (maximum units). | Current quantity of liquid. | Liquid type number. | Poison flag (0 = safe, non-zero = poisoned). | Unused slot. |
| KEY | Unused slot. | Unused slot. | Unused slot. | Unused slot. | Unused slot. |
| FOOD | Hours of nourishment provided (1 also flags poison). | Unused slot. | Unused slot. | Unused slot. | Unused slot. |
| MONEY | Gold value (coins in the pile). | Unused slot. | Unused slot. | Unused slot. | Unused slot. |
| BOAT | Unused slot. | Unused slot. | Unused slot. | Unused slot. | Unused slot. |
| CORPSE_NPC | Decay timer (minutes before the corpse crumbles). | Reserved for corpse metadata. | Reserved for corpse metadata. | Reserved for corpse metadata. | Killer level (used for random drops). |
| FOUNTAIN | Unused slot. | Unused slot. | Liquid type dispensed. | Unused slot. | Unused slot. |
| PILL | Spell level the pill casts at. | Spell slot #1 (spell number). | Spell slot #2 (spell number or 0). | Spell slot #3 (spell number or 0). | Unused slot. |
| PROTECT | Reserved for protection logic. | Reserved for protection logic. | Reserved for protection logic. | Reserved for protection logic. | Reserved for protection logic. |
| MAP | Map visibility flag (1 = usable map). | Unused slot. | Unused slot. | Unused slot. | Unused slot. |
| SINGING | Current lyric line index (-1 means idle). | Current song number. | Queued song #1. | Queued song #2. | Queued song #3. |
| PORTAL | Destination room vnum. | Gate flags (closed, pass proof, random, etc.). | Exit flags applied when stepping through. | Charges remaining before the portal collapses. | Key vnum required if locked (0 if none). |
| EXPLOSIVE | Spell level the explosive triggers at. | Spell slot #1 (spell number). | Spell slot #2 (spell number or 0). | Spell slot #3 (spell number or 0). | Unused slot. |
| LIQUID | Reserved for liquid objects. | Reserved for liquid objects. | Reserved for liquid objects. | Reserved for liquid objects. | Reserved for liquid objects. |
| CHAOS_FOOD | Random chaos effect selector. | Reserved for chaos food behaviour. | Reserved for chaos food behaviour. | Reserved for chaos food behaviour. | Reserved for chaos food behaviour. |
| FOOD_BAD_BREATH | Hours of nourishment (bad breath variant). | Unused slot. | Unused slot. | Unused slot. | Unused slot. |
Source: unified ROM value schema surfaced on the MadWeb items page.【F:madweb/items.php†L122-L215】
Builder playbooks
Practical guardrails gathered from the retired stand-alone builder notes. Use these when auditing new content or coaching other staff between full code dives.
Item balance limits
Use these caps when reviewing gear for parity with the modern combat math. They reflect the preserved madozy.doc/objstats.doc guidance plus the current Ancient tier behaviour.
Level caps & principles
- Player-usable items top out at level 91 and should stay within five levels of the resetting mob unless a story exception applies.
- Reserve maximum values for lore-heavy rares and ensure extended descriptions and materials match the theme so destruction logic stays believable.
Weapons
- Average damage ≈
5 + \lfloor level / 10 \rfloor × 5. Trim dice when stacking hit/dam or other affects and mark glow/hum at the +6 ceiling.
floor × 5. Trim dice when stacking hit/dam or other affects and mark glow/hum at the +6 ceiling.
- Keep weights near 3–20 lbs. and prices below 1,000 gold under level 50 or 2,000 overall.
Armor
- No bonus: physical AC ≤
level / 3, magic AC ≤level / 8. - With bonuses: physical AC ≤
level / 4, magic AC ≤level / 10. Enforce glow/hum on max hit/dam sets.
Containers, lights & food
- Perpetual lights begin at level 20; endless drink containers wait until level 65.
- Container capacity scales 100 lbs (levels 1–10) → 150 (11–15) → 200 (16–25) → 500 (26+).
- Food values stay between 10 and 50.
Scrolls, potions & pills
- Item level ≥ spell base class level. Spell level ≤
min(item level + 10, item level × 1.4). - Shop costs for spells above level 50 run at least 1.25× homemade scroll/potion prices.
Area file string hygiene
Keep an eye on tilde terminators whenever you hand-edit #OBJECTS or #ROOMS blocks. The loader stops reading each keyword, long description, or extra description the moment it hits a bare ~ on its own line, then expects the very next character to belong to the following field.
- Never leave a trailing
~or extra punctuation on the same line as the sentinel. Doing so makes the parser treat the stray character as the start of the next record, which desynchronises the area stream and corrupts everything that follows. - If you need a literal tilde in the description text, escape it in the editor (for example with
\~) or replace it with another glyph—do not rely on the raw delimiter. - When you clean up errant sentinels, follow the object layout used in
area/voxmad.are: description lines flow normally, then a blank line, then a single~line before the next field begins.
Reference: the shared fread_string helper stops at the first ~ it encounters while loading area strings, so any stray delimiter halts the read early and shifts the file pointer into the wrong place.【F:src/ssm.c†L436-L478】【F:area/voxmad.are†L446-L471】
Wands & staves
- Share the same level constraints as consumables.
- Charge caps: 1 (levels 1–15), 2 (16–25), 3 (26–40), 4 (41–60), 6 (61–91). Limit marquee spells accordingly.
Bonus ceilings
- HP/Mana/Move: choose mana or hit points per item; bracket caps: 0 (1–10), +15 (11–25), +20 (26–40), +35 (41–60), +40 (61–84), +50 (85–91). Subtract five when stacking extra affects.
- Hitroll or damroll: maxes from +0 (levels 1–9) through +6 (90–91); reduce other bonuses by one per +2 stacked and enforce glow/hum on +6 armor.
- Attributes: total stat boosts peak at +2 (1–10), +4 (11–25), +5 (26–50), +6 (51+); lower ceilings when mixing with hp/mana or hit/dam bonuses.
- Saves: best-in-slot stays at −5 for level 71+ pieces and scales down one step per bracket.
Ancient tier rolls
- Eligible gear between levels 30–91 can auto-upgrade: Elite (30–59, 10%), Runic (60–89, 5%), Ancient (90–91, 1%).
- Use
ancients <tier> <vnum>to force a tier; the game validates eligibility before cloning. - Armor/lights gain +20–120 split bonuses by tier; weapons receive flat dice bumps (+5/+5 → +25/+25).
Enchanting reference
- Failure chance starts at 25% (clamped 5–95). Caster level removes up to 50 (armor) or 75 (weapon) points; glow adds 4, hum adds 3, extra affects add 20/25.
- Catastrophic failure steps bonuses down instead of vaporising items, but +5 or higher bonuses spike failure quickly because of quadratic penalties.
Sources: Rebuilt objstats.doc guidance combined with the current enchant and Ancient tier logic in docs/gameplay_systems.html.
Achievement configuration
Each achievement lives on a single pipe-delimited line inside config/achievements.txt:
<id>|<name>|<description>|<criteria>|<threshold>|<points>
id- Lowercase identifier used internally; keep stable.
name- Player-facing title shown in help and UI.
description- Short summary surfaced in achievement listings.
criteria- One of
kill_count,death_count,level,exploration_completions,all_stats_maxed,language_skill:<language>,prestige_kill:<mob>, orprestige:<identifier>. threshold- Numeric requirement for the tracked stat (often 1 for prestige kills and boolean checks).
points- Score granted when unlocked.
Exploration milestones
Use exploration_completions to reward fully explored areas. Set the threshold to the number of distinct 100% completions required.
Physical perfection
all_stats_maxed ignores the threshold beyond confirming it is at least one. Leave the value at 1 for boolean checks.
Language mastery
Configure language_skill:<language> with the keyword accepted by the language command (for example jedi or msl). Characters unlock the achievement once the tracked proficiency reaches the threshold.
Prestige encounters
prestige_kill:<mob> normalises the supplied mob name (lowercase, punctuation removed, prefixed with prestige_) so it matches the stored counter. For non-kill counters, fall back to prestige:<identifier> and supply the exact key.
Reload the definitions with a reboot or copyover after editing. Characters keep retired achievements flagged as legacy.
Critter invasion sizing
Two numbers control an invasion’s cadence: the route array length and the wave_count. Each route entry spawns one mob per wave, and the wave count dictates how many full cycles fire before shutdown.
Want ten waves of thirty NPCs? Create thirty route entries (duplicates allowed when sharing paths), point the group at that array, and set wave_count to 10. The scheduler respawns the next wave after the configured delay until the count reaches zero.
static const CRITTER_ROUTE thirty_raider_routes[] = {
{"b0", "Follow path B", 9615, 9616, 9620},
{"b1", "Follow path B", 9615, 9616, 9620},
/* add twenty-eight more entries */
};
static const CRITTER_GROUP critter_groups[] = {
{"thirty_raiders", "Thirty Raiders", "Recommended levels 30-40", 35,
thirty_raider_routes,
sizeof thirty_raider_routes / sizeof thirty_raider_routes[0],
10},
/* existing groups follow */
};
Result: each wave spawns thirty mobs, waits for the respawn delay, and repeats ten times before the system shuts down.
Skill & spell availability
Use the interactive matrix to cross-check class access, earliest levels, and race-only perks without diving into tables.c. Filter by class or ability type, and expand the race primer for innate bonuses.
Data generated from the live skill table; the embedded view shows the refresh timestamp.
Bit constant quick reference
The single-letter (and double-letter) bit macros are defined in the builder section of merc.h. Use this chart when you need the numeric value for manual flag editing or when checking masks in logs.
| Macro | Value |
|---|---|
A | 1 |
B | 2 |
C | 4 |
D | 8 |
E | 16 |
F | 32 |
G | 64 |
H | 128 |
I | 256 |
J | 512 |
K | 1024 |
L | 2048 |
M | 4096 |
N | 8192 |
O | 16384 |
P | 32768 |
Q | 65536 |
R | 131072 |
S | 262144 |
T | 524288 |
U | 1048576 |
V | 2097152 |
W | 4194304 |
X | 8388608 |
Y | 16777216 |
Z | 33554432 |
aa | 67108864 |
bb | 134217728 |
cc | 268435456 |
dd | 536870912 |
ee | 1073741824 |
Source: merc.h “values of interest to area builders” section.【F:src/merc.h†L660-L710】
Wiznet channels
These toggles help builders subscribe to the appropriate server events. Each entry shows the Wiznet flag and the minimum level macro allowed to enable it.
| Toggle | Flag | Minimum Level Macro |
|---|---|---|
| on | WIZ_ON | IM |
| bugs | WIZ_BUGS | L3 |
| ticks | WIZ_TICKS | IM |
| logins | WIZ_LOGINS | IM |
| sites | WIZ_SITES | L4 |
| links | WIZ_LINKS | L7 |
| newbies | WIZ_NEWBIE | IM |
| spam | WIZ_SPAM | L5 |
| deaths | WIZ_DEATHS | IM |
| resets | WIZ_RESETS | L4 |
| mobdeaths | WIZ_MOBDEATHS | L4 |
| flags | WIZ_FLAGS | L2 |
| penalties | WIZ_PENALTIES | L5 |
| saccing | WIZ_SACCING | L5 |
| levels | WIZ_LEVELS | IM |
| load | WIZ_LOAD | L4 |
| restore | WIZ_RESTORE | L4 |
| snoops | WIZ_SNOOPS | L5 |
| switches | WIZ_SWITCHES | L5 |
| secure | WIZ_SECURE | L7 |
| illegal | WIZ_ILLEGAL | L5 |
| debug | WIZ_DEBUG | L1 |
| spells | WIZ_SPELLS | L5 |
| arena | WIZ_ARENA | L3 |
| clone | WIZ_CLONE | L5 |
Source: wiznet_table in const.c.【F:src/const.c†L24-L64】