SYNOPSIS object * clones() object * clones(int what) object * clones(string|object obj [, int what]) DESCRIPTION The efuns returns an array with all clones of a certain blueprint. The array is subject to the usual runtime limits. If is given, all clones of the blueprint of (which may be itself) are returned, otherwise all clones of the current object resp. of the current object's blueprint. If is given as string, it must name an existing object. selects how to treat clones made from earlier versions of the blueprint: == 0: (default) return the clones of the current blueprint only. == 1: return the clones of the previous blueprints only. == 2: return all clones of the blueprint. Note: this efun is computationally expensive. If the driver is compiled with DYNAMIC_COSTS, the cost of this efun is proportional to the number of objects in the game. EXAMPLES object o, p; o = clone_object("/std/thing"); /* or "std/thing" in COMPAT mode */ destruct(find_object("/std/thing")); p = clone_object("/std/thing"); clones("/std/thing") --> returns ({ p }) clones("/std/thing", 0) --> returns ({ p }) clones("/std/thing", 1) --> returns ({ o }) clones("/std/thing", 2) --> returns ({ o, p }) HISTORY Introduced in LDMud 3.2.8. LDMud 3.2.9 added the dynamic cost. SEE ALSO blueprint(E), clone_object(E), clonep(E)