File: [local] / src / games / phantasia / phantglobs.c (download)
Revision 1.4, Wed Jan 6 14:28:09 2016 UTC (8 years, 5 months ago) by mestre
Branch: MAIN
CVS Tags: OPENBSD_7_5_BASE, OPENBSD_7_5, OPENBSD_7_4_BASE, OPENBSD_7_4, OPENBSD_7_3_BASE, OPENBSD_7_3, OPENBSD_7_2_BASE, OPENBSD_7_2, OPENBSD_7_1_BASE, OPENBSD_7_1, OPENBSD_7_0_BASE, OPENBSD_7_0, OPENBSD_6_9_BASE, OPENBSD_6_9, OPENBSD_6_8_BASE, OPENBSD_6_8, OPENBSD_6_7_BASE, OPENBSD_6_7, OPENBSD_6_6_BASE, OPENBSD_6_6, OPENBSD_6_5_BASE, OPENBSD_6_5, OPENBSD_6_4_BASE, OPENBSD_6_4, OPENBSD_6_3_BASE, OPENBSD_6_3, OPENBSD_6_2_BASE, OPENBSD_6_2, OPENBSD_6_1_BASE, OPENBSD_6_1, OPENBSD_6_0_BASE, OPENBSD_6_0, OPENBSD_5_9_BASE, OPENBSD_5_9, HEAD Changes since 1.3: +5 -5 lines
Remove unnecessary header files from phantasia(6)
Lesson learnt: don't include an header sorted alphabetically just because. The
external definition of variables was done on phantglobs.h but their declaration
was on phantstruct.h and therefore the latter must be included before the
former. It's easier to just include phantstruct.h inside phantglobs.h since it
always need it.
With help and OK from tb@
|
/* $OpenBSD: phantglobs.c,v 1.4 2016/01/06 14:28:09 mestre Exp $ */
/* $NetBSD: phantglobs.c,v 1.2 1995/03/24 03:59:33 cgd Exp $ */
/*
* phantglobs.c - globals for Phantasia
*/
#include <stdio.h>
#include "phantdefs.h"
#include "phantstruct.h"
double Circle; /* which circle player is in */
double Shield; /* force field thrown up in monster battle */
bool Beyond; /* set if player is beyond point of no return */
bool Marsh; /* set if player is in dead marshes */
bool Throne; /* set if player is on throne */
bool Changed; /* set if important player stats have changed */
bool Wizard; /* set if player is the 'wizard' of the game */
bool Timeout; /* set if short timeout waiting for input */
bool Windows; /* set if we are set up for curses stuff */
bool Luckout; /* set if we have tried to luck out in fight */
bool Foestrikes; /* set if foe gets a chance to hit in battleplayer() */
bool Echo; /* set if echo input to terminal */
int Users; /* number of users currently playing */
int Whichmonster; /* which monster we are fighting */
int Lines; /* line on screen counter for fight routines */
char Ch_Erase; /* backspace key */
char Ch_Kill; /* linekill key */
long Fileloc; /* location in file of player statistics */
const char *Login; /* pointer to login of player */
char *Enemyname; /* pointer name of monster/player we are battling*/
struct player Player; /* stats for player */
struct player Other; /* stats for another player */
struct monster Curmonster;/* stats for current monster */
struct energyvoid Enrgyvoid;/* energy void buffer */
struct charstats *Statptr;/* pointer into Stattable[] */
/* lookup table for character type dependent statistics */
struct charstats Stattable[7] = {
/* MAGIC USER */
{
15.0, 200.0, 18.0, 175.0, 10,
{30, 6, 0.0}, {10, 6, 2.0}, {50, 51, 75.0},
{30, 16, 20.0}, {60, 26, 6.0}, {5, 5, 2.75}
},
/* FIGHTER */
{
10.0, 110.0, 15.0, 220.0, 20,
{30, 6, 0.0}, {40, 16, 3.0}, {30, 21, 40.0},
{45, 26, 30.0}, {25, 21, 3.0}, {3, 4, 1.5}
},
/* ELF */
{
12.0, 150.0, 17.0, 190.0, 13,
{32, 7, 0.0}, {35, 11, 2.5}, {45, 46, 65.0},
{30, 21, 25.0}, {40, 26, 4.0}, {4, 4, 2.0}
},
/* DWARF */
{ 7.0, 80.0, 13.0, 255.0, 25,
{25, 6, 0.0}, {50, 21, 5.0}, {25, 21, 30.0},
{60, 41, 35.0}, {20, 21, 2.5}, {2, 4, 1.0}
},
/* HALFLING */
{
11.0, 80.0, 10.0, 125.0, 40,
{34, 0, 0.0}, {20, 6, 2.0}, {25, 21, 30.0},
{55, 36, 30.0}, {40, 36, 4.5}, {1, 4, 1.0}
},
/* EXPERIMENTO */
{ 9.0, 90.0, 16.0, 160.0, 20,
{27, 0, 0.0}, {25, 0, 0.0}, {100, 0, 0.0},
{35, 0, 0.0}, {25, 0, 0.0}, {2, 0, 0.0}
},
/* SUPER */
{
15.0, 200.0, 10.0, 225.0, 40,
{38, 0, 0.0}, {65, 0, 5.0}, {100, 0, 75.0},
{80, 0, 35.0}, {85, 0, 6.0}, {9, 0, 2.75}
}
};
/* menu of items for purchase */
struct menuitem Menu[] = {
{"Mana", 1},
{"Shield", 5},
{"Book", 200},
{"Sword", 500},
{"Charm", 1000},
{"Quicksilver", 2500},
{"Blessing", 1000},
};
FILE *Playersfp; /* pointer to open player file */
FILE *Monstfp; /* pointer to open monster file */
FILE *Messagefp; /* pointer to open message file */
FILE *Energyvoidfp; /* pointer to open energy void file */
char Databuf[SZ_DATABUF]; /* a place to read data into */
/* some canned strings for messages */
char Illcmd[] = "Illegal command.\n";
char Illmove[] = "Too far.\n";
char Illspell[] = "Illegal spell.\n";
char Nomana[] = "Not enought mana for that spell.\n";
char Somebetter[] = "But you already have something better.\n";
char Nobetter[] = "That's no better than what you already have.\n";