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