1 1.4 wiz /* $NetBSD: phantdefs.h,v 1.4 2001/09/16 16:34:25 wiz 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.3 jsm /* We must #undef these first since setup.c includes headers that reserve S_* */ 16 1.3 jsm #undef S_NOTUSED 17 1.3 jsm #undef S_OFF 18 1.3 jsm #undef S_PLAYING 19 1.3 jsm #undef S_CLOAKED 20 1.3 jsm #undef S_INBATTLE 21 1.3 jsm #undef S_MONSTER 22 1.3 jsm #undef S_TRADING 23 1.3 jsm #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.4 wiz #define S_HUNGUP 7 /* error occurred 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