IMM_MMOVE
Keywords: IMM_MMOVE, WIZ_MMOVE
=== STAFF MANUAL ===
Usage: mmove <source vid> <destination vid>
Description:
Renumber a mobile prototype, moving it from one virtual ID
to another. Unlike mcopy, this is a move -- the source VID
is vacated and the prototype lives at the destination VID
afterwards. The engine chases every cross-reference in the
world as part of the move, so any lingering pointer that
identified the mob by VID is rewritten in the same pass:
Mob opinions .... Any other mob whose m_Hates or
m_Fears VNum pointed at the source is
updated to the destination.
Zone resets ..... Any zone with an M reset command for
this mob is marked for resave so the
reset file picks up the new VID.
Shops ........... Any shop whose keeper was the moved
mob is marked for resave.
Both source and destination zones are marked dirty for
their .mob files, and each cross-reference hit queues an
additional deferred save for the owning zone's matching file
type. The full set of deferred saves is executed at the end
of the command, so a single mmove can trigger writes to
several zones in one stroke.
Arguments:
<source vid> ..... Virtual ID of the mob to move. Short
form :<number> inherits the current
room's zone.
<destination vid> Virtual ID to move it to. Short form
inherits the source VID's zone rather
than the current room's, so moving
within a zone can be written as just
Moved mob <src> to <dst>.
The action is logged to the staff wiznet as:
OLC: <name> moved mob <src> to <dst>
Restrictions:
- Requires the OLC staff permission and build access
to both the source and destination zones.
- Both arguments are required. A missing destination
prints: "Usage: mmove <source> <destination>".
- The destination VID must be well-formed and its
zone must exist: "Invalid destination VirtualID." or
"The destination zone does not exist." otherwise.
- The source must currently hold a mob prototype:
"Mobile not found.".
- The destination must be empty -- the move refuses
to overwrite: "The destination mobile already
exists." Use mmove to the empty slot first, or
free the destination by moving its current occupant
out of the way.
- Either the source or the destination being open in
an active medit session blocks the command, with
the game reporting which staff member has it open.
Notes:
- mmove has no "safe" mode -- unlike omove, it
never leaves a backup prototype behind at the source
VID. Plan ahead if you need a rollback path.
- Live instances of the mob currently spawned in the
world keep running against the renumbered prototype.
Their internal prototype pointer is updated by the
renumber, but they are not respawned or reloaded.
- For bulk moves within a zone, see olcmove-family
tooling rather than running mmove in a loop -- it
keeps the deferred-save list consolidated.
Related Helpfiles: WIZ_OMOVE, WIZ_RMOVE, WIZ_SCRIPTMOVE
=== END MANUAL ===