blob: a5a9cbb70cd1db1e8603b2d922e07f9b99320909 [file] [log] [blame]
MG Mud User88f12472016-06-24 23:31:02 +02001// 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
73public int MountSocketItem(object item);
74public int TestSocketItem(object item);
75public mixed GetSocketInfo();
76
77#endif // _SOCKETS_H_PROTOTYPES_
78#endif // NEED_PROTOTYPES
79