MG Mud User | 88f1247 | 2016-06-24 23:31:02 +0200 | [diff] [blame^] | 1 | // MorgenGrauen MUDlib |
| 2 | /** @file |
| 3 | Konstanten, Prototypen und Properties fuer sockelbare Items. |
| 4 | * Langbeschreibung... |
| 5 | * @author Zesstra + Arathorn |
| 6 | * @date xx.05.2008 |
| 7 | * @version $Id$ |
| 8 | */ |
| 9 | |
| 10 | /* Changelog: |
| 11 | */ |
| 12 | |
| 13 | #ifndef _SOCKETS_H_ |
| 14 | #define _SOCKETS_H_ |
| 15 | |
| 16 | /** Speichert die Sockel und deren Inhalt, die ein Item hat. |
| 17 | ([ TYP1: ({ITEM1, ITEM2}), |
| 18 | TYP2: ({-1}) ]) \n |
| 19 | ITEM1 = ([ P_SOCKET_PROPS, |
| 20 | BLUE_NAME: load_name(), |
| 21 | DESCRIPTION: name(WER) ]) |
| 22 | @internal |
| 23 | */ |
| 24 | #define P_SOCKETS "_sockets" |
| 25 | |
| 26 | /** Speichert ein Mapping von Prop-Modifikatoren. |
| 27 | Die in diesem Mapping enthaltenen Props werden beim Einsetzen im Item mit |
| 28 | dem Sockel um den angegebenen Wert modifiziert. |
| 29 | */ |
| 30 | #define P_SOCKET_PROPS "_socket_props" |
| 31 | |
| 32 | /** Sockeltyp, in den das Item eingesetzt werden kann. |
| 33 | Alle anderen Sockel sind inkompatibel. |
| 34 | */ |
| 35 | #define P_SOCKET_TYPE "_socket_type" |
| 36 | |
| 37 | /** Einschraenkungen, denen der gesockelte Gegenstand nach dem Einsetzen |
| 38 | zusaetzlich unterliegt. |
| 39 | Wird P_RESTRICTIONS hinzugefuegt. Mapping a la P_RESTRICTIONS. |
| 40 | */ |
| 41 | #define P_SOCKET_RESTR_USE "_socket_restr_use" |
| 42 | |
| 43 | /** Einschraenkungen, denen das Lebewesen unterliegt, welches das Item in |
| 44 | den Sockel einbauen soll/will. |
| 45 | Mapping a la P_RESTRICTIONS. |
| 46 | */ |
| 47 | #define P_SOCKET_RESTR_MOUNT "_socket_restr_mount" |
| 48 | |
| 49 | // Sockeltypen |
| 50 | // TODO: gueltige Sockeltypen definieren festlegen, welche Props sie aendern |
| 51 | // duerfen. |
| 52 | #define VALID_SOCKET_TYPES ({}) |
| 53 | |
| 54 | // Rueckgabewerte |
| 55 | #define SOCKET_OK 1 |
| 56 | #define SOCKET_NO_OBJECT -1 |
| 57 | #define SOCKET_NO_DATA -2 |
| 58 | #define SOCKET_INVALID_TYPE -3 |
| 59 | #define SOCKET_NO_SOCKETS -4 |
| 60 | #define SOCKET_NONE_AVAILABLE -5 |
| 61 | #define SOCKET_NO_EXPERTISE -6 |
| 62 | #define SOCKET_ITEM_INUSE -7 |
| 63 | |
| 64 | // sym. Konstante fuer freien Sockel |
| 65 | #define SOCKET_FREE -1 |
| 66 | |
| 67 | #endif // _SOCKETS_H_ |
| 68 | |
| 69 | #ifdef NEED_PROTOTYPES |
| 70 | #ifndef _SOCKETS_H_PROTOTYPES_ |
| 71 | #define _SOCKETS_H_PROTOTYPES_ |
| 72 | // public Interface |
| 73 | public int MountSocketItem(object item); |
| 74 | public int TestSocketItem(object item); |
| 75 | public mixed GetSocketInfo(); |
| 76 | |
| 77 | #endif // _SOCKETS_H_PROTOTYPES_ |
| 78 | #endif // NEED_PROTOTYPES |
| 79 | |