IMM_MCOPY

Keywords: IMM_MCOPY, WIZ_MCOPY

Category: Building

=== STAFF MANUAL === Usage: mcopy <source vid> <destination vid> Description: Duplicate a mobile prototype to a fresh virtual ID. The new prototype is a full deep copy of the source's CharData plus the side-car metadata that makes the mob behave the way it does in play: CharData ........ Name, descriptions, stats, attacks, flags, equipment, and every other field that lives on the mob prototype. Triggers ........ The source's m_Triggers list is copied verbatim, so every attached script comes along to the destination. Behaviors ....... The source's m_BehaviorSets list is copied, preserving any AI behavior sets. Initial Globals . m_InitialGlobals is cloned so the copy starts with the same trigger globals as the original. The new prototype is installed in mob_index and the destination zone is marked dirty so a normal OLC save writes the addition to disk. Arguments: <source vid> ..... Virtual ID of the source mobile. Short form :<number> inherits the zone from the current room; full <zone>:<number> targets any zone. <destination vid> Virtual ID the new prototype will occupy. Short form inherits the source VID's zone rather than the current room's. Output: On success the invoker sees: Copied mobile <src> to <dst>. And the staff wiznet records: OLC: <name> copies mobile <src> to <dst> Restrictions: - Requires the OLC staff permission and build access to the destination zone. - Both arguments are required. Omitting one prints the shared usage line for the whole copy family: "Usage: [rcopy|ocopy|mcopy|scriptcopy] <source> <destination>". - The destination VID must be well-formed and its zone must already exist; otherwise the command reports "Invalid destination VirtualID." or "The destination zone does not exist.". - The source mobile must already exist ("Source mobile not found."). - The destination must be empty -- mcopy refuses to overwrite: "You cannot copy over an existing mobile." Notes: - The zone save is deferred. Your edit is live immediately, but the new prototype only hits disk on the next OLC save for the destination zone -- usually as soon as you quit out of an editor or run massolcsave. - The copy is independent of the source: rewriting the original afterwards does not touch the copy, and vice versa. - For the other copy operations in the same family, see the related helpfiles below. Related Helpfiles: WIZ_OCOPY, WIZ_RCOPY, WIZ_SCRIPTCOPY === END MANUAL ===