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