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