summaryrefslogtreecommitdiff
path: root/games/phantasia/phantglobs.h
blob: 7b0fc5a047256953a71549d8510854511ae5f87a (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
/*	$OpenBSD: phantglobs.h,v 1.7 2016/01/06 14:28:09 mestre Exp $	*/
/*	$NetBSD: phantglobs.h,v 1.3 1995/04/24 12:24:39 cgd Exp $	*/

/*
 * phantglobs.h - global declarations for Phantasia
 */

#include <stdio.h>

#include "phantstruct.h"

extern	double	Circle;		/* which circle player is in */
extern	double	Shield;		/* force field thrown up in monster battle */

extern	bool	Beyond;		/* set if player is beyond point of no return */
extern	bool	Marsh;		/* set if player is in dead marshes */
extern	bool	Throne;		/* set if player is on throne */
extern	bool	Changed;	/* set if important player stats have changed */
extern	bool	Wizard;		/* set if player is the 'wizard' of the game */
extern	bool	Timeout;	/* set if short timeout waiting for input */
extern	bool	Windows;	/* set if we are set up for curses stuff */
extern	bool	Luckout;	/* set if we have tried to luck out in fight */
extern	bool	Foestrikes;	/* set if foe gets a chance to hit in battleplayer()*/
extern	bool	Echo;		/* set if echo input to terminal */

extern	int	Users;		/* number of users currently playing */
extern	int	Whichmonster;	/* which monster we are fighting */
extern	int	Lines;		/* line on screen counter for fight routines */

extern	char	Ch_Erase;	/* backspace key */
extern	char	Ch_Kill;	/* linekill key */

extern	long	Fileloc;	/* location in file of player statistics */

extern	const char *Login;	/* pointer to login of current player */
extern	char	*Enemyname;	/* pointer name of monster/player we are battling*/

extern	struct player	Player;	/* stats for player */
extern	struct player	Other;	/* stats for another player */

extern	struct monster	Curmonster;/* stats for current monster */

extern	struct energyvoid Enrgyvoid;/* energy void buffer */

extern	struct charstats Stattable[];/* used for rolling and changing player stats*/

extern	struct charstats *Statptr;/* pointer into Stattable[] */

extern	struct menuitem	Menu[];	/* menu of items for purchase */

extern	FILE	*Playersfp;	/* pointer to open player file */
extern	FILE	*Monstfp;	/* pointer to open monster file */
extern	FILE	*Messagefp;	/* pointer to open message file */
extern	FILE	*Energyvoidfp;	/* pointer to open energy void file */

extern	char	Databuf[SZ_DATABUF];	/* a place to read data into */

/* some canned strings for messages */
extern	char	Illcmd[];
extern	char	Illmove[];
extern	char	Illspell[];
extern	char	Nomana[];
extern	char	Somebetter[];
extern	char	Nobetter[];

/* functions which we need to know about */

char	*descrlocation(struct player *, bool);
char	*descrstatus(struct player *);
char	*descrtype(struct player *, bool);
void	activelist(void);
void	adjuststats(void);
long	allocrecord(void);
long	allocvoid(void);
void	allstatslist(void);
void	altercoordinates(double, double, int);
void	awardtreasure(void);
void	battleplayer(long);
void	callmonster(int);
void	cancelmonster(void);
void	catchalarm(int);
void	changestats(bool);
void	checkbattle(void);
void	checktampered(void);
void	cleanup(int);
void	collecttaxes(double, double);
void	cursedtreasure(void);
void	death(char *);
void	displaystats(void);
double	distance(double, double, double, double);
void	dotampered(void);
double	drandom(void);
void	encounter(int);
void	enterscore(void);
void	error(char *);
double	explevel(double);
long	findname(char *, struct player *);
void	freerecord(struct player *, long);
void	genchar(int);
int	getanswer(char *, bool);
void	getstring(char *, int);
void	hitmonster(double);
void	ill_sig(int);
double	infloat(void);
void	initialstate(void);
void	initplayer(struct player *);
int	inputoption(void);
void	interrupt(void);
void	leavegame(void);
void	monsthits(void);
void	monstlist(void);
void	more(int);
void	movelevel(void);
void	myturn(void);
void	neatstuff(void);
int	pickmonster(void);
void	playerhits(void);
void	playinit(void);
void	procmain(void);
void	purgeoldplayers(void);
void	readmessage(void);
void	readrecord(struct player *, long);
long	recallplayer(void);
long	rollnewplayer(void);
void	scorelist(void);
void	scramblestats(void);
void	tampered(int, double, double);
void	throneroom(void);
void	throwspell(void);
void	titlelist(void);
void	tradingpost(void);
void	truncstring(char *);
void	userlist(bool);
void	writerecord(struct player *, long);
void	writevoid(struct energyvoid *, long);