|
|
|
|
@ -1,51 +1,785 @@
|
|
|
|
|
/**
|
|
|
|
|
* Resolving monster ID to art token (Code) and weapon class (BaseW).
|
|
|
|
|
* Mapping between MonStats.txt monster IDs (and demo monster IDs)
|
|
|
|
|
* to their visual DCC 2-character token (`Code`) and weapon class (`BaseW`).
|
|
|
|
|
* Auto-derived from MonStats.txt + MonStats2.txt across Acts 1..5.
|
|
|
|
|
*/
|
|
|
|
|
|
|
|
|
|
export interface MonsterArtSpec {
|
|
|
|
|
readonly token: string
|
|
|
|
|
readonly weapon: string
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* Built-in art mapping for standard Diablo II monsters.
|
|
|
|
|
* Keyed by monsterId (e.g. 'fallen1', 'zombie1').
|
|
|
|
|
* Complete monster ID -> art spec table for Acts 1..5.
|
|
|
|
|
*/
|
|
|
|
|
export const MONSTER_ART_MAP: Record<string, MonsterArtSpec> = {
|
|
|
|
|
// Act 1 Wilderness / Caves
|
|
|
|
|
'fallen1': { token: 'FA', weapon: 'hth' },
|
|
|
|
|
'fallen2': { token: 'FA', weapon: 'hth' },
|
|
|
|
|
'fallenshaman1': { token: 'FS', weapon: 'hth' },
|
|
|
|
|
'zombie1': { token: 'ZM', weapon: 'hth' },
|
|
|
|
|
'zombie2': { token: 'ZM', weapon: 'hth' },
|
|
|
|
|
'quillrat1': { token: 'SI', weapon: 'hth' },
|
|
|
|
|
'quillrat2': { token: 'SI', weapon: 'hth' },
|
|
|
|
|
'brute1': { token: 'YE', weapon: 'hth' },
|
|
|
|
|
'brute2': { token: 'YE', weapon: 'hth' },
|
|
|
|
|
'skeleton1': { token: 'SK', weapon: '1hs' },
|
|
|
|
|
'skeleton2': { token: 'SK', weapon: '1hs' },
|
|
|
|
|
'corruptrogue1': { token: 'CR', weapon: '1hs' },
|
|
|
|
|
'cr_archer1': { token: 'CR', weapon: 'bow' },
|
|
|
|
|
'cr_lancer1': { token: 'CR', weapon: '2ht' },
|
|
|
|
|
'goatman1': { token: 'GM', weapon: '2hs' },
|
|
|
|
|
'bloodraven': { token: 'CR', weapon: 'bow' },
|
|
|
|
|
'hellbovine': { token: 'CW', weapon: 'hth' },
|
|
|
|
|
'cow': { token: 'CW', weapon: 'hth' },
|
|
|
|
|
'demo-fallen': { token: 'FA', weapon: 'hth' },
|
|
|
|
|
'demo-zombie': { token: 'ZM', weapon: 'hth' },
|
|
|
|
|
'demo-skeleton': { token: 'SK', weapon: '1hs' },
|
|
|
|
|
"act2child": { token: "2C", weapon: "hth" },
|
|
|
|
|
"act2female": { token: "2F", weapon: "hth" },
|
|
|
|
|
"act2guard1": { token: "GU", weapon: "hth" },
|
|
|
|
|
"act2guard2": { token: "GU", weapon: "hth" },
|
|
|
|
|
"act2guard3": { token: "SK", weapon: "hth" },
|
|
|
|
|
"act2guard4": { token: "GU", weapon: "hth" },
|
|
|
|
|
"act2guard5": { token: "GU", weapon: "hth" },
|
|
|
|
|
"act2hire": { token: "GU", weapon: "hth" },
|
|
|
|
|
"act2male": { token: "2M", weapon: "hth" },
|
|
|
|
|
"act2vendor1": { token: "M1", weapon: "hth" },
|
|
|
|
|
"act2vendor2": { token: "M2", weapon: "hth" },
|
|
|
|
|
"act3female": { token: "N3", weapon: "hth" },
|
|
|
|
|
"act3hire": { token: "IW", weapon: "1hs" },
|
|
|
|
|
"act3male": { token: "N4", weapon: "hth" },
|
|
|
|
|
"act5barb1": { token: "0A", weapon: "1hs" },
|
|
|
|
|
"act5barb2": { token: "0A", weapon: "2hs" },
|
|
|
|
|
"act5barb3": { token: "0A", weapon: "1hs" },
|
|
|
|
|
"act5barb4": { token: "0A", weapon: "2hs" },
|
|
|
|
|
"act5hire1": { token: "0A", weapon: "1hs" },
|
|
|
|
|
"act5hire2": { token: "0A", weapon: "2hs" },
|
|
|
|
|
"act5pow": { token: "0A", weapon: "hth" },
|
|
|
|
|
"akara": { token: "PS", weapon: "hth" },
|
|
|
|
|
"alkor": { token: "AL", weapon: "hth" },
|
|
|
|
|
"ancientbarb1": { token: "0D", weapon: "hth" },
|
|
|
|
|
"ancientbarb2": { token: "0F", weapon: "hth" },
|
|
|
|
|
"ancientbarb3": { token: "0E", weapon: "hth" },
|
|
|
|
|
"ancientstatue1": { token: "0G", weapon: "hth" },
|
|
|
|
|
"ancientstatue2": { token: "0H", weapon: "hth" },
|
|
|
|
|
"ancientstatue3": { token: "0I", weapon: "hth" },
|
|
|
|
|
"andariel": { token: "AN", weapon: "hth" },
|
|
|
|
|
"arach1": { token: "SP", weapon: "hth" },
|
|
|
|
|
"arach2": { token: "SP", weapon: "hth" },
|
|
|
|
|
"arach3": { token: "SP", weapon: "hth" },
|
|
|
|
|
"arach4": { token: "SP", weapon: "hth" },
|
|
|
|
|
"arach5": { token: "SP", weapon: "hth" },
|
|
|
|
|
"arach6": { token: "SP", weapon: "hth" },
|
|
|
|
|
"arach7": { token: "SP", weapon: "hth" },
|
|
|
|
|
"asheara": { token: "AH", weapon: "hth" },
|
|
|
|
|
"atma": { token: "AS", weapon: "hth" },
|
|
|
|
|
"baalclone": { token: "42", weapon: "hth" },
|
|
|
|
|
"baalcrab": { token: "42", weapon: "hth" },
|
|
|
|
|
"baalcrabstairs": { token: "42", weapon: "hth" },
|
|
|
|
|
"baalhighpriest": { token: "HP", weapon: "hth" },
|
|
|
|
|
"baalminion1": { token: "43", weapon: "hth" },
|
|
|
|
|
"baalminion2": { token: "43", weapon: "hth" },
|
|
|
|
|
"baalminion3": { token: "43", weapon: "hth" },
|
|
|
|
|
"baaltaunt": { token: "K9", weapon: "hth" },
|
|
|
|
|
"baaltentacle1": { token: "44", weapon: "hth" },
|
|
|
|
|
"baaltentacle2": { token: "44", weapon: "hth" },
|
|
|
|
|
"baaltentacle3": { token: "44", weapon: "hth" },
|
|
|
|
|
"baaltentacle4": { token: "44", weapon: "hth" },
|
|
|
|
|
"baaltentacle5": { token: "44", weapon: "hth" },
|
|
|
|
|
"baalthrone": { token: "41", weapon: "hth" },
|
|
|
|
|
"baboon1": { token: "BB", weapon: "hth" },
|
|
|
|
|
"baboon2": { token: "BB", weapon: "hth" },
|
|
|
|
|
"baboon3": { token: "BB", weapon: "hth" },
|
|
|
|
|
"baboon4": { token: "BB", weapon: "hth" },
|
|
|
|
|
"baboon5": { token: "BB", weapon: "hth" },
|
|
|
|
|
"baboon6": { token: "BB", weapon: "hth" },
|
|
|
|
|
"baboon7": { token: "BB", weapon: "hth" },
|
|
|
|
|
"baboon8": { token: "BB", weapon: "hth" },
|
|
|
|
|
"barricadedoor1": { token: "AJ", weapon: "hth" },
|
|
|
|
|
"barricadedoor2": { token: "AG", weapon: "hth" },
|
|
|
|
|
"barricadetower": { token: "AC", weapon: "hth" },
|
|
|
|
|
"barricadewall1": { token: "A6", weapon: "hth" },
|
|
|
|
|
"barricadewall2": { token: "AK", weapon: "hth" },
|
|
|
|
|
"bat": { token: "B9", weapon: "hth" },
|
|
|
|
|
"batdemon1": { token: "BT", weapon: "hth" },
|
|
|
|
|
"batdemon2": { token: "BT", weapon: "hth" },
|
|
|
|
|
"batdemon3": { token: "BT", weapon: "hth" },
|
|
|
|
|
"batdemon4": { token: "BT", weapon: "hth" },
|
|
|
|
|
"batdemon5": { token: "BT", weapon: "hth" },
|
|
|
|
|
"batdemon6": { token: "BT", weapon: "hth" },
|
|
|
|
|
"batdemon7": { token: "BT", weapon: "hth" },
|
|
|
|
|
"bear": { token: "TG", weapon: "hth" },
|
|
|
|
|
"bighead1": { token: "BH", weapon: "hth" },
|
|
|
|
|
"bighead10": { token: "BH", weapon: "hth" },
|
|
|
|
|
"bighead2": { token: "BH", weapon: "hth" },
|
|
|
|
|
"bighead3": { token: "BH", weapon: "hth" },
|
|
|
|
|
"bighead4": { token: "BH", weapon: "hth" },
|
|
|
|
|
"bighead5": { token: "BH", weapon: "hth" },
|
|
|
|
|
"bighead6": { token: "BH", weapon: "hth" },
|
|
|
|
|
"bighead7": { token: "BH", weapon: "hth" },
|
|
|
|
|
"bighead8": { token: "BH", weapon: "hth" },
|
|
|
|
|
"bighead9": { token: "BH", weapon: "hth" },
|
|
|
|
|
"bird1": { token: "BS", weapon: "hth" },
|
|
|
|
|
"bird2": { token: "BL", weapon: "hth" },
|
|
|
|
|
"bladecreeper": { token: "B8", weapon: "hth" },
|
|
|
|
|
"bloodgolem": { token: "G2", weapon: "hth" },
|
|
|
|
|
"bloodlord1": { token: "L3", weapon: "hth" },
|
|
|
|
|
"bloodlord2": { token: "L3", weapon: "hth" },
|
|
|
|
|
"bloodlord3": { token: "L3", weapon: "hth" },
|
|
|
|
|
"bloodlord4": { token: "L3", weapon: "hth" },
|
|
|
|
|
"bloodlord5": { token: "L3", weapon: "hth" },
|
|
|
|
|
"bloodlord6": { token: "L3", weapon: "hth" },
|
|
|
|
|
"bloodlord7": { token: "L3", weapon: "hth" },
|
|
|
|
|
"bloodmage1": { token: "XX", weapon: "hth" },
|
|
|
|
|
"bloodmage2": { token: "XX", weapon: "hth" },
|
|
|
|
|
"bloodmage3": { token: "XX", weapon: "hth" },
|
|
|
|
|
"bloodmage4": { token: "XX", weapon: "hth" },
|
|
|
|
|
"bloodmage5": { token: "XX", weapon: "hth" },
|
|
|
|
|
"bloodraven": { token: "CR", weapon: "bow" },
|
|
|
|
|
"blunderbore1": { token: "PN", weapon: "hth" },
|
|
|
|
|
"blunderbore2": { token: "PN", weapon: "hth" },
|
|
|
|
|
"blunderbore3": { token: "PN", weapon: "hth" },
|
|
|
|
|
"blunderbore4": { token: "PN", weapon: "hth" },
|
|
|
|
|
"blunderbore5": { token: "PN", weapon: "hth" },
|
|
|
|
|
"blunderbore6": { token: "PN", weapon: "hth" },
|
|
|
|
|
"bonefetish1": { token: "FK", weapon: "1hs" },
|
|
|
|
|
"bonefetish2": { token: "FK", weapon: "1hs" },
|
|
|
|
|
"bonefetish3": { token: "FK", weapon: "1hs" },
|
|
|
|
|
"bonefetish4": { token: "FK", weapon: "1hs" },
|
|
|
|
|
"bonefetish5": { token: "FK", weapon: "1hs" },
|
|
|
|
|
"bonefetish6": { token: "FK", weapon: "1hs" },
|
|
|
|
|
"bonefetish7": { token: "FK", weapon: "1hs" },
|
|
|
|
|
"boneprison1": { token: "67", weapon: "hth" },
|
|
|
|
|
"boneprison2": { token: "66", weapon: "hth" },
|
|
|
|
|
"boneprison3": { token: "69", weapon: "hth" },
|
|
|
|
|
"boneprison4": { token: "68", weapon: "hth" },
|
|
|
|
|
"bonewall": { token: "BW", weapon: "hth" },
|
|
|
|
|
"brute": { token: "YE", weapon: "hth" },
|
|
|
|
|
"brute1": { token: "YE", weapon: "hth" },
|
|
|
|
|
"brute2": { token: "YE", weapon: "hth" },
|
|
|
|
|
"brute3": { token: "YE", weapon: "hth" },
|
|
|
|
|
"brute4": { token: "YE", weapon: "hth" },
|
|
|
|
|
"brute5": { token: "YE", weapon: "hth" },
|
|
|
|
|
"bug": { token: "BG", weapon: "hth" },
|
|
|
|
|
"bunny": { token: "48", weapon: "hth" },
|
|
|
|
|
"cain1": { token: "DC", weapon: "hth" },
|
|
|
|
|
"cain2": { token: "DC", weapon: "hth" },
|
|
|
|
|
"cain3": { token: "DC", weapon: "hth" },
|
|
|
|
|
"cain4": { token: "DC", weapon: "hth" },
|
|
|
|
|
"cain5": { token: "1D", weapon: "hth" },
|
|
|
|
|
"cain6": { token: "DC", weapon: "hth" },
|
|
|
|
|
"camel": { token: "CM", weapon: "hth" },
|
|
|
|
|
"cantor1": { token: "ZP", weapon: "hth" },
|
|
|
|
|
"cantor2": { token: "ZP", weapon: "hth" },
|
|
|
|
|
"cantor3": { token: "ZP", weapon: "hth" },
|
|
|
|
|
"cantor4": { token: "ZP", weapon: "hth" },
|
|
|
|
|
"cantor5": { token: "ZP", weapon: "hth" },
|
|
|
|
|
"cantor6": { token: "ZP", weapon: "hth" },
|
|
|
|
|
"catapult1": { token: "65", weapon: "hth" },
|
|
|
|
|
"catapult2": { token: "64", weapon: "hth" },
|
|
|
|
|
"catapult3": { token: "64", weapon: "hth" },
|
|
|
|
|
"catapult4": { token: "UA", weapon: "hth" },
|
|
|
|
|
"catapultspotter1": { token: "K9", weapon: "hth" },
|
|
|
|
|
"catapultspotter2": { token: "K9", weapon: "hth" },
|
|
|
|
|
"catapultspotter3": { token: "K9", weapon: "hth" },
|
|
|
|
|
"catapultspotter4": { token: "K9", weapon: "hth" },
|
|
|
|
|
"chaoshorde1": { token: "CH", weapon: "hth" },
|
|
|
|
|
"chaoshorde2": { token: "CH", weapon: "hth" },
|
|
|
|
|
"chaoshorde3": { token: "CH", weapon: "hth" },
|
|
|
|
|
"chaoshorde4": { token: "CH", weapon: "hth" },
|
|
|
|
|
"chargeboltsentry": { token: "LG", weapon: "hth" },
|
|
|
|
|
"charsi": { token: "CI", weapon: "hth" },
|
|
|
|
|
"chicken": { token: "CK", weapon: "hth" },
|
|
|
|
|
"clawviper1": { token: "SD", weapon: "hth" },
|
|
|
|
|
"clawviper10": { token: "SD", weapon: "hth" },
|
|
|
|
|
"clawviper2": { token: "SD", weapon: "hth" },
|
|
|
|
|
"clawviper3": { token: "SD", weapon: "hth" },
|
|
|
|
|
"clawviper4": { token: "SD", weapon: "hth" },
|
|
|
|
|
"clawviper5": { token: "SD", weapon: "hth" },
|
|
|
|
|
"clawviper6": { token: "SD", weapon: "hth" },
|
|
|
|
|
"clawviper7": { token: "SD", weapon: "hth" },
|
|
|
|
|
"clawviper8": { token: "SD", weapon: "hth" },
|
|
|
|
|
"clawviper9": { token: "SD", weapon: "hth" },
|
|
|
|
|
"claygolem": { token: "G1", weapon: "hth" },
|
|
|
|
|
"compellingorb": { token: "9A", weapon: "hth" },
|
|
|
|
|
"corruptrogue1": { token: "CR", weapon: "1hs" },
|
|
|
|
|
"corruptrogue2": { token: "CR", weapon: "1hs" },
|
|
|
|
|
"corruptrogue3": { token: "CR", weapon: "1hs" },
|
|
|
|
|
"corruptrogue4": { token: "CR", weapon: "1hs" },
|
|
|
|
|
"corruptrogue5": { token: "CR", weapon: "1hs" },
|
|
|
|
|
"corruptrogue6": { token: "CR", weapon: "1hs" },
|
|
|
|
|
"councilmember1": { token: "HP", weapon: "hth" },
|
|
|
|
|
"councilmember2": { token: "HP", weapon: "hth" },
|
|
|
|
|
"councilmember3": { token: "HP", weapon: "hth" },
|
|
|
|
|
"cow": { token: "CW", weapon: "hth" },
|
|
|
|
|
"cr_archer1": { token: "CR", weapon: "bow" },
|
|
|
|
|
"cr_archer2": { token: "CR", weapon: "bow" },
|
|
|
|
|
"cr_archer3": { token: "CR", weapon: "bow" },
|
|
|
|
|
"cr_archer4": { token: "CR", weapon: "bow" },
|
|
|
|
|
"cr_archer5": { token: "CR", weapon: "bow" },
|
|
|
|
|
"cr_archer6": { token: "CR", weapon: "bow" },
|
|
|
|
|
"cr_archer7": { token: "CR", weapon: "bow" },
|
|
|
|
|
"cr_archer8": { token: "CR", weapon: "bow" },
|
|
|
|
|
"cr_lancer1": { token: "CR", weapon: "2ht" },
|
|
|
|
|
"cr_lancer2": { token: "CR", weapon: "2ht" },
|
|
|
|
|
"cr_lancer3": { token: "CR", weapon: "2ht" },
|
|
|
|
|
"cr_lancer4": { token: "CR", weapon: "2ht" },
|
|
|
|
|
"cr_lancer5": { token: "CR", weapon: "2ht" },
|
|
|
|
|
"cr_lancer6": { token: "CR", weapon: "2ht" },
|
|
|
|
|
"cr_lancer7": { token: "CR", weapon: "2ht" },
|
|
|
|
|
"cr_lancer8": { token: "CR", weapon: "2ht" },
|
|
|
|
|
"crownest1": { token: "BN", weapon: "hth" },
|
|
|
|
|
"crownest2": { token: "BN", weapon: "hth" },
|
|
|
|
|
"crownest3": { token: "BN", weapon: "hth" },
|
|
|
|
|
"crownest4": { token: "BN", weapon: "hth" },
|
|
|
|
|
"cycleoflife": { token: "K9", weapon: "hth" },
|
|
|
|
|
"darkguard1": { token: "XX", weapon: "hth" },
|
|
|
|
|
"darkguard2": { token: "XX", weapon: "hth" },
|
|
|
|
|
"darkguard3": { token: "XX", weapon: "hth" },
|
|
|
|
|
"darkguard4": { token: "XX", weapon: "hth" },
|
|
|
|
|
"darkguard5": { token: "XX", weapon: "hth" },
|
|
|
|
|
"darkwanderer": { token: "1Z", weapon: "hth" },
|
|
|
|
|
"deathmauler1": { token: "M5", weapon: "hth" },
|
|
|
|
|
"deathmauler2": { token: "M5", weapon: "hth" },
|
|
|
|
|
"deathmauler3": { token: "M5", weapon: "hth" },
|
|
|
|
|
"deathmauler4": { token: "M5", weapon: "hth" },
|
|
|
|
|
"deathmauler5": { token: "M5", weapon: "hth" },
|
|
|
|
|
"deathmauler6": { token: "M5", weapon: "hth" },
|
|
|
|
|
"deathsentry": { token: "LG", weapon: "hth" },
|
|
|
|
|
"demonhole": { token: "EH", weapon: "hth" },
|
|
|
|
|
"demonspawner": { token: "XA", weapon: "hth" },
|
|
|
|
|
"diablo": { token: "DI", weapon: "hth" },
|
|
|
|
|
"diabloclone": { token: "DI", weapon: "hth" },
|
|
|
|
|
"dkfig1": { token: "UM", weapon: "fgt" },
|
|
|
|
|
"dkfig2": { token: "UM", weapon: "fgt" },
|
|
|
|
|
"dkmag1": { token: "UM", weapon: "mgk" },
|
|
|
|
|
"dkmag2": { token: "UM", weapon: "mgk" },
|
|
|
|
|
"dkmag3": { token: "UM", weapon: "mgk" },
|
|
|
|
|
"doomknight1": { token: "UM", weapon: "fgt" },
|
|
|
|
|
"doomknight2": { token: "UM", weapon: "hth" },
|
|
|
|
|
"doomknight3": { token: "UM", weapon: "mgk" },
|
|
|
|
|
"dopplezon": { token: "VK", weapon: "hth" },
|
|
|
|
|
"drehya": { token: "XS", weapon: "hth" },
|
|
|
|
|
"drehyaiced": { token: "XS", weapon: "hth" },
|
|
|
|
|
"drognan": { token: "DR", weapon: "hth" },
|
|
|
|
|
"druidbear": { token: "B7", weapon: "hth" },
|
|
|
|
|
"druidhawk": { token: "HK", weapon: "hth" },
|
|
|
|
|
"duriel": { token: "DU", weapon: "hth" },
|
|
|
|
|
"eagle": { token: "EG", weapon: "hth" },
|
|
|
|
|
"elzix": { token: "EL", weapon: "hth" },
|
|
|
|
|
"evilhole1": { token: "EH", weapon: "hth" },
|
|
|
|
|
"evilhole2": { token: "EH", weapon: "hth" },
|
|
|
|
|
"evilhole3": { token: "EH", weapon: "hth" },
|
|
|
|
|
"evilhole4": { token: "EH", weapon: "hth" },
|
|
|
|
|
"evilhole5": { token: "EH", weapon: "hth" },
|
|
|
|
|
"evilhut": { token: "2T", weapon: "hth" },
|
|
|
|
|
"fallen": { token: "FA", weapon: "hth" },
|
|
|
|
|
"fallen1": { token: "FA", weapon: "hth" },
|
|
|
|
|
"fallen2": { token: "FA", weapon: "hth" },
|
|
|
|
|
"fallen3": { token: "FA", weapon: "hth" },
|
|
|
|
|
"fallen4": { token: "FA", weapon: "hth" },
|
|
|
|
|
"fallen5": { token: "FA", weapon: "hth" },
|
|
|
|
|
"fallen6": { token: "FA", weapon: "hth" },
|
|
|
|
|
"fallen7": { token: "FA", weapon: "hth" },
|
|
|
|
|
"fallen8": { token: "FA", weapon: "hth" },
|
|
|
|
|
"fallenshaman": { token: "FS", weapon: "hth" },
|
|
|
|
|
"fallenshaman1": { token: "FS", weapon: "hth" },
|
|
|
|
|
"fallenshaman2": { token: "FS", weapon: "hth" },
|
|
|
|
|
"fallenshaman3": { token: "FS", weapon: "hth" },
|
|
|
|
|
"fallenshaman4": { token: "FS", weapon: "hth" },
|
|
|
|
|
"fallenshaman5": { token: "FS", weapon: "hth" },
|
|
|
|
|
"fallenshaman6": { token: "FS", weapon: "hth" },
|
|
|
|
|
"fallenshaman7": { token: "FS", weapon: "hth" },
|
|
|
|
|
"fallenshaman8": { token: "FS", weapon: "hth" },
|
|
|
|
|
"familiar": { token: "FI", weapon: "hth" },
|
|
|
|
|
"fara": { token: "OF", weapon: "hth" },
|
|
|
|
|
"fenris": { token: "WF", weapon: "hth" },
|
|
|
|
|
"fetish1": { token: "FE", weapon: "1hs" },
|
|
|
|
|
"fetish11": { token: "FE", weapon: "1hs" },
|
|
|
|
|
"fetish2": { token: "FE", weapon: "1hs" },
|
|
|
|
|
"fetish3": { token: "FE", weapon: "1hs" },
|
|
|
|
|
"fetish4": { token: "FE", weapon: "1hs" },
|
|
|
|
|
"fetish5": { token: "FE", weapon: "1hs" },
|
|
|
|
|
"fetish6": { token: "FE", weapon: "1hs" },
|
|
|
|
|
"fetish7": { token: "FE", weapon: "1hs" },
|
|
|
|
|
"fetish8": { token: "FE", weapon: "1hs" },
|
|
|
|
|
"fetishblow1": { token: "FC", weapon: "hth" },
|
|
|
|
|
"fetishblow2": { token: "FC", weapon: "hth" },
|
|
|
|
|
"fetishblow3": { token: "FC", weapon: "hth" },
|
|
|
|
|
"fetishblow4": { token: "FC", weapon: "hth" },
|
|
|
|
|
"fetishblow5": { token: "FC", weapon: "hth" },
|
|
|
|
|
"fetishblow6": { token: "FC", weapon: "hth" },
|
|
|
|
|
"fetishblow7": { token: "FC", weapon: "hth" },
|
|
|
|
|
"fetishblow8": { token: "FC", weapon: "hth" },
|
|
|
|
|
"fetishshaman1": { token: "FW", weapon: "hth" },
|
|
|
|
|
"fetishshaman2": { token: "FW", weapon: "hth" },
|
|
|
|
|
"fetishshaman3": { token: "FW", weapon: "hth" },
|
|
|
|
|
"fetishshaman4": { token: "FW", weapon: "hth" },
|
|
|
|
|
"fetishshaman5": { token: "FW", weapon: "hth" },
|
|
|
|
|
"fetishshaman6": { token: "FW", weapon: "hth" },
|
|
|
|
|
"fetishshaman7": { token: "FW", weapon: "hth" },
|
|
|
|
|
"fetishshaman8": { token: "FW", weapon: "hth" },
|
|
|
|
|
"fingermage1": { token: "FR", weapon: "hth" },
|
|
|
|
|
"fingermage2": { token: "FR", weapon: "hth" },
|
|
|
|
|
"fingermage3": { token: "FR", weapon: "hth" },
|
|
|
|
|
"fingermage4": { token: "FR", weapon: "hth" },
|
|
|
|
|
"fingermage5": { token: "FR", weapon: "hth" },
|
|
|
|
|
"firebeast": { token: "FM", weapon: "hth" },
|
|
|
|
|
"firegolem": { token: "G3", weapon: "hth" },
|
|
|
|
|
"firetower": { token: "PB", weapon: "hth" },
|
|
|
|
|
"fish": { token: "FJ", weapon: "hth" },
|
|
|
|
|
"flyingscimitar": { token: "ST", weapon: "hth" },
|
|
|
|
|
"foulcrow1": { token: "BK", weapon: "hth" },
|
|
|
|
|
"foulcrow2": { token: "BK", weapon: "hth" },
|
|
|
|
|
"foulcrow3": { token: "BK", weapon: "hth" },
|
|
|
|
|
"foulcrow4": { token: "BK", weapon: "hth" },
|
|
|
|
|
"foulcrow5": { token: "BK", weapon: "hth" },
|
|
|
|
|
"foulcrow6": { token: "BK", weapon: "hth" },
|
|
|
|
|
"foulcrow7": { token: "BK", weapon: "hth" },
|
|
|
|
|
"foulcrow8": { token: "BK", weapon: "hth" },
|
|
|
|
|
"frogdemon1": { token: "FD", weapon: "hth" },
|
|
|
|
|
"frogdemon2": { token: "FD", weapon: "hth" },
|
|
|
|
|
"frogdemon3": { token: "FD", weapon: "hth" },
|
|
|
|
|
"frozenhorror1": { token: "F0", weapon: "hth" },
|
|
|
|
|
"frozenhorror2": { token: "F0", weapon: "hth" },
|
|
|
|
|
"frozenhorror3": { token: "F0", weapon: "hth" },
|
|
|
|
|
"frozenhorror4": { token: "F0", weapon: "hth" },
|
|
|
|
|
"frozenhorror5": { token: "F0", weapon: "hth" },
|
|
|
|
|
"gargoyletrap": { token: "GT", weapon: "hth" },
|
|
|
|
|
"geglash": { token: "GE", weapon: "hth" },
|
|
|
|
|
"gheed": { token: "GH", weapon: "hth" },
|
|
|
|
|
"goatman1": { token: "GM", weapon: "2hs" },
|
|
|
|
|
"goatman10": { token: "GM", weapon: "2hs" },
|
|
|
|
|
"goatman2": { token: "GM", weapon: "2hs" },
|
|
|
|
|
"goatman3": { token: "GM", weapon: "2hs" },
|
|
|
|
|
"goatman4": { token: "GM", weapon: "2hs" },
|
|
|
|
|
"goatman5": { token: "GM", weapon: "2hs" },
|
|
|
|
|
"goatman6": { token: "GM", weapon: "2hs" },
|
|
|
|
|
"goatman7": { token: "GM", weapon: "2hs" },
|
|
|
|
|
"goatman8": { token: "GM", weapon: "2hs" },
|
|
|
|
|
"goatman9": { token: "GM", weapon: "2hs" },
|
|
|
|
|
"gorgon1": { token: "GO", weapon: "hth" },
|
|
|
|
|
"gorgon2": { token: "GO", weapon: "hth" },
|
|
|
|
|
"gorgon3": { token: "GO", weapon: "hth" },
|
|
|
|
|
"gorgon4": { token: "GO", weapon: "hth" },
|
|
|
|
|
"greiz": { token: "GR", weapon: "hth" },
|
|
|
|
|
"griswold": { token: "GZ", weapon: "hth" },
|
|
|
|
|
"halbu": { token: "20", weapon: "hth" },
|
|
|
|
|
"heartofwolverine": { token: "X3", weapon: "hth" },
|
|
|
|
|
"hellbovine": { token: "CW", weapon: "hth" },
|
|
|
|
|
"hellmeteor": { token: "K9", weapon: "hth" },
|
|
|
|
|
"hephasto": { token: "5P", weapon: "hth" },
|
|
|
|
|
"hratli": { token: "HR", weapon: "hth" },
|
|
|
|
|
"hydra1": { token: "HX", weapon: "hth" },
|
|
|
|
|
"hydra2": { token: "21", weapon: "hth" },
|
|
|
|
|
"hydra3": { token: "HZ", weapon: "hth" },
|
|
|
|
|
"iceglobe": { token: "IM", weapon: "hth" },
|
|
|
|
|
"imp1": { token: "IP", weapon: "hth" },
|
|
|
|
|
"imp2": { token: "IP", weapon: "hth" },
|
|
|
|
|
"imp3": { token: "IP", weapon: "hth" },
|
|
|
|
|
"imp4": { token: "IP", weapon: "hth" },
|
|
|
|
|
"imp5": { token: "IP", weapon: "hth" },
|
|
|
|
|
"imp6": { token: "IP", weapon: "hth" },
|
|
|
|
|
"imp7": { token: "IP", weapon: "hth" },
|
|
|
|
|
"imp8": { token: "IP", weapon: "hth" },
|
|
|
|
|
"infernosentry": { token: "E9", weapon: "hth" },
|
|
|
|
|
"injuredbarb1": { token: "6Z", weapon: "hth" },
|
|
|
|
|
"injuredbarb2": { token: "7J", weapon: "hth" },
|
|
|
|
|
"injuredbarb3": { token: "7I", weapon: "hth" },
|
|
|
|
|
"invisopet": { token: "K9", weapon: "hth" },
|
|
|
|
|
"invisospawner": { token: "K9", weapon: "hth" },
|
|
|
|
|
"irongolem": { token: "G4", weapon: "hth" },
|
|
|
|
|
"izual": { token: "22", weapon: "hth" },
|
|
|
|
|
"izualghost": { token: "17", weapon: "hth" },
|
|
|
|
|
"jamella": { token: "JA", weapon: "hth" },
|
|
|
|
|
"jerhyn": { token: "JE", weapon: "hth" },
|
|
|
|
|
"kashya": { token: "RC", weapon: "hth" },
|
|
|
|
|
"larva": { token: "LV", weapon: "hth" },
|
|
|
|
|
"larzuk": { token: "XR", weapon: "hth" },
|
|
|
|
|
"lightningbeast": { token: "XX", weapon: "hth" },
|
|
|
|
|
"lightningsentry": { token: "LG", weapon: "hth" },
|
|
|
|
|
"lightningspire": { token: "AE", weapon: "hth" },
|
|
|
|
|
"lysander": { token: "LY", weapon: "hth" },
|
|
|
|
|
"maggot": { token: "MA", weapon: "hth" },
|
|
|
|
|
"maggotbaby1": { token: "SB", weapon: "hth" },
|
|
|
|
|
"maggotbaby2": { token: "SB", weapon: "hth" },
|
|
|
|
|
"maggotbaby3": { token: "SB", weapon: "hth" },
|
|
|
|
|
"maggotbaby4": { token: "SB", weapon: "hth" },
|
|
|
|
|
"maggotbaby5": { token: "SB", weapon: "hth" },
|
|
|
|
|
"maggotbaby6": { token: "SB", weapon: "hth" },
|
|
|
|
|
"maggotegg1": { token: "SE", weapon: "hth" },
|
|
|
|
|
"maggotegg2": { token: "SE", weapon: "hth" },
|
|
|
|
|
"maggotegg3": { token: "SE", weapon: "hth" },
|
|
|
|
|
"maggotegg4": { token: "SE", weapon: "hth" },
|
|
|
|
|
"maggotegg5": { token: "SE", weapon: "hth" },
|
|
|
|
|
"maggotegg6": { token: "SE", weapon: "hth" },
|
|
|
|
|
"maggotqueen1": { token: "MQ", weapon: "hth" },
|
|
|
|
|
"maggotqueen2": { token: "MQ", weapon: "hth" },
|
|
|
|
|
"maggotqueen3": { token: "MQ", weapon: "hth" },
|
|
|
|
|
"maggotqueen4": { token: "MQ", weapon: "hth" },
|
|
|
|
|
"maggotqueen5": { token: "MQ", weapon: "hth" },
|
|
|
|
|
"malachai": { token: "36", weapon: "hth" },
|
|
|
|
|
"malah": { token: "XT", weapon: "hth" },
|
|
|
|
|
"megademon1": { token: "DM", weapon: "hth" },
|
|
|
|
|
"megademon2": { token: "DM", weapon: "hth" },
|
|
|
|
|
"megademon3": { token: "DM", weapon: "hth" },
|
|
|
|
|
"megademon4": { token: "DM", weapon: "hth" },
|
|
|
|
|
"megademon5": { token: "DM", weapon: "hth" },
|
|
|
|
|
"megademon6": { token: "DM", weapon: "hth" },
|
|
|
|
|
"mephisto": { token: "MP", weapon: "hth" },
|
|
|
|
|
"mephistospirit": { token: "M6", weapon: "hth" },
|
|
|
|
|
"meshif1": { token: "MS", weapon: "hth" },
|
|
|
|
|
"meshif2": { token: "M3", weapon: "hth" },
|
|
|
|
|
"minion1": { token: "XX", weapon: "hth" },
|
|
|
|
|
"minion10": { token: "XX", weapon: "hth" },
|
|
|
|
|
"minion11": { token: "XX", weapon: "hth" },
|
|
|
|
|
"minion2": { token: "XX", weapon: "hth" },
|
|
|
|
|
"minion3": { token: "XX", weapon: "hth" },
|
|
|
|
|
"minion4": { token: "XX", weapon: "hth" },
|
|
|
|
|
"minion5": { token: "XX", weapon: "hth" },
|
|
|
|
|
"minion6": { token: "XX", weapon: "hth" },
|
|
|
|
|
"minion7": { token: "XX", weapon: "hth" },
|
|
|
|
|
"minion8": { token: "XX", weapon: "hth" },
|
|
|
|
|
"minion9": { token: "XX", weapon: "hth" },
|
|
|
|
|
"minionspawner1": { token: "XA", weapon: "hth" },
|
|
|
|
|
"minionspawner2": { token: "XA", weapon: "hth" },
|
|
|
|
|
"minionspawner3": { token: "XA", weapon: "hth" },
|
|
|
|
|
"minionspawner4": { token: "XA", weapon: "hth" },
|
|
|
|
|
"minionspawner5": { token: "XA", weapon: "hth" },
|
|
|
|
|
"minionspawner6": { token: "XA", weapon: "hth" },
|
|
|
|
|
"minionspawner7": { token: "XA", weapon: "hth" },
|
|
|
|
|
"minionspawner8": { token: "XA", weapon: "hth" },
|
|
|
|
|
"minispider": { token: "LS", weapon: "hth" },
|
|
|
|
|
"mosquito1": { token: "MO", weapon: "hth" },
|
|
|
|
|
"mosquito2": { token: "MO", weapon: "hth" },
|
|
|
|
|
"mosquito3": { token: "MO", weapon: "hth" },
|
|
|
|
|
"mosquito4": { token: "MO", weapon: "hth" },
|
|
|
|
|
"mummy1": { token: "MM", weapon: "hth" },
|
|
|
|
|
"mummy2": { token: "MM", weapon: "hth" },
|
|
|
|
|
"mummy3": { token: "MM", weapon: "hth" },
|
|
|
|
|
"mummy4": { token: "MM", weapon: "hth" },
|
|
|
|
|
"mummy5": { token: "MM", weapon: "hth" },
|
|
|
|
|
"mummy6": { token: "MM", weapon: "hth" },
|
|
|
|
|
"natalya": { token: "TZ", weapon: "hth" },
|
|
|
|
|
"navi": { token: "RG", weapon: "hth" },
|
|
|
|
|
"necromage": { token: "SK", weapon: "hth" },
|
|
|
|
|
"necroskeleton": { token: "SK", weapon: "1hs" },
|
|
|
|
|
"nihlathak": { token: "0J", weapon: "hth" },
|
|
|
|
|
"nihlathakboss": { token: "XU", weapon: "hth" },
|
|
|
|
|
"oaksage": { token: "XW", weapon: "hth" },
|
|
|
|
|
"ormus": { token: "OR", weapon: "hth" },
|
|
|
|
|
"overseer1": { token: "OS", weapon: "hth" },
|
|
|
|
|
"overseer2": { token: "OS", weapon: "hth" },
|
|
|
|
|
"overseer3": { token: "OS", weapon: "hth" },
|
|
|
|
|
"overseer4": { token: "OS", weapon: "hth" },
|
|
|
|
|
"overseer5": { token: "OS", weapon: "hth" },
|
|
|
|
|
"overseer6": { token: "OS", weapon: "hth" },
|
|
|
|
|
"painworm1": { token: "46", weapon: "hth" },
|
|
|
|
|
"painworm2": { token: "46", weapon: "hth" },
|
|
|
|
|
"painworm3": { token: "46", weapon: "hth" },
|
|
|
|
|
"painworm4": { token: "46", weapon: "hth" },
|
|
|
|
|
"painworm5": { token: "46", weapon: "hth" },
|
|
|
|
|
"pantherwoman1": { token: "PW", weapon: "hth" },
|
|
|
|
|
"pantherwoman2": { token: "PW", weapon: "hth" },
|
|
|
|
|
"pantherwoman3": { token: "PW", weapon: "hth" },
|
|
|
|
|
"pantherwoman4": { token: "PW", weapon: "hth" },
|
|
|
|
|
"pantherwoman5": { token: "PW", weapon: "hth" },
|
|
|
|
|
"pantherwoman6": { token: "PW", weapon: "hth" },
|
|
|
|
|
"parrot": { token: "PR", weapon: "hth" },
|
|
|
|
|
"plaguepoppy": { token: "K9", weapon: "hth" },
|
|
|
|
|
"poisonorb": { token: "PM", weapon: "hth" },
|
|
|
|
|
"prisondoor": { token: "2Q", weapon: "hth" },
|
|
|
|
|
"putriddefiler1": { token: "45", weapon: "hth" },
|
|
|
|
|
"putriddefiler2": { token: "45", weapon: "hth" },
|
|
|
|
|
"putriddefiler3": { token: "45", weapon: "hth" },
|
|
|
|
|
"putriddefiler4": { token: "45", weapon: "hth" },
|
|
|
|
|
"putriddefiler5": { token: "45", weapon: "hth" },
|
|
|
|
|
"qual-kehk": { token: "XV", weapon: "hth" },
|
|
|
|
|
"quill": { token: "SI", weapon: "hth" },
|
|
|
|
|
"quillbear1": { token: "S7", weapon: "hth" },
|
|
|
|
|
"quillbear2": { token: "S7", weapon: "hth" },
|
|
|
|
|
"quillbear3": { token: "S7", weapon: "hth" },
|
|
|
|
|
"quillbear4": { token: "S7", weapon: "hth" },
|
|
|
|
|
"quillbear5": { token: "S7", weapon: "hth" },
|
|
|
|
|
"quillrat": { token: "SI", weapon: "hth" },
|
|
|
|
|
"quillrat1": { token: "SI", weapon: "hth" },
|
|
|
|
|
"quillrat2": { token: "SI", weapon: "hth" },
|
|
|
|
|
"quillrat3": { token: "SI", weapon: "hth" },
|
|
|
|
|
"quillrat4": { token: "SI", weapon: "hth" },
|
|
|
|
|
"quillrat5": { token: "SI", weapon: "hth" },
|
|
|
|
|
"quillrat6": { token: "SI", weapon: "hth" },
|
|
|
|
|
"quillrat7": { token: "SI", weapon: "hth" },
|
|
|
|
|
"quillrat8": { token: "SI", weapon: "hth" },
|
|
|
|
|
"radament": { token: "RD", weapon: "hth" },
|
|
|
|
|
"rat": { token: "RT", weapon: "hth" },
|
|
|
|
|
"reanimatedhorde1": { token: "RE", weapon: "hth" },
|
|
|
|
|
"reanimatedhorde2": { token: "RE", weapon: "hth" },
|
|
|
|
|
"reanimatedhorde3": { token: "RE", weapon: "hth" },
|
|
|
|
|
"reanimatedhorde4": { token: "RE", weapon: "hth" },
|
|
|
|
|
"reanimatedhorde5": { token: "RE", weapon: "hth" },
|
|
|
|
|
"reanimatedhorde6": { token: "RE", weapon: "hth" },
|
|
|
|
|
"regurgitator1": { token: "CS", weapon: "hth" },
|
|
|
|
|
"regurgitator2": { token: "CS", weapon: "hth" },
|
|
|
|
|
"regurgitator3": { token: "CS", weapon: "hth" },
|
|
|
|
|
"regurgitator4": { token: "CS", weapon: "hth" },
|
|
|
|
|
"rogue1": { token: "RG", weapon: "hth" },
|
|
|
|
|
"rogue2": { token: "RG", weapon: "hth" },
|
|
|
|
|
"rogue3": { token: "RG", weapon: "hth" },
|
|
|
|
|
"roguehire": { token: "RG", weapon: "hth" },
|
|
|
|
|
"sandleaper1": { token: "SL", weapon: "hth" },
|
|
|
|
|
"sandleaper2": { token: "SL", weapon: "hth" },
|
|
|
|
|
"sandleaper3": { token: "SL", weapon: "hth" },
|
|
|
|
|
"sandleaper4": { token: "SL", weapon: "hth" },
|
|
|
|
|
"sandleaper5": { token: "SL", weapon: "hth" },
|
|
|
|
|
"sandleaper6": { token: "SL", weapon: "hth" },
|
|
|
|
|
"sandleaper7": { token: "SL", weapon: "hth" },
|
|
|
|
|
"sandmaggot1": { token: "SM", weapon: "hth" },
|
|
|
|
|
"sandmaggot2": { token: "SM", weapon: "hth" },
|
|
|
|
|
"sandmaggot3": { token: "SM", weapon: "hth" },
|
|
|
|
|
"sandmaggot4": { token: "SM", weapon: "hth" },
|
|
|
|
|
"sandmaggot5": { token: "SM", weapon: "hth" },
|
|
|
|
|
"sandmaggot6": { token: "SM", weapon: "hth" },
|
|
|
|
|
"sandmaggot7": { token: "SM", weapon: "hth" },
|
|
|
|
|
"sandraider1": { token: "SR", weapon: "hth" },
|
|
|
|
|
"sandraider10": { token: "SR", weapon: "hth" },
|
|
|
|
|
"sandraider2": { token: "SR", weapon: "hth" },
|
|
|
|
|
"sandraider3": { token: "SR", weapon: "hth" },
|
|
|
|
|
"sandraider4": { token: "SR", weapon: "hth" },
|
|
|
|
|
"sandraider5": { token: "SR", weapon: "hth" },
|
|
|
|
|
"sandraider6": { token: "SR", weapon: "hth" },
|
|
|
|
|
"sandraider7": { token: "SR", weapon: "hth" },
|
|
|
|
|
"sandraider8": { token: "SR", weapon: "hth" },
|
|
|
|
|
"sandraider9": { token: "SR", weapon: "hth" },
|
|
|
|
|
"sarcophagus": { token: "MG", weapon: "hth" },
|
|
|
|
|
"scarab1": { token: "SC", weapon: "hth" },
|
|
|
|
|
"scarab2": { token: "SC", weapon: "hth" },
|
|
|
|
|
"scarab3": { token: "SC", weapon: "hth" },
|
|
|
|
|
"scarab4": { token: "SC", weapon: "hth" },
|
|
|
|
|
"scarab5": { token: "SC", weapon: "hth" },
|
|
|
|
|
"scarab6": { token: "SC", weapon: "hth" },
|
|
|
|
|
"scarab7": { token: "SC", weapon: "hth" },
|
|
|
|
|
"scarab8": { token: "SC", weapon: "hth" },
|
|
|
|
|
"scorpion": { token: "DS", weapon: "hth" },
|
|
|
|
|
"seventombs": { token: "9A", weapon: "hth" },
|
|
|
|
|
"shadowmaster": { token: "K9", weapon: "hth" },
|
|
|
|
|
"shadowwarrior": { token: "K9", weapon: "hth" },
|
|
|
|
|
"siegebeast1": { token: "OX", weapon: "hth" },
|
|
|
|
|
"siegebeast2": { token: "OX", weapon: "hth" },
|
|
|
|
|
"siegebeast3": { token: "OX", weapon: "hth" },
|
|
|
|
|
"siegebeast4": { token: "OX", weapon: "hth" },
|
|
|
|
|
"siegebeast5": { token: "OX", weapon: "hth" },
|
|
|
|
|
"sk_archer1": { token: "SK", weapon: "bow" },
|
|
|
|
|
"sk_archer10": { token: "SK", weapon: "bow" },
|
|
|
|
|
"sk_archer11": { token: "SK", weapon: "bow" },
|
|
|
|
|
"sk_archer2": { token: "SK", weapon: "bow" },
|
|
|
|
|
"sk_archer3": { token: "SK", weapon: "bow" },
|
|
|
|
|
"sk_archer4": { token: "SK", weapon: "bow" },
|
|
|
|
|
"sk_archer5": { token: "SK", weapon: "bow" },
|
|
|
|
|
"sk_archer6": { token: "SK", weapon: "bow" },
|
|
|
|
|
"sk_archer7": { token: "SK", weapon: "bow" },
|
|
|
|
|
"sk_archer8": { token: "SK", weapon: "bow" },
|
|
|
|
|
"sk_archer9": { token: "SK", weapon: "bow" },
|
|
|
|
|
"skeleton": { token: "SK", weapon: "hth" },
|
|
|
|
|
"skeleton1": { token: "SK", weapon: "1hs" },
|
|
|
|
|
"skeleton2": { token: "SK", weapon: "1hs" },
|
|
|
|
|
"skeleton3": { token: "SK", weapon: "1hs" },
|
|
|
|
|
"skeleton4": { token: "SK", weapon: "1hs" },
|
|
|
|
|
"skeleton5": { token: "SK", weapon: "1hs" },
|
|
|
|
|
"skeleton6": { token: "SK", weapon: "1hs" },
|
|
|
|
|
"skeleton7": { token: "SK", weapon: "1hs" },
|
|
|
|
|
"skeleton8": { token: "SK", weapon: "1hs" },
|
|
|
|
|
"skmage_cold1": { token: "SK", weapon: "hth" },
|
|
|
|
|
"skmage_cold2": { token: "SK", weapon: "hth" },
|
|
|
|
|
"skmage_cold3": { token: "SK", weapon: "hth" },
|
|
|
|
|
"skmage_cold4": { token: "SK", weapon: "hth" },
|
|
|
|
|
"skmage_cold5": { token: "SK", weapon: "hth" },
|
|
|
|
|
"skmage_cold6": { token: "SK", weapon: "hth" },
|
|
|
|
|
"skmage_fire1": { token: "SK", weapon: "hth" },
|
|
|
|
|
"skmage_fire2": { token: "SK", weapon: "hth" },
|
|
|
|
|
"skmage_fire3": { token: "SK", weapon: "hth" },
|
|
|
|
|
"skmage_fire4": { token: "SK", weapon: "hth" },
|
|
|
|
|
"skmage_fire5": { token: "SK", weapon: "hth" },
|
|
|
|
|
"skmage_fire6": { token: "SK", weapon: "hth" },
|
|
|
|
|
"skmage_fire7": { token: "SK", weapon: "hth" },
|
|
|
|
|
"skmage_ltng1": { token: "SK", weapon: "hth" },
|
|
|
|
|
"skmage_ltng2": { token: "SK", weapon: "hth" },
|
|
|
|
|
"skmage_ltng3": { token: "SK", weapon: "hth" },
|
|
|
|
|
"skmage_ltng4": { token: "SK", weapon: "hth" },
|
|
|
|
|
"skmage_ltng5": { token: "SK", weapon: "hth" },
|
|
|
|
|
"skmage_ltng6": { token: "SK", weapon: "hth" },
|
|
|
|
|
"skmage_ltng7": { token: "SK", weapon: "hth" },
|
|
|
|
|
"skmage_pois1": { token: "SK", weapon: "hth" },
|
|
|
|
|
"skmage_pois2": { token: "SK", weapon: "hth" },
|
|
|
|
|
"skmage_pois3": { token: "SK", weapon: "hth" },
|
|
|
|
|
"skmage_pois4": { token: "SK", weapon: "hth" },
|
|
|
|
|
"skmage_pois5": { token: "SK", weapon: "hth" },
|
|
|
|
|
"skmage_pois6": { token: "SK", weapon: "hth" },
|
|
|
|
|
"skmage_pois7": { token: "SK", weapon: "hth" },
|
|
|
|
|
"slinger1": { token: "PW", weapon: "1ht" },
|
|
|
|
|
"slinger2": { token: "PW", weapon: "1ht" },
|
|
|
|
|
"slinger3": { token: "PW", weapon: "1ht" },
|
|
|
|
|
"slinger4": { token: "PW", weapon: "1ht" },
|
|
|
|
|
"slinger5": { token: "PW", weapon: "1ht" },
|
|
|
|
|
"slinger6": { token: "PW", weapon: "1ht" },
|
|
|
|
|
"slinger7": { token: "PW", weapon: "1ht" },
|
|
|
|
|
"slinger8": { token: "PW", weapon: "1ht" },
|
|
|
|
|
"slinger9": { token: "PW", weapon: "1ht" },
|
|
|
|
|
"smith": { token: "5P", weapon: "hth" },
|
|
|
|
|
"snake": { token: "CO", weapon: "hth" },
|
|
|
|
|
"snowyeti1": { token: "IO", weapon: "hth" },
|
|
|
|
|
"snowyeti2": { token: "IO", weapon: "hth" },
|
|
|
|
|
"snowyeti3": { token: "IO", weapon: "hth" },
|
|
|
|
|
"snowyeti4": { token: "IO", weapon: "hth" },
|
|
|
|
|
"spiritmummy": { token: "XX", weapon: "hth" },
|
|
|
|
|
"spiritofbarbs": { token: "X4", weapon: "hth" },
|
|
|
|
|
"spiritwolf": { token: "WF", weapon: "hth" },
|
|
|
|
|
"succubus1": { token: "0B", weapon: "hth" },
|
|
|
|
|
"succubus2": { token: "0B", weapon: "hth" },
|
|
|
|
|
"succubus3": { token: "0B", weapon: "hth" },
|
|
|
|
|
"succubus4": { token: "0B", weapon: "hth" },
|
|
|
|
|
"succubus5": { token: "0B", weapon: "hth" },
|
|
|
|
|
"succubus6": { token: "0B", weapon: "hth" },
|
|
|
|
|
"succubus7": { token: "0B", weapon: "hth" },
|
|
|
|
|
"succubus8": { token: "0B", weapon: "hth" },
|
|
|
|
|
"succubuswitch1": { token: "0C", weapon: "hth" },
|
|
|
|
|
"succubuswitch2": { token: "0C", weapon: "hth" },
|
|
|
|
|
"succubuswitch3": { token: "0C", weapon: "hth" },
|
|
|
|
|
"succubuswitch4": { token: "0C", weapon: "hth" },
|
|
|
|
|
"succubuswitch5": { token: "0C", weapon: "hth" },
|
|
|
|
|
"succubuswitch6": { token: "0C", weapon: "hth" },
|
|
|
|
|
"succubuswitch7": { token: "0C", weapon: "hth" },
|
|
|
|
|
"succubuswitch8": { token: "0C", weapon: "hth" },
|
|
|
|
|
"succubuswitch9": { token: "0C", weapon: "hth" },
|
|
|
|
|
"suckernest1": { token: "DH", weapon: "hth" },
|
|
|
|
|
"suckernest2": { token: "DH", weapon: "hth" },
|
|
|
|
|
"suckernest3": { token: "DH", weapon: "hth" },
|
|
|
|
|
"suckernest4": { token: "DH", weapon: "hth" },
|
|
|
|
|
"suicideminion1": { token: "XY", weapon: "hth" },
|
|
|
|
|
"suicideminion2": { token: "XY", weapon: "hth" },
|
|
|
|
|
"suicideminion3": { token: "XY", weapon: "hth" },
|
|
|
|
|
"suicideminion4": { token: "XY", weapon: "hth" },
|
|
|
|
|
"suicideminion5": { token: "XY", weapon: "hth" },
|
|
|
|
|
"suicideminion6": { token: "XY", weapon: "hth" },
|
|
|
|
|
"suicideminion7": { token: "XY", weapon: "hth" },
|
|
|
|
|
"suicideminion8": { token: "XY", weapon: "hth" },
|
|
|
|
|
"summoner": { token: "SU", weapon: "hth" },
|
|
|
|
|
"swarm1": { token: "SW", weapon: "hth" },
|
|
|
|
|
"swarm2": { token: "SW", weapon: "hth" },
|
|
|
|
|
"swarm3": { token: "SW", weapon: "hth" },
|
|
|
|
|
"swarm4": { token: "SW", weapon: "hth" },
|
|
|
|
|
"swarm5": { token: "SW", weapon: "hth" },
|
|
|
|
|
"tentacle1": { token: "TN", weapon: "hth" },
|
|
|
|
|
"tentacle2": { token: "TN", weapon: "hth" },
|
|
|
|
|
"tentacle3": { token: "TN", weapon: "hth" },
|
|
|
|
|
"tentaclehead1": { token: "TE", weapon: "hth" },
|
|
|
|
|
"tentaclehead2": { token: "TE", weapon: "hth" },
|
|
|
|
|
"tentaclehead3": { token: "TE", weapon: "hth" },
|
|
|
|
|
"thornhulk1": { token: "TH", weapon: "hth" },
|
|
|
|
|
"thornhulk2": { token: "TH", weapon: "hth" },
|
|
|
|
|
"thornhulk3": { token: "TH", weapon: "hth" },
|
|
|
|
|
"thornhulk4": { token: "TH", weapon: "hth" },
|
|
|
|
|
"thornhulk5": { token: "TH", weapon: "hth" },
|
|
|
|
|
"trap-firebolt": { token: "9A", weapon: "hth" },
|
|
|
|
|
"trap-horzmissile": { token: "9A", weapon: "hth" },
|
|
|
|
|
"trap-lightning": { token: "9A", weapon: "hth" },
|
|
|
|
|
"trap-melee": { token: "M4", weapon: "hth" },
|
|
|
|
|
"trap-nova": { token: "9A", weapon: "hth" },
|
|
|
|
|
"trap-poisoncloud": { token: "9A", weapon: "hth" },
|
|
|
|
|
"trap-vertmissile": { token: "9A", weapon: "hth" },
|
|
|
|
|
"trappedsoul1": { token: "10", weapon: "hth" },
|
|
|
|
|
"trappedsoul2": { token: "13", weapon: "hth" },
|
|
|
|
|
"turret1": { token: "PB", weapon: "hth" },
|
|
|
|
|
"turret2": { token: "PB", weapon: "hth" },
|
|
|
|
|
"turret3": { token: "PB", weapon: "hth" },
|
|
|
|
|
"tyrael1": { token: "TX", weapon: "hth" },
|
|
|
|
|
"tyrael2": { token: "TY", weapon: "hth" },
|
|
|
|
|
"tyrael3": { token: "TY", weapon: "hth" },
|
|
|
|
|
"uberandariel": { token: "AN", weapon: "hth" },
|
|
|
|
|
"uberbaal": { token: "42", weapon: "hth" },
|
|
|
|
|
"uberdiablo": { token: "DI", weapon: "hth" },
|
|
|
|
|
"uberduriel": { token: "DU", weapon: "hth" },
|
|
|
|
|
"uberizual": { token: "22", weapon: "hth" },
|
|
|
|
|
"ubermephisto": { token: "MP", weapon: "hth" },
|
|
|
|
|
"unraveler1": { token: "GY", weapon: "hth" },
|
|
|
|
|
"unraveler2": { token: "GY", weapon: "hth" },
|
|
|
|
|
"unraveler3": { token: "GY", weapon: "hth" },
|
|
|
|
|
"unraveler4": { token: "GY", weapon: "hth" },
|
|
|
|
|
"unraveler5": { token: "GY", weapon: "hth" },
|
|
|
|
|
"unraveler6": { token: "GY", weapon: "hth" },
|
|
|
|
|
"unraveler7": { token: "GY", weapon: "hth" },
|
|
|
|
|
"unraveler8": { token: "GY", weapon: "hth" },
|
|
|
|
|
"unraveler9": { token: "GY", weapon: "hth" },
|
|
|
|
|
"valkyrie": { token: "VK", weapon: "hth" },
|
|
|
|
|
"vampire1": { token: "VA", weapon: "hth" },
|
|
|
|
|
"vampire2": { token: "VA", weapon: "hth" },
|
|
|
|
|
"vampire3": { token: "VA", weapon: "hth" },
|
|
|
|
|
"vampire4": { token: "VA", weapon: "hth" },
|
|
|
|
|
"vampire5": { token: "VA", weapon: "hth" },
|
|
|
|
|
"vampire6": { token: "VA", weapon: "hth" },
|
|
|
|
|
"vampire7": { token: "VA", weapon: "hth" },
|
|
|
|
|
"vampire8": { token: "VA", weapon: "hth" },
|
|
|
|
|
"vampire9": { token: "VA", weapon: "hth" },
|
|
|
|
|
"venomlord": { token: "DM", weapon: "hth" },
|
|
|
|
|
"vilechild1": { token: "VC", weapon: "hth" },
|
|
|
|
|
"vilechild2": { token: "VC", weapon: "hth" },
|
|
|
|
|
"vilechild3": { token: "VC", weapon: "hth" },
|
|
|
|
|
"vilechild4": { token: "VC", weapon: "hth" },
|
|
|
|
|
"vilechild5": { token: "VC", weapon: "hth" },
|
|
|
|
|
"vilemother1": { token: "VM", weapon: "hth" },
|
|
|
|
|
"vilemother2": { token: "VM", weapon: "hth" },
|
|
|
|
|
"vilemother3": { token: "VM", weapon: "hth" },
|
|
|
|
|
"vilemother4": { token: "VM", weapon: "hth" },
|
|
|
|
|
"vilemother5": { token: "VM", weapon: "hth" },
|
|
|
|
|
"vinecreature": { token: "K9", weapon: "hth" },
|
|
|
|
|
"vulture1": { token: "VD", weapon: "hth" },
|
|
|
|
|
"vulture2": { token: "VD", weapon: "hth" },
|
|
|
|
|
"vulture3": { token: "VD", weapon: "hth" },
|
|
|
|
|
"vulture4": { token: "VD", weapon: "hth" },
|
|
|
|
|
"vulture5": { token: "VD", weapon: "hth" },
|
|
|
|
|
"wakeofdestruction": { token: "E9", weapon: "hth" },
|
|
|
|
|
"warriv1": { token: "WA", weapon: "hth" },
|
|
|
|
|
"warriv2": { token: "WX", weapon: "hth" },
|
|
|
|
|
"willowisp1": { token: "WW", weapon: "hth" },
|
|
|
|
|
"willowisp2": { token: "WW", weapon: "hth" },
|
|
|
|
|
"willowisp3": { token: "WW", weapon: "hth" },
|
|
|
|
|
"willowisp4": { token: "WW", weapon: "hth" },
|
|
|
|
|
"willowisp5": { token: "WW", weapon: "hth" },
|
|
|
|
|
"willowisp6": { token: "WW", weapon: "hth" },
|
|
|
|
|
"willowisp7": { token: "WW", weapon: "hth" },
|
|
|
|
|
"willowisp8": { token: "WW", weapon: "hth" },
|
|
|
|
|
"window1": { token: "VH", weapon: "hth" },
|
|
|
|
|
"window2": { token: "VJ", weapon: "hth" },
|
|
|
|
|
"wolf": { token: "40", weapon: "hth" },
|
|
|
|
|
"wolfrider1": { token: "WR", weapon: "hth" },
|
|
|
|
|
"wolfrider2": { token: "WR", weapon: "hth" },
|
|
|
|
|
"wolfrider3": { token: "WR", weapon: "hth" },
|
|
|
|
|
"worldstoneeffect": { token: "K9", weapon: "hth" },
|
|
|
|
|
"wraith1": { token: "WR", weapon: "hth" },
|
|
|
|
|
"wraith2": { token: "WR", weapon: "hth" },
|
|
|
|
|
"wraith3": { token: "WR", weapon: "hth" },
|
|
|
|
|
"wraith4": { token: "WR", weapon: "hth" },
|
|
|
|
|
"wraith5": { token: "WR", weapon: "hth" },
|
|
|
|
|
"wraith6": { token: "WR", weapon: "hth" },
|
|
|
|
|
"wraith7": { token: "WR", weapon: "hth" },
|
|
|
|
|
"wraith8": { token: "WR", weapon: "hth" },
|
|
|
|
|
"wraith9": { token: "WR", weapon: "hth" },
|
|
|
|
|
"yeti": { token: "YE", weapon: "hth" },
|
|
|
|
|
"zealot1": { token: "ZZ", weapon: "hth" },
|
|
|
|
|
"zealot2": { token: "ZZ", weapon: "hth" },
|
|
|
|
|
"zealot3": { token: "ZZ", weapon: "hth" },
|
|
|
|
|
"zealot4": { token: "ZZ", weapon: "hth" },
|
|
|
|
|
"zealot5": { token: "ZZ", weapon: "hth" },
|
|
|
|
|
"zombie": { token: "ZM", weapon: "hth" },
|
|
|
|
|
"zombie1": { token: "ZM", weapon: "hth" },
|
|
|
|
|
"zombie2": { token: "ZM", weapon: "hth" },
|
|
|
|
|
"zombie3": { token: "ZM", weapon: "hth" },
|
|
|
|
|
"zombie4": { token: "ZM", weapon: "hth" },
|
|
|
|
|
"zombie5": { token: "ZM", weapon: "hth" },
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* Resolve monster id to token and weapon.
|
|
|
|
|
* Unique monster (token, weapon) specs appearing in each Act (1..5),
|
|
|
|
|
* used by the offline entity baker to pre-pack all level monsters per act.
|
|
|
|
|
*/
|
|
|
|
|
export const ACT_MONSTER_SPECS: Record<number, readonly MonsterArtSpec[]> = {
|
|
|
|
|
1: [{ token: "FA", weapon: "hth" }, { token: "ZM", weapon: "hth" }, { token: "SI", weapon: "hth" }, { token: "YE", weapon: "hth" }, { token: "SK", weapon: "hth" }, { token: "CW", weapon: "hth" }, { token: "CR", weapon: "1hs" }, { token: "FS", weapon: "hth" }, { token: "CR", weapon: "2ht" }, { token: "SK", weapon: "1hs" }, { token: "BN", weapon: "hth" }, { token: "GM", weapon: "2hs" }, { token: "CR", weapon: "bow" }, { token: "SK", weapon: "bow" }, { token: "BH", weapon: "hth" }, { token: "WR", weapon: "hth" }, { token: "FE", weapon: "1hs" }, { token: "SP", weapon: "hth" }, { token: "VA", weapon: "hth" }],
|
|
|
|
|
2: [{ token: "FA", weapon: "hth" }, { token: "ZM", weapon: "hth" }, { token: "SI", weapon: "hth" }, { token: "YE", weapon: "hth" }, { token: "SK", weapon: "hth" }, { token: "CW", weapon: "hth" }, { token: "SL", weapon: "hth" }, { token: "PW", weapon: "hth" }, { token: "SC", weapon: "hth" }, { token: "VD", weapon: "hth" }, { token: "PW", weapon: "1ht" }, { token: "BN", weapon: "hth" }, { token: "SM", weapon: "hth" }, { token: "SW", weapon: "hth" }, { token: "SR", weapon: "hth" }, { token: "SD", weapon: "hth" }, { token: "MM", weapon: "hth" }, { token: "GY", weapon: "hth" }, { token: "SK", weapon: "1hs" }, { token: "SK", weapon: "bow" }, { token: "BB", weapon: "hth" }, { token: "PN", weapon: "hth" }, { token: "BT", weapon: "hth" }, { token: "WR", weapon: "hth" }, { token: "VA", weapon: "hth" }, { token: "GM", weapon: "2hs" }],
|
|
|
|
|
3: [{ token: "FA", weapon: "hth" }, { token: "ZM", weapon: "hth" }, { token: "SI", weapon: "hth" }, { token: "YE", weapon: "hth" }, { token: "SK", weapon: "hth" }, { token: "CW", weapon: "hth" }, { token: "BB", weapon: "hth" }, { token: "MO", weapon: "hth" }, { token: "TH", weapon: "hth" }, { token: "FE", weapon: "1hs" }, { token: "FC", weapon: "hth" }, { token: "BK", weapon: "hth" }, { token: "FD", weapon: "hth" }, { token: "FW", weapon: "hth" }, { token: "WW", weapon: "hth" }, { token: "VD", weapon: "hth" }, { token: "SL", weapon: "hth" }, { token: "ZZ", weapon: "hth" }, { token: "SW", weapon: "hth" }, { token: "ZP", weapon: "hth" }, { token: "SR", weapon: "hth" }, { token: "VA", weapon: "hth" }, { token: "SP", weapon: "hth" }, { token: "BT", weapon: "hth" }, { token: "SM", weapon: "hth" }, { token: "MM", weapon: "hth" }, { token: "FK", weapon: "1hs" }, { token: "WR", weapon: "hth" }, { token: "GY", weapon: "hth" }, { token: "CR", weapon: "1hs" }, { token: "SD", weapon: "hth" }, { token: "SC", weapon: "hth" }, { token: "CR", weapon: "bow" }, { token: "PN", weapon: "hth" }],
|
|
|
|
|
4: [{ token: "FA", weapon: "hth" }, { token: "ZM", weapon: "hth" }, { token: "SI", weapon: "hth" }, { token: "YE", weapon: "hth" }, { token: "SK", weapon: "hth" }, { token: "CW", weapon: "hth" }, { token: "SL", weapon: "hth" }, { token: "VM", weapon: "hth" }, { token: "FR", weapon: "hth" }, { token: "CS", weapon: "hth" }, { token: "UM", weapon: "fgt" }, { token: "DM", weapon: "hth" }, { token: "WW", weapon: "hth" }, { token: "BH", weapon: "hth" }, { token: "BT", weapon: "hth" }, { token: "UM", weapon: "hth" }, { token: "SM", weapon: "hth" }, { token: "PN", weapon: "hth" }, { token: "UM", weapon: "mgk" }],
|
|
|
|
|
5: [{ token: "FA", weapon: "hth" }, { token: "ZM", weapon: "hth" }, { token: "SI", weapon: "hth" }, { token: "YE", weapon: "hth" }, { token: "SK", weapon: "hth" }, { token: "CW", weapon: "hth" }, { token: "XX", weapon: "hth" }, { token: "M5", weapon: "hth" }, { token: "OS", weapon: "hth" }, { token: "IP", weapon: "hth" }, { token: "SK", weapon: "bow" }, { token: "BH", weapon: "hth" }, { token: "OX", weapon: "hth" }, { token: "F0", weapon: "hth" }, { token: "0B", weapon: "hth" }, { token: "L3", weapon: "hth" }, { token: "IO", weapon: "hth" }, { token: "RE", weapon: "hth" }, { token: "0D", weapon: "hth" }, { token: "0F", weapon: "hth" }, { token: "0E", weapon: "hth" }, { token: "45", weapon: "hth" }, { token: "0C", weapon: "hth" }, { token: "XY", weapon: "hth" }, { token: "CR", weapon: "1hs" }, { token: "CR", weapon: "bow" }, { token: "CR", weapon: "2ht" }, { token: "SW", weapon: "hth" }, { token: "SM", weapon: "hth" }, { token: "SP", weapon: "hth" }, { token: "SC", weapon: "hth" }, { token: "UM", weapon: "mgk" }, { token: "DM", weapon: "hth" }],
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* Resolve the visual token and weapon class for a given monster ID.
|
|
|
|
|
*/
|
|
|
|
|
export function resolveMonsterArtSpec(id: string): MonsterArtSpec | null {
|
|
|
|
|
const spec = MONSTER_ART_MAP[id.toLowerCase()]
|
|
|
|
|
if (spec !== undefined) return spec
|
|
|
|
|
// Generic fallback if id starts with known prefixes
|
|
|
|
|
for (const [key, val] of Object.entries(MONSTER_ART_MAP)) {
|
|
|
|
|
const prefix = key.replace(/\d+$/, '')
|
|
|
|
|
if (id.toLowerCase().startsWith(prefix)) {
|
|
|
|
|
return val
|
|
|
|
|
const lower = id.toLowerCase()
|
|
|
|
|
if (MONSTER_ART_MAP[lower]) {
|
|
|
|
|
return MONSTER_ART_MAP[lower]
|
|
|
|
|
}
|
|
|
|
|
const base = lower.replace(/\d+$/, '')
|
|
|
|
|
for (const [key, spec] of Object.entries(MONSTER_ART_MAP)) {
|
|
|
|
|
if (key.startsWith(base)) {
|
|
|
|
|
return spec
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
return null
|
|
|
|
|
|