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