IMM_MCOPY
Keywords: IMM_MCOPY, WIZ_MCOPY
=== 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 ===