server/src/gamecode/archetype.h

52 lines
1.3 KiB
C
Raw Normal View History

2010-08-08 10:06:34 +02:00
/* 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