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