shithub: tbs

ref: 86318ae338e606247cfa057d141e6a974f4898a9
dir: tbs/dat.h

View raw version
typedef struct Unit Unit;
typedef struct Munit Munit;
typedef struct Tunit Tunit;
typedef struct Terrain Terrain;
typedef struct Map Map;
typedef struct Team Team;

extern char **mov;
extern int nmov;

struct Unit{
	char *name;
	u32int **pic;
	int atk;
	int Δatk;
	int rmin;
	int rmax;
	int def;
	int *move;
	int mp;
	int vis;
	int cost;
	int unique;
};
extern Unit *unit;
extern int nunit;

struct Munit{
	Unit *u;
	int team;
	int atkm;
	int defm;
	int eatk;
	int edef;
	int ecost;
	int xp;
	int hp;
	int done;
	int decaydt;
};

struct Tunit{
	Unit **u;
	Unit **e;
};

struct Terrain{
	char *name;
	u32int **pic;
	int move;
	int def;
	int income;
	Tunit spawn;
	Tunit occupy;
	Tunit *resupply;
};
extern Terrain *terrain;
extern int nterrain;

struct Map{
	Terrain *t;
	int team;
	Munit *u;
	int movep;
	int canmove;
	int atkp;
	int canatk;
};
extern Map *map, *mape, *selected, *selected2, *saved, *unique;
extern int mapwidth, mapheight;

enum{
	Nteam = 64,
};

struct Team{
	int money;
	int income;
	int nunit;
	int nbuild;
	int nprod;
	Munit *unique;
};
extern Team team[Nteam];
extern int nteam, curteam;
extern int turn, gameover;
extern int initmoney, unitcap, firstturnnoinc, nocorpse;

enum{
	Pcur,
	P1,
	P2,
	P3,
	P4,
	P5,
	P6,
	P7,
	P8,
	P9,
	Pend
};

extern void (*selectfn)(void);
extern int scale;
extern int menuon;

extern char *progname, *prefix, *dbname, *mapname;