enum unique_base_item { UITYPE_NONE = 0x0, UITYPE_SHORTBOW = 0x1, UITYPE_LONGBOW = 0x2, UITYPE_HUNTBOW = 0x3, UITYPE_COMPBOW = 0x4, UITYPE_WARBOW = 0x5, UITYPE_BATTLEBOW = 0x6, UITYPE_DAGGER = 0x7, UITYPE_FALCHION = 0x8, UITYPE_CLAYMORE = 0x9, UITYPE_BROADSWR = 0xA, UITYPE_SABRE = 0xB, UITYPE_SCIMITAR = 0xC, UITYPE_LONGSWR = 0xD, UITYPE_BASTARDSWR = 0xE, UITYPE_TWOHANDSWR = 0xF, UITYPE_GREATSWR = 0x10, UITYPE_CLEAVER = 0x11, UITYPE_LARGEAXE = 0x12, UITYPE_BROADAXE = 0x13, UITYPE_SMALLAXE = 0x14, UITYPE_BATTLEAXE = 0x15, UITYPE_GREATAXE = 0x16, UITYPE_MACE = 0x17, UITYPE_MORNSTAR = 0x18, UITYPE_SPIKCLUB = 0x19, UITYPE_MAUL = 0x1A, UITYPE_WARHAMMER = 0x1B, UITYPE_FLAIL = 0x1C, UITYPE_LONGSTAFF = 0x1D, UITYPE_SHORTSTAFF = 0x1E, UITYPE_COMPSTAFF = 0x1F, UITYPE_QUARSTAFF = 0x20, UITYPE_WARSTAFF = 0x21, UITYPE_SKULLCAP = 0x22, UITYPE_HELM = 0x23, UITYPE_GREATHELM = 0x24, UITYPE_CROWN = 0x25, UITYPE_38 = 0x26, UITYPE_RAGS = 0x27, UITYPE_STUDARMOR = 0x28, UITYPE_CLOAK = 0x29, UITYPE_ROBE = 0x2A, UITYPE_CHAINMAIL = 0x2B, UITYPE_LEATHARMOR = 0x2C, UITYPE_BREASTPLATE = 0x2D, UITYPE_CAPE = 0x2E, UITYPE_PLATEMAIL = 0x2F, UITYPE_FULLPLATE = 0x30, UITYPE_BUCKLER = 0x31, UITYPE_SMALLSHIELD = 0x32, UITYPE_LARGESHIELD = 0x33, UITYPE_KITESHIELD = 0x34, UITYPE_GOTHSHIELD = 0x35, UITYPE_RING = 0x36, UITYPE_55 = 0x37, UITYPE_AMULET = 0x38, UITYPE_SKCROWN = 0x39, UITYPE_INFRARING = 0x3A, UITYPE_OPTAMULET = 0x3B, UITYPE_TRING = 0x3C, UITYPE_HARCREST = 0x3D, UITYPE_MAPOFDOOM = 0x3E, UITYPE_ELIXIR = 0x3F, UITYPE_ARMOFVAL = 0x40, UITYPE_STEELVEIL = 0x41, UITYPE_GRISWOLD = 0x42, UITYPE_LGTFORGE = 0x43, UITYPE_LAZSTAFF = 0x44, UITYPE_INVALID = 0xFF, }; enum item_effect_type { IPL_TOHIT = 0x0, IPL_TOHIT_CURSE = 0x1, IPL_DAMP = 0x2, IPL_DAMP_CURSE = 0x3, IPL_TOHIT_DAMP = 0x4, IPL_TOHIT_DAMP_CURSE = 0x5, IPL_ACP = 0x6, IPL_ACP_CURSE = 0x7, IPL_FIRERES = 0x8, IPL_LIGHTRES = 0x9, IPL_MAGICRES = 0xA, IPL_ALLRES = 0xB, IPL_SPLLVLADD = 0xE, IPL_CHARGES = 0xF, IPL_FIREDAM = 0x10, IPL_LIGHTDAM = 0x11, IPL_STR = 0x13, IPL_STR_CURSE = 0x14, IPL_MAG = 0x15, IPL_MAG_CURSE = 0x16, IPL_DEX = 0x17, IPL_DEX_CURSE = 0x18, IPL_VIT = 0x19, IPL_VIT_CURSE = 0x1A, IPL_ATTRIBS = 0x1B, IPL_ATTRIBS_CURSE = 0x1C, IPL_GETHIT = 0x1D, IPL_GETHIT_CURSE = 0x1E, IPL_LIFE = 0x1F, IPL_LIFE_CURSE = 0x20, IPL_MANA = 0x21, IPL_MANA_CURSE = 0x22, IPL_DUR = 0x23, IPL_DUR_CURSE = 0x24, IPL_INDESTRUCTIBLE = 0x25, IPL_LIGHT = 0x26, IPL_LIGHT_CURSE = 0x27, IPL_MULT_ARROWS = 0x29, /* only used in hellfire */ IPL_FIRE_ARROWS = 0x2A, IPL_LIGHT_ARROWS = 0x2B, IPL_INVCURS = 0x2C, IPL_THORNS = 0x2D, IPL_NOMANA = 0x2E, IPL_NOHEALPLR = 0x2F, IPL_ABSHALFTRAP = 0x34, IPL_KNOCKBACK = 0x35, IPL_NOHEALMON = 0x36, IPL_STEALMANA = 0x37, IPL_STEALLIFE = 0x38, IPL_TARGAC = 0x39, IPL_FASTATTACK = 0x3A, IPL_FASTRECOVER = 0x3B, IPL_FASTBLOCK = 0x3C, IPL_DAMMOD = 0x3D, IPL_RNDARROWVEL = 0x3E, IPL_SETDAM = 0x3F, IPL_SETDUR = 0x40, IPL_NOMINSTR = 0x41, IPL_SPELL = 0x42, IPL_FASTSWING = 0x43, IPL_ONEHAND = 0x44, IPL_3XDAMVDEM = 0x45, IPL_ALLRESZERO = 0x46, IPL_DRAINLIFE = 0x48, IPL_RNDSTEALLIFE = 0x49, IPL_INFRAVISION = 0x4A, IPL_SETAC = 0x4B, IPL_ADDACLIFE = 0x4C, IPL_ADDMANAAC = 0x4D, IPL_FIRERESCLVL = 0x4E, IPL_AC_CURSE = 0x4F, IPL_INVALID = 0xFF, }; enum affix_item_type { PLT_MISC = 0x1, PLT_BOW = 0x10, PLT_STAFF = 0x100, PLT_WEAP = 0x1000, PLT_SHLD = 0x10000, PLT_ARMO = 0x100000, }; enum _sfx_id { PS_WALK1 = 0x0, PS_WALK2 = 0x1, PS_WALK3 = 0x2, PS_WALK4 = 0x3, PS_BFIRE = 0x4, PS_FMAG = 0x5, PS_TMAG = 0x6, PS_LGHIT = 0x7, PS_LGHIT1 = 0x8, PS_SWING = 0x9, PS_SWING2 = 0xA, PS_DEAD = 0xB, IS_QUESTDN = 0xC, IS_ARMRFKD = 0xD, IS_BARLFIRE = 0xE, IS_BARREL = 0xF, IS_BHIT = 0x10, IS_BHIT1 = 0x11, IS_CHEST = 0x12, IS_DOORCLOS = 0x13, IS_DOOROPEN = 0x14, IS_FANVL = 0x15, IS_FAXE = 0x16, IS_FBLST = 0x17, IS_FBODY = 0x18, IS_FBOOK = 0x19, IS_FBOW = 0x1A, IS_FCAP = 0x1B, IS_FHARM = 0x1C, IS_FLARM = 0x1D, IS_FMAG = 0x1E, IS_FMAG1 = 0x1F, IS_FMUSH = 0x20, IS_FPOT = 0x21, IS_FRING = 0x22, IS_FROCK = 0x23, IS_FSCRL = 0x24, IS_FSHLD = 0x25, IS_FSIGN = 0x26, IS_FSTAF = 0x27, IS_FSWOR = 0x28, IS_GOLD = 0x29, IS_HLMTFKD = 0x2A, IS_IANVL = 0x2B, IS_IAXE = 0x2C, IS_IBLST = 0x2D, IS_IBODY = 0x2E, IS_IBOOK = 0x2F, IS_IBOW = 0x30, IS_ICAP = 0x31, IS_IGRAB = 0x32, IS_IHARM = 0x33, IS_ILARM = 0x34, IS_IMUSH = 0x35, IS_IPOT = 0x36, IS_IRING = 0x37, IS_IROCK = 0x38, IS_ISCROL = 0x39, IS_ISHIEL = 0x3A, IS_ISIGN = 0x3B, IS_ISTAF = 0x3C, IS_ISWORD = 0x3D, IS_LEVER = 0x3E, IS_MAGIC = 0x3F, IS_MAGIC1 = 0x40, IS_RBOOK = 0x41, IS_SARC = 0x42, IS_SHLDFKD = 0x43, IS_SWRDFKD = 0x44, IS_TITLEMOV = 0x45, IS_TITLSLCT = 0x46, SFX_SILENCE = 0x47, IS_TRAP = 0x48, IS_CAST1 = 0x49, IS_CAST10 = 0x4A, IS_CAST12 = 0x4B, IS_CAST2 = 0x4C, IS_CAST3 = 0x4D, IS_CAST4 = 0x4E, IS_CAST5 = 0x4F, IS_CAST6 = 0x50, IS_CAST7 = 0x51, IS_CAST8 = 0x52, IS_CAST9 = 0x53, LS_HEALING = 0x54, IS_REPAIR = 0x55, LS_ACID = 0x56, LS_ACIDS = 0x57, LS_APOC = 0x58, LS_ARROWALL = 0x59, LS_BLODBOIL = 0x5A, LS_BLODSTAR = 0x5B, LS_BLSIMPT = 0x5C, LS_BONESP = 0x5D, LS_BSIMPCT = 0x5E, LS_CALDRON = 0x5F, LS_CBOLT = 0x60, LS_CHLTNING = 0x61, LS_DSERP = 0x62, LS_ELECIMP1 = 0x63, LS_ELEMENTL = 0x64, LS_ETHEREAL = 0x65, LS_FBALL = 0x66, LS_FBOLT1 = 0x67, LS_FBOLT2 = 0x68, LS_FIRIMP1 = 0x69, LS_FIRIMP2 = 0x6A, LS_FLAMWAVE = 0x6B, LS_FLASH = 0x6C, LS_FOUNTAIN = 0x6D, LS_GOLUM = 0x6E, LS_GOLUMDED = 0x6F, LS_GSHRINE = 0x70, LS_GUARD = 0x71, LS_GUARDLAN = 0x72, LS_HOLYBOLT = 0x73, LS_HYPER = 0x74, LS_INFRAVIS = 0x75, LS_INVISIBL = 0x76, LS_INVPOT = 0x77, LS_LNING1 = 0x78, LS_LTNING = 0x79, LS_MSHIELD = 0x7A, LS_NOVA = 0x7B, LS_PORTAL = 0x7C, LS_PUDDLE = 0x7D, LS_RESUR = 0x7E, LS_SCURSE = 0x7F, LS_SCURIMP = 0x80, LS_SENTINEL = 0x81, LS_SHATTER = 0x82, LS_SOULFIRE = 0x83, LS_SPOUTLOP = 0x84, LS_SPOUTSTR = 0x85, LS_STORM = 0x86, LS_TRAPDIS = 0x87, LS_TELEPORT = 0x88, LS_VTHEFT = 0x89, LS_WALLLOOP = 0x8A, LS_WALLSTRT = 0x8B, TSFX_BMAID1 = 0x8C, TSFX_BMAID2 = 0x8D, TSFX_BMAID3 = 0x8E, TSFX_BMAID4 = 0x8F, TSFX_BMAID5 = 0x90, TSFX_BMAID6 = 0x91, TSFX_BMAID7 = 0x92, TSFX_BMAID8 = 0x93, TSFX_BMAID9 = 0x94, TSFX_BMAID10 = 0x95, TSFX_BMAID11 = 0x96, TSFX_BMAID12 = 0x97, TSFX_BMAID13 = 0x98, TSFX_BMAID14 = 0x99, TSFX_BMAID15 = 0x9A, TSFX_BMAID16 = 0x9B, TSFX_BMAID17 = 0x9C, TSFX_BMAID18 = 0x9D, TSFX_BMAID19 = 0x9E, TSFX_BMAID20 = 0x9F, TSFX_BMAID21 = 0xA0, TSFX_BMAID22 = 0xA1, TSFX_BMAID23 = 0xA2, TSFX_BMAID24 = 0xA3, TSFX_BMAID25 = 0xA4, TSFX_BMAID26 = 0xA5, TSFX_BMAID27 = 0xA6, TSFX_BMAID28 = 0xA7, TSFX_BMAID29 = 0xA8, TSFX_BMAID30 = 0xA9, TSFX_BMAID31 = 0xAA, TSFX_BMAID32 = 0xAB, TSFX_BMAID33 = 0xAC, TSFX_BMAID34 = 0xAD, TSFX_BMAID35 = 0xAE, TSFX_BMAID36 = 0xAF, TSFX_BMAID37 = 0xB0, TSFX_BMAID38 = 0xB1, TSFX_BMAID39 = 0xB2, TSFX_BMAID40 = 0xB3, TSFX_SMITH1 = 0xB4, TSFX_SMITH2 = 0xB5, TSFX_SMITH3 = 0xB6, TSFX_SMITH4 = 0xB7, TSFX_SMITH5 = 0xB8, TSFX_SMITH6 = 0xB9, TSFX_SMITH7 = 0xBA, TSFX_SMITH8 = 0xBB, TSFX_SMITH9 = 0xBC, TSFX_SMITH10 = 0xBD, TSFX_SMITH11 = 0xBE, TSFX_SMITH12 = 0xBF, TSFX_SMITH13 = 0xC0, TSFX_SMITH14 = 0xC1, TSFX_SMITH15 = 0xC2, TSFX_SMITH16 = 0xC3, TSFX_SMITH17 = 0xC4, TSFX_SMITH18 = 0xC5, TSFX_SMITH19 = 0xC6, TSFX_SMITH20 = 0xC7, TSFX_SMITH21 = 0xC8, TSFX_SMITH22 = 0xC9, TSFX_SMITH23 = 0xCA, TSFX_SMITH24 = 0xCB, TSFX_SMITH25 = 0xCC, TSFX_SMITH26 = 0xCD, TSFX_SMITH27 = 0xCE, TSFX_SMITH28 = 0xCF, TSFX_SMITH29 = 0xD0, TSFX_SMITH30 = 0xD1, TSFX_SMITH31 = 0xD2, TSFX_SMITH32 = 0xD3, TSFX_SMITH33 = 0xD4, TSFX_SMITH34 = 0xD5, TSFX_SMITH35 = 0xD6, TSFX_SMITH36 = 0xD7, TSFX_SMITH37 = 0xD8, TSFX_SMITH38 = 0xD9, TSFX_SMITH39 = 0xDA, TSFX_SMITH40 = 0xDB, TSFX_SMITH41 = 0xDC, TSFX_SMITH42 = 0xDD, TSFX_SMITH43 = 0xDE, TSFX_SMITH44 = 0xDF, TSFX_SMITH45 = 0xE0, TSFX_SMITH46 = 0xE1, TSFX_SMITH47 = 0xE2, TSFX_SMITH48 = 0xE3, TSFX_SMITH49 = 0xE4, TSFX_SMITH50 = 0xE5, TSFX_SMITH51 = 0xE6, TSFX_SMITH52 = 0xE7, TSFX_SMITH53 = 0xE8, TSFX_SMITH54 = 0xE9, TSFX_SMITH55 = 0xEA, TSFX_SMITH56 = 0xEB, TSFX_COW1 = 0xEC, TSFX_COW2 = 0xED, TSFX_DEADGUY = 0xEE, TSFX_DRUNK1 = 0xEF, TSFX_DRUNK2 = 0xF0, TSFX_DRUNK3 = 0xF1, TSFX_DRUNK4 = 0xF2, TSFX_DRUNK5 = 0xF3, TSFX_DRUNK6 = 0xF4, TSFX_DRUNK7 = 0xF5, TSFX_DRUNK8 = 0xF6, TSFX_DRUNK9 = 0xF7, TSFX_DRUNK10 = 0xF8, TSFX_DRUNK11 = 0xF9, TSFX_DRUNK12 = 0xFA, TSFX_DRUNK13 = 0xFB, TSFX_DRUNK14 = 0xFC, TSFX_DRUNK15 = 0xFD, TSFX_DRUNK16 = 0xFE, TSFX_DRUNK17 = 0xFF, TSFX_DRUNK18 = 0x100, TSFX_DRUNK19 = 0x101, TSFX_DRUNK20 = 0x102, TSFX_DRUNK21 = 0x103, TSFX_DRUNK22 = 0x104, TSFX_DRUNK23 = 0x105, TSFX_DRUNK24 = 0x106, TSFX_DRUNK25 = 0x107, TSFX_DRUNK26 = 0x108, TSFX_DRUNK27 = 0x109, TSFX_DRUNK28 = 0x10A, TSFX_DRUNK29 = 0x10B, TSFX_DRUNK30 = 0x10C, TSFX_DRUNK31 = 0x10D, TSFX_DRUNK32 = 0x10E, TSFX_DRUNK33 = 0x10F, TSFX_DRUNK34 = 0x110, TSFX_DRUNK35 = 0x111, TSFX_HEALER1 = 0x112, TSFX_HEALER2 = 0x113, TSFX_HEALER3 = 0x114, TSFX_HEALER4 = 0x115, TSFX_HEALER5 = 0x116, TSFX_HEALER6 = 0x117, TSFX_HEALER7 = 0x118, TSFX_HEALER8 = 0x119, TSFX_HEALER9 = 0x11A, TSFX_HEALER10 = 0x11B, TSFX_HEALER11 = 0x11C, TSFX_HEALER12 = 0x11D, TSFX_HEALER13 = 0x11E, TSFX_HEALER14 = 0x11F, TSFX_HEALER15 = 0x120, TSFX_HEALER16 = 0x121, TSFX_HEALER17 = 0x122, TSFX_HEALER18 = 0x123, TSFX_HEALER19 = 0x124, TSFX_HEALER20 = 0x125, TSFX_HEALER21 = 0x126, TSFX_HEALER22 = 0x127, TSFX_HEALER23 = 0x128, TSFX_HEALER24 = 0x129, TSFX_HEALER25 = 0x12A, TSFX_HEALER26 = 0x12B, TSFX_HEALER27 = 0x12C, TSFX_HEALER28 = 0x12D, TSFX_HEALER29 = 0x12E, TSFX_HEALER30 = 0x12F, TSFX_HEALER31 = 0x130, TSFX_HEALER32 = 0x131, TSFX_HEALER33 = 0x132, TSFX_HEALER34 = 0x133, TSFX_HEALER35 = 0x134, TSFX_HEALER36 = 0x135, TSFX_HEALER37 = 0x136, TSFX_HEALER38 = 0x137, TSFX_HEALER39 = 0x138, TSFX_HEALER40 = 0x139, TSFX_HEALER41 = 0x13A, TSFX_HEALER42 = 0x13B, TSFX_HEALER43 = 0x13C, TSFX_HEALER44 = 0x13D, TSFX_HEALER45 = 0x13E, TSFX_HEALER46 = 0x13F, TSFX_HEALER47 = 0x140, TSFX_PEGBOY1 = 0x141, TSFX_PEGBOY2 = 0x142, TSFX_PEGBOY3 = 0x143, TSFX_PEGBOY4 = 0x144, TSFX_PEGBOY5 = 0x145, TSFX_PEGBOY6 = 0x146, TSFX_PEGBOY7 = 0x147, TSFX_PEGBOY8 = 0x148, TSFX_PEGBOY9 = 0x149, TSFX_PEGBOY10 = 0x14A, TSFX_PEGBOY11 = 0x14B, TSFX_PEGBOY12 = 0x14C, TSFX_PEGBOY13 = 0x14D, TSFX_PEGBOY14 = 0x14E, TSFX_PEGBOY15 = 0x14F, TSFX_PEGBOY16 = 0x150, TSFX_PEGBOY17 = 0x151, TSFX_PEGBOY18 = 0x152, TSFX_PEGBOY19 = 0x153, TSFX_PEGBOY20 = 0x154, TSFX_PEGBOY21 = 0x155, TSFX_PEGBOY22 = 0x156, TSFX_PEGBOY23 = 0x157, TSFX_PEGBOY24 = 0x158, TSFX_PEGBOY25 = 0x159, TSFX_PEGBOY26 = 0x15A, TSFX_PEGBOY27 = 0x15B, TSFX_PEGBOY28 = 0x15C, TSFX_PEGBOY29 = 0x15D, TSFX_PEGBOY30 = 0x15E, TSFX_PEGBOY31 = 0x15F, TSFX_PEGBOY32 = 0x160, TSFX_PEGBOY33 = 0x161, TSFX_PEGBOY34 = 0x162, TSFX_PEGBOY35 = 0x163, TSFX_PEGBOY36 = 0x164, TSFX_PEGBOY37 = 0x165, TSFX_PEGBOY38 = 0x166, TSFX_PEGBOY39 = 0x167, TSFX_PEGBOY40 = 0x168, TSFX_PEGBOY41 = 0x169, TSFX_PEGBOY42 = 0x16A, TSFX_PEGBOY43 = 0x16B, TSFX_PRIEST0 = 0x16C, TSFX_PRIEST1 = 0x16D, TSFX_PRIEST2 = 0x16E, TSFX_PRIEST3 = 0x16F, TSFX_PRIEST4 = 0x170, TSFX_PRIEST5 = 0x171, TSFX_PRIEST6 = 0x172, TSFX_PRIEST7 = 0x173, TSFX_STORY0 = 0x174, TSFX_STORY1 = 0x175, TSFX_STORY2 = 0x176, TSFX_STORY3 = 0x177, TSFX_STORY4 = 0x178, TSFX_STORY5 = 0x179, TSFX_STORY6 = 0x17A, TSFX_STORY7 = 0x17B, TSFX_STORY8 = 0x17C, TSFX_STORY9 = 0x17D, TSFX_STORY10 = 0x17E, TSFX_STORY11 = 0x17F, TSFX_STORY12 = 0x180, TSFX_STORY13 = 0x181, TSFX_STORY14 = 0x182, TSFX_STORY15 = 0x183, TSFX_STORY16 = 0x184, TSFX_STORY17 = 0x185, TSFX_STORY18 = 0x186, TSFX_STORY19 = 0x187, TSFX_STORY20 = 0x188, TSFX_STORY21 = 0x189, TSFX_STORY22 = 0x18A, TSFX_STORY23 = 0x18B, TSFX_STORY24 = 0x18C, TSFX_STORY25 = 0x18D, TSFX_STORY26 = 0x18E, TSFX_STORY27 = 0x18F, TSFX_STORY28 = 0x190, TSFX_STORY29 = 0x191, TSFX_STORY30 = 0x192, TSFX_STORY31 = 0x193, TSFX_STORY32 = 0x194, TSFX_STORY33 = 0x195, TSFX_STORY34 = 0x196, TSFX_STORY35 = 0x197, TSFX_STORY36 = 0x198, TSFX_STORY37 = 0x199, TSFX_STORY38 = 0x19A, TSFX_TAVERN0 = 0x19B, TSFX_TAVERN1 = 0x19C, TSFX_TAVERN2 = 0x19D, TSFX_TAVERN3 = 0x19E, TSFX_TAVERN4 = 0x19F, TSFX_TAVERN5 = 0x1A0, TSFX_TAVERN6 = 0x1A1, TSFX_TAVERN7 = 0x1A2, TSFX_TAVERN8 = 0x1A3, TSFX_TAVERN9 = 0x1A4, TSFX_TAVERN10 = 0x1A5, TSFX_TAVERN11 = 0x1A6, TSFX_TAVERN12 = 0x1A7, TSFX_TAVERN13 = 0x1A8, TSFX_TAVERN14 = 0x1A9, TSFX_TAVERN15 = 0x1AA, TSFX_TAVERN16 = 0x1AB, TSFX_TAVERN17 = 0x1AC, TSFX_TAVERN18 = 0x1AD, TSFX_TAVERN19 = 0x1AE, TSFX_TAVERN20 = 0x1AF, TSFX_TAVERN21 = 0x1B0, TSFX_TAVERN22 = 0x1B1, TSFX_TAVERN23 = 0x1B2, TSFX_TAVERN24 = 0x1B3, TSFX_TAVERN25 = 0x1B4, TSFX_TAVERN26 = 0x1B5, TSFX_TAVERN27 = 0x1B6, TSFX_TAVERN28 = 0x1B7, TSFX_TAVERN29 = 0x1B8, TSFX_TAVERN30 = 0x1B9, TSFX_TAVERN31 = 0x1BA, TSFX_TAVERN32 = 0x1BB, TSFX_TAVERN33 = 0x1BC, TSFX_TAVERN34 = 0x1BD, TSFX_TAVERN35 = 0x1BE, TSFX_TAVERN36 = 0x1BF, TSFX_TAVERN37 = 0x1C0, TSFX_TAVERN38 = 0x1C1, TSFX_TAVERN39 = 0x1C2, TSFX_TAVERN40 = 0x1C3, TSFX_TAVERN41 = 0x1C4, TSFX_TAVERN42 = 0x1C5, TSFX_TAVERN43 = 0x1C6, TSFX_TAVERN44 = 0x1C7, TSFX_TAVERN45 = 0x1C8, TSFX_WITCH1 = 0x1C9, TSFX_WITCH2 = 0x1CA, TSFX_WITCH3 = 0x1CB, TSFX_WITCH4 = 0x1CC, TSFX_WITCH5 = 0x1CD, TSFX_WITCH6 = 0x1CE, TSFX_WITCH7 = 0x1CF, TSFX_WITCH8 = 0x1D0, TSFX_WITCH9 = 0x1D1, TSFX_WITCH10 = 0x1D2, TSFX_WITCH11 = 0x1D3, TSFX_WITCH12 = 0x1D4, TSFX_WITCH13 = 0x1D5, TSFX_WITCH14 = 0x1D6, TSFX_WITCH15 = 0x1D7, TSFX_WITCH16 = 0x1D8, TSFX_WITCH17 = 0x1D9, TSFX_WITCH18 = 0x1DA, TSFX_WITCH19 = 0x1DB, TSFX_WITCH20 = 0x1DC, TSFX_WITCH21 = 0x1DD, TSFX_WITCH22 = 0x1DE, TSFX_WITCH23 = 0x1DF, TSFX_WITCH24 = 0x1E0, TSFX_WITCH25 = 0x1E1, TSFX_WITCH26 = 0x1E2, TSFX_WITCH27 = 0x1E3, TSFX_WITCH28 = 0x1E4, TSFX_WITCH29 = 0x1E5, TSFX_WITCH30 = 0x1E6, TSFX_WITCH31 = 0x1E7, TSFX_WITCH32 = 0x1E8, TSFX_WITCH33 = 0x1E9, TSFX_WITCH34 = 0x1EA, TSFX_WITCH35 = 0x1EB, TSFX_WITCH36 = 0x1EC, TSFX_WITCH37 = 0x1ED, TSFX_WITCH38 = 0x1EE, TSFX_WITCH39 = 0x1EF, TSFX_WITCH40 = 0x1F0, TSFX_WITCH41 = 0x1F1, TSFX_WITCH42 = 0x1F2, TSFX_WITCH43 = 0x1F3, TSFX_WITCH44 = 0x1F4, TSFX_WITCH45 = 0x1F5, TSFX_WITCH46 = 0x1F6, TSFX_WITCH47 = 0x1F7, TSFX_WITCH48 = 0x1F8, TSFX_WITCH49 = 0x1F9, TSFX_WITCH50 = 0x1FA, TSFX_WOUND = 0x1FB, PS_MAGE1 = 0x1FC, PS_MAGE2 = 0x1FD, PS_MAGE3 = 0x1FE, PS_MAGE4 = 0x1FF, PS_MAGE5 = 0x200, PS_MAGE6 = 0x201, PS_MAGE7 = 0x202, PS_MAGE8 = 0x203, PS_MAGE9 = 0x204, PS_MAGE10 = 0x205, PS_MAGE11 = 0x206, PS_MAGE12 = 0x207, PS_MAGE13 = 0x208, PS_MAGE14 = 0x209, PS_MAGE15 = 0x20A, PS_MAGE16 = 0x20B, PS_MAGE17 = 0x20C, PS_MAGE18 = 0x20D, PS_MAGE19 = 0x20E, PS_MAGE20 = 0x20F, PS_MAGE21 = 0x210, PS_MAGE22 = 0x211, PS_MAGE23 = 0x212, PS_MAGE24 = 0x213, PS_MAGE25 = 0x214, PS_MAGE26 = 0x215, PS_MAGE27 = 0x216, PS_MAGE28 = 0x217, PS_MAGE29 = 0x218, PS_MAGE30 = 0x219, PS_MAGE31 = 0x21A, PS_MAGE32 = 0x21B, PS_MAGE33 = 0x21C, PS_MAGE34 = 0x21D, PS_MAGE35 = 0x21E, PS_MAGE36 = 0x21F, PS_MAGE37 = 0x220, PS_MAGE38 = 0x221, PS_MAGE39 = 0x222, PS_MAGE40 = 0x223, PS_MAGE41 = 0x224, PS_MAGE42 = 0x225, PS_MAGE43 = 0x226, PS_MAGE44 = 0x227, PS_MAGE45 = 0x228, PS_MAGE46 = 0x229, PS_MAGE47 = 0x22A, PS_MAGE48 = 0x22B, PS_MAGE49 = 0x22C, PS_MAGE50 = 0x22D, PS_MAGE51 = 0x22E, PS_MAGE52 = 0x22F, PS_MAGE53 = 0x230, PS_MAGE54 = 0x231, PS_MAGE55 = 0x232, PS_MAGE56 = 0x233, PS_MAGE57 = 0x234, PS_MAGE58 = 0x235, PS_MAGE59 = 0x236, PS_MAGE60 = 0x237, PS_MAGE61 = 0x238, PS_MAGE62 = 0x239, PS_MAGE63 = 0x23A, PS_MAGE64 = 0x23B, PS_MAGE65 = 0x23C, PS_MAGE66 = 0x23D, PS_MAGE67 = 0x23E, PS_MAGE68 = 0x23F, PS_MAGE69 = 0x240, PS_MAGE69B = 0x241, PS_MAGE70 = 0x242, PS_MAGE71 = 0x243, PS_MAGE72 = 0x244, PS_MAGE73 = 0x245, PS_MAGE74 = 0x246, PS_MAGE75 = 0x247, PS_MAGE76 = 0x248, PS_MAGE77 = 0x249, PS_MAGE78 = 0x24A, PS_MAGE79 = 0x24B, PS_MAGE80 = 0x24C, PS_MAGE81 = 0x24D, PS_MAGE82 = 0x24E, PS_MAGE83 = 0x24F, PS_MAGE84 = 0x250, PS_MAGE85 = 0x251, PS_MAGE86 = 0x252, PS_MAGE87 = 0x253, PS_MAGE88 = 0x254, PS_MAGE89 = 0x255, PS_MAGE90 = 0x256, PS_MAGE91 = 0x257, PS_MAGE92 = 0x258, PS_MAGE93 = 0x259, PS_MAGE94 = 0x25A, PS_MAGE95 = 0x25B, PS_MAGE96 = 0x25C, PS_MAGE97 = 0x25D, PS_MAGE98 = 0x25E, PS_MAGE99 = 0x25F, PS_MAGE100 = 0x260, PS_MAGE101 = 0x261, PS_MAGE102 = 0x262, PS_ROGUE1 = 0x263, PS_ROGUE2 = 0x264, PS_ROGUE3 = 0x265, PS_ROGUE4 = 0x266, PS_ROGUE5 = 0x267, PS_ROGUE6 = 0x268, PS_ROGUE7 = 0x269, PS_ROGUE8 = 0x26A, PS_ROGUE9 = 0x26B, PS_ROGUE10 = 0x26C, PS_ROGUE11 = 0x26D, PS_ROGUE12 = 0x26E, PS_ROGUE13 = 0x26F, PS_ROGUE14 = 0x270, PS_ROGUE15 = 0x271, PS_ROGUE16 = 0x272, PS_ROGUE17 = 0x273, PS_ROGUE18 = 0x274, PS_ROGUE19 = 0x275, PS_ROGUE20 = 0x276, PS_ROGUE21 = 0x277, PS_ROGUE22 = 0x278, PS_ROGUE23 = 0x279, PS_ROGUE24 = 0x27A, PS_ROGUE25 = 0x27B, PS_ROGUE26 = 0x27C, PS_ROGUE27 = 0x27D, PS_ROGUE28 = 0x27E, PS_ROGUE29 = 0x27F, PS_ROGUE30 = 0x280, PS_ROGUE31 = 0x281, PS_ROGUE32 = 0x282, PS_ROGUE33 = 0x283, PS_ROGUE34 = 0x284, PS_ROGUE35 = 0x285, PS_ROGUE36 = 0x286, PS_ROGUE37 = 0x287, PS_ROGUE38 = 0x288, PS_ROGUE39 = 0x289, PS_ROGUE40 = 0x28A, PS_ROGUE41 = 0x28B, PS_ROGUE42 = 0x28C, PS_ROGUE43 = 0x28D, PS_ROGUE44 = 0x28E, PS_ROGUE45 = 0x28F, PS_ROGUE46 = 0x290, PS_ROGUE47 = 0x291, PS_ROGUE48 = 0x292, PS_ROGUE49 = 0x293, PS_ROGUE50 = 0x294, PS_ROGUE51 = 0x295, PS_ROGUE52 = 0x296, PS_ROGUE53 = 0x297, PS_ROGUE54 = 0x298, PS_ROGUE55 = 0x299, PS_ROGUE56 = 0x29A, PS_ROGUE57 = 0x29B, PS_ROGUE58 = 0x29C, PS_ROGUE59 = 0x29D, PS_ROGUE60 = 0x29E, PS_ROGUE61 = 0x29F, PS_ROGUE62 = 0x2A0, PS_ROGUE63 = 0x2A1, PS_ROGUE64 = 0x2A2, PS_ROGUE65 = 0x2A3, PS_ROGUE66 = 0x2A4, PS_ROGUE67 = 0x2A5, PS_ROGUE68 = 0x2A6, PS_ROGUE69 = 0x2A7, PS_ROGUE69B = 0x2A8, PS_ROGUE70 = 0x2A9, PS_ROGUE71 = 0x2AA, PS_ROGUE72 = 0x2AB, PS_ROGUE73 = 0x2AC, PS_ROGUE74 = 0x2AD, PS_ROGUE75 = 0x2AE, PS_ROGUE76 = 0x2AF, PS_ROGUE77 = 0x2B0, PS_ROGUE78 = 0x2B1, PS_ROGUE79 = 0x2B2, PS_ROGUE80 = 0x2B3, PS_ROGUE81 = 0x2B4, PS_ROGUE82 = 0x2B5, PS_ROGUE83 = 0x2B6, PS_ROGUE84 = 0x2B7, PS_ROGUE85 = 0x2B8, PS_ROGUE86 = 0x2B9, PS_ROGUE87 = 0x2BA, PS_ROGUE88 = 0x2BB, PS_ROGUE89 = 0x2BC, PS_ROGUE90 = 0x2BD, PS_ROGUE91 = 0x2BE, PS_ROGUE92 = 0x2BF, PS_ROGUE93 = 0x2C0, PS_ROGUE94 = 0x2C1, PS_ROGUE95 = 0x2C2, PS_ROGUE96 = 0x2C3, PS_ROGUE97 = 0x2C4, PS_ROGUE98 = 0x2C5, PS_ROGUE99 = 0x2C6, PS_ROGUE100 = 0x2C7, PS_ROGUE101 = 0x2C8, PS_ROGUE102 = 0x2C9, PS_WARR1 = 0x2CA, PS_WARR2 = 0x2CB, PS_WARR3 = 0x2CC, PS_WARR4 = 0x2CD, PS_WARR5 = 0x2CE, PS_WARR6 = 0x2CF, PS_WARR7 = 0x2D0, PS_WARR8 = 0x2D1, PS_WARR9 = 0x2D2, PS_WARR10 = 0x2D3, PS_WARR11 = 0x2D4, PS_WARR12 = 0x2D5, PS_WARR13 = 0x2D6, PS_WARR14 = 0x2D7, PS_WARR14B = 0x2D8, PS_WARR14C = 0x2D9, PS_WARR15 = 0x2DA, PS_WARR15B = 0x2DB, PS_WARR15C = 0x2DC, PS_WARR16 = 0x2DD, PS_WARR16B = 0x2DE, PS_WARR16C = 0x2DF, PS_WARR17 = 0x2E0, PS_WARR18 = 0x2E1, PS_WARR19 = 0x2E2, PS_WARR20 = 0x2E3, PS_WARR21 = 0x2E4, PS_WARR22 = 0x2E5, PS_WARR23 = 0x2E6, PS_WARR24 = 0x2E7, PS_WARR25 = 0x2E8, PS_WARR26 = 0x2E9, PS_WARR27 = 0x2EA, PS_WARR28 = 0x2EB, PS_WARR29 = 0x2EC, PS_WARR30 = 0x2ED, PS_WARR31 = 0x2EE, PS_WARR32 = 0x2EF, PS_WARR33 = 0x2F0, PS_WARR34 = 0x2F1, PS_WARR35 = 0x2F2, PS_WARR36 = 0x2F3, PS_WARR37 = 0x2F4, PS_WARR38 = 0x2F5, PS_WARR39 = 0x2F6, PS_WARR40 = 0x2F7, PS_WARR41 = 0x2F8, PS_WARR42 = 0x2F9, PS_WARR43 = 0x2FA, PS_WARR44 = 0x2FB, PS_WARR45 = 0x2FC, PS_WARR46 = 0x2FD, PS_WARR47 = 0x2FE, PS_WARR48 = 0x2FF, PS_WARR49 = 0x300, PS_WARR50 = 0x301, PS_WARR51 = 0x302, PS_WARR52 = 0x303, PS_WARR53 = 0x304, PS_WARR54 = 0x305, PS_WARR55 = 0x306, PS_WARR56 = 0x307, PS_WARR57 = 0x308, PS_WARR58 = 0x309, PS_WARR59 = 0x30A, PS_WARR60 = 0x30B, PS_WARR61 = 0x30C, PS_WARR62 = 0x30D, PS_WARR63 = 0x30E, PS_WARR64 = 0x30F, PS_WARR65 = 0x310, PS_WARR66 = 0x311, PS_WARR67 = 0x312, PS_WARR68 = 0x313, PS_WARR69 = 0x314, PS_WARR69B = 0x315, PS_WARR70 = 0x316, PS_WARR71 = 0x317, PS_WARR72 = 0x318, PS_WARR73 = 0x319, PS_WARR74 = 0x31A, PS_WARR75 = 0x31B, PS_WARR76 = 0x31C, PS_WARR77 = 0x31D, PS_WARR78 = 0x31E, PS_WARR79 = 0x31F, PS_WARR80 = 0x320, PS_WARR81 = 0x321, PS_WARR82 = 0x322, PS_WARR83 = 0x323, PS_WARR84 = 0x324, PS_WARR85 = 0x325, PS_WARR86 = 0x326, PS_WARR87 = 0x327, PS_WARR88 = 0x328, PS_WARR89 = 0x329, PS_WARR90 = 0x32A, PS_WARR91 = 0x32B, PS_WARR92 = 0x32C, PS_WARR93 = 0x32D, PS_WARR94 = 0x32E, PS_WARR95 = 0x32F, PS_WARR95B = 0x330, PS_WARR95C = 0x331, PS_WARR95D = 0x332, PS_WARR95E = 0x333, PS_WARR95F = 0x334, PS_WARR96B = 0x335, PS_WARR97 = 0x336, PS_WARR98 = 0x337, PS_WARR99 = 0x338, PS_WARR100 = 0x339, PS_WARR101 = 0x33A, PS_WARR102 = 0x33B, PS_NAR1 = 0x33C, PS_NAR2 = 0x33D, PS_NAR3 = 0x33E, PS_NAR4 = 0x33F, PS_NAR5 = 0x340, PS_NAR6 = 0x341, PS_NAR7 = 0x342, PS_NAR8 = 0x343, PS_NAR9 = 0x344, PS_DIABLVLINT = 0x345, USFX_CLEAVER = 0x346, USFX_GARBUD1 = 0x347, USFX_GARBUD2 = 0x348, USFX_GARBUD3 = 0x349, USFX_GARBUD4 = 0x34A, USFX_IZUAL1 = 0x34B, USFX_LACH1 = 0x34C, USFX_LACH2 = 0x34D, USFX_LACH3 = 0x34E, USFX_LAZ1 = 0x34F, USFX_LAZ2 = 0x350, USFX_SKING1 = 0x351, USFX_SNOT1 = 0x352, USFX_SNOT2 = 0x353, USFX_SNOT3 = 0x354, USFX_WARLRD1 = 0x355, USFX_WLOCK1 = 0x356, USFX_ZHAR1 = 0x357, USFX_ZHAR2 = 0x358, USFX_DIABLOD = 0x359, }; enum item_equip_type { ILOC_NONE = 0x0, ILOC_ONEHAND = 0x1, ILOC_TWOHAND = 0x2, ILOC_ARMOR = 0x3, ILOC_HELM = 0x4, ILOC_RING = 0x5, ILOC_AMULET = 0x6, ILOC_UNEQUIPABLE = 0x7, ILOC_BELT = 0x8, ILOC_INVALID = 0xFF, }; enum missile_id { MIS_ARROW = 0x0, MIS_FIREBOLT = 0x1, MIS_GUARDIAN = 0x2, MIS_RNDTELEPORT = 0x3, MIS_LIGHTBALL = 0x4, MIS_FIREWALL = 0x5, MIS_FIREBALL = 0x6, MIS_LIGHTCTRL = 0x7, MIS_LIGHTNING = 0x8, MIS_MISEXP = 0x9, MIS_TOWN = 0xA, MIS_FLASH = 0xB, MIS_FLASH2 = 0xC, MIS_MANASHIELD = 0xD, MIS_FIREMOVE = 0xE, MIS_CHAIN = 0xF, MIS_NULL_10 = 0x10, // sentinal? MIS_NULL_11 = 0x11, MIS_NULL_12 = 0x12, MIS_NULL_13 = 0x13, MIS_RHINO = 0x14, MIS_MAGMABALL = 0x15, MIS_LIGHTCTRL2 = 0x16, MIS_LIGHTNING2 = 0x17, MIS_FLARE = 0x18, MIS_MISEXP2 = 0x19, MIS_TELEPORT = 0x1A, MIS_LARROW = 0x1B, // fire MIS_DOOMSERP = 0x1C, MIS_NULL_1D = 0x1D, MIS_STONE = 0x1E, MIS_NULL_1F = 0x1F, MIS_INVISIBL = 0x20, MIS_GOLEM = 0x21, MIS_ETHEREALIZE = 0x22, MIS_NULL_23 = 0x23, MIS_BOOM = 0x24, MIS_HEAL = 0x25, MIS_FIREWALLC = 0x26, MIS_INFRA = 0x27, MIS_IDENTIFY = 0x28, MIS_WAVE = 0x29, MIS_NOVA = 0x2A, MIS_BLODBOIL = 0x2B, MIS_APOCA = 0x2C, MIS_REPAIR = 0x2D, MIS_RECHARGE = 0x2E, MIS_DISARM = 0x2F, MIS_FLAME = 0x30, MIS_FLAMEC = 0x31, MIS_NULL_32 = 0x32, MIS_NULL_33 = 0x33, MIS_CBOLT = 0x34, MIS_HBOLT = 0x35, MIS_RESURRECT = 0x36, MIS_TELEKINESIS = 0x37, MIS_LARROW2 = 0x38, // light MIS_ACID = 0x39, MIS_MISEXP3 = 0x3A, MIS_ACIDPUD = 0x3B, MIS_HEALOTHER = 0x3C, MIS_ELEMENT = 0x3D, MIS_RESURRECTBEAM = 0x3E, MIS_BONESPIRIT = 0x3F, MIS_WEAPEXP = 0x40, MIS_RPORTAL = 0x41, MIS_BOOM2 = 0x42, MIS_DIABAPOCA = 0x43, }; enum missile_graphic_id { MFILE_ARROWS = 0x0, MFILE_FIREBA = 0x1, MFILE_GUARD = 0x2, MFILE_LGHNING = 0x3, MFILE_FIREWAL = 0x4, MFILE_MAGBLOS = 0x5, MFILE_PORTAL = 0x6, MFILE_BLUEXFR = 0x7, MFILE_BLUEXBK = 0x8, MFILE_MANASHLD = 0x9, MFILE_BLOOD = 0xA, MFILE_BONE = 0xB, MFILE_METLHIT = 0xC, MFILE_FARROW = 0xD, MFILE_DOOM = 0xE, MFILE_0F = 0xF, MFILE_BLODBUR = 0x10, MFILE_NEWEXP = 0x11, MFILE_SHATTER1 = 0x12, MFILE_BIGEXP = 0x13, MFILE_INFERNO = 0x14, MFILE_THINLGHT = 0x15, MFILE_FLARE = 0x16, MFILE_FLAREEXP = 0x17, MFILE_MAGBALL = 0x18, MFILE_KRULL = 0x19, MFILE_MINILTNG = 0x1A, MFILE_HOLY = 0x1B, MFILE_HOLYEXPL = 0x1C, MFILE_LARROW = 0x1D, MFILE_FIRARWEX = 0x1E, MFILE_ACIDBF = 0x1F, MFILE_ACIDSPLA = 0x20, MFILE_ACIDPUD = 0x21, MFILE_ETHRSHLD = 0x22, MFILE_FIRERUN = 0x23, MFILE_RESSUR1 = 0x24, MFILE_SKLBALL = 0x25, MFILE_RPORTAL = 0x26, MFILE_FIREPLAR = 0x27, MFILE_SCUBMISB = 0x28, MFILE_SCBSEXPB = 0x29, MFILE_SCUBMISC = 0x2A, MFILE_SCBSEXPC = 0x2B, MFILE_SCUBMISD = 0x2C, MFILE_SCBSEXPD = 0x2D, MFILE_NULL = 0x2E, MFILE_INVALID = 0x2F, MFILE_NONE = 0xFF, }; enum _mai_id { AI_ZOMBIE = 0, AI_FAT = 1, AI_SKELSD = 2, AI_SKELBOW = 3, AI_SCAV = 4, AI_RHINO = 5, AI_GOATMC = 6, AI_GOATBOW = 7, AI_FALLEN = 8, AI_MAGMA = 9, AI_SKELKING = 10, AI_BAT = 11, AI_GARG = 12, AI_CLEAVER = 13, AI_SUCC = 14, AI_SNEAK = 15, AI_STORM = 16, AI_FIREMAN = 17, AI_GARBUD = 18, AI_ACID = 19, AI_ACIDUNIQ = 20, AI_GOLUM = 21, AI_ZHAR = 22, AI_SNOTSPIL = 23, AI_SNAKE = 24, AI_COUNSLR = 25, AI_MEGA = 26, AI_DIABLO = 27, AI_LAZURUS = 28, AI_LAZHELP = 29, AI_LACHDAN = 30, AI_WARLORD = 31, }; enum _mc_id { MC_UNDEAD = 0, MC_DEMON = 1, MC_ANIMAL = 2, }; enum _monster_id { MT_NZOMBIE = 0x0, MT_BZOMBIE = 0x1, MT_GZOMBIE = 0x2, MT_YZOMBIE = 0x3, MT_RFALLSP = 0x4, MT_DFALLSP = 0x5, MT_YFALLSP = 0x6, MT_BFALLSP = 0x7, MT_WSKELAX = 0x8, MT_TSKELAX = 0x9, MT_RSKELAX = 0xA, MT_XSKELAX = 0xB, MT_RFALLSD = 0xC, MT_DFALLSD = 0xD, MT_YFALLSD = 0xE, MT_BFALLSD = 0xF, MT_NSCAV = 0x10, MT_BSCAV = 0x11, MT_WSCAV = 0x12, MT_YSCAV = 0x13, MT_WSKELBW = 0x14, MT_TSKELBW = 0x15, MT_RSKELBW = 0x16, MT_XSKELBW = 0x17, MT_WSKELSD = 0x18, MT_TSKELSD = 0x19, MT_RSKELSD = 0x1A, MT_XSKELSD = 0x1B, MT_INVILORD = 0x1C, MT_SNEAK = 0x1D, MT_STALKER = 0x1E, MT_UNSEEN = 0x1F, MT_ILLWEAV = 0x20, MT_LRDSAYTR = 0x21, MT_NGOATMC = 0x22, MT_BGOATMC = 0x23, MT_RGOATMC = 0x24, MT_GGOATMC = 0x25, MT_FIEND = 0x26, MT_BLINK = 0x27, MT_GLOOM = 0x28, MT_FAMILIAR = 0x29, MT_NGOATBW = 0x2A, MT_BGOATBW = 0x2B, MT_RGOATBW = 0x2C, MT_GGOATBW = 0x2D, MT_NACID = 0x2E, MT_RACID = 0x2F, MT_BACID = 0x30, MT_XACID = 0x31, MT_SKING = 0x32, MT_CLEAVER = 0x33, MT_FAT = 0x34, MT_MUDMAN = 0x35, MT_TOAD = 0x36, MT_FLAYED = 0x37, MT_WYRM = 0x38, MT_CAVSLUG = 0x39, MT_DVLWYRM = 0x3A, MT_DEVOUR = 0x3B, MT_NMAGMA = 0x3C, MT_YMAGMA = 0x3D, MT_BMAGMA = 0x3E, MT_WMAGMA = 0x3F, MT_HORNED = 0x40, MT_MUDRUN = 0x41, MT_FROSTC = 0x42, MT_OBLORD = 0x43, MT_BONEDMN = 0x44, MT_REDDTH = 0x45, MT_LTCHDMN = 0x46, MT_UDEDBLRG = 0x47, MT_INCIN = 0x48, MT_FLAMLRD = 0x49, MT_DOOMFIRE = 0x4A, MT_HELLBURN = 0x4B, MT_STORM = 0x4C, MT_RSTORM = 0x4D, MT_STORML = 0x4E, MT_MAEL = 0x4F, MT_BIGFALL = 0x50, MT_WINGED = 0x51, MT_GARGOYLE = 0x52, MT_BLOODCLW = 0x53, MT_DEATHW = 0x54, MT_MEGA = 0x55, MT_GUARD = 0x56, MT_VTEXLRD = 0x57, MT_BALROG = 0x58, MT_NSNAKE = 0x59, MT_RSNAKE = 0x5A, MT_BSNAKE = 0x5B, MT_GSNAKE = 0x5C, MT_NBLACK = 0x5D, MT_RTBLACK = 0x5E, MT_BTBLACK = 0x5F, MT_RBLACK = 0x60, MT_UNRAV = 0x61, MT_HOLOWONE = 0x62, MT_PAINMSTR = 0x63, MT_REALWEAV = 0x64, MT_SUCCUBUS = 0x65, MT_SNOWWICH = 0x66, MT_HLSPWN = 0x67, MT_SOLBRNR = 0x68, MT_COUNSLR = 0x69, MT_MAGISTR = 0x6A, MT_CABALIST = 0x6B, MT_ADVOCATE = 0x6C, MT_GOLEM = 0x6D, MT_DIABLO = 0x6E, MT_DARKMAGE = 0x6F }; enum _speech_id { QUEST_KING1 = 0x0, QUEST_KING2 = 0x1, QUEST_KING3 = 0x2, QUEST_KING4 = 0x3, QUEST_KING5 = 0x4, QUEST_KING6 = 0x5, QUEST_KING7 = 0x6, QUEST_KING8 = 0x7, QUEST_KING9 = 0x8, QUEST_KING10 = 0x9, QUEST_KING11 = 0xA, QUEST_BANNER1 = 0xB, QUEST_BANNER2 = 0xC, QUEST_BANNER3 = 0xD, QUEST_BANNER4 = 0xE, QUEST_BANNER5 = 0xF, QUEST_BANNER6 = 0x10, QUEST_BANNER7 = 0x11, QUEST_BANNER8 = 0x12, QUEST_BANNER9 = 0x13, QUEST_BANNER10 = 0x14, QUEST_BANNER11 = 0x15, QUEST_BANNER12 = 0x16, QUEST_VILE1 = 0x17, QUEST_VILE2 = 0x18, QUEST_VILE3 = 0x19, QUEST_VILE4 = 0x1A, QUEST_VILE5 = 0x1B, QUEST_VILE6 = 0x1C, QUEST_VILE7 = 0x1D, QUEST_VILE8 = 0x1E, QUEST_VILE9 = 0x1F, QUEST_VILE10 = 0x20, QUEST_VILE11 = 0x21, QUEST_VILE12 = 0x22, QUEST_VILE13 = 0x23, QUEST_VILE14 = 0x24, QUEST_POISON1 = 0x25, QUEST_POISON2 = 0x26, QUEST_POISON3 = 0x27, QUEST_POISON4 = 0x28, QUEST_POISON5 = 0x29, QUEST_POISON6 = 0x2A, QUEST_POISON7 = 0x2B, QUEST_POISON8 = 0x2C, QUEST_POISON9 = 0x2D, QUEST_POISON10 = 0x2E, QUEST_BONE1 = 0x2F, QUEST_BONE2 = 0x30, QUEST_BONE3 = 0x31, QUEST_BONE4 = 0x32, QUEST_BONE5 = 0x33, QUEST_BONE6 = 0x34, QUEST_BONE7 = 0x35, QUEST_BONE8 = 0x36, QUEST_BUTCH1 = 0x37, QUEST_BUTCH2 = 0x38, QUEST_BUTCH3 = 0x39, QUEST_BUTCH4 = 0x3A, QUEST_BUTCH5 = 0x3B, QUEST_BUTCH6 = 0x3C, QUEST_BUTCH7 = 0x3D, QUEST_BUTCH8 = 0x3E, QUEST_BUTCH9 = 0x3F, QUEST_BUTCH10 = 0x40, QUEST_BLIND1 = 0x41, QUEST_BLIND2 = 0x42, QUEST_BLIND3 = 0x43, QUEST_BLIND4 = 0x44, QUEST_BLIND5 = 0x45, QUEST_BLIND6 = 0x46, QUEST_BLIND7 = 0x47, QUEST_BLIND8 = 0x48, QUEST_VEIL1 = 0x49, QUEST_VEIL2 = 0x4A, QUEST_VEIL3 = 0x4B, QUEST_VEIL4 = 0x4C, QUEST_VEIL5 = 0x4D, QUEST_VEIL6 = 0x4E, QUEST_VEIL7 = 0x4F, QUEST_VEIL8 = 0x50, QUEST_VEIL9 = 0x51, QUEST_VEIL10 = 0x52, QUEST_VEIL11 = 0x53, QUEST_ANVIL1 = 0x54, QUEST_ANVIL2 = 0x55, QUEST_ANVIL3 = 0x56, QUEST_ANVIL4 = 0x57, QUEST_ANVIL5 = 0x58, QUEST_ANVIL6 = 0x59, QUEST_ANVIL7 = 0x5A, QUEST_ANVIL8 = 0x5B, QUEST_ANVIL9 = 0x5C, QUEST_ANVIL10 = 0x5D, QUEST_BLOOD1 = 0x5E, QUEST_BLOOD2 = 0x5F, QUEST_BLOOD3 = 0x60, QUEST_BLOOD4 = 0x61, QUEST_BLOOD5 = 0x62, QUEST_BLOOD6 = 0x63, QUEST_BLOOD7 = 0x64, QUEST_BLOOD8 = 0x65, QUEST_WARLRD1 = 0x66, QUEST_WARLRD2 = 0x67, QUEST_WARLRD3 = 0x68, QUEST_WARLRD4 = 0x69, QUEST_WARLRD5 = 0x6A, QUEST_WARLRD6 = 0x6B, QUEST_WARLRD7 = 0x6C, QUEST_WARLRD8 = 0x6D, QUEST_WARLRD9 = 0x6E, QUEST_INFRA1 = 0x6F, QUEST_INFRA2 = 0x70, QUEST_INFRA3 = 0x71, QUEST_INFRA4 = 0x72, QUEST_INFRA5 = 0x73, QUEST_INFRA6 = 0x74, QUEST_INFRA7 = 0x75, QUEST_INFRA8 = 0x76, QUEST_INFRA9 = 0x77, QUEST_INFRA10 = 0x78, QUEST_MUSH1 = 0x79, QUEST_MUSH2 = 0x7A, QUEST_MUSH3 = 0x7B, QUEST_MUSH4 = 0x7C, QUEST_MUSH5 = 0x7D, QUEST_MUSH6 = 0x7E, QUEST_MUSH7 = 0x7F, QUEST_MUSH8 = 0x80, QUEST_MUSH9 = 0x81, QUEST_MUSH10 = 0x82, QUEST_MUSH11 = 0x83, QUEST_MUSH12 = 0x84, QUEST_MUSH13 = 0x85, QUEST_DOOM1 = 0x86, QUEST_DOOM2 = 0x87, QUEST_DOOM3 = 0x88, QUEST_DOOM4 = 0x89, QUEST_DOOM5 = 0x8A, QUEST_DOOM6 = 0x8B, QUEST_DOOM7 = 0x8C, QUEST_DOOM8 = 0x8D, QUEST_DOOM9 = 0x8E, QUEST_DOOM10 = 0x8F, QUEST_GARBUD1 = 0x90, QUEST_GARBUD2 = 0x91, QUEST_GARBUD3 = 0x92, QUEST_GARBUD4 = 0x93, QUEST_ZHAR1 = 0x94, QUEST_ZHAR2 = 0x95, QUEST_STORY1 = 0x96, QUEST_STORY2 = 0x97, QUEST_STORY3 = 0x98, QUEST_STORY4 = 0x99, QUEST_STORY5 = 0x9A, QUEST_STORY6 = 0x9B, QUEST_STORY7 = 0x9C, QUEST_STORY9 = 0x9D, QUEST_STORY10 = 0x9E, QUEST_STORY11 = 0x9F, QUEST_OGDEN1 = 0xA0, QUEST_OGDEN2 = 0xA1, QUEST_OGDEN3 = 0xA2, QUEST_OGDEN4 = 0xA3, QUEST_OGDEN5 = 0xA4, QUEST_OGDEN6 = 0xA5, QUEST_OGDEN8 = 0xA6, QUEST_OGDEN9 = 0xA7, QUEST_OGDEN10 = 0xA8, QUEST_PEPIN1 = 0xA9, QUEST_PEPIN2 = 0xAA, QUEST_PEPIN3 = 0xAB, QUEST_PEPIN4 = 0xAC, QUEST_PEPIN5 = 0xAD, QUEST_PEPIN6 = 0xAE, QUEST_PEPIN7 = 0xAF, QUEST_PEPIN9 = 0xB0, QUEST_PEPIN10 = 0xB1, QUEST_PEPIN11 = 0xB2, QUEST_GILLIAN1 = 0xB3, QUEST_GILLIAN2 = 0xB4, QUEST_GILLIAN3 = 0xB5, QUEST_GILLIAN4 = 0xB6, QUEST_GILLIAN5 = 0xB7, QUEST_GILLIAN6 = 0xB8, QUEST_GILLIAN7 = 0xB9, QUEST_GILLIAN9 = 0xBA, QUEST_GILLIAN10 = 0xBB, QUEST_GRISWOLD1 = 0xBC, QUEST_GRISWOLD2 = 0xBD, QUEST_GRISWOLD3 = 0xBE, QUEST_GRISWOLD4 = 0xBF, QUEST_GRISWOLD5 = 0xC0, QUEST_GRISWOLD6 = 0xC1, QUEST_GRISWOLD7 = 0xC2, QUEST_GRISWOLD8 = 0xC3, QUEST_GRISWOLD9 = 0xC4, QUEST_GRISWOLD10 = 0xC5, QUEST_GRISWOLD12 = 0xC6, QUEST_GRISWOLD13 = 0xC7, QUEST_FARNHAM1 = 0xC8, QUEST_FARNHAM2 = 0xC9, QUEST_FARNHAM3 = 0xCA, QUEST_FARNHAM4 = 0xCB, QUEST_FARNHAM5 = 0xCC, QUEST_FARNHAM6 = 0xCD, QUEST_FARNHAM8 = 0xCE, QUEST_FARNHAM9 = 0xCF, QUEST_FARNHAM10 = 0xD0, QUEST_FARNHAM11 = 0xD1, QUEST_FARNHAM12 = 0xD2, QUEST_FARNHAM13 = 0xD3, QUEST_ADRIA1 = 0xD4, QUEST_ADRIA2 = 0xD5, QUEST_ADRIA3 = 0xD6, QUEST_ADRIA4 = 0xD7, QUEST_ADRIA5 = 0xD8, QUEST_ADRIA6 = 0xD9, QUEST_ADRIA7 = 0xDA, QUEST_ADRIA8 = 0xDB, QUEST_ADRIA9 = 0xDC, QUEST_ADRIA10 = 0xDD, QUEST_ADRIA12 = 0xDE, QUEST_ADRIA13 = 0xDF, QUEST_WIRT1 = 0xE0, QUEST_WIRT2 = 0xE1, QUEST_WIRT3 = 0xE2, QUEST_WIRT4 = 0xE3, QUEST_WIRT5 = 0xE4, QUEST_WIRT6 = 0xE5, QUEST_WIRT7 = 0xE6, QUEST_WIRT8 = 0xE7, QUEST_WIRT9 = 0xE8, QUEST_WIRT11 = 0xE9, QUEST_WIRT12 = 0xEA, QUEST_BONER = 0xEB, QUEST_BLOODY = 0xEC, QUEST_BLINDING = 0xED, QUEST_BLOODWAR = 0xEE, QUEST_MBONER = 0xEF, QUEST_MBLOODY = 0xF0, QUEST_MBLINDING = 0xF1, QUEST_MBLOODWAR = 0xF2, QUEST_RBONER = 0xF3, QUEST_RBLOODY = 0xF4, QUEST_RBLINDING = 0xF5, QUEST_RBLOODWAR = 0xF6, QUEST_COW1 = 0xF7, QUEST_COW2 = 0xF8, QUEST_BOOK11 = 0xF9, QUEST_BOOK12 = 0xFA, QUEST_BOOK13 = 0xFB, QUEST_BOOK21 = 0xFC, QUEST_BOOK22 = 0xFD, QUEST_BOOK23 = 0xFE, QUEST_BOOK31 = 0xFF, QUEST_BOOK32 = 0x100, QUEST_BOOK33 = 0x101, QUEST_INTRO = 0x102 }; enum object_graphic_id { OFILE_L1BRAZ = 0x0, OFILE_L1DOORS = 0x1, OFILE_LEVER = 0x2, OFILE_CHEST1 = 0x3, OFILE_CHEST2 = 0x4, OFILE_BANNER = 0x5, OFILE_SKULPILE = 0x6, OFILE_SKULFIRE = 0x7, OFILE_SKULSTIK = 0x8, OFILE_CRUXSK1 = 0x9, OFILE_CRUXSK2 = 0xA, OFILE_CRUXSK3 = 0xB, OFILE_BOOK1 = 0xC, OFILE_BOOK2 = 0xD, OFILE_ROCKSTAN = 0xE, OFILE_ANGEL = 0xF, OFILE_CHEST3 = 0x10, OFILE_BURNCROS = 0x11, OFILE_CANDLE2 = 0x12, OFILE_NUDE2 = 0x13, OFILE_SWITCH4 = 0x14, OFILE_TNUDEM = 0x15, OFILE_TNUDEW = 0x16, OFILE_TSOUL = 0x17, OFILE_L2DOORS = 0x18, OFILE_WTORCH4 = 0x19, OFILE_WTORCH3 = 0x1A, OFILE_SARC = 0x1B, OFILE_FLAME1 = 0x1C, OFILE_PRSRPLT1 = 0x1D, OFILE_TRAPHOLE = 0x1E, OFILE_MINIWATR = 0x1F, OFILE_WTORCH2 = 0x20, OFILE_WTORCH1 = 0x21, OFILE_BCASE = 0x22, OFILE_BSHELF = 0x23, OFILE_WEAPSTND = 0x24, OFILE_BARREL = 0x25, OFILE_BARRELEX = 0x26, OFILE_LSHRINEG = 0x27, OFILE_RSHRINEG = 0x28, OFILE_BLOODFNT = 0x29, OFILE_DECAP = 0x2A, OFILE_PEDISTL = 0x2B, OFILE_L3DOORS = 0x2C, OFILE_PFOUNTN = 0x2D, OFILE_ARMSTAND = 0x2E, OFILE_GOATSHRN = 0x2F, OFILE_CAULDREN = 0x30, OFILE_MFOUNTN = 0x31, OFILE_TFOUNTN = 0x32, OFILE_ALTBOY = 0x33, OFILE_MCIRL = 0x34, OFILE_BKSLBRNT = 0x35, OFILE_MUSHPTCH = 0x36, OFILE_LZSTAND = 0x37, }; enum dungeon_type { DTYPE_TOWN = 0x0, DTYPE_CATHEDRAL = 0x1, DTYPE_CATACOMBS = 0x2, DTYPE_CAVES = 0x3, DTYPE_HELL = 0x4, DTYPE_NONE = 0xFF, }; enum magic_type { STYPE_FIRE = 0x0, STYPE_LIGHTNING = 0x1, STYPE_MAGIC = 0x2, }; enum theme_id { THEME_BARREL = 0x0, THEME_SHRINE = 0x1, THEME_MONSTPIT = 0x2, THEME_SKELROOM = 0x3, THEME_TREASURE = 0x4, THEME_LIBRARY = 0x5, THEME_TORTURE = 0x6, THEME_BLOODFOUNTAIN = 0x7, THEME_DECAPITATED = 0x8, THEME_PURIFYINGFOUNTAIN = 0x9, THEME_ARMORSTAND = 0xA, THEME_GOATSHRINE = 0xB, THEME_CAULDRON = 0xC, THEME_MURKYFOUNTAIN = 0xD, THEME_TEARFOUNTAIN = 0xE, THEME_BRNCROSS = 0xF, THEME_WEAPONRACK = 0x10, THEME_NONE = 0xFF, }; enum event_type { EVENT_TYPE_PLAYER_CREATE_GAME = 1, EVENT_TYPE_2 = 2, EVENT_TYPE_PLAYER_LEAVE_GAME = 3, EVENT_TYPE_PLAYER_MESSAGE = 4, EVENT_TYPE_5 = 5, EVENT_TYPE_6 = 6, EVENT_TYPE_7 = 7, EVENT_TYPE_8 = 8, EVENT_TYPE_9 = 9, EVENT_TYPE_10 = 10, EVENT_TYPE_11 = 11, EVENT_TYPE_12 = 12, EVENT_TYPE_13 = 13, EVENT_TYPE_14 = 14, EVENT_TYPE_15 = 15, }; enum _copyprot_results { COPYPROT_OK = 1, COPYPROT_CANCEL = 2, }; enum text_color { COL_WHITE = 0x0, COL_BLUE = 0x1, COL_RED = 0x2, COL_GOLD = 0x3, }; enum _difficulty { DIFF_NORMAL = 0x0, DIFF_NIGHTMARE = 0x1, DIFF_HELL = 0x2, NUM_DIFFICULTIES = 0x3, }; enum MON_MODE { MM_STAND = 0, MM_WALK = 1, MM_WALK2 = 2, MM_WALK3 = 3, MM_ATTACK = 4, MM_GOTHIT = 5, MM_DEATH = 6, MM_SATTACK = 7, MM_FADEIN = 8, MM_FADEOUT = 9, MM_RATTACK = 10, MM_SPSTAND = 11, MM_RSPATTACK = 12, MM_DELAY = 13, MM_CHARGE = 14, MM_STONE = 15, MM_HEAL = 16, MM_TALK = 17, }; enum PLR_MODE { PM_STAND = 0, PM_WALK = 1, PM_WALK2 = 2, PM_WALK3 = 3, PM_ATTACK = 4, PM_RATTACK = 5, PM_BLOCK = 6, PM_GOTHIT = 7, PM_DEATH = 8, PM_SPELL = 9, PM_NEWLVL = 10, PM_QUIT = 11, }; enum template_id { TEMPLATE_ERR_DX = 0x68, TEMPLATE_ERR_NOMEMORY = 0x69, TEMPLATE_ERR_NOFILE = 0x6A, TEMPLATE_ERR_DDRAW = 0x6B, TEMPLATE_ERR_DSOUND = 0x6C, TEMPLATE_ERR_DISKSPACE = 0x6E, TEMPLATE_ERR_VIDEOMODE = 0x6F, TEMPLATE_ERR_INSERTCD = 0x70, TEMPLATE_ERR_RESTRICTED = 0x71, TEMPLATE_ERR_READONLY = 0x72, }; enum spell_type { RSPLTYPE_SKILL = 0x0, RSPLTYPE_SPELL = 0x1, RSPLTYPE_SCROLL = 0x2, RSPLTYPE_CHARGES = 0x3, RSPLTYPE_INVALID = 0x4, }; enum cursor_id { CURSOR_NONE = 0x0, CURSOR_HAND = 0x1, CURSOR_IDENTIFY = 0x2, CURSOR_REPAIR = 0x3, CURSOR_RECHARGE = 0x4, CURSOR_DISARM = 0x5, CURSOR_OIL = 0x6, CURSOR_TELEKINESIS = 0x7, CURSOR_RESURRECT = 0x8, CURSOR_TELEPORT = 0x9, CURSOR_HEALOTHER = 0xA, CURSOR_HOURGLASS = 0xB, CURSOR_FIRSTITEM = 0xC, }; enum direction { DIR_S = 0x0, DIR_SW = 0x1, DIR_W = 0x2, DIR_NW = 0x3, DIR_N = 0x4, DIR_NE = 0x5, DIR_E = 0x6, DIR_SE = 0x7, DIR_OMNI = 0x8, }; enum interface_mode { WM_DIAB = 0x401, WM_DIABNEXTLVL = 0x402, // WM_USER+2 WM_DIABPREVLVL = 0x403, WM_DIABRTNLVL = 0x404, WM_DIABSETLVL = 0x405, WM_DIABWARPLVL = 0x406, WM_DIABTOWNWARP = 0x407, WM_DIABTWARPUP = 0x408, WM_DIABRETOWN = 0x409, WM_DIABNEWGAME = 0x40A, WM_DIABLOADGAME = 0x40B // WM_LEIGHSKIP = 0x40C, // psx only // WM_DIAVNEWLVL = 0x40D, // psx only }; enum game_info { GAMEINFO_NAME = 1, GAMEINFO_PASSWORD = 2, GAMEINFO_STATS = 3, GAMEINFO_MODEFLAG = 4, GAMEINFO_GAMETEMPLATE = 5, GAMEINFO_PLAYERS = 6, }; enum spell_id { SPL_NULL = 0x0, SPL_FIREBOLT = 0x1, SPL_HEAL = 0x2, SPL_LIGHTNING = 0x3, SPL_FLASH = 0x4, SPL_IDENTIFY = 0x5, SPL_FIREWALL = 0x6, SPL_TOWN = 0x7, SPL_STONE = 0x8, SPL_INFRA = 0x9, SPL_RNDTELEPORT = 0xA, SPL_MANASHIELD = 0xB, SPL_FIREBALL = 0xC, SPL_GUARDIAN = 0xD, SPL_CHAIN = 0xE, SPL_WAVE = 0xF, SPL_DOOMSERP = 0x10, SPL_BLODRIT = 0x11, SPL_NOVA = 0x12, SPL_INVISIBIL = 0x13, SPL_FLAME = 0x14, SPL_GOLEM = 0x15, SPL_BLODBOIL = 0x16, SPL_TELEPORT = 0x17, SPL_APOCA = 0x18, SPL_ETHEREALIZE = 0x19, SPL_REPAIR = 0x1A, SPL_RECHARGE = 0x1B, SPL_DISARM = 0x1C, SPL_ELEMENT = 0x1D, SPL_CBOLT = 0x1E, SPL_HBOLT = 0x1F, SPL_RESURRECT = 0x20, SPL_TELEKINESIS = 0x21, SPL_HEALOTHER = 0x22, SPL_FLARE = 0x23, SPL_BONESPIRIT = 0x24, SPL_INVALID = 0xFFFFFFFF, }; enum _cmd_id { CMD_STAND = 0, CMD_WALKXY = 1, CMD_ACK_PLRINFO = 2, CMD_ADDSTR = 3, CMD_ADDMAG = 4, CMD_ADDDEX = 5, CMD_ADDVIT = 6, CMD_SBSPELL = 7, CMD_GETITEM = 8, CMD_AGETITEM = 9, CMD_PUTITEM = 10, CMD_RESPAWNITEM = 11, CMD_ATTACKXY = 12, CMD_RATTACKXY = 13, CMD_SPELLXY = 14, CMD_TSPELLXY = 15, CMD_OPOBJXY = 16, CMD_DISARMXY = 17, CMD_ATTACKID = 18, CMD_ATTACKPID = 19, CMD_RATTACKID = 20, CMD_RATTACKPID = 21, CMD_SPELLID = 22, CMD_SPELLPID = 23, CMD_TSPELLID = 24, CMD_TSPELLPID = 25, CMD_RESURRECT = 26, CMD_OPOBJT = 27, CMD_KNOCKBACK = 28, CMD_TALKXY = 29, CMD_NEWLVL = 30, CMD_WARP = 31, CMD_CHEAT_EXPERIENCE = 32, CMD_CHEAT_SPELL_LEVEL = 33, CMD_DEBUG = 34, CMD_SYNCDATA = 35, CMD_MONSTDEATH = 36, CMD_MONSTDAMAGE = 37, CMD_PLRDEAD = 38, CMD_REQUESTGITEM = 39, CMD_REQUESTAGITEM = 40, CMD_GOTOGETITEM = 41, CMD_GOTOAGETITEM = 42, CMD_OPENDOOR = 43, CMD_CLOSEDOOR = 44, CMD_OPERATEOBJ = 45, CMD_PLROPOBJ = 46, CMD_BREAKOBJ = 47, CMD_CHANGEPLRITEMS = 48, CMD_DELPLRITEMS = 49, CMD_PLRDAMAGE = 50, CMD_PLRLEVEL = 51, CMD_DROPITEM = 52, CMD_PLAYER_JOINLEVEL = 53, CMD_SEND_PLRINFO = 54, CMD_SATTACKXY = 55, CMD_ACTIVATEPORTAL = 56, CMD_DEACTIVATEPORTAL = 57, CMD_DLEVEL_0 = 58, CMD_DLEVEL_1 = 59, CMD_DLEVEL_2 = 60, CMD_DLEVEL_3 = 61, CMD_DLEVEL_4 = 62, CMD_DLEVEL_5 = 63, CMD_DLEVEL_6 = 64, CMD_DLEVEL_7 = 65, CMD_DLEVEL_8 = 66, CMD_DLEVEL_9 = 67, CMD_DLEVEL_10 = 68, CMD_DLEVEL_11 = 69, CMD_DLEVEL_12 = 70, CMD_DLEVEL_13 = 71, CMD_DLEVEL_14 = 72, CMD_DLEVEL_15 = 73, CMD_DLEVEL_16 = 74, CMD_DLEVEL_JUNK = 75, CMD_DLEVEL_END = 76, CMD_HEALOTHER = 77, CMD_STRING = 78, CMD_SETSTR = 79, CMD_SETMAG = 80, CMD_SETDEX = 81, CMD_SETVIT = 82, CMD_RETOWN = 83, CMD_SPELLXYD = 84, CMD_ITEMEXTRA = 85, CMD_SYNCPUTITEM = 86, CMD_KILLGOLEM = 87, CMD_SYNCQUEST = 88, CMD_ENDSHIELD = 89, CMD_AWAKEGOLEM = 90, CMD_NOVA = 91, CMD_SETSHIELD = 92, CMD_REMSHIELD = 93, FAKE_CMD_SETID = 94, FAKE_CMD_DROPID = 95, NUM_CMDS = 96, }; enum _talker_id { TOWN_SMITH = 0x0, TOWN_HEALER = 0x1, TOWN_DEADGUY = 0x2, TOWN_TAVERN = 0x3, TOWN_STORY = 0x4, TOWN_DRUNK = 0x5, TOWN_WITCH = 0x6, TOWN_BMAID = 0x7, TOWN_PEGBOY = 0x8, TOWN_COW = 0x9, TOWN_PRIEST = 0xA, }; enum _music_id { TMUSIC_TOWN = 0, TMUSIC_L1 = 1, TMUSIC_L2 = 2, TMUSIC_L3 = 3, TMUSIC_L4 = 4, TMUSIC_INTRO = 5, NUM_MUSIC = 6, }; enum _mainmenu_selections { MAINMENU_SINGLE_PLAYER = 1, MAINMENU_MULTIPLAYER = 2, MAINMENU_REPLAY_INTRO = 3, MAINMENU_SHOW_CREDITS = 4, MAINMENU_EXIT_DIABLO = 5, MAINMENU_ATTRACT_MODE = 6, }; enum panel_button_id { PANBTN_CHARINFO = 0, PANBTN_QLOG = 1, PANBTN_AUTOMAP = 2, PANBTN_MAINMENU = 3, PANBTN_INVENTORY = 4, PANBTN_SPELLBOOK = 5, PANBTN_SENDMSG = 6, PANBTN_FRIENDLY = 7, }; enum attribute_id { ATTRIB_STR = 0, ATTRIB_MAG = 1, ATTRIB_DEX = 2, ATTRIB_VIT = 3, }; enum _object_id { OBJ_L1LIGHT = 0x0, OBJ_L1LDOOR = 0x1, OBJ_L1RDOOR = 0x2, OBJ_SKFIRE = 0x3, OBJ_LEVER = 0x4, OBJ_CHEST1 = 0x5, OBJ_CHEST2 = 0x6, OBJ_CHEST3 = 0x7, OBJ_CANDLE1 = 0x8, OBJ_CANDLE2 = 0x9, OBJ_CANDLEO = 0xA, OBJ_BANNERL = 0xB, OBJ_BANNERM = 0xC, OBJ_BANNERR = 0xD, OBJ_SKPILE = 0xE, OBJ_SKSTICK1 = 0xF, OBJ_SKSTICK2 = 0x10, OBJ_SKSTICK3 = 0x11, OBJ_SKSTICK4 = 0x12, OBJ_SKSTICK5 = 0x13, OBJ_CRUX1 = 0x14, OBJ_CRUX2 = 0x15, OBJ_CRUX3 = 0x16, OBJ_STAND = 0x17, OBJ_ANGEL = 0x18, OBJ_BOOK2L = 0x19, OBJ_BCROSS = 0x1A, OBJ_NUDEW2R = 0x1B, OBJ_SWITCHSKL = 0x1C, OBJ_TNUDEM1 = 0x1D, OBJ_TNUDEM2 = 0x1E, OBJ_TNUDEM3 = 0x1F, OBJ_TNUDEM4 = 0x20, OBJ_TNUDEW1 = 0x21, OBJ_TNUDEW2 = 0x22, OBJ_TNUDEW3 = 0x23, OBJ_TORTURE1 = 0x24, OBJ_TORTURE2 = 0x25, OBJ_TORTURE3 = 0x26, OBJ_TORTURE4 = 0x27, OBJ_TORTURE5 = 0x28, OBJ_BOOK2R = 0x29, OBJ_L2LDOOR = 0x2A, OBJ_L2RDOOR = 0x2B, OBJ_TORCHL = 0x2C, OBJ_TORCHR = 0x2D, OBJ_TORCHL2 = 0x2E, OBJ_TORCHR2 = 0x2F, OBJ_SARC = 0x30, OBJ_FLAMEHOLE = 0x31, OBJ_FLAMELVR = 0x32, OBJ_WATER = 0x33, OBJ_BOOKLVR = 0x34, OBJ_TRAPL = 0x35, OBJ_TRAPR = 0x36, OBJ_BOOKSHELF = 0x37, OBJ_WEAPRACK = 0x38, OBJ_BARREL = 0x39, OBJ_BARRELEX = 0x3A, OBJ_SHRINEL = 0x3B, OBJ_SHRINER = 0x3C, OBJ_SKELBOOK = 0x3D, OBJ_BOOKCASEL = 0x3E, OBJ_BOOKCASER = 0x3F, OBJ_BOOKSTAND = 0x40, OBJ_BOOKCANDLE = 0x41, OBJ_BLOODFTN = 0x42, OBJ_DECAP = 0x43, OBJ_TCHEST1 = 0x44, OBJ_TCHEST2 = 0x45, OBJ_TCHEST3 = 0x46, OBJ_BLINDBOOK = 0x47, OBJ_BLOODBOOK = 0x48, OBJ_PEDISTAL = 0x49, OBJ_L3LDOOR = 0x4A, OBJ_L3RDOOR = 0x4B, OBJ_PURIFYINGFTN = 0x4C, OBJ_ARMORSTAND = 0x4D, OBJ_ARMORSTANDN = 0x4E, OBJ_GOATSHRINE = 0x4F, OBJ_CAULDRON = 0x50, OBJ_MURKYFTN = 0x51, OBJ_TEARFTN = 0x52, OBJ_ALTBOY = 0x53, OBJ_MCIRCLE1 = 0x54, OBJ_MCIRCLE2 = 0x55, OBJ_STORYBOOK = 0x56, OBJ_STORYCANDLE = 0x57, OBJ_STEELTOME = 0x58, OBJ_WARARMOR = 0x59, OBJ_WARWEAP = 0x5A, OBJ_TBCROSS = 0x5B, OBJ_WEAPONRACK = 0x5C, OBJ_WEAPONRACKN = 0x5D, OBJ_MUSHPATCH = 0x5E, OBJ_LAZSTAND = 0x5F, OBJ_SLAINHERO = 0x60, OBJ_SIGNCHEST = 0x61, OBJ_NULL_98 = 0x62, }; enum item_misc_id { IMISC_NONE = 0x0, IMISC_USEFIRST = 0x1, IMISC_FULLHEAL = 0x2, IMISC_HEAL = 0x3, IMISC_OLDHEAL = 0x4, IMISC_DEADHEAL = 0x5, IMISC_MANA = 0x6, IMISC_FULLMANA = 0x7, IMISC_POTEXP = 0x8, /* add experience */ IMISC_POTFORG = 0x9, /* remove experience */ IMISC_ELIXSTR = 0xA, IMISC_ELIXMAG = 0xB, IMISC_ELIXDEX = 0xC, IMISC_ELIXVIT = 0xD, IMISC_ELIXWEAK = 0xE, /* double check with alpha */ IMISC_ELIXDIS = 0xF, IMISC_ELIXCLUM = 0x10, IMISC_ELIXSICK = 0x11, IMISC_REJUV = 0x12, IMISC_FULLREJUV = 0x13, IMISC_USELAST = 0x14, IMISC_SCROLL = 0x15, IMISC_SCROLLT = 0x16, IMISC_STAFF = 0x17, IMISC_BOOK = 0x18, IMISC_RING = 0x19, IMISC_AMULET = 0x1A, IMISC_UNIQUE = 0x1B, IMISC_HEAL_1C = 0x1C, IMISC_OILFIRST = 0x1D, IMISC_OILOF = 0x1E, /* oils are beta or hellfire only */ IMISC_OILACC = 0x1F, IMISC_OILMAST = 0x20, IMISC_OILSHARP = 0x21, IMISC_OILDEATH = 0x22, IMISC_OILSKILL = 0x23, IMISC_OILBSMTH = 0x24, IMISC_OILFORT = 0x25, IMISC_OILPERM = 0x26, IMISC_OILHARD = 0x27, IMISC_OILIMP = 0x28, IMISC_OILLAST = 0x29, IMISC_MAPOFDOOM = 0x2A, IMISC_EAR = 0x2B, IMISC_SPECELIX = 0x2C, IMISC_INVALID = 0xFFFFFFFF, }; enum item_type { ITYPE_MISC = 0x0, ITYPE_SWORD = 0x1, ITYPE_AXE = 0x2, ITYPE_BOW = 0x3, ITYPE_MACE = 0x4, ITYPE_SHIELD = 0x5, ITYPE_LARMOR = 0x6, ITYPE_HELM = 0x7, ITYPE_MARMOR = 0x8, ITYPE_HARMOR = 0x9, ITYPE_STAFF = 0xA, ITYPE_GOLD = 0xB, ITYPE_RING = 0xC, ITYPE_AMULET = 0xD, ITYPE_0E = 0xE, ITYPE_NONE = 0xFFFFFFFF, }; enum _item_indexes { IDI_GOLD = 0x0, IDI_WARRIOR = 0x1, IDI_WARRSHLD = 0x2, IDI_WARRCLUB = 0x3, IDI_ROGUE = 0x4, IDI_SORCEROR = 0x5, IDI_CLEAVER = 0x6, IDI_FIRSTQUEST = 0x6, IDI_SKCROWN = 0x7, IDI_INFRARING = 0x8, IDI_ROCK = 0x9, IDI_OPTAMULET = 0xA, IDI_TRING = 0xB, IDI_BANNER = 0xC, IDI_HARCREST = 0xD, IDI_STEELVEIL = 0xE, IDI_GLDNELIX = 0xF, IDI_ANVIL = 0x10, IDI_MUSHROOM = 0x11, IDI_BRAIN = 0x12, IDI_FUNGALTM = 0x13, IDI_SPECELIX = 0x14, IDI_BLDSTONE = 0x15, IDI_LASTQUEST = 0x16, IDI_MAPOFDOOM = 0x16, IDI_EAR = 0x17, IDI_HEAL = 0x18, IDI_MANA = 0x19, IDI_IDENTIFY = 0x1A, IDI_PORTAL = 0x1B, IDI_ARMOFVAL = 0x1C, IDI_FULLHEAL = 0x1D, IDI_FULLMANA = 0x1E, IDI_GRISWOLD = 0x1F, IDI_LGTFORGE = 0x20, IDI_LAZSTAFF = 0x21, IDI_RESURRECT = 0x22, }; enum _setlevels { //SL_BUTCHCHAMB = 0x0, SL_SKELKING = 0x1, SL_BONECHAMB = 0x2, SL_MAZE = 0x3, SL_POISONWATER = 0x4, SL_VILEBETRAYER = 0x5, }; enum quest_id { QTYPE_INFRA = 0x0, QTYPE_BLKM = 0x1, QTYPE_GARB = 0x2, QTYPE_ZHAR = 0x3, QTYPE_VEIL = 0x4, QTYPE_MOD = 0x5, QTYPE_BUTCH = 0x6, QTYPE_BOL = 0x7, QTYPE_BLIND = 0x8, QTYPE_BLOOD = 0x9, QTYPE_ANVIL = 0xA, QTYPE_WARLRD = 0xB, QTYPE_KING = 0xC, QTYPE_PW = 0xD, QTYPE_BONE = 0xE, QTYPE_VB = 0xF, QTYPE_INVALID = 0xFFFFFFFF, }; enum talk_id { STORE_NONE = 0x0, STORE_SMITH = 0x1, STORE_SBUY = 0x2, STORE_SSELL = 0x3, STORE_SREPAIR = 0x4, STORE_WITCH = 0x5, STORE_WBUY = 0x6, STORE_WSELL = 0x7, STORE_WRECHARGE = 0x8, STORE_NOMONEY = 0x9, STORE_NOROOM = 0xA, STORE_CONFIRM = 0xB, STORE_BOY = 0xC, STORE_BBOY = 0xD, STORE_HEALER = 0xE, STORE_STORY = 0xF, STORE_HBUY = 0x10, STORE_SIDENTIFY = 0x11, STORE_SPBUY = 0x12, STORE_GOSSIP = 0x13, STORE_IDSHOW = 0x14, STORE_TAVERN = 0x15, STORE_DRUNK = 0x16, STORE_BARMAID = 0x17, }; enum _unique_items { UITEM_CLEAVER = 0x0, UITEM_SKCROWN = 0x1, UITEM_INFRARING = 0x2, UITEM_OPTAMULET = 0x3, UITEM_TRING = 0x4, UITEM_HARCREST = 0x5, UITEM_STEELVEIL = 0x6, UITEM_ARMOFVAL = 0x7, UITEM_GRISWOLD = 0x8, UITEM_LGTFORGE = 0x9, UITEM_RIFTBOW = 0xA, UITEM_NEEDLER = 0xB, UITEM_CELESTBOW = 0xC, UITEM_DEADLYHUNT = 0xD, UITEM_BOWOFDEAD = 0xE, UITEM_BLKOAKBOW = 0xF, UITEM_FLAMEDART = 0x10, UITEM_FLESHSTING = 0x11, UITEM_WINDFORCE = 0x12, UITEM_EAGLEHORN = 0x13, UITEM_GONNAGALDIRK = 0x14, UITEM_DEFENDER = 0x15, UITEM_GRYPHONCLAW = 0x16, UITEM_BLACKRAZOR = 0x17, UITEM_GIBBOUSMOON = 0x18, UITEM_ICESHANK = 0x19, UITEM_EXECUTIONER = 0x1A, UITEM_BONESAW = 0x1B, UITEM_SHADHAWK = 0x1C, UITEM_WIZSPIKE = 0x1D, UITEM_LGTSABRE = 0x1E, UITEM_FALCONTALON = 0x1F, UITEM_INFERNO = 0x20, UITEM_DOOMBRINGER = 0x21, UITEM_GRIZZLY = 0x22, UITEM_GRANDFATHER = 0x23, UITEM_MANGLER = 0x24, UITEM_SHARPBEAK = 0x25, UITEM_BLOODLSLAYER = 0x26, UITEM_CELESTAXE = 0x27, UITEM_WICKEDAXE = 0x28, UITEM_STONECLEAV = 0x29, UITEM_AGUHATCHET = 0x2A, UITEM_HELLSLAYER = 0x2B, UITEM_MESSERREAVER = 0x2C, UITEM_CRACKRUST = 0x2D, UITEM_JHOLMHAMM = 0x2E, UITEM_CIVERBS = 0x2F, UITEM_CELESTSTAR = 0x30, UITEM_BARANSTAR = 0x31, UITEM_GNARLROOT = 0x32, UITEM_CRANBASH = 0x33, UITEM_SCHAEFHAMM = 0x34, UITEM_DREAMFLANGE = 0x35, UITEM_STAFFOFSHAD = 0x36, UITEM_IMMOLATOR = 0x37, UITEM_STORMSPIRE = 0x38, UITEM_GLEAMSONG = 0x39, UITEM_THUNDERCALL = 0x3A, UITEM_PROTECTOR = 0x3B, UITEM_NAJPUZZLE = 0x3C, UITEM_MINDCRY = 0x3D, UITEM_RODOFONAN = 0x3E, UITEM_SPIRITSHELM = 0x3F, UITEM_THINKINGCAP = 0x40, UITEM_OVERLORDHELM = 0x41, UITEM_FOOLSCREST = 0x42, UITEM_GOTTERDAM = 0x43, UITEM_ROYCIRCLET = 0x44, UITEM_TORNFLESH = 0x45, UITEM_GLADBANE = 0x46, UITEM_RAINCLOAK = 0x47, UITEM_LEATHAUT = 0x48, UITEM_WISDWRAP = 0x49, UITEM_SPARKMAIL = 0x4A, UITEM_SCAVCARAP = 0x4B, UITEM_NIGHTSCAPE = 0x4C, UITEM_NAJPLATE = 0x4D, UITEM_DEMONSPIKE = 0x4E, UITEM_DEFLECTOR = 0x4F, UITEM_SKULLSHLD = 0x50, UITEM_DRAGONBRCH = 0x51, UITEM_BLKOAKSHLD = 0x52, UITEM_HOLYDEF = 0x53, UITEM_STORMSHLD = 0x54, UITEM_BRAMBLE = 0x55, UITEM_REGHA = 0x56, UITEM_BLEEDER = 0x57, UITEM_CONSTRICT = 0x58, UITEM_ENGAGE = 0x59, UITEM_INVALID = 0x5A, }; enum _ui_classes { UI_WARRIOR = 0x0, UI_ROGUE = 0x1, UI_SORCERER = 0x2, UI_NUM_CLASSES = 0x3, }; enum _walk_path { WALK_NONE = 0x0, WALK_NE = 0x1, WALK_NW = 0x2, WALK_SE = 0x3, WALK_SW = 0x4, WALK_N = 0x5, WALK_E = 0x6, WALK_S = 0x7, WALK_W = 0x8, }; typedef enum { ICLASS_NONE = 0, ICLASS_WEAPON = 1, ICLASS_ARMOR = 2, ICLASS_MISC = 3, ICLASS_GOLD = 4, ICLASS_QUEST = 5, } item_class; typedef enum { IDROP_NEVER = 0, IDROP_REGULAR = 1, IDROP_DOUBLE = 2, } item_drop_rate; typedef enum { ISPL_NONE = 0x00000000, ISPL_INFRAVISION = 0x00000001, ISPL_RNDSTEALLIFE = 0x00000002, ISPL_RNDARROWVEL = 0x00000004, ISPL_FIRE_ARROWS = 0x00000008, ISPL_FIREDAM = 0x00000010, ISPL_LIGHTDAM = 0x00000020, ISPL_DRAINLIFE = 0x00000040, ISPL_UNKNOWN_1 = 0x00000080, ISPL_NOHEALPLR = 0x00000100, ISPL_UNKNOWN_2 = 0x00000200, ISPL_UNKNOWN_3 = 0x00000400, ISPL_KNOCKBACK = 0x00000800, ISPL_NOHEALMON = 0x00001000, ISPL_STEALMANA_3 = 0x00002000, ISPL_STEALMANA_5 = 0x00004000, ISPL_STEALLIFE_3 = 0x00008000, ISPL_STEALLIFE_5 = 0x00010000, ISPL_QUICKATTACK = 0x00020000, ISPL_FASTATTACK = 0x00040000, ISPL_FASTERATTACK = 0x00080000, ISPL_FASTESTATTACK = 0x00100000, ISPL_FASTRECOVER = 0x00200000, ISPL_FASTERRECOVER = 0x00400000, ISPL_FASTESTRECOVER = 0x00800000, ISPL_FASTBLOCK = 0x01000000, ISPL_LIGHT_ARROWS = 0x02000000, ISPL_THORNS = 0x04000000, ISPL_NOMANA = 0x08000000, ISPL_ABSHALFTRAP = 0x10000000, ISPL_UNKNOWN_4 = 0x20000000, ISPL_3XDAMVDEM = 0x40000000, ISPL_ALLRESZERO = 0x80000000, } item_special_effect;