MG Mud User | 88f1247 | 2016-06-24 23:31:02 +0200 | [diff] [blame^] | 1 | // 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 |
| 60 | mapping QueryAllDoors(); |
| 61 | varargs int NewDoor(string|string* cmds, string dest, string|string* ids, |
| 62 | mapping|<int|string|string*>* props); |
| 63 | void init_doors (); |
| 64 | string look_doors (); |
| 65 | void reset_doors (); |
| 66 | varargs int go_door (string str); |
| 67 | //int oeffnen (string str); |
| 68 | //int schliessen (string str); |
| 69 | int set_doors (string *cmds, int open); |
| 70 | varargs string GetExits(object viewer); |
| 71 | |
| 72 | #endif /* __DOORROOM_H_PROTO__ */ |
| 73 | #endif /* NEED_PROTOTYPES */ |