Home | History | Annotate | Line # | Download | only in phantasia
phantdefs.h revision 1.2.10.1
      1  1.2.10.1  wrstuden /*	$NetBSD: phantdefs.h,v 1.2.10.1 1999/12/27 18:29:03 wrstuden Exp $	*/
      2       1.2       cgd 
      3       1.1       jtc /*
      4       1.1       jtc  * phantdefs.h - important constants for Phantasia
      5       1.1       jtc  */
      6       1.1       jtc 
      7       1.1       jtc /* ring constants */
      8       1.1       jtc #define R_NONE		0		/* no ring */
      9       1.1       jtc #define R_NAZREG	1		/* regular Nazgul ring (expires) */
     10       1.1       jtc #define R_DLREG		2		/* regular Dark Lord ring (does not expire) */
     11       1.1       jtc #define R_BAD		3		/* bad ring */
     12       1.1       jtc #define R_SPOILED 	4		/* ring which has gone bad */
     13       1.1       jtc 
     14       1.1       jtc /* status constants */
     15  1.2.10.1  wrstuden /* We must #undef these first since setup.c includes headers that reserve S_* */
     16  1.2.10.1  wrstuden #undef S_NOTUSED
     17  1.2.10.1  wrstuden #undef S_OFF
     18  1.2.10.1  wrstuden #undef S_PLAYING
     19  1.2.10.1  wrstuden #undef S_CLOAKED
     20  1.2.10.1  wrstuden #undef S_INBATTLE
     21  1.2.10.1  wrstuden #undef S_MONSTER
     22  1.2.10.1  wrstuden #undef S_TRADING
     23  1.2.10.1  wrstuden #undef S_HUNGUP
     24       1.1       jtc #define	S_NOTUSED	0		/* record not in use */
     25       1.1       jtc #define S_OFF		1		/* not playing */
     26       1.1       jtc #define S_PLAYING	2		/* playing - nothing else */
     27       1.1       jtc #define S_CLOAKED	3		/* playing - cloaked */
     28       1.1       jtc #define S_INBATTLE	4		/* playing - in battle */
     29       1.1       jtc #define S_MONSTER	5		/* playing - fighting monster */
     30       1.1       jtc #define	S_TRADING	6		/* playing - at a trading post */
     31       1.1       jtc #define	S_HUNGUP	7		/* error occured with character */
     32       1.1       jtc 
     33       1.1       jtc /* tampered constants */
     34       1.1       jtc #define T_OFF		0		/* nothing */
     35       1.1       jtc #define T_NRGVOID	1		/* hit an energy void */
     36       1.1       jtc #define T_GRAIL		2		/* landed on the holy grail */
     37       1.1       jtc #define T_TRANSPORT	3		/* transported by king */
     38       1.1       jtc #define T_BESTOW	4		/* gold bestowed by king */
     39       1.1       jtc #define T_CURSED	5		/* cursed by king */
     40       1.1       jtc #define T_MONSTER	6		/* monster lobbed by valar */
     41       1.1       jtc #define T_BLESSED	7		/* blessed by valar */
     42       1.1       jtc #define T_RELOCATE	8		/* moved by valar */
     43       1.1       jtc #define T_HEAL		9		/* healed by valar */
     44       1.1       jtc #define T_VAPORIZED	10		/* vaporized by wizard */
     45       1.1       jtc #define T_EXVALAR	11		/* no longer valar */
     46       1.1       jtc 
     47       1.1       jtc /* inter-terminal battle status constants */
     48       1.1       jtc #define	I_OFF		0		/* nothing */
     49       1.1       jtc #define	I_RAN		1		/* ran away */
     50       1.1       jtc #define	I_STUCK		2		/* tried to run unsuccessfully */
     51       1.1       jtc #define	I_BLEWIT	3		/* tried to luckout unsuccessfully */
     52       1.1       jtc #define	I_KILLED	4		/* killed foe */
     53       1.1       jtc 
     54       1.1       jtc /* constants for altering coordinates */
     55       1.1       jtc #define	A_SPECIFIC	0		/* coordinates specified */
     56       1.1       jtc #define	A_FORCED	1		/* coordinates specified, ignore Beyond */
     57       1.1       jtc #define A_NEAR		2		/* coordinates not specified, move near */
     58       1.1       jtc #define A_FAR		3		/* coordinates not specified, move far */
     59       1.1       jtc 
     60       1.1       jtc /* constants for character types */
     61       1.1       jtc #define C_MAGIC		0		/* magic user */
     62       1.1       jtc #define C_FIGHTER	1		/* fighter */
     63       1.1       jtc #define C_ELF		2		/* elf */
     64       1.1       jtc #define C_DWARF		3		/* dwarf */
     65       1.1       jtc #define C_HALFLING	4		/* halfling */
     66       1.1       jtc #define C_EXPER		5		/* experimento */
     67       1.1       jtc #define C_SUPER		6		/* super being */
     68       1.1       jtc 
     69       1.1       jtc /* constants for special character types */
     70       1.1       jtc #define SC_NONE		0		/* not a special character */
     71       1.1       jtc #define	SC_KING		1		/* king */
     72       1.1       jtc #define SC_COUNCIL	2		/* council of the wise */
     73       1.1       jtc #define SC_VALAR	3		/* valar */
     74       1.1       jtc #define SC_EXVALAR	4		/* ex-valar */
     75       1.1       jtc 
     76       1.1       jtc /* special monster constants */
     77       1.1       jtc #define	SM_NONE		0		/* nothing special */
     78       1.1       jtc #define	SM_UNICORN	1		/* unicorn */
     79       1.1       jtc #define	SM_MODNAR	2		/* Modnar */
     80       1.1       jtc #define	SM_MIMIC	3		/* mimic */
     81       1.1       jtc #define	SM_DARKLORD	4		/* Dark Lord */
     82       1.1       jtc #define	SM_LEANAN	5		/* Leanan-Sidhe */
     83       1.1       jtc #define	SM_SARUMAN	6		/* Saruman */
     84       1.1       jtc #define	SM_THAUMATURG	7		/* thaumaturgist */
     85       1.1       jtc #define	SM_BALROG	8		/* balrog */
     86       1.1       jtc #define	SM_VORTEX	9		/* vortex */
     87       1.1       jtc #define SM_NAZGUL	10		/* nazgul */
     88       1.1       jtc #define	SM_TIAMAT	11		/* Tiamat */
     89       1.1       jtc #define	SM_KOBOLD	12		/* kobold */
     90       1.1       jtc #define	SM_SHELOB	13		/* Shelob */
     91       1.1       jtc #define	SM_FAERIES	14		/* assorted faeries */
     92       1.1       jtc #define	SM_LAMPREY	15		/* lamprey */
     93       1.1       jtc #define	SM_SHRIEKER	16		/* shrieker */
     94       1.1       jtc #define	SM_BONNACON	17		/* bonnacon */
     95       1.1       jtc #define	SM_SMEAGOL	18		/* Smeagol */
     96       1.1       jtc #define	SM_SUCCUBUS	19		/* succubus */
     97       1.1       jtc #define	SM_CERBERUS	20		/* Cerberus */
     98       1.1       jtc #define	SM_UNGOLIANT	21		/* Ungoliant */
     99       1.1       jtc #define	SM_JABBERWOCK	22		/* jabberwock */
    100       1.1       jtc #define	SM_MORGOTH	23		/* Morgoth */
    101       1.1       jtc #define	SM_TROLL	24		/* troll */
    102       1.1       jtc #define	SM_WRAITH	25		/* wraith */
    103       1.1       jtc 
    104       1.1       jtc /* constants for spells */
    105       1.1       jtc #define	ML_ALLORNOTHING	0.0		/* magic level for 'all or nothing' */
    106       1.1       jtc #define MM_ALLORNOTHING	1.0		/* mana used for 'all or nothing' */
    107       1.1       jtc #define	ML_MAGICBOLT	5.0		/* magic level for 'magic bolt' */
    108       1.1       jtc #define	ML_FORCEFIELD	15.0		/* magic level for 'force field' */
    109       1.1       jtc #define	MM_FORCEFIELD	30.0		/* mana used for 'force field' */
    110       1.1       jtc #define	ML_XFORM	25.0		/* magic level for 'transform' */
    111       1.1       jtc #define	MM_XFORM	50.0		/* mana used for 'transform' */
    112       1.1       jtc #define	ML_INCRMIGHT	35.0		/* magic level for 'increase might' */
    113       1.1       jtc #define	MM_INCRMIGHT	75.0		/* mana used for 'increase might' */
    114       1.1       jtc #define	ML_INVISIBLE	45.0		/* magic level for 'invisibility' */
    115       1.1       jtc #define	MM_INVISIBLE	90.0		/* mana used for 'invisibility' */
    116       1.1       jtc #define	ML_XPORT	60.0		/* magic level for 'transport' */
    117       1.1       jtc #define	MM_XPORT	125.0		/* mana used for 'transport' */
    118       1.1       jtc #define	ML_PARALYZE	75.0		/* magic level for 'paralyze' */
    119       1.1       jtc #define	MM_PARALYZE	150.0		/* mana used for 'paralyze' */
    120       1.1       jtc #define	MM_SPECIFY	1000.0		/* mana used for 'specify' */
    121       1.1       jtc #define ML_CLOAK	20.0		/* magic level for 'cloak' */
    122       1.1       jtc #define	MEL_CLOAK	7.0		/* experience level for 'cloak' */
    123       1.1       jtc #define	MM_CLOAK	35.0		/* mana used for 'cloak' */
    124       1.1       jtc #define	ML_TELEPORT	40.0		/* magic level for 'teleport' */
    125       1.1       jtc #define	MEL_TELEPORT	12.0		/* experience level for 'teleport' */
    126       1.1       jtc #define	MM_INTERVENE	1000.0		/* mana used to 'intervene' */
    127       1.1       jtc 
    128       1.1       jtc /* some miscellaneous constants */
    129       1.1       jtc #define SZ_DATABUF	100		/* size of input buffer */
    130       1.1       jtc #define	SZ_PLAYERSTRUCT	sizeof(struct player) /* size of player structure */
    131       1.1       jtc #define	SZ_VOIDSTRUCT	sizeof(struct energyvoid) /* size of energy void struct */
    132       1.1       jtc #define	SZ_SCORESTRUCT	sizeof(struct scoreboard) /* size of score board entry */
    133       1.1       jtc #define	SZ_MONSTERSTRUCT sizeof(struct monster) /* size of monster structure */
    134       1.1       jtc #define	SZ_NAME		21		/* size of player name (incl. trailing nul) */
    135       1.1       jtc #define	SZ_PASSWORD	9		/* size of password (incl. trailing nul) */
    136       1.1       jtc #define	SZ_LOGIN	9		/* size of login (incl. trailing nul) */
    137       1.1       jtc 
    138       1.1       jtc #define N_DAYSOLD	21		/* number of days old for purge */
    139       1.1       jtc #define N_AGE		500		/* age to degenerate ratio */
    140       1.1       jtc #define	N_GEMVALUE	(1000.0)	/* number of gold pieces to gem ratio */
    141       1.1       jtc #define	N_TAXAMOUNT	(7.0)		/* tax percent */
    142       1.1       jtc 
    143       1.1       jtc #define	D_BEYOND	(1.1e6)		/* distance to beyond point of no return */
    144       1.1       jtc #define D_EXPER		(2000.0)	/* distance experimentos are allowed */
    145       1.1       jtc 
    146       1.1       jtc #define	CH_MARKDELETE	'\001'		/* used to alter name of deleted players */
    147       1.1       jtc #define	CH_KILL		'\030'		/* kill character (ctrl-X) */
    148       1.1       jtc #define	CH_ERASE	'\010'		/* erase character (ctrl-H) */
    149       1.1       jtc #define	CH_NEWLINE	'\n'		/* newline */
    150       1.1       jtc #define	CH_REDRAW	'\014'		/* redraw screen character (ctrl-L) */
    151