1 /* 2 * phantglobs.c - globals for Phantasia 3 */ 4 5 #include "include.h" 6 7 double Circle; /* which circle player is in */ 8 double Shield; /* force field thrown up in monster battle */ 9 10 bool Beyond; /* set if player is beyond point of no return */ 11 bool Marsh; /* set if player is in dead marshes */ 12 bool Throne; /* set if player is on throne */ 13 bool Changed; /* set if important player stats have changed */ 14 bool Wizard; /* set if player is the 'wizard' of the game */ 15 bool Timeout; /* set if short timeout waiting for input */ 16 bool Windows; /* set if we are set up for curses stuff */ 17 bool Luckout; /* set if we have tried to luck out in fight */ 18 bool Foestrikes; /* set if foe gets a chance to hit in battleplayer() */ 19 bool Echo; /* set if echo input to terminal */ 20 21 int Users; /* number of users currently playing */ 22 int Whichmonster; /* which monster we are fighting */ 23 int Lines; /* line on screen counter for fight routines */ 24 #ifdef OK_TO_PLAY 25 int Okcount; /* counter for checking ok_to_play */ 26 #endif 27 28 jmp_buf Fightenv; /* used to jump into fight routine */ 29 jmp_buf Timeoenv; /* used for timing out waiting for input */ 30 31 long Fileloc; /* location in file of player statistics */ 32 33 char *Login; /* pointer to login of player */ 34 char *Enemyname; /* pointer name of monster/player we are battling*/ 35 36 struct player Player; /* stats for player */ 37 struct player Other; /* stats for another player */ 38 39 struct monster Curmonster;/* stats for current monster */ 40 41 struct energyvoid Enrgyvoid;/* energy void buffer */ 42 43 struct charstats *Statptr;/* pointer into Stattable[] */ 44 45 /* lookup table for character type dependent statistics */ 46 struct charstats Stattable[7] = 47 { 48 /* MAGIC USER */ 49 /* max brains, max mana, weakness, gold tote, ring duration */ 50 15.0, 200.0, 18.0, 175.0, 10, 51 /* quickness strength mana energy brains magic lvl */ 52 30, 6, 0.0, 10, 6, 2.0, 50,51,75.0, 30,16,20.0, 60,26, 6.0, 5, 5,2.75, 53 54 /* FIGHTER */ 55 /* max brains, max mana, weakness, gold tote, ring duration */ 56 10.0, 110.0, 15.0, 220.0, 20, 57 /* quickness strength mana energy brains magic lvl */ 58 30, 6, 0.0, 40,16, 3.0, 30,21,40.0, 45,26,30.0, 25,21, 3.0, 3, 4, 1.5, 59 60 /* ELF */ 61 /* max brains, max mana, weakness, gold tote, ring duration */ 62 12.0, 150.0, 17.0, 190.0, 13, 63 /* quickness strength mana energy brains magic lvl */ 64 32, 7, 0.0, 35,11, 2.5, 45,46,65.0, 30,21,25.0, 40,26, 4.0, 4, 4, 2.0, 65 66 /* DWARF */ 67 /* max brains, max mana, weakness, gold tote, ring duration */ 68 7.0, 80.0, 13.0, 255.0, 25, 69 /* quickness strength mana energy brains magic lvl */ 70 25, 6, 0.0, 50,21, 5.0, 25,21,30.0, 60,41,35.0, 20,21, 2.5, 2, 4, 1.0, 71 72 /* HALFLING */ 73 /* max brains, max mana, weakness, gold tote, ring duration */ 74 11.0, 80.0, 10.0, 125.0, 40, 75 /* quickness strength mana energy brains magic lvl */ 76 34, 0, 0.0, 20, 6, 2.0, 25,21,30.0, 55,36,30.0, 40,36, 4.5, 1, 4, 1.0, 77 78 /* EXPERIMENTO */ 79 /* max brains, max mana, weakness, gold tote, ring duration */ 80 9.0, 90.0, 16.0, 160.0, 20, 81 /* quickness strength mana energy brains magic lvl */ 82 27, 0, 0.0, 25, 0, 0.0, 100,0, 0.0, 35, 0, 0.0, 25, 0, 0.0, 2, 0, 0.0, 83 84 /* SUPER */ 85 /* max brains, max mana, weakness, gold tote, ring duration */ 86 15.0, 200.0, 10.0, 225.0, 40, 87 /* quickness strength mana energy brains magic lvl */ 88 38, 0, 0.0, 65, 0, 5.0, 100,0,75.0, 80, 0,35.0, 85, 0, 6.0, 9, 0,2.75 89 }; 90 91 /* menu of items for purchase */ 92 struct menuitem Menu[] = 93 { 94 "Mana", 1, 95 "Shield", 5, 96 "Book", 200, 97 "Sword", 500, 98 "Charm", 1000, 99 "Quicksilver", 2500, 100 "Blessing", 1000, 101 }; 102 103 FILE *Playersfp; /* pointer to open player file */ 104 FILE *Monstfp; /* pointer to open monster file */ 105 FILE *Messagefp; /* pointer to open message file */ 106 FILE *Energyvoidfp; /* pointer to open energy void file */ 107 108 char Databuf[SZ_DATABUF]; /* a place to read data into */ 109 110 /* edit these path definitions to let files reside elsewhere */ 111 char Monstfile[] = DEST/monsters"; /* monster database */ 112 char Peoplefile[] = DEST/characs"; /* player database */ 113 char Gameprog[] = DESTR/phantasia"; /* game binary */ 114 char Messfile[] = DEST/mess"; /* player to player messages */ 115 char Lastdead[] = DEST/lastdead"; /* data on last player killed */ 116 char Helpfile[] = DEST/phant.help"; /* manual pages */ 117 char Motdfile[] = DEST/motd"; /* message from 'wizard' */ 118 char Goldfile[] = DEST/gold"; /* gold collected in taxes */ 119 char Voidfile[] = DEST/void"; /* energy void database */ 120 char Scorefile[] = DEST/scoreboard"; /* hi score database */ 121 #ifdef ENEMY 122 char Enemyfile[] = DEST/enemy"; /* restricted account database */ 123 #endif 124 125 /* some canned strings for messages */ 126 char Illcmd[] = "Illegal command.\n"; 127 char Illmove[] = "Too far.\n"; 128 char Illspell[] = "Illegal spell.\n"; 129 char Nomana[] = "Not enought mana for that spell.\n"; 130 char Somebetter[] = "But you already have something better.\n"; 131 char Nobetter[] = "That's no better than what you already have.\n"; 132