diff --git a/public/data/star_rail/characters.json b/public/data/star_rail/characters.json new file mode 100644 index 0000000..7647d6a --- /dev/null +++ b/public/data/star_rail/characters.json @@ -0,0 +1,1986 @@ +{ + "1001": { + "id": "1001", + "name": "March 7th", + "tag": "mar7th", + "rarity": 4, + "path": "Knight", + "element": "Ice", + "max_sp": 120, + "ranks": [ + "100101", + "100102", + "100103", + "100104", + "100105", + "100106" + ], + "skills": [ + "100101", + "100102", + "100103", + "100104", + "100106", + "100107" + ], + "skill_trees": [ + "1001001", + "1001002", + "1001003", + "1001004", + "1001007", + "1001101", + "1001102", + "1001103", + "1001201", + "1001202", + "1001203", + "1001204", + "1001205", + "1001206", + "1001207", + "1001208", + "1001209", + "1001210" + ], + "icon": "icon/character/1001.png", + "preview": "image/character_preview/1001.png", + "portrait": "image/character_portrait/1001.png" + }, + "1002": { + "id": "1002", + "name": "Dan Heng", + "tag": "danheng", + "rarity": 4, + "path": "Rogue", + "element": "Wind", + "max_sp": 100, + "ranks": [ + "100201", + "100202", + "100203", + "100204", + "100205", + "100206" + ], + "skills": [ + "100201", + "100202", + "100203", + "100204", + "100206", + "100207" + ], + "skill_trees": [ + "1002001", + "1002002", + "1002003", + "1002004", + "1002007", + "1002101", + "1002102", + "1002103", + "1002201", + "1002202", + "1002203", + "1002204", + "1002205", + "1002206", + "1002207", + "1002208", + "1002209", + "1002210" + ], + "icon": "icon/character/1002.png", + "preview": "image/character_preview/1002.png", + "portrait": "image/character_portrait/1002.png" + }, + "1003": { + "id": "1003", + "name": "Himeko", + "tag": "himeko", + "rarity": 5, + "path": "Mage", + "element": "Fire", + "max_sp": 120, + "ranks": [ + "100301", + "100302", + "100303", + "100304", + "100305", + "100306" + ], + "skills": [ + "100301", + "100302", + "100303", + "100304", + "100306", + "100307" + ], + "skill_trees": [ + "1003001", + "1003002", + "1003003", + "1003004", + "1003007", + "1003101", + "1003102", + "1003103", + "1003201", + "1003202", + "1003203", + "1003204", + "1003205", + "1003206", + "1003207", + "1003208", + "1003209", + "1003210" + ], + "icon": "icon/character/1003.png", + "preview": "image/character_preview/1003.png", + "portrait": "image/character_portrait/1003.png" + }, + "1004": { + "id": "1004", + "name": "Welt", + "tag": "welt", + "rarity": 5, + "path": "Warlock", + "element": "Imaginary", + "max_sp": 120, + "ranks": [ + "100401", + "100402", + "100403", + "100404", + "100405", + "100406" + ], + "skills": [ + "100401", + "100402", + "100403", + "100404", + "100406", + "100407" + ], + "skill_trees": [ + "1004001", + "1004002", + "1004003", + "1004004", + "1004007", + "1004101", + "1004102", + "1004103", + "1004201", + "1004202", + "1004203", + "1004204", + "1004205", + "1004206", + "1004207", + "1004208", + "1004209", + "1004210" + ], + "icon": "icon/character/1004.png", + "preview": "image/character_preview/1004.png", + "portrait": "image/character_portrait/1004.png" + }, + "1005": { + "id": "1005", + "name": "Kafka", + "tag": "kafka", + "rarity": 5, + "path": "Warlock", + "element": "Thunder", + "max_sp": 120, + "ranks": [ + "100501", + "100502", + "100503", + "100504", + "100505", + "100506" + ], + "skills": [ + "100501", + "100502", + "100503", + "100504", + "100506", + "100507" + ], + "skill_trees": [ + "1005001", + "1005002", + "1005003", + "1005004", + "1005007", + "1005101", + "1005102", + "1005103", + "1005201", + "1005202", + "1005203", + "1005204", + "1005205", + "1005206", + "1005207", + "1005208", + "1005209", + "1005210" + ], + "icon": "icon/character/1005.png", + "preview": "image/character_preview/1005.png", + "portrait": "image/character_portrait/1005.png" + }, + "1006": { + "id": "1006", + "name": "Silver Wolf", + "tag": "silverwolf", + "rarity": 5, + "path": "Warlock", + "element": "Quantum", + "max_sp": 110, + "ranks": [ + "100601", + "100602", + "100603", + "100604", + "100605", + "100606" + ], + "skills": [ + "100601", + "100602", + "100603", + "100604", + "100606", + "100607" + ], + "skill_trees": [ + "1006001", + "1006002", + "1006003", + "1006004", + "1006007", + "1006101", + "1006102", + "1006103", + "1006201", + "1006202", + "1006203", + "1006204", + "1006205", + "1006206", + "1006207", + "1006208", + "1006209", + "1006210" + ], + "icon": "icon/character/1006.png", + "preview": "image/character_preview/1006.png", + "portrait": "image/character_portrait/1006.png" + }, + "1008": { + "id": "1008", + "name": "Arlan", + "tag": "arlan", + "rarity": 4, + "path": "Warrior", + "element": "Thunder", + "max_sp": 110, + "ranks": [ + "100801", + "100802", + "100803", + "100804", + "100805", + "100806" + ], + "skills": [ + "100801", + "100802", + "100803", + "100804", + "100806", + "100807" + ], + "skill_trees": [ + "1008001", + "1008002", + "1008003", + "1008004", + "1008007", + "1008101", + "1008102", + "1008103", + "1008201", + "1008202", + "1008203", + "1008204", + "1008205", + "1008206", + "1008207", + "1008208", + "1008209", + "1008210" + ], + "icon": "icon/character/1008.png", + "preview": "image/character_preview/1008.png", + "portrait": "image/character_portrait/1008.png" + }, + "1009": { + "id": "1009", + "name": "Asta", + "tag": "asta", + "rarity": 4, + "path": "Shaman", + "element": "Fire", + "max_sp": 120, + "ranks": [ + "100901", + "100902", + "100903", + "100904", + "100905", + "100906" + ], + "skills": [ + "100901", + "100902", + "100903", + "100904", + "100906", + "100907" + ], + "skill_trees": [ + "1009001", + "1009002", + "1009003", + "1009004", + "1009007", + "1009101", + "1009102", + "1009103", + "1009201", + "1009202", + "1009203", + "1009204", + "1009205", + "1009206", + "1009207", + "1009208", + "1009209", + "1009210" + ], + "icon": "icon/character/1009.png", + "preview": "image/character_preview/1009.png", + "portrait": "image/character_portrait/1009.png" + }, + "1013": { + "id": "1013", + "name": "Herta", + "tag": "herta", + "rarity": 4, + "path": "Mage", + "element": "Ice", + "max_sp": 110, + "ranks": [ + "101301", + "101302", + "101303", + "101304", + "101305", + "101306" + ], + "skills": [ + "101301", + "101302", + "101303", + "101304", + "101306", + "101307" + ], + "skill_trees": [ + "1013001", + "1013002", + "1013003", + "1013004", + "1013007", + "1013101", + "1013102", + "1013103", + "1013201", + "1013202", + "1013203", + "1013204", + "1013205", + "1013206", + "1013207", + "1013208", + "1013209", + "1013210" + ], + "icon": "icon/character/1013.png", + "preview": "image/character_preview/1013.png", + "portrait": "image/character_portrait/1013.png" + }, + "1101": { + "id": "1101", + "name": "Bronya", + "tag": "bronya", + "rarity": 5, + "path": "Shaman", + "element": "Wind", + "max_sp": 120, + "ranks": [ + "110101", + "110102", + "110103", + "110104", + "110105", + "110106" + ], + "skills": [ + "110101", + "110102", + "110103", + "110104", + "110106", + "110107" + ], + "skill_trees": [ + "1101001", + "1101002", + "1101003", + "1101004", + "1101007", + "1101101", + "1101102", + "1101103", + "1101201", + "1101202", + "1101203", + "1101204", + "1101205", + "1101206", + "1101207", + "1101208", + "1101209", + "1101210" + ], + "icon": "icon/character/1101.png", + "preview": "image/character_preview/1101.png", + "portrait": "image/character_portrait/1101.png" + }, + "1102": { + "id": "1102", + "name": "Seele", + "tag": "seele", + "rarity": 5, + "path": "Rogue", + "element": "Quantum", + "max_sp": 120, + "ranks": [ + "110201", + "110202", + "110203", + "110204", + "110205", + "110206" + ], + "skills": [ + "110201", + "110202", + "110203", + "110204", + "110206", + "110207" + ], + "skill_trees": [ + "1102001", + "1102002", + "1102003", + "1102004", + "1102007", + "1102101", + "1102102", + "1102103", + "1102201", + "1102202", + "1102203", + "1102204", + "1102205", + "1102206", + "1102207", + "1102208", + "1102209", + "1102210" + ], + "icon": "icon/character/1102.png", + "preview": "image/character_preview/1102.png", + "portrait": "image/character_portrait/1102.png" + }, + "1103": { + "id": "1103", + "name": "Serval", + "tag": "serval", + "rarity": 4, + "path": "Mage", + "element": "Thunder", + "max_sp": 100, + "ranks": [ + "110301", + "110302", + "110303", + "110304", + "110305", + "110306" + ], + "skills": [ + "110301", + "110302", + "110303", + "110304", + "110306", + "110307" + ], + "skill_trees": [ + "1103001", + "1103002", + "1103003", + "1103004", + "1103007", + "1103101", + "1103102", + "1103103", + "1103201", + "1103202", + "1103203", + "1103204", + "1103205", + "1103206", + "1103207", + "1103208", + "1103209", + "1103210" + ], + "icon": "icon/character/1103.png", + "preview": "image/character_preview/1103.png", + "portrait": "image/character_portrait/1103.png" + }, + "1104": { + "id": "1104", + "name": "Gepard", + "tag": "gepard", + "rarity": 5, + "path": "Knight", + "element": "Ice", + "max_sp": 100, + "ranks": [ + "110401", + "110402", + "110403", + "110404", + "110405", + "110406" + ], + "skills": [ + "110401", + "110402", + "110403", + "110404", + "110406", + "110407" + ], + "skill_trees": [ + "1104001", + "1104002", + "1104003", + "1104004", + "1104007", + "1104101", + "1104102", + "1104103", + "1104201", + "1104202", + "1104203", + "1104204", + "1104205", + "1104206", + "1104207", + "1104208", + "1104209", + "1104210" + ], + "icon": "icon/character/1104.png", + "preview": "image/character_preview/1104.png", + "portrait": "image/character_portrait/1104.png" + }, + "1105": { + "id": "1105", + "name": "Natasha", + "tag": "natasha", + "rarity": 4, + "path": "Priest", + "element": "Physical", + "max_sp": 90, + "ranks": [ + "110501", + "110502", + "110503", + "110504", + "110505", + "110506" + ], + "skills": [ + "110501", + "110502", + "110503", + "110504", + "110506", + "110507" + ], + "skill_trees": [ + "1105001", + "1105002", + "1105003", + "1105004", + "1105007", + "1105101", + "1105102", + "1105103", + "1105201", + "1105202", + "1105203", + "1105204", + "1105205", + "1105206", + "1105207", + "1105208", + "1105209", + "1105210" + ], + "icon": "icon/character/1105.png", + "preview": "image/character_preview/1105.png", + "portrait": "image/character_portrait/1105.png" + }, + "1106": { + "id": "1106", + "name": "Pela", + "tag": "pela", + "rarity": 4, + "path": "Warlock", + "element": "Ice", + "max_sp": 110, + "ranks": [ + "110601", + "110602", + "110603", + "110604", + "110605", + "110606" + ], + "skills": [ + "110601", + "110602", + "110603", + "110604", + "110606", + "110607" + ], + "skill_trees": [ + "1106001", + "1106002", + "1106003", + "1106004", + "1106007", + "1106101", + "1106102", + "1106103", + "1106201", + "1106202", + "1106203", + "1106204", + "1106205", + "1106206", + "1106207", + "1106208", + "1106209", + "1106210" + ], + "icon": "icon/character/1106.png", + "preview": "image/character_preview/1106.png", + "portrait": "image/character_portrait/1106.png" + }, + "1107": { + "id": "1107", + "name": "Clara", + "tag": "clara", + "rarity": 5, + "path": "Warrior", + "element": "Physical", + "max_sp": 110, + "ranks": [ + "110701", + "110702", + "110703", + "110704", + "110705", + "110706" + ], + "skills": [ + "110701", + "110702", + "110703", + "110704", + "110706", + "110707" + ], + "skill_trees": [ + "1107001", + "1107002", + "1107003", + "1107004", + "1107007", + "1107101", + "1107102", + "1107103", + "1107201", + "1107202", + "1107203", + "1107204", + "1107205", + "1107206", + "1107207", + "1107208", + "1107209", + "1107210" + ], + "icon": "icon/character/1107.png", + "preview": "image/character_preview/1107.png", + "portrait": "image/character_portrait/1107.png" + }, + "1108": { + "id": "1108", + "name": "Sampo", + "tag": "sampo", + "rarity": 4, + "path": "Warlock", + "element": "Wind", + "max_sp": 120, + "ranks": [ + "110801", + "110802", + "110803", + "110804", + "110805", + "110806" + ], + "skills": [ + "110801", + "110802", + "110803", + "110804", + "110806", + "110807" + ], + "skill_trees": [ + "1108001", + "1108002", + "1108003", + "1108004", + "1108007", + "1108101", + "1108102", + "1108103", + "1108201", + "1108202", + "1108203", + "1108204", + "1108205", + "1108206", + "1108207", + "1108208", + "1108209", + "1108210" + ], + "icon": "icon/character/1108.png", + "preview": "image/character_preview/1108.png", + "portrait": "image/character_portrait/1108.png" + }, + "1109": { + "id": "1109", + "name": "Hook", + "tag": "hook", + "rarity": 4, + "path": "Warrior", + "element": "Fire", + "max_sp": 120, + "ranks": [ + "110901", + "110902", + "110903", + "110904", + "110905", + "110906" + ], + "skills": [ + "110901", + "110902", + "110903", + "110904", + "110906", + "110907", + "110909" + ], + "skill_trees": [ + "1109001", + "1109002", + "1109003", + "1109004", + "1109007", + "1109101", + "1109102", + "1109103", + "1109201", + "1109202", + "1109203", + "1109204", + "1109205", + "1109206", + "1109207", + "1109208", + "1109209", + "1109210" + ], + "icon": "icon/character/1109.png", + "preview": "image/character_preview/1109.png", + "portrait": "image/character_portrait/1109.png" + }, + "1110": { + "id": "1110", + "name": "Lynx", + "tag": "lynx", + "rarity": 4, + "path": "Priest", + "element": "Quantum", + "max_sp": 100, + "ranks": [ + "111001", + "111002", + "111003", + "111004", + "111005", + "111006" + ], + "skills": [ + "111001", + "111002", + "111003", + "111004", + "111006", + "111007" + ], + "skill_trees": [ + "1110001", + "1110002", + "1110003", + "1110004", + "1110007", + "1110101", + "1110102", + "1110103", + "1110201", + "1110202", + "1110203", + "1110204", + "1110205", + "1110206", + "1110207", + "1110208", + "1110209", + "1110210" + ], + "icon": "icon/character/1110.png", + "preview": "image/character_preview/1110.png", + "portrait": "image/character_portrait/1110.png" + }, + "1111": { + "id": "1111", + "name": "Luka", + "tag": "luka", + "rarity": 4, + "path": "Warlock", + "element": "Physical", + "max_sp": 130, + "ranks": [ + "111101", + "111102", + "111103", + "111104", + "111105", + "111106" + ], + "skills": [ + "111101", + "111102", + "111103", + "111104", + "111106", + "111107", + "111108" + ], + "skill_trees": [ + "1111001", + "1111002", + "1111003", + "1111004", + "1111007", + "1111101", + "1111102", + "1111103", + "1111201", + "1111202", + "1111203", + "1111204", + "1111205", + "1111206", + "1111207", + "1111208", + "1111209", + "1111210" + ], + "icon": "icon/character/1111.png", + "preview": "image/character_preview/1111.png", + "portrait": "image/character_portrait/1111.png" + }, + "1112": { + "id": "1112", + "name": "Topaz & Numby", + "tag": "topaz", + "rarity": 5, + "path": "Rogue", + "element": "Fire", + "max_sp": 130, + "ranks": [ + "111201", + "111202", + "111203", + "111204", + "111205", + "111206" + ], + "skills": [ + "111201", + "111202", + "111203", + "111204", + "111206", + "111207" + ], + "skill_trees": [ + "1112001", + "1112002", + "1112003", + "1112004", + "1112007", + "1112101", + "1112102", + "1112103", + "1112201", + "1112202", + "1112203", + "1112204", + "1112205", + "1112206", + "1112207", + "1112208", + "1112209", + "1112210" + ], + "icon": "icon/character/1112.png", + "preview": "image/character_preview/1112.png", + "portrait": "image/character_portrait/1112.png" + }, + "1201": { + "id": "1201", + "name": "Qingque", + "tag": "qingque", + "rarity": 4, + "path": "Mage", + "element": "Quantum", + "max_sp": 140, + "ranks": [ + "120101", + "120102", + "120103", + "120104", + "120105", + "120106" + ], + "skills": [ + "120101", + "120102", + "120103", + "120104", + "120106", + "120107", + "120108" + ], + "skill_trees": [ + "1201001", + "1201002", + "1201003", + "1201004", + "1201007", + "1201101", + "1201102", + "1201103", + "1201201", + "1201202", + "1201203", + "1201204", + "1201205", + "1201206", + "1201207", + "1201208", + "1201209", + "1201210" + ], + "icon": "icon/character/1201.png", + "preview": "image/character_preview/1201.png", + "portrait": "image/character_portrait/1201.png" + }, + "1202": { + "id": "1202", + "name": "Tingyun", + "tag": "tingyun", + "rarity": 4, + "path": "Shaman", + "element": "Thunder", + "max_sp": 130, + "ranks": [ + "120201", + "120202", + "120203", + "120204", + "120205", + "120206" + ], + "skills": [ + "120201", + "120202", + "120203", + "120204", + "120206", + "120207" + ], + "skill_trees": [ + "1202001", + "1202002", + "1202003", + "1202004", + "1202007", + "1202101", + "1202102", + "1202103", + "1202201", + "1202202", + "1202203", + "1202204", + "1202205", + "1202206", + "1202207", + "1202208", + "1202209", + "1202210" + ], + "icon": "icon/character/1202.png", + "preview": "image/character_preview/1202.png", + "portrait": "image/character_portrait/1202.png" + }, + "1203": { + "id": "1203", + "name": "Luocha", + "tag": "luocha", + "rarity": 5, + "path": "Priest", + "element": "Imaginary", + "max_sp": 100, + "ranks": [ + "120301", + "120302", + "120303", + "120304", + "120305", + "120306" + ], + "skills": [ + "120301", + "120302", + "120303", + "120304", + "120306", + "120307" + ], + "skill_trees": [ + "1203001", + "1203002", + "1203003", + "1203004", + "1203007", + "1203101", + "1203102", + "1203103", + "1203201", + "1203202", + "1203203", + "1203204", + "1203205", + "1203206", + "1203207", + "1203208", + "1203209", + "1203210" + ], + "icon": "icon/character/1203.png", + "preview": "image/character_preview/1203.png", + "portrait": "image/character_portrait/1203.png" + }, + "1204": { + "id": "1204", + "name": "Jing Yuan", + "tag": "jingyuan", + "rarity": 5, + "path": "Mage", + "element": "Thunder", + "max_sp": 130, + "ranks": [ + "120401", + "120402", + "120403", + "120404", + "120405", + "120406" + ], + "skills": [ + "120401", + "120402", + "120403", + "120404", + "120406", + "120407" + ], + "skill_trees": [ + "1204001", + "1204002", + "1204003", + "1204004", + "1204007", + "1204101", + "1204102", + "1204103", + "1204201", + "1204202", + "1204203", + "1204204", + "1204205", + "1204206", + "1204207", + "1204208", + "1204209", + "1204210" + ], + "icon": "icon/character/1204.png", + "preview": "image/character_preview/1204.png", + "portrait": "image/character_portrait/1204.png" + }, + "1205": { + "id": "1205", + "name": "Blade", + "tag": "blade", + "rarity": 5, + "path": "Warrior", + "element": "Wind", + "max_sp": 130, + "ranks": [ + "120501", + "120502", + "120503", + "120504", + "120505", + "120506" + ], + "skills": [ + "120501", + "120502", + "120503", + "120504", + "120506", + "120507", + "120508" + ], + "skill_trees": [ + "1205001", + "1205002", + "1205003", + "1205004", + "1205007", + "1205101", + "1205102", + "1205103", + "1205201", + "1205202", + "1205203", + "1205204", + "1205205", + "1205206", + "1205207", + "1205208", + "1205209", + "1205210" + ], + "icon": "icon/character/1205.png", + "preview": "image/character_preview/1205.png", + "portrait": "image/character_portrait/1205.png" + }, + "1206": { + "id": "1206", + "name": "Sushang", + "tag": "sushang", + "rarity": 4, + "path": "Rogue", + "element": "Physical", + "max_sp": 120, + "ranks": [ + "120601", + "120602", + "120603", + "120604", + "120605", + "120606" + ], + "skills": [ + "120601", + "120602", + "120603", + "120604", + "120606", + "120607" + ], + "skill_trees": [ + "1206001", + "1206002", + "1206003", + "1206004", + "1206007", + "1206101", + "1206102", + "1206103", + "1206201", + "1206202", + "1206203", + "1206204", + "1206205", + "1206206", + "1206207", + "1206208", + "1206209", + "1206210" + ], + "icon": "icon/character/1206.png", + "preview": "image/character_preview/1206.png", + "portrait": "image/character_portrait/1206.png" + }, + "1207": { + "id": "1207", + "name": "Yukong", + "tag": "yukong", + "rarity": 4, + "path": "Shaman", + "element": "Imaginary", + "max_sp": 130, + "ranks": [ + "120701", + "120702", + "120703", + "120704", + "120705", + "120706" + ], + "skills": [ + "120701", + "120702", + "120703", + "120704", + "120706", + "120707" + ], + "skill_trees": [ + "1207001", + "1207002", + "1207003", + "1207004", + "1207007", + "1207101", + "1207102", + "1207103", + "1207201", + "1207202", + "1207203", + "1207204", + "1207205", + "1207206", + "1207207", + "1207208", + "1207209", + "1207210" + ], + "icon": "icon/character/1207.png", + "preview": "image/character_preview/1207.png", + "portrait": "image/character_portrait/1207.png" + }, + "1208": { + "id": "1208", + "name": "Fu Xuan", + "tag": "fuxuan", + "rarity": 5, + "path": "Knight", + "element": "Quantum", + "max_sp": 135, + "ranks": [ + "120801", + "120802", + "120803", + "120804", + "120805", + "120806" + ], + "skills": [ + "120801", + "120802", + "120803", + "120804", + "120806", + "120807" + ], + "skill_trees": [ + "1208001", + "1208002", + "1208003", + "1208004", + "1208007", + "1208101", + "1208102", + "1208103", + "1208201", + "1208202", + "1208203", + "1208204", + "1208205", + "1208206", + "1208207", + "1208208", + "1208209", + "1208210" + ], + "icon": "icon/character/1208.png", + "preview": "image/character_preview/1208.png", + "portrait": "image/character_portrait/1208.png" + }, + "1209": { + "id": "1209", + "name": "Yanqing", + "tag": "yanqing", + "rarity": 5, + "path": "Rogue", + "element": "Ice", + "max_sp": 140, + "ranks": [ + "120901", + "120902", + "120903", + "120904", + "120905", + "120906" + ], + "skills": [ + "120901", + "120902", + "120903", + "120904", + "120906", + "120907" + ], + "skill_trees": [ + "1209001", + "1209002", + "1209003", + "1209004", + "1209007", + "1209101", + "1209102", + "1209103", + "1209201", + "1209202", + "1209203", + "1209204", + "1209205", + "1209206", + "1209207", + "1209208", + "1209209", + "1209210" + ], + "icon": "icon/character/1209.png", + "preview": "image/character_preview/1209.png", + "portrait": "image/character_portrait/1209.png" + }, + "1210": { + "id": "1210", + "name": "Guinaifen", + "tag": "guinaifen", + "rarity": 4, + "path": "Warlock", + "element": "Fire", + "max_sp": 120, + "ranks": [ + "121001", + "121002", + "121003", + "121004", + "121005", + "121006" + ], + "skills": [ + "121001", + "121002", + "121003", + "121004", + "121006", + "121007" + ], + "skill_trees": [ + "1210001", + "1210002", + "1210003", + "1210004", + "1210007", + "1210101", + "1210102", + "1210103", + "1210201", + "1210202", + "1210203", + "1210204", + "1210205", + "1210206", + "1210207", + "1210208", + "1210209", + "1210210" + ], + "icon": "icon/character/1210.png", + "preview": "image/character_preview/1210.png", + "portrait": "image/character_portrait/1210.png" + }, + "1211": { + "id": "1211", + "name": "Bailu", + "tag": "bailu", + "rarity": 5, + "path": "Priest", + "element": "Thunder", + "max_sp": 100, + "ranks": [ + "121101", + "121102", + "121103", + "121104", + "121105", + "121106" + ], + "skills": [ + "121101", + "121102", + "121103", + "121104", + "121106", + "121107" + ], + "skill_trees": [ + "1211001", + "1211002", + "1211003", + "1211004", + "1211007", + "1211101", + "1211102", + "1211103", + "1211201", + "1211202", + "1211203", + "1211204", + "1211205", + "1211206", + "1211207", + "1211208", + "1211209", + "1211210" + ], + "icon": "icon/character/1211.png", + "preview": "image/character_preview/1211.png", + "portrait": "image/character_portrait/1211.png" + }, + "1212": { + "id": "1212", + "name": "Jingliu", + "tag": "jingliu", + "rarity": 5, + "path": "Warrior", + "element": "Ice", + "max_sp": 140, + "ranks": [ + "121201", + "121202", + "121203", + "121204", + "121205", + "121206" + ], + "skills": [ + "121201", + "121202", + "121203", + "121204", + "121206", + "121207", + "121209" + ], + "skill_trees": [ + "1212001", + "1212002", + "1212003", + "1212004", + "1212007", + "1212101", + "1212102", + "1212103", + "1212201", + "1212202", + "1212203", + "1212204", + "1212205", + "1212206", + "1212207", + "1212208", + "1212209", + "1212210" + ], + "icon": "icon/character/1212.png", + "preview": "image/character_preview/1212.png", + "portrait": "image/character_portrait/1212.png" + }, + "1213": { + "id": "1213", + "name": "Dan Heng • Imbibitor Lunae", + "tag": "danhengil", + "rarity": 5, + "path": "Warrior", + "element": "Imaginary", + "max_sp": 140, + "ranks": [ + "121301", + "121302", + "121303", + "121304", + "121305", + "121306" + ], + "skills": [ + "121301", + "121302", + "121303", + "121304", + "121306", + "121307", + "121308", + "121309", + "121310", + "121312" + ], + "skill_trees": [ + "1213001", + "1213002", + "1213003", + "1213004", + "1213007", + "1213101", + "1213102", + "1213103", + "1213201", + "1213202", + "1213203", + "1213204", + "1213205", + "1213206", + "1213207", + "1213208", + "1213209", + "1213210" + ], + "icon": "icon/character/1213.png", + "preview": "image/character_preview/1213.png", + "portrait": "image/character_portrait/1213.png" + }, + "1215": { + "id": "1215", + "name": "Hanya", + "tag": "hanya", + "rarity": 4, + "path": "Shaman", + "element": "Physical", + "max_sp": 140, + "ranks": [ + "121501", + "121502", + "121503", + "121504", + "121505", + "121506" + ], + "skills": [ + "121501", + "121502", + "121503", + "121504", + "121506", + "121507" + ], + "skill_trees": [ + "1215001", + "1215002", + "1215003", + "1215004", + "1215007", + "1215101", + "1215102", + "1215103", + "1215201", + "1215202", + "1215203", + "1215204", + "1215205", + "1215206", + "1215207", + "1215208", + "1215209", + "1215210" + ], + "icon": "icon/character/1215.png", + "preview": "image/character_preview/1215.png", + "portrait": "image/character_portrait/1215.png" + }, + "1217": { + "id": "1217", + "name": "Huohuo", + "tag": "huohuo", + "rarity": 5, + "path": "Priest", + "element": "Wind", + "max_sp": 140, + "ranks": [ + "121701", + "121702", + "121703", + "121704", + "121705", + "121706" + ], + "skills": [ + "121701", + "121702", + "121703", + "121704", + "121706", + "121707" + ], + "skill_trees": [ + "1217001", + "1217002", + "1217003", + "1217004", + "1217007", + "1217101", + "1217102", + "1217103", + "1217201", + "1217202", + "1217203", + "1217204", + "1217205", + "1217206", + "1217207", + "1217208", + "1217209", + "1217210" + ], + "icon": "icon/character/1217.png", + "preview": "image/character_preview/1217.png", + "portrait": "image/character_portrait/1217.png" + }, + "1302": { + "id": "1302", + "name": "Argenti", + "tag": "argenti", + "rarity": 5, + "path": "Mage", + "element": "Physical", + "max_sp": 180, + "ranks": [ + "130201", + "130202", + "130203", + "130204", + "130205", + "130206" + ], + "skills": [ + "130201", + "130202", + "130203", + "130204", + "130206", + "130207", + "130214" + ], + "skill_trees": [ + "1302001", + "1302002", + "1302003", + "1302004", + "1302007", + "1302101", + "1302102", + "1302103", + "1302201", + "1302202", + "1302203", + "1302204", + "1302205", + "1302206", + "1302207", + "1302208", + "1302209", + "1302210" + ], + "icon": "icon/character/1302.png", + "preview": "image/character_preview/1302.png", + "portrait": "image/character_portrait/1302.png" + }, + "8001": { + "id": "8001", + "name": "{NICKNAME}", + "tag": "playerboy", + "rarity": 5, + "path": "Warrior", + "element": "Physical", + "max_sp": 120, + "ranks": [ + "800101", + "800102", + "800103", + "800104", + "800105", + "800106" + ], + "skills": [ + "800101", + "800102", + "800103", + "800104", + "800106", + "800107", + "800108", + "800109" + ], + "skill_trees": [ + "8001001", + "8001002", + "8001003", + "8001004", + "8001007", + "8001101", + "8001102", + "8001103", + "8001201", + "8001202", + "8001203", + "8001204", + "8001205", + "8001206", + "8001207", + "8001208", + "8001209", + "8001210" + ], + "icon": "icon/character/8001.png", + "preview": "image/character_preview/8001.png", + "portrait": "image/character_portrait/8001.png" + }, + "8002": { + "id": "8002", + "name": "{NICKNAME}", + "tag": "playergirl", + "rarity": 5, + "path": "Warrior", + "element": "Physical", + "max_sp": 120, + "ranks": [ + "800201", + "800202", + "800203", + "800204", + "800205", + "800206" + ], + "skills": [ + "800201", + "800202", + "800203", + "800204", + "800206", + "800207", + "800208", + "800209" + ], + "skill_trees": [ + "8002001", + "8002002", + "8002003", + "8002004", + "8002007", + "8002101", + "8002102", + "8002103", + "8002201", + "8002202", + "8002203", + "8002204", + "8002205", + "8002206", + "8002207", + "8002208", + "8002209", + "8002210" + ], + "icon": "icon/character/8002.png", + "preview": "image/character_preview/8002.png", + "portrait": "image/character_portrait/8002.png" + }, + "8003": { + "id": "8003", + "name": "{NICKNAME}", + "tag": "playerboy2", + "rarity": 5, + "path": "Knight", + "element": "Fire", + "max_sp": 120, + "ranks": [ + "800301", + "800302", + "800303", + "800304", + "800305", + "800306" + ], + "skills": [ + "800301", + "800302", + "800303", + "800304", + "800306", + "800307", + "800308" + ], + "skill_trees": [ + "8003001", + "8003002", + "8003003", + "8003004", + "8003007", + "8003101", + "8003102", + "8003103", + "8003201", + "8003202", + "8003203", + "8003204", + "8003205", + "8003206", + "8003207", + "8003208", + "8003209", + "8003210" + ], + "icon": "icon/character/8003.png", + "preview": "image/character_preview/8003.png", + "portrait": "image/character_portrait/8003.png" + }, + "8004": { + "id": "8004", + "name": "{NICKNAME}", + "tag": "playergirl2", + "rarity": 5, + "path": "Knight", + "element": "Fire", + "max_sp": 120, + "ranks": [ + "800401", + "800402", + "800403", + "800404", + "800405", + "800406" + ], + "skills": [ + "800401", + "800402", + "800403", + "800404", + "800406", + "800407", + "800408" + ], + "skill_trees": [ + "8004001", + "8004002", + "8004003", + "8004004", + "8004007", + "8004101", + "8004102", + "8004103", + "8004201", + "8004202", + "8004203", + "8004204", + "8004205", + "8004206", + "8004207", + "8004208", + "8004209", + "8004210" + ], + "icon": "icon/character/8004.png", + "preview": "image/character_preview/8004.png", + "portrait": "image/character_portrait/8004.png" + } +} \ No newline at end of file diff --git a/public/data/star_rail/relic_main_affixes.json b/public/data/star_rail/relic_main_affixes.json new file mode 100644 index 0000000..04eea2f --- /dev/null +++ b/public/data/star_rail/relic_main_affixes.json @@ -0,0 +1,849 @@ +{ + "21": { + "id": "21", + "affixes": { + "1": { + "affix_id": "1", + "property": "HPDelta", + "base": 45.158399999840185, + "step": 15.805440000956878 + } + } + }, + "22": { + "id": "22", + "affixes": { + "1": { + "affix_id": "1", + "property": "AttackDelta", + "base": 22.579200000036508, + "step": 7.902720001293346 + } + } + }, + "23": { + "id": "23", + "affixes": { + "1": { + "affix_id": "1", + "property": "HPAddedRatio", + "base": 0.027648000279441, + "step": 0.0096770003438 + }, + "2": { + "affix_id": "2", + "property": "AttackAddedRatio", + "base": 0.027648000279441, + "step": 0.0096770003438 + }, + "3": { + "affix_id": "3", + "property": "DefenceAddedRatio", + "base": 0.034560000523925, + "step": 0.012096000602469 + }, + "4": { + "affix_id": "4", + "property": "CriticalChanceBase", + "base": 0.02073600073345, + "step": 0.00725800008513 + }, + "5": { + "affix_id": "5", + "property": "CriticalDamageBase", + "base": 0.041472000768408, + "step": 0.014515000162646 + }, + "6": { + "affix_id": "6", + "property": "HealRatioBase", + "base": 0.022118000080809, + "step": 0.007741000270471 + }, + "7": { + "affix_id": "7", + "property": "StatusProbabilityBase", + "base": 0.027648000279441, + "step": 0.0096770003438 + } + } + }, + "24": { + "id": "24", + "affixes": { + "1": { + "affix_id": "1", + "property": "HPAddedRatio", + "base": 0.027648000279441, + "step": 0.0096770003438 + }, + "2": { + "affix_id": "2", + "property": "AttackAddedRatio", + "base": 0.027648000279441, + "step": 0.0096770003438 + }, + "3": { + "affix_id": "3", + "property": "DefenceAddedRatio", + "base": 0.034560000523925, + "step": 0.012096000602469 + }, + "4": { + "affix_id": "4", + "property": "SpeedDelta", + "base": 1.61280000093393, + "step": 1 + } + } + }, + "25": { + "id": "25", + "affixes": { + "1": { + "affix_id": "1", + "property": "HPAddedRatio", + "base": 0.027648000279441, + "step": 0.0096770003438 + }, + "2": { + "affix_id": "2", + "property": "AttackAddedRatio", + "base": 0.027648000279441, + "step": 0.0096770003438 + }, + "3": { + "affix_id": "3", + "property": "DefenceAddedRatio", + "base": 0.034560000523925, + "step": 0.012096000602469 + }, + "4": { + "affix_id": "4", + "property": "PhysicalAddedRatio", + "base": 0.024883000878617, + "step": 0.008708999957889 + }, + "5": { + "affix_id": "5", + "property": "FireAddedRatio", + "base": 0.024883000878617, + "step": 0.008708999957889 + }, + "6": { + "affix_id": "6", + "property": "IceAddedRatio", + "base": 0.024883000878617, + "step": 0.008708999957889 + }, + "7": { + "affix_id": "7", + "property": "ThunderAddedRatio", + "base": 0.024883000878617, + "step": 0.008708999957889 + }, + "8": { + "affix_id": "8", + "property": "WindAddedRatio", + "base": 0.024883000878617, + "step": 0.008708999957889 + }, + "9": { + "affix_id": "9", + "property": "QuantumAddedRatio", + "base": 0.024883000878617, + "step": 0.008708999957889 + }, + "10": { + "affix_id": "10", + "property": "ImaginaryAddedRatio", + "base": 0.024883000878617, + "step": 0.008708999957889 + } + } + }, + "26": { + "id": "26", + "affixes": { + "1": { + "affix_id": "1", + "property": "BreakDamageAddedRatioBase", + "base": 0.041472000768408, + "step": 0.014515000162646 + }, + "2": { + "affix_id": "2", + "property": "SPRatioBase", + "base": 0.012442000443116, + "step": 0.004355000331998 + }, + "3": { + "affix_id": "3", + "property": "HPAddedRatio", + "base": 0.027648000279441, + "step": 0.0096770003438 + }, + "4": { + "affix_id": "4", + "property": "AttackAddedRatio", + "base": 0.027648000279441, + "step": 0.0096770003438 + }, + "5": { + "affix_id": "5", + "property": "DefenceAddedRatio", + "base": 0.034560000523925, + "step": 0.012096000602469 + } + } + }, + "31": { + "id": "31", + "affixes": { + "1": { + "affix_id": "1", + "property": "HPDelta", + "base": 67.73760000057518, + "step": 23.70816000062041 + } + } + }, + "32": { + "id": "32", + "affixes": { + "1": { + "affix_id": "1", + "property": "AttackDelta", + "base": 33.868800000753254, + "step": 11.854080001125112 + } + } + }, + "33": { + "id": "33", + "affixes": { + "1": { + "affix_id": "1", + "property": "HPAddedRatio", + "base": 0.041472000768408, + "step": 0.014515000162646 + }, + "2": { + "affix_id": "2", + "property": "AttackAddedRatio", + "base": 0.041472000768408, + "step": 0.014515000162646 + }, + "3": { + "affix_id": "3", + "property": "DefenceAddedRatio", + "base": 0.051840000785887, + "step": 0.018143999855965 + }, + "4": { + "affix_id": "4", + "property": "CriticalChanceBase", + "base": 0.031104000052437, + "step": 0.010886001167819 + }, + "5": { + "affix_id": "5", + "property": "CriticalDamageBase", + "base": 0.062208000104874, + "step": 0.021773000946268 + }, + "6": { + "affix_id": "6", + "property": "HealRatioBase", + "base": 0.033178000478074, + "step": 0.011612000409514 + }, + "7": { + "affix_id": "7", + "property": "StatusProbabilityBase", + "base": 0.041472000768408, + "step": 0.014515000162646 + } + } + }, + "34": { + "id": "34", + "affixes": { + "1": { + "affix_id": "1", + "property": "HPAddedRatio", + "base": 0.041472000768408, + "step": 0.014515000162646 + }, + "2": { + "affix_id": "2", + "property": "AttackAddedRatio", + "base": 0.041472000768408, + "step": 0.014515000162646 + }, + "3": { + "affix_id": "3", + "property": "DefenceAddedRatio", + "base": 0.051840000785887, + "step": 0.018143999855965 + }, + "4": { + "affix_id": "4", + "property": "SpeedDelta", + "base": 2.419199999887496, + "step": 1 + } + } + }, + "35": { + "id": "35", + "affixes": { + "1": { + "affix_id": "1", + "property": "HPAddedRatio", + "base": 0.041472000768408, + "step": 0.014515000162646 + }, + "2": { + "affix_id": "2", + "property": "AttackAddedRatio", + "base": 0.041472000768408, + "step": 0.014515000162646 + }, + "3": { + "affix_id": "3", + "property": "DefenceAddedRatio", + "base": 0.051840000785887, + "step": 0.018143999855965 + }, + "4": { + "affix_id": "4", + "property": "PhysicalAddedRatio", + "base": 0.037324999924749, + "step": 0.013064000289887 + }, + "5": { + "affix_id": "5", + "property": "FireAddedRatio", + "base": 0.037324999924749, + "step": 0.013064000289887 + }, + "6": { + "affix_id": "6", + "property": "IceAddedRatio", + "base": 0.037324999924749, + "step": 0.013064000289887 + }, + "7": { + "affix_id": "7", + "property": "ThunderAddedRatio", + "base": 0.037324999924749, + "step": 0.013064000289887 + }, + "8": { + "affix_id": "8", + "property": "WindAddedRatio", + "base": 0.037324999924749, + "step": 0.013064000289887 + }, + "9": { + "affix_id": "9", + "property": "QuantumAddedRatio", + "base": 0.037324999924749, + "step": 0.013064000289887 + }, + "10": { + "affix_id": "10", + "property": "ImaginaryAddedRatio", + "base": 0.037324999924749, + "step": 0.013064000289887 + } + } + }, + "36": { + "id": "36", + "affixes": { + "1": { + "affix_id": "1", + "property": "BreakDamageAddedRatioBase", + "base": 0.062208000104874, + "step": 0.021773000946268 + }, + "2": { + "affix_id": "2", + "property": "SPRatioBase", + "base": 0.018662000307813, + "step": 0.006532000144944 + }, + "3": { + "affix_id": "3", + "property": "HPAddedRatio", + "base": 0.041472000768408, + "step": 0.014515000162646 + }, + "4": { + "affix_id": "4", + "property": "AttackAddedRatio", + "base": 0.041472000768408, + "step": 0.014515000162646 + }, + "5": { + "affix_id": "5", + "property": "DefenceAddedRatio", + "base": 0.051840000785887, + "step": 0.018143999855965 + } + } + }, + "41": { + "id": "41", + "affixes": { + "1": { + "affix_id": "1", + "property": "HPDelta", + "base": 90.31680000037886, + "step": 31.610880001680925 + } + } + }, + "42": { + "id": "42", + "affixes": { + "1": { + "affix_id": "1", + "property": "AttackDelta", + "base": 45.158399999840185, + "step": 15.805440000956878 + } + } + }, + "43": { + "id": "43", + "affixes": { + "1": { + "affix_id": "1", + "property": "HPAddedRatio", + "base": 0.055296000558883, + "step": 0.019353999989107 + }, + "2": { + "affix_id": "2", + "property": "AttackAddedRatio", + "base": 0.055296000558883, + "step": 0.019353999989107 + }, + "3": { + "affix_id": "3", + "property": "DefenceAddedRatio", + "base": 0.069119999650866, + "step": 0.024192000506446 + }, + "4": { + "affix_id": "4", + "property": "CriticalChanceBase", + "base": 0.041472000768408, + "step": 0.014515000162646 + }, + "5": { + "affix_id": "5", + "property": "CriticalDamageBase", + "base": 0.082944000838324, + "step": 0.0290299996268 + }, + "6": { + "affix_id": "6", + "property": "HealRatioBase", + "base": 0.044237000169232, + "step": 0.015483000548556 + }, + "7": { + "affix_id": "7", + "property": "StatusProbabilityBase", + "base": 0.055296000558883, + "step": 0.019353999989107 + } + } + }, + "433": { + "id": "433", + "affixes": { + "1": { + "affix_id": "1", + "property": "DefenceAddedRatio", + "base": 0.069119999650866, + "step": 0.024192000506446 + } + } + }, + "434": { + "id": "434", + "affixes": { + "1": { + "affix_id": "1", + "property": "CriticalChanceBase", + "base": 0.041472000768408, + "step": 0.014515000162646 + } + } + }, + "436": { + "id": "436", + "affixes": { + "1": { + "affix_id": "1", + "property": "HealRatioBase", + "base": 0.044237000169232, + "step": 0.015483000548556 + } + } + }, + "44": { + "id": "44", + "affixes": { + "1": { + "affix_id": "1", + "property": "HPAddedRatio", + "base": 0.055296000558883, + "step": 0.019353999989107 + }, + "2": { + "affix_id": "2", + "property": "AttackAddedRatio", + "base": 0.055296000558883, + "step": 0.019353999989107 + }, + "3": { + "affix_id": "3", + "property": "DefenceAddedRatio", + "base": 0.069119999650866, + "step": 0.024192000506446 + }, + "4": { + "affix_id": "4", + "property": "SpeedDelta", + "base": 3.225600000238046, + "step": 1.100000000093132 + } + } + }, + "441": { + "id": "441", + "affixes": { + "1": { + "affix_id": "1", + "property": "HPAddedRatio", + "base": 0.055296000558883, + "step": 0.019353999989107 + } + } + }, + "443": { + "id": "443", + "affixes": { + "1": { + "affix_id": "1", + "property": "DefenceAddedRatio", + "base": 0.069119999650866, + "step": 0.024192000506446 + } + } + }, + "45": { + "id": "45", + "affixes": { + "1": { + "affix_id": "1", + "property": "HPAddedRatio", + "base": 0.055296000558883, + "step": 0.019353999989107 + }, + "2": { + "affix_id": "2", + "property": "AttackAddedRatio", + "base": 0.055296000558883, + "step": 0.019353999989107 + }, + "3": { + "affix_id": "3", + "property": "DefenceAddedRatio", + "base": 0.069119999650866, + "step": 0.024192000506446 + }, + "4": { + "affix_id": "4", + "property": "PhysicalAddedRatio", + "base": 0.04976600036025, + "step": 0.017417999915779 + }, + "5": { + "affix_id": "5", + "property": "FireAddedRatio", + "base": 0.04976600036025, + "step": 0.017417999915779 + }, + "6": { + "affix_id": "6", + "property": "IceAddedRatio", + "base": 0.04976600036025, + "step": 0.017417999915779 + }, + "7": { + "affix_id": "7", + "property": "ThunderAddedRatio", + "base": 0.04976600036025, + "step": 0.017417999915779 + }, + "8": { + "affix_id": "8", + "property": "WindAddedRatio", + "base": 0.04976600036025, + "step": 0.017417999915779 + }, + "9": { + "affix_id": "9", + "property": "QuantumAddedRatio", + "base": 0.04976600036025, + "step": 0.017417999915779 + }, + "10": { + "affix_id": "10", + "property": "ImaginaryAddedRatio", + "base": 0.04976600036025, + "step": 0.017417999915779 + } + } + }, + "46": { + "id": "46", + "affixes": { + "1": { + "affix_id": "1", + "property": "BreakDamageAddedRatioBase", + "base": 0.082944000838324, + "step": 0.0290299996268 + }, + "2": { + "affix_id": "2", + "property": "SPRatioBase", + "base": 0.024883000878617, + "step": 0.008708999957889 + }, + "3": { + "affix_id": "3", + "property": "HPAddedRatio", + "base": 0.055296000558883, + "step": 0.019353999989107 + }, + "4": { + "affix_id": "4", + "property": "AttackAddedRatio", + "base": 0.055296000558883, + "step": 0.019353999989107 + }, + "5": { + "affix_id": "5", + "property": "DefenceAddedRatio", + "base": 0.069119999650866, + "step": 0.024192000506446 + } + } + }, + "51": { + "id": "51", + "affixes": { + "1": { + "affix_id": "1", + "property": "HPDelta", + "base": 112.89600000041537, + "step": 39.513600000645965 + } + } + }, + "52": { + "id": "52", + "affixes": { + "1": { + "affix_id": "1", + "property": "AttackDelta", + "base": 56.44799999985844, + "step": 19.756800000788644 + } + } + }, + "53": { + "id": "53", + "affixes": { + "1": { + "affix_id": "1", + "property": "HPAddedRatio", + "base": 0.069119999650866, + "step": 0.024192000506446 + }, + "2": { + "affix_id": "2", + "property": "AttackAddedRatio", + "base": 0.069119999650866, + "step": 0.024192000506446 + }, + "3": { + "affix_id": "3", + "property": "DefenceAddedRatio", + "base": 0.086399999912828, + "step": 0.030240000458434 + }, + "4": { + "affix_id": "4", + "property": "CriticalChanceBase", + "base": 0.051840000785887, + "step": 0.018143999855965 + }, + "5": { + "affix_id": "5", + "property": "CriticalDamageBase", + "base": 0.103680000873283, + "step": 0.036288000410423 + }, + "6": { + "affix_id": "6", + "property": "HealRatioBase", + "base": 0.055296000558883, + "step": 0.019353999989107 + }, + "7": { + "affix_id": "7", + "property": "StatusProbabilityBase", + "base": 0.069119999650866, + "step": 0.024192000506446 + } + } + }, + "54": { + "id": "54", + "affixes": { + "1": { + "affix_id": "1", + "property": "HPAddedRatio", + "base": 0.069119999650866, + "step": 0.024192000506446 + }, + "2": { + "affix_id": "2", + "property": "AttackAddedRatio", + "base": 0.069119999650866, + "step": 0.024192000506446 + }, + "3": { + "affix_id": "3", + "property": "DefenceAddedRatio", + "base": 0.086399999912828, + "step": 0.030240000458434 + }, + "4": { + "affix_id": "4", + "property": "SpeedDelta", + "base": 4.031999999890104, + "step": 1.400000000372529 + } + } + }, + "55": { + "id": "55", + "affixes": { + "1": { + "affix_id": "1", + "property": "HPAddedRatio", + "base": 0.069119999650866, + "step": 0.024192000506446 + }, + "2": { + "affix_id": "2", + "property": "AttackAddedRatio", + "base": 0.069119999650866, + "step": 0.024192000506446 + }, + "3": { + "affix_id": "3", + "property": "DefenceAddedRatio", + "base": 0.086399999912828, + "step": 0.030240000458434 + }, + "4": { + "affix_id": "4", + "property": "PhysicalAddedRatio", + "base": 0.062208000104874, + "step": 0.021773000946268 + }, + "5": { + "affix_id": "5", + "property": "FireAddedRatio", + "base": 0.062208000104874, + "step": 0.021773000946268 + }, + "6": { + "affix_id": "6", + "property": "IceAddedRatio", + "base": 0.062208000104874, + "step": 0.021773000946268 + }, + "7": { + "affix_id": "7", + "property": "ThunderAddedRatio", + "base": 0.062208000104874, + "step": 0.021773000946268 + }, + "8": { + "affix_id": "8", + "property": "WindAddedRatio", + "base": 0.062208000104874, + "step": 0.021773000946268 + }, + "9": { + "affix_id": "9", + "property": "QuantumAddedRatio", + "base": 0.062208000104874, + "step": 0.021773000946268 + }, + "10": { + "affix_id": "10", + "property": "ImaginaryAddedRatio", + "base": 0.062208000104874, + "step": 0.021773000946268 + } + } + }, + "56": { + "id": "56", + "affixes": { + "1": { + "affix_id": "1", + "property": "BreakDamageAddedRatioBase", + "base": 0.103680000873283, + "step": 0.036288000410423 + }, + "2": { + "affix_id": "2", + "property": "SPRatioBase", + "base": 0.031104000052437, + "step": 0.010886001167819 + }, + "3": { + "affix_id": "3", + "property": "HPAddedRatio", + "base": 0.069119999650866, + "step": 0.024192000506446 + }, + "4": { + "affix_id": "4", + "property": "AttackAddedRatio", + "base": 0.069119999650866, + "step": 0.024192000506446 + }, + "5": { + "affix_id": "5", + "property": "DefenceAddedRatio", + "base": 0.086399999912828, + "step": 0.030240000458434 + } + } + } +} \ No newline at end of file diff --git a/public/data/star_rail/relic_sets.json b/public/data/star_rail/relic_sets.json new file mode 100644 index 0000000..cae9464 --- /dev/null +++ b/public/data/star_rail/relic_sets.json @@ -0,0 +1,522 @@ +{ + "101": { + "id": "101", + "name": "Passerby of Wandering Cloud", + "desc": [ + "Increases Outgoing Healing by 10%.", + "At the start of the battle, immediately regenerates 1 Skill Point." + ], + "properties": [ + [ + { + "type": "HealRatioBase", + "value": 0.1 + } + ], + [] + ], + "icon": "icon/relic/101.png", + "guide_overview": [] + }, + "102": { + "id": "102", + "name": "Musketeer of Wild Wheat", + "desc": [ + "ATK increases by 12%.", + "The wearer's SPD increases by 6% and Basic ATK DMG increases by 10%." + ], + "properties": [ + [ + { + "type": "AttackAddedRatio", + "value": 0.12 + } + ], + [ + { + "type": "SpeedAddedRatio", + "value": 0.06 + } + ] + ], + "icon": "icon/relic/102.png", + "guide_overview": [] + }, + "103": { + "id": "103", + "name": "Knight of Purity Palace", + "desc": [ + "Increases DEF by 15%.", + "Increases the max DMG that can be absorbed by the Shield created by the wearer by 20%." + ], + "properties": [ + [ + { + "type": "DefenceAddedRatio", + "value": 0.15 + } + ], + [] + ], + "icon": "icon/relic/103.png", + "guide_overview": [] + }, + "104": { + "id": "104", + "name": "Hunter of Glacial Forest", + "desc": [ + "Increases Ice DMG by 10%.", + "After the wearer uses their Ultimate, their CRIT DMG increases by 25% for 2 turn(s)." + ], + "properties": [ + [ + { + "type": "IceAddedRatio", + "value": 0.1 + } + ], + [] + ], + "icon": "icon/relic/104.png", + "guide_overview": [] + }, + "105": { + "id": "105", + "name": "Champion of Streetwise Boxing", + "desc": [ + "Increases Physical DMG by 10%.", + "After the wearer attacks or is hit, their ATK increases by 5% for the rest of the battle. This effect can stack up to 5 time(s)." + ], + "properties": [ + [ + { + "type": "PhysicalAddedRatio", + "value": 0.1 + } + ], + [] + ], + "icon": "icon/relic/105.png", + "guide_overview": [] + }, + "106": { + "id": "106", + "name": "Guard of Wuthering Snow", + "desc": [ + "Reduces DMG taken by 8%.", + "At the beginning of the turn, if the wearer's HP is equal to or less than 50%, restores HP equal to 8% of their Max HP and regenerates 5 Energy." + ], + "properties": [ + [], + [] + ], + "icon": "icon/relic/106.png", + "guide_overview": [] + }, + "107": { + "id": "107", + "name": "Firesmith of Lava-Forging", + "desc": [ + "Increases Fire DMG by 10%.", + "Increases the wearer's Skill DMG by 12%. After unleashing Ultimate, increases the wearer's Fire DMG by 12% for the next attack." + ], + "properties": [ + [ + { + "type": "FireAddedRatio", + "value": 0.1 + } + ], + [] + ], + "icon": "icon/relic/107.png", + "guide_overview": [] + }, + "108": { + "id": "108", + "name": "Genius of Brilliant Stars", + "desc": [ + "Increases Quantum DMG by 10%.", + "When the wearer deals DMG to the target enemy, ignores 10% DEF. If the target enemy has Quantum Weakness, the wearer additionally ignores 10% DEF." + ], + "properties": [ + [ + { + "type": "QuantumAddedRatio", + "value": 0.1 + } + ], + [] + ], + "icon": "icon/relic/108.png", + "guide_overview": [] + }, + "109": { + "id": "109", + "name": "Band of Sizzling Thunder", + "desc": [ + "Increases Lightning DMG by 10%.", + "When the wearer uses their Skill, increases the wearer's ATK by 20% for 1 turn(s)." + ], + "properties": [ + [ + { + "type": "ThunderAddedRatio", + "value": 0.1 + } + ], + [] + ], + "icon": "icon/relic/109.png", + "guide_overview": [] + }, + "110": { + "id": "110", + "name": "Eagle of Twilight Line", + "desc": [ + "Increases Wind DMG by 10%.", + "After the wearer uses their Ultimate, their action is Advanced Forward by 25%." + ], + "properties": [ + [ + { + "type": "WindAddedRatio", + "value": 0.1 + } + ], + [] + ], + "icon": "icon/relic/110.png", + "guide_overview": [] + }, + "111": { + "id": "111", + "name": "Thief of Shooting Meteor", + "desc": [ + "Increases Break Effect by 16%.", + "Increases the wearer's Break Effect by 16%. When the wearer inflicts Weakness Break on an enemy, regenerates 3 Energy." + ], + "properties": [ + [ + { + "type": "BreakDamageAddedRatioBase", + "value": 0.16 + } + ], + [ + { + "type": "BreakDamageAddedRatioBase", + "value": 0.16 + } + ] + ], + "icon": "icon/relic/111.png", + "guide_overview": [] + }, + "112": { + "id": "112", + "name": "Wastelander of Banditry Desert", + "desc": [ + "Increases Imaginary DMG by 10%.", + "When attacking debuffed enemies, the wearer's CRIT Rate increases by 10%, and their CRIT DMG increases by 20% against Imprisoned enemies." + ], + "properties": [ + [ + { + "type": "ImaginaryAddedRatio", + "value": 0.1 + } + ], + [] + ], + "icon": "icon/relic/112.png", + "guide_overview": [] + }, + "113": { + "id": "113", + "name": "Longevous Disciple", + "desc": [ + "Increases Max HP by 12%.", + "When the wearer is hit or has their HP consumed by an ally or themselves, their CRIT Rate increases by 8% for 2 turn(s) and up to 2 stacks." + ], + "properties": [ + [ + { + "type": "HPAddedRatio", + "value": 0.12 + } + ], + [] + ], + "icon": "icon/relic/113.png", + "guide_overview": [] + }, + "114": { + "id": "114", + "name": "Messenger Traversing Hackerspace", + "desc": [ + "Increases SPD by 6%.", + "When the wearer uses their Ultimate on an ally, SPD for all allies increases by 12% for 1 turn(s). This effect cannot be stacked." + ], + "properties": [ + [ + { + "type": "SpeedAddedRatio", + "value": 0.06 + } + ], + [] + ], + "icon": "icon/relic/114.png", + "guide_overview": [] + }, + "115": { + "id": "115", + "name": "The Ashblazing Grand Duke", + "desc": [ + "Increases follow-up attack DMG dealt by 20%.", + "When the wearer uses follow-up attacks, increases the wearer's ATK by 6% every time the follow-up attack deals DMG. This effect can stack up to 8 time(s) and lasts for 3 turn(s). This effect is removed the next time the wearer uses a follow-up attack." + ], + "properties": [ + [], + [] + ], + "icon": "icon/relic/115.png", + "guide_overview": [] + }, + "116": { + "id": "116", + "name": "Prisoner in Deep Confinement", + "desc": [ + "ATK increases by 12%.", + "For every DoT the target enemy is afflicted with, the wearer will ignore 6% of its DEF when dealing DMG to it. This effect is valid for a max of 3 DoTs." + ], + "properties": [ + [ + { + "type": "AttackAddedRatio", + "value": 0.12 + } + ], + [] + ], + "icon": "icon/relic/116.png", + "guide_overview": [] + }, + "301": { + "id": "301", + "name": "Space Sealing Station", + "desc": [ + "Increases the wearer's ATK by 12%. When the wearer's SPD reaches 120 or higher, the wearer's ATK increases by an extra 12%.", + "" + ], + "properties": [ + [ + { + "type": "AttackAddedRatio", + "value": 0.12 + } + ] + ], + "icon": "icon/relic/301.png", + "guide_overview": [] + }, + "302": { + "id": "302", + "name": "Fleet of the Ageless", + "desc": [ + "Increases the wearer's Max HP by 12%. When the wearer's SPD reaches 120 or higher, all allies' ATK increases by 8%.", + "" + ], + "properties": [ + [ + { + "type": "HPAddedRatio", + "value": 0.12 + } + ] + ], + "icon": "icon/relic/302.png", + "guide_overview": [] + }, + "303": { + "id": "303", + "name": "Pan-Cosmic Commercial Enterprise", + "desc": [ + "Increases the wearer's Effect Hit Rate by 10%. Meanwhile, the wearer's ATK increases by an amount that is equal to 25% of the current Effect Hit Rate, up to a maximum of 25%.", + "" + ], + "properties": [ + [ + { + "type": "StatusProbabilityBase", + "value": 0.1 + } + ] + ], + "icon": "icon/relic/303.png", + "guide_overview": [] + }, + "304": { + "id": "304", + "name": "Belobog of the Architects", + "desc": [ + "Increases the wearer's DEF by 15%. When the wearer's Effect Hit Rate is 50% or higher, the wearer gains an extra 15% DEF.", + "" + ], + "properties": [ + [ + { + "type": "DefenceAddedRatio", + "value": 0.15 + } + ] + ], + "icon": "icon/relic/304.png", + "guide_overview": [] + }, + "305": { + "id": "305", + "name": "Celestial Differentiator", + "desc": [ + "Increases the wearer's CRIT DMG by 16%. When the wearer's current CRIT DMG reaches 120% or higher, after entering battle, the wearer's CRIT Rate increases by 60% until the end of their first attack.", + "" + ], + "properties": [ + [ + { + "type": "CriticalDamageBase", + "value": 0.16 + } + ] + ], + "icon": "icon/relic/305.png", + "guide_overview": [] + }, + "306": { + "id": "306", + "name": "Inert Salsotto", + "desc": [ + "Increases the wearer's CRIT Rate by 8%. When the wearer's current CRIT Rate reaches 50% or higher, the wearer's Ultimate and follow-up attack DMG increases by 15%.", + "" + ], + "properties": [ + [ + { + "type": "CriticalChanceBase", + "value": 0.08 + } + ] + ], + "icon": "icon/relic/306.png", + "guide_overview": [] + }, + "307": { + "id": "307", + "name": "Talia: Kingdom of Banditry", + "desc": [ + "Increases the wearer's Break Effect by 16%. When the wearer's SPD reaches 145 or higher, the wearer's Break Effect increases by an extra 20%.", + "" + ], + "properties": [ + [ + { + "type": "BreakDamageAddedRatioBase", + "value": 0.16 + } + ] + ], + "icon": "icon/relic/307.png", + "guide_overview": [] + }, + "308": { + "id": "308", + "name": "Sprightly Vonwacq", + "desc": [ + "Increases the wearer's Energy Regeneration Rate by 5%. When the wearer's SPD reaches 120 or higher, the wearer's action is Advanced Forward by 40% immediately upon entering battle.", + "" + ], + "properties": [ + [ + { + "type": "SPRatioBase", + "value": 0.05 + } + ] + ], + "icon": "icon/relic/308.png", + "guide_overview": [] + }, + "309": { + "id": "309", + "name": "Rutilant Arena", + "desc": [ + "Increases the wearer's CRIT Rate by 8%. When the wearer's current CRIT Rate reaches 70% or higher, the wearer's Basic ATK and Skill DMG increase by 20%.", + "" + ], + "properties": [ + [ + { + "type": "CriticalChanceBase", + "value": 0.08 + } + ] + ], + "icon": "icon/relic/309.png", + "guide_overview": [] + }, + "310": { + "id": "310", + "name": "Broken Keel", + "desc": [ + "Increases the wearer's Effect RES by 10%. When the wearer's Effect RES is at 30% or higher, all allies' CRIT DMG increases by 10%.", + "" + ], + "properties": [ + [ + { + "type": "StatusResistanceBase", + "value": 0.1 + } + ] + ], + "icon": "icon/relic/310.png", + "guide_overview": [] + }, + "311": { + "id": "311", + "name": "Firmament Frontline: Glamoth", + "desc": [ + "Increases the wearer's ATK by 12%. When the wearer's SPD is equal to or higher than 135/160, the wearer deals 12%/18% more DMG.", + "" + ], + "properties": [ + [ + { + "type": "AttackAddedRatio", + "value": 0.12 + } + ] + ], + "icon": "icon/relic/311.png", + "guide_overview": [] + }, + "312": { + "id": "312", + "name": "Penacony, Land of the Dreams", + "desc": [ + "Increases wearer's Energy Regeneration Rate by 5%. Increases DMG by 10% for all other allies that are of the same Type as the wearer.", + "" + ], + "properties": [ + [ + { + "type": "SPRatioBase", + "value": 0.05 + } + ] + ], + "icon": "icon/relic/312.png", + "guide_overview": [] + } +} \ No newline at end of file diff --git a/public/data/star_rail/relic_sub_affixes.json b/public/data/star_rail/relic_sub_affixes.json new file mode 100644 index 0000000..45c48a1 --- /dev/null +++ b/public/data/star_rail/relic_sub_affixes.json @@ -0,0 +1,358 @@ +{ + "2": { + "id": "2", + "affixes": { + "1": { + "affix_id": "1", + "property": "HPDelta", + "base": 13.548016000073403, + "step": 1.693502000765875, + "step_num": 2 + }, + "2": { + "affix_id": "2", + "property": "AttackDelta", + "base": 6.774008000502363, + "step": 0.846751001197845, + "step_num": 2 + }, + "3": { + "affix_id": "3", + "property": "DefenceDelta", + "base": 6.774008000502363, + "step": 0.846751001197845, + "step_num": 2 + }, + "4": { + "affix_id": "4", + "property": "HPAddedRatio", + "base": 0.013824000488967, + "step": 0.00172800058499, + "step_num": 2 + }, + "5": { + "affix_id": "5", + "property": "AttackAddedRatio", + "base": 0.013824000488967, + "step": 0.00172800058499, + "step_num": 2 + }, + "6": { + "affix_id": "6", + "property": "DefenceAddedRatio", + "base": 0.017280000261962, + "step": 0.002160000381991, + "step_num": 2 + }, + "7": { + "affix_id": "7", + "property": "SpeedDelta", + "base": 1, + "step": 0.100000000093132, + "step_num": 2 + }, + "8": { + "affix_id": "8", + "property": "CriticalChanceBase", + "base": 0.010368000715971, + "step": 0.001296000787988, + "step_num": 2 + }, + "9": { + "affix_id": "9", + "property": "CriticalDamageBase", + "base": 0.02073600073345, + "step": 0.002592000877485, + "step_num": 2 + }, + "10": { + "affix_id": "10", + "property": "StatusProbabilityBase", + "base": 0.013824000488967, + "step": 0.00172800058499, + "step_num": 2 + }, + "11": { + "affix_id": "11", + "property": "StatusResistanceBase", + "base": 0.013824000488967, + "step": 0.00172800058499, + "step_num": 2 + }, + "12": { + "affix_id": "12", + "property": "BreakDamageAddedRatioBase", + "base": 0.02073600073345, + "step": 0.002592000877485, + "step_num": 2 + } + } + }, + "3": { + "id": "3", + "affixes": { + "1": { + "affix_id": "1", + "property": "HPDelta", + "base": 20.32202300033532, + "step": 2.540253001032397, + "step_num": 2 + }, + "2": { + "affix_id": "2", + "property": "AttackDelta", + "base": 10.161012000171468, + "step": 1.270126000512391, + "step_num": 2 + }, + "3": { + "affix_id": "3", + "property": "DefenceDelta", + "base": 10.161012000171468, + "step": 1.270126000512391, + "step_num": 2 + }, + "4": { + "affix_id": "4", + "property": "HPAddedRatio", + "base": 0.02073600073345, + "step": 0.002592000877485, + "step_num": 2 + }, + "5": { + "affix_id": "5", + "property": "AttackAddedRatio", + "base": 0.02073600073345, + "step": 0.002592000877485, + "step_num": 2 + }, + "6": { + "affix_id": "6", + "property": "DefenceAddedRatio", + "base": 0.025920000392944, + "step": 0.003240000223741, + "step_num": 2 + }, + "7": { + "affix_id": "7", + "property": "SpeedDelta", + "base": 1.200000000186265, + "step": 0.100000000093132, + "step_num": 2 + }, + "8": { + "affix_id": "8", + "property": "CriticalChanceBase", + "base": 0.015552000375465, + "step": 0.001944000832736, + "step_num": 2 + }, + "9": { + "affix_id": "9", + "property": "CriticalDamageBase", + "base": 0.031104000052437, + "step": 0.003888000966981, + "step_num": 2 + }, + "10": { + "affix_id": "10", + "property": "StatusProbabilityBase", + "base": 0.02073600073345, + "step": 0.002592000877485, + "step_num": 2 + }, + "11": { + "affix_id": "11", + "property": "StatusResistanceBase", + "base": 0.02073600073345, + "step": 0.002592000877485, + "step_num": 2 + }, + "12": { + "affix_id": "12", + "property": "BreakDamageAddedRatioBase", + "base": 0.031104000052437, + "step": 0.003888000966981, + "step_num": 2 + } + } + }, + "4": { + "id": "4", + "affixes": { + "1": { + "affix_id": "1", + "property": "HPDelta", + "base": 27.09603099990636, + "step": 3.387003999901935, + "step_num": 2 + }, + "2": { + "affix_id": "2", + "property": "AttackDelta", + "base": 13.548016000073403, + "step": 1.693502000765875, + "step_num": 2 + }, + "3": { + "affix_id": "3", + "property": "DefenceDelta", + "base": 13.548016000073403, + "step": 1.693502000765875, + "step_num": 2 + }, + "4": { + "affix_id": "4", + "property": "HPAddedRatio", + "base": 0.027648000279441, + "step": 0.003456000471488, + "step_num": 2 + }, + "5": { + "affix_id": "5", + "property": "AttackAddedRatio", + "base": 0.027648000279441, + "step": 0.003456000471488, + "step_num": 2 + }, + "6": { + "affix_id": "6", + "property": "DefenceAddedRatio", + "base": 0.034560000523925, + "step": 0.004320000065491, + "step_num": 2 + }, + "7": { + "affix_id": "7", + "property": "SpeedDelta", + "base": 1.600000000558794, + "step": 0.200000000186265, + "step_num": 2 + }, + "8": { + "affix_id": "8", + "property": "CriticalChanceBase", + "base": 0.02073600073345, + "step": 0.002592000877485, + "step_num": 2 + }, + "9": { + "affix_id": "9", + "property": "CriticalDamageBase", + "base": 0.041472000768408, + "step": 0.005184000357985, + "step_num": 2 + }, + "10": { + "affix_id": "10", + "property": "StatusProbabilityBase", + "base": 0.027648000279441, + "step": 0.003456000471488, + "step_num": 2 + }, + "11": { + "affix_id": "11", + "property": "StatusResistanceBase", + "base": 0.027648000279441, + "step": 0.003456000471488, + "step_num": 2 + }, + "12": { + "affix_id": "12", + "property": "BreakDamageAddedRatioBase", + "base": 0.041472000768408, + "step": 0.005184000357985, + "step_num": 2 + } + } + }, + "5": { + "id": "5", + "affixes": { + "1": { + "affix_id": "1", + "property": "HPDelta", + "base": 33.870039001107216, + "step": 4.23375500086695, + "step_num": 2 + }, + "2": { + "affix_id": "2", + "property": "AttackDelta", + "base": 16.935019000666216, + "step": 2.116877000778913, + "step_num": 2 + }, + "3": { + "affix_id": "3", + "property": "DefenceDelta", + "base": 16.935019000666216, + "step": 2.116877000778913, + "step_num": 2 + }, + "4": { + "affix_id": "4", + "property": "HPAddedRatio", + "base": 0.034560000523925, + "step": 0.004320000065491, + "step_num": 2 + }, + "5": { + "affix_id": "5", + "property": "AttackAddedRatio", + "base": 0.034560000523925, + "step": 0.004320000065491, + "step_num": 2 + }, + "6": { + "affix_id": "6", + "property": "DefenceAddedRatio", + "base": 0.043199999956414, + "step": 0.00539999990724, + "step_num": 2 + }, + "7": { + "affix_id": "7", + "property": "SpeedDelta", + "base": 2, + "step": 0.300000000279397, + "step_num": 2 + }, + "8": { + "affix_id": "8", + "property": "CriticalChanceBase", + "base": 0.025920000392944, + "step": 0.003240000223741, + "step_num": 2 + }, + "9": { + "affix_id": "9", + "property": "CriticalDamageBase", + "base": 0.051840000785887, + "step": 0.006480000447482, + "step_num": 2 + }, + "10": { + "affix_id": "10", + "property": "StatusProbabilityBase", + "base": 0.034560000523925, + "step": 0.004320000065491, + "step_num": 2 + }, + "11": { + "affix_id": "11", + "property": "StatusResistanceBase", + "base": 0.034560000523925, + "step": 0.004320000065491, + "step_num": 2 + }, + "12": { + "affix_id": "12", + "property": "BreakDamageAddedRatioBase", + "base": 0.051840000785887, + "step": 0.006480000447482, + "step_num": 2 + } + } + } +} \ No newline at end of file diff --git a/public/data/star_rail/relics.json b/public/data/star_rail/relics.json new file mode 100644 index 0000000..4593399 --- /dev/null +++ b/public/data/star_rail/relics.json @@ -0,0 +1,3940 @@ +{ + "31011": { + "id": "31011", + "set_id": "101", + "name": "Passerby's Rejuvenated Wooden Hairstick", + "rarity": 2, + "type": "HEAD", + "max_level": 6, + "main_affix_id": "21", + "sub_affix_id": "2", + "icon": "icon/relic/101_0.png" + }, + "31012": { + "id": "31012", + "set_id": "101", + "name": "Passerby's Roaming Dragon Bracer", + "rarity": 2, + "type": "HAND", + "max_level": 6, + "main_affix_id": "22", + "sub_affix_id": "2", + "icon": "icon/relic/101_1.png" + }, + "31013": { + "id": "31013", + "set_id": "101", + "name": "Passerby's Ragged Embroided Coat", + "rarity": 2, + "type": "BODY", + "max_level": 6, + "main_affix_id": "23", + "sub_affix_id": "2", + "icon": "icon/relic/101_2.png" + }, + "31014": { + "id": "31014", + "set_id": "101", + "name": "Passerby's Stygian Hiking Boots", + "rarity": 2, + "type": "FOOT", + "max_level": 6, + "main_affix_id": "24", + "sub_affix_id": "2", + "icon": "icon/relic/101_3.png" + }, + "31021": { + "id": "31021", + "set_id": "102", + "name": "Musketeer's Wild Wheat Felt Hat", + "rarity": 2, + "type": "HEAD", + "max_level": 6, + "main_affix_id": "21", + "sub_affix_id": "2", + "icon": "icon/relic/102_0.png" + }, + "31022": { + "id": "31022", + "set_id": "102", + "name": "Musketeer's Coarse Leather Gloves", + "rarity": 2, + "type": "HAND", + "max_level": 6, + "main_affix_id": "22", + "sub_affix_id": "2", + "icon": "icon/relic/102_1.png" + }, + "31023": { + "id": "31023", + "set_id": "102", + "name": "Musketeer's Wind-Hunting Shawl", + "rarity": 2, + "type": "BODY", + "max_level": 6, + "main_affix_id": "23", + "sub_affix_id": "2", + "icon": "icon/relic/102_2.png" + }, + "31024": { + "id": "31024", + "set_id": "102", + "name": "Musketeer's Rivets Riding Boots", + "rarity": 2, + "type": "FOOT", + "max_level": 6, + "main_affix_id": "24", + "sub_affix_id": "2", + "icon": "icon/relic/102_3.png" + }, + "31031": { + "id": "31031", + "set_id": "103", + "name": "Knight's Forgiving Casque", + "rarity": 2, + "type": "HEAD", + "max_level": 6, + "main_affix_id": "21", + "sub_affix_id": "2", + "icon": "icon/relic/103_0.png" + }, + "31032": { + "id": "31032", + "set_id": "103", + "name": "Knight's Silent Oath Ring", + "rarity": 2, + "type": "HAND", + "max_level": 6, + "main_affix_id": "22", + "sub_affix_id": "2", + "icon": "icon/relic/103_1.png" + }, + "31033": { + "id": "31033", + "set_id": "103", + "name": "Knight's Solemn Breastplate", + "rarity": 2, + "type": "BODY", + "max_level": 6, + "main_affix_id": "23", + "sub_affix_id": "2", + "icon": "icon/relic/103_2.png" + }, + "31034": { + "id": "31034", + "set_id": "103", + "name": "Knight's Iron Boots of Order", + "rarity": 2, + "type": "FOOT", + "max_level": 6, + "main_affix_id": "24", + "sub_affix_id": "2", + "icon": "icon/relic/103_3.png" + }, + "31041": { + "id": "31041", + "set_id": "104", + "name": "Hunter's Artaius Hood", + "rarity": 2, + "type": "HEAD", + "max_level": 6, + "main_affix_id": "21", + "sub_affix_id": "2", + "icon": "icon/relic/104_0.png" + }, + "31042": { + "id": "31042", + "set_id": "104", + "name": "Hunter's Lizard Gloves", + "rarity": 2, + "type": "HAND", + "max_level": 6, + "main_affix_id": "22", + "sub_affix_id": "2", + "icon": "icon/relic/104_1.png" + }, + "31043": { + "id": "31043", + "set_id": "104", + "name": "Hunter's Ice Dragon Cloak", + "rarity": 2, + "type": "BODY", + "max_level": 6, + "main_affix_id": "23", + "sub_affix_id": "2", + "icon": "icon/relic/104_2.png" + }, + "31044": { + "id": "31044", + "set_id": "104", + "name": "Hunter's Soft Elkskin Boots", + "rarity": 2, + "type": "FOOT", + "max_level": 6, + "main_affix_id": "24", + "sub_affix_id": "2", + "icon": "icon/relic/104_3.png" + }, + "31051": { + "id": "31051", + "set_id": "105", + "name": "Champion's Headgear", + "rarity": 2, + "type": "HEAD", + "max_level": 6, + "main_affix_id": "21", + "sub_affix_id": "2", + "icon": "icon/relic/105_0.png" + }, + "31052": { + "id": "31052", + "set_id": "105", + "name": "Champion's Heavy Gloves", + "rarity": 2, + "type": "HAND", + "max_level": 6, + "main_affix_id": "22", + "sub_affix_id": "2", + "icon": "icon/relic/105_1.png" + }, + "31053": { + "id": "31053", + "set_id": "105", + "name": "Champion's Chest Guard", + "rarity": 2, + "type": "BODY", + "max_level": 6, + "main_affix_id": "23", + "sub_affix_id": "2", + "icon": "icon/relic/105_2.png" + }, + "31054": { + "id": "31054", + "set_id": "105", + "name": "Champion's Fleetfoot Boots", + "rarity": 2, + "type": "FOOT", + "max_level": 6, + "main_affix_id": "24", + "sub_affix_id": "2", + "icon": "icon/relic/105_3.png" + }, + "31061": { + "id": "31061", + "set_id": "106", + "name": "Guard's Cast Iron Helmet", + "rarity": 2, + "type": "HEAD", + "max_level": 6, + "main_affix_id": "21", + "sub_affix_id": "2", + "icon": "icon/relic/106_0.png" + }, + "31062": { + "id": "31062", + "set_id": "106", + "name": "Guard's Shining Gauntlets", + "rarity": 2, + "type": "HAND", + "max_level": 6, + "main_affix_id": "22", + "sub_affix_id": "2", + "icon": "icon/relic/106_1.png" + }, + "31063": { + "id": "31063", + "set_id": "106", + "name": "Guard's Uniform of Old", + "rarity": 2, + "type": "BODY", + "max_level": 6, + "main_affix_id": "23", + "sub_affix_id": "2", + "icon": "icon/relic/106_2.png" + }, + "31064": { + "id": "31064", + "set_id": "106", + "name": "Guard's Silver Greaves", + "rarity": 2, + "type": "FOOT", + "max_level": 6, + "main_affix_id": "24", + "sub_affix_id": "2", + "icon": "icon/relic/106_3.png" + }, + "31071": { + "id": "31071", + "set_id": "107", + "name": "Firesmith's Obsidian Goggles", + "rarity": 2, + "type": "HEAD", + "max_level": 6, + "main_affix_id": "21", + "sub_affix_id": "2", + "icon": "icon/relic/107_0.png" + }, + "31072": { + "id": "31072", + "set_id": "107", + "name": "Firesmith's Ring of Flame-Mastery", + "rarity": 2, + "type": "HAND", + "max_level": 6, + "main_affix_id": "22", + "sub_affix_id": "2", + "icon": "icon/relic/107_1.png" + }, + "31073": { + "id": "31073", + "set_id": "107", + "name": "Firesmith's Fireproof Apron", + "rarity": 2, + "type": "BODY", + "max_level": 6, + "main_affix_id": "23", + "sub_affix_id": "2", + "icon": "icon/relic/107_2.png" + }, + "31074": { + "id": "31074", + "set_id": "107", + "name": "Firesmith's Alloy Leg", + "rarity": 2, + "type": "FOOT", + "max_level": 6, + "main_affix_id": "24", + "sub_affix_id": "2", + "icon": "icon/relic/107_3.png" + }, + "31081": { + "id": "31081", + "set_id": "108", + "name": "Genius's Ultraremote Sensing Visor", + "rarity": 2, + "type": "HEAD", + "max_level": 6, + "main_affix_id": "21", + "sub_affix_id": "2", + "icon": "icon/relic/108_0.png" + }, + "31082": { + "id": "31082", + "set_id": "108", + "name": "Genius's Frequency Catcher", + "rarity": 2, + "type": "HAND", + "max_level": 6, + "main_affix_id": "22", + "sub_affix_id": "2", + "icon": "icon/relic/108_1.png" + }, + "31083": { + "id": "31083", + "set_id": "108", + "name": "Genius's Metafield Suit", + "rarity": 2, + "type": "BODY", + "max_level": 6, + "main_affix_id": "23", + "sub_affix_id": "2", + "icon": "icon/relic/108_2.png" + }, + "31084": { + "id": "31084", + "set_id": "108", + "name": "Genius's Gravity Walker", + "rarity": 2, + "type": "FOOT", + "max_level": 6, + "main_affix_id": "24", + "sub_affix_id": "2", + "icon": "icon/relic/108_3.png" + }, + "31091": { + "id": "31091", + "set_id": "109", + "name": "Band's Polarized Sunglasses", + "rarity": 2, + "type": "HEAD", + "max_level": 6, + "main_affix_id": "21", + "sub_affix_id": "2", + "icon": "icon/relic/109_0.png" + }, + "31092": { + "id": "31092", + "set_id": "109", + "name": "Band's Touring Bracelet", + "rarity": 2, + "type": "HAND", + "max_level": 6, + "main_affix_id": "22", + "sub_affix_id": "2", + "icon": "icon/relic/109_1.png" + }, + "31093": { + "id": "31093", + "set_id": "109", + "name": "Band's Leather Jacket With Studs", + "rarity": 2, + "type": "BODY", + "max_level": 6, + "main_affix_id": "23", + "sub_affix_id": "2", + "icon": "icon/relic/109_2.png" + }, + "31094": { + "id": "31094", + "set_id": "109", + "name": "Band's Ankle Boots With Rivets", + "rarity": 2, + "type": "FOOT", + "max_level": 6, + "main_affix_id": "24", + "sub_affix_id": "2", + "icon": "icon/relic/109_3.png" + }, + "31101": { + "id": "31101", + "set_id": "110", + "name": "Eagle's Beaked Helmet", + "rarity": 2, + "type": "HEAD", + "max_level": 6, + "main_affix_id": "21", + "sub_affix_id": "2", + "icon": "icon/relic/110_0.png" + }, + "31102": { + "id": "31102", + "set_id": "110", + "name": "Eagle's Soaring Ring", + "rarity": 2, + "type": "HAND", + "max_level": 6, + "main_affix_id": "22", + "sub_affix_id": "2", + "icon": "icon/relic/110_1.png" + }, + "31103": { + "id": "31103", + "set_id": "110", + "name": "Eagle's Winged Suit Harness", + "rarity": 2, + "type": "BODY", + "max_level": 6, + "main_affix_id": "23", + "sub_affix_id": "2", + "icon": "icon/relic/110_2.png" + }, + "31104": { + "id": "31104", + "set_id": "110", + "name": "Eagle's Quilted Puttees", + "rarity": 2, + "type": "FOOT", + "max_level": 6, + "main_affix_id": "24", + "sub_affix_id": "2", + "icon": "icon/relic/110_3.png" + }, + "31111": { + "id": "31111", + "set_id": "111", + "name": "Thief's Myriad-Faced Mask", + "rarity": 2, + "type": "HEAD", + "max_level": 6, + "main_affix_id": "21", + "sub_affix_id": "2", + "icon": "icon/relic/111_0.png" + }, + "31112": { + "id": "31112", + "set_id": "111", + "name": "Thief's Gloves With Prints", + "rarity": 2, + "type": "HAND", + "max_level": 6, + "main_affix_id": "22", + "sub_affix_id": "2", + "icon": "icon/relic/111_1.png" + }, + "31113": { + "id": "31113", + "set_id": "111", + "name": "Thief's Steel Grappling Hook", + "rarity": 2, + "type": "BODY", + "max_level": 6, + "main_affix_id": "23", + "sub_affix_id": "2", + "icon": "icon/relic/111_2.png" + }, + "31114": { + "id": "31114", + "set_id": "111", + "name": "Thief's Meteor Boots", + "rarity": 2, + "type": "FOOT", + "max_level": 6, + "main_affix_id": "24", + "sub_affix_id": "2", + "icon": "icon/relic/111_3.png" + }, + "31121": { + "id": "31121", + "set_id": "112", + "name": "Wastelander's Breathing Mask", + "rarity": 2, + "type": "HEAD", + "max_level": 6, + "main_affix_id": "21", + "sub_affix_id": "2", + "icon": "icon/relic/112_0.png" + }, + "31122": { + "id": "31122", + "set_id": "112", + "name": "Wastelander's Desert Terminal", + "rarity": 2, + "type": "HAND", + "max_level": 6, + "main_affix_id": "22", + "sub_affix_id": "2", + "icon": "icon/relic/112_1.png" + }, + "31123": { + "id": "31123", + "set_id": "112", + "name": "Wastelander's Friar Robe", + "rarity": 2, + "type": "BODY", + "max_level": 6, + "main_affix_id": "23", + "sub_affix_id": "2", + "icon": "icon/relic/112_2.png" + }, + "31124": { + "id": "31124", + "set_id": "112", + "name": "Wastelander's Powered Greaves", + "rarity": 2, + "type": "FOOT", + "max_level": 6, + "main_affix_id": "24", + "sub_affix_id": "2", + "icon": "icon/relic/112_3.png" + }, + "31131": { + "id": "31131", + "set_id": "113", + "name": "Disciple's Prosthetic Eye", + "rarity": 2, + "type": "HEAD", + "max_level": 6, + "main_affix_id": "21", + "sub_affix_id": "2", + "icon": "icon/relic/113_0.png" + }, + "31132": { + "id": "31132", + "set_id": "113", + "name": "Disciple's Ingenium Hand", + "rarity": 2, + "type": "HAND", + "max_level": 6, + "main_affix_id": "22", + "sub_affix_id": "2", + "icon": "icon/relic/113_1.png" + }, + "31133": { + "id": "31133", + "set_id": "113", + "name": "Disciple's Dewy Feather Garb", + "rarity": 2, + "type": "BODY", + "max_level": 6, + "main_affix_id": "23", + "sub_affix_id": "2", + "icon": "icon/relic/113_2.png" + }, + "31134": { + "id": "31134", + "set_id": "113", + "name": "Disciple's Celestial Silk Sandals", + "rarity": 2, + "type": "FOOT", + "max_level": 6, + "main_affix_id": "24", + "sub_affix_id": "2", + "icon": "icon/relic/113_3.png" + }, + "31141": { + "id": "31141", + "set_id": "114", + "name": "Messenger's Holovisor", + "rarity": 2, + "type": "HEAD", + "max_level": 6, + "main_affix_id": "21", + "sub_affix_id": "2", + "icon": "icon/relic/114_0.png" + }, + "31142": { + "id": "31142", + "set_id": "114", + "name": "Messenger's Transformative Arm", + "rarity": 2, + "type": "HAND", + "max_level": 6, + "main_affix_id": "22", + "sub_affix_id": "2", + "icon": "icon/relic/114_1.png" + }, + "31143": { + "id": "31143", + "set_id": "114", + "name": "Messenger's Secret Satchel", + "rarity": 2, + "type": "BODY", + "max_level": 6, + "main_affix_id": "23", + "sub_affix_id": "2", + "icon": "icon/relic/114_2.png" + }, + "31144": { + "id": "31144", + "set_id": "114", + "name": "Messenger's Par-kool Sneakers", + "rarity": 2, + "type": "FOOT", + "max_level": 6, + "main_affix_id": "24", + "sub_affix_id": "2", + "icon": "icon/relic/114_3.png" + }, + "31151": { + "id": "31151", + "set_id": "115", + "name": "Grand Duke's Crown of Netherflame", + "rarity": 2, + "type": "HEAD", + "max_level": 6, + "main_affix_id": "21", + "sub_affix_id": "2", + "icon": "icon/relic/115_0.png" + }, + "31152": { + "id": "31152", + "set_id": "115", + "name": "Grand Duke's Gloves of Fieryfur", + "rarity": 2, + "type": "HAND", + "max_level": 6, + "main_affix_id": "22", + "sub_affix_id": "2", + "icon": "icon/relic/115_1.png" + }, + "31153": { + "id": "31153", + "set_id": "115", + "name": "Grand Duke's Robe of Grace", + "rarity": 2, + "type": "BODY", + "max_level": 6, + "main_affix_id": "23", + "sub_affix_id": "2", + "icon": "icon/relic/115_2.png" + }, + "31154": { + "id": "31154", + "set_id": "115", + "name": "Grand Duke's Ceremonial Boots", + "rarity": 2, + "type": "FOOT", + "max_level": 6, + "main_affix_id": "24", + "sub_affix_id": "2", + "icon": "icon/relic/115_3.png" + }, + "31161": { + "id": "31161", + "set_id": "116", + "name": "Prisoner's Sealed Muzzle", + "rarity": 2, + "type": "HEAD", + "max_level": 6, + "main_affix_id": "21", + "sub_affix_id": "2", + "icon": "icon/relic/116_0.png" + }, + "31162": { + "id": "31162", + "set_id": "116", + "name": "Prisoner's Leadstone Shackles", + "rarity": 2, + "type": "HAND", + "max_level": 6, + "main_affix_id": "22", + "sub_affix_id": "2", + "icon": "icon/relic/116_1.png" + }, + "31163": { + "id": "31163", + "set_id": "116", + "name": "Prisoner's Repressive Straitjacket", + "rarity": 2, + "type": "BODY", + "max_level": 6, + "main_affix_id": "23", + "sub_affix_id": "2", + "icon": "icon/relic/116_2.png" + }, + "31164": { + "id": "31164", + "set_id": "116", + "name": "Prisoner's Restrictive Fetters", + "rarity": 2, + "type": "FOOT", + "max_level": 6, + "main_affix_id": "24", + "sub_affix_id": "2", + "icon": "icon/relic/116_3.png" + }, + "33015": { + "id": "33015", + "set_id": "301", + "name": "Herta's Space Station", + "rarity": 2, + "type": "NECK", + "max_level": 6, + "main_affix_id": "25", + "sub_affix_id": "2", + "icon": "icon/relic/301_0.png" + }, + "33016": { + "id": "33016", + "set_id": "301", + "name": "Herta's Wandering Trek", + "rarity": 2, + "type": "OBJECT", + "max_level": 6, + "main_affix_id": "26", + "sub_affix_id": "2", + "icon": "icon/relic/301_1.png" + }, + "33025": { + "id": "33025", + "set_id": "302", + "name": "The Xianzhou Luofu's Celestial Ark", + "rarity": 2, + "type": "NECK", + "max_level": 6, + "main_affix_id": "25", + "sub_affix_id": "2", + "icon": "icon/relic/302_0.png" + }, + "33026": { + "id": "33026", + "set_id": "302", + "name": "The Xianzhou Luofu's Ambrosial Arbor Vines", + "rarity": 2, + "type": "OBJECT", + "max_level": 6, + "main_affix_id": "26", + "sub_affix_id": "2", + "icon": "icon/relic/302_1.png" + }, + "33035": { + "id": "33035", + "set_id": "303", + "name": "The IPC's Mega HQ", + "rarity": 2, + "type": "NECK", + "max_level": 6, + "main_affix_id": "25", + "sub_affix_id": "2", + "icon": "icon/relic/303_0.png" + }, + "33036": { + "id": "33036", + "set_id": "303", + "name": "The IPC's Trade Route", + "rarity": 2, + "type": "OBJECT", + "max_level": 6, + "main_affix_id": "26", + "sub_affix_id": "2", + "icon": "icon/relic/303_1.png" + }, + "33045": { + "id": "33045", + "set_id": "304", + "name": "Belobog's Fortress of Preservation", + "rarity": 2, + "type": "NECK", + "max_level": 6, + "main_affix_id": "25", + "sub_affix_id": "2", + "icon": "icon/relic/304_0.png" + }, + "33046": { + "id": "33046", + "set_id": "304", + "name": "Belobog's Iron Defense", + "rarity": 2, + "type": "OBJECT", + "max_level": 6, + "main_affix_id": "26", + "sub_affix_id": "2", + "icon": "icon/relic/304_1.png" + }, + "33055": { + "id": "33055", + "set_id": "305", + "name": "Planet Screwllum's Mechanical Sun", + "rarity": 2, + "type": "NECK", + "max_level": 6, + "main_affix_id": "25", + "sub_affix_id": "2", + "icon": "icon/relic/305_0.png" + }, + "33056": { + "id": "33056", + "set_id": "305", + "name": "Planet Screwllum's Ring System", + "rarity": 2, + "type": "OBJECT", + "max_level": 6, + "main_affix_id": "26", + "sub_affix_id": "2", + "icon": "icon/relic/305_1.png" + }, + "33065": { + "id": "33065", + "set_id": "306", + "name": "Salsotto's Moving City", + "rarity": 2, + "type": "NECK", + "max_level": 6, + "main_affix_id": "25", + "sub_affix_id": "2", + "icon": "icon/relic/306_0.png" + }, + "33066": { + "id": "33066", + "set_id": "306", + "name": "Salsotto's Terminator Line", + "rarity": 2, + "type": "OBJECT", + "max_level": 6, + "main_affix_id": "26", + "sub_affix_id": "2", + "icon": "icon/relic/306_1.png" + }, + "33075": { + "id": "33075", + "set_id": "307", + "name": "Talia's Nailscrap Town", + "rarity": 2, + "type": "NECK", + "max_level": 6, + "main_affix_id": "25", + "sub_affix_id": "2", + "icon": "icon/relic/307_0.png" + }, + "33076": { + "id": "33076", + "set_id": "307", + "name": "Talia's Exposed Electric Wire", + "rarity": 2, + "type": "OBJECT", + "max_level": 6, + "main_affix_id": "26", + "sub_affix_id": "2", + "icon": "icon/relic/307_1.png" + }, + "33085": { + "id": "33085", + "set_id": "308", + "name": "Vonwacq's Island of Birth", + "rarity": 2, + "type": "NECK", + "max_level": 6, + "main_affix_id": "25", + "sub_affix_id": "2", + "icon": "icon/relic/308_0.png" + }, + "33086": { + "id": "33086", + "set_id": "308", + "name": "Vonwacq's Islandic Coast", + "rarity": 2, + "type": "OBJECT", + "max_level": 6, + "main_affix_id": "26", + "sub_affix_id": "2", + "icon": "icon/relic/308_1.png" + }, + "33095": { + "id": "33095", + "set_id": "309", + "name": "Taikiyan Laser Stadium", + "rarity": 2, + "type": "NECK", + "max_level": 6, + "main_affix_id": "25", + "sub_affix_id": "2", + "icon": "icon/relic/309_0.png" + }, + "33096": { + "id": "33096", + "set_id": "309", + "name": "Taikiyan's Arclight Race Track", + "rarity": 2, + "type": "OBJECT", + "max_level": 6, + "main_affix_id": "26", + "sub_affix_id": "2", + "icon": "icon/relic/309_1.png" + }, + "33105": { + "id": "33105", + "set_id": "310", + "name": "Insumousu's Whalefall Ship", + "rarity": 2, + "type": "NECK", + "max_level": 6, + "main_affix_id": "25", + "sub_affix_id": "2", + "icon": "icon/relic/310_0.png" + }, + "33106": { + "id": "33106", + "set_id": "310", + "name": "Insumousu's Frayed Hawser", + "rarity": 2, + "type": "OBJECT", + "max_level": 6, + "main_affix_id": "26", + "sub_affix_id": "2", + "icon": "icon/relic/310_1.png" + }, + "33115": { + "id": "33115", + "set_id": "311", + "name": "Glamoth's Iron Cavalry Regiment", + "rarity": 2, + "type": "NECK", + "max_level": 6, + "main_affix_id": "25", + "sub_affix_id": "2", + "icon": "icon/relic/311_0.png" + }, + "33116": { + "id": "33116", + "set_id": "311", + "name": "Glamoth's Silent Tombstone", + "rarity": 2, + "type": "OBJECT", + "max_level": 6, + "main_affix_id": "26", + "sub_affix_id": "2", + "icon": "icon/relic/311_1.png" + }, + "33125": { + "id": "33125", + "set_id": "312", + "name": "Penacony's Grand Hotel", + "rarity": 2, + "type": "NECK", + "max_level": 6, + "main_affix_id": "25", + "sub_affix_id": "2", + "icon": "icon/relic/312_0.png" + }, + "33126": { + "id": "33126", + "set_id": "312", + "name": "Penacony's Dream-Seeking Tracks", + "rarity": 2, + "type": "OBJECT", + "max_level": 6, + "main_affix_id": "26", + "sub_affix_id": "2", + "icon": "icon/relic/312_1.png" + }, + "41011": { + "id": "41011", + "set_id": "101", + "name": "Passerby's Rejuvenated Wooden Hairstick", + "rarity": 3, + "type": "HEAD", + "max_level": 9, + "main_affix_id": "31", + "sub_affix_id": "3", + "icon": "icon/relic/101_0.png" + }, + "41012": { + "id": "41012", + "set_id": "101", + "name": "Passerby's Roaming Dragon Bracer", + "rarity": 3, + "type": "HAND", + "max_level": 9, + "main_affix_id": "32", + "sub_affix_id": "3", + "icon": "icon/relic/101_1.png" + }, + "41013": { + "id": "41013", + "set_id": "101", + "name": "Passerby's Ragged Embroided Coat", + "rarity": 3, + "type": "BODY", + "max_level": 9, + "main_affix_id": "33", + "sub_affix_id": "3", + "icon": "icon/relic/101_2.png" + }, + "41014": { + "id": "41014", + "set_id": "101", + "name": "Passerby's Stygian Hiking Boots", + "rarity": 3, + "type": "FOOT", + "max_level": 9, + "main_affix_id": "34", + "sub_affix_id": "3", + "icon": "icon/relic/101_3.png" + }, + "41021": { + "id": "41021", + "set_id": "102", + "name": "Musketeer's Wild Wheat Felt Hat", + "rarity": 3, + "type": "HEAD", + "max_level": 9, + "main_affix_id": "31", + "sub_affix_id": "3", + "icon": "icon/relic/102_0.png" + }, + "41022": { + "id": "41022", + "set_id": "102", + "name": "Musketeer's Coarse Leather Gloves", + "rarity": 3, + "type": "HAND", + "max_level": 9, + "main_affix_id": "32", + "sub_affix_id": "3", + "icon": "icon/relic/102_1.png" + }, + "41023": { + "id": "41023", + "set_id": "102", + "name": "Musketeer's Wind-Hunting Shawl", + "rarity": 3, + "type": "BODY", + "max_level": 9, + "main_affix_id": "33", + "sub_affix_id": "3", + "icon": "icon/relic/102_2.png" + }, + "41024": { + "id": "41024", + "set_id": "102", + "name": "Musketeer's Rivets Riding Boots", + "rarity": 3, + "type": "FOOT", + "max_level": 9, + "main_affix_id": "34", + "sub_affix_id": "3", + "icon": "icon/relic/102_3.png" + }, + "41031": { + "id": "41031", + "set_id": "103", + "name": "Knight's Forgiving Casque", + "rarity": 3, + "type": "HEAD", + "max_level": 9, + "main_affix_id": "31", + "sub_affix_id": "3", + "icon": "icon/relic/103_0.png" + }, + "41032": { + "id": "41032", + "set_id": "103", + "name": "Knight's Silent Oath Ring", + "rarity": 3, + "type": "HAND", + "max_level": 9, + "main_affix_id": "32", + "sub_affix_id": "3", + "icon": "icon/relic/103_1.png" + }, + "41033": { + "id": "41033", + "set_id": "103", + "name": "Knight's Solemn Breastplate", + "rarity": 3, + "type": "BODY", + "max_level": 9, + "main_affix_id": "33", + "sub_affix_id": "3", + "icon": "icon/relic/103_2.png" + }, + "41034": { + "id": "41034", + "set_id": "103", + "name": "Knight's Iron Boots of Order", + "rarity": 3, + "type": "FOOT", + "max_level": 9, + "main_affix_id": "34", + "sub_affix_id": "3", + "icon": "icon/relic/103_3.png" + }, + "41041": { + "id": "41041", + "set_id": "104", + "name": "Hunter's Artaius Hood", + "rarity": 3, + "type": "HEAD", + "max_level": 9, + "main_affix_id": "31", + "sub_affix_id": "3", + "icon": "icon/relic/104_0.png" + }, + "41042": { + "id": "41042", + "set_id": "104", + "name": "Hunter's Lizard Gloves", + "rarity": 3, + "type": "HAND", + "max_level": 9, + "main_affix_id": "32", + "sub_affix_id": "3", + "icon": "icon/relic/104_1.png" + }, + "41043": { + "id": "41043", + "set_id": "104", + "name": "Hunter's Ice Dragon Cloak", + "rarity": 3, + "type": "BODY", + "max_level": 9, + "main_affix_id": "33", + "sub_affix_id": "3", + "icon": "icon/relic/104_2.png" + }, + "41044": { + "id": "41044", + "set_id": "104", + "name": "Hunter's Soft Elkskin Boots", + "rarity": 3, + "type": "FOOT", + "max_level": 9, + "main_affix_id": "34", + "sub_affix_id": "3", + "icon": "icon/relic/104_3.png" + }, + "41051": { + "id": "41051", + "set_id": "105", + "name": "Champion's Headgear", + "rarity": 3, + "type": "HEAD", + "max_level": 9, + "main_affix_id": "31", + "sub_affix_id": "3", + "icon": "icon/relic/105_0.png" + }, + "41052": { + "id": "41052", + "set_id": "105", + "name": "Champion's Heavy Gloves", + "rarity": 3, + "type": "HAND", + "max_level": 9, + "main_affix_id": "32", + "sub_affix_id": "3", + "icon": "icon/relic/105_1.png" + }, + "41053": { + "id": "41053", + "set_id": "105", + "name": "Champion's Chest Guard", + "rarity": 3, + "type": "BODY", + "max_level": 9, + "main_affix_id": "33", + "sub_affix_id": "3", + "icon": "icon/relic/105_2.png" + }, + "41054": { + "id": "41054", + "set_id": "105", + "name": "Champion's Fleetfoot Boots", + "rarity": 3, + "type": "FOOT", + "max_level": 9, + "main_affix_id": "34", + "sub_affix_id": "3", + "icon": "icon/relic/105_3.png" + }, + "41061": { + "id": "41061", + "set_id": "106", + "name": "Guard's Cast Iron Helmet", + "rarity": 3, + "type": "HEAD", + "max_level": 9, + "main_affix_id": "31", + "sub_affix_id": "3", + "icon": "icon/relic/106_0.png" + }, + "41062": { + "id": "41062", + "set_id": "106", + "name": "Guard's Shining Gauntlets", + "rarity": 3, + "type": "HAND", + "max_level": 9, + "main_affix_id": "32", + "sub_affix_id": "3", + "icon": "icon/relic/106_1.png" + }, + "41063": { + "id": "41063", + "set_id": "106", + "name": "Guard's Uniform of Old", + "rarity": 3, + "type": "BODY", + "max_level": 9, + "main_affix_id": "33", + "sub_affix_id": "3", + "icon": "icon/relic/106_2.png" + }, + "41064": { + "id": "41064", + "set_id": "106", + "name": "Guard's Silver Greaves", + "rarity": 3, + "type": "FOOT", + "max_level": 9, + "main_affix_id": "34", + "sub_affix_id": "3", + "icon": "icon/relic/106_3.png" + }, + "41071": { + "id": "41071", + "set_id": "107", + "name": "Firesmith's Obsidian Goggles", + "rarity": 3, + "type": "HEAD", + "max_level": 9, + "main_affix_id": "31", + "sub_affix_id": "3", + "icon": "icon/relic/107_0.png" + }, + "41072": { + "id": "41072", + "set_id": "107", + "name": "Firesmith's Ring of Flame-Mastery", + "rarity": 3, + "type": "HAND", + "max_level": 9, + "main_affix_id": "32", + "sub_affix_id": "3", + "icon": "icon/relic/107_1.png" + }, + "41073": { + "id": "41073", + "set_id": "107", + "name": "Firesmith's Fireproof Apron", + "rarity": 3, + "type": "BODY", + "max_level": 9, + "main_affix_id": "33", + "sub_affix_id": "3", + "icon": "icon/relic/107_2.png" + }, + "41074": { + "id": "41074", + "set_id": "107", + "name": "Firesmith's Alloy Leg", + "rarity": 3, + "type": "FOOT", + "max_level": 9, + "main_affix_id": "34", + "sub_affix_id": "3", + "icon": "icon/relic/107_3.png" + }, + "41081": { + "id": "41081", + "set_id": "108", + "name": "Genius's Ultraremote Sensing Visor", + "rarity": 3, + "type": "HEAD", + "max_level": 9, + "main_affix_id": "31", + "sub_affix_id": "3", + "icon": "icon/relic/108_0.png" + }, + "41082": { + "id": "41082", + "set_id": "108", + "name": "Genius's Frequency Catcher", + "rarity": 3, + "type": "HAND", + "max_level": 9, + "main_affix_id": "32", + "sub_affix_id": "3", + "icon": "icon/relic/108_1.png" + }, + "41083": { + "id": "41083", + "set_id": "108", + "name": "Genius's Metafield Suit", + "rarity": 3, + "type": "BODY", + "max_level": 9, + "main_affix_id": "33", + "sub_affix_id": "3", + "icon": "icon/relic/108_2.png" + }, + "41084": { + "id": "41084", + "set_id": "108", + "name": "Genius's Gravity Walker", + "rarity": 3, + "type": "FOOT", + "max_level": 9, + "main_affix_id": "34", + "sub_affix_id": "3", + "icon": "icon/relic/108_3.png" + }, + "41091": { + "id": "41091", + "set_id": "109", + "name": "Band's Polarized Sunglasses", + "rarity": 3, + "type": "HEAD", + "max_level": 9, + "main_affix_id": "31", + "sub_affix_id": "3", + "icon": "icon/relic/109_0.png" + }, + "41092": { + "id": "41092", + "set_id": "109", + "name": "Band's Touring Bracelet", + "rarity": 3, + "type": "HAND", + "max_level": 9, + "main_affix_id": "32", + "sub_affix_id": "3", + "icon": "icon/relic/109_1.png" + }, + "41093": { + "id": "41093", + "set_id": "109", + "name": "Band's Leather Jacket With Studs", + "rarity": 3, + "type": "BODY", + "max_level": 9, + "main_affix_id": "33", + "sub_affix_id": "3", + "icon": "icon/relic/109_2.png" + }, + "41094": { + "id": "41094", + "set_id": "109", + "name": "Band's Ankle Boots With Rivets", + "rarity": 3, + "type": "FOOT", + "max_level": 9, + "main_affix_id": "34", + "sub_affix_id": "3", + "icon": "icon/relic/109_3.png" + }, + "41101": { + "id": "41101", + "set_id": "110", + "name": "Eagle's Beaked Helmet", + "rarity": 3, + "type": "HEAD", + "max_level": 9, + "main_affix_id": "31", + "sub_affix_id": "3", + "icon": "icon/relic/110_0.png" + }, + "41102": { + "id": "41102", + "set_id": "110", + "name": "Eagle's Soaring Ring", + "rarity": 3, + "type": "HAND", + "max_level": 9, + "main_affix_id": "32", + "sub_affix_id": "3", + "icon": "icon/relic/110_1.png" + }, + "41103": { + "id": "41103", + "set_id": "110", + "name": "Eagle's Winged Suit Harness", + "rarity": 3, + "type": "BODY", + "max_level": 9, + "main_affix_id": "33", + "sub_affix_id": "3", + "icon": "icon/relic/110_2.png" + }, + "41104": { + "id": "41104", + "set_id": "110", + "name": "Eagle's Quilted Puttees", + "rarity": 3, + "type": "FOOT", + "max_level": 9, + "main_affix_id": "34", + "sub_affix_id": "3", + "icon": "icon/relic/110_3.png" + }, + "41111": { + "id": "41111", + "set_id": "111", + "name": "Thief's Myriad-Faced Mask", + "rarity": 3, + "type": "HEAD", + "max_level": 9, + "main_affix_id": "31", + "sub_affix_id": "3", + "icon": "icon/relic/111_0.png" + }, + "41112": { + "id": "41112", + "set_id": "111", + "name": "Thief's Gloves With Prints", + "rarity": 3, + "type": "HAND", + "max_level": 9, + "main_affix_id": "32", + "sub_affix_id": "3", + "icon": "icon/relic/111_1.png" + }, + "41113": { + "id": "41113", + "set_id": "111", + "name": "Thief's Steel Grappling Hook", + "rarity": 3, + "type": "BODY", + "max_level": 9, + "main_affix_id": "33", + "sub_affix_id": "3", + "icon": "icon/relic/111_2.png" + }, + "41114": { + "id": "41114", + "set_id": "111", + "name": "Thief's Meteor Boots", + "rarity": 3, + "type": "FOOT", + "max_level": 9, + "main_affix_id": "34", + "sub_affix_id": "3", + "icon": "icon/relic/111_3.png" + }, + "41121": { + "id": "41121", + "set_id": "112", + "name": "Wastelander's Breathing Mask", + "rarity": 3, + "type": "HEAD", + "max_level": 9, + "main_affix_id": "31", + "sub_affix_id": "3", + "icon": "icon/relic/112_0.png" + }, + "41122": { + "id": "41122", + "set_id": "112", + "name": "Wastelander's Desert Terminal", + "rarity": 3, + "type": "HAND", + "max_level": 9, + "main_affix_id": "32", + "sub_affix_id": "3", + "icon": "icon/relic/112_1.png" + }, + "41123": { + "id": "41123", + "set_id": "112", + "name": "Wastelander's Friar Robe", + "rarity": 3, + "type": "BODY", + "max_level": 9, + "main_affix_id": "33", + "sub_affix_id": "3", + "icon": "icon/relic/112_2.png" + }, + "41124": { + "id": "41124", + "set_id": "112", + "name": "Wastelander's Powered Greaves", + "rarity": 3, + "type": "FOOT", + "max_level": 9, + "main_affix_id": "34", + "sub_affix_id": "3", + "icon": "icon/relic/112_3.png" + }, + "41131": { + "id": "41131", + "set_id": "113", + "name": "Disciple's Prosthetic Eye", + "rarity": 3, + "type": "HEAD", + "max_level": 9, + "main_affix_id": "31", + "sub_affix_id": "3", + "icon": "icon/relic/113_0.png" + }, + "41132": { + "id": "41132", + "set_id": "113", + "name": "Disciple's Ingenium Hand", + "rarity": 3, + "type": "HAND", + "max_level": 9, + "main_affix_id": "32", + "sub_affix_id": "3", + "icon": "icon/relic/113_1.png" + }, + "41133": { + "id": "41133", + "set_id": "113", + "name": "Disciple's Dewy Feather Garb", + "rarity": 3, + "type": "BODY", + "max_level": 9, + "main_affix_id": "33", + "sub_affix_id": "3", + "icon": "icon/relic/113_2.png" + }, + "41134": { + "id": "41134", + "set_id": "113", + "name": "Disciple's Celestial Silk Sandals", + "rarity": 3, + "type": "FOOT", + "max_level": 9, + "main_affix_id": "34", + "sub_affix_id": "3", + "icon": "icon/relic/113_3.png" + }, + "41141": { + "id": "41141", + "set_id": "114", + "name": "Messenger's Holovisor", + "rarity": 3, + "type": "HEAD", + "max_level": 9, + "main_affix_id": "31", + "sub_affix_id": "3", + "icon": "icon/relic/114_0.png" + }, + "41142": { + "id": "41142", + "set_id": "114", + "name": "Messenger's Transformative Arm", + "rarity": 3, + "type": "HAND", + "max_level": 9, + "main_affix_id": "32", + "sub_affix_id": "3", + "icon": "icon/relic/114_1.png" + }, + "41143": { + "id": "41143", + "set_id": "114", + "name": "Messenger's Secret Satchel", + "rarity": 3, + "type": "BODY", + "max_level": 9, + "main_affix_id": "33", + "sub_affix_id": "3", + "icon": "icon/relic/114_2.png" + }, + "41144": { + "id": "41144", + "set_id": "114", + "name": "Messenger's Par-kool Sneakers", + "rarity": 3, + "type": "FOOT", + "max_level": 9, + "main_affix_id": "34", + "sub_affix_id": "3", + "icon": "icon/relic/114_3.png" + }, + "41151": { + "id": "41151", + "set_id": "115", + "name": "Grand Duke's Crown of Netherflame", + "rarity": 3, + "type": "HEAD", + "max_level": 9, + "main_affix_id": "31", + "sub_affix_id": "3", + "icon": "icon/relic/115_0.png" + }, + "41152": { + "id": "41152", + "set_id": "115", + "name": "Grand Duke's Gloves of Fieryfur", + "rarity": 3, + "type": "HAND", + "max_level": 9, + "main_affix_id": "32", + "sub_affix_id": "3", + "icon": "icon/relic/115_1.png" + }, + "41153": { + "id": "41153", + "set_id": "115", + "name": "Grand Duke's Robe of Grace", + "rarity": 3, + "type": "BODY", + "max_level": 9, + "main_affix_id": "33", + "sub_affix_id": "3", + "icon": "icon/relic/115_2.png" + }, + "41154": { + "id": "41154", + "set_id": "115", + "name": "Grand Duke's Ceremonial Boots", + "rarity": 3, + "type": "FOOT", + "max_level": 9, + "main_affix_id": "34", + "sub_affix_id": "3", + "icon": "icon/relic/115_3.png" + }, + "41161": { + "id": "41161", + "set_id": "116", + "name": "Prisoner's Sealed Muzzle", + "rarity": 3, + "type": "HEAD", + "max_level": 9, + "main_affix_id": "31", + "sub_affix_id": "3", + "icon": "icon/relic/116_0.png" + }, + "41162": { + "id": "41162", + "set_id": "116", + "name": "Prisoner's Leadstone Shackles", + "rarity": 3, + "type": "HAND", + "max_level": 9, + "main_affix_id": "32", + "sub_affix_id": "3", + "icon": "icon/relic/116_1.png" + }, + "41163": { + "id": "41163", + "set_id": "116", + "name": "Prisoner's Repressive Straitjacket", + "rarity": 3, + "type": "BODY", + "max_level": 9, + "main_affix_id": "33", + "sub_affix_id": "3", + "icon": "icon/relic/116_2.png" + }, + "41164": { + "id": "41164", + "set_id": "116", + "name": "Prisoner's Restrictive Fetters", + "rarity": 3, + "type": "FOOT", + "max_level": 9, + "main_affix_id": "34", + "sub_affix_id": "3", + "icon": "icon/relic/116_3.png" + }, + "43015": { + "id": "43015", + "set_id": "301", + "name": "Herta's Space Station", + "rarity": 3, + "type": "NECK", + "max_level": 9, + "main_affix_id": "35", + "sub_affix_id": "3", + "icon": "icon/relic/301_0.png" + }, + "43016": { + "id": "43016", + "set_id": "301", + "name": "Herta's Wandering Trek", + "rarity": 3, + "type": "OBJECT", + "max_level": 9, + "main_affix_id": "36", + "sub_affix_id": "3", + "icon": "icon/relic/301_1.png" + }, + "43025": { + "id": "43025", + "set_id": "302", + "name": "The Xianzhou Luofu's Celestial Ark", + "rarity": 3, + "type": "NECK", + "max_level": 9, + "main_affix_id": "35", + "sub_affix_id": "3", + "icon": "icon/relic/302_0.png" + }, + "43026": { + "id": "43026", + "set_id": "302", + "name": "The Xianzhou Luofu's Ambrosial Arbor Vines", + "rarity": 3, + "type": "OBJECT", + "max_level": 9, + "main_affix_id": "36", + "sub_affix_id": "3", + "icon": "icon/relic/302_1.png" + }, + "43035": { + "id": "43035", + "set_id": "303", + "name": "The IPC's Mega HQ", + "rarity": 3, + "type": "NECK", + "max_level": 9, + "main_affix_id": "35", + "sub_affix_id": "3", + "icon": "icon/relic/303_0.png" + }, + "43036": { + "id": "43036", + "set_id": "303", + "name": "The IPC's Trade Route", + "rarity": 3, + "type": "OBJECT", + "max_level": 9, + "main_affix_id": "36", + "sub_affix_id": "3", + "icon": "icon/relic/303_1.png" + }, + "43045": { + "id": "43045", + "set_id": "304", + "name": "Belobog's Fortress of Preservation", + "rarity": 3, + "type": "NECK", + "max_level": 9, + "main_affix_id": "35", + "sub_affix_id": "3", + "icon": "icon/relic/304_0.png" + }, + "43046": { + "id": "43046", + "set_id": "304", + "name": "Belobog's Iron Defense", + "rarity": 3, + "type": "OBJECT", + "max_level": 9, + "main_affix_id": "36", + "sub_affix_id": "3", + "icon": "icon/relic/304_1.png" + }, + "43055": { + "id": "43055", + "set_id": "305", + "name": "Planet Screwllum's Mechanical Sun", + "rarity": 3, + "type": "NECK", + "max_level": 9, + "main_affix_id": "35", + "sub_affix_id": "3", + "icon": "icon/relic/305_0.png" + }, + "43056": { + "id": "43056", + "set_id": "305", + "name": "Planet Screwllum's Ring System", + "rarity": 3, + "type": "OBJECT", + "max_level": 9, + "main_affix_id": "36", + "sub_affix_id": "3", + "icon": "icon/relic/305_1.png" + }, + "43065": { + "id": "43065", + "set_id": "306", + "name": "Salsotto's Moving City", + "rarity": 3, + "type": "NECK", + "max_level": 9, + "main_affix_id": "35", + "sub_affix_id": "3", + "icon": "icon/relic/306_0.png" + }, + "43066": { + "id": "43066", + "set_id": "306", + "name": "Salsotto's Terminator Line", + "rarity": 3, + "type": "OBJECT", + "max_level": 9, + "main_affix_id": "36", + "sub_affix_id": "3", + "icon": "icon/relic/306_1.png" + }, + "43075": { + "id": "43075", + "set_id": "307", + "name": "Talia's Nailscrap Town", + "rarity": 3, + "type": "NECK", + "max_level": 9, + "main_affix_id": "35", + "sub_affix_id": "3", + "icon": "icon/relic/307_0.png" + }, + "43076": { + "id": "43076", + "set_id": "307", + "name": "Talia's Exposed Electric Wire", + "rarity": 3, + "type": "OBJECT", + "max_level": 9, + "main_affix_id": "36", + "sub_affix_id": "3", + "icon": "icon/relic/307_1.png" + }, + "43085": { + "id": "43085", + "set_id": "308", + "name": "Vonwacq's Island of Birth", + "rarity": 3, + "type": "NECK", + "max_level": 9, + "main_affix_id": "35", + "sub_affix_id": "3", + "icon": "icon/relic/308_0.png" + }, + "43086": { + "id": "43086", + "set_id": "308", + "name": "Vonwacq's Islandic Coast", + "rarity": 3, + "type": "OBJECT", + "max_level": 9, + "main_affix_id": "36", + "sub_affix_id": "3", + "icon": "icon/relic/308_1.png" + }, + "43095": { + "id": "43095", + "set_id": "309", + "name": "Taikiyan Laser Stadium", + "rarity": 3, + "type": "NECK", + "max_level": 9, + "main_affix_id": "35", + "sub_affix_id": "3", + "icon": "icon/relic/309_0.png" + }, + "43096": { + "id": "43096", + "set_id": "309", + "name": "Taikiyan's Arclight Race Track", + "rarity": 3, + "type": "OBJECT", + "max_level": 9, + "main_affix_id": "36", + "sub_affix_id": "3", + "icon": "icon/relic/309_1.png" + }, + "43105": { + "id": "43105", + "set_id": "310", + "name": "Insumousu's Whalefall Ship", + "rarity": 3, + "type": "NECK", + "max_level": 9, + "main_affix_id": "35", + "sub_affix_id": "3", + "icon": "icon/relic/310_0.png" + }, + "43106": { + "id": "43106", + "set_id": "310", + "name": "Insumousu's Frayed Hawser", + "rarity": 3, + "type": "OBJECT", + "max_level": 9, + "main_affix_id": "36", + "sub_affix_id": "3", + "icon": "icon/relic/310_1.png" + }, + "43115": { + "id": "43115", + "set_id": "311", + "name": "Glamoth's Iron Cavalry Regiment", + "rarity": 3, + "type": "NECK", + "max_level": 9, + "main_affix_id": "35", + "sub_affix_id": "3", + "icon": "icon/relic/311_0.png" + }, + "43116": { + "id": "43116", + "set_id": "311", + "name": "Glamoth's Silent Tombstone", + "rarity": 3, + "type": "OBJECT", + "max_level": 9, + "main_affix_id": "36", + "sub_affix_id": "3", + "icon": "icon/relic/311_1.png" + }, + "43125": { + "id": "43125", + "set_id": "312", + "name": "Penacony's Grand Hotel", + "rarity": 3, + "type": "NECK", + "max_level": 9, + "main_affix_id": "35", + "sub_affix_id": "3", + "icon": "icon/relic/312_0.png" + }, + "43126": { + "id": "43126", + "set_id": "312", + "name": "Penacony's Dream-Seeking Tracks", + "rarity": 3, + "type": "OBJECT", + "max_level": 9, + "main_affix_id": "36", + "sub_affix_id": "3", + "icon": "icon/relic/312_1.png" + }, + "51011": { + "id": "51011", + "set_id": "101", + "name": "Passerby's Rejuvenated Wooden Hairstick", + "rarity": 4, + "type": "HEAD", + "max_level": 12, + "main_affix_id": "41", + "sub_affix_id": "4", + "icon": "icon/relic/101_0.png" + }, + "51012": { + "id": "51012", + "set_id": "101", + "name": "Passerby's Roaming Dragon Bracer", + "rarity": 4, + "type": "HAND", + "max_level": 12, + "main_affix_id": "42", + "sub_affix_id": "4", + "icon": "icon/relic/101_1.png" + }, + "51013": { + "id": "51013", + "set_id": "101", + "name": "Passerby's Ragged Embroided Coat", + "rarity": 4, + "type": "BODY", + "max_level": 12, + "main_affix_id": "43", + "sub_affix_id": "4", + "icon": "icon/relic/101_2.png" + }, + "51014": { + "id": "51014", + "set_id": "101", + "name": "Passerby's Stygian Hiking Boots", + "rarity": 4, + "type": "FOOT", + "max_level": 12, + "main_affix_id": "44", + "sub_affix_id": "4", + "icon": "icon/relic/101_3.png" + }, + "51021": { + "id": "51021", + "set_id": "102", + "name": "Musketeer's Wild Wheat Felt Hat", + "rarity": 4, + "type": "HEAD", + "max_level": 12, + "main_affix_id": "41", + "sub_affix_id": "4", + "icon": "icon/relic/102_0.png" + }, + "51022": { + "id": "51022", + "set_id": "102", + "name": "Musketeer's Coarse Leather Gloves", + "rarity": 4, + "type": "HAND", + "max_level": 12, + "main_affix_id": "42", + "sub_affix_id": "4", + "icon": "icon/relic/102_1.png" + }, + "51023": { + "id": "51023", + "set_id": "102", + "name": "Musketeer's Wind-Hunting Shawl", + "rarity": 4, + "type": "BODY", + "max_level": 12, + "main_affix_id": "43", + "sub_affix_id": "4", + "icon": "icon/relic/102_2.png" + }, + "51024": { + "id": "51024", + "set_id": "102", + "name": "Musketeer's Rivets Riding Boots", + "rarity": 4, + "type": "FOOT", + "max_level": 12, + "main_affix_id": "44", + "sub_affix_id": "4", + "icon": "icon/relic/102_3.png" + }, + "51031": { + "id": "51031", + "set_id": "103", + "name": "Knight's Forgiving Casque", + "rarity": 4, + "type": "HEAD", + "max_level": 12, + "main_affix_id": "41", + "sub_affix_id": "4", + "icon": "icon/relic/103_0.png" + }, + "51032": { + "id": "51032", + "set_id": "103", + "name": "Knight's Silent Oath Ring", + "rarity": 4, + "type": "HAND", + "max_level": 12, + "main_affix_id": "42", + "sub_affix_id": "4", + "icon": "icon/relic/103_1.png" + }, + "51033": { + "id": "51033", + "set_id": "103", + "name": "Knight's Solemn Breastplate", + "rarity": 4, + "type": "BODY", + "max_level": 12, + "main_affix_id": "43", + "sub_affix_id": "4", + "icon": "icon/relic/103_2.png" + }, + "51034": { + "id": "51034", + "set_id": "103", + "name": "Knight's Iron Boots of Order", + "rarity": 4, + "type": "FOOT", + "max_level": 12, + "main_affix_id": "44", + "sub_affix_id": "4", + "icon": "icon/relic/103_3.png" + }, + "51041": { + "id": "51041", + "set_id": "104", + "name": "Hunter's Artaius Hood", + "rarity": 4, + "type": "HEAD", + "max_level": 12, + "main_affix_id": "41", + "sub_affix_id": "4", + "icon": "icon/relic/104_0.png" + }, + "51042": { + "id": "51042", + "set_id": "104", + "name": "Hunter's Lizard Gloves", + "rarity": 4, + "type": "HAND", + "max_level": 12, + "main_affix_id": "42", + "sub_affix_id": "4", + "icon": "icon/relic/104_1.png" + }, + "51043": { + "id": "51043", + "set_id": "104", + "name": "Hunter's Ice Dragon Cloak", + "rarity": 4, + "type": "BODY", + "max_level": 12, + "main_affix_id": "43", + "sub_affix_id": "4", + "icon": "icon/relic/104_2.png" + }, + "51044": { + "id": "51044", + "set_id": "104", + "name": "Hunter's Soft Elkskin Boots", + "rarity": 4, + "type": "FOOT", + "max_level": 12, + "main_affix_id": "44", + "sub_affix_id": "4", + "icon": "icon/relic/104_3.png" + }, + "51051": { + "id": "51051", + "set_id": "105", + "name": "Champion's Headgear", + "rarity": 4, + "type": "HEAD", + "max_level": 12, + "main_affix_id": "41", + "sub_affix_id": "4", + "icon": "icon/relic/105_0.png" + }, + "51052": { + "id": "51052", + "set_id": "105", + "name": "Champion's Heavy Gloves", + "rarity": 4, + "type": "HAND", + "max_level": 12, + "main_affix_id": "42", + "sub_affix_id": "4", + "icon": "icon/relic/105_1.png" + }, + "51053": { + "id": "51053", + "set_id": "105", + "name": "Champion's Chest Guard", + "rarity": 4, + "type": "BODY", + "max_level": 12, + "main_affix_id": "43", + "sub_affix_id": "4", + "icon": "icon/relic/105_2.png" + }, + "51054": { + "id": "51054", + "set_id": "105", + "name": "Champion's Fleetfoot Boots", + "rarity": 4, + "type": "FOOT", + "max_level": 12, + "main_affix_id": "44", + "sub_affix_id": "4", + "icon": "icon/relic/105_3.png" + }, + "51061": { + "id": "51061", + "set_id": "106", + "name": "Guard's Cast Iron Helmet", + "rarity": 4, + "type": "HEAD", + "max_level": 12, + "main_affix_id": "41", + "sub_affix_id": "4", + "icon": "icon/relic/106_0.png" + }, + "51062": { + "id": "51062", + "set_id": "106", + "name": "Guard's Shining Gauntlets", + "rarity": 4, + "type": "HAND", + "max_level": 12, + "main_affix_id": "42", + "sub_affix_id": "4", + "icon": "icon/relic/106_1.png" + }, + "51063": { + "id": "51063", + "set_id": "106", + "name": "Guard's Uniform of Old", + "rarity": 4, + "type": "BODY", + "max_level": 12, + "main_affix_id": "43", + "sub_affix_id": "4", + "icon": "icon/relic/106_2.png" + }, + "51064": { + "id": "51064", + "set_id": "106", + "name": "Guard's Silver Greaves", + "rarity": 4, + "type": "FOOT", + "max_level": 12, + "main_affix_id": "44", + "sub_affix_id": "4", + "icon": "icon/relic/106_3.png" + }, + "51071": { + "id": "51071", + "set_id": "107", + "name": "Firesmith's Obsidian Goggles", + "rarity": 4, + "type": "HEAD", + "max_level": 12, + "main_affix_id": "41", + "sub_affix_id": "4", + "icon": "icon/relic/107_0.png" + }, + "51072": { + "id": "51072", + "set_id": "107", + "name": "Firesmith's Ring of Flame-Mastery", + "rarity": 4, + "type": "HAND", + "max_level": 12, + "main_affix_id": "42", + "sub_affix_id": "4", + "icon": "icon/relic/107_1.png" + }, + "51073": { + "id": "51073", + "set_id": "107", + "name": "Firesmith's Fireproof Apron", + "rarity": 4, + "type": "BODY", + "max_level": 12, + "main_affix_id": "43", + "sub_affix_id": "4", + "icon": "icon/relic/107_2.png" + }, + "51074": { + "id": "51074", + "set_id": "107", + "name": "Firesmith's Alloy Leg", + "rarity": 4, + "type": "FOOT", + "max_level": 12, + "main_affix_id": "44", + "sub_affix_id": "4", + "icon": "icon/relic/107_3.png" + }, + "51081": { + "id": "51081", + "set_id": "108", + "name": "Genius's Ultraremote Sensing Visor", + "rarity": 4, + "type": "HEAD", + "max_level": 12, + "main_affix_id": "41", + "sub_affix_id": "4", + "icon": "icon/relic/108_0.png" + }, + "51082": { + "id": "51082", + "set_id": "108", + "name": "Genius's Frequency Catcher", + "rarity": 4, + "type": "HAND", + "max_level": 12, + "main_affix_id": "42", + "sub_affix_id": "4", + "icon": "icon/relic/108_1.png" + }, + "51083": { + "id": "51083", + "set_id": "108", + "name": "Genius's Metafield Suit", + "rarity": 4, + "type": "BODY", + "max_level": 12, + "main_affix_id": "43", + "sub_affix_id": "4", + "icon": "icon/relic/108_2.png" + }, + "51084": { + "id": "51084", + "set_id": "108", + "name": "Genius's Gravity Walker", + "rarity": 4, + "type": "FOOT", + "max_level": 12, + "main_affix_id": "44", + "sub_affix_id": "4", + "icon": "icon/relic/108_3.png" + }, + "51091": { + "id": "51091", + "set_id": "109", + "name": "Band's Polarized Sunglasses", + "rarity": 4, + "type": "HEAD", + "max_level": 12, + "main_affix_id": "41", + "sub_affix_id": "4", + "icon": "icon/relic/109_0.png" + }, + "51092": { + "id": "51092", + "set_id": "109", + "name": "Band's Touring Bracelet", + "rarity": 4, + "type": "HAND", + "max_level": 12, + "main_affix_id": "42", + "sub_affix_id": "4", + "icon": "icon/relic/109_1.png" + }, + "51093": { + "id": "51093", + "set_id": "109", + "name": "Band's Leather Jacket With Studs", + "rarity": 4, + "type": "BODY", + "max_level": 12, + "main_affix_id": "43", + "sub_affix_id": "4", + "icon": "icon/relic/109_2.png" + }, + "51094": { + "id": "51094", + "set_id": "109", + "name": "Band's Ankle Boots With Rivets", + "rarity": 4, + "type": "FOOT", + "max_level": 12, + "main_affix_id": "44", + "sub_affix_id": "4", + "icon": "icon/relic/109_3.png" + }, + "51101": { + "id": "51101", + "set_id": "110", + "name": "Eagle's Beaked Helmet", + "rarity": 4, + "type": "HEAD", + "max_level": 12, + "main_affix_id": "41", + "sub_affix_id": "4", + "icon": "icon/relic/110_0.png" + }, + "51102": { + "id": "51102", + "set_id": "110", + "name": "Eagle's Soaring Ring", + "rarity": 4, + "type": "HAND", + "max_level": 12, + "main_affix_id": "42", + "sub_affix_id": "4", + "icon": "icon/relic/110_1.png" + }, + "51103": { + "id": "51103", + "set_id": "110", + "name": "Eagle's Winged Suit Harness", + "rarity": 4, + "type": "BODY", + "max_level": 12, + "main_affix_id": "43", + "sub_affix_id": "4", + "icon": "icon/relic/110_2.png" + }, + "51104": { + "id": "51104", + "set_id": "110", + "name": "Eagle's Quilted Puttees", + "rarity": 4, + "type": "FOOT", + "max_level": 12, + "main_affix_id": "44", + "sub_affix_id": "4", + "icon": "icon/relic/110_3.png" + }, + "51111": { + "id": "51111", + "set_id": "111", + "name": "Thief's Myriad-Faced Mask", + "rarity": 4, + "type": "HEAD", + "max_level": 12, + "main_affix_id": "41", + "sub_affix_id": "4", + "icon": "icon/relic/111_0.png" + }, + "51112": { + "id": "51112", + "set_id": "111", + "name": "Thief's Gloves With Prints", + "rarity": 4, + "type": "HAND", + "max_level": 12, + "main_affix_id": "42", + "sub_affix_id": "4", + "icon": "icon/relic/111_1.png" + }, + "51113": { + "id": "51113", + "set_id": "111", + "name": "Thief's Steel Grappling Hook", + "rarity": 4, + "type": "BODY", + "max_level": 12, + "main_affix_id": "43", + "sub_affix_id": "4", + "icon": "icon/relic/111_2.png" + }, + "51114": { + "id": "51114", + "set_id": "111", + "name": "Thief's Meteor Boots", + "rarity": 4, + "type": "FOOT", + "max_level": 12, + "main_affix_id": "44", + "sub_affix_id": "4", + "icon": "icon/relic/111_3.png" + }, + "51121": { + "id": "51121", + "set_id": "112", + "name": "Wastelander's Breathing Mask", + "rarity": 4, + "type": "HEAD", + "max_level": 12, + "main_affix_id": "41", + "sub_affix_id": "4", + "icon": "icon/relic/112_0.png" + }, + "51122": { + "id": "51122", + "set_id": "112", + "name": "Wastelander's Desert Terminal", + "rarity": 4, + "type": "HAND", + "max_level": 12, + "main_affix_id": "42", + "sub_affix_id": "4", + "icon": "icon/relic/112_1.png" + }, + "51123": { + "id": "51123", + "set_id": "112", + "name": "Wastelander's Friar Robe", + "rarity": 4, + "type": "BODY", + "max_level": 12, + "main_affix_id": "43", + "sub_affix_id": "4", + "icon": "icon/relic/112_2.png" + }, + "51124": { + "id": "51124", + "set_id": "112", + "name": "Wastelander's Powered Greaves", + "rarity": 4, + "type": "FOOT", + "max_level": 12, + "main_affix_id": "44", + "sub_affix_id": "4", + "icon": "icon/relic/112_3.png" + }, + "51131": { + "id": "51131", + "set_id": "113", + "name": "Disciple's Prosthetic Eye", + "rarity": 4, + "type": "HEAD", + "max_level": 12, + "main_affix_id": "41", + "sub_affix_id": "4", + "icon": "icon/relic/113_0.png" + }, + "51132": { + "id": "51132", + "set_id": "113", + "name": "Disciple's Ingenium Hand", + "rarity": 4, + "type": "HAND", + "max_level": 12, + "main_affix_id": "42", + "sub_affix_id": "4", + "icon": "icon/relic/113_1.png" + }, + "51133": { + "id": "51133", + "set_id": "113", + "name": "Disciple's Dewy Feather Garb", + "rarity": 4, + "type": "BODY", + "max_level": 12, + "main_affix_id": "43", + "sub_affix_id": "4", + "icon": "icon/relic/113_2.png" + }, + "51134": { + "id": "51134", + "set_id": "113", + "name": "Disciple's Celestial Silk Sandals", + "rarity": 4, + "type": "FOOT", + "max_level": 12, + "main_affix_id": "44", + "sub_affix_id": "4", + "icon": "icon/relic/113_3.png" + }, + "51141": { + "id": "51141", + "set_id": "114", + "name": "Messenger's Holovisor", + "rarity": 4, + "type": "HEAD", + "max_level": 12, + "main_affix_id": "41", + "sub_affix_id": "4", + "icon": "icon/relic/114_0.png" + }, + "51142": { + "id": "51142", + "set_id": "114", + "name": "Messenger's Transformative Arm", + "rarity": 4, + "type": "HAND", + "max_level": 12, + "main_affix_id": "42", + "sub_affix_id": "4", + "icon": "icon/relic/114_1.png" + }, + "51143": { + "id": "51143", + "set_id": "114", + "name": "Messenger's Secret Satchel", + "rarity": 4, + "type": "BODY", + "max_level": 12, + "main_affix_id": "43", + "sub_affix_id": "4", + "icon": "icon/relic/114_2.png" + }, + "51144": { + "id": "51144", + "set_id": "114", + "name": "Messenger's Par-kool Sneakers", + "rarity": 4, + "type": "FOOT", + "max_level": 12, + "main_affix_id": "44", + "sub_affix_id": "4", + "icon": "icon/relic/114_3.png" + }, + "51151": { + "id": "51151", + "set_id": "115", + "name": "Grand Duke's Crown of Netherflame", + "rarity": 4, + "type": "HEAD", + "max_level": 12, + "main_affix_id": "41", + "sub_affix_id": "4", + "icon": "icon/relic/115_0.png" + }, + "51152": { + "id": "51152", + "set_id": "115", + "name": "Grand Duke's Gloves of Fieryfur", + "rarity": 4, + "type": "HAND", + "max_level": 12, + "main_affix_id": "42", + "sub_affix_id": "4", + "icon": "icon/relic/115_1.png" + }, + "51153": { + "id": "51153", + "set_id": "115", + "name": "Grand Duke's Robe of Grace", + "rarity": 4, + "type": "BODY", + "max_level": 12, + "main_affix_id": "43", + "sub_affix_id": "4", + "icon": "icon/relic/115_2.png" + }, + "51154": { + "id": "51154", + "set_id": "115", + "name": "Grand Duke's Ceremonial Boots", + "rarity": 4, + "type": "FOOT", + "max_level": 12, + "main_affix_id": "44", + "sub_affix_id": "4", + "icon": "icon/relic/115_3.png" + }, + "51161": { + "id": "51161", + "set_id": "116", + "name": "Prisoner's Sealed Muzzle", + "rarity": 4, + "type": "HEAD", + "max_level": 12, + "main_affix_id": "41", + "sub_affix_id": "4", + "icon": "icon/relic/116_0.png" + }, + "51162": { + "id": "51162", + "set_id": "116", + "name": "Prisoner's Leadstone Shackles", + "rarity": 4, + "type": "HAND", + "max_level": 12, + "main_affix_id": "42", + "sub_affix_id": "4", + "icon": "icon/relic/116_1.png" + }, + "51163": { + "id": "51163", + "set_id": "116", + "name": "Prisoner's Repressive Straitjacket", + "rarity": 4, + "type": "BODY", + "max_level": 12, + "main_affix_id": "43", + "sub_affix_id": "4", + "icon": "icon/relic/116_2.png" + }, + "51164": { + "id": "51164", + "set_id": "116", + "name": "Prisoner's Restrictive Fetters", + "rarity": 4, + "type": "FOOT", + "max_level": 12, + "main_affix_id": "44", + "sub_affix_id": "4", + "icon": "icon/relic/116_3.png" + }, + "53015": { + "id": "53015", + "set_id": "301", + "name": "Herta's Space Station", + "rarity": 4, + "type": "NECK", + "max_level": 12, + "main_affix_id": "45", + "sub_affix_id": "4", + "icon": "icon/relic/301_0.png" + }, + "53016": { + "id": "53016", + "set_id": "301", + "name": "Herta's Wandering Trek", + "rarity": 4, + "type": "OBJECT", + "max_level": 12, + "main_affix_id": "46", + "sub_affix_id": "4", + "icon": "icon/relic/301_1.png" + }, + "53025": { + "id": "53025", + "set_id": "302", + "name": "The Xianzhou Luofu's Celestial Ark", + "rarity": 4, + "type": "NECK", + "max_level": 12, + "main_affix_id": "45", + "sub_affix_id": "4", + "icon": "icon/relic/302_0.png" + }, + "53026": { + "id": "53026", + "set_id": "302", + "name": "The Xianzhou Luofu's Ambrosial Arbor Vines", + "rarity": 4, + "type": "OBJECT", + "max_level": 12, + "main_affix_id": "46", + "sub_affix_id": "4", + "icon": "icon/relic/302_1.png" + }, + "53035": { + "id": "53035", + "set_id": "303", + "name": "The IPC's Mega HQ", + "rarity": 4, + "type": "NECK", + "max_level": 12, + "main_affix_id": "45", + "sub_affix_id": "4", + "icon": "icon/relic/303_0.png" + }, + "53036": { + "id": "53036", + "set_id": "303", + "name": "The IPC's Trade Route", + "rarity": 4, + "type": "OBJECT", + "max_level": 12, + "main_affix_id": "46", + "sub_affix_id": "4", + "icon": "icon/relic/303_1.png" + }, + "53045": { + "id": "53045", + "set_id": "304", + "name": "Belobog's Fortress of Preservation", + "rarity": 4, + "type": "NECK", + "max_level": 12, + "main_affix_id": "45", + "sub_affix_id": "4", + "icon": "icon/relic/304_0.png" + }, + "53046": { + "id": "53046", + "set_id": "304", + "name": "Belobog's Iron Defense", + "rarity": 4, + "type": "OBJECT", + "max_level": 12, + "main_affix_id": "46", + "sub_affix_id": "4", + "icon": "icon/relic/304_1.png" + }, + "53055": { + "id": "53055", + "set_id": "305", + "name": "Planet Screwllum's Mechanical Sun", + "rarity": 4, + "type": "NECK", + "max_level": 12, + "main_affix_id": "45", + "sub_affix_id": "4", + "icon": "icon/relic/305_0.png" + }, + "53056": { + "id": "53056", + "set_id": "305", + "name": "Planet Screwllum's Ring System", + "rarity": 4, + "type": "OBJECT", + "max_level": 12, + "main_affix_id": "46", + "sub_affix_id": "4", + "icon": "icon/relic/305_1.png" + }, + "53065": { + "id": "53065", + "set_id": "306", + "name": "Salsotto's Moving City", + "rarity": 4, + "type": "NECK", + "max_level": 12, + "main_affix_id": "45", + "sub_affix_id": "4", + "icon": "icon/relic/306_0.png" + }, + "53066": { + "id": "53066", + "set_id": "306", + "name": "Salsotto's Terminator Line", + "rarity": 4, + "type": "OBJECT", + "max_level": 12, + "main_affix_id": "46", + "sub_affix_id": "4", + "icon": "icon/relic/306_1.png" + }, + "53075": { + "id": "53075", + "set_id": "307", + "name": "Talia's Nailscrap Town", + "rarity": 4, + "type": "NECK", + "max_level": 12, + "main_affix_id": "45", + "sub_affix_id": "4", + "icon": "icon/relic/307_0.png" + }, + "53076": { + "id": "53076", + "set_id": "307", + "name": "Talia's Exposed Electric Wire", + "rarity": 4, + "type": "OBJECT", + "max_level": 12, + "main_affix_id": "46", + "sub_affix_id": "4", + "icon": "icon/relic/307_1.png" + }, + "53085": { + "id": "53085", + "set_id": "308", + "name": "Vonwacq's Island of Birth", + "rarity": 4, + "type": "NECK", + "max_level": 12, + "main_affix_id": "45", + "sub_affix_id": "4", + "icon": "icon/relic/308_0.png" + }, + "53086": { + "id": "53086", + "set_id": "308", + "name": "Vonwacq's Islandic Coast", + "rarity": 4, + "type": "OBJECT", + "max_level": 12, + "main_affix_id": "46", + "sub_affix_id": "4", + "icon": "icon/relic/308_1.png" + }, + "53095": { + "id": "53095", + "set_id": "309", + "name": "Taikiyan Laser Stadium", + "rarity": 4, + "type": "NECK", + "max_level": 12, + "main_affix_id": "45", + "sub_affix_id": "4", + "icon": "icon/relic/309_0.png" + }, + "53096": { + "id": "53096", + "set_id": "309", + "name": "Taikiyan's Arclight Race Track", + "rarity": 4, + "type": "OBJECT", + "max_level": 12, + "main_affix_id": "46", + "sub_affix_id": "4", + "icon": "icon/relic/309_1.png" + }, + "53105": { + "id": "53105", + "set_id": "310", + "name": "Insumousu's Whalefall Ship", + "rarity": 4, + "type": "NECK", + "max_level": 12, + "main_affix_id": "45", + "sub_affix_id": "4", + "icon": "icon/relic/310_0.png" + }, + "53106": { + "id": "53106", + "set_id": "310", + "name": "Insumousu's Frayed Hawser", + "rarity": 4, + "type": "OBJECT", + "max_level": 12, + "main_affix_id": "46", + "sub_affix_id": "4", + "icon": "icon/relic/310_1.png" + }, + "53115": { + "id": "53115", + "set_id": "311", + "name": "Glamoth's Iron Cavalry Regiment", + "rarity": 4, + "type": "NECK", + "max_level": 12, + "main_affix_id": "45", + "sub_affix_id": "4", + "icon": "icon/relic/311_0.png" + }, + "53116": { + "id": "53116", + "set_id": "311", + "name": "Glamoth's Silent Tombstone", + "rarity": 4, + "type": "OBJECT", + "max_level": 12, + "main_affix_id": "46", + "sub_affix_id": "4", + "icon": "icon/relic/311_1.png" + }, + "53125": { + "id": "53125", + "set_id": "312", + "name": "Penacony's Grand Hotel", + "rarity": 4, + "type": "NECK", + "max_level": 12, + "main_affix_id": "45", + "sub_affix_id": "4", + "icon": "icon/relic/312_0.png" + }, + "53126": { + "id": "53126", + "set_id": "312", + "name": "Penacony's Dream-Seeking Tracks", + "rarity": 4, + "type": "OBJECT", + "max_level": 12, + "main_affix_id": "46", + "sub_affix_id": "4", + "icon": "icon/relic/312_1.png" + }, + "55001": { + "id": "55001", + "set_id": "101", + "name": "Passerby's Ragged Embroided Coat", + "rarity": 4, + "type": "BODY", + "max_level": 12, + "main_affix_id": "436", + "sub_affix_id": "4", + "icon": "icon/relic/101_2.png" + }, + "55002": { + "id": "55002", + "set_id": "101", + "name": "Passerby's Stygian Hiking Boots", + "rarity": 4, + "type": "FOOT", + "max_level": 12, + "main_affix_id": "441", + "sub_affix_id": "4", + "icon": "icon/relic/101_3.png" + }, + "55003": { + "id": "55003", + "set_id": "102", + "name": "Musketeer's Wind-Hunting Shawl", + "rarity": 4, + "type": "BODY", + "max_level": 12, + "main_affix_id": "434", + "sub_affix_id": "4", + "icon": "icon/relic/102_2.png" + }, + "55004": { + "id": "55004", + "set_id": "103", + "name": "Knight's Solemn Breastplate", + "rarity": 4, + "type": "BODY", + "max_level": 12, + "main_affix_id": "433", + "sub_affix_id": "4", + "icon": "icon/relic/103_2.png" + }, + "55005": { + "id": "55005", + "set_id": "103", + "name": "Knight's Iron Boots of Order", + "rarity": 4, + "type": "FOOT", + "max_level": 12, + "main_affix_id": "443", + "sub_affix_id": "4", + "icon": "icon/relic/103_3.png" + }, + "55006": { + "id": "55006", + "set_id": "105", + "name": "Champion's Chest Guard", + "rarity": 4, + "type": "BODY", + "max_level": 12, + "main_affix_id": "434", + "sub_affix_id": "4", + "icon": "icon/relic/105_2.png" + }, + "61011": { + "id": "61011", + "set_id": "101", + "name": "Passerby's Rejuvenated Wooden Hairstick", + "rarity": 5, + "type": "HEAD", + "max_level": 15, + "main_affix_id": "51", + "sub_affix_id": "5", + "icon": "icon/relic/101_0.png" + }, + "61012": { + "id": "61012", + "set_id": "101", + "name": "Passerby's Roaming Dragon Bracer", + "rarity": 5, + "type": "HAND", + "max_level": 15, + "main_affix_id": "52", + "sub_affix_id": "5", + "icon": "icon/relic/101_1.png" + }, + "61013": { + "id": "61013", + "set_id": "101", + "name": "Passerby's Ragged Embroided Coat", + "rarity": 5, + "type": "BODY", + "max_level": 15, + "main_affix_id": "53", + "sub_affix_id": "5", + "icon": "icon/relic/101_2.png" + }, + "61014": { + "id": "61014", + "set_id": "101", + "name": "Passerby's Stygian Hiking Boots", + "rarity": 5, + "type": "FOOT", + "max_level": 15, + "main_affix_id": "54", + "sub_affix_id": "5", + "icon": "icon/relic/101_3.png" + }, + "61021": { + "id": "61021", + "set_id": "102", + "name": "Musketeer's Wild Wheat Felt Hat", + "rarity": 5, + "type": "HEAD", + "max_level": 15, + "main_affix_id": "51", + "sub_affix_id": "5", + "icon": "icon/relic/102_0.png" + }, + "61022": { + "id": "61022", + "set_id": "102", + "name": "Musketeer's Coarse Leather Gloves", + "rarity": 5, + "type": "HAND", + "max_level": 15, + "main_affix_id": "52", + "sub_affix_id": "5", + "icon": "icon/relic/102_1.png" + }, + "61023": { + "id": "61023", + "set_id": "102", + "name": "Musketeer's Wind-Hunting Shawl", + "rarity": 5, + "type": "BODY", + "max_level": 15, + "main_affix_id": "53", + "sub_affix_id": "5", + "icon": "icon/relic/102_2.png" + }, + "61024": { + "id": "61024", + "set_id": "102", + "name": "Musketeer's Rivets Riding Boots", + "rarity": 5, + "type": "FOOT", + "max_level": 15, + "main_affix_id": "54", + "sub_affix_id": "5", + "icon": "icon/relic/102_3.png" + }, + "61031": { + "id": "61031", + "set_id": "103", + "name": "Knight's Forgiving Casque", + "rarity": 5, + "type": "HEAD", + "max_level": 15, + "main_affix_id": "51", + "sub_affix_id": "5", + "icon": "icon/relic/103_0.png" + }, + "61032": { + "id": "61032", + "set_id": "103", + "name": "Knight's Silent Oath Ring", + "rarity": 5, + "type": "HAND", + "max_level": 15, + "main_affix_id": "52", + "sub_affix_id": "5", + "icon": "icon/relic/103_1.png" + }, + "61033": { + "id": "61033", + "set_id": "103", + "name": "Knight's Solemn Breastplate", + "rarity": 5, + "type": "BODY", + "max_level": 15, + "main_affix_id": "53", + "sub_affix_id": "5", + "icon": "icon/relic/103_2.png" + }, + "61034": { + "id": "61034", + "set_id": "103", + "name": "Knight's Iron Boots of Order", + "rarity": 5, + "type": "FOOT", + "max_level": 15, + "main_affix_id": "54", + "sub_affix_id": "5", + "icon": "icon/relic/103_3.png" + }, + "61041": { + "id": "61041", + "set_id": "104", + "name": "Hunter's Artaius Hood", + "rarity": 5, + "type": "HEAD", + "max_level": 15, + "main_affix_id": "51", + "sub_affix_id": "5", + "icon": "icon/relic/104_0.png" + }, + "61042": { + "id": "61042", + "set_id": "104", + "name": "Hunter's Lizard Gloves", + "rarity": 5, + "type": "HAND", + "max_level": 15, + "main_affix_id": "52", + "sub_affix_id": "5", + "icon": "icon/relic/104_1.png" + }, + "61043": { + "id": "61043", + "set_id": "104", + "name": "Hunter's Ice Dragon Cloak", + "rarity": 5, + "type": "BODY", + "max_level": 15, + "main_affix_id": "53", + "sub_affix_id": "5", + "icon": "icon/relic/104_2.png" + }, + "61044": { + "id": "61044", + "set_id": "104", + "name": "Hunter's Soft Elkskin Boots", + "rarity": 5, + "type": "FOOT", + "max_level": 15, + "main_affix_id": "54", + "sub_affix_id": "5", + "icon": "icon/relic/104_3.png" + }, + "61051": { + "id": "61051", + "set_id": "105", + "name": "Champion's Headgear", + "rarity": 5, + "type": "HEAD", + "max_level": 15, + "main_affix_id": "51", + "sub_affix_id": "5", + "icon": "icon/relic/105_0.png" + }, + "61052": { + "id": "61052", + "set_id": "105", + "name": "Champion's Heavy Gloves", + "rarity": 5, + "type": "HAND", + "max_level": 15, + "main_affix_id": "52", + "sub_affix_id": "5", + "icon": "icon/relic/105_1.png" + }, + "61053": { + "id": "61053", + "set_id": "105", + "name": "Champion's Chest Guard", + "rarity": 5, + "type": "BODY", + "max_level": 15, + "main_affix_id": "53", + "sub_affix_id": "5", + "icon": "icon/relic/105_2.png" + }, + "61054": { + "id": "61054", + "set_id": "105", + "name": "Champion's Fleetfoot Boots", + "rarity": 5, + "type": "FOOT", + "max_level": 15, + "main_affix_id": "54", + "sub_affix_id": "5", + "icon": "icon/relic/105_3.png" + }, + "61061": { + "id": "61061", + "set_id": "106", + "name": "Guard's Cast Iron Helmet", + "rarity": 5, + "type": "HEAD", + "max_level": 15, + "main_affix_id": "51", + "sub_affix_id": "5", + "icon": "icon/relic/106_0.png" + }, + "61062": { + "id": "61062", + "set_id": "106", + "name": "Guard's Shining Gauntlets", + "rarity": 5, + "type": "HAND", + "max_level": 15, + "main_affix_id": "52", + "sub_affix_id": "5", + "icon": "icon/relic/106_1.png" + }, + "61063": { + "id": "61063", + "set_id": "106", + "name": "Guard's Uniform of Old", + "rarity": 5, + "type": "BODY", + "max_level": 15, + "main_affix_id": "53", + "sub_affix_id": "5", + "icon": "icon/relic/106_2.png" + }, + "61064": { + "id": "61064", + "set_id": "106", + "name": "Guard's Silver Greaves", + "rarity": 5, + "type": "FOOT", + "max_level": 15, + "main_affix_id": "54", + "sub_affix_id": "5", + "icon": "icon/relic/106_3.png" + }, + "61071": { + "id": "61071", + "set_id": "107", + "name": "Firesmith's Obsidian Goggles", + "rarity": 5, + "type": "HEAD", + "max_level": 15, + "main_affix_id": "51", + "sub_affix_id": "5", + "icon": "icon/relic/107_0.png" + }, + "61072": { + "id": "61072", + "set_id": "107", + "name": "Firesmith's Ring of Flame-Mastery", + "rarity": 5, + "type": "HAND", + "max_level": 15, + "main_affix_id": "52", + "sub_affix_id": "5", + "icon": "icon/relic/107_1.png" + }, + "61073": { + "id": "61073", + "set_id": "107", + "name": "Firesmith's Fireproof Apron", + "rarity": 5, + "type": "BODY", + "max_level": 15, + "main_affix_id": "53", + "sub_affix_id": "5", + "icon": "icon/relic/107_2.png" + }, + "61074": { + "id": "61074", + "set_id": "107", + "name": "Firesmith's Alloy Leg", + "rarity": 5, + "type": "FOOT", + "max_level": 15, + "main_affix_id": "54", + "sub_affix_id": "5", + "icon": "icon/relic/107_3.png" + }, + "61081": { + "id": "61081", + "set_id": "108", + "name": "Genius's Ultraremote Sensing Visor", + "rarity": 5, + "type": "HEAD", + "max_level": 15, + "main_affix_id": "51", + "sub_affix_id": "5", + "icon": "icon/relic/108_0.png" + }, + "61082": { + "id": "61082", + "set_id": "108", + "name": "Genius's Frequency Catcher", + "rarity": 5, + "type": "HAND", + "max_level": 15, + "main_affix_id": "52", + "sub_affix_id": "5", + "icon": "icon/relic/108_1.png" + }, + "61083": { + "id": "61083", + "set_id": "108", + "name": "Genius's Metafield Suit", + "rarity": 5, + "type": "BODY", + "max_level": 15, + "main_affix_id": "53", + "sub_affix_id": "5", + "icon": "icon/relic/108_2.png" + }, + "61084": { + "id": "61084", + "set_id": "108", + "name": "Genius's Gravity Walker", + "rarity": 5, + "type": "FOOT", + "max_level": 15, + "main_affix_id": "54", + "sub_affix_id": "5", + "icon": "icon/relic/108_3.png" + }, + "61091": { + "id": "61091", + "set_id": "109", + "name": "Band's Polarized Sunglasses", + "rarity": 5, + "type": "HEAD", + "max_level": 15, + "main_affix_id": "51", + "sub_affix_id": "5", + "icon": "icon/relic/109_0.png" + }, + "61092": { + "id": "61092", + "set_id": "109", + "name": "Band's Touring Bracelet", + "rarity": 5, + "type": "HAND", + "max_level": 15, + "main_affix_id": "52", + "sub_affix_id": "5", + "icon": "icon/relic/109_1.png" + }, + "61093": { + "id": "61093", + "set_id": "109", + "name": "Band's Leather Jacket With Studs", + "rarity": 5, + "type": "BODY", + "max_level": 15, + "main_affix_id": "53", + "sub_affix_id": "5", + "icon": "icon/relic/109_2.png" + }, + "61094": { + "id": "61094", + "set_id": "109", + "name": "Band's Ankle Boots With Rivets", + "rarity": 5, + "type": "FOOT", + "max_level": 15, + "main_affix_id": "54", + "sub_affix_id": "5", + "icon": "icon/relic/109_3.png" + }, + "61101": { + "id": "61101", + "set_id": "110", + "name": "Eagle's Beaked Helmet", + "rarity": 5, + "type": "HEAD", + "max_level": 15, + "main_affix_id": "51", + "sub_affix_id": "5", + "icon": "icon/relic/110_0.png" + }, + "61102": { + "id": "61102", + "set_id": "110", + "name": "Eagle's Soaring Ring", + "rarity": 5, + "type": "HAND", + "max_level": 15, + "main_affix_id": "52", + "sub_affix_id": "5", + "icon": "icon/relic/110_1.png" + }, + "61103": { + "id": "61103", + "set_id": "110", + "name": "Eagle's Winged Suit Harness", + "rarity": 5, + "type": "BODY", + "max_level": 15, + "main_affix_id": "53", + "sub_affix_id": "5", + "icon": "icon/relic/110_2.png" + }, + "61104": { + "id": "61104", + "set_id": "110", + "name": "Eagle's Quilted Puttees", + "rarity": 5, + "type": "FOOT", + "max_level": 15, + "main_affix_id": "54", + "sub_affix_id": "5", + "icon": "icon/relic/110_3.png" + }, + "61111": { + "id": "61111", + "set_id": "111", + "name": "Thief's Myriad-Faced Mask", + "rarity": 5, + "type": "HEAD", + "max_level": 15, + "main_affix_id": "51", + "sub_affix_id": "5", + "icon": "icon/relic/111_0.png" + }, + "61112": { + "id": "61112", + "set_id": "111", + "name": "Thief's Gloves With Prints", + "rarity": 5, + "type": "HAND", + "max_level": 15, + "main_affix_id": "52", + "sub_affix_id": "5", + "icon": "icon/relic/111_1.png" + }, + "61113": { + "id": "61113", + "set_id": "111", + "name": "Thief's Steel Grappling Hook", + "rarity": 5, + "type": "BODY", + "max_level": 15, + "main_affix_id": "53", + "sub_affix_id": "5", + "icon": "icon/relic/111_2.png" + }, + "61114": { + "id": "61114", + "set_id": "111", + "name": "Thief's Meteor Boots", + "rarity": 5, + "type": "FOOT", + "max_level": 15, + "main_affix_id": "54", + "sub_affix_id": "5", + "icon": "icon/relic/111_3.png" + }, + "61121": { + "id": "61121", + "set_id": "112", + "name": "Wastelander's Breathing Mask", + "rarity": 5, + "type": "HEAD", + "max_level": 15, + "main_affix_id": "51", + "sub_affix_id": "5", + "icon": "icon/relic/112_0.png" + }, + "61122": { + "id": "61122", + "set_id": "112", + "name": "Wastelander's Desert Terminal", + "rarity": 5, + "type": "HAND", + "max_level": 15, + "main_affix_id": "52", + "sub_affix_id": "5", + "icon": "icon/relic/112_1.png" + }, + "61123": { + "id": "61123", + "set_id": "112", + "name": "Wastelander's Friar Robe", + "rarity": 5, + "type": "BODY", + "max_level": 15, + "main_affix_id": "53", + "sub_affix_id": "5", + "icon": "icon/relic/112_2.png" + }, + "61124": { + "id": "61124", + "set_id": "112", + "name": "Wastelander's Powered Greaves", + "rarity": 5, + "type": "FOOT", + "max_level": 15, + "main_affix_id": "54", + "sub_affix_id": "5", + "icon": "icon/relic/112_3.png" + }, + "61131": { + "id": "61131", + "set_id": "113", + "name": "Disciple's Prosthetic Eye", + "rarity": 5, + "type": "HEAD", + "max_level": 15, + "main_affix_id": "51", + "sub_affix_id": "5", + "icon": "icon/relic/113_0.png" + }, + "61132": { + "id": "61132", + "set_id": "113", + "name": "Disciple's Ingenium Hand", + "rarity": 5, + "type": "HAND", + "max_level": 15, + "main_affix_id": "52", + "sub_affix_id": "5", + "icon": "icon/relic/113_1.png" + }, + "61133": { + "id": "61133", + "set_id": "113", + "name": "Disciple's Dewy Feather Garb", + "rarity": 5, + "type": "BODY", + "max_level": 15, + "main_affix_id": "53", + "sub_affix_id": "5", + "icon": "icon/relic/113_2.png" + }, + "61134": { + "id": "61134", + "set_id": "113", + "name": "Disciple's Celestial Silk Sandals", + "rarity": 5, + "type": "FOOT", + "max_level": 15, + "main_affix_id": "54", + "sub_affix_id": "5", + "icon": "icon/relic/113_3.png" + }, + "61141": { + "id": "61141", + "set_id": "114", + "name": "Messenger's Holovisor", + "rarity": 5, + "type": "HEAD", + "max_level": 15, + "main_affix_id": "51", + "sub_affix_id": "5", + "icon": "icon/relic/114_0.png" + }, + "61142": { + "id": "61142", + "set_id": "114", + "name": "Messenger's Transformative Arm", + "rarity": 5, + "type": "HAND", + "max_level": 15, + "main_affix_id": "52", + "sub_affix_id": "5", + "icon": "icon/relic/114_1.png" + }, + "61143": { + "id": "61143", + "set_id": "114", + "name": "Messenger's Secret Satchel", + "rarity": 5, + "type": "BODY", + "max_level": 15, + "main_affix_id": "53", + "sub_affix_id": "5", + "icon": "icon/relic/114_2.png" + }, + "61144": { + "id": "61144", + "set_id": "114", + "name": "Messenger's Par-kool Sneakers", + "rarity": 5, + "type": "FOOT", + "max_level": 15, + "main_affix_id": "54", + "sub_affix_id": "5", + "icon": "icon/relic/114_3.png" + }, + "61151": { + "id": "61151", + "set_id": "115", + "name": "Grand Duke's Crown of Netherflame", + "rarity": 5, + "type": "HEAD", + "max_level": 15, + "main_affix_id": "51", + "sub_affix_id": "5", + "icon": "icon/relic/115_0.png" + }, + "61152": { + "id": "61152", + "set_id": "115", + "name": "Grand Duke's Gloves of Fieryfur", + "rarity": 5, + "type": "HAND", + "max_level": 15, + "main_affix_id": "52", + "sub_affix_id": "5", + "icon": "icon/relic/115_1.png" + }, + "61153": { + "id": "61153", + "set_id": "115", + "name": "Grand Duke's Robe of Grace", + "rarity": 5, + "type": "BODY", + "max_level": 15, + "main_affix_id": "53", + "sub_affix_id": "5", + "icon": "icon/relic/115_2.png" + }, + "61154": { + "id": "61154", + "set_id": "115", + "name": "Grand Duke's Ceremonial Boots", + "rarity": 5, + "type": "FOOT", + "max_level": 15, + "main_affix_id": "54", + "sub_affix_id": "5", + "icon": "icon/relic/115_3.png" + }, + "61161": { + "id": "61161", + "set_id": "116", + "name": "Prisoner's Sealed Muzzle", + "rarity": 5, + "type": "HEAD", + "max_level": 15, + "main_affix_id": "51", + "sub_affix_id": "5", + "icon": "icon/relic/116_0.png" + }, + "61162": { + "id": "61162", + "set_id": "116", + "name": "Prisoner's Leadstone Shackles", + "rarity": 5, + "type": "HAND", + "max_level": 15, + "main_affix_id": "52", + "sub_affix_id": "5", + "icon": "icon/relic/116_1.png" + }, + "61163": { + "id": "61163", + "set_id": "116", + "name": "Prisoner's Repressive Straitjacket", + "rarity": 5, + "type": "BODY", + "max_level": 15, + "main_affix_id": "53", + "sub_affix_id": "5", + "icon": "icon/relic/116_2.png" + }, + "61164": { + "id": "61164", + "set_id": "116", + "name": "Prisoner's Restrictive Fetters", + "rarity": 5, + "type": "FOOT", + "max_level": 15, + "main_affix_id": "54", + "sub_affix_id": "5", + "icon": "icon/relic/116_3.png" + }, + "63015": { + "id": "63015", + "set_id": "301", + "name": "Herta's Space Station", + "rarity": 5, + "type": "NECK", + "max_level": 15, + "main_affix_id": "55", + "sub_affix_id": "5", + "icon": "icon/relic/301_0.png" + }, + "63016": { + "id": "63016", + "set_id": "301", + "name": "Herta's Wandering Trek", + "rarity": 5, + "type": "OBJECT", + "max_level": 15, + "main_affix_id": "56", + "sub_affix_id": "5", + "icon": "icon/relic/301_1.png" + }, + "63025": { + "id": "63025", + "set_id": "302", + "name": "The Xianzhou Luofu's Celestial Ark", + "rarity": 5, + "type": "NECK", + "max_level": 15, + "main_affix_id": "55", + "sub_affix_id": "5", + "icon": "icon/relic/302_0.png" + }, + "63026": { + "id": "63026", + "set_id": "302", + "name": "The Xianzhou Luofu's Ambrosial Arbor Vines", + "rarity": 5, + "type": "OBJECT", + "max_level": 15, + "main_affix_id": "56", + "sub_affix_id": "5", + "icon": "icon/relic/302_1.png" + }, + "63035": { + "id": "63035", + "set_id": "303", + "name": "The IPC's Mega HQ", + "rarity": 5, + "type": "NECK", + "max_level": 15, + "main_affix_id": "55", + "sub_affix_id": "5", + "icon": "icon/relic/303_0.png" + }, + "63036": { + "id": "63036", + "set_id": "303", + "name": "The IPC's Trade Route", + "rarity": 5, + "type": "OBJECT", + "max_level": 15, + "main_affix_id": "56", + "sub_affix_id": "5", + "icon": "icon/relic/303_1.png" + }, + "63045": { + "id": "63045", + "set_id": "304", + "name": "Belobog's Fortress of Preservation", + "rarity": 5, + "type": "NECK", + "max_level": 15, + "main_affix_id": "55", + "sub_affix_id": "5", + "icon": "icon/relic/304_0.png" + }, + "63046": { + "id": "63046", + "set_id": "304", + "name": "Belobog's Iron Defense", + "rarity": 5, + "type": "OBJECT", + "max_level": 15, + "main_affix_id": "56", + "sub_affix_id": "5", + "icon": "icon/relic/304_1.png" + }, + "63055": { + "id": "63055", + "set_id": "305", + "name": "Planet Screwllum's Mechanical Sun", + "rarity": 5, + "type": "NECK", + "max_level": 15, + "main_affix_id": "55", + "sub_affix_id": "5", + "icon": "icon/relic/305_0.png" + }, + "63056": { + "id": "63056", + "set_id": "305", + "name": "Planet Screwllum's Ring System", + "rarity": 5, + "type": "OBJECT", + "max_level": 15, + "main_affix_id": "56", + "sub_affix_id": "5", + "icon": "icon/relic/305_1.png" + }, + "63065": { + "id": "63065", + "set_id": "306", + "name": "Salsotto's Moving City", + "rarity": 5, + "type": "NECK", + "max_level": 15, + "main_affix_id": "55", + "sub_affix_id": "5", + "icon": "icon/relic/306_0.png" + }, + "63066": { + "id": "63066", + "set_id": "306", + "name": "Salsotto's Terminator Line", + "rarity": 5, + "type": "OBJECT", + "max_level": 15, + "main_affix_id": "56", + "sub_affix_id": "5", + "icon": "icon/relic/306_1.png" + }, + "63075": { + "id": "63075", + "set_id": "307", + "name": "Talia's Nailscrap Town", + "rarity": 5, + "type": "NECK", + "max_level": 15, + "main_affix_id": "55", + "sub_affix_id": "5", + "icon": "icon/relic/307_0.png" + }, + "63076": { + "id": "63076", + "set_id": "307", + "name": "Talia's Exposed Electric Wire", + "rarity": 5, + "type": "OBJECT", + "max_level": 15, + "main_affix_id": "56", + "sub_affix_id": "5", + "icon": "icon/relic/307_1.png" + }, + "63085": { + "id": "63085", + "set_id": "308", + "name": "Vonwacq's Island of Birth", + "rarity": 5, + "type": "NECK", + "max_level": 15, + "main_affix_id": "55", + "sub_affix_id": "5", + "icon": "icon/relic/308_0.png" + }, + "63086": { + "id": "63086", + "set_id": "308", + "name": "Vonwacq's Islandic Coast", + "rarity": 5, + "type": "OBJECT", + "max_level": 15, + "main_affix_id": "56", + "sub_affix_id": "5", + "icon": "icon/relic/308_1.png" + }, + "63095": { + "id": "63095", + "set_id": "309", + "name": "Taikiyan Laser Stadium", + "rarity": 5, + "type": "NECK", + "max_level": 15, + "main_affix_id": "55", + "sub_affix_id": "5", + "icon": "icon/relic/309_0.png" + }, + "63096": { + "id": "63096", + "set_id": "309", + "name": "Taikiyan's Arclight Race Track", + "rarity": 5, + "type": "OBJECT", + "max_level": 15, + "main_affix_id": "56", + "sub_affix_id": "5", + "icon": "icon/relic/309_1.png" + }, + "63105": { + "id": "63105", + "set_id": "310", + "name": "Insumousu's Whalefall Ship", + "rarity": 5, + "type": "NECK", + "max_level": 15, + "main_affix_id": "55", + "sub_affix_id": "5", + "icon": "icon/relic/310_0.png" + }, + "63106": { + "id": "63106", + "set_id": "310", + "name": "Insumousu's Frayed Hawser", + "rarity": 5, + "type": "OBJECT", + "max_level": 15, + "main_affix_id": "56", + "sub_affix_id": "5", + "icon": "icon/relic/310_1.png" + }, + "63115": { + "id": "63115", + "set_id": "311", + "name": "Glamoth's Iron Cavalry Regiment", + "rarity": 5, + "type": "NECK", + "max_level": 15, + "main_affix_id": "55", + "sub_affix_id": "5", + "icon": "icon/relic/311_0.png" + }, + "63116": { + "id": "63116", + "set_id": "311", + "name": "Glamoth's Silent Tombstone", + "rarity": 5, + "type": "OBJECT", + "max_level": 15, + "main_affix_id": "56", + "sub_affix_id": "5", + "icon": "icon/relic/311_1.png" + }, + "63125": { + "id": "63125", + "set_id": "312", + "name": "Penacony's Grand Hotel", + "rarity": 5, + "type": "NECK", + "max_level": 15, + "main_affix_id": "55", + "sub_affix_id": "5", + "icon": "icon/relic/312_0.png" + }, + "63126": { + "id": "63126", + "set_id": "312", + "name": "Penacony's Dream-Seeking Tracks", + "rarity": 5, + "type": "OBJECT", + "max_level": 15, + "main_affix_id": "56", + "sub_affix_id": "5", + "icon": "icon/relic/312_1.png" + } +} \ No newline at end of file diff --git a/src/lib/python/constants.py b/src/lib/python/constants.py new file mode 100644 index 0000000..2612016 --- /dev/null +++ b/src/lib/python/constants.py @@ -0,0 +1,50 @@ +TESSERACT_ARTICATS = ( + "*", + ">", + "�", + "-", + "_", + "»", + "«", + "’", + "'", + "<", + "‘", + "|", + "~", + "/", + "“", + ":", + "!", + "@", + "#", + "$", + "&", + "—", + "=", + "™", + ";", + ",", + '"', + "\u00a9", + "©", + "\u00b0", + "°", +) + +ITEMS_ARTIFACTS = TESSERACT_ARTICATS + (".", "+", "%") + + +HSR_STATS = ( + "hp", + "atk", + "def", + "effect hit rate", + "outgoing healing boost", + "crit", + "spd", + "dmg boost", + "break effect", + "effect res", + "energy regeneration", +) diff --git a/src/lib/python/grt/name_conversion.py b/src/lib/python/grt/name_conversion.py index f12772f..e8dcb4a 100644 --- a/src/lib/python/grt/name_conversion.py +++ b/src/lib/python/grt/name_conversion.py @@ -1,8 +1,8 @@ def star_rail_item_name(item): item_name = item.lower() - modified_text = " ".join( - item.split() - ).lower() # Replace multiple spaces with a single space + + # Replace multiple spaces with a single space + modified_text = " ".join(item.split()).lower() if "dade" in item_name: return "Jade Abacus Unit" diff --git a/src/lib/python/scorer/star_rail/image.py b/src/lib/python/scorer/star_rail/image.py new file mode 100644 index 0000000..c1bec3e --- /dev/null +++ b/src/lib/python/scorer/star_rail/image.py @@ -0,0 +1,50 @@ +from grt.image import SCREEN_SIZE, Image + + +class StarRailRelicImage(Image): + def __init__(self) -> None: + super().__init__( + SCREEN_SIZE[1] - 400, + SCREEN_SIZE[0] / 8, + SCREEN_SIZE[0] / 2 + 650, + SCREEN_SIZE[0] / 3 - 150, + ) + + def __call__(self): + return self.normal(super().__call__()) + + +class StarRailRelicStatsImage(Image): + def __init__(self) -> None: + super().__init__( + SCREEN_SIZE[0] - 580, + int(SCREEN_SIZE[1] / 7) - 5, + SCREEN_SIZE[0] - 50, + SCREEN_SIZE[1] / 2 + 40, + ) + + def __call__(self): + return self.grayscale(super().__call__()) + + +# class StarRailRelicStatsImage(Image): +# def __init__(self) -> None: +# super().__init__( +# SCREEN_SIZE[0] - 580, +# SCREEN_SIZE[1] / 2 - 400, +# SCREEN_SIZE[0] - 50, +# SCREEN_SIZE[1] / 2 - 100, +# ) + +# def __call__(self): +# return self.grayscale(super().__call__()) + + +# class StarRailRelicStatsImage(Image): +# def __init__(self) -> None: +# super().__init__( +# SCREEN_SIZE[0] - 580, 200, SCREEN_SIZE[0] - 50, SCREEN_SIZE[1] / 2 + 40 +# ) + +# def __call__(self): +# return self.grayscale(super().__call__()) diff --git a/src/lib/python/scorer/star_rail/utils.py b/src/lib/python/scorer/star_rail/utils.py new file mode 100644 index 0000000..308d5d3 --- /dev/null +++ b/src/lib/python/scorer/star_rail/utils.py @@ -0,0 +1,45 @@ +import re + + +def extract_type_lvl(input_text): + items = input_text.split("+") + + if len(items) == 2: + _type, lvl = items + return _type, lvl + + items = input_text.split(" ") + _type, lvl = items[0], items[-1] + + return _type, lvl + + +def fix_line(input_text): + # Replace multiple spaces with a single space + modified_text = " ".join(input_text.split()).replace("+", "") + + if "quantum.dmg" in modified_text: + modified_text = modified_text.replace("quantum.dmg", "quantum dmg") + + if "critrate" in modified_text: + modified_text = modified_text.replace("critrate", "crit rate") + + if "critdmg" in modified_text: + modified_text = modified_text.replace("critdmg", "crit dmg") + + if "effectres" in modified_text: + modified_text = modified_text.replace("effectres", "effect res") + + return modified_text + + +def find_stat(input_text): + search = re.search( + r"(\b(?:hp|atk|def|efect hit rate|outgoing healing boost|crit rate|crit dmg|spd|physical dmg boost|fire dmg boost|ice dmg boost|wind dmg boost|lightning dmg boost|quantum dmg boost|imaginary dmg boost|break effect|effect hit rate|energy regeneration rate|effect res)\b)\s*(?:(?:[.\s*])|(?:\s*[A-Z]|[a-z]))*(\d+(?:\.\d+?%)|(?:\d+%)|(?:\d+))", + input_text, + ) + + if search is None: + return None, None + + return search.groups() diff --git a/src/lib/python/scripts/base.py b/src/lib/python/scripts/base.py new file mode 100644 index 0000000..570534b --- /dev/null +++ b/src/lib/python/scripts/base.py @@ -0,0 +1,6 @@ +class Relic: + def __init__(self, name, main_stat, substats, level): + self.name = name + self.main_stat = main_stat + self.substats = substats + self.level = level diff --git a/src/lib/python/scripts/hsr_relic_categories.txt b/src/lib/python/scripts/hsr_relic_categories.txt new file mode 100644 index 0000000..c9f1030 --- /dev/null +++ b/src/lib/python/scripts/hsr_relic_categories.txt @@ -0,0 +1,6 @@ +Head +Body +Hands +Feet +Planar Sphere +Link Rope \ No newline at end of file diff --git a/src/lib/python/scripts/hsr_stats.txt b/src/lib/python/scripts/hsr_stats.txt new file mode 100644 index 0000000..d9f77ab --- /dev/null +++ b/src/lib/python/scripts/hsr_stats.txt @@ -0,0 +1,16 @@ +HP +ATK +Effect Hit Rate +Outgoing Healing Boost +CRIT Rate +CRIT DMG +SPD +Physical DMG Boost +Fire DMG Boost +Ice DMG Boost +Wind DMG Boost +Lightning DMG Boost +Quantum DMG Boost +Imaginary DMG Boost +Break Effect +Energy Regeneration Rate diff --git a/src/lib/python/scripts/img/head aga 5.png b/src/lib/python/scripts/img/head aga 5.png new file mode 100644 index 0000000..21d8b4d Binary files /dev/null and b/src/lib/python/scripts/img/head aga 5.png differ diff --git a/src/lib/python/scripts/star_rail_items.py b/src/lib/python/scripts/star_rail_items.py index 0f8edb3..338f461 100644 --- a/src/lib/python/scripts/star_rail_items.py +++ b/src/lib/python/scripts/star_rail_items.py @@ -10,44 +10,18 @@ parent_dir = os.path.abspath(os.path.join(os.path.dirname(__file__), os.pardir)) sys.path.append(parent_dir) +from utils import cleanup, send_to_electron, get_tesseract_path +from constants import ITEMS_ARTIFACTS + from grt.image import StarRailRewardsTextImage, StarRailItemsImage from grt.name_conversion import star_rail_item_name -from utils import cleanup, send_to_electron, get_tesseract_path -def format_text(text): +def extract_data(text): # Initialize an empty dictionary result_dict = {} - artifacts = ( - "*", - ">", - "�", - "-", - "_", - "»", - "«", - "’", - "'", - "<", - "‘", - "|", - "~", - "/", - "“", - ":", - "!", - "@", - "#", - "$", - "%", - "&", - "—", - "=", - "+", - ".", - ) - - for find in artifacts: + + for find in ITEMS_ARTIFACTS: text = text.replace(find, "") # Split the text into sections by "wards" @@ -88,7 +62,7 @@ def grab_items(): time.sleep(1) img = StarRailItemsImage()() items = pytesseract.image_to_string(img, config="--oem 3") - send_to_electron(json.dumps(format_text(items))) + send_to_electron(json.dumps(extract_data(items))) if cv2.waitKey(25) & 0xFF == ord("q"): cv2.destroyAllWindows() diff --git a/src/lib/python/scripts/star_rail_relic_scorer.py b/src/lib/python/scripts/star_rail_relic_scorer.py new file mode 100644 index 0000000..cdbeedc --- /dev/null +++ b/src/lib/python/scripts/star_rail_relic_scorer.py @@ -0,0 +1,114 @@ +import cv2 + +import pytesseract +import sys +import os +import re +import json +import time + +parent_dir = os.path.abspath(os.path.join(os.path.dirname(__file__), os.pardir)) +sys.path.append(parent_dir) + +from utils import get_tesseract_path +from constants import TESSERACT_ARTICATS, HSR_STATS + +from scorer.star_rail.image import StarRailRelicImage, StarRailRelicStatsImage, Image +from scorer.star_rail.utils import fix_line, find_stat, extract_type_lvl + + +def read_screen(): + while True: + screen = StarRailRelicStatsImage()() + data = pytesseract.image_to_string( + screen, config="--user-words hsr_stats.txt,hsr_relic_categories.txt" + ) + cv2.imshow("relic", screen) + + try: + data = extract_data(data) + + if data.get("main_stat"): + cv2.imwrite(f"./img/{data.get('type')}.png", screen) + + except Exception as e: + continue + + raise e + + if cv2.waitKey(25) & 0xFF == ord("q"): + cv2.destroyAllWindows() + break + + time.sleep(1) + + +def extract_data(text): + result_dict = {"sub_stats": []} + + for find in TESSERACT_ARTICATS: + text = text.replace(find, "") + + lines = re.split("\n", text.strip()) + lines = [line for line in lines if line.strip()] + + for index, line in enumerate(lines): + line = line.lower() + + if any( + keyword in line + for keyword in ("sphere", "rope", "head", "body", "feet", "hands") + ): + _type, lvl = extract_type_lvl(line) + result_dict["type"] = _type.strip() + result_dict["level"] = int(lvl) + else: + line = fix_line(line) + + if any(keyword in line for keyword in HSR_STATS) and index != 0: + stat, value = find_stat(line) + + if stat is None or value is None: + continue + + if index == 2: + result_dict["main_stat"] = {stat: value} + else: + result_dict["sub_stats"].append((stat, value)) + + if "set" in line: + result_dict["set_name"] = lines[index + 1] + + print(json.dumps(lines, indent=2), len(lines)) + print(json.dumps(result_dict, indent=2), len(lines)) + return result_dict + + +def read_img(): + img = cv2.imread("./img/head aga 5.png") + # img = Image.grayscale(img) + + data = pytesseract.image_to_string(img) + # thresh = cv2.adaptiveThreshold( + # cv2.cvtColor(img, cv2.COLOR_BGR2GRAY), + # 255, + # cv2.ADAPTIVE_THRESH_MEAN_C, + # cv2.THRESH_BINARY, + # 5, + # 5, + # ) + cv2.imshow("img", img) + + data = extract_data(data) + + if cv2.waitKey(0) & 0xFF == ord("q"): + cv2.destroyAllWindows() + + # # Destroying present windows on screen + # cv2.destroyAllWindows() + + +if __name__ == "__main__": + tesseract_path = get_tesseract_path() + pytesseract.pytesseract.tesseract_cmd = tesseract_path + read_img()