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