blob: 8f6314355540b5398c8f0e75cb2af25457f99a7f [file] [log] [blame]
MG Mud User88f12472016-06-24 23:31:02 +02001// MorgenGrauen MUDlib
2//
3// doorroom.h -- new doors, managed by doormaster
4//
5// $Id: doorroom.h 9128 2015-01-26 17:42:21Z Arathorn $
6
7#ifndef _DOORROOM_H_
8#define _DOORROOM_H_
9
10#define DOOR_MASTER "/obj/doormaster"
11#define P_DOOR_INFOS "door_infos" // Informationen
12
13#define DOOR_OPEN 0x01 // Tuer initial offen
14#define DOOR_CLOSED 0x02 // Tuer initial zu
15#define DOOR_NEEDKEY 0x08 // Man braucht einen Schluessel zum Oeffnen
16#define DOOR_CLOSEKEY 0x10 // Man braucht einen Schluessel zum Schliessen
17#define DOOR_RESET_CL 0x20 // Tuer schliesst sich bei jedem reset()
18#define DOOR_RESET_OP 0x40 // Tuer oeffnet sich bei jedem reset()
19
20#define D_DEST 0
21#define D_CMDS 1
22#define D_IDS 2
23
24// properties
25// Ab hier die aenderbaren Eigenschaften der Tuer
26#define D_FLAGS 3
27#define D_LONG 4
28#define D_SHORT 5
29#define D_NAME 6
30#define D_GENDER 7
31#define D_FUNC 8
32// Funktion, die VOR dem Durchschreiten der Tuer aufgerufen wird (im Startraum)
33#define D_MSGS 9
34// Messages fuer Move
35#define D_FUNC2 10
36// Funktion, die NACH dem Durchschreiten der Tuer aufgerufen wird (im Zielraum)
37#define D_TESTFUNC 11
38// Funktion, die testet, ob die Tuer durchschritten werden darf (im Startraum)
39#define D_RESET_MSG 12
40// Meldung beim Tuer-Reset (tuer->name(WER,0)+D_RESET_MSG).
41#define D_OPEN_WITH_MOVE 13
42// Falls gesetzt wird die Tuer auch mit dem Bewegungsbefehl geoeffnet
43// und durchschritten, falls oeffnen erfolgreich
44
45#define D_MINPROPS 3
46#define D_MAXPROPS 13
47
48#define D_STATUS_LOCKED -2
49#define D_STATUS_CLOSED -1
50#define D_STATUS_OPEN 1
51
52#endif /* _DOORROOM_H_ */
53
54#ifdef NEED_PROTOTYPES
55
56#ifndef __DOORROOM_H_PROTO__
57#define __DOORROOM_H_PROTO__
58
59// prototypes
60mapping QueryAllDoors();
61varargs int NewDoor(string|string* cmds, string dest, string|string* ids,
62 mapping|<int|string|string*>* props);
63void init_doors ();
64string look_doors ();
65void reset_doors ();
66varargs int go_door (string str);
67//int oeffnen (string str);
68//int schliessen (string str);
69int set_doors (string *cmds, int open);
70varargs string GetExits(object viewer);
71
72#endif /* __DOORROOM_H_PROTO__ */
73#endif /* NEED_PROTOTYPES */