MG Mud User | 88f1247 | 2016-06-24 23:31:02 +0200 | [diff] [blame] | 1 | // MorgenGrauen MUDlib |
| 2 | // |
| 3 | // thing.c -- standard object |
| 4 | // |
| 5 | // $Id: thing.c 7804 2011-07-10 20:37:52Z Zesstra $ |
| 6 | |
| 7 | #pragma strict_types |
| 8 | #pragma save_types |
| 9 | #pragma pedantic |
| 10 | #pragma range_check |
| 11 | //#pragma no_clone |
| 12 | |
| 13 | inherit "/std/thing/properties"; |
| 14 | inherit "/std/thing/light"; |
| 15 | inherit "/std/thing/description"; |
| 16 | inherit "/std/thing/moving"; |
| 17 | inherit "/std/thing/language"; |
| 18 | inherit "/std/thing/commands"; |
| 19 | inherit "/std/thing/restrictions"; |
| 20 | inherit "/std/thing/envchk"; |
| 21 | |
| 22 | protected void create() |
| 23 | { |
| 24 | seteuid(getuid()); |
| 25 | properties::create(); |
Zesstra | d3d4510 | 2018-02-13 20:06:11 +0100 | [diff] [blame^] | 26 | // Wenn das Objekt jetzt schon ein gueltiges P_CLONER hat, wurde create() |
| 27 | // zweimal gerufen. Dies ist ein Fehler und vermutlich ist das Objekt |
| 28 | // jetzt kaputt. |
| 29 | if (stringp(QueryProp(P_CLONER))) |
| 30 | catch(raise_error("create() wurde ein zweites Mal gerufen. Dieses " |
| 31 | "Objekt ist nun vermutlich kaputt.\n"); publish); |
| 32 | |
MG Mud User | 88f1247 | 2016-06-24 23:31:02 +0200 | [diff] [blame] | 33 | light::create(); |
| 34 | commands::create(); |
| 35 | description::create(); |
| 36 | restrictions::create(); |
| 37 | envchk::create(); |
| 38 | AddId("Ding"); |
| 39 | |
| 40 | return; |
| 41 | } |
| 42 | |
| 43 | // wird gerufen, wenn implizit per inherit geladen. In diesem Fall wird kein |
| 44 | // Reset benoetigt, weil das Objekt nicht konfiguriert ist und nur das |
| 45 | // Programm wichtig ist. |
| 46 | protected void create_super() { |
| 47 | set_next_reset(-1); |
| 48 | } |
| 49 | |
| 50 | // Damit man in ALLEN Standardobjekten ::reset aufrufen kann. |
| 51 | void reset() {} |
| 52 | |