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