server/src/common/kernel/faction.h

82 lines
2.1 KiB
C
Raw Normal View History

2001-01-25 10:37:55 +01:00
/* vi: set ts=2:
*
* Eressea PB(E)M host Copyright (C) 1998-2000
* 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 FACTION_H
#define FACTION_H
2001-04-26 19:41:06 +02:00
struct player;
2001-01-25 10:37:55 +01:00
typedef struct faction {
struct faction *next;
struct faction *nexthash;
2001-04-26 19:41:06 +02:00
struct player *owner;
2001-01-25 10:37:55 +01:00
struct region *first;
struct region *last;
int no;
int unique_id;
unsigned int flags;
char *name;
char *banner;
char *email;
char *passw;
struct locale * locale;
int lastorders; /* enno: short? */
int age; /* enno: short? */
ursprung *ursprung;
const struct race * race;
2001-01-25 10:37:55 +01:00
magic_t magiegebiet;
int newbies;
int num_migrants; /* Anzahl Migranten */
int num_people; /* Anzahl Personen */
int options;
int no_units;
int karma;
#ifdef USE_UGROUPS
struct ugroup *ugroups;
#endif
2001-01-25 10:37:55 +01:00
struct warning * warnings;
struct msglevel * msglevels;
struct ally *allies;
struct group *groups;
struct strlist *mistakes; /* enno: das mu<6D> irgendwann noch ganz raus */
boolean alive; /* enno: sollte ein flag werden */
int nregions;
int nunits; /* enno: unterschied zu no_units ? */
int number; /* enno: unterschied zu num_people ? */
int money;
int score;
#ifndef FAST_REGION
vset regions;
#endif
struct unit * units;
struct attrib *attribs;
struct message_list * msgs;
2001-01-25 10:37:55 +01:00
struct bmsg {
struct bmsg * next;
struct region * r;
struct message_list * msgs;
2001-01-25 10:37:55 +01:00
} * battles;
} faction;
typedef struct faction_list {
struct faction_list * next;
struct faction * data;
} faction_list;
extern const struct unit * random_unit_in_faction(const struct faction *f);
extern const char * factionname(const struct faction * f);
2001-01-25 10:37:55 +01:00
extern void * resolve_faction(void * data);
extern struct unit * addplayer(struct region *r, char *email, const struct race * frace, struct locale *loc);
2001-01-25 10:37:55 +01:00
#endif