Zone reset reference
Reference for the letters available when authoring zone reset commands via zedit <zonenum> or zedit <roomvnum>. Each command takes an if-flag (gating against the previous command's outcome) plus a few positional arguments. Disk format is whitespace-separated VNUMs; the editor converts to/from rnums at boot.
Standard commands
Same-zone operations. These match upstream tbaMUD.
M
M <if> <mob_vnum> <max> <room_vnum>
Load mob into a room in this zone.
O
O <if> <obj_vnum> <max> <room_vnum>
Load object into a room.
G
G <if> <obj_vnum> <max>
Give object to last-loaded mob.
E
E <if> <obj_vnum> <max> <wear_pos>
Equip last-loaded mob.
P
P <if> <obj_vnum> <max> <container_vnum>
Put object inside a container.
D
D <if> <room_vnum> <dir> <state>
Toggle door state (open/closed/locked/hidden).
R
R <if> <room_vnum> <obj_vnum>
Remove a specific object from a room.
A
A <if> <room_vnum> <mob_vnum>
Remove a specific mob from a room.
T
T <if> <trig_vnum> <kind> <target>
Attach DG trigger to mob/obj/room.
V
V <if> <kind> <vnum> <ctx> <name> = <value>
Assign a DG global variable.
Cross-zone commands
New letters added 2026-05-13. Each accepts a room/zone vnum in a different zone. Per-room zedit <roomvnum> won't show cross-zone refs whose source room is elsewhere — manage them via zedit <zonenum>.
L
L <if> <mob_vnum> <max> <room_vnum> <chance>
Cross-zone mob load. Like M, but target room can be in ANY zone.
C
C <if> <kind> <vnum> <room_vnum|-1>
Conditional gate. Sets last_cmd_ok based on whether mob/obj is present in the given room (or anywhere if -1). kind: 0=mob, 1=obj. Use if_flag=2 on the next command to negate.
K
K <if> <room_vnum> <dir> <state>
Cross-zone door toggle. Like D, but room can be in any zone.
N
N <if> <obj_vnum> <max> <load_room> <target_room>
Portal loader. Loads obj into load_room and writes target_room vnum into value[0]. Reachability validated at boot.
U
U <if> <kind> <vnum> <room_vnum>
Cross-zone purge. Removes FIRST matching mob/obj from a room in any zone. Repeat U commands to clear multiples.
J
J <if> <target_zone_vnum> 0 0
Trigger reset_zone on another zone. Chain depth capped at 4 to prevent loops; successful chains log info-level message.
F
F <if> <room_vnum> <flag_bit> <op>
Clear/set/toggle a ROOM_* flag on any room. op: 0=clear, 1=set, 2=toggle. Does NOT persist across reboots (world files reload fresh).
H
H <if> <target_zone_vnum> <event_id> <intensity>
Force a weather event (0..15) at intensity 0-100 in another zone. Lazy-allocates the zone's conditions struct if missing. Timer hardcoded at 6 hours.
if-flag values
The first argument to every load command. Chains gate on the previous command's result.
0
Always execute.
1
Execute only if last command succeeded.
2
Execute only if last command failed (negation).
3
Execute only if last mob loaded successfully.
4
Execute only if last mob failed percentage roll.
5
Same as 3 (legacy alias).
6
Execute only if last mob failed to load.
7
Execute only if last mob succeeded AND last object failed.
8
Execute if last mob failed to load (M variant only).
Notes & footguns
- N (portal): arg2 is global obj count, not load chance. If a vnum is already auto-loaded elsewhere and max=1, the portal silently won't spawn.
- U (cross-zone purge): extracts the FIRST matching entity only. Repeat to clear multiples.
- J (chain reset): static depth counter caps at 4 to prevent loops. SYSERR + stop beyond that.
- F (room flags): changes do NOT persist across reboots — world files reload fresh on boot, so set flags via .wld files for permanence and use F only for in-memory variation.
- H (weather): mutates zone conditions directly without firing the act/echo broadcasts. Will lazy-allocate the conditions struct if not present.
- Reset ordering: zones reset in vnum order at boot, then each on its own lifespan cycle. A cross-zone command can be undone by the target zone's later reset purging what was just placed. No "skip next reset" tag yet.
- Letters still available: B, I. Taken: A C D E F G H J K L M N O P Q R S T U V W X Y Z + * (and S sentinel).