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