xref: /openbsd-src/games/phantasia/phantstruct.h (revision 010ae45bb590c64a39c8a06666034df48999c5c6)
1*010ae45bSmestre /*	$OpenBSD: phantstruct.h,v 1.5 2016/01/06 14:28:09 mestre Exp $	*/
2df930be7Sderaadt /*	$NetBSD: phantstruct.h,v 1.2 1995/03/24 04:00:11 cgd Exp $	*/
3df930be7Sderaadt 
4df930be7Sderaadt /*
5df930be7Sderaadt  * phantstruct.h - structure definitions for Phantasia
6df930be7Sderaadt  */
7df930be7Sderaadt 
8*010ae45bSmestre #include <limits.h>
9*010ae45bSmestre #include <stdbool.h>
10*010ae45bSmestre 
11df930be7Sderaadt struct	player	    	/* player statistics */
12df930be7Sderaadt     {
13df930be7Sderaadt     double	p_experience;	/* experience */
14df930be7Sderaadt     double	p_level;    	/* level */
15df930be7Sderaadt     double	p_strength;	/* strength */
16df930be7Sderaadt     double	p_sword;	/* sword */
17df930be7Sderaadt     double	p_might;	/* effect strength */
18df930be7Sderaadt     double	p_energy;	/* energy */
19df930be7Sderaadt     double	p_maxenergy;	/* maximum energy */
20df930be7Sderaadt     double	p_shield;	/* shield */
21df930be7Sderaadt     double	p_quickness;	/* quickness */
22df930be7Sderaadt     double	p_quksilver;	/* quicksilver */
23df930be7Sderaadt     double	p_speed;	/* effective quickness */
24df930be7Sderaadt     double	p_magiclvl;	/* magic level */
25df930be7Sderaadt     double	p_mana;		/* mana */
26df930be7Sderaadt     double	p_brains;	/* brains */
27df930be7Sderaadt     double	p_poison;	/* poison */
28df930be7Sderaadt     double	p_gold;		/* gold */
29df930be7Sderaadt     double	p_gems;		/* gems */
30df930be7Sderaadt     double	p_sin;		/* sin */
31df930be7Sderaadt     double	p_x;	    	/* x coord */
32df930be7Sderaadt     double	p_y;	    	/* y coord */
33df930be7Sderaadt     double	p_1scratch,
34df930be7Sderaadt 		p_2scratch;	/* variables used for decree, player battle */
35df930be7Sderaadt 
36df930be7Sderaadt     struct
37df930be7Sderaadt 	{
38df930be7Sderaadt 	short	ring_type;	/* type of ring */
39df930be7Sderaadt 	short	ring_duration;	/* duration of ring */
40df930be7Sderaadt 	bool	ring_inuse;	/* ring in use flag */
41df930be7Sderaadt 	}	p_ring;	    	/* ring stuff */
42df930be7Sderaadt 
43df930be7Sderaadt     long	p_age;		/* age of player */
44df930be7Sderaadt 
45df930be7Sderaadt     int		p_degenerated;	/* age/3000 last degenerated */
46df930be7Sderaadt 
47df930be7Sderaadt     short	p_type;		/* character type */
48df930be7Sderaadt     short	p_specialtype;	/* special character type */
49df930be7Sderaadt     short	p_lives;	/* multiple lives for council, valar */
50df930be7Sderaadt     short	p_crowns;	/* crowns */
51df930be7Sderaadt     short	p_charms;	/* charms */
52df930be7Sderaadt     short	p_amulets;	/* amulets */
53df930be7Sderaadt     short	p_holywater;   	/* holy water */
54df930be7Sderaadt     short	p_lastused;	/* day of year last used */
55df930be7Sderaadt     short	p_status;	/* playing, cloaked, etc. */
56df930be7Sderaadt     short	p_tampered;	/* decree'd, etc. flag */
57df930be7Sderaadt     short	p_istat;	/* used for inter-terminal battle */
58df930be7Sderaadt 
59df930be7Sderaadt     bool	p_palantir;	/* palantir */
60df930be7Sderaadt     bool	p_blessing;	/* blessing */
61df930be7Sderaadt     bool	p_virgin;	/* virgin */
62df930be7Sderaadt     bool	p_blindness;	/* blindness */
63df930be7Sderaadt 
64df930be7Sderaadt     char	p_name[SZ_NAME];	/* name */
65df930be7Sderaadt     char	p_password[SZ_PASSWORD];/* password */
6634278d36Sguenther     char	p_login[LOGIN_NAME_MAX];/* login */
67df930be7Sderaadt     };
68df930be7Sderaadt 
69df930be7Sderaadt struct	monster	    	/* monster stats */
70df930be7Sderaadt     {
71df930be7Sderaadt     double	m_strength;	/* strength */
72df930be7Sderaadt     double	m_brains;	/* brains */
73df930be7Sderaadt     double	m_speed;	/* speed */
74df930be7Sderaadt     double	m_energy;	/* energy */
75df930be7Sderaadt     double	m_experience;	/* experience */
76df930be7Sderaadt     double	m_flock;    	/* % chance of flocking */
77df930be7Sderaadt 
78df930be7Sderaadt     double	m_o_strength;	/* original strength */
79df930be7Sderaadt     double	m_o_speed;	/* original speed */
80df930be7Sderaadt     double	m_maxspeed;	/* maximum speed */
81df930be7Sderaadt     double	m_o_energy;	/* original energy */
82df930be7Sderaadt     double	m_melee;	/* melee damage */
83df930be7Sderaadt     double	m_skirmish;	/* skirmish damage */
84df930be7Sderaadt 
85df930be7Sderaadt     int		m_treasuretype;	/* treasure type */
86df930be7Sderaadt     int		m_type;	    	/* special type */
87df930be7Sderaadt 
88df930be7Sderaadt     char	m_name[26];	/* name */
89df930be7Sderaadt     };
90df930be7Sderaadt 
91df930be7Sderaadt struct	energyvoid     	/* energy void */
92df930be7Sderaadt     {
93df930be7Sderaadt     double	ev_x;		/* x coordinate */
94df930be7Sderaadt     double	ev_y;		/* y coordinate */
95df930be7Sderaadt     bool	ev_active;	/* active or not */
96df930be7Sderaadt     };
97df930be7Sderaadt 
98df930be7Sderaadt struct	scoreboard			/* scoreboard entry */
99df930be7Sderaadt     {
100df930be7Sderaadt     double	sb_level;		/* level of player */
101df930be7Sderaadt     char	sb_type[4];		/* character type of player */
102df930be7Sderaadt     char	sb_name[SZ_NAME];	/* name of player */
10334278d36Sguenther     char	sb_login[LOGIN_NAME_MAX];/* login of player */
104df930be7Sderaadt     };
105df930be7Sderaadt 
106df930be7Sderaadt struct	charstats			/* character type statistics */
107df930be7Sderaadt     {
108df930be7Sderaadt     double	c_maxbrains;		/* max brains per level */
109df930be7Sderaadt     double	c_maxmana;		/* max mana per level */
110df930be7Sderaadt     double	c_weakness;		/* how strongly poison affects player */
111df930be7Sderaadt     double	c_goldtote;		/* how much gold char can carry */
112df930be7Sderaadt     int		c_ringduration;		/* bad ring duration */
113df930be7Sderaadt     struct
114df930be7Sderaadt 	{
115df930be7Sderaadt 	double	base;		/* base for roll */
116df930be7Sderaadt 	double	interval;	/* interval for roll */
117df930be7Sderaadt 	double	increase;	/* increment per level */
118df930be7Sderaadt 	} c_quickness,		/* quickness */
119df930be7Sderaadt 	  c_strength,		/* strength */
120df930be7Sderaadt 	  c_mana,		/* mana */
121df930be7Sderaadt 	  c_energy,		/* energy level */
122df930be7Sderaadt 	  c_brains,		/* brains */
123df930be7Sderaadt 	  c_magiclvl;		/* magic level */
124df930be7Sderaadt     };
125df930be7Sderaadt 
126df930be7Sderaadt struct menuitem				/* menu item for purchase */
127df930be7Sderaadt     {
128df930be7Sderaadt     char	*item;		/* menu item name */
129df930be7Sderaadt     double	cost;		/* cost of item */
130df930be7Sderaadt     };
131