HEAD_ITEMS_MAPPING = {
'Leather Helmet': ['00', '01', '02', '03', '04', '05', '06', '07'],
'Bronze Helmet': ['08', '09', '0a', '0b', '0c', '0d', '0e', '0f'],
'Steel Helmet': ['10', '11', '12', '13', '14', '15', '16', '17'],
'Mythril Helmet': ['18', '19', '1a', '1b', '1c', '1d', '1e', '1f'],
'Dragoon Helmet': ['20', '21', '22', '23', '24', '25', '26', '27'],
'Dark Knight Helmet': ['28', '29', '2a', '2b', '2c', '2d', '2e', '2f'],
'Bandana': ['30', '31', '32', '33', '34', '35', '36', '37'],
'Hood': ['38', '39', '3a', '3b', '3c', '3d', '3e', '3f'],
'Cap': ['40', '41', '42', '43', '44', '45', '46', '47'],
'Circlet': ['48', '49', '4a', '4b', '4c', '4d', '4e', '4f'],
'Skullcap': ['50', '51', '52', '53', '54', '55', '56', '57'],
'Mask': ['58', '59', '5a', '5b', '5c', '5d', '5e', '5f'],
'Tiara': ['60', '61', '62', '63', '64', '65', '66', '67'],
'Horns': ['68', '69', '6a', '6b', '6c', '6d', '6e', '6f'],
'Top Hat': ['70', '71', '72', '73', '74', '75', '76', '77'],
'Hooded Cape': ['78', '79', '7a', '7b', '7c', '7d', '7e', '7f'],
'Ninja Mask': ['80', '81', '82', '83', '84', '85', '86', '87'],
'Oni Mask': ['88', '89', '8a', '8b', '8c', '8d', '8e', '8f'],
'Hannya Mask': ['90', '91', '92', '93', '94', '95', '96', '97'],
'Kitsune Mask': ['98', '99', '9a', '9b', '9c', '9d', '9e', '9f'],
'Kendo': ['a0', 'a1', 'a2', 'a3', 'a4', 'a5', 'a6', 'a7'],
'Kappa Mask': ['a8', 'a9', 'aa', 'ab', 'ac', 'ad', 'ae', 'af'],
'Sorceress Circlet': ['b0', 'b1', 'b2', 'b3', 'b4', 'b5', 'b6', 'b7'],
'Wizard Hat': ['b8', 'b9', 'ba', 'bb', 'bc', 'bd', 'be', 'bf'],
'Hachigane': ['c0', 'c1', 'c2', 'c3', 'c4', 'c5', 'c6', 'c7'],
'Jingasa': ['c8', 'c9', 'ca', 'cb', 'cc', 'cd', 'ce', 'cf'],
'Monocle': ['d0', 'd1', 'd2', 'd3', 'd4', 'd5', 'd6', 'd7'],
'Witch Hat': ['d8', 'd9', 'da', 'db', 'dc', 'dd', 'de', 'df'],
'Veil': ['e0', 'e1', 'e2', 'e3', 'e4', 'e5', 'e6', 'e7'],
'Feathered Cap': ['e8', 'e9', 'ea', 'eb', 'ec', 'ed', 'ee', 'ef'],
'Crown': ['f0', 'f1', 'f2', 'f3', 'f4', 'f5', 'f6', 'f7'],
'Headband': ['f8', 'f9', 'fa', 'fb', 'fc', 'fd', 'fe', 'ff'],
}
BODY_ITEMS_MAPPING = {
'Leather Armor': ['00', '01', '02', '03', '04', '05', '06', '07'],
'Bronze Armor': ['08', '09', '0a', '0b', '0c', '0d', '0e', '0f'],
'Steel Armor': ['10', '11', '12', '13', '14', '15', '16', '17'],
'Mythril Armor': ['18', '19', '1a', '1b', '1c', '1d', '1e', '1f'],
'Dragoon Armor': ['20', '21', '22', '23', '24', '25', '26', '27'],
'Dark Knight Armor': ['28', '29', '2a', '2b', '2c', '2d', '2e', '2f'],
'Robe': ['30', '31', '32', '33', '34', '35', '36', '37'],
'Gown': ['38', '39', '3a', '3b', '3c', '3d', '3e', '3f'],
'Cloak': ['40', '41', '42', '43', '44', '45', '46', '47'],
'Wizard Robe': ['48', '49', '4a', '4b', '4c', '4d', '4e', '4f'],
'Sorceress Robe': ['50', '51', '52', '53', '54', '55', '56', '57'],
'Silk Robe': ['58', '59', '5a', '5b', '5c', '5d', '5e', '5f'],
'Witch Robe': ['60', '61', '62', '63', '64', '65', '66', '67'],
'Husk': ['68', '69', '6a', '6b', '6c', '6d', '6e', '6f'],
'Demonica': ['70', '71', '72', '73', '74', '75', '76', '77'],
'Platemail': ['78', '79', '7a', '7b', '7c', '7d', '7e', '7f'],
'Assassin Garb': ['80', '81', '82', '83', '84', '85', '86', '87'],
'Ninja Garb': ['88', '89', '8a', '8b', '8c', '8d', '8e', '8f'],
'Sash': ['90', '91', '92', '93', '94', '95', '96', '97'],
'Chainmail': ['98', '99', '9a', '9b', '9c', '9d', '9e', '9f'],
'Gi': ['a0', 'a1', 'a2', 'a3', 'a4', 'a5', 'a6', 'a7'],
'Tunic': ['a8', 'a9', 'aa', 'ab', 'ac', 'ad', 'ae', 'af'],
'Tuxedo': ['b0', 'b1', 'b2', 'b3', 'b4', 'b5', 'b6', 'b7'],
'Kimono': ['b8', 'b9', 'ba', 'bb', 'bc', 'bd', 'be', 'bf'],
'Yukata': ['c0', 'c1', 'c2', 'c3', 'c4', 'c5', 'c6', 'c7'],
'Yoroi': ['c8', 'c9', 'ca', 'cb', 'cc', 'cd', 'ce', 'cf'],
'Witch Gown': ['d0', 'd1', 'd2', 'd3', 'd4', 'd5', 'd6', 'd7'],
'Trenchcoat': ['d8', 'd9', 'da', 'db', 'dc', 'dd', 'de', 'df'],
'Hide': ['e0', 'e1', 'e2', 'e3', 'e4', 'e5', 'e6', 'e7'],
'Furcoat': ['e8', 'e9', 'ea', 'eb', 'ec', 'ed', 'ee', 'ef'],
'Brocade': ['f0', 'f1', 'f2', 'f3', 'f4', 'f5', 'f6', 'f7'],
'Cuirass': ['f8', 'f9', 'fa', 'fb', 'fc', 'fd', 'fe', 'ff'],
}
ARMS_ITEMS_MAPPING = {
'Leather Gloves': ['00', '01', '02', '03', '04', '05', '06', '07', '08', '09', '0a', '0b', '0c', '0d', '0e', '0f'],
'Bronze Gloves': ['10', '11', '12', '13', '14', '15', '16', '17', '18', '19', '1a', '1b', '1c', '1d', '1e', '1f'],
'Steel Gauntlets': ['20', '21', '22', '23', '24', '25', '26', '27', '28', '29', '2a', '2b', '2c', '2d', '2e', '2f'],
'Mythril Gauntlets': ['30', '31', '32', '33', '34', '35', '36', '37', '38', '39', '3a', '3b', '3c', '3d', '3e', '3f'],
'Dragoon Gauntlets': ['40', '41', '42', '43', '44', '45', '46', '47', '48', '49', '4a', '4b', '4c', '4d', '4e', '4f'],
'Dark Knight Gauntlets': ['50', '51', '52', '53', '54', '55', '56', '57', '58', '59', '5a', '5b', '5c', '5d', '5e', '5f'],
'Scales': ['60', '61', '62', '63', '64', '65', '66', '67', '68', '69', '6a', '6b', '6c', '6d', '6e', '6f'],
'Bracers': ['70', '71', '72', '73', '74', '75', '76', '77', '78', '79', '7a', '7b', '7c', '7d', '7e', '7f'],
'Mitts': ['80', '81', '82', '83', '84', '85', '86', '87', '88', '89', '8a', '8b', '8c', '8d', '8e', '8f'],
'Sorceress Gloves': ['90', '91', '92', '93', '94', '95', '96', '97', '98', '99', '9a', '9b', '9c', '9d', '9e', '9f'],
'Wristbands': ['a0', 'a1', 'a2', 'a3', 'a4', 'a5', 'a6', 'a7', 'a8', 'a9', 'aa', 'ab', 'ac', 'ad', 'ae', 'af'],
'Vambraces': ['b0', 'b1', 'b2', 'b3', 'b4', 'b5', 'b6', 'b7', 'b8', 'b9', 'ba', 'bb', 'bc', 'bd', 'be', 'bf'],
'Fisticuffs': ['c0', 'c1', 'c2', 'c3', 'c4', 'c5', 'c6', 'c7', 'c8', 'c9', 'ca', 'cb', 'cc', 'cd', 'ce', 'cf'],
'Shuko': ['d0', 'd1', 'd2', 'd3', 'd4', 'd5', 'd6', 'd7', 'd8', 'd9', 'da', 'db', 'dc', 'dd', 'de', 'df'],
'Claws': ['e0', 'e1', 'e2', 'e3', 'e4', 'e5', 'e6', 'e7', 'e8', 'e9', 'ea', 'eb', 'ec', 'ed', 'ee', 'ef'],
'Catclaws': ['f0', 'f1', 'f2', 'f3', 'f4', 'f5', 'f6', 'f7', 'f8', 'f9', 'fa', 'fb', 'fc', 'fd', 'fe', 'ff'],
}
MAIN_HAND_WEAPONS_MAPPING = {
'Dagger': ['00', '01', '02', '03', '04', '05', '06', '07'],
'Knife': ['08', '09', '0a', '0b', '0c', '0d', '0e', '0f'],
'Needle': ['10', '11', '12', '13', '14', '15', '16', '17'],
'Shortsword': ['18', '19', '1a', '1b', '1c', '1d', '1e', '1f'],
'Longsword': ['20', '21', '22', '23', '24', '25', '26', '27'],
'Rapier': ['28', '29', '2a', '2b', '2c', '2d', '2e', '2f'],
'Claymore': ['30', '31', '32', '33', '34', '35', '36', '37'],
'Axe': ['38', '39', '3a', '3b', '3c', '3d', '3e', '3f'],
'Halberd': ['40', '41', '42', '43', '44', '45', '46', '47'],
'Tomahawk': ['48', '49', '4a', '4b', '4c', '4d', '4e', '4f'],
'Bow': ['50', '51', '52', '53', '54', '55', '56', '57'],
'Longbow': ['58', '59', '5a', '5b', '5c', '5d', '5e', '5f'],
'Sniperbow': ['60', '61', '62', '63', '64', '65', '66', '67'],
'Crossbow': ['68', '69', '6a', '6b', '6c', '6d', '6e', '6f'],
'Staff': ['70', '71', '72', '73', '74', '75', '76', '77'],
'Cane': ['78', '79', '7a', '7b', '7c', '7d', '7e', '7f'],
'Scepter': ['80', '81', '82', '83', '84', '85', '86', '87'],
'Hammer': ['88', '89', '8a', '8b', '8c', '8d', '8e', '8f'],
'Mace': ['90', '91', '92', '93', '94', '95', '96', '97'],
'Wand': ['98', '99', '9a', '9b', '9c', '9d', '9e', '9f'],
'Club': ['a0', 'a1', 'a2', 'a3', 'a4', 'a5', 'a6', 'a7'],
'Spear': ['a8', 'a9', 'aa', 'ab', 'ac', 'ad', 'ae', 'af'],
'Lance': ['b0', 'b1', 'b2', 'b3', 'b4', 'b5', 'b6', 'b7'],
'Whip': ['b8', 'b9', 'ba', 'bb', 'bc', 'bd', 'be', 'bf'],
'Javelin': ['c0', 'c1', 'c2', 'c3', 'c4', 'c5', 'c6', 'c7'],
'Tome': ['c8', 'c9', 'ca', 'cb', 'cc', 'cd', 'ce', 'cf'],
'Sickle': ['d0', 'd1', 'd2', 'd3', 'd4', 'd5', 'd6', 'd7'],
'Scythe': ['d8', 'd9', 'da', 'db', 'dc', 'dd', 'de', 'df'],
'Katana': ['e0', 'e1', 'e2', 'e3', 'e4', 'e5', 'e6', 'e7'],
'Naginata': ['e8', 'e9', 'ea', 'eb', 'ec', 'ed', 'ee', 'ef'],
'Odachi': ['f0', 'f1', 'f2', 'f3', 'f4', 'f5', 'f6', 'f7'],
'Kunai': ['f8', 'f9', 'fa', 'fb', 'fc', 'fd', 'fe', 'ff'],
}
OFF_HAND_ITEMS_MAPPING = {
'Leather Shield': ['00', '01', '02', '03', '04', '05', '06', '07', '08', '09', '0a', '0b', '0c', '0d', '0e', '0f'],
'Bronze Shield': ['10', '11', '12', '13', '14', '15', '16', '17', '18', '19', '1a', '1b', '1c', '1d', '1e', '1f'],
'Steel Shield': ['20', '21', '22', '23', '24', '25', '26', '27', '28', '29', '2a', '2b', '2c', '2d', '2e', '2f'],
'Mythril Shield': ['30', '31', '32', '33', '34', '35', '36', '37', '38', '39', '3a', '3b', '3c', '3d', '3e', '3f'],
'Dragoon Shield': ['40', '41', '42', '43', '44', '45', '46', '47', '48', '49', '4a', '4b', '4c', '4d', '4e', '4f'],
'Dark Knight Shield': ['50', '51', '52', '53', '54', '55', '56', '57', '58', '59', '5a', '5b', '5c', '5d', '5e', '5f'],
'Parrying Dagger': ['60', '61', '62', '63', '64', '65', '66', '67', '68', '69', '6a', '6b', '6c', '6d', '6e', '6f'],
'Buckler': ['70', '71', '72', '73', '74', '75', '76', '77', '78', '79', '7a', '7b', '7c', '7d', '7e', '7f'],
'Aspis': ['80', '81', '82', '83', '84', '85', '86', '87', '88', '89', '8a', '8b', '8c', '8d', '8e', '8f'],
'Caestus': ['90', '91', '92', '93', '94', '95', '96', '97', '98', '99', '9a', '9b', '9c', '9d', '9e', '9f'],
'Blunderbuss': ['a0', 'a1', 'a2', 'a3', 'a4', 'a5', 'a6', 'a7', 'a8', 'a9', 'aa', 'ab', 'ac', 'ad', 'ae', 'af'],
'Tanto': ['b0', 'b1', 'b2', 'b3', 'b4', 'b5', 'b6', 'b7', 'b8', 'b9', 'ba', 'bb', 'bc', 'bd', 'be', 'bf'],
'Wakizashi': ['c0', 'c1', 'c2', 'c3', 'c4', 'c5', 'c6', 'c7', 'c8', 'c9', 'ca', 'cb', 'cc', 'cd', 'ce', 'cf'],
'Targe': ['d0', 'd1', 'd2', 'd3', 'd4', 'd5', 'd6', 'd7', 'd8', 'd9', 'da', 'db', 'dc', 'dd', 'de', 'df'],
'Tate': ['e0', 'e1', 'e2', 'e3', 'e4', 'e5', 'e6', 'e7', 'e8', 'e9', 'ea', 'eb', 'ec', 'ed', 'ee', 'ef'],
'Greatshield': ['f0', 'f1', 'f2', 'f3', 'f4', 'f5', 'f6', 'f7', 'f8', 'f9', 'fa', 'fb', 'fc', 'fd', 'fe', 'ff'],
}
LEGS_ITEMS_MAPPING = {
'Leather Boots': ['00', '01', '02', '03', '04', '05', '06', '07', '08', '09', '0a', '0b', '0c', '0d', '0e', '0f'],
'Bronze Boots': ['10', '11', '12', '13', '14', '15', '16', '17', '18', '19', '1a', '1b', '1c', '1d', '1e', '1f'],
'Steel Greaves': ['20', '21', '22', '23', '24', '25', '26', '27', '28', '29', '2a', '2b', '2c', '2d', '2e', '2f'],
'Mythril Greaves': ['30', '31', '32', '33', '34', '35', '36', '37', '38', '39', '3a', '3b', '3c', '3d', '3e', '3f'],
'Dragoon Boots': ['40', '41', '42', '43', '44', '45', '46', '47', '48', '49', '4a', '4b', '4c', '4d', '4e', '4f'],
'Dark Knight Greaves': ['50', '51', '52', '53', '54', '55', '56', '57', '58', '59', '5a', '5b', '5c', '5d', '5e', '5f'],
'Slippers': ['60', '61', '62', '63', '64', '65', '66', '67', '68', '69', '6a', '6b', '6c', '6d', '6e', '6f'],
'Longboots': ['70', '71', '72', '73', '74', '75', '76', '77', '78', '79', '7a', '7b', '7c', '7d', '7e', '7f'],
'Silk Leggings': ['80', '81', '82', '83', '84', '85', '86', '87', '88', '89', '8a', '8b', '8c', '8d', '8e', '8f'],
'Leggings': ['90', '91', '92', '93', '94', '95', '96', '97', '98', '99', '9a', '9b', '9c', '9d', '9e', '9f'],
'Scalers': ['a0', 'a1', 'a2', 'a3', 'a4', 'a5', 'a6', 'a7', 'a8', 'a9', 'aa', 'ab', 'ac', 'ad', 'ae', 'af'],
'Dress Shoes': ['b0', 'b1', 'b2', 'b3', 'b4', 'b5', 'b6', 'b7', 'b8', 'b9', 'ba', 'bb', 'bc', 'bd', 'be', 'bf'],
'Wizard Boots': ['c0', 'c1', 'c2', 'c3', 'c4', 'c5', 'c6', 'c7', 'c8', 'c9', 'ca', 'cb', 'cc', 'cd', 'ce', 'cf'],
'Sorceress Slippers': ['d0', 'd1', 'd2', 'd3', 'd4', 'd5', 'd6', 'd7', 'd8', 'd9', 'da', 'db', 'dc', 'dd', 'de', 'df'],
'Tabi': ['e0', 'e1', 'e2', 'e3', 'e4', 'e5', 'e6', 'e7', 'e8', 'e9', 'ea', 'eb', 'ec', 'ed', 'ee', 'ef'],
'Witch Heels': ['f0', 'f1', 'f2', 'f3', 'f4', 'f5', 'f6', 'f7', 'f8', 'f9', 'fa', 'fb', 'fc', 'fd', 'fe', 'ff'],
}
ACCESSORIES_ITEMS_MAPPING = {
'Ring': ['00', '01', '02', '03', '04', '05', '06', '07', '08', '09', '0a', '0b', '0c', '0d', '0e', '0f'],
'Scroll': ['10', '11', '12', '13', '14', '15', '16', '17', '18', '19', '1a', '1b', '1c', '1d', '1e', '1f'],
'Necklace': ['20', '21', '22', '23', '24', '25', '26', '27', '28', '29', '2a', '2b', '2c', '2d', '2e', '2f'],
'Amulet': ['30', '31', '32', '33', '34', '35', '36', '37', '38', '39', '3a', '3b', '3c', '3d', '3e', '3f'],
'Belt': ['40', '41', '42', '43', '44', '45', '46', '47', '48', '49', '4a', '4b', '4c', '4d', '4e', '4f'],
'Earrings': ['50', '51', '52', '53', '54', '55', '56', '57', '58', '59', '5a', '5b', '5c', '5d', '5e', '5f'],
'Charm': ['60', '61', '62', '63', '64', '65', '66', '67', '68', '69', '6a', '6b', '6c', '6d', '6e', '6f'],
'Cape': ['70', '71', '72', '73', '74', '75', '76', '77', '78', '79', '7a', '7b', '7c', '7d', '7e', '7f'],
'Shuriken': ['80', '81', '82', '83', '84', '85', '86', '87', '88', '89', '8a', '8b', '8c', '8d', '8e', '8f'],
'Bowtie': ['90', '91', '92', '93', '94', '95', '96', '97', '98', '99', '9a', '9b', '9c', '9d', '9e', '9f'],
'Scarf': ['a0', 'a1', 'a2', 'a3', 'a4', 'a5', 'a6', 'a7', 'a8', 'a9', 'aa', 'ab', 'ac', 'ad', 'ae', 'af'],
'Ribbon': ['b0', 'b1', 'b2', 'b3', 'b4', 'b5', 'b6', 'b7', 'b8', 'b9', 'ba', 'bb', 'bc', 'bd', 'be', 'bf'],
'Effigy': ['c0', 'c1', 'c2', 'c3', 'c4', 'c5', 'c6', 'c7', 'c8', 'c9', 'ca', 'cb', 'cc', 'cd', 'ce', 'cf'],
'Bracelet': ['d0', 'd1', 'd2', 'd3', 'd4', 'd5', 'd6', 'd7', 'd8', 'd9', 'da', 'db', 'dc', 'dd', 'de', 'df'],
'Anklet': ['e0', 'e1', 'e2', 'e3', 'e4', 'e5', 'e6', 'e7', 'e8', 'e9', 'ea', 'eb', 'ec', 'ed', 'ee', 'ef'],
'Orb': ['f0', 'f1', 'f2', 'f3', 'f4', 'f5', 'f6', 'f7', 'f8', 'f9', 'fa', 'fb', 'fc', 'fd', 'fe', 'ff'],
}
PREFIXES_ITEMS_MAPPING = {
'Satoshi\'s': ['00', '01', '02', '03', '04', '05', '06', '07'],
'Hal\'s': ['08', '09', '0a', '0b', '0c', '0d', '0e', '0f'],
'Dorian\'s': ['10', '11', '12', '13', '14', '15', '16', '17'],
'Arcane': ['18', '19', '1a', '1b', '1c', '1d', '1e', '1f'],
'Divine': ['20', '21', '22', '23', '24', '25', '26', '27'],
'Fabled': ['28', '29', '2a', '2b', '2c', '2d', '2e', '2f'],
'Demonic': ['30', '31', '32', '33', '34', '35', '36', '37'],
'Wailing': ['38', '39', '3a', '3b', '3c', '3d', '3e', '3f'],
'Cursed': ['40', '41', '42', '43', '44', '45', '46', '47'],
'Holy': ['48', '49', '4a', '4b', '4c', '4d', '4e', '4f'],
'Angelic': ['50', '51', '52', '53', '54', '55', '56', '57'],
'Profane': ['58', '59', '5a', '5b', '5c', '5d', '5e', '5f'],
'Unyielding': ['60', '61', '62', '63', '64', '65', '66', '67'],
'Everbearing': ['68', '69', '6a', '6b', '6c', '6d', '6e', '6f'],
'Renowned': ['70', '71', '72', '73', '74', '75', '76', '77'],
'Blessed': ['78', '79', '7a', '7b', '7c', '7d', '7e', '7f'],
'Undead': ['80', '81', '82', '83', '84', '85', '86', '87'],
'Spectral': ['88', '89', '8a', '8b', '8c', '8d', '8e', '8f'],
'Savage': ['90', '91', '92', '93', '94', '95', '96', '97'],
'Pure': ['98', '99', '9a', '9b', '9c', '9d', '9e', '9f'],
'Sacred': ['a0', 'a1', 'a2', 'a3', 'a4', 'a5', 'a6', 'a7'],
'Radiant': ['a8', 'a9', 'aa', 'ab', 'ac', 'ad', 'ae', 'af'],
'Immaculate': ['b0', 'b1', 'b2', 'b3', 'b4', 'b5', 'b6', 'b7'],
'Barbaric': ['b8', 'b9', 'ba', 'bb', 'bc', 'bd', 'be', 'bf'],
'Ravenous': ['c0', 'c1', 'c2', 'c3', 'c4', 'c5', 'c6', 'c7'],
'Grotesque': ['c8', 'c9', 'ca', 'cb', 'cc', 'cd', 'ce', 'cf'],
'Profound': ['d0', 'd1', 'd2', 'd3', 'd4', 'd5', 'd6', 'd7'],
'Serene': ['d8', 'd9', 'da', 'db', 'dc', 'dd', 'de', 'df'],
'Sacrilegious': ['e0', 'e1', 'e2', 'e3', 'e4', 'e5', 'e6', 'e7'],
'Nourishing': ['e8', 'e9', 'ea', 'eb', 'ec', 'ed', 'ee', 'ef'],
'Crestfallen': ['f0', 'f1', 'f2', 'f3', 'f4', 'f5', 'f6', 'f7'],
'Fractal': ['f8', 'f9', 'fa', 'fb', 'fc', 'fd', 'fe', 'ff'],
}
SUFFIXES_ITEMS_MAPPING = {
'of Temperance': ['00', '01', '02', '03'],
'of Prudence': ['04', '05', '06', '07'],
'of Fortitude': ['08', '09', '0a', '0b'],
'of Justice': ['0c', '0d', '0e', '0f'],
'of Protection': ['10', '11', '12', '13'],
'of Destruction': ['14', '15', '16', '17'],
'of Strength': ['18', '19', '1a', '1b'],
'of Dexterity': ['1c', '1d', '1e', '1f'],
'of Intelligence': ['20', '21', '22', '23'],
'of Agility': ['24', '25', '26', '27'],
'of Spirit': ['28', '29', '2a', '2b'],
'of Vitality': ['2c', '2d', '2e', '2f'],
'of Luck': ['30', '31', '32', '33'],
'of Fortune': ['34', '35', '36', '37'],
'of Mercy': ['38', '39', '3a', '3b'],
'of Ruin': ['3c', '3d', '3e', '3f'],
'of Sorrow': ['40', '41', '42', '43'],
'of Hope': ['44', '45', '46', '47'],
'of Fate': ['48', '49', '4a', '4b'],
'of Despair': ['4c', '4d', '4e', '4f'],
'of Soul': ['50', '51', '52', '53'],
'of Rapture': ['54', '55', '56', '57'],
'of Salvation': ['58', '59', '5a', '5b'],
'of Runes': ['5c', '5d', '5e', '5f'],
'of Healing': ['60', '61', '62', '63'],
'of Nightmares': ['64', '65', '66', '67'],
'of Dreams': ['68', '69', '6a', '6b'],
'of Greed': ['6c', '6d', '6e', '6f'],
'of Gluttony': ['70', '71', '72', '73'],
'of Envy': ['74', '75', '76', '77'],
'of Pride': ['78', '79', '7a', '7b'],
'of Wrath': ['7c', '7d', '7e', '7f'],
'of Sloth': ['80', '81', '82', '83'],
'of Lust': ['84', '85', '86', '87'],
'of the Rat': ['88', '89', '8a', '8b'],
'of the Ox': ['8c', '8d', '8e', '8f'],
'of the Tiger': ['90', '91', '92', '93'],
'of the Rabbit': ['94', '95', '96', '97'],
'of the Dragon': ['98', '99', '9a', '9b'],
'of the Snake': ['9c', '9d', '9e', '9f'],
'of the Horse': ['a0', 'a1', 'a2', 'a3'],
'of the Goat': ['a4', 'a5', 'a6', 'a7'],
'of the Monkey': ['a8', 'a9', 'aa', 'ab'],
'of the Rooster': ['ac', 'ad', 'ae', 'af'],
'of the Dog': ['b0', 'b1', 'b2', 'b3'],
'of the Pig': ['b4', 'b5', 'b6', 'b7'],
'of the Fox': ['b8', 'b9', 'ba', 'bb'],
'of the Night Fox': ['bc', 'bd', 'be', 'bf'],
'of the Frog': ['c0', 'c1', 'c2', 'c3'],
'of the Panda': ['c4', 'c5', 'c6', 'c7'],
'of the Duck': ['c8', 'c9', 'ca', 'cb'],
'of the Kraken': ['cc', 'cd', 'ce', 'cf'],
'of the Ape': ['d0', 'd1', 'd2', 'd3'],
'of the Peacock': ['d4', 'd5', 'd6', 'd7'],
'of the Stag': ['d8', 'd9', 'da', 'db'],
'of the Bull': ['dc', 'dd', 'de', 'df'],
'of the Bear': ['e0', 'e1', 'e2', 'e3'],
'of the Whale': ['e4', 'e5', 'e6', 'e7'],
'of the Tanuki': ['e8', 'e9', 'ea', 'eb'],
'of the Squirrel': ['ec', 'ed', 'ee', 'ef'],
'of the Cat': ['f0', 'f1', 'f2', 'f3'],
'of the Wolf': ['f4', 'f5', 'f6', 'f7'],
'of the Moon': ['f8', 'f9', 'fa', 'fb'],
'of Pepe': ['fc', 'fd', 'fe', 'ff'],
}
function generateBitgearInscription(blockHash) {
// Extract the last 9 hex digits
const lastNine = blockHash.slice(-9);
// Determine the type of bitgear from the 4th hex character
const typeChar = lastNine[3];
const typeMapping = {
'0': 'Head', '1': 'Head',
'2': 'Body', '3': 'Body', '4': 'Body',
'5': 'Arms', '6': 'Arms',
'7': 'Main Hand Weapon', '8': 'Main Hand Weapon', '9': 'Main Hand Weapon',
'a': 'Off-Hand', 'b': 'Off-Hand',
'c': 'Legs', 'd': 'Legs',
'e': 'Accessory', 'f': 'Accessory'
};
const bitgearType = typeMapping[typeChar];
// Extract the actual item hex characters
const itemHex = lastNine.slice(4, 6);
// Determine the actual item based on the type
let itemName = "";
if (bitgearType === 'Main Hand Weapon') {
itemName = findItemName(itemHex, MAIN_HAND_WEAPONS_MAPPING);
} else if (bitgearType === 'Off-Hand') {
itemName = findItemName(itemHex, OFF_HAND_ITEMS_MAPPING);
} else if (bitgearType === 'Legs') {
itemName = findItemName(itemHex, LEGS_ITEMS_MAPPING);
} else if (bitgearType === 'Body') {
itemName = findItemName(itemHex, BODY_ITEMS_MAPPING);
} else if (bitgearType === 'Arms') {
itemName = findItemName(itemHex, ARMS_ITEMS_MAPPING);
} else if (bitgearType === 'Accessory') {
itemName = findItemName(itemHex, ACCESSORIES_ITEMS_MAPPING);
} else if (bitgearType === 'Head') {
itemName = findItemName(itemHex, HEAD_ITEMS_MAPPING);
}
// Determine if there is a prefix
let prefix = "";
if (['0', '1'].includes(lastNine[0])) { // 12.5% chance
const prefixHex = lastNine.slice(1, 3);
prefix = findItemName(prefixHex, PREFIXES_ITEMS_MAPPING);
}
// Determine if there is a suffix
let suffix = "";
if (['0', '1'].includes(lastNine[6])) { // 12.5% chance
const suffixHex = lastNine.slice(7, 9);
suffix = findItemName(suffixHex, SUFFIXES_ITEMS_MAPPING);
}
// Construct the final inscription
const inscriptionParts = [];
if (prefix) inscriptionParts.push(prefix);
inscriptionParts.push(itemName);
if (suffix) inscriptionParts.push(suffix);
const inscription = inscriptionParts.join(" ") + ".bitgear";
return inscription;
}
function findItemName(hexValue, mapping) {
for (const [name, hexRange] of Object.entries(mapping)) {
if (hexRange.includes(hexValue)) {
return name;
}
}
return "";
}