blob: 6198675ecd16b01341d3d0a189f968f365bdfcb8 [file] [log] [blame]
MG Mud User88f12472016-06-24 23:31:02 +02001// 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
13inherit "/std/thing/properties";
14inherit "/std/thing/light";
15inherit "/std/thing/description";
16inherit "/std/thing/moving";
17inherit "/std/thing/language";
18inherit "/std/thing/commands";
19inherit "/std/thing/restrictions";
20inherit "/std/thing/envchk";
21
22protected void create()
23{
24 seteuid(getuid());
25 properties::create();
Zesstrad3d45102018-02-13 20:06:11 +010026 // 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 User88f12472016-06-24 23:31:02 +020033 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.
46protected void create_super() {
47 set_next_reset(-1);
48}
49
50// Damit man in ALLEN Standardobjekten ::reset aufrufen kann.
51void reset() {}
52