[BACK]Return to phantglobs.c CVS log [TXT][DIR] Up to [local] / src / games / phantasia

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";