Zesstra | 715ec20 | 2025-07-09 22:18:31 +0200 | [diff] [blame] | 1 | PRELIMINARY |
MG Mud User | 88f1247 | 2016-06-24 23:31:02 +0200 | [diff] [blame] | 2 | SYNOPSIS |
Zesstra | d59c389 | 2019-11-28 20:53:39 +0100 | [diff] [blame] | 3 | object present_clone(string str) |
| 4 | object present_clone(string str, int n) |
| 5 | object present_clone(string str, object env) |
| 6 | object present_clone(string str, object env, int n) |
| 7 | |
| 8 | object present_clone(object obj) |
| 9 | object present_clone(object obj, int n) |
| 10 | object present_clone(object obj, object env) |
| 11 | object present_clone(object obj, object env, int n) |
MG Mud User | 88f1247 | 2016-06-24 23:31:02 +0200 | [diff] [blame] | 12 | |
MG Mud User | 88f1247 | 2016-06-24 23:31:02 +0200 | [diff] [blame] | 13 | |
Zesstra | 715ec20 | 2025-07-09 22:18:31 +0200 | [diff] [blame] | 14 | DESCRIPTION |
| 15 | This efun searches the inventory of object <env> (default is |
| 16 | this_object()) for an object with a specific blueprint. |
| 17 | The blueprint can be specified either by name <str>, or as the same |
| 18 | blueprint as of object <obj>. The matching criteria in both cases is |
| 19 | the load_name(). |
| 20 | If <n> is given, the <n>th object in <env> is returned (if present), |
| 21 | otherwise the first object matching <str> or <obj>. |
| 22 | If no object in <env> matches the criteria, 0 is returned. |
MG Mud User | 88f1247 | 2016-06-24 23:31:02 +0200 | [diff] [blame] | 23 | |
Zesstra | 715ec20 | 2025-07-09 22:18:31 +0200 | [diff] [blame] | 24 | For plain driver this name starts with a '/', for COMPAT mode |
| 25 | drivers it doesn't. |
| 26 | |
| 27 | EXAMPLES |
| 28 | Assume that object 'env' contains the objects /obj/money#8, |
| 29 | /std/weapon#9, /std/weapon#12 and /obj/key in the given order. |
MG Mud User | 88f1247 | 2016-06-24 23:31:02 +0200 | [diff] [blame] | 30 | |
| 31 | +--------------------------------------------------+---------------+ |
Zesstra | 715ec20 | 2025-07-09 22:18:31 +0200 | [diff] [blame] | 32 | | Function call | returns | |
MG Mud User | 88f1247 | 2016-06-24 23:31:02 +0200 | [diff] [blame] | 33 | +--------------------------------------------------+---------------+ |
Zesstra | d59c389 | 2019-11-28 20:53:39 +0100 | [diff] [blame] | 34 | | present_clone("/obj/money", env) | /obj/money#8 | |
MG Mud User | 88f1247 | 2016-06-24 23:31:02 +0200 | [diff] [blame] | 35 | | present_clone("/std/weapon#12", env) | /std/weapon#9 | |
Zesstra | d59c389 | 2019-11-28 20:53:39 +0100 | [diff] [blame] | 36 | | present_clone(find_object("/obj/money#14"), env) | /obj/money#8 | |
MG Mud User | 88f1247 | 2016-06-24 23:31:02 +0200 | [diff] [blame] | 37 | | present_clone("/obj/key#18", env) | /obj/key | |
Zesstra | d59c389 | 2019-11-28 20:53:39 +0100 | [diff] [blame] | 38 | | present_clone("/std/weapon#12", env, 2) | /std/weapon#12| |
| 39 | | present_clone("/std/weapon#12", env, 3) | 0 | |
MG Mud User | 88f1247 | 2016-06-24 23:31:02 +0200 | [diff] [blame] | 40 | +--------------------------------------------------+---------------+ |
| 41 | |
Zesstra | 715ec20 | 2025-07-09 22:18:31 +0200 | [diff] [blame] | 42 | REMARKS |
| 43 | Note that in contrast to present(), this efun never searches |
| 44 | in the environment of <env>. |
MG Mud User | 88f1247 | 2016-06-24 23:31:02 +0200 | [diff] [blame] | 45 | |
Zesstra | 715ec20 | 2025-07-09 22:18:31 +0200 | [diff] [blame] | 46 | HISTORY |
| 47 | Introduced in 3.2.7. |
| 48 | Searching for the <n>th object was added in 3.3.718. |
MG Mud User | 88f1247 | 2016-06-24 23:31:02 +0200 | [diff] [blame] | 49 | |
Zesstra | 715ec20 | 2025-07-09 22:18:31 +0200 | [diff] [blame] | 50 | SEE ALSO |
MG Mud User | 88f1247 | 2016-06-24 23:31:02 +0200 | [diff] [blame] | 51 | load_name(E), present(E) |