server/src/common/kernel/alliance.h

55 lines
1.3 KiB
C
Raw Normal View History

/* vi: set ts=2:
*
*
* Eressea PB(E)M host Copyright (C) 1998-2003
* Christian Schlittchen (corwin@amber.kn-bremen.de)
* Katja Zedel (katze@felidae.kn-bremen.de)
* Henning Peters (faroul@beyond.kn-bremen.de)
* Enno Rehling (enno@eressea-pbem.de)
* Ingo Wilken (Ingo.Wilken@informatik.uni-oldenburg.de)
*
* This program may not be used, modified or distributed without
* prior permission by the authors of Eressea.
*/
#ifndef H_MOD_ALLIANCE
#define H_MOD_ALLIANCE
#ifdef __cplusplus
extern "C" {
#endif
#ifndef ALLIANCES
#error "must define ALLIANCES to use this module"
#endif
struct plane;
struct attrib;
struct unit;
struct faction;
struct region;
2002-09-02 22:36:12 +02:00
struct faction_list;
typedef struct alliance {
struct alliance * next;
2002-09-02 22:36:12 +02:00
struct faction_list * members;
unsigned int flags;
int id;
char * name;
} alliance;
extern alliance * alliances;
extern alliance * findalliance(int id);
extern alliance * makealliance(int id, const char * name);
2002-09-02 22:36:12 +02:00
extern const char * alliancename(const struct alliance * al);
extern void setalliance(struct faction * f, alliance * al);
extern void alliancejoin(void);
extern void alliancekick(void);
2002-09-02 22:36:12 +02:00
extern void alliancevictory(void);
extern int victorycondition(const alliance * al, const char * name);
/* execute commands */
#ifdef __cplusplus
}
#endif
2002-09-02 23:10:53 +02:00
#endif