IMM_MMOVE

Keywords: IMM_MMOVE, WIZ_MMOVE

Category: Admin

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