1 /** 2 * @file enums.h 3 * 4 * Various global enumerators. 5 */ 6 7 DEVILUTION_BEGIN_NAMESPACE 8 9 typedef enum _sfx_id { 10 PS_WALK1, 11 PS_WALK2, 12 PS_WALK3, 13 PS_WALK4, 14 PS_BFIRE, 15 PS_FMAG, 16 PS_TMAG, 17 PS_LGHIT, 18 PS_LGHIT1, 19 PS_SWING, 20 PS_SWING2, 21 PS_DEAD, 22 IS_STING1, 23 IS_FBALLBOW, 24 IS_QUESTDN, 25 IS_ARMRFKD, 26 IS_BARLFIRE, 27 IS_BARREL, 28 IS_POPPOP8, 29 IS_POPPOP5, 30 IS_POPPOP3, 31 IS_POPPOP2, 32 IS_BHIT, 33 IS_BHIT1, 34 IS_CHEST, 35 IS_DOORCLOS, 36 IS_DOOROPEN, 37 IS_FANVL, 38 IS_FAXE, 39 IS_FBLST, 40 IS_FBODY, 41 IS_FBOOK, 42 IS_FBOW, 43 IS_FCAP, 44 IS_FHARM, 45 IS_FLARM, 46 IS_FMAG, 47 IS_FMAG1, 48 IS_FMUSH, 49 IS_FPOT, 50 IS_FRING, 51 IS_FROCK, 52 IS_FSCRL, 53 IS_FSHLD, 54 IS_FSIGN, 55 IS_FSTAF, 56 IS_FSWOR, 57 IS_GOLD, 58 IS_HLMTFKD, 59 IS_IANVL, 60 IS_IAXE, 61 IS_IBLST, 62 IS_IBODY, 63 IS_IBOOK, 64 IS_IBOW, 65 IS_ICAP, 66 IS_IGRAB, 67 IS_IHARM, 68 IS_ILARM, 69 IS_IMUSH, 70 IS_IPOT, 71 IS_IRING, 72 IS_IROCK, 73 IS_ISCROL, 74 IS_ISHIEL, 75 IS_ISIGN, 76 IS_ISTAF, 77 IS_ISWORD, 78 IS_LEVER, 79 IS_MAGIC, 80 IS_MAGIC1, 81 IS_RBOOK, 82 IS_SARC, 83 IS_SHLDFKD, 84 IS_SWRDFKD, 85 IS_TITLEMOV, 86 IS_TITLSLCT, 87 SFX_SILENCE, 88 IS_TRAP, 89 IS_CAST1, 90 IS_CAST10, 91 IS_CAST12, 92 IS_CAST2, 93 IS_CAST3, 94 IS_CAST4, 95 IS_CAST5, 96 IS_CAST6, 97 IS_CAST7, 98 IS_CAST8, 99 IS_CAST9, 100 LS_HEALING, 101 IS_REPAIR, 102 LS_ACID, 103 LS_ACIDS, 104 LS_APOC, 105 LS_ARROWALL, 106 LS_BLODBOIL, 107 LS_BLODSTAR, 108 LS_BLSIMPT, 109 LS_BONESP, 110 LS_BSIMPCT, 111 LS_CALDRON, 112 LS_CBOLT, 113 LS_CHLTNING, 114 LS_DSERP, 115 LS_ELECIMP1, 116 LS_ELEMENTL, 117 LS_ETHEREAL, 118 LS_FBALL, 119 LS_FBOLT1, 120 LS_FBOLT2, 121 LS_FIRIMP1, 122 LS_FIRIMP2, 123 LS_FLAMWAVE, 124 LS_FLASH, 125 LS_FOUNTAIN, 126 LS_GOLUM, 127 LS_GOLUMDED, 128 LS_GSHRINE, 129 LS_GUARD, 130 LS_GUARDLAN, 131 LS_HOLYBOLT, 132 LS_HYPER, 133 LS_INFRAVIS, 134 LS_INVISIBL, 135 LS_INVPOT, 136 LS_LNING1, 137 LS_LTNING, 138 LS_MSHIELD, 139 LS_NESTXPLD, 140 LS_NOVA, 141 LS_PORTAL, 142 LS_PUDDLE, 143 LS_RESUR, 144 LS_SCURSE, 145 LS_SCURIMP, 146 LS_SENTINEL, 147 LS_SHATTER, 148 LS_SOULFIRE, 149 LS_SPOUTLOP, 150 LS_SPOUTSTR, 151 LS_STORM, 152 LS_TRAPDIS, 153 LS_TELEPORT, 154 LS_VTHEFT, 155 LS_WALLLOOP, 156 LS_WALLSTRT, 157 LS_LMAG, 158 TSFX_BMAID1, 159 TSFX_BMAID2, 160 TSFX_BMAID3, 161 TSFX_BMAID4, 162 TSFX_BMAID5, 163 TSFX_BMAID6, 164 TSFX_BMAID7, 165 TSFX_BMAID8, 166 TSFX_BMAID9, 167 TSFX_BMAID10, 168 TSFX_BMAID11, 169 TSFX_BMAID12, 170 TSFX_BMAID13, 171 TSFX_BMAID14, 172 TSFX_BMAID15, 173 TSFX_BMAID16, 174 TSFX_BMAID17, 175 TSFX_BMAID18, 176 TSFX_BMAID19, 177 TSFX_BMAID20, 178 TSFX_BMAID21, 179 TSFX_BMAID22, 180 TSFX_BMAID23, 181 TSFX_BMAID24, 182 TSFX_BMAID25, 183 TSFX_BMAID26, 184 TSFX_BMAID27, 185 TSFX_BMAID28, 186 TSFX_BMAID29, 187 TSFX_BMAID30, 188 TSFX_BMAID31, 189 TSFX_BMAID32, 190 TSFX_BMAID33, 191 TSFX_BMAID34, 192 TSFX_BMAID35, 193 TSFX_BMAID36, 194 TSFX_BMAID37, 195 TSFX_BMAID38, 196 TSFX_BMAID39, 197 TSFX_BMAID40, 198 TSFX_SMITH1, 199 TSFX_SMITH2, 200 TSFX_SMITH3, 201 TSFX_SMITH4, 202 TSFX_SMITH5, 203 TSFX_SMITH6, 204 TSFX_SMITH7, 205 TSFX_SMITH8, 206 TSFX_SMITH9, 207 TSFX_SMITH10, 208 TSFX_SMITH11, 209 TSFX_SMITH12, 210 TSFX_SMITH13, 211 TSFX_SMITH14, 212 TSFX_SMITH15, 213 TSFX_SMITH16, 214 TSFX_SMITH17, 215 TSFX_SMITH18, 216 TSFX_SMITH19, 217 TSFX_SMITH20, 218 TSFX_SMITH21, 219 TSFX_SMITH22, 220 TSFX_SMITH23, 221 TSFX_SMITH24, 222 TSFX_SMITH25, 223 TSFX_SMITH26, 224 TSFX_SMITH27, 225 TSFX_SMITH28, 226 TSFX_SMITH29, 227 TSFX_SMITH30, 228 TSFX_SMITH31, 229 TSFX_SMITH32, 230 TSFX_SMITH33, 231 TSFX_SMITH34, 232 TSFX_SMITH35, 233 TSFX_SMITH36, 234 TSFX_SMITH37, 235 TSFX_SMITH38, 236 TSFX_SMITH39, 237 TSFX_SMITH40, 238 TSFX_SMITH41, 239 TSFX_SMITH42, 240 TSFX_SMITH43, 241 TSFX_SMITH44, 242 TSFX_SMITH45, 243 TSFX_SMITH46, 244 TSFX_SMITH47, 245 TSFX_SMITH48, 246 TSFX_SMITH49, 247 TSFX_SMITH50, 248 TSFX_SMITH51, 249 TSFX_SMITH52, 250 TSFX_SMITH53, 251 TSFX_SMITH54, 252 TSFX_SMITH55, 253 TSFX_SMITH56, 254 TSFX_COW1, 255 TSFX_COW2, 256 /* 257 TSFX_COW3, 258 TSFX_COW4, 259 TSFX_COW5, 260 TSFX_COW6, 261 */ 262 TSFX_COW7, 263 TSFX_COW8, 264 TSFX_DEADGUY, 265 TSFX_DRUNK1, 266 TSFX_DRUNK2, 267 TSFX_DRUNK3, 268 TSFX_DRUNK4, 269 TSFX_DRUNK5, 270 TSFX_DRUNK6, 271 TSFX_DRUNK7, 272 TSFX_DRUNK8, 273 TSFX_DRUNK9, 274 TSFX_DRUNK10, 275 TSFX_DRUNK11, 276 TSFX_DRUNK12, 277 TSFX_DRUNK13, 278 TSFX_DRUNK14, 279 TSFX_DRUNK15, 280 TSFX_DRUNK16, 281 TSFX_DRUNK17, 282 TSFX_DRUNK18, 283 TSFX_DRUNK19, 284 TSFX_DRUNK20, 285 TSFX_DRUNK21, 286 TSFX_DRUNK22, 287 TSFX_DRUNK23, 288 TSFX_DRUNK24, 289 TSFX_DRUNK25, 290 TSFX_DRUNK26, 291 TSFX_DRUNK27, 292 TSFX_DRUNK28, 293 TSFX_DRUNK29, 294 TSFX_DRUNK30, 295 TSFX_DRUNK31, 296 TSFX_DRUNK32, 297 TSFX_DRUNK33, 298 TSFX_DRUNK34, 299 TSFX_DRUNK35, 300 TSFX_HEALER1, 301 TSFX_HEALER2, 302 TSFX_HEALER3, 303 TSFX_HEALER4, 304 TSFX_HEALER5, 305 TSFX_HEALER6, 306 TSFX_HEALER7, 307 TSFX_HEALER8, 308 TSFX_HEALER9, 309 TSFX_HEALER10, 310 TSFX_HEALER11, 311 TSFX_HEALER12, 312 TSFX_HEALER13, 313 TSFX_HEALER14, 314 TSFX_HEALER15, 315 TSFX_HEALER16, 316 TSFX_HEALER17, 317 TSFX_HEALER18, 318 TSFX_HEALER19, 319 TSFX_HEALER20, 320 TSFX_HEALER21, 321 TSFX_HEALER22, 322 TSFX_HEALER23, 323 TSFX_HEALER24, 324 TSFX_HEALER25, 325 TSFX_HEALER26, 326 TSFX_HEALER27, 327 TSFX_HEALER28, 328 TSFX_HEALER29, 329 TSFX_HEALER30, 330 TSFX_HEALER31, 331 TSFX_HEALER32, 332 TSFX_HEALER33, 333 TSFX_HEALER34, 334 TSFX_HEALER35, 335 TSFX_HEALER36, 336 TSFX_HEALER37, 337 TSFX_HEALER38, 338 TSFX_HEALER39, 339 TSFX_HEALER40, 340 TSFX_HEALER41, 341 TSFX_HEALER42, 342 TSFX_HEALER43, 343 TSFX_HEALER44, 344 TSFX_HEALER45, 345 TSFX_HEALER46, 346 TSFX_HEALER47, 347 TSFX_PEGBOY1, 348 TSFX_PEGBOY2, 349 TSFX_PEGBOY3, 350 TSFX_PEGBOY4, 351 TSFX_PEGBOY5, 352 TSFX_PEGBOY6, 353 TSFX_PEGBOY7, 354 TSFX_PEGBOY8, 355 TSFX_PEGBOY9, 356 TSFX_PEGBOY10, 357 TSFX_PEGBOY11, 358 TSFX_PEGBOY12, 359 TSFX_PEGBOY13, 360 TSFX_PEGBOY14, 361 TSFX_PEGBOY15, 362 TSFX_PEGBOY16, 363 TSFX_PEGBOY17, 364 TSFX_PEGBOY18, 365 TSFX_PEGBOY19, 366 TSFX_PEGBOY20, 367 TSFX_PEGBOY21, 368 TSFX_PEGBOY22, 369 TSFX_PEGBOY23, 370 TSFX_PEGBOY24, 371 TSFX_PEGBOY25, 372 TSFX_PEGBOY26, 373 TSFX_PEGBOY27, 374 TSFX_PEGBOY28, 375 TSFX_PEGBOY29, 376 TSFX_PEGBOY30, 377 TSFX_PEGBOY31, 378 TSFX_PEGBOY32, 379 TSFX_PEGBOY33, 380 TSFX_PEGBOY34, 381 TSFX_PEGBOY35, 382 TSFX_PEGBOY36, 383 TSFX_PEGBOY37, 384 TSFX_PEGBOY38, 385 TSFX_PEGBOY39, 386 TSFX_PEGBOY40, 387 TSFX_PEGBOY41, 388 TSFX_PEGBOY42, 389 TSFX_PEGBOY43, 390 TSFX_PRIEST0, 391 TSFX_PRIEST1, 392 TSFX_PRIEST2, 393 TSFX_PRIEST3, 394 TSFX_PRIEST4, 395 TSFX_PRIEST5, 396 TSFX_PRIEST6, 397 TSFX_PRIEST7, 398 TSFX_STORY0, 399 TSFX_STORY1, 400 TSFX_STORY2, 401 TSFX_STORY3, 402 TSFX_STORY4, 403 TSFX_STORY5, 404 TSFX_STORY6, 405 TSFX_STORY7, 406 TSFX_STORY8, 407 TSFX_STORY9, 408 TSFX_STORY10, 409 TSFX_STORY11, 410 TSFX_STORY12, 411 TSFX_STORY13, 412 TSFX_STORY14, 413 TSFX_STORY15, 414 TSFX_STORY16, 415 TSFX_STORY17, 416 TSFX_STORY18, 417 TSFX_STORY19, 418 TSFX_STORY20, 419 TSFX_STORY21, 420 TSFX_STORY22, 421 TSFX_STORY23, 422 TSFX_STORY24, 423 TSFX_STORY25, 424 TSFX_STORY26, 425 TSFX_STORY27, 426 TSFX_STORY28, 427 TSFX_STORY29, 428 TSFX_STORY30, 429 TSFX_STORY31, 430 TSFX_STORY32, 431 TSFX_STORY33, 432 TSFX_STORY34, 433 TSFX_STORY35, 434 TSFX_STORY36, 435 TSFX_STORY37, 436 TSFX_STORY38, 437 TSFX_TAVERN0, 438 TSFX_TAVERN1, 439 TSFX_TAVERN2, 440 TSFX_TAVERN3, 441 TSFX_TAVERN4, 442 TSFX_TAVERN5, 443 TSFX_TAVERN6, 444 TSFX_TAVERN7, 445 TSFX_TAVERN8, 446 TSFX_TAVERN9, 447 TSFX_TAVERN10, 448 TSFX_TAVERN11, 449 TSFX_TAVERN12, 450 TSFX_TAVERN13, 451 TSFX_TAVERN14, 452 TSFX_TAVERN15, 453 TSFX_TAVERN16, 454 TSFX_TAVERN17, 455 TSFX_TAVERN18, 456 TSFX_TAVERN19, 457 TSFX_TAVERN20, 458 TSFX_TAVERN21, 459 TSFX_TAVERN22, 460 TSFX_TAVERN23, 461 TSFX_TAVERN24, 462 TSFX_TAVERN25, 463 TSFX_TAVERN26, 464 TSFX_TAVERN27, 465 TSFX_TAVERN28, 466 TSFX_TAVERN29, 467 TSFX_TAVERN30, 468 TSFX_TAVERN31, 469 TSFX_TAVERN32, 470 TSFX_TAVERN33, 471 TSFX_TAVERN34, 472 TSFX_TAVERN35, 473 TSFX_TAVERN36, 474 TSFX_TAVERN37, 475 TSFX_TAVERN38, 476 TSFX_TAVERN39, 477 TSFX_TAVERN40, 478 TSFX_TAVERN41, 479 TSFX_TAVERN42, 480 TSFX_TAVERN43, 481 TSFX_TAVERN44, 482 TSFX_TAVERN45, 483 TSFX_WITCH1, 484 TSFX_WITCH2, 485 TSFX_WITCH3, 486 TSFX_WITCH4, 487 TSFX_WITCH5, 488 TSFX_WITCH6, 489 TSFX_WITCH7, 490 TSFX_WITCH8, 491 TSFX_WITCH9, 492 TSFX_WITCH10, 493 TSFX_WITCH11, 494 TSFX_WITCH12, 495 TSFX_WITCH13, 496 TSFX_WITCH14, 497 TSFX_WITCH15, 498 TSFX_WITCH16, 499 TSFX_WITCH17, 500 TSFX_WITCH18, 501 TSFX_WITCH19, 502 TSFX_WITCH20, 503 TSFX_WITCH21, 504 TSFX_WITCH22, 505 TSFX_WITCH23, 506 TSFX_WITCH24, 507 TSFX_WITCH25, 508 TSFX_WITCH26, 509 TSFX_WITCH27, 510 TSFX_WITCH28, 511 TSFX_WITCH29, 512 TSFX_WITCH30, 513 TSFX_WITCH31, 514 TSFX_WITCH32, 515 TSFX_WITCH33, 516 TSFX_WITCH34, 517 TSFX_WITCH35, 518 TSFX_WITCH36, 519 TSFX_WITCH37, 520 TSFX_WITCH38, 521 TSFX_WITCH39, 522 TSFX_WITCH40, 523 TSFX_WITCH41, 524 TSFX_WITCH42, 525 TSFX_WITCH43, 526 TSFX_WITCH44, 527 TSFX_WITCH45, 528 TSFX_WITCH46, 529 TSFX_WITCH47, 530 TSFX_WITCH48, 531 TSFX_WITCH49, 532 TSFX_WITCH50, 533 TSFX_WOUND, 534 PS_MAGE1, 535 PS_MAGE2, 536 PS_MAGE3, 537 PS_MAGE4, 538 PS_MAGE5, 539 PS_MAGE6, 540 PS_MAGE7, 541 PS_MAGE8, 542 PS_MAGE9, 543 PS_MAGE10, 544 PS_MAGE11, 545 PS_MAGE12, 546 PS_MAGE13, 547 PS_MAGE14, 548 PS_MAGE15, 549 PS_MAGE16, 550 PS_MAGE17, 551 PS_MAGE18, 552 PS_MAGE19, 553 PS_MAGE20, 554 PS_MAGE21, 555 PS_MAGE22, 556 PS_MAGE23, 557 PS_MAGE24, 558 PS_MAGE25, 559 PS_MAGE26, 560 PS_MAGE27, 561 PS_MAGE28, 562 PS_MAGE29, 563 PS_MAGE30, 564 PS_MAGE31, 565 PS_MAGE32, 566 PS_MAGE33, 567 PS_MAGE34, 568 PS_MAGE35, 569 PS_MAGE36, 570 PS_MAGE37, 571 PS_MAGE38, 572 PS_MAGE39, 573 PS_MAGE40, 574 PS_MAGE41, 575 PS_MAGE42, 576 PS_MAGE43, 577 PS_MAGE44, 578 PS_MAGE45, 579 PS_MAGE46, 580 PS_MAGE47, 581 PS_MAGE48, 582 PS_MAGE49, 583 PS_MAGE50, 584 PS_MAGE51, 585 PS_MAGE52, 586 PS_MAGE53, 587 PS_MAGE54, 588 PS_MAGE55, 589 PS_MAGE56, 590 PS_MAGE57, 591 PS_MAGE58, 592 PS_MAGE59, 593 PS_MAGE60, 594 PS_MAGE61, 595 PS_MAGE62, 596 PS_MAGE63, 597 PS_MAGE64, 598 PS_MAGE65, 599 PS_MAGE66, 600 PS_MAGE67, 601 PS_MAGE68, 602 PS_MAGE69, 603 PS_MAGE69B, 604 PS_MAGE70, 605 PS_MAGE71, 606 PS_MAGE72, 607 PS_MAGE73, 608 PS_MAGE74, 609 PS_MAGE75, 610 PS_MAGE76, 611 PS_MAGE77, 612 PS_MAGE78, 613 PS_MAGE79, 614 PS_MAGE80, 615 PS_MAGE81, 616 PS_MAGE82, 617 PS_MAGE83, 618 PS_MAGE84, 619 PS_MAGE85, 620 PS_MAGE86, 621 PS_MAGE87, 622 PS_MAGE88, 623 PS_MAGE89, 624 PS_MAGE90, 625 PS_MAGE91, 626 PS_MAGE92, 627 PS_MAGE93, 628 PS_MAGE94, 629 PS_MAGE95, 630 PS_MAGE96, 631 PS_MAGE97, 632 PS_MAGE98, 633 PS_MAGE99, 634 PS_MAGE100, 635 PS_MAGE101, 636 PS_MAGE102, 637 PS_ROGUE1, 638 PS_ROGUE2, 639 PS_ROGUE3, 640 PS_ROGUE4, 641 PS_ROGUE5, 642 PS_ROGUE6, 643 PS_ROGUE7, 644 PS_ROGUE8, 645 PS_ROGUE9, 646 PS_ROGUE10, 647 PS_ROGUE11, 648 PS_ROGUE12, 649 PS_ROGUE13, 650 PS_ROGUE14, 651 PS_ROGUE15, 652 PS_ROGUE16, 653 PS_ROGUE17, 654 PS_ROGUE18, 655 PS_ROGUE19, 656 PS_ROGUE20, 657 PS_ROGUE21, 658 PS_ROGUE22, 659 PS_ROGUE23, 660 PS_ROGUE24, 661 PS_ROGUE25, 662 PS_ROGUE26, 663 PS_ROGUE27, 664 PS_ROGUE28, 665 PS_ROGUE29, 666 PS_ROGUE30, 667 PS_ROGUE31, 668 PS_ROGUE32, 669 PS_ROGUE33, 670 PS_ROGUE34, 671 PS_ROGUE35, 672 PS_ROGUE36, 673 PS_ROGUE37, 674 PS_ROGUE38, 675 PS_ROGUE39, 676 PS_ROGUE40, 677 PS_ROGUE41, 678 PS_ROGUE42, 679 PS_ROGUE43, 680 PS_ROGUE44, 681 PS_ROGUE45, 682 PS_ROGUE46, 683 PS_ROGUE47, 684 PS_ROGUE48, 685 PS_ROGUE49, 686 PS_ROGUE50, 687 PS_ROGUE51, 688 PS_ROGUE52, 689 PS_ROGUE53, 690 PS_ROGUE54, 691 PS_ROGUE55, 692 PS_ROGUE56, 693 PS_ROGUE57, 694 PS_ROGUE58, 695 PS_ROGUE59, 696 PS_ROGUE60, 697 PS_ROGUE61, 698 PS_ROGUE62, 699 PS_ROGUE63, 700 PS_ROGUE64, 701 PS_ROGUE65, 702 PS_ROGUE66, 703 PS_ROGUE67, 704 PS_ROGUE68, 705 PS_ROGUE69, 706 PS_ROGUE69B, 707 PS_ROGUE70, 708 PS_ROGUE71, 709 PS_ROGUE72, 710 PS_ROGUE73, 711 PS_ROGUE74, 712 PS_ROGUE75, 713 PS_ROGUE76, 714 PS_ROGUE77, 715 PS_ROGUE78, 716 PS_ROGUE79, 717 PS_ROGUE80, 718 PS_ROGUE81, 719 PS_ROGUE82, 720 PS_ROGUE83, 721 PS_ROGUE84, 722 PS_ROGUE85, 723 PS_ROGUE86, 724 PS_ROGUE87, 725 PS_ROGUE88, 726 PS_ROGUE89, 727 PS_ROGUE90, 728 PS_ROGUE91, 729 PS_ROGUE92, 730 PS_ROGUE93, 731 PS_ROGUE94, 732 PS_ROGUE95, 733 PS_ROGUE96, 734 PS_ROGUE97, 735 PS_ROGUE98, 736 PS_ROGUE99, 737 PS_ROGUE100, 738 PS_ROGUE101, 739 PS_ROGUE102, 740 PS_WARR1, 741 PS_WARR2, 742 PS_WARR3, 743 PS_WARR4, 744 PS_WARR5, 745 PS_WARR6, 746 PS_WARR7, 747 PS_WARR8, 748 PS_WARR9, 749 PS_WARR10, 750 PS_WARR11, 751 PS_WARR12, 752 PS_WARR13, 753 PS_WARR14, 754 PS_WARR14B, 755 PS_WARR14C, 756 PS_WARR15, 757 PS_WARR15B, 758 PS_WARR15C, 759 PS_WARR16, 760 PS_WARR16B, 761 PS_WARR16C, 762 PS_WARR17, 763 PS_WARR18, 764 PS_WARR19, 765 PS_WARR20, 766 PS_WARR21, 767 PS_WARR22, 768 PS_WARR23, 769 PS_WARR24, 770 PS_WARR25, 771 PS_WARR26, 772 PS_WARR27, 773 PS_WARR28, 774 PS_WARR29, 775 PS_WARR30, 776 PS_WARR31, 777 PS_WARR32, 778 PS_WARR33, 779 PS_WARR34, 780 PS_WARR35, 781 PS_WARR36, 782 PS_WARR37, 783 PS_WARR38, 784 PS_WARR39, 785 PS_WARR40, 786 PS_WARR41, 787 PS_WARR42, 788 PS_WARR43, 789 PS_WARR44, 790 PS_WARR45, 791 PS_WARR46, 792 PS_WARR47, 793 PS_WARR48, 794 PS_WARR49, 795 PS_WARR50, 796 PS_WARR51, 797 PS_WARR52, 798 PS_WARR53, 799 PS_WARR54, 800 PS_WARR55, 801 PS_WARR56, 802 PS_WARR57, 803 PS_WARR58, 804 PS_WARR59, 805 PS_WARR60, 806 PS_WARR61, 807 PS_WARR62, 808 PS_WARR63, 809 PS_WARR64, 810 PS_WARR65, 811 PS_WARR66, 812 PS_WARR67, 813 PS_WARR68, 814 PS_WARR69, 815 PS_WARR69B, 816 PS_WARR70, 817 PS_WARR71, 818 PS_WARR72, 819 PS_WARR73, 820 PS_WARR74, 821 PS_WARR75, 822 PS_WARR76, 823 PS_WARR77, 824 PS_WARR78, 825 PS_WARR79, 826 PS_WARR80, 827 PS_WARR81, 828 PS_WARR82, 829 PS_WARR83, 830 PS_WARR84, 831 PS_WARR85, 832 PS_WARR86, 833 PS_WARR87, 834 PS_WARR88, 835 PS_WARR89, 836 PS_WARR90, 837 PS_WARR91, 838 PS_WARR92, 839 PS_WARR93, 840 PS_WARR94, 841 PS_WARR95, 842 PS_WARR95B, 843 PS_WARR95C, 844 PS_WARR95D, 845 PS_WARR95E, 846 PS_WARR95F, 847 PS_WARR96B, 848 PS_WARR97, 849 PS_WARR98, 850 PS_WARR99, 851 PS_WARR100, 852 PS_WARR101, 853 PS_WARR102, 854 PS_MONK1, 855 PS_MONK2, 856 PS_MONK3, 857 PS_MONK4, 858 PS_MONK5, 859 PS_MONK6, 860 PS_MONK7, 861 PS_MONK8, 862 PS_MONK9, 863 PS_MONK10, 864 PS_MONK11, 865 PS_MONK12, 866 PS_MONK13, 867 PS_MONK14, 868 PS_MONK15, 869 PS_MONK16, 870 PS_MONK17, 871 PS_MONK18, 872 PS_MONK19, 873 PS_MONK20, 874 PS_MONK21, 875 PS_MONK22, 876 PS_MONK23, 877 PS_MONK24, 878 PS_MONK25, 879 PS_MONK26, 880 PS_MONK27, 881 PS_MONK28, 882 PS_MONK29, 883 PS_MONK30, 884 PS_MONK31, 885 PS_MONK32, 886 PS_MONK33, 887 PS_MONK34, 888 PS_MONK35, 889 PS_MONK36, 890 PS_MONK37, 891 PS_MONK38, 892 PS_MONK39, 893 PS_MONK40, 894 PS_MONK41, 895 PS_MONK42, 896 PS_MONK43, 897 PS_MONK44, 898 PS_MONK45, 899 PS_MONK46, 900 PS_MONK47, 901 PS_MONK48, 902 PS_MONK49, 903 PS_MONK50, 904 PS_MONK51, 905 PS_MONK52, 906 PS_MONK53, 907 PS_MONK54, 908 PS_MONK55, 909 PS_MONK56, 910 PS_MONK57, 911 PS_MONK58, 912 PS_MONK59, 913 PS_MONK60, 914 PS_MONK61, 915 PS_MONK62, 916 PS_MONK63, 917 PS_MONK64, 918 PS_MONK65, 919 PS_MONK66, 920 PS_MONK67, 921 PS_MONK68, 922 PS_MONK69, 923 PS_MONK69B, 924 PS_MONK70, 925 PS_MONK71, 926 PS_MONK72, 927 PS_MONK73, 928 PS_MONK74, 929 PS_MONK75, 930 PS_MONK76, 931 PS_MONK77, 932 PS_MONK78, 933 PS_MONK79, 934 PS_MONK80, 935 PS_MONK81, 936 PS_MONK82, 937 PS_MONK83, 938 PS_MONK84, 939 PS_MONK85, 940 PS_MONK86, 941 PS_MONK87, 942 PS_MONK88, 943 PS_MONK89, 944 PS_MONK90, 945 PS_MONK91, 946 PS_MONK92, 947 PS_MONK93, 948 PS_MONK94, 949 PS_MONK95, 950 PS_MONK96, 951 PS_MONK97, 952 PS_MONK98, 953 PS_MONK99, 954 PS_MONK100, 955 PS_MONK101, 956 PS_MONK102, 957 PS_NAR1, 958 PS_NAR2, 959 PS_NAR3, 960 PS_NAR4, 961 PS_NAR5, 962 PS_NAR6, 963 PS_NAR7, 964 PS_NAR8, 965 PS_NAR9, 966 PS_DIABLVLINT, 967 USFX_CLEAVER, 968 USFX_GARBUD1, 969 USFX_GARBUD2, 970 USFX_GARBUD3, 971 USFX_GARBUD4, 972 USFX_IZUAL1, 973 USFX_LACH1, 974 USFX_LACH2, 975 USFX_LACH3, 976 USFX_LAZ1, 977 USFX_LAZ2, 978 USFX_SKING1, 979 USFX_SNOT1, 980 USFX_SNOT2, 981 USFX_SNOT3, 982 USFX_WARLRD1, 983 USFX_WLOCK1, 984 USFX_ZHAR1, 985 USFX_ZHAR2, 986 USFX_DIABLOD, 987 TSFX_FARMER1, 988 TSFX_FARMER2, 989 TSFX_FARMER2A, 990 TSFX_FARMER3, 991 TSFX_FARMER4, 992 TSFX_FARMER5, 993 TSFX_FARMER6, 994 TSFX_FARMER7, 995 TSFX_FARMER8, 996 TSFX_FARMER9, 997 TSFX_TEDDYBR1, 998 TSFX_TEDDYBR2, 999 TSFX_TEDDYBR3, 1000 TSFX_TEDDYBR4, 1001 USFX_DEFILER1, 1002 USFX_DEFILER2, 1003 USFX_DEFILER3, 1004 USFX_DEFILER4, 1005 USFX_DEFILER8, 1006 USFX_DEFILER6, 1007 USFX_DEFILER7, 1008 USFX_NAKRUL1, 1009 USFX_NAKRUL2, 1010 USFX_NAKRUL3, 1011 USFX_NAKRUL4, 1012 USFX_NAKRUL5, 1013 USFX_NAKRUL6, 1014 PS_NARATR3, 1015 TSFX_COWSUT1, 1016 TSFX_COWSUT2, 1017 TSFX_COWSUT3, 1018 TSFX_COWSUT4, 1019 TSFX_COWSUT4A, 1020 TSFX_COWSUT5, 1021 TSFX_COWSUT6, 1022 TSFX_COWSUT7, 1023 TSFX_COWSUT8, 1024 TSFX_COWSUT9, 1025 TSFX_COWSUT10, 1026 TSFX_COWSUT11, 1027 TSFX_COWSUT12, 1028 USFX_SKLJRN1, 1029 PS_NARATR6, 1030 PS_NARATR7, 1031 PS_NARATR8, 1032 PS_NARATR5, 1033 PS_NARATR9, 1034 PS_NARATR4, 1035 TSFX_TRADER1, 1036 IS_CROPEN, 1037 IS_CRCLOS, 1038 } _sfx_id; 1039 1040 typedef enum sfx_flag { 1041 sfx_STREAM = 0x01, 1042 sfx_MISC = 0x02, 1043 sfx_UI = 0x04, 1044 sfx_MONK = 0x08, 1045 sfx_ROGUE = 0x10, 1046 sfx_WARRIOR = 0x20, 1047 sfx_SORCERER = 0x40, 1048 sfx_HELLFIRE = 0x80, 1049 } sfx_flag; 1050 1051 typedef enum missile_id { 1052 MIS_ARROW = 0x0, 1053 MIS_FIREBOLT = 0x1, 1054 MIS_GUARDIAN = 0x2, 1055 MIS_RNDTELEPORT = 0x3, 1056 MIS_LIGHTBALL = 0x4, 1057 MIS_FIREWALL = 0x5, 1058 MIS_FIREBALL = 0x6, 1059 MIS_LIGHTCTRL = 0x7, 1060 MIS_LIGHTNING = 0x8, 1061 MIS_MISEXP = 0x9, 1062 MIS_TOWN = 0xA, 1063 MIS_FLASH = 0xB, 1064 MIS_FLASH2 = 0xC, 1065 MIS_MANASHIELD = 0xD, 1066 MIS_FIREMOVE = 0xE, 1067 MIS_CHAIN = 0xF, 1068 MIS_SENTINAL = 0x10, // TODO: Check beta 1069 MIS_BLODSTAR = 0x11, // TODO: Check beta 1070 MIS_BONE = 0x12, // TODO: Check beta 1071 MIS_METLHIT = 0x13, // TODO: Check beta 1072 MIS_RHINO = 0x14, 1073 MIS_MAGMABALL = 0x15, 1074 MIS_LIGHTCTRL2 = 0x16, 1075 MIS_LIGHTNING2 = 0x17, 1076 MIS_FLARE = 0x18, 1077 MIS_MISEXP2 = 0x19, 1078 MIS_TELEPORT = 0x1A, 1079 MIS_FARROW = 0x1B, 1080 MIS_DOOMSERP = 0x1C, 1081 MIS_FIREWALLA = 0x1D, // TODO: Check beta 1082 MIS_STONE = 0x1E, 1083 MIS_NULL_1F = 0x1F, 1084 MIS_INVISIBL = 0x20, 1085 MIS_GOLEM = 0x21, 1086 MIS_ETHEREALIZE = 0x22, 1087 MIS_BLODBUR = 0x23, // TODO: Check beta 1088 MIS_BOOM = 0x24, 1089 MIS_HEAL = 0x25, 1090 MIS_FIREWALLC = 0x26, 1091 MIS_INFRA = 0x27, 1092 MIS_IDENTIFY = 0x28, 1093 MIS_WAVE = 0x29, 1094 MIS_NOVA = 0x2A, 1095 MIS_BLODBOIL = 0x2B, 1096 MIS_APOCA = 0x2C, 1097 MIS_REPAIR = 0x2D, 1098 MIS_RECHARGE = 0x2E, 1099 MIS_DISARM = 0x2F, 1100 MIS_FLAME = 0x30, 1101 MIS_FLAMEC = 0x31, 1102 MIS_FIREMAN = 0x32, // TODO: Check beta 1103 MIS_KRULL = 0x33, // TODO: Check beta 1104 MIS_CBOLT = 0x34, 1105 MIS_HBOLT = 0x35, 1106 MIS_RESURRECT = 0x36, 1107 MIS_TELEKINESIS = 0x37, 1108 MIS_LARROW = 0x38, 1109 MIS_ACID = 0x39, 1110 MIS_MISEXP3 = 0x3A, 1111 MIS_ACIDPUD = 0x3B, 1112 MIS_HEALOTHER = 0x3C, 1113 MIS_ELEMENT = 0x3D, 1114 MIS_RESURRECTBEAM = 0x3E, 1115 MIS_BONESPIRIT = 0x3F, 1116 MIS_WEAPEXP = 0x40, 1117 MIS_RPORTAL = 0x41, 1118 MIS_BOOM2 = 0x42, 1119 MIS_DIABAPOCA = 0x43, 1120 MIS_MANA = 0x44, 1121 MIS_MAGI = 0x45, 1122 MIS_LIGHTWALL = 0x46, 1123 MIS_LIGHTNINGWALL = 0x47, 1124 MIS_IMMOLATION = 0x48, 1125 MIS_SPECARROW = 0x49, 1126 MIS_FIRENOVA = 0x4A, 1127 MIS_LIGHTARROW = 0x4B, 1128 MIS_CBOLTARROW = 0x4C, 1129 MIS_HBOLTARROW = 0x4D, 1130 MIS_WARP = 0x4E, 1131 MIS_REFLECT = 0x4F, 1132 MIS_BERSERK = 0x50, 1133 MIS_FIRERING = 0x51, 1134 MIS_STEALPOTS = 0x52, 1135 MIS_MANATRAP = 0x53, 1136 MIS_LIGHTRING = 0x54, 1137 MIS_SEARCH = 0x55, 1138 MIS_FLASHFR = 0x56, 1139 MIS_FLASHBK = 0x57, 1140 MIS_IMMOLATION2 = 0x58, 1141 MIS_RUNEFIRE = 0x59, 1142 MIS_RUNELIGHT = 0x5A, 1143 MIS_RUNENOVA = 0x5B, 1144 MIS_RUNEIMMOLAT = 0x5C, 1145 MIS_RUNESTONE = 0x5D, 1146 MIS_HIVEEXP = 0x5E, 1147 MIS_HORKDMN = 0x5F, 1148 MIS_JESTER = 0x60, 1149 MIS_HIVEEXP2 = 0x61, 1150 MIS_LICH = 0x62, 1151 MIS_PSYCHORB = 0x63, 1152 MIS_NECROMORB = 0x64, 1153 MIS_ARCHLICH = 0x65, 1154 MIS_BONEDEMON = 0x66, 1155 MIS_EXYEL2 = 0x67, 1156 MIS_EXRED3 = 0x68, 1157 MIS_EXBL2 = 0x69, 1158 MIS_EXBL3 = 0x6A, 1159 MIS_EXORA1 = 0x6B, 1160 } missile_id; 1161 1162 typedef enum missile_graphic_id { 1163 MFILE_ARROWS, 1164 MFILE_FIREBA, 1165 MFILE_GUARD, 1166 MFILE_LGHNING, 1167 MFILE_FIREWAL, 1168 MFILE_MAGBLOS, 1169 MFILE_PORTAL, 1170 MFILE_BLUEXFR, 1171 MFILE_BLUEXBK, 1172 MFILE_MANASHLD, 1173 MFILE_BLOOD, 1174 MFILE_BONE, 1175 MFILE_METLHIT, 1176 MFILE_FARROW, 1177 MFILE_DOOM, 1178 MFILE_0F, 1179 MFILE_BLODBUR, 1180 MFILE_NEWEXP, 1181 MFILE_SHATTER1, 1182 MFILE_BIGEXP, 1183 MFILE_INFERNO, 1184 MFILE_THINLGHT, 1185 MFILE_FLARE, 1186 MFILE_FLAREEXP, 1187 MFILE_MAGBALL, 1188 MFILE_KRULL, 1189 MFILE_MINILTNG, 1190 MFILE_HOLY, 1191 MFILE_HOLYEXPL, 1192 MFILE_LARROW, 1193 MFILE_FIRARWEX, 1194 MFILE_ACIDBF, 1195 MFILE_ACIDSPLA, 1196 MFILE_ACIDPUD, 1197 MFILE_ETHRSHLD, 1198 MFILE_FIRERUN, 1199 MFILE_RESSUR1, 1200 MFILE_SKLBALL, 1201 MFILE_RPORTAL, 1202 MFILE_FIREPLAR, 1203 MFILE_SCUBMISB, 1204 MFILE_SCBSEXPB, 1205 MFILE_SCUBMISC, 1206 MFILE_SCBSEXPC, 1207 MFILE_SCUBMISD, 1208 MFILE_SCBSEXPD, 1209 MFILE_SPAWNS, 1210 MFILE_REFLECT, 1211 MFILE_LICH, 1212 MFILE_MSBLA, 1213 MFILE_NECROMORB, 1214 MFILE_ARCHLICH, 1215 MFILE_RUNE, 1216 MFILE_EXYEL2, 1217 MFILE_EXBL2, 1218 MFILE_EXRED3, 1219 MFILE_BONEDEMON, 1220 MFILE_EXORA1, 1221 MFILE_EXBL3, 1222 MFILE_NONE, // BUGFIX: should be `MFILE_NONE = MFILE_SCBSEXPD+1`, i.e. MFILE_NULL, since there would otherwise be an out-of-bounds in SetMissAnim when accessing misfiledata for any of the missiles that have MFILE_NONE as mFileNum in missiledata. (fixed) 1223 } missile_graphic_id; 1224 1225 typedef enum FILE_SYSTEM { 1226 FS_PC = 0, 1227 FS_CD = 1, 1228 } FILE_SYSTEM; 1229 1230 typedef enum _artfonts { 1231 AF_SMALL = 0, 1232 AF_SMALLGRAY = 1, 1233 AF_MED = 2, 1234 AF_MEDGRAY = 3, 1235 AF_BIG = 4, 1236 AF_BIGGRAY = 5, 1237 AF_HUGE = 6, 1238 AF_HUGEGRAY = 7, 1239 } _artfonts; 1240 1241 // this enum contains indexes from UniqMonst array for special unique monsters (usually quest related) 1242 typedef enum { 1243 UMT_GARBUD = 0, 1244 UMT_SKELKING = 1, 1245 UMT_ZHAR = 2, 1246 UMT_SNOTSPIL = 3, 1247 UMT_LAZURUS = 4, 1248 UMT_RED_VEX = 5, 1249 UMT_BLACKJADE = 6, 1250 UMT_LACHDAN = 7, 1251 UMT_WARLORD = 8, 1252 UMT_BUTCHER = 9, 1253 UMT_HORKDMN = 10, 1254 UMT_DEFILER = 11, 1255 UMT_NAKRUL = 12, 1256 } _uniq_monsterid; 1257 1258 typedef enum monster_flag { 1259 MFLAG_HIDDEN = 0x01, 1260 MFLAG_LOCK_ANIMATION = 0x02, 1261 MFLAG_ALLOW_SPECIAL = 0x04, 1262 MFLAG_NOHEAL = 0x08, 1263 MFLAG_TARGETS_MONSTER = 0x10, 1264 MFLAG_GOLEM = 0x20, 1265 MFLAG_QUEST_COMPLETE = 0x40, 1266 MFLAG_KNOCKBACK = 0x80, 1267 MFLAG_SEARCH = 0x100, 1268 MFLAG_CAN_OPEN_DOOR = 0x200, 1269 MFLAG_NO_ENEMY = 0x400, 1270 MFLAG_BERSERK = 0x800, 1271 MFLAG_NOLIFESTEAL = 0x1000 1272 } monster_flag; 1273 1274 typedef enum monster_goal { 1275 MGOAL_NORMAL = 1, 1276 MGOAL_RETREAT = 2, 1277 MGOAL_HEALING = 3, 1278 MGOAL_MOVE = 4, 1279 MGOAL_ATTACK2 = 5, 1280 MGOAL_INQUIRING = 6, 1281 MGOAL_TALKING = 7, 1282 } monster_goal; 1283 1284 typedef enum missile_resistance { 1285 MISR_NONE = 0, 1286 MISR_FIRE = 1, 1287 MISR_LIGHTNING = 2, 1288 MISR_MAGIC = 3, 1289 MISR_ACID = 4, 1290 } missile_resistance; 1291 1292 typedef enum _speech_id { 1293 TEXT_KING1, 1294 TEXT_KING2, 1295 TEXT_KING3, 1296 TEXT_KING4, 1297 TEXT_KING5, 1298 TEXT_KING6, 1299 TEXT_KING7, 1300 TEXT_KING8, 1301 TEXT_KING9, 1302 TEXT_KING10, 1303 TEXT_KING11, 1304 TEXT_BANNER1, 1305 TEXT_BANNER2, 1306 TEXT_BANNER3, 1307 TEXT_BANNER4, 1308 TEXT_BANNER5, 1309 TEXT_BANNER6, 1310 TEXT_BANNER7, 1311 TEXT_BANNER8, 1312 TEXT_BANNER9, 1313 TEXT_BANNER10, 1314 TEXT_BANNER11, 1315 TEXT_BANNER12, 1316 TEXT_VILE1, 1317 TEXT_VILE2, 1318 TEXT_VILE3, 1319 TEXT_VILE4, 1320 TEXT_VILE5, 1321 TEXT_VILE6, 1322 TEXT_VILE7, 1323 TEXT_VILE8, 1324 TEXT_VILE9, 1325 TEXT_VILE10, 1326 TEXT_VILE11, 1327 TEXT_VILE12, 1328 TEXT_VILE13, 1329 TEXT_VILE14, 1330 TEXT_POISON1, 1331 TEXT_POISON2, 1332 TEXT_POISON3, 1333 TEXT_POISON4, 1334 TEXT_POISON5, 1335 TEXT_POISON6, 1336 TEXT_POISON7, 1337 TEXT_POISON8, 1338 TEXT_POISON9, 1339 TEXT_POISON10, 1340 TEXT_BONE1, 1341 TEXT_BONE2, 1342 TEXT_BONE3, 1343 TEXT_BONE4, 1344 TEXT_BONE5, 1345 TEXT_BONE6, 1346 TEXT_BONE7, 1347 TEXT_BONE8, 1348 TEXT_BUTCH1, 1349 TEXT_BUTCH2, 1350 TEXT_BUTCH3, 1351 TEXT_BUTCH4, 1352 TEXT_BUTCH5, 1353 TEXT_BUTCH6, 1354 TEXT_BUTCH7, 1355 TEXT_BUTCH8, 1356 TEXT_BUTCH9, 1357 TEXT_BUTCH10, 1358 TEXT_BLIND1, 1359 TEXT_BLIND2, 1360 TEXT_BLIND3, 1361 TEXT_BLIND4, 1362 TEXT_BLIND5, 1363 TEXT_BLIND6, 1364 TEXT_BLIND7, 1365 TEXT_BLIND8, 1366 TEXT_VEIL1, 1367 TEXT_VEIL2, 1368 TEXT_VEIL3, 1369 TEXT_VEIL4, 1370 TEXT_VEIL5, 1371 TEXT_VEIL6, 1372 TEXT_VEIL7, 1373 TEXT_VEIL8, 1374 TEXT_VEIL9, 1375 TEXT_VEIL10, 1376 TEXT_VEIL11, 1377 TEXT_ANVIL1, 1378 TEXT_ANVIL2, 1379 TEXT_ANVIL3, 1380 TEXT_ANVIL4, 1381 TEXT_ANVIL5, 1382 TEXT_ANVIL6, 1383 TEXT_ANVIL7, 1384 TEXT_ANVIL8, 1385 TEXT_ANVIL9, 1386 TEXT_ANVIL10, 1387 TEXT_BLOOD1, 1388 TEXT_BLOOD2, 1389 TEXT_BLOOD3, 1390 TEXT_BLOOD4, 1391 TEXT_BLOOD5, 1392 TEXT_BLOOD6, 1393 TEXT_BLOOD7, 1394 TEXT_BLOOD8, 1395 TEXT_WARLRD1, 1396 TEXT_WARLRD2, 1397 TEXT_WARLRD3, 1398 TEXT_WARLRD4, 1399 TEXT_WARLRD5, 1400 TEXT_WARLRD6, 1401 TEXT_WARLRD7, 1402 TEXT_WARLRD8, 1403 TEXT_WARLRD9, 1404 TEXT_INFRA1, 1405 TEXT_INFRA2, 1406 TEXT_INFRA3, 1407 TEXT_INFRA4, 1408 TEXT_INFRA5, 1409 TEXT_INFRA6, 1410 TEXT_INFRA7, 1411 TEXT_INFRA8, 1412 TEXT_INFRA9, 1413 TEXT_INFRA10, 1414 TEXT_MUSH1, 1415 TEXT_MUSH2, 1416 TEXT_MUSH3, 1417 TEXT_MUSH4, 1418 TEXT_MUSH5, 1419 TEXT_MUSH6, 1420 TEXT_MUSH7, 1421 TEXT_MUSH8, 1422 TEXT_MUSH9, 1423 TEXT_MUSH10, 1424 TEXT_MUSH11, 1425 TEXT_MUSH12, 1426 TEXT_MUSH13, 1427 TEXT_DOOM1, 1428 TEXT_DOOM2, 1429 TEXT_DOOM3, 1430 TEXT_DOOM4, 1431 TEXT_DOOM5, 1432 TEXT_DOOM6, 1433 TEXT_DOOM7, 1434 TEXT_DOOM8, 1435 TEXT_DOOM9, 1436 TEXT_DOOM10, 1437 TEXT_GARBUD1, 1438 TEXT_GARBUD2, 1439 TEXT_GARBUD3, 1440 TEXT_GARBUD4, 1441 TEXT_ZHAR1, 1442 TEXT_ZHAR2, 1443 TEXT_STORY1, 1444 TEXT_STORY2, 1445 TEXT_STORY3, 1446 TEXT_STORY4, 1447 TEXT_STORY5, 1448 TEXT_STORY6, 1449 TEXT_STORY7, 1450 TEXT_STORY9, 1451 TEXT_STORY10, 1452 TEXT_STORY11, 1453 TEXT_OGDEN1, 1454 TEXT_OGDEN2, 1455 TEXT_OGDEN3, 1456 TEXT_OGDEN4, 1457 TEXT_OGDEN5, 1458 TEXT_OGDEN6, 1459 TEXT_OGDEN8, 1460 TEXT_OGDEN9, 1461 TEXT_OGDEN10, 1462 TEXT_PEPIN1, 1463 TEXT_PEPIN2, 1464 TEXT_PEPIN3, 1465 TEXT_PEPIN4, 1466 TEXT_PEPIN5, 1467 TEXT_PEPIN6, 1468 TEXT_PEPIN7, 1469 TEXT_PEPIN9, 1470 TEXT_PEPIN10, 1471 TEXT_PEPIN11, 1472 TEXT_GILLIAN1, 1473 TEXT_GILLIAN2, 1474 TEXT_GILLIAN3, 1475 TEXT_GILLIAN4, 1476 TEXT_GILLIAN5, 1477 TEXT_GILLIAN6, 1478 TEXT_GILLIAN7, 1479 TEXT_GILLIAN9, 1480 TEXT_GILLIAN10, 1481 TEXT_GRISWOLD1, 1482 TEXT_GRISWOLD2, 1483 TEXT_GRISWOLD3, 1484 TEXT_GRISWOLD4, 1485 TEXT_GRISWOLD5, 1486 TEXT_GRISWOLD6, 1487 TEXT_GRISWOLD7, 1488 TEXT_GRISWOLD8, 1489 TEXT_GRISWOLD9, 1490 TEXT_GRISWOLD10, 1491 TEXT_GRISWOLD12, 1492 TEXT_GRISWOLD13, 1493 TEXT_FARNHAM1, 1494 TEXT_FARNHAM2, 1495 TEXT_FARNHAM3, 1496 TEXT_FARNHAM4, 1497 TEXT_FARNHAM5, 1498 TEXT_FARNHAM6, 1499 TEXT_FARNHAM8, 1500 TEXT_FARNHAM9, 1501 TEXT_FARNHAM10, 1502 TEXT_FARNHAM11, 1503 TEXT_FARNHAM12, 1504 TEXT_FARNHAM13, 1505 TEXT_ADRIA1, 1506 TEXT_ADRIA2, 1507 TEXT_ADRIA3, 1508 TEXT_ADRIA4, 1509 TEXT_ADRIA5, 1510 TEXT_ADRIA6, 1511 TEXT_ADRIA7, 1512 TEXT_ADRIA8, 1513 TEXT_ADRIA9, 1514 TEXT_ADRIA10, 1515 TEXT_ADRIA12, 1516 TEXT_ADRIA13, 1517 TEXT_WIRT1, 1518 TEXT_WIRT2, 1519 TEXT_WIRT3, 1520 TEXT_WIRT4, 1521 TEXT_WIRT5, 1522 TEXT_WIRT6, 1523 TEXT_WIRT7, 1524 TEXT_WIRT8, 1525 TEXT_WIRT9, 1526 TEXT_WIRT11, 1527 TEXT_WIRT12, 1528 TEXT_BONER, 1529 TEXT_BLOODY, 1530 TEXT_BLINDING, 1531 TEXT_BLOODWAR, 1532 TEXT_MBONER, 1533 TEXT_MBLOODY, 1534 TEXT_MBLINDING, 1535 TEXT_MBLOODWAR, 1536 TEXT_RBONER, 1537 TEXT_RBLOODY, 1538 TEXT_RBLINDING, 1539 TEXT_RBLOODWAR, 1540 TEXT_COW1, 1541 TEXT_COW2, 1542 TEXT_BOOK11, 1543 TEXT_BOOK12, 1544 TEXT_BOOK13, 1545 TEXT_BOOK21, 1546 TEXT_BOOK22, 1547 TEXT_BOOK23, 1548 TEXT_BOOK31, 1549 TEXT_BOOK32, 1550 TEXT_BOOK33, 1551 TEXT_INTRO, 1552 TEXT_HBONER, 1553 TEXT_HBLOODY, 1554 TEXT_HBLINDING, 1555 TEXT_HBLOODWAR, 1556 TEXT_BBONER, 1557 TEXT_BBLOODY, 1558 TEXT_BBLINDING, 1559 TEXT_BBLOODWAR, 1560 TEXT_GRAVE1, 1561 TEXT_GRAVE2, 1562 TEXT_GRAVE3, 1563 TEXT_GRAVE4, 1564 TEXT_GRAVE5, 1565 TEXT_GRAVE6, 1566 TEXT_GRAVE7, 1567 TEXT_GRAVE8, 1568 TEXT_GRAVE9, 1569 TEXT_GRAVE10, 1570 TEXT_FARMER1, 1571 TEXT_FARMER2, 1572 TEXT_FARMER3, 1573 TEXT_FARMER4, 1574 TEXT_FARMER5, 1575 TEXT_GIRL1, 1576 TEXT_GIRL2, 1577 TEXT_GIRL3, 1578 TEXT_GIRL4, 1579 TEXT_DEFILER1, 1580 TEXT_DEFILER2, 1581 TEXT_DEFILER3, 1582 TEXT_DEFILER4, 1583 TEXT_DEFILER5, 1584 TEXT_NAKRUL1, 1585 TEXT_NAKRUL2, 1586 TEXT_NAKRUL3, 1587 TEXT_NAKRUL4, 1588 TEXT_NAKRUL5, 1589 TEXT_CORNSTN, 1590 TEXT_JERSEY1, 1591 TEXT_JERSEY2, 1592 TEXT_JERSEY3, 1593 TEXT_JERSEY4, 1594 TEXT_JERSEY5, 1595 TEXT_JERSEY6, 1596 TEXT_JERSEY7, 1597 TEXT_JERSEY8, 1598 TEXT_JERSEY9, 1599 TEXT_TRADER, 1600 TEXT_FARMER6, 1601 TEXT_FARMER7, 1602 TEXT_FARMER8, 1603 TEXT_FARMER9, 1604 TEXT_FARMER10, 1605 TEXT_JERSEY10, 1606 TEXT_JERSEY11, 1607 TEXT_JERSEY12, 1608 TEXT_JERSEY13, 1609 TEXT_SKLJRN, 1610 TEXT_BOOK4, 1611 TEXT_BOOK5, 1612 TEXT_BOOK6, 1613 TEXT_BOOK7, 1614 TEXT_BOOK8, 1615 TEXT_BOOK9, 1616 TEXT_BOOKA, 1617 TEXT_BOOKB, 1618 TEXT_BOOKC, 1619 TEXT_OBOOKA, 1620 TEXT_OBOOKB, 1621 TEXT_OBOOKC, 1622 TEXT_MBOOKA, 1623 TEXT_MBOOKB, 1624 TEXT_MBOOKC, 1625 TEXT_RBOOKA, 1626 TEXT_RBOOKB, 1627 TEXT_RBOOKC, 1628 TEXT_BBOOKA, 1629 TEXT_BBOOKB, 1630 TEXT_BBOOKC, 1631 /* 1632 TEXT_DEADGUY, 1633 TEXT_FARNHAM14, 1634 TEXT_FARNHAM15, 1635 TEXT_FARNHAM16, 1636 TEXT_FARNHAM17, 1637 TEXT_FARNHAM18, 1638 TEXT_FARNHAM19, 1639 TEXT_FARNHAM20, 1640 TEXT_FARNHAM21, 1641 TEXT_FARNHAM22, 1642 TEXT_GILLIAN11, 1643 TEXT_GILLIAN12, 1644 TEXT_GILLIAN13, 1645 TEXT_GILLIAN14, 1646 TEXT_GILLIAN15, 1647 TEXT_GILLIAN16, 1648 TEXT_GILLIAN17, 1649 TEXT_GILLIAN18, 1650 TEXT_GILLIAN19, 1651 TEXT_GILLIAN20, 1652 TEXT_GILLIAN21, 1653 TEXT_GILLIAN22, 1654 TEXT_GILLIAN23, 1655 TEXT_GILLIAN24, 1656 TEXT_GILLIAN25, 1657 TEXT_GILLIAN26, 1658 */ 1659 TEXT_NONE = -1, 1660 } _speech_id; 1661 1662 typedef enum object_graphic_id { 1663 OFILE_L1BRAZ = 0x0, 1664 OFILE_L1DOORS = 0x1, 1665 OFILE_LEVER = 0x2, 1666 OFILE_CHEST1 = 0x3, 1667 OFILE_CHEST2 = 0x4, 1668 OFILE_BANNER = 0x5, 1669 OFILE_SKULPILE = 0x6, 1670 OFILE_SKULFIRE = 0x7, 1671 OFILE_SKULSTIK = 0x8, 1672 OFILE_CRUXSK1 = 0x9, 1673 OFILE_CRUXSK2 = 0xA, 1674 OFILE_CRUXSK3 = 0xB, 1675 OFILE_BOOK1 = 0xC, 1676 OFILE_BOOK2 = 0xD, 1677 OFILE_ROCKSTAN = 0xE, 1678 OFILE_ANGEL = 0xF, 1679 OFILE_CHEST3 = 0x10, 1680 OFILE_BURNCROS = 0x11, 1681 OFILE_CANDLE2 = 0x12, 1682 OFILE_NUDE2 = 0x13, 1683 OFILE_SWITCH4 = 0x14, 1684 OFILE_TNUDEM = 0x15, 1685 OFILE_TNUDEW = 0x16, 1686 OFILE_TSOUL = 0x17, 1687 OFILE_L2DOORS = 0x18, 1688 OFILE_WTORCH4 = 0x19, 1689 OFILE_WTORCH3 = 0x1A, 1690 OFILE_SARC = 0x1B, 1691 OFILE_FLAME1 = 0x1C, 1692 OFILE_PRSRPLT1 = 0x1D, 1693 OFILE_TRAPHOLE = 0x1E, 1694 OFILE_MINIWATR = 0x1F, 1695 OFILE_WTORCH2 = 0x20, 1696 OFILE_WTORCH1 = 0x21, 1697 OFILE_BCASE = 0x22, 1698 OFILE_BSHELF = 0x23, 1699 OFILE_WEAPSTND = 0x24, 1700 OFILE_BARREL = 0x25, 1701 OFILE_BARRELEX = 0x26, 1702 OFILE_LSHRINEG = 0x27, 1703 OFILE_RSHRINEG = 0x28, 1704 OFILE_BLOODFNT = 0x29, 1705 OFILE_DECAP = 0x2A, 1706 OFILE_PEDISTL = 0x2B, 1707 OFILE_L3DOORS = 0x2C, 1708 OFILE_PFOUNTN = 0x2D, 1709 OFILE_ARMSTAND = 0x2E, 1710 OFILE_GOATSHRN = 0x2F, 1711 OFILE_CAULDREN = 0x30, 1712 OFILE_MFOUNTN = 0x31, 1713 OFILE_TFOUNTN = 0x32, 1714 OFILE_ALTBOY = 0x33, 1715 OFILE_MCIRL = 0x34, 1716 OFILE_BKSLBRNT = 0x35, 1717 OFILE_MUSHPTCH = 0x36, 1718 OFILE_LZSTAND = 0x37, 1719 } object_graphic_id; 1720 1721 typedef enum dungeon_type { 1722 DTYPE_TOWN = 0x0, 1723 DTYPE_CATHEDRAL = 0x1, 1724 DTYPE_CATACOMBS = 0x2, 1725 DTYPE_CAVES = 0x3, 1726 DTYPE_HELL = 0x4, 1727 DTYPE_NEST = 0x5, 1728 DTYPE_CRYPT = 0x6, 1729 DTYPE_NONE = 0xFF, 1730 } dungeon_type; 1731 1732 typedef enum dflag { 1733 BFLAG_MISSILE = 0x01, 1734 BFLAG_VISIBLE = 0x02, 1735 BFLAG_DEAD_PLAYER = 0x04, 1736 BFLAG_POPULATED = 0x08, 1737 BFLAG_MONSTLR = 0x10, 1738 BFLAG_PLAYERLR = 0x20, 1739 BFLAG_LIT = 0x40, 1740 BFLAG_EXPLORED = 0x80, 1741 } dflag; 1742 1743 typedef enum clicktype { 1744 CLICK_NONE = 0, 1745 CLICK_LEFT = 1, 1746 CLICK_RIGHT = 2, 1747 } clicktype; 1748 1749 typedef enum placeflag { 1750 PLACE_SCATTER = 1, 1751 PLACE_SPECIAL = 2, 1752 PLACE_UNIQUE = 4, 1753 } placeflag; 1754 1755 typedef enum mienemy_type { 1756 TARGET_MONSTERS = 0, 1757 TARGET_PLAYERS = 1, 1758 TARGET_BOTH = 2, 1759 } mienemy_type; 1760 1761 typedef enum dungeon_message { 1762 DMSG_CATHEDRAL = 1 << 0, 1763 DMSG_CATACOMBS = 1 << 1, 1764 DMSG_CAVES = 1 << 2, 1765 DMSG_HELL = 1 << 3, 1766 DMSG_DIABLO = 1 << 4, 1767 } dungeon_message; 1768 1769 typedef enum diablo_message { 1770 EMSG_NONE = 0, 1771 EMSG_NO_AUTOMAP_IN_TOWN = 1, 1772 EMSG_NO_MULTIPLAYER_IN_DEMO = 2, 1773 EMSG_DIRECT_SOUND_FAILED = 3, 1774 EMSG_NOT_IN_SHAREWARE = 4, 1775 EMSG_NO_SPACE_TO_SAVE = 5, 1776 EMSG_NO_PAUSE_IN_TOWN = 6, 1777 EMSG_COPY_TO_HDD = 7, 1778 EMSG_DESYNC = 8, 1779 EMSG_NO_PAUSE_IN_MP = 9, 1780 EMSG_LOADING = 10, 1781 EMSG_SAVING = 11, 1782 EMSG_SHRINE_MYSTERIOUS = 12, 1783 EMSG_SHRINE_HIDDEN = 13, 1784 EMSG_SHRINE_GLOOMY = 14, 1785 EMSG_SHRINE_WEIRD = 15, 1786 EMSG_SHRINE_MAGICAL = 16, 1787 EMSG_SHRINE_STONE = 17, 1788 EMSG_SHRINE_RELIGIOUS = 18, 1789 EMSG_SHRINE_ENCHANTED = 19, 1790 EMSG_SHRINE_THAUMATURGIC = 20, 1791 EMSG_SHRINE_FASCINATING = 21, 1792 EMSG_SHRINE_CRYPTIC = 22, 1793 EMSG_SHRINE_UNUSED = 23, 1794 EMSG_SHRINE_ELDRITCH = 24, 1795 EMSG_SHRINE_EERIE = 25, 1796 EMSG_SHRINE_DIVINE = 26, 1797 EMSG_SHRINE_HOLY = 27, 1798 EMSG_SHRINE_SACRED = 28, 1799 EMSG_SHRINE_SPIRITUAL = 29, 1800 EMSG_SHRINE_SPOOKY1 = 30, 1801 EMSG_SHRINE_SPOOKY2 = 31, 1802 EMSG_SHRINE_ABANDONED = 32, 1803 EMSG_SHRINE_CREEPY = 33, 1804 EMSG_SHRINE_QUIET = 34, 1805 EMSG_SHRINE_SECLUDED = 35, 1806 EMSG_SHRINE_ORNATE = 36, 1807 EMSG_SHRINE_GLIMMERING = 37, 1808 EMSG_SHRINE_TAINTED1 = 38, 1809 EMSG_SHRINE_TAINTED2 = 39, 1810 EMSG_REQUIRES_LVL_8 = 40, 1811 EMSG_REQUIRES_LVL_13 = 41, 1812 EMSG_REQUIRES_LVL_17 = 42, 1813 EMSG_BONECHAMB = 43, 1814 EMSG_SHRINE_OILY = 44, 1815 EMSG_SHRINE_GLOWING = 45, 1816 EMSG_SHRINE_MENDICANT = 46, 1817 EMSG_SHRINE_SPARKLING = 47, 1818 EMSG_SHRINE_TOWN = 48, 1819 EMSG_SHRINE_SHIMMERING = 49, 1820 EMSG_SHRINE_SOLAR1 = 50, 1821 EMSG_SHRINE_SOLAR2 = 51, 1822 EMSG_SHRINE_SOLAR3 = 52, 1823 EMSG_SHRINE_SOLAR4 = 53, 1824 EMSG_SHRINE_MURPHYS = 54, 1825 } diablo_message; 1826 1827 typedef enum magic_type { 1828 STYPE_FIRE = 0x0, 1829 STYPE_LIGHTNING = 0x1, 1830 STYPE_MAGIC = 0x2, 1831 } magic_type; 1832 1833 typedef enum theme_id { 1834 THEME_BARREL = 0x0, 1835 THEME_SHRINE = 0x1, 1836 THEME_MONSTPIT = 0x2, 1837 THEME_SKELROOM = 0x3, 1838 THEME_TREASURE = 0x4, 1839 THEME_LIBRARY = 0x5, 1840 THEME_TORTURE = 0x6, 1841 THEME_BLOODFOUNTAIN = 0x7, 1842 THEME_DECAPITATED = 0x8, 1843 THEME_PURIFYINGFOUNTAIN = 0x9, 1844 THEME_ARMORSTAND = 0xA, 1845 THEME_GOATSHRINE = 0xB, 1846 THEME_CAULDRON = 0xC, 1847 THEME_MURKYFOUNTAIN = 0xD, 1848 THEME_TEARFOUNTAIN = 0xE, 1849 THEME_BRNCROSS = 0xF, 1850 THEME_WEAPONRACK = 0x10, 1851 THEME_NONE = -1, 1852 } theme_id; 1853 1854 typedef enum event_type { 1855 EVENT_TYPE_PLAYER_CREATE_GAME = 1, 1856 EVENT_TYPE_2 = 2, 1857 EVENT_TYPE_PLAYER_LEAVE_GAME = 3, 1858 EVENT_TYPE_PLAYER_MESSAGE = 4, 1859 EVENT_TYPE_5 = 5, 1860 EVENT_TYPE_6 = 6, 1861 EVENT_TYPE_7 = 7, 1862 EVENT_TYPE_8 = 8, 1863 EVENT_TYPE_9 = 9, 1864 EVENT_TYPE_10 = 10, 1865 EVENT_TYPE_11 = 11, 1866 EVENT_TYPE_12 = 12, 1867 EVENT_TYPE_13 = 13, 1868 EVENT_TYPE_14 = 14, 1869 EVENT_TYPE_15 = 15, 1870 } event_type; 1871 1872 typedef enum _difficulty { 1873 DIFF_NORMAL = 0x0, 1874 DIFF_NIGHTMARE = 0x1, 1875 DIFF_HELL = 0x2, 1876 NUM_DIFFICULTIES = 0x3, 1877 } _difficulty; 1878 1879 typedef enum MON_ANIM { 1880 MA_STAND = 0, 1881 MA_WALK = 1, 1882 MA_ATTACK = 2, 1883 MA_GOTHIT = 3, 1884 MA_DEATH = 4, 1885 MA_SPECIAL = 5, 1886 } MON_ANIM; 1887 1888 typedef enum spell_type { 1889 RSPLTYPE_SKILL = 0x0, 1890 RSPLTYPE_SPELL = 0x1, 1891 RSPLTYPE_SCROLL = 0x2, 1892 RSPLTYPE_CHARGES = 0x3, 1893 RSPLTYPE_INVALID = 0x4, 1894 } spell_type; 1895 1896 typedef enum cursor_id { 1897 CURSOR_NONE = 0x0, 1898 CURSOR_HAND = 0x1, 1899 CURSOR_IDENTIFY = 0x2, 1900 CURSOR_REPAIR = 0x3, 1901 CURSOR_RECHARGE = 0x4, 1902 CURSOR_DISARM = 0x5, 1903 CURSOR_OIL = 0x6, 1904 CURSOR_TELEKINESIS = 0x7, 1905 CURSOR_RESURRECT = 0x8, 1906 CURSOR_TELEPORT = 0x9, 1907 CURSOR_HEALOTHER = 0xA, 1908 CURSOR_HOURGLASS = 0xB, 1909 CURSOR_FIRSTITEM = 0xC, 1910 } cursor_id; 1911 1912 typedef enum direction { 1913 DIR_S = 0x0, 1914 DIR_SW = 0x1, 1915 DIR_W = 0x2, 1916 DIR_NW = 0x3, 1917 DIR_N = 0x4, 1918 DIR_NE = 0x5, 1919 DIR_E = 0x6, 1920 DIR_SE = 0x7, 1921 DIR_OMNI = 0x8, 1922 } direction; 1923 1924 typedef enum _scroll_direction { 1925 SDIR_NONE = 0x0, 1926 SDIR_N = 0x1, 1927 SDIR_NE = 0x2, 1928 SDIR_E = 0x3, 1929 SDIR_SE = 0x4, 1930 SDIR_S = 0x5, 1931 SDIR_SW = 0x6, 1932 SDIR_W = 0x7, 1933 SDIR_NW = 0x8, 1934 } _scroll_direction; 1935 1936 typedef enum interface_mode { 1937 WM_DIABNEXTLVL = 0x402, // WM_USER+2 1938 WM_DIABPREVLVL = 0x403, 1939 WM_DIABRTNLVL = 0x404, 1940 WM_DIABSETLVL = 0x405, 1941 WM_DIABWARPLVL = 0x406, 1942 WM_DIABTOWNWARP = 0x407, 1943 WM_DIABTWARPUP = 0x408, 1944 WM_DIABRETOWN = 0x409, 1945 WM_DIABNEWGAME = 0x40A, 1946 WM_DIABLOADGAME = 0x40B 1947 // WM_LEIGHSKIP = 0x40C, // psx only 1948 // WM_DIAVNEWLVL = 0x40D, // psx only 1949 } interface_mode; 1950 1951 typedef enum lvl_entry { 1952 ENTRY_MAIN = 0, 1953 ENTRY_PREV = 1, 1954 ENTRY_SETLVL = 2, 1955 ENTRY_RTNLVL = 3, 1956 ENTRY_LOAD = 4, 1957 ENTRY_WARPLVL = 5, 1958 ENTRY_TWARPDN = 6, 1959 ENTRY_TWARPUP = 7, 1960 } lvl_entry; 1961 1962 typedef enum game_info { 1963 GAMEINFO_NAME = 1, 1964 GAMEINFO_PASSWORD = 2, 1965 GAMEINFO_STATS = 3, 1966 GAMEINFO_MODEFLAG = 4, 1967 GAMEINFO_GAMETEMPLATE = 5, 1968 GAMEINFO_PLAYERS = 6, 1969 } game_info; 1970 1971 typedef enum spell_id { 1972 SPL_NULL = 0x0, 1973 SPL_FIREBOLT = 0x1, 1974 SPL_HEAL = 0x2, 1975 SPL_LIGHTNING = 0x3, 1976 SPL_FLASH = 0x4, 1977 SPL_IDENTIFY = 0x5, 1978 SPL_FIREWALL = 0x6, 1979 SPL_TOWN = 0x7, 1980 SPL_STONE = 0x8, 1981 SPL_INFRA = 0x9, 1982 SPL_RNDTELEPORT = 0xA, 1983 SPL_MANASHIELD = 0xB, 1984 SPL_FIREBALL = 0xC, 1985 SPL_GUARDIAN = 0xD, 1986 SPL_CHAIN = 0xE, 1987 SPL_WAVE = 0xF, 1988 SPL_DOOMSERP = 0x10, 1989 SPL_BLODRIT = 0x11, 1990 SPL_NOVA = 0x12, 1991 SPL_INVISIBIL = 0x13, 1992 SPL_FLAME = 0x14, 1993 SPL_GOLEM = 0x15, 1994 SPL_BLODBOIL = 0x16, 1995 SPL_TELEPORT = 0x17, 1996 SPL_APOCA = 0x18, 1997 SPL_ETHEREALIZE = 0x19, 1998 SPL_REPAIR = 0x1A, 1999 SPL_RECHARGE = 0x1B, 2000 SPL_DISARM = 0x1C, 2001 SPL_ELEMENT = 0x1D, 2002 SPL_CBOLT = 0x1E, 2003 SPL_HBOLT = 0x1F, 2004 SPL_RESURRECT = 0x20, 2005 SPL_TELEKINESIS = 0x21, 2006 SPL_HEALOTHER = 0x22, 2007 SPL_FLARE = 0x23, 2008 SPL_BONESPIRIT = 0x24, 2009 SPL_LASTDIABLO = SPL_BONESPIRIT, 2010 SPL_MANA = 0x25, 2011 SPL_MAGI = 0x26, 2012 SPL_JESTER = 0x27, 2013 SPL_LIGHTWALL = 0x28, 2014 SPL_IMMOLAT = 0x29, 2015 SPL_WARP = 0x2A, 2016 SPL_REFLECT = 0x2B, 2017 SPL_BERSERK = 0x2C, 2018 SPL_FIRERING = 0x2D, 2019 SPL_SEARCH = 0x2E, 2020 SPL_RUNEFIRE = 0x2F, 2021 SPL_RUNELIGHT = 0x30, 2022 SPL_RUNENOVA = 0x31, 2023 SPL_RUNEIMMOLAT = 0x32, 2024 SPL_RUNESTONE = 0x33, 2025 SPL_INVALID = -1, 2026 } spell_id; 2027 2028 typedef enum _cmd_id { 2029 CMD_STAND, 2030 CMD_WALKXY, 2031 CMD_ACK_PLRINFO, 2032 CMD_ADDSTR, 2033 CMD_ADDMAG, 2034 CMD_ADDDEX, 2035 CMD_ADDVIT, 2036 CMD_SBSPELL, 2037 CMD_GETITEM, 2038 CMD_AGETITEM, 2039 CMD_PUTITEM, 2040 CMD_RESPAWNITEM, 2041 CMD_ATTACKXY, 2042 CMD_RATTACKXY, 2043 CMD_SPELLXY, 2044 CMD_TSPELLXY, 2045 CMD_OPOBJXY, 2046 CMD_DISARMXY, 2047 CMD_ATTACKID, 2048 CMD_ATTACKPID, 2049 CMD_RATTACKID, 2050 CMD_RATTACKPID, 2051 CMD_SPELLID, 2052 CMD_SPELLPID, 2053 CMD_TSPELLID, 2054 CMD_TSPELLPID, 2055 CMD_RESURRECT, 2056 CMD_OPOBJT, 2057 CMD_KNOCKBACK, 2058 CMD_TALKXY, 2059 CMD_NEWLVL, 2060 CMD_WARP, 2061 CMD_CHEAT_EXPERIENCE, 2062 CMD_CHEAT_SPELL_LEVEL, 2063 CMD_DEBUG, 2064 CMD_SYNCDATA, 2065 CMD_MONSTDEATH, 2066 CMD_MONSTDAMAGE, 2067 CMD_PLRDEAD, 2068 CMD_REQUESTGITEM, 2069 CMD_REQUESTAGITEM, 2070 CMD_GOTOGETITEM, 2071 CMD_GOTOAGETITEM, 2072 CMD_OPENDOOR, 2073 CMD_CLOSEDOOR, 2074 CMD_OPERATEOBJ, 2075 CMD_PLROPOBJ, 2076 CMD_BREAKOBJ, 2077 CMD_CHANGEPLRITEMS, 2078 CMD_DELPLRITEMS, 2079 CMD_PLRDAMAGE, 2080 CMD_PLRLEVEL, 2081 CMD_DROPITEM, 2082 CMD_PLAYER_JOINLEVEL, 2083 CMD_SEND_PLRINFO, 2084 CMD_SATTACKXY, 2085 CMD_ACTIVATEPORTAL, 2086 CMD_DEACTIVATEPORTAL, 2087 CMD_DLEVEL_0, 2088 CMD_DLEVEL_1, 2089 CMD_DLEVEL_2, 2090 CMD_DLEVEL_3, 2091 CMD_DLEVEL_4, 2092 CMD_DLEVEL_5, 2093 CMD_DLEVEL_6, 2094 CMD_DLEVEL_7, 2095 CMD_DLEVEL_8, 2096 CMD_DLEVEL_9, 2097 CMD_DLEVEL_10, 2098 CMD_DLEVEL_11, 2099 CMD_DLEVEL_12, 2100 CMD_DLEVEL_13, 2101 CMD_DLEVEL_14, 2102 CMD_DLEVEL_15, 2103 CMD_DLEVEL_16, 2104 CMD_DLEVEL_17, 2105 CMD_DLEVEL_18, 2106 CMD_DLEVEL_19, 2107 CMD_DLEVEL_20, 2108 CMD_DLEVEL_21, 2109 CMD_DLEVEL_22, 2110 CMD_DLEVEL_23, 2111 CMD_DLEVEL_24, 2112 CMD_DLEVEL_JUNK, 2113 CMD_DLEVEL_END, 2114 CMD_HEALOTHER, 2115 CMD_STRING, 2116 CMD_SETSTR, 2117 CMD_SETMAG, 2118 CMD_SETDEX, 2119 CMD_SETVIT, 2120 CMD_RETOWN, 2121 CMD_SPELLXYD, 2122 CMD_ITEMEXTRA, 2123 CMD_SYNCPUTITEM, 2124 CMD_KILLGOLEM, 2125 CMD_SYNCQUEST, 2126 CMD_ENDSHIELD, 2127 CMD_AWAKEGOLEM, 2128 CMD_NOVA, 2129 CMD_SETSHIELD, 2130 CMD_REMSHIELD, 2131 CMD_REFLECT, 2132 CMD_NAKRUL, 2133 CMD_OPENHIVE, 2134 CMD_OPENCRYPT, 2135 FAKE_CMD_SETID, 2136 FAKE_CMD_DROPID, 2137 NUM_CMDS, 2138 } _cmd_id; 2139 2140 typedef enum _music_id { 2141 TMUSIC_TOWN, 2142 TMUSIC_L1, 2143 TMUSIC_L2, 2144 TMUSIC_L3, 2145 TMUSIC_L4, 2146 TMUSIC_L5, 2147 TMUSIC_L6, 2148 TMUSIC_INTRO, 2149 NUM_MUSIC, 2150 } _music_id; 2151 2152 typedef enum _mainmenu_selections { 2153 MAINMENU_SINGLE_PLAYER = 1, 2154 MAINMENU_MULTIPLAYER, 2155 MAINMENU_REPLAY_INTRO, 2156 MAINMENU_SHOW_SUPPORT, 2157 MAINMENU_SHOW_CREDITS, 2158 MAINMENU_EXIT_DIABLO, 2159 MAINMENU_ATTRACT_MODE, 2160 } _mainmenu_selections; 2161 2162 typedef enum _selhero_selections { 2163 SELHERO_NEW_DUNGEON = 1, 2164 SELHERO_CONTINUE = 2, 2165 SELHERO_CONNECT = 3, 2166 SELHERO_PREVIOUS = 4 2167 } _selhero_selections; 2168 2169 typedef enum panel_button_id { 2170 PANBTN_CHARINFO = 0, 2171 PANBTN_QLOG = 1, 2172 PANBTN_AUTOMAP = 2, 2173 PANBTN_MAINMENU = 3, 2174 PANBTN_INVENTORY = 4, 2175 PANBTN_SPELLBOOK = 5, 2176 PANBTN_SENDMSG = 6, 2177 PANBTN_FRIENDLY = 7, 2178 } panel_button_id; 2179 2180 typedef enum attribute_id { 2181 ATTRIB_STR = 0, 2182 ATTRIB_MAG = 1, 2183 ATTRIB_DEX = 2, 2184 ATTRIB_VIT = 3, 2185 } attribute_id; 2186 2187 typedef enum _object_id { 2188 OBJ_L1LIGHT = 0x0, 2189 OBJ_L1LDOOR = 0x1, 2190 OBJ_L1RDOOR = 0x2, 2191 OBJ_SKFIRE = 0x3, 2192 OBJ_LEVER = 0x4, 2193 OBJ_CHEST1 = 0x5, 2194 OBJ_CHEST2 = 0x6, 2195 OBJ_CHEST3 = 0x7, 2196 OBJ_CANDLE1 = 0x8, 2197 OBJ_CANDLE2 = 0x9, 2198 OBJ_CANDLEO = 0xA, 2199 OBJ_BANNERL = 0xB, 2200 OBJ_BANNERM = 0xC, 2201 OBJ_BANNERR = 0xD, 2202 OBJ_SKPILE = 0xE, 2203 OBJ_SKSTICK1 = 0xF, 2204 OBJ_SKSTICK2 = 0x10, 2205 OBJ_SKSTICK3 = 0x11, 2206 OBJ_SKSTICK4 = 0x12, 2207 OBJ_SKSTICK5 = 0x13, 2208 OBJ_CRUX1 = 0x14, 2209 OBJ_CRUX2 = 0x15, 2210 OBJ_CRUX3 = 0x16, 2211 OBJ_STAND = 0x17, 2212 OBJ_ANGEL = 0x18, 2213 OBJ_BOOK2L = 0x19, 2214 OBJ_BCROSS = 0x1A, 2215 OBJ_NUDEW2R = 0x1B, 2216 OBJ_SWITCHSKL = 0x1C, 2217 OBJ_TNUDEM1 = 0x1D, 2218 OBJ_TNUDEM2 = 0x1E, 2219 OBJ_TNUDEM3 = 0x1F, 2220 OBJ_TNUDEM4 = 0x20, 2221 OBJ_TNUDEW1 = 0x21, 2222 OBJ_TNUDEW2 = 0x22, 2223 OBJ_TNUDEW3 = 0x23, 2224 OBJ_TORTURE1 = 0x24, 2225 OBJ_TORTURE2 = 0x25, 2226 OBJ_TORTURE3 = 0x26, 2227 OBJ_TORTURE4 = 0x27, 2228 OBJ_TORTURE5 = 0x28, 2229 OBJ_BOOK2R = 0x29, 2230 OBJ_L2LDOOR = 0x2A, 2231 OBJ_L2RDOOR = 0x2B, 2232 OBJ_TORCHL = 0x2C, 2233 OBJ_TORCHR = 0x2D, 2234 OBJ_TORCHL2 = 0x2E, 2235 OBJ_TORCHR2 = 0x2F, 2236 OBJ_SARC = 0x30, 2237 OBJ_FLAMEHOLE = 0x31, 2238 OBJ_FLAMELVR = 0x32, 2239 OBJ_WATER = 0x33, 2240 OBJ_BOOKLVR = 0x34, 2241 OBJ_TRAPL = 0x35, 2242 OBJ_TRAPR = 0x36, 2243 OBJ_BOOKSHELF = 0x37, 2244 OBJ_WEAPRACK = 0x38, 2245 OBJ_BARREL = 0x39, 2246 OBJ_BARRELEX = 0x3A, 2247 OBJ_SHRINEL = 0x3B, 2248 OBJ_SHRINER = 0x3C, 2249 OBJ_SKELBOOK = 0x3D, 2250 OBJ_BOOKCASEL = 0x3E, 2251 OBJ_BOOKCASER = 0x3F, 2252 OBJ_BOOKSTAND = 0x40, 2253 OBJ_BOOKCANDLE = 0x41, 2254 OBJ_BLOODFTN = 0x42, 2255 OBJ_DECAP = 0x43, 2256 OBJ_TCHEST1 = 0x44, 2257 OBJ_TCHEST2 = 0x45, 2258 OBJ_TCHEST3 = 0x46, 2259 OBJ_BLINDBOOK = 0x47, 2260 OBJ_BLOODBOOK = 0x48, 2261 OBJ_PEDISTAL = 0x49, 2262 OBJ_L3LDOOR = 0x4A, 2263 OBJ_L3RDOOR = 0x4B, 2264 OBJ_PURIFYINGFTN = 0x4C, 2265 OBJ_ARMORSTAND = 0x4D, 2266 OBJ_ARMORSTANDN = 0x4E, 2267 OBJ_GOATSHRINE = 0x4F, 2268 OBJ_CAULDRON = 0x50, 2269 OBJ_MURKYFTN = 0x51, 2270 OBJ_TEARFTN = 0x52, 2271 OBJ_ALTBOY = 0x53, 2272 OBJ_MCIRCLE1 = 0x54, 2273 OBJ_MCIRCLE2 = 0x55, 2274 OBJ_STORYBOOK = 0x56, 2275 OBJ_STORYCANDLE = 0x57, 2276 OBJ_STEELTOME = 0x58, 2277 OBJ_WARARMOR = 0x59, 2278 OBJ_WARWEAP = 0x5A, 2279 OBJ_TBCROSS = 0x5B, 2280 OBJ_WEAPONRACK = 0x5C, 2281 OBJ_WEAPONRACKN = 0x5D, 2282 OBJ_MUSHPATCH = 0x5E, 2283 OBJ_LAZSTAND = 0x5F, 2284 OBJ_SLAINHERO = 0x60, 2285 OBJ_SIGNCHEST = 0x61, 2286 OBJ_BOOKSHELFR = 0x62, 2287 } _object_id; 2288 2289 typedef enum _item_indexes { 2290 IDI_GOLD, 2291 IDI_WARRIOR, 2292 IDI_WARRSHLD, 2293 IDI_WARRCLUB, 2294 IDI_ROGUE, 2295 IDI_SORCERER, 2296 IDI_CLEAVER, 2297 IDI_FIRSTQUEST = IDI_CLEAVER, 2298 IDI_SKCROWN, 2299 IDI_INFRARING, 2300 IDI_ROCK, 2301 IDI_OPTAMULET, 2302 IDI_TRING, 2303 IDI_BANNER, 2304 IDI_HARCREST, 2305 IDI_STEELVEIL, 2306 IDI_GLDNELIX, 2307 IDI_ANVIL, 2308 IDI_MUSHROOM, 2309 IDI_BRAIN, 2310 IDI_FUNGALTM, 2311 IDI_SPECELIX, 2312 IDI_BLDSTONE, 2313 IDI_MAPOFDOOM, 2314 IDI_LASTQUEST = IDI_MAPOFDOOM, 2315 IDI_EAR, 2316 IDI_HEAL, 2317 IDI_MANA, 2318 IDI_IDENTIFY, 2319 IDI_PORTAL, 2320 IDI_ARMOFVAL, 2321 IDI_FULLHEAL, 2322 IDI_FULLMANA, 2323 IDI_GRISWOLD, 2324 IDI_LGTFORGE, 2325 IDI_LAZSTAFF, 2326 IDI_RESURRECT, 2327 IDI_OIL, 2328 IDI_SHORTSTAFF, 2329 IDI_BARDSWORD, 2330 IDI_BARDDAGGER, 2331 IDI_RUNEBOMB, 2332 IDI_THEODORE, 2333 IDI_AURIC, 2334 IDI_NOTE1, 2335 IDI_NOTE2, 2336 IDI_NOTE3, 2337 IDI_FULLNOTE, 2338 IDI_BROWNSUIT, 2339 IDI_GREYSUIT, 2340 } _item_indexes; 2341 2342 typedef enum _setlevels { 2343 //SL_BUTCHCHAMB = 0x0, 2344 SL_SKELKING = 0x1, 2345 SL_BONECHAMB = 0x2, 2346 SL_MAZE = 0x3, 2347 SL_POISONWATER = 0x4, 2348 SL_VILEBETRAYER = 0x5, 2349 } _setlevels; 2350 2351 typedef enum quest_id { 2352 Q_ROCK = 0x00, 2353 Q_MUSHROOM = 0x01, 2354 Q_GARBUD = 0x02, 2355 Q_ZHAR = 0x03, 2356 Q_VEIL = 0x04, 2357 Q_DIABLO = 0x05, 2358 Q_BUTCHER = 0x06, 2359 Q_LTBANNER = 0x07, 2360 Q_BLIND = 0x08, 2361 Q_BLOOD = 0x09, 2362 Q_ANVIL = 0x0A, 2363 Q_WARLORD = 0x0B, 2364 Q_SKELKING = 0x0C, 2365 Q_PWATER = 0x0D, 2366 Q_SCHAMB = 0x0E, 2367 Q_BETRAYER = 0x0F, 2368 Q_GRAVE = 0x10, 2369 Q_FARMER = 0x11, 2370 Q_GIRL = 0x12, 2371 Q_TRADER = 0x13, 2372 Q_DEFILER = 0x14, 2373 Q_NAKRUL = 0x15, 2374 Q_CORNSTN = 0x16, 2375 Q_JERSEY = 0x17, 2376 Q_INVALID = -1, 2377 } quest_id; 2378 2379 typedef enum quest_state { 2380 QUEST_NOTAVAIL = 0, // quest did not spawn this game 2381 QUEST_INIT = 1, // quest has spawned, waiting to trigger 2382 QUEST_ACTIVE = 2, // quest is currently in progress 2383 QUEST_DONE = 3 // quest log closed and finished 2384 } quest_state; 2385 2386 typedef enum quest_gametype { 2387 QUEST_SINGLE = 0, 2388 QUEST_ANY = 1, 2389 QUEST_MULTI = 2, 2390 } quest_gametype; 2391 2392 typedef enum quest_mush_state { 2393 QS_INIT = 0, 2394 QS_TOMESPAWNED = 1, 2395 QS_TOMEGIVEN = 2, 2396 QS_MUSHSPAWNED = 3, 2397 QS_MUSHPICKED = 4, 2398 QS_MUSHGIVEN = 5, 2399 QS_BRAINSPAWNED = 6, 2400 QS_BRAINGIVEN = 7, 2401 } quest_mush_state; 2402 2403 typedef enum _unique_items { 2404 UITEM_CLEAVER = 0x0, 2405 UITEM_SKCROWN = 0x1, 2406 UITEM_INFRARING = 0x2, 2407 UITEM_OPTAMULET = 0x3, 2408 UITEM_TRING = 0x4, 2409 UITEM_HARCREST = 0x5, 2410 UITEM_STEELVEIL = 0x6, 2411 UITEM_ARMOFVAL = 0x7, 2412 UITEM_GRISWOLD = 0x8, 2413 UITEM_BOVINE = 0x9, 2414 UITEM_RIFTBOW = 0xA, 2415 UITEM_NEEDLER = 0xB, 2416 UITEM_CELESTBOW = 0xC, 2417 UITEM_DEADLYHUNT = 0xD, 2418 UITEM_BOWOFDEAD = 0xE, 2419 UITEM_BLKOAKBOW = 0xF, 2420 UITEM_FLAMEDART = 0x10, 2421 UITEM_FLESHSTING = 0x11, 2422 UITEM_WINDFORCE = 0x12, 2423 UITEM_EAGLEHORN = 0x13, 2424 UITEM_GONNAGALDIRK = 0x14, 2425 UITEM_DEFENDER = 0x15, 2426 UITEM_GRYPHONCLAW = 0x16, 2427 UITEM_BLACKRAZOR = 0x17, 2428 UITEM_GIBBOUSMOON = 0x18, 2429 UITEM_ICESHANK = 0x19, 2430 UITEM_EXECUTIONER = 0x1A, 2431 UITEM_BONESAW = 0x1B, 2432 UITEM_SHADHAWK = 0x1C, 2433 UITEM_WIZSPIKE = 0x1D, 2434 UITEM_LGTSABRE = 0x1E, 2435 UITEM_FALCONTALON = 0x1F, 2436 UITEM_INFERNO = 0x20, 2437 UITEM_DOOMBRINGER = 0x21, 2438 UITEM_GRIZZLY = 0x22, 2439 UITEM_GRANDFATHER = 0x23, 2440 UITEM_MANGLER = 0x24, 2441 UITEM_SHARPBEAK = 0x25, 2442 UITEM_BLOODLSLAYER = 0x26, 2443 UITEM_CELESTAXE = 0x27, 2444 UITEM_WICKEDAXE = 0x28, 2445 UITEM_STONECLEAV = 0x29, 2446 UITEM_AGUHATCHET = 0x2A, 2447 UITEM_HELLSLAYER = 0x2B, 2448 UITEM_MESSERREAVER = 0x2C, 2449 UITEM_CRACKRUST = 0x2D, 2450 UITEM_JHOLMHAMM = 0x2E, 2451 UITEM_CIVERBS = 0x2F, 2452 UITEM_CELESTSTAR = 0x30, 2453 UITEM_BARANSTAR = 0x31, 2454 UITEM_GNARLROOT = 0x32, 2455 UITEM_CRANBASH = 0x33, 2456 UITEM_SCHAEFHAMM = 0x34, 2457 UITEM_DREAMFLANGE = 0x35, 2458 UITEM_STAFFOFSHAD = 0x36, 2459 UITEM_IMMOLATOR = 0x37, 2460 UITEM_STORMSPIRE = 0x38, 2461 UITEM_GLEAMSONG = 0x39, 2462 UITEM_THUNDERCALL = 0x3A, 2463 UITEM_PROTECTOR = 0x3B, 2464 UITEM_NAJPUZZLE = 0x3C, 2465 UITEM_MINDCRY = 0x3D, 2466 UITEM_RODOFONAN = 0x3E, 2467 UITEM_SPIRITSHELM = 0x3F, 2468 UITEM_THINKINGCAP = 0x40, 2469 UITEM_OVERLORDHELM = 0x41, 2470 UITEM_FOOLSCREST = 0x42, 2471 UITEM_GOTTERDAM = 0x43, 2472 UITEM_ROYCIRCLET = 0x44, 2473 UITEM_TORNFLESH = 0x45, 2474 UITEM_GLADBANE = 0x46, 2475 UITEM_RAINCLOAK = 0x47, 2476 UITEM_LEATHAUT = 0x48, 2477 UITEM_WISDWRAP = 0x49, 2478 UITEM_SPARKMAIL = 0x4A, 2479 UITEM_SCAVCARAP = 0x4B, 2480 UITEM_NIGHTSCAPE = 0x4C, 2481 UITEM_NAJPLATE = 0x4D, 2482 UITEM_DEMONSPIKE = 0x4E, 2483 UITEM_DEFLECTOR = 0x4F, 2484 UITEM_SKULLSHLD = 0x50, 2485 UITEM_DRAGONBRCH = 0x51, 2486 UITEM_BLKOAKSHLD = 0x52, 2487 UITEM_HOLYDEF = 0x53, 2488 UITEM_STORMSHLD = 0x54, 2489 UITEM_BRAMBLE = 0x55, 2490 UITEM_REGHA = 0x56, 2491 UITEM_BLEEDER = 0x57, 2492 UITEM_CONSTRICT = 0x58, 2493 UITEM_ENGAGE = 0x59, 2494 UITEM_INVALID = 0x5A, 2495 } _unique_items; 2496 2497 typedef enum plr_class { 2498 PC_WARRIOR, 2499 PC_ROGUE, 2500 PC_SORCERER, 2501 PC_MONK, 2502 PC_BARD, 2503 PC_BARBARIAN, 2504 NUM_CLASSES 2505 } plr_class; 2506 2507 typedef enum _walk_path { 2508 WALK_NE = 0x1, 2509 WALK_NW = 0x2, 2510 WALK_SE = 0x3, 2511 WALK_SW = 0x4, 2512 WALK_N = 0x5, 2513 WALK_E = 0x6, 2514 WALK_S = 0x7, 2515 WALK_W = 0x8, 2516 WALK_NONE = -1, 2517 } _walk_path; 2518 2519 // Logical equipment locations 2520 typedef enum inv_body_loc { 2521 INVLOC_HEAD = 0, 2522 INVLOC_RING_LEFT = 1, 2523 INVLOC_RING_RIGHT = 2, 2524 INVLOC_AMULET = 3, 2525 INVLOC_HAND_LEFT = 4, 2526 INVLOC_HAND_RIGHT = 5, 2527 INVLOC_CHEST = 6, 2528 NUM_INVLOC, 2529 } inv_body_loc; 2530 2531 typedef enum inv_item { 2532 INVITEM_HEAD = 0, 2533 INVITEM_RING_LEFT = 1, 2534 INVITEM_RING_RIGHT = 2, 2535 INVITEM_AMULET = 3, 2536 INVITEM_HAND_LEFT = 4, 2537 INVITEM_HAND_RIGHT = 5, 2538 INVITEM_CHEST = 6, 2539 INVITEM_INV_FIRST = 7, 2540 INVITEM_INV_LAST = 46, 2541 INVITEM_BELT_FIRST = 47, 2542 INVITEM_BELT_LAST = 54, 2543 NUM_INVELEM 2544 } inv_item; 2545 2546 // identifiers for each of the inventory squares 2547 // see https://github.com/sanctuary/graphics/blob/master/inventory.png 2548 typedef enum inv_xy_slot { 2549 SLOTXY_HEAD_FIRST = 0, 2550 SLOTXY_HEAD_LAST = 3, 2551 SLOTXY_RING_LEFT = 4, 2552 SLOTXY_RING_RIGHT = 5, 2553 SLOTXY_AMULET = 6, 2554 SLOTXY_HAND_LEFT_FIRST = 7, 2555 SLOTXY_HAND_LEFT_LAST = 12, 2556 SLOTXY_HAND_RIGHT_FIRST = 13, 2557 SLOTXY_HAND_RIGHT_LAST = 18, 2558 SLOTXY_CHEST_FIRST = 19, 2559 SLOTXY_CHEST_LAST = 24, 2560 2561 // regular inventory 2562 SLOTXY_INV_FIRST = 25, 2563 SLOTXY_INV_LAST = 64, 2564 2565 // belt items 2566 SLOTXY_BELT_FIRST = 65, 2567 SLOTXY_BELT_LAST = 72, 2568 NUM_XY_SLOTS = 73 2569 } inv_xy_slot; 2570 2571 typedef enum player_graphic { 2572 PFILE_STAND = 1 << 0, 2573 PFILE_WALK = 1 << 1, 2574 PFILE_ATTACK = 1 << 2, 2575 PFILE_HIT = 1 << 3, 2576 PFILE_LIGHTNING = 1 << 4, 2577 PFILE_FIRE = 1 << 5, 2578 PFILE_MAGIC = 1 << 6, 2579 PFILE_DEATH = 1 << 7, 2580 PFILE_BLOCK = 1 << 8, 2581 // everything except PFILE_DEATH 2582 // 0b1_0111_1111 2583 PFILE_NONDEATH = 0x17F 2584 } player_graphic; 2585 2586 typedef enum anim_weapon_id { 2587 ANIM_ID_UNARMED = 0x00, 2588 ANIM_ID_UNARMED_SHIELD = 0x01, 2589 ANIM_ID_SWORD = 0x02, 2590 ANIM_ID_SWORD_SHIELD = 0x03, 2591 ANIM_ID_BOW = 0x04, 2592 ANIM_ID_AXE = 0x05, 2593 ANIM_ID_MACE = 0x06, 2594 ANIM_ID_MACE_SHIELD = 0x07, 2595 ANIM_ID_STAFF = 0x08 2596 } anim_weapon_id; 2597 2598 typedef enum anim_armor_id { 2599 ANIM_ID_LIGHT_ARMOR = 0x00, 2600 ANIM_ID_MEDIUM_ARMOR = 0x10, 2601 ANIM_ID_HEAVY_ARMOR = 0x20 2602 } anim_armor_id; 2603 2604 typedef enum shrine_gametype { 2605 SHRINETYPE_ANY = 0, 2606 SHRINETYPE_SINGLE = 1, 2607 SHRINETYPE_MULTI = 2, 2608 } shrine_gametype; 2609 2610 typedef enum shrine_type { 2611 SHRINE_MYSTERIOUS = 0, 2612 SHRINE_HIDDEN = 1, 2613 SHRINE_GLOOMY = 2, 2614 SHRINE_WEIRD = 3, 2615 SHRINE_MAGICAL = 4, 2616 SHRINE_STONE = 5, 2617 SHRINE_RELIGIOUS = 6, 2618 SHRINE_ENCHANTED = 7, 2619 SHRINE_THAUMATURGIC = 8, 2620 SHRINE_FASCINATING = 9, 2621 SHRINE_CRYPTIC = 10, 2622 SHRINE_MAGICAL2 = 11, 2623 SHRINE_ELDRITCH = 12, 2624 SHRINE_EERIE = 13, 2625 SHRINE_DIVINE = 14, 2626 SHRINE_HOLY = 15, 2627 SHRINE_SACRED = 16, 2628 SHRINE_SPIRITUAL = 17, 2629 SHRINE_SPOOKY = 18, 2630 SHRINE_ABANDONED = 19, 2631 SHRINE_CREEPY = 20, 2632 SHRINE_QUIET = 21, 2633 SHRINE_SECLUDED = 22, 2634 SHRINE_ORNATE = 23, 2635 SHRINE_GLIMMERING = 24, 2636 SHRINE_TAINTED = 25, 2637 SHRINE_OILY = 26, 2638 SHRINE_GLOWING = 27, 2639 SHRINE_MENDICANT = 28, 2640 SHRINE_SPARKLING = 29, 2641 SHRINE_TOWN = 30, 2642 SHRINE_SHIMMERING = 31, 2643 SHRINE_SOLAR = 32, 2644 SHRINE_MURPHYS = 33, 2645 NUM_SHRINETYPE 2646 } shrine_type; 2647 2648 typedef enum dlrg_flag { 2649 DLRG_HDOOR = 0x01, 2650 DLRG_VDOOR = 0x02, 2651 DLRG_CHAMBER = 0x40, 2652 DLRG_PROTECTED = 0x80, 2653 } dlrg_flag; 2654 2655 typedef enum conn_type { 2656 SELCONN_TCP, 2657 SELCONN_UDP, 2658 SELCONN_LOOPBACK, 2659 } conn_type; 2660 2661 DEVILUTION_END_NAMESPACE 2662