Files
Justin Marshall 101266ab72 Initial commit.
2026-04-27 10:35:40 -07:00

537 lines
16 KiB
C++

/*-----------------------------------------------------------------------**
** Diablo
**
** Constants and Variables
**
** (C)1995 Condor, Inc. All rights reserved.
**-----------------------------------------------------------------------**
**-----------------------------------------------------------------------*/
/*-----------------------------------------------------------------------**
** Defines
**-----------------------------------------------------------------------*/
// STORYTELLER ST
// TAVERN OWNER TO
// PRIEST P
// HEALER H
// BARMAID BM
// BLACKSMITH BS
// TOWN DRUNK TD
// WITCH W
// PEG-LEGGED BOY PB
/*-----------------------------------------------------------------------**
// QUESTS
**-----------------------------------------------------------------------*/
// Skeleton King Quest
#define TXT_KINGST1 0 // ST
#define TXT_KINGTO1 1 // TO quest init
#define TXT_KINGTO2 2 // TO return before end
#define TXT_KINGTO3 3 // TO return upon completion
// P
#define TXT_KINGH1 4 // H
#define TXT_KINGBM1 5 // BM
#define TXT_KINGBS1 6 // BS
#define TXT_KINGTD1 7 // TD
#define TXT_KINGW1 8 // W
#define TXT_KINGPB1 9 // PB
#define TXT_KING1 10 // Skeleton King
/*-----------------------------------------------------------------------**
**-----------------------------------------------------------------------*/
// Banner of Light Quest
#define TXT_BOLST1 11 // ST
#define TXT_BOLTO1 12 // TO quest init
#define TXT_BOLTO2 13 // TO return sign
// P
#define TXT_BOLH1 14 // H
#define TXT_BOLBM1 15 // BM
#define TXT_BOLBS1 16 // BS
#define TXT_BOLTD1 17 // TD
#define TXT_BOLW1 18 // W
#define TXT_BOLPB1 19 // PB
#define TXT_BOL1 20 // Snotspil first time
#define TXT_BOL2 21 // Snotspil empty handed
#define TXT_BOL3 22 // Snotspil with sign
/*-----------------------------------------------------------------------**
**-----------------------------------------------------------------------*/
// Vile Betrayer Quest
#define TXT_VBST1 23 // ST quest not done
#define TXT_VBST2 24 // ST quest init
#define TXT_VBST3 25 // ST quest done
#define TXT_VBTO1 26 // TO
#define TXT_VBP3 27 // not in
#define TXT_VBP4 28 // not in
#define TXT_VBH1 29 // H
#define TXT_VBBM1 30 // BM
#define TXT_VBBS1 31 // BS
#define TXT_VBTD1 32 // TD
#define TXT_VBW1 33 // W
#define TXT_VBPB1 34 // PB
#define TXT_VB1 35 // Lazurus before sacrafice
#define TXT_VB2 36 // Lazurus after sacrafice
/*-----------------------------------------------------------------------**
**-----------------------------------------------------------------------*/
// Poisoned Water Quest
#define TXT_PWST1 37 // ST
#define TXT_PWTO1 38 // TO
// P
#define TXT_PWH1 39 // H quest init
#define TXT_PWH2 40 // H return before done
#define TXT_PWH3 41 // H quest done
#define TXT_PWBM1 42 // BM
#define TXT_PWBS1 43 // BS
#define TXT_PWTD1 44 // TD
#define TXT_PWW1 45 // W
#define TXT_PWPB1 46 // PB
/*-----------------------------------------------------------------------**
**-----------------------------------------------------------------------*/
// The Chamber of Bone Quest
#define TXT_BONEST1 47 // ST
#define TXT_BONETO1 48 // TO
// P
#define TXT_BONEH1 49 // H
#define TXT_BONEBM1 50 // BM
#define TXT_BONEBS1 51 // BS
#define TXT_BONETD1 52 // TD
#define TXT_BONEW1 53 // W
#define TXT_BONEPB1 54 // PB
/*-----------------------------------------------------------------------**
**-----------------------------------------------------------------------*/
// The Butcher Quest
#define TXT_BUTCHST1 55 // ST
#define TXT_BUTCHTO1 56 // TO
// P
#define TXT_BUTCHH1 57 // H
#define TXT_BUTCHBM1 58 // BM
#define TXT_BUTCHBS1 59 // BS
#define TXT_BUTCHTD1 60 // TD
#define TXT_BUTCHW1 61 // W
#define TXT_BUTCHPB1 62 // PB
#define TXT_BUTCH1 63 // Wounded Townsman
#define TXT_BUTCH2 64 // Butcher
/*-----------------------------------------------------------------------**
**-----------------------------------------------------------------------*/
// Halls of the Blind Quest
#define TXT_BLINDST1 65 // ST
#define TXT_BLINDTO1 66 // TO
// P
#define TXT_BLINDH1 67 // H
#define TXT_BLINDBM1 68 // BM
#define TXT_BLINDBS1 69 // BS
#define TXT_BLINDTD1 70 // TD
#define TXT_BLINDW1 71 // W
#define TXT_BLINDPB1 72 // PB
/*-----------------------------------------------------------------------**
**-----------------------------------------------------------------------*/
// Veil of Steel Quest
#define TXT_VEILST1 73 // ST
#define TXT_VEILTO1 74 // TO
// P
#define TXT_VEILH1 75 // H
#define TXT_VEILBM1 76 // BM
#define TXT_VEILBS1 77 // BS
#define TXT_VEILTD1 78 // TD
#define TXT_VEILW1 79 // W
#define TXT_VEILPB1 80 // PB
#define TXT_VEIL1 81 // Lachdanan first time
#define TXT_VEIL2 82 // Lachdanan without elixir
#define TXT_VEIL3 83 // Lachdanan with elixir
/*-----------------------------------------------------------------------**
**-----------------------------------------------------------------------*/
// The Anvil of Fury Quest
#define TXT_ANVILST1 84 // ST
#define TXT_ANVILTO1 85 // TO
// P
#define TXT_ANVILH1 86 // H
#define TXT_ANVILBM1 87 // BM
#define TXT_ANVILBS1 88 // BS
#define TXT_ANVILBS2 89 // BS
#define TXT_ANVILBS3 90 // BS
#define TXT_ANVILTD1 91 // TD
#define TXT_ANVILW1 92 // W
#define TXT_ANVILPB1 93 // PB
/*-----------------------------------------------------------------------**
**-----------------------------------------------------------------------*/
// Stones of Blood Quest
#define TXT_BLOODST1 94 // ST
#define TXT_BLOODTO1 95 // TO
// P
#define TXT_BLOODH1 96 // H
#define TXT_BLOODBM1 97 // BM
#define TXT_BLOODBS1 98 // BS
#define TXT_BLOODTD1 99 // TD
#define TXT_BLOODW1 100 // W
#define TXT_BLOODPB1 101 // PB
/*-----------------------------------------------------------------------**
**-----------------------------------------------------------------------*/
// Warlord of Blood Quest
#define TXT_WARLRDST1 102 // ST
#define TXT_WARLRDTO1 103 // TO
// P
#define TXT_WARLRDH1 104 // H
#define TXT_WARLRDBM1 105 // BM
#define TXT_WARLRDBS1 106 // BS
#define TXT_WARLRDTD1 107 // TD
#define TXT_WARLRDW1 108 // W
#define TXT_WARLRDPB1 109 // PB
#define TXT_WARLRD1 110 // Warlord of the Blood
/*-----------------------------------------------------------------------**
**-----------------------------------------------------------------------*/
// Ring of Infravision Quest
#define TXT_INFRAST1 111 // ST
#define TXT_INFRATO1 112 // TO
// P
#define TXT_INFRAH1 113 // H
#define TXT_INFRABM1 114 // BM
#define TXT_INFRABS1 115 // BS
#define TXT_INFRABS2 116 // BS
#define TXT_INFRABS3 117 // BS
#define TXT_INFRATD1 118 // TD
#define TXT_INFRAW1 119 // W
#define TXT_INFRAPB1 120 // PB
/*-----------------------------------------------------------------------**
**-----------------------------------------------------------------------*/
// Black Mushroom Quest
#define TXT_BLKMST1 121 // ST
#define TXT_BLKMTO1 122 // TO
// P
#define TXT_BLKMH1 123 // H no brain
#define TXT_BLKMH2 124 // H with brain
#define TXT_BLKMBM1 125 // BM
#define TXT_BLKMBS1 126 // BS
#define TXT_BLKMTD1 127 // TD
#define TXT_BLKMW1 128 // W
#define TXT_BLKMW2 129 // W
#define TXT_BLKMW3 130 // W
#define TXT_BLKMW4 131 // W
#define TXT_BLKMW5 132 // W
#define TXT_BLKMPB1 133 // PB
/*-----------------------------------------------------------------------**
**-----------------------------------------------------------------------*/
// Map of Doom Quest
#define TXT_MODST1 134 // ST quest init
#define TXT_MODST2 135 // ST return before stars align and Diablo alive
#define TXT_MODST3 136 // ST return after stars align and Diablo alive
#define TXT_MODTO1 137 // TO
// P
#define TXT_MODH1 138 // H
#define TXT_MODBM1 139 // BM
#define TXT_MODBS1 140 // BS
#define TXT_MODTD1 141 // TD
#define TXT_MODW1 142 // W
#define TXT_MODPB1 143 // PB
/*-----------------------------------------------------------------------**
**-----------------------------------------------------------------------*/
// Garbud the Weak Quest
#define TXT_GARB1 144 // Garbud first time
#define TXT_GARB2 145 // Garbud 2nd time
#define TXT_GARB3 146 // Garbud 3rd time
#define TXT_GARB4 147 // Garbud 4th time
/*-----------------------------------------------------------------------**
**-----------------------------------------------------------------------*/
// Zhar the Mad Quest
#define TXT_ZHAR1 148 // Zhar 1st time
#define TXT_ZHAR2 149 // Zhar 2nd time
/*-----------------------------------------------------------------------**
// TOWNSPEOPLE'S NONQUEST
**-----------------------------------------------------------------------*/
// Deckard Cain
#define TXT_STORY1 150
#define TXT_STORY2 151
#define TXT_STORY3 152
#define TXT_STORY4 153
#define TXT_STORY5 154
#define TXT_STORY6 155
#define TXT_STORY7 156
#define TXT_STORY9 157
#define TXT_STORY10 158
#define TXT_STORY11 159
/*-----------------------------------------------------------------------**
**-----------------------------------------------------------------------*/
// Ogden
#define TXT_OGDEN1 160
#define TXT_OGDEN2 161
#define TXT_OGDEN3 162
#define TXT_OGDEN4 163
#define TXT_OGDEN5 164
#define TXT_OGDEN6 165
#define TXT_OGDEN8 166
#define TXT_OGDEN9 167
#define TXT_OGDEN10 168
/*-----------------------------------------------------------------------**
**-----------------------------------------------------------------------*/
// Pepin
#define TXT_PEPIN1 169
#define TXT_PEPIN2 170
#define TXT_PEPIN3 171
#define TXT_PEPIN4 172
#define TXT_PEPIN5 173
#define TXT_PEPIN6 174
#define TXT_PEPIN7 175
#define TXT_PEPIN9 176
#define TXT_PEPIN10 177
#define TXT_PEPIN11 178
/*-----------------------------------------------------------------------**
**-----------------------------------------------------------------------*/
// Gillian
#define TXT_GILIAN1 179
#define TXT_GILIAN2 180
#define TXT_GILIAN3 181
#define TXT_GILIAN4 182
#define TXT_GILIAN5 183
#define TXT_GILIAN6 184
#define TXT_GILIAN7 185
#define TXT_GILIAN9 186
#define TXT_GILIAN10 187
/*-----------------------------------------------------------------------**
**-----------------------------------------------------------------------*/
// Griswold
#define TXT_GRIS1 188
#define TXT_GRIS2 189
#define TXT_GRIS3 190
#define TXT_GRIS4 191
#define TXT_GRIS5 192
#define TXT_GRIS6 193
#define TXT_GRIS7 194
#define TXT_GRIS8 195
#define TXT_GRIS9 196
#define TXT_GRIS10 197
#define TXT_GRIS12 198
#define TXT_GRIS13 199
/*-----------------------------------------------------------------------**
**-----------------------------------------------------------------------*/
// Farnham
#define TXT_FARN1 200
#define TXT_FARN2 201
#define TXT_FARN3 202
#define TXT_FARN4 203
#define TXT_FARN5 204
#define TXT_FARN6 205
#define TXT_FARN8 206
#define TXT_FARN9 207
#define TXT_FARN10 208
#define TXT_FARN11 209
#define TXT_FARN12 210
#define TXT_FARN13 211
/*-----------------------------------------------------------------------**
**-----------------------------------------------------------------------*/
// Adria
#define TXT_ADRIA1 212
#define TXT_ADRIA2 213
#define TXT_ADRIA3 214
#define TXT_ADRIA4 215
#define TXT_ADRIA5 216
#define TXT_ADRIA6 217
#define TXT_ADRIA7 218
#define TXT_ADRIA8 219
#define TXT_ADRIA9 220
#define TXT_ADRIA10 221
#define TXT_ADRIA12 222
#define TXT_ADRIA13 223
/*-----------------------------------------------------------------------**
**-----------------------------------------------------------------------*/
// Wirt
#define TXT_WIRT1 224
#define TXT_WIRT2 225
#define TXT_WIRT3 226
#define TXT_WIRT4 227
#define TXT_WIRT5 228
#define TXT_WIRT6 229
#define TXT_WIRT7 230
#define TXT_WIRT8 231
#define TXT_WIRT9 232
#define TXT_WIRT11 233
#define TXT_WIRT12 234
/*-----------------------------------------------------------------------**
// BOOKS and SCROLLS as read by the heroes
**-----------------------------------------------------------------------*/
// Warrior
#define TXT_WARBONE 235 // Skeletal Tome
#define TXT_WARBLOOD 236 // Book of Blood
#define TXT_WARBLIND 237 // Book of the Blind
#define TXT_WARLORD 238 // Steel Tome
// Sorcerer
#define TXT_SORBONE 239 // Skeletal Tome
#define TXT_SORBLOOD 240 // Book of Blood
#define TXT_SORBLIND 241 // Book of the Blind
#define TXT_SORLORD 242 // Steel Tome
// Rogue
#define TXT_ROGBONE 243 // Skeletal Tome
#define TXT_ROGBLOOD 244 // Book of Blood
#define TXT_ROGBLIND 245 // Book of the Blind
#define TXT_ROGLORD 246 // Steel Tome
// Monk
// GWP Fix these if new quests are added.
#define TXT_MNKBONE 259 // Skeletal Tome
#define TXT_MNKBLOOD 260 // Book of Blood
#define TXT_MNKBLIND 261 // Book of the Blind
#define TXT_MNKLORD 262 // Steel Tome
// Bard
#define TXT_BRDBONE 263 // Skeletal Tome
#define TXT_BRDBLOOD 264 // Book of Blood
#define TXT_BRDBLIND 265 // Book of the Blind
#define TXT_BRDLORD 266 // Steel Tome
// Barbarian
#define TXT_BARBONE TXT_WARBONE
#define TXT_BARBLOOD TXT_WARBLOOD
#define TXT_BARBLIND TXT_WARBLIND
#define TXT_BARLORD TXT_WARLORD
/*-----------------------------------------------------------------------**
**-----------------------------------------------------------------------*/
#define TXT_COW1 247 // Cow1
#define TXT_COW2 248 // Cow2
/*-----------------------------------------------------------------------**
**-----------------------------------------------------------------------*/
#define TXT_BOOK11 249 // Story Book Set 1, Book 1
#define TXT_BOOK12 250 // Story Book Set 1, Book 2
#define TXT_BOOK13 251 // Story Book Set 1, Book 3
#define TXT_BOOK21 252 // Story Book Set 2, Book 1
#define TXT_BOOK22 253 // Story Book Set 2, Book 2
#define TXT_BOOK23 254 // Story Book Set 2, Book 3
#define TXT_BOOK31 255 // Story Book Set 3, Book 1
#define TXT_BOOK32 256 // Story Book Set 3, Book 2
#define TXT_BOOK33 257 // Story Book Set 3, Book 3
#define TXT_INTRO 258 // Tavern owner intro
//-----------------------------------------------------------------------
// START OUR QUEST TEXT DEFINES HERE - JKEQUEST
//-----------------------------------------------------------------------
#define TXT_CRYPTMAP1 267 // Init text for crypt quest JKE
#define TXT_CRYPTMAP2 268
#define TXT_CRYPTMAP3 269
#define TXT_CRYPTMAP4 270
#define TXT_CRYPTMAP5 271
#define TXT_CRYPTMAP6 272
#define TXT_CRYPTMAP7 273
#define TXT_CRYPTMAP8 274
#define TXT_CRYPTMAP9 275
#define TXT_CRYPTMAP10 276
#define TXT_FARMER1 277 // Farmer explosion thing JKE
#define TXT_FARMER2 278
#define TXT_FARMER3 279
#define TXT_FARMER4 280
#define TXT_FARMER5 281
#define TXT_FARMER2A 307
#define TXT_FARMER6 308
#define TXT_FARMER7 309
#define TXT_FARMER8 310
#define TXT_FARMER9 311
#define TXT_THEO1 282 // Theo the teddy bear
#define TXT_THEO2 283
#define TXT_THEO3 284
#define TXT_THEO4 285
#define TXT_DEFILER1 286 // The Defiler
#define TXT_DEFILER2 287
#define TXT_DEFILER3 288
#define TXT_DEFILER4 289
#define TXT_DEFILER5 290
#define TXT_NA_KRUL1 291 // Na-Krul
#define TXT_NA_KRUL2 292
#define TXT_NA_KRUL3 293
#define TXT_NA_KRUL4 294
#define TXT_NA_KRUL5 295
#define TXT_CORNERSTONE1 296 // Cornerstone of the world
#define TXT_COWSUIT1 297 // Cow suit guy
#define TXT_COWSUIT2 298
#define TXT_COWSUIT3 299
#define TXT_COWSUIT4 300
#define TXT_COWSUIT4A 315
#define TXT_COWSUIT5 301
#define TXT_COWSUIT6 302
#define TXT_COWSUIT7 303
#define TXT_COWSUIT8 304
#define TXT_COWSUIT9 305
#define TXT_COWSUIT10 312
#define TXT_COWSUIT11 313
#define TXT_COWSUIT12 314
#define TXT_TRADER1 306
#define TXT_SKULLJRNL1 316
#define TXT_SKULLJRNL2 317
#define TXT_SKULLJRNL3 318
#define TXT_SKULLJRNL4 319
#define TXT_SKULLJRNL5 320
#define TXT_SKULLJRNL6 321
#define TXT_SKULLJRNL7 322
#define TXT_SPELL1 323
#define TXT_SPELL2 324
#define TXT_SPELL3 325
#define TXT_M_SPELL1 326
#define TXT_M_SPELL2 327
#define TXT_M_SPELL3 328
#define TXT_S_SPELL1 329
#define TXT_S_SPELL2 330
#define TXT_S_SPELL3 331
#define TXT_R_SPELL1 332
#define TXT_R_SPELL2 333
#define TXT_R_SPELL3 334
#define TXT_B_SPELL1 335
#define TXT_B_SPELL2 336
#define TXT_B_SPELL3 337
#define TXT_C_SPELL1 TXT_SPELL1
#define TXT_C_SPELL2 TXT_SPELL2
#define TXT_C_SPELL3 TXT_SPELL3
/*-----------------------------------------------------------------------**
** Externs
**-----------------------------------------------------------------------*/
extern const TextDataStruct alltext[];
extern const DWORD gdwAllTextEntries;