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