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