forked from github/server
52 lines
1.3 KiB
C
52 lines
1.3 KiB
C
/* vi: set ts=2:
|
|
+-------------------+
|
|
| | Enno Rehling <enno@eressea.de>
|
|
| Eressea PBEM host | Christian Schlittchen <corwin@amber.kn-bremen.de>
|
|
| (c) 1998 - 2007 | Katja Zedel <katze@felidae.kn-bremen.de>
|
|
| | Henning Peters <faroul@beyond.kn-bremen.de>
|
|
+-------------------+
|
|
|
|
This program may not be used, modified or distributed
|
|
without prior permission by the authors of Eressea.
|
|
*/
|
|
|
|
#ifndef H_GC_ARCHETYPE
|
|
#define H_GC_ARCHETYPE
|
|
|
|
#ifdef __cplusplus
|
|
extern "C" {
|
|
#endif
|
|
|
|
typedef struct rule {
|
|
boolean allow;
|
|
char *property;
|
|
char *value;
|
|
} rule;
|
|
|
|
struct archetype;
|
|
typedef int (*archetype_function) (struct unit * u, const struct archetype *,
|
|
int);
|
|
|
|
typedef struct archetype {
|
|
struct archetype *next;
|
|
char *name[2];
|
|
int size;
|
|
struct building_type *btype;
|
|
struct equipment *equip;
|
|
struct construction *ctype;
|
|
struct rule *rules;
|
|
archetype_function exec;
|
|
} archetype;
|
|
|
|
extern const struct archetype *find_archetype(const char *s,
|
|
const struct locale *lang);
|
|
extern void init_archetypes(void);
|
|
extern void register_archetype(struct archetype *arch);
|
|
extern void register_archetypes(void);
|
|
|
|
extern struct attrib_type at_recruit;
|
|
|
|
#ifdef __cplusplus
|
|
}
|
|
#endif
|
|
#endif
|