Merge from vendor branch BIND:
[dragonfly.git] / games / phantasia / phantstruct.h
1 /*
2  * phantstruct.h - structure definitions for Phantasia
3  *
4  * $DragonFly: src/games/phantasia/phantstruct.h,v 1.3 2005/05/31 00:06:26 swildner Exp $
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     };