diff --git a/GenshinUID/genshinuid_compute/__init__.py b/GenshinUID/genshinuid_compute/__init__.py new file mode 100644 index 00000000..ba54f0df --- /dev/null +++ b/GenshinUID/genshinuid_compute/__init__.py @@ -0,0 +1,19 @@ +from gsuid_core.sv import SV +from gsuid_core.bot import Bot +from gsuid_core.models import Event +from gsuid_core.utils.error_reply import UID_HINT + +from ..utils.convert import get_uid +from .get_my_pack import draw_my_pack + +sv_pack = SV('查询背包') + + +@sv_pack.on_command(('我的背包')) +async def my_bag(bot: Bot, ev: Event): + uid, user_id = await get_uid(bot, ev, True) + if not uid: + return await bot.send(UID_HINT) + + im = await draw_my_pack(uid, ev) + await bot.send(im) diff --git a/GenshinUID/genshinuid_compute/aa.json b/GenshinUID/genshinuid_compute/aa.json new file mode 100644 index 00000000..96e43976 --- /dev/null +++ b/GenshinUID/genshinuid_compute/aa.json @@ -0,0 +1,4922 @@ +[ + { + "avatar_id": 10000002, + "avatar_level_current": 1, + "avatar_level_target": 90, + "element_attr_id": 7, + "level": 5, + "name": "神里绫华", + "skill_list": [ + { + "id": "232", + "group_id": "232", + "name": "神里流·冰华", + "max_level": 10, + "levelRange": [ + 1, + 10 + ], + "level_current": 1, + "level_target": 10 + }, + { + "id": "239", + "group_id": "239", + "name": "神里流·霜灭", + "max_level": 10, + "levelRange": [ + 1, + 10 + ], + "level_current": 1, + "level_target": 10 + }, + { + "id": "231", + "group_id": "231", + "name": "普通攻击·神里流·倾", + "max_level": 10, + "levelRange": [ + 1, + 10 + ], + "level_current": 1, + "level_target": 10 + } + ], + "weapon": { + "id": 11515, + "name": "赦罪", + "weapon_cat_id": 1, + "weapon_level": 5, + "max_level": 90, + "is_recommend": false, + "levelRange": [ + 1, + 90 + ], + "level_current": 1, + "level_target": 90 + } + }, + { + "avatar_id": 10000003, + "avatar_level_current": 1, + "avatar_level_target": 90, + "element_attr_id": 2, + "level": 5, + "name": "琴", + "skill_list": [ + { + "id": "331", + "group_id": "331", + "name": "普通攻击·西风剑术", + "max_level": 10, + "levelRange": [ + 1, + 10 + ], + "level_current": 1, + "level_target": 10 + }, + { + "id": "332", + "group_id": "332", + "name": "风压剑", + "max_level": 10, + "levelRange": [ + 1, + 10 + ], + "level_current": 1, + "level_target": 10 + }, + { + "id": "339", + "group_id": "339", + "name": "蒲公英之风", + "max_level": 10, + "levelRange": [ + 1, + 10 + ], + "level_current": 1, + "level_target": 10 + } + ], + "weapon": { + "id": 11514, + "name": "有乐御簾切", + "weapon_cat_id": 1, + "weapon_level": 5, + "max_level": 90, + "is_recommend": false, + "levelRange": [ + 1, + 90 + ], + "level_current": 1, + "level_target": 90 + } + }, + { + "avatar_id": 10000006, + "avatar_level_current": 1, + "avatar_level_target": 90, + "element_attr_id": 5, + "level": 5, + "name": "丽莎", + "skill_list": [ + { + "id": "431", + "group_id": "431", + "name": "普通攻击·指尖雷暴", + "max_level": 10, + "levelRange": [ + 1, + 10 + ], + "level_current": 1, + "level_target": 10 + }, + { + "id": "432", + "group_id": "432", + "name": "苍雷", + "max_level": 10, + "levelRange": [ + 1, + 10 + ], + "level_current": 1, + "level_target": 10 + }, + { + "id": "439", + "group_id": "439", + "name": "蔷薇的雷光", + "max_level": 10, + "levelRange": [ + 1, + 10 + ], + "level_current": 1, + "level_target": 10 + } + ], + "weapon": { + "id": 14515, + "name": "鹤鸣余音", + "weapon_cat_id": 1, + "weapon_level": 5, + "max_level": 90, + "is_recommend": false, + "levelRange": [ + 1, + 90 + ], + "level_current": 1, + "level_target": 90 + } + }, + { + "avatar_id": 10000014, + "avatar_level_current": 1, + "avatar_level_target": 90, + "element_attr_id": 6, + "level": 5, + "name": "芭芭拉", + "skill_list": [ + { + "id": "1431", + "group_id": "1431", + "name": "普通攻击·水之浅唱", + "max_level": 10, + "levelRange": [ + 1, + 10 + ], + "level_current": 1, + "level_target": 10 + }, + { + "id": "1432", + "group_id": "1432", + "name": "演唱,开始♪", + "max_level": 10, + "levelRange": [ + 1, + 10 + ], + "level_current": 1, + "level_target": 10 + }, + { + "id": "1439", + "group_id": "1439", + "name": "闪耀奇迹♪", + "max_level": 10, + "levelRange": [ + 1, + 10 + ], + "level_current": 1, + "level_target": 10 + } + ], + "weapon": { + "id": 14514, + "name": "万世流涌大典", + "weapon_cat_id": 1, + "weapon_level": 5, + "max_level": 90, + "is_recommend": false, + "levelRange": [ + 1, + 90 + ], + "level_current": 1, + "level_target": 90 + } + }, + { + "avatar_id": 10000015, + "avatar_level_current": 1, + "avatar_level_target": 90, + "element_attr_id": 7, + "level": 5, + "name": "凯亚", + "skill_list": [ + { + "id": "1531", + "group_id": "1531", + "name": "普通攻击·仪典剑术", + "max_level": 10, + "levelRange": [ + 1, + 10 + ], + "level_current": 1, + "level_target": 10 + }, + { + "id": "1532", + "group_id": "1532", + "name": "霜袭", + "max_level": 10, + "levelRange": [ + 1, + 10 + ], + "level_current": 1, + "level_target": 10 + }, + { + "id": "1539", + "group_id": "1539", + "name": "凛冽轮舞", + "max_level": 10, + "levelRange": [ + 1, + 10 + ], + "level_current": 1, + "level_target": 10 + } + ], + "weapon": { + "id": 11511, + "name": "圣显之钥", + "weapon_cat_id": 1, + "weapon_level": 5, + "max_level": 90, + "is_recommend": false, + "levelRange": [ + 1, + 90 + ], + "level_current": 1, + "level_target": 90 + } + }, + { + "avatar_id": 10000016, + "avatar_level_current": 1, + "avatar_level_target": 90, + "element_attr_id": 1, + "level": 5, + "name": "迪卢克", + "skill_list": [ + { + "id": "1631", + "group_id": "1631", + "name": "普通攻击·淬炼之剑", + "max_level": 10, + "levelRange": [ + 1, + 10 + ], + "level_current": 1, + "level_target": 10 + }, + { + "id": "1632", + "group_id": "1632", + "name": "逆焰之刃", + "max_level": 10, + "levelRange": [ + 1, + 10 + ], + "level_current": 1, + "level_target": 10 + }, + { + "id": "1639", + "group_id": "1639", + "name": "黎明", + "max_level": 10, + "levelRange": [ + 1, + 10 + ], + "level_current": 1, + "level_target": 10 + } + ], + "weapon": { + "id": 12512, + "name": "裁断", + "weapon_cat_id": 1, + "weapon_level": 5, + "max_level": 90, + "is_recommend": false, + "levelRange": [ + 1, + 90 + ], + "level_current": 1, + "level_target": 90 + } + }, + { + "avatar_id": 10000020, + "avatar_level_current": 1, + "avatar_level_target": 90, + "element_attr_id": 5, + "level": 5, + "name": "雷泽", + "skill_list": [ + { + "id": "2031", + "group_id": "2031", + "name": "普通攻击·钢脊", + "max_level": 10, + "levelRange": [ + 1, + 10 + ], + "level_current": 1, + "level_target": 10 + }, + { + "id": "2032", + "group_id": "2032", + "name": "利爪与苍雷", + "max_level": 10, + "levelRange": [ + 1, + 10 + ], + "level_current": 1, + "level_target": 10 + }, + { + "id": "2039", + "group_id": "2039", + "name": "雷牙", + "max_level": 10, + "levelRange": [ + 1, + 10 + ], + "level_current": 1, + "level_target": 10 + } + ], + "weapon": { + "id": 12511, + "name": "苇海信标", + "weapon_cat_id": 1, + "weapon_level": 5, + "max_level": 90, + "is_recommend": false, + "levelRange": [ + 1, + 90 + ], + "level_current": 1, + "level_target": 90 + } + }, + { + "avatar_id": 10000021, + "avatar_level_current": 1, + "avatar_level_target": 90, + "element_attr_id": 1, + "level": 5, + "name": "安柏", + "skill_list": [ + { + "id": "2139", + "group_id": "2139", + "name": "箭雨", + "max_level": 10, + "levelRange": [ + 1, + 10 + ], + "level_current": 1, + "level_target": 10 + }, + { + "id": "2132", + "group_id": "2132", + "name": "爆弹玩偶", + "max_level": 10, + "levelRange": [ + 1, + 10 + ], + "level_current": 1, + "level_target": 10 + }, + { + "id": "2131", + "group_id": "2131", + "name": "普通攻击·神射手", + "max_level": 10, + "levelRange": [ + 1, + 10 + ], + "level_current": 1, + "level_target": 10 + } + ], + "weapon": { + "id": 15512, + "name": "最初的大魔术", + "weapon_cat_id": 1, + "weapon_level": 5, + "max_level": 90, + "is_recommend": false, + "levelRange": [ + 1, + 90 + ], + "level_current": 1, + "level_target": 90 + } + }, + { + "avatar_id": 10000022, + "avatar_level_current": 1, + "avatar_level_target": 90, + "element_attr_id": 2, + "level": 5, + "name": "温迪", + "skill_list": [ + { + "id": "2231", + "group_id": "2231", + "name": "普通攻击·神代射术", + "max_level": 10, + "levelRange": [ + 1, + 10 + ], + "level_current": 1, + "level_target": 10 + }, + { + "id": "2232", + "group_id": "2232", + "name": "高天之歌", + "max_level": 10, + "levelRange": [ + 1, + 10 + ], + "level_current": 1, + "level_target": 10 + }, + { + "id": "2239", + "group_id": "2239", + "name": "风神之诗", + "max_level": 10, + "levelRange": [ + 1, + 10 + ], + "level_current": 1, + "level_target": 10 + } + ], + "weapon": { + "id": 15511, + "name": "猎人之径", + "weapon_cat_id": 1, + "weapon_level": 5, + "max_level": 90, + "is_recommend": false, + "levelRange": [ + 1, + 90 + ], + "level_current": 1, + "level_target": 90 + } + }, + { + "avatar_id": 10000023, + "avatar_level_current": 1, + "avatar_level_target": 90, + "element_attr_id": 1, + "level": 5, + "name": "香菱", + "skill_list": [ + { + "id": "2331", + "group_id": "2331", + "name": "普通攻击·白案功夫", + "max_level": 10, + "levelRange": [ + 1, + 10 + ], + "level_current": 1, + "level_target": 10 + }, + { + "id": "2332", + "group_id": "2332", + "name": "锅巴出击", + "max_level": 10, + "levelRange": [ + 1, + 10 + ], + "level_current": 1, + "level_target": 10 + }, + { + "id": "2339", + "group_id": "2339", + "name": "旋火轮", + "max_level": 10, + "levelRange": [ + 1, + 10 + ], + "level_current": 1, + "level_target": 10 + } + ], + "weapon": { + "id": 13512, + "name": "赤月之形", + "weapon_cat_id": 1, + "weapon_level": 5, + "max_level": 90, + "is_recommend": false, + "levelRange": [ + 1, + 90 + ], + "level_current": 1, + "level_target": 90 + } + }, + { + "avatar_id": 10000024, + "avatar_level_current": 1, + "avatar_level_target": 90, + "element_attr_id": 5, + "level": 5, + "name": "北斗", + "skill_list": [ + { + "id": "2431", + "group_id": "2431", + "name": "普通攻击·征涛", + "max_level": 10, + "levelRange": [ + 1, + 10 + ], + "level_current": 1, + "level_target": 10 + }, + { + "id": "2432", + "group_id": "2432", + "name": "捉浪", + "max_level": 10, + "levelRange": [ + 1, + 10 + ], + "level_current": 1, + "level_target": 10 + }, + { + "id": "2439", + "group_id": "2439", + "name": "斫雷", + "max_level": 10, + "levelRange": [ + 1, + 10 + ], + "level_current": 1, + "level_target": 10 + } + ], + "weapon": { + "id": 12510, + "name": "赤角石溃杵", + "weapon_cat_id": 1, + "weapon_level": 5, + "max_level": 90, + "is_recommend": false, + "levelRange": [ + 1, + 90 + ], + "level_current": 1, + "level_target": 90 + } + }, + { + "avatar_id": 10000025, + "avatar_level_current": 1, + "avatar_level_target": 90, + "element_attr_id": 6, + "level": 5, + "name": "行秋", + "skill_list": [ + { + "id": "2531", + "group_id": "2531", + "name": "普通攻击·古华剑法", + "max_level": 10, + "levelRange": [ + 1, + 10 + ], + "level_current": 1, + "level_target": 10 + }, + { + "id": "2532", + "group_id": "2532", + "name": "古华剑·画雨笼山", + "max_level": 10, + "levelRange": [ + 1, + 10 + ], + "level_current": 1, + "level_target": 10 + }, + { + "id": "2539", + "group_id": "2539", + "name": "古华剑·裁雨留虹", + "max_level": 10, + "levelRange": [ + 1, + 10 + ], + "level_current": 1, + "level_target": 10 + } + ], + "weapon": { + "id": 11510, + "name": "波乱月白经津", + "weapon_cat_id": 1, + "weapon_level": 5, + "max_level": 90, + "is_recommend": false, + "levelRange": [ + 1, + 90 + ], + "level_current": 1, + "level_target": 90 + } + }, + { + "avatar_id": 10000026, + "avatar_level_current": 1, + "avatar_level_target": 90, + "element_attr_id": 2, + "level": 5, + "name": "魈", + "skill_list": [ + { + "id": "2631", + "group_id": "2631", + "name": "普通攻击·卷积微尘", + "max_level": 10, + "levelRange": [ + 1, + 10 + ], + "level_current": 1, + "level_target": 10 + }, + { + "id": "2632", + "group_id": "2632", + "name": "风轮两立", + "max_level": 10, + "levelRange": [ + 1, + 10 + ], + "level_current": 1, + "level_target": 10 + }, + { + "id": "2639", + "group_id": "2639", + "name": "靖妖傩舞", + "max_level": 10, + "levelRange": [ + 1, + 10 + ], + "level_current": 1, + "level_target": 10 + } + ], + "weapon": { + "id": 13511, + "name": "赤沙之杖", + "weapon_cat_id": 1, + "weapon_level": 5, + "max_level": 90, + "is_recommend": false, + "levelRange": [ + 1, + 90 + ], + "level_current": 1, + "level_target": 90 + } + }, + { + "avatar_id": 10000027, + "avatar_level_current": 1, + "avatar_level_target": 90, + "element_attr_id": 3, + "level": 5, + "name": "凝光", + "skill_list": [ + { + "id": "2731", + "group_id": "2731", + "name": "普通攻击·千金掷", + "max_level": 10, + "levelRange": [ + 1, + 10 + ], + "level_current": 1, + "level_target": 10 + }, + { + "id": "2732", + "group_id": "2732", + "name": "璇玑屏", + "max_level": 10, + "levelRange": [ + 1, + 10 + ], + "level_current": 1, + "level_target": 10 + }, + { + "id": "2739", + "group_id": "2739", + "name": "天权崩玉", + "max_level": 10, + "levelRange": [ + 1, + 10 + ], + "level_current": 1, + "level_target": 10 + } + ], + "weapon": { + "id": 14513, + "name": "金流监督", + "weapon_cat_id": 1, + "weapon_level": 5, + "max_level": 90, + "is_recommend": false, + "levelRange": [ + 1, + 90 + ], + "level_current": 1, + "level_target": 90 + } + }, + { + "avatar_id": 10000029, + "avatar_level_current": 1, + "avatar_level_target": 90, + "element_attr_id": 1, + "level": 5, + "name": "可莉", + "skill_list": [ + { + "id": "2931", + "group_id": "2931", + "name": "普通攻击·砰砰", + "max_level": 10, + "levelRange": [ + 1, + 10 + ], + "level_current": 1, + "level_target": 10 + }, + { + "id": "2932", + "group_id": "2932", + "name": "蹦蹦炸弹", + "max_level": 10, + "levelRange": [ + 1, + 10 + ], + "level_current": 1, + "level_target": 10 + }, + { + "id": "2939", + "group_id": "2939", + "name": "轰轰火花", + "max_level": 10, + "levelRange": [ + 1, + 10 + ], + "level_current": 1, + "level_target": 10 + } + ], + "weapon": { + "id": 14512, + "name": "图莱杜拉的回忆", + "weapon_cat_id": 1, + "weapon_level": 5, + "max_level": 90, + "is_recommend": false, + "levelRange": [ + 1, + 90 + ], + "level_current": 1, + "level_target": 90 + } + }, + { + "avatar_id": 10000030, + "avatar_level_current": 1, + "avatar_level_target": 90, + "element_attr_id": 3, + "level": 5, + "name": "钟离", + "skill_list": [ + { + "id": "3031", + "group_id": "3031", + "name": "普通攻击·岩雨", + "max_level": 10, + "levelRange": [ + 1, + 10 + ], + "level_current": 1, + "level_target": 10 + }, + { + "id": "3032", + "group_id": "3032", + "name": "地心", + "max_level": 10, + "levelRange": [ + 1, + 10 + ], + "level_current": 1, + "level_target": 10 + }, + { + "id": "3039", + "group_id": "3039", + "name": "天星", + "max_level": 10, + "levelRange": [ + 1, + 10 + ], + "level_current": 1, + "level_target": 10 + } + ], + "weapon": { + "id": 13509, + "name": "薙草之稻光", + "weapon_cat_id": 1, + "weapon_level": 5, + "max_level": 90, + "is_recommend": false, + "levelRange": [ + 1, + 90 + ], + "level_current": 1, + "level_target": 90 + } + }, + { + "avatar_id": 10000031, + "avatar_level_current": 1, + "avatar_level_target": 90, + "element_attr_id": 5, + "level": 5, + "name": "菲谢尔", + "skill_list": [ + { + "id": "3131", + "group_id": "3131", + "name": "普通攻击·罪灭之矢", + "max_level": 10, + "levelRange": [ + 1, + 10 + ], + "level_current": 1, + "level_target": 10 + }, + { + "id": "3132", + "group_id": "3132", + "name": "夜巡影翼", + "max_level": 10, + "levelRange": [ + 1, + 10 + ], + "level_current": 1, + "level_target": 10 + }, + { + "id": "3139", + "group_id": "3139", + "name": "至夜幻现", + "max_level": 10, + "levelRange": [ + 1, + 10 + ], + "level_current": 1, + "level_target": 10 + } + ], + "weapon": { + "id": 15509, + "name": "飞雷之弦振", + "weapon_cat_id": 1, + "weapon_level": 5, + "max_level": 90, + "is_recommend": false, + "levelRange": [ + 1, + 90 + ], + "level_current": 1, + "level_target": 90 + } + }, + { + "avatar_id": 10000032, + "avatar_level_current": 1, + "avatar_level_target": 90, + "element_attr_id": 1, + "level": 5, + "name": "班尼特", + "skill_list": [ + { + "id": "3231", + "group_id": "3231", + "name": "普通攻击·好运剑", + "max_level": 10, + "levelRange": [ + 1, + 10 + ], + "level_current": 1, + "level_target": 10 + }, + { + "id": "3232", + "group_id": "3232", + "name": "热情过载", + "max_level": 10, + "levelRange": [ + 1, + 10 + ], + "level_current": 1, + "level_target": 10 + }, + { + "id": "3239", + "group_id": "3239", + "name": "美妙旅程", + "max_level": 10, + "levelRange": [ + 1, + 10 + ], + "level_current": 1, + "level_target": 10 + } + ], + "weapon": { + "id": 11509, + "name": "雾切之回光", + "weapon_cat_id": 1, + "weapon_level": 5, + "max_level": 90, + "is_recommend": false, + "levelRange": [ + 1, + 90 + ], + "level_current": 1, + "level_target": 90 + } + }, + { + "avatar_id": 10000033, + "avatar_level_current": 1, + "avatar_level_target": 90, + "element_attr_id": 6, + "level": 5, + "name": "达达利亚", + "skill_list": [ + { + "id": "3331", + "group_id": "3331", + "name": "普通攻击·断雨", + "max_level": 10, + "levelRange": [ + 1, + 10 + ], + "level_current": 1, + "level_target": 10 + }, + { + "id": "3332", + "group_id": "3332", + "name": "魔王武装·狂澜", + "max_level": 10, + "levelRange": [ + 1, + 10 + ], + "level_current": 1, + "level_target": 10 + }, + { + "id": "3339", + "group_id": "3339", + "name": "极恶技·尽灭闪", + "max_level": 10, + "levelRange": [ + 1, + 10 + ], + "level_current": 1, + "level_target": 10 + } + ], + "weapon": { + "id": 15508, + "name": "若水", + "weapon_cat_id": 1, + "weapon_level": 5, + "max_level": 90, + "is_recommend": false, + "levelRange": [ + 1, + 90 + ], + "level_current": 1, + "level_target": 90 + } + }, + { + "avatar_id": 10000034, + "avatar_level_current": 1, + "avatar_level_target": 90, + "element_attr_id": 3, + "level": 5, + "name": "诺艾尔", + "skill_list": [ + { + "id": "3431", + "group_id": "3431", + "name": "普通攻击·西风剑术·女仆", + "max_level": 10, + "levelRange": [ + 1, + 10 + ], + "level_current": 1, + "level_target": 10 + }, + { + "id": "3432", + "group_id": "3432", + "name": "护心铠", + "max_level": 10, + "levelRange": [ + 1, + 10 + ], + "level_current": 1, + "level_target": 10 + }, + { + "id": "3439", + "group_id": "3439", + "name": "大扫除", + "max_level": 10, + "levelRange": [ + 1, + 10 + ], + "level_current": 1, + "level_target": 10 + } + ], + "weapon": { + "id": 12504, + "name": "无工之剑", + "weapon_cat_id": 1, + "weapon_level": 5, + "max_level": 90, + "is_recommend": false, + "levelRange": [ + 1, + 90 + ], + "level_current": 1, + "level_target": 90 + } + }, + { + "avatar_id": 10000035, + "avatar_level_current": 1, + "avatar_level_target": 90, + "element_attr_id": 7, + "level": 5, + "name": "七七", + "skill_list": [ + { + "id": "3531", + "group_id": "3531", + "name": "普通攻击·云来古剑法", + "max_level": 10, + "levelRange": [ + 1, + 10 + ], + "level_current": 1, + "level_target": 10 + }, + { + "id": "3532", + "group_id": "3532", + "name": "仙法·寒病鬼差", + "max_level": 10, + "levelRange": [ + 1, + 10 + ], + "level_current": 1, + "level_target": 10 + }, + { + "id": "3539", + "group_id": "3539", + "name": "仙法·救苦度厄", + "max_level": 10, + "levelRange": [ + 1, + 10 + ], + "level_current": 1, + "level_target": 10 + } + ], + "weapon": { + "id": 11505, + "name": "磐岩结绿", + "weapon_cat_id": 1, + "weapon_level": 5, + "max_level": 90, + "is_recommend": false, + "levelRange": [ + 1, + 90 + ], + "level_current": 1, + "level_target": 90 + } + }, + { + "avatar_id": 10000036, + "avatar_level_current": 1, + "avatar_level_target": 90, + "element_attr_id": 7, + "level": 5, + "name": "重云", + "skill_list": [ + { + "id": "3631", + "group_id": "3631", + "name": "普通攻击·灭邪四式", + "max_level": 10, + "levelRange": [ + 1, + 10 + ], + "level_current": 1, + "level_target": 10 + }, + { + "id": "3632", + "group_id": "3632", + "name": "灵刃·重华叠霜", + "max_level": 10, + "levelRange": [ + 1, + 10 + ], + "level_current": 1, + "level_target": 10 + }, + { + "id": "3639", + "group_id": "3639", + "name": "灵刃·云开星落", + "max_level": 10, + "levelRange": [ + 1, + 10 + ], + "level_current": 1, + "level_target": 10 + } + ], + "weapon": { + "id": 12503, + "name": "松籁响起之时", + "weapon_cat_id": 1, + "weapon_level": 5, + "max_level": 90, + "is_recommend": false, + "levelRange": [ + 1, + 90 + ], + "level_current": 1, + "level_target": 90 + } + }, + { + "avatar_id": 10000037, + "avatar_level_current": 1, + "avatar_level_target": 90, + "element_attr_id": 7, + "level": 5, + "name": "甘雨", + "skill_list": [ + { + "id": "3731", + "group_id": "3731", + "name": "普通攻击·流天射术", + "max_level": 10, + "levelRange": [ + 1, + 10 + ], + "level_current": 1, + "level_target": 10 + }, + { + "id": "3732", + "group_id": "3732", + "name": "山泽麟迹", + "max_level": 10, + "levelRange": [ + 1, + 10 + ], + "level_current": 1, + "level_target": 10 + }, + { + "id": "3739", + "group_id": "3739", + "name": "降众天华", + "max_level": 10, + "levelRange": [ + 1, + 10 + ], + "level_current": 1, + "level_target": 10 + } + ], + "weapon": { + "id": 15507, + "name": "冬极白星", + "weapon_cat_id": 1, + "weapon_level": 5, + "max_level": 90, + "is_recommend": false, + "levelRange": [ + 1, + 90 + ], + "level_current": 1, + "level_target": 90 + } + }, + { + "avatar_id": 10000038, + "avatar_level_current": 1, + "avatar_level_target": 90, + "element_attr_id": 3, + "level": 5, + "name": "阿贝多", + "skill_list": [ + { + "id": "3831", + "group_id": "3831", + "name": "普通攻击·西风剑术·白", + "max_level": 10, + "levelRange": [ + 1, + 10 + ], + "level_current": 1, + "level_target": 10 + }, + { + "id": "3832", + "group_id": "3832", + "name": "创生法·拟造阳华", + "max_level": 10, + "levelRange": [ + 1, + 10 + ], + "level_current": 1, + "level_target": 10 + }, + { + "id": "3839", + "group_id": "3839", + "name": "诞生式·大地之潮", + "max_level": 10, + "levelRange": [ + 1, + 10 + ], + "level_current": 1, + "level_target": 10 + } + ], + "weapon": { + "id": 11504, + "name": "斫峰之刃", + "weapon_cat_id": 1, + "weapon_level": 5, + "max_level": 90, + "is_recommend": false, + "levelRange": [ + 1, + 90 + ], + "level_current": 1, + "level_target": 90 + } + }, + { + "avatar_id": 10000039, + "avatar_level_current": 1, + "avatar_level_target": 90, + "element_attr_id": 7, + "level": 5, + "name": "迪奥娜", + "skill_list": [ + { + "id": "3931", + "group_id": "3931", + "name": "普通攻击·猎人射术", + "max_level": 10, + "levelRange": [ + 1, + 10 + ], + "level_current": 1, + "level_target": 10 + }, + { + "id": "3932", + "group_id": "3932", + "name": "猫爪冻冻", + "max_level": 10, + "levelRange": [ + 1, + 10 + ], + "level_current": 1, + "level_target": 10 + }, + { + "id": "3939", + "group_id": "3939", + "name": "最烈特调", + "max_level": 10, + "levelRange": [ + 1, + 10 + ], + "level_current": 1, + "level_target": 10 + } + ], + "weapon": { + "id": 15503, + "name": "终末嗟叹之诗", + "weapon_cat_id": 1, + "weapon_level": 5, + "max_level": 90, + "is_recommend": false, + "levelRange": [ + 1, + 90 + ], + "level_current": 1, + "level_target": 90 + } + }, + { + "avatar_id": 10000041, + "avatar_level_current": 1, + "avatar_level_target": 90, + "element_attr_id": 6, + "level": 5, + "name": "莫娜", + "skill_list": [ + { + "id": "4131", + "group_id": "4131", + "name": "普通攻击·因果点破", + "max_level": 10, + "levelRange": [ + 1, + 10 + ], + "level_current": 1, + "level_target": 10 + }, + { + "id": "4132", + "group_id": "4132", + "name": "水中幻愿", + "max_level": 10, + "levelRange": [ + 1, + 10 + ], + "level_current": 1, + "level_target": 10 + }, + { + "id": "4139", + "group_id": "4139", + "name": "星命定轨", + "max_level": 10, + "levelRange": [ + 1, + 10 + ], + "level_current": 1, + "level_target": 10 + } + ], + "weapon": { + "id": 14511, + "name": "千夜浮梦", + "weapon_cat_id": 1, + "weapon_level": 5, + "max_level": 90, + "is_recommend": false, + "levelRange": [ + 1, + 90 + ], + "level_current": 1, + "level_target": 90 + } + }, + { + "avatar_id": 10000042, + "avatar_level_current": 1, + "avatar_level_target": 90, + "element_attr_id": 5, + "level": 5, + "name": "刻晴", + "skill_list": [ + { + "id": "4231", + "group_id": "4231", + "name": "普通攻击·云来剑法", + "max_level": 10, + "levelRange": [ + 1, + 10 + ], + "level_current": 1, + "level_target": 10 + }, + { + "id": "4232", + "group_id": "4232", + "name": "星斗归位", + "max_level": 10, + "levelRange": [ + 1, + 10 + ], + "level_current": 1, + "level_target": 10 + }, + { + "id": "4239", + "group_id": "4239", + "name": "天街巡游", + "max_level": 10, + "levelRange": [ + 1, + 10 + ], + "level_current": 1, + "level_target": 10 + } + ], + "weapon": { + "id": 11503, + "name": "苍古自由之誓", + "weapon_cat_id": 1, + "weapon_level": 5, + "max_level": 90, + "is_recommend": false, + "levelRange": [ + 1, + 90 + ], + "level_current": 1, + "level_target": 90 + } + }, + { + "avatar_id": 10000043, + "avatar_level_current": 1, + "avatar_level_target": 90, + "element_attr_id": 2, + "level": 5, + "name": "砂糖", + "skill_list": [ + { + "id": "4331", + "group_id": "4331", + "name": "普通攻击·简式风灵作成", + "max_level": 10, + "levelRange": [ + 1, + 10 + ], + "level_current": 1, + "level_target": 10 + }, + { + "id": "4332", + "group_id": "4332", + "name": "风灵作成·陆叁零捌", + "max_level": 10, + "levelRange": [ + 1, + 10 + ], + "level_current": 1, + "level_target": 10 + }, + { + "id": "4339", + "group_id": "4339", + "name": "禁·风灵作成·柒伍同构贰型", + "max_level": 10, + "levelRange": [ + 1, + 10 + ], + "level_current": 1, + "level_target": 10 + } + ], + "weapon": { + "id": 14509, + "name": "神乐之真意", + "weapon_cat_id": 1, + "weapon_level": 5, + "max_level": 90, + "is_recommend": false, + "levelRange": [ + 1, + 90 + ], + "level_current": 1, + "level_target": 90 + } + }, + { + "avatar_id": 10000044, + "avatar_level_current": 1, + "avatar_level_target": 90, + "element_attr_id": 1, + "level": 5, + "name": "辛焱", + "skill_list": [ + { + "id": "4431", + "group_id": "4431", + "name": "普通攻击·炎舞", + "max_level": 10, + "levelRange": [ + 1, + 10 + ], + "level_current": 1, + "level_target": 10 + }, + { + "id": "4432", + "group_id": "4432", + "name": "热情拂扫", + "max_level": 10, + "levelRange": [ + 1, + 10 + ], + "level_current": 1, + "level_target": 10 + }, + { + "id": "4439", + "group_id": "4439", + "name": "叛逆刮弦", + "max_level": 10, + "levelRange": [ + 1, + 10 + ], + "level_current": 1, + "level_target": 10 + } + ], + "weapon": { + "id": 12502, + "name": "狼的末路", + "weapon_cat_id": 1, + "weapon_level": 5, + "max_level": 90, + "is_recommend": false, + "levelRange": [ + 1, + 90 + ], + "level_current": 1, + "level_target": 90 + } + }, + { + "avatar_id": 10000045, + "avatar_level_current": 1, + "avatar_level_target": 90, + "element_attr_id": 7, + "level": 5, + "name": "罗莎莉亚", + "skill_list": [ + { + "id": "4531", + "group_id": "4531", + "name": "普通攻击·教会枪术", + "max_level": 10, + "levelRange": [ + 1, + 10 + ], + "level_current": 1, + "level_target": 10 + }, + { + "id": "4532", + "group_id": "4532", + "name": "噬罪的告解", + "max_level": 10, + "levelRange": [ + 1, + 10 + ], + "level_current": 1, + "level_target": 10 + }, + { + "id": "4539", + "group_id": "4539", + "name": "终命的圣礼", + "max_level": 10, + "levelRange": [ + 1, + 10 + ], + "level_current": 1, + "level_target": 10 + } + ], + "weapon": { + "id": 13507, + "name": "息灾", + "weapon_cat_id": 1, + "weapon_level": 5, + "max_level": 90, + "is_recommend": false, + "levelRange": [ + 1, + 90 + ], + "level_current": 1, + "level_target": 90 + } + }, + { + "avatar_id": 10000046, + "avatar_level_current": 1, + "avatar_level_target": 90, + "element_attr_id": 1, + "level": 5, + "name": "胡桃", + "skill_list": [ + { + "id": "4631", + "group_id": "4631", + "name": "普通攻击·往生秘传枪法", + "max_level": 10, + "levelRange": [ + 1, + 10 + ], + "level_current": 1, + "level_target": 10 + }, + { + "id": "4632", + "group_id": "4632", + "name": "蝶引来生", + "max_level": 10, + "levelRange": [ + 1, + 10 + ], + "level_current": 1, + "level_target": 10 + }, + { + "id": "4639", + "group_id": "4639", + "name": "安神秘法", + "max_level": 10, + "levelRange": [ + 1, + 10 + ], + "level_current": 1, + "level_target": 10 + } + ], + "weapon": { + "id": 13505, + "name": "和璞鸢", + "weapon_cat_id": 1, + "weapon_level": 5, + "max_level": 90, + "is_recommend": false, + "levelRange": [ + 1, + 90 + ], + "level_current": 1, + "level_target": 90 + } + }, + { + "avatar_id": 10000047, + "avatar_level_current": 1, + "avatar_level_target": 90, + "element_attr_id": 2, + "level": 5, + "name": "枫原万叶", + "skill_list": [ + { + "id": "4731", + "group_id": "4731", + "name": "普通攻击·我流剑术", + "max_level": 10, + "levelRange": [ + 1, + 10 + ], + "level_current": 1, + "level_target": 10 + }, + { + "id": "4732", + "group_id": "4732", + "name": "千早振", + "max_level": 10, + "levelRange": [ + 1, + 10 + ], + "level_current": 1, + "level_target": 10 + }, + { + "id": "4739", + "group_id": "4739", + "name": "万叶之一刀", + "max_level": 10, + "levelRange": [ + 1, + 10 + ], + "level_current": 1, + "level_target": 10 + } + ], + "weapon": { + "id": 11502, + "name": "天空之刃", + "weapon_cat_id": 1, + "weapon_level": 5, + "max_level": 90, + "is_recommend": false, + "levelRange": [ + 1, + 90 + ], + "level_current": 1, + "level_target": 90 + } + }, + { + "avatar_id": 10000048, + "avatar_level_current": 1, + "avatar_level_target": 90, + "element_attr_id": 1, + "level": 5, + "name": "烟绯", + "skill_list": [ + { + "id": "4831", + "group_id": "4831", + "name": "普通攻击·火漆制印", + "max_level": 10, + "levelRange": [ + 1, + 10 + ], + "level_current": 1, + "level_target": 10 + }, + { + "id": "4832", + "group_id": "4832", + "name": "丹书立约", + "max_level": 10, + "levelRange": [ + 1, + 10 + ], + "level_current": 1, + "level_target": 10 + }, + { + "id": "4839", + "group_id": "4839", + "name": "凭此结契", + "max_level": 10, + "levelRange": [ + 1, + 10 + ], + "level_current": 1, + "level_target": 10 + } + ], + "weapon": { + "id": 14506, + "name": "不灭月华", + "weapon_cat_id": 1, + "weapon_level": 5, + "max_level": 90, + "is_recommend": false, + "levelRange": [ + 1, + 90 + ], + "level_current": 1, + "level_target": 90 + } + }, + { + "avatar_id": 10000049, + "avatar_level_current": 1, + "avatar_level_target": 90, + "element_attr_id": 1, + "level": 5, + "name": "宵宫", + "skill_list": [ + { + "id": "4931", + "group_id": "4931", + "name": "普通攻击·烟火打扬", + "max_level": 10, + "levelRange": [ + 1, + 10 + ], + "level_current": 1, + "level_target": 10 + }, + { + "id": "4932", + "group_id": "4932", + "name": "焰硝庭火舞", + "max_level": 10, + "levelRange": [ + 1, + 10 + ], + "level_current": 1, + "level_target": 10 + }, + { + "id": "4939", + "group_id": "4939", + "name": "琉金云间草", + "max_level": 10, + "levelRange": [ + 1, + 10 + ], + "level_current": 1, + "level_target": 10 + } + ], + "weapon": { + "id": 15502, + "name": "阿莫斯之弓", + "weapon_cat_id": 1, + "weapon_level": 5, + "max_level": 90, + "is_recommend": false, + "levelRange": [ + 1, + 90 + ], + "level_current": 1, + "level_target": 90 + } + }, + { + "avatar_id": 10000050, + "avatar_level_current": 1, + "avatar_level_target": 90, + "element_attr_id": 1, + "level": 5, + "name": "托马", + "skill_list": [ + { + "id": "5031", + "group_id": "5031", + "name": "普通攻击·迅破枪势", + "max_level": 10, + "levelRange": [ + 1, + 10 + ], + "level_current": 1, + "level_target": 10 + }, + { + "id": "5032", + "group_id": "5032", + "name": "烈烧佑命之侍护", + "max_level": 10, + "levelRange": [ + 1, + 10 + ], + "level_current": 1, + "level_target": 10 + }, + { + "id": "5039", + "group_id": "5039", + "name": "真红炽火之大铠", + "max_level": 10, + "levelRange": [ + 1, + 10 + ], + "level_current": 1, + "level_target": 10 + } + ], + "weapon": { + "id": 13504, + "name": "贯虹之槊", + "weapon_cat_id": 1, + "weapon_level": 5, + "max_level": 90, + "is_recommend": false, + "levelRange": [ + 1, + 90 + ], + "level_current": 1, + "level_target": 90 + } + }, + { + "avatar_id": 10000051, + "avatar_level_current": 1, + "avatar_level_target": 90, + "element_attr_id": 7, + "level": 5, + "name": "优菈", + "skill_list": [ + { + "id": "5131", + "group_id": "5131", + "name": "普通攻击·西风剑术·宗室", + "max_level": 10, + "levelRange": [ + 1, + 10 + ], + "level_current": 1, + "level_target": 10 + }, + { + "id": "5132", + "group_id": "5132", + "name": "冰潮的涡旋", + "max_level": 10, + "levelRange": [ + 1, + 10 + ], + "level_current": 1, + "level_target": 10 + }, + { + "id": "5139", + "group_id": "5139", + "name": "凝浪之光剑", + "max_level": 10, + "levelRange": [ + 1, + 10 + ], + "level_current": 1, + "level_target": 10 + } + ], + "weapon": { + "id": 12501, + "name": "天空之傲", + "weapon_cat_id": 1, + "weapon_level": 5, + "max_level": 90, + "is_recommend": false, + "levelRange": [ + 1, + 90 + ], + "level_current": 1, + "level_target": 90 + } + }, + { + "avatar_id": 10000052, + "avatar_level_current": 1, + "avatar_level_target": 90, + "element_attr_id": 5, + "level": 5, + "name": "雷电将军", + "skill_list": [ + { + "id": "5231", + "group_id": "5231", + "name": "普通攻击·源流", + "max_level": 10, + "levelRange": [ + 1, + 10 + ], + "level_current": 1, + "level_target": 10 + }, + { + "id": "5232", + "group_id": "5232", + "name": "神变·恶曜开眼", + "max_level": 10, + "levelRange": [ + 1, + 10 + ], + "level_current": 1, + "level_target": 10 + }, + { + "id": "5239", + "group_id": "5239", + "name": "奥义·梦想真说", + "max_level": 10, + "levelRange": [ + 1, + 10 + ], + "level_current": 1, + "level_target": 10 + } + ], + "weapon": { + "id": 13502, + "name": "天空之脊", + "weapon_cat_id": 1, + "weapon_level": 5, + "max_level": 90, + "is_recommend": false, + "levelRange": [ + 1, + 90 + ], + "level_current": 1, + "level_target": 90 + } + }, + { + "avatar_id": 10000053, + "avatar_level_current": 1, + "avatar_level_target": 90, + "element_attr_id": 2, + "level": 5, + "name": "早柚", + "skill_list": [ + { + "id": "5331", + "group_id": "5331", + "name": "普通攻击·忍刀·终末番", + "max_level": 10, + "levelRange": [ + 1, + 10 + ], + "level_current": 1, + "level_target": 10 + }, + { + "id": "5332", + "group_id": "5332", + "name": "呜呼流·风隐急进", + "max_level": 10, + "levelRange": [ + 1, + 10 + ], + "level_current": 1, + "level_target": 10 + }, + { + "id": "5339", + "group_id": "5339", + "name": "呜呼流·影貉缭乱", + "max_level": 10, + "levelRange": [ + 1, + 10 + ], + "level_current": 1, + "level_target": 10 + } + ], + "weapon": { + "id": 12427, + "name": "便携动力锯", + "weapon_cat_id": 1, + "weapon_level": 5, + "max_level": 90, + "is_recommend": false, + "levelRange": [ + 1, + 90 + ], + "level_current": 1, + "level_target": 90 + } + }, + { + "avatar_id": 10000054, + "avatar_level_current": 1, + "avatar_level_target": 90, + "element_attr_id": 6, + "level": 5, + "name": "珊瑚宫心海", + "skill_list": [ + { + "id": "5431", + "group_id": "5431", + "name": "普通攻击·水有常形", + "max_level": 10, + "levelRange": [ + 1, + 10 + ], + "level_current": 1, + "level_target": 10 + }, + { + "id": "5432", + "group_id": "5432", + "name": "海月之誓", + "max_level": 10, + "levelRange": [ + 1, + 10 + ], + "level_current": 1, + "level_target": 10 + }, + { + "id": "5439", + "group_id": "5439", + "name": "海人化羽", + "max_level": 10, + "levelRange": [ + 1, + 10 + ], + "level_current": 1, + "level_target": 10 + } + ], + "weapon": { + "id": 14505, + "name": "碧落之珑", + "weapon_cat_id": 1, + "weapon_level": 5, + "max_level": 90, + "is_recommend": false, + "levelRange": [ + 1, + 90 + ], + "level_current": 1, + "level_target": 90 + } + }, + { + "avatar_id": 10000055, + "avatar_level_current": 1, + "avatar_level_target": 90, + "element_attr_id": 3, + "level": 5, + "name": "五郎", + "skill_list": [ + { + "id": "5531", + "group_id": "5531", + "name": "普通攻击·呲牙裂扇箭", + "max_level": 10, + "levelRange": [ + 1, + 10 + ], + "level_current": 1, + "level_target": 10 + }, + { + "id": "5532", + "group_id": "5532", + "name": "犬坂吠吠方圆阵", + "max_level": 10, + "levelRange": [ + 1, + 10 + ], + "level_current": 1, + "level_target": 10 + }, + { + "id": "5539", + "group_id": "5539", + "name": "兽牙逐突形胜战法", + "max_level": 10, + "levelRange": [ + 1, + 10 + ], + "level_current": 1, + "level_target": 10 + } + ], + "weapon": { + "id": 15501, + "name": "天空之翼", + "weapon_cat_id": 1, + "weapon_level": 5, + "max_level": 90, + "is_recommend": false, + "levelRange": [ + 1, + 90 + ], + "level_current": 1, + "level_target": 90 + } + }, + { + "avatar_id": 10000056, + "avatar_level_current": 1, + "avatar_level_target": 90, + "element_attr_id": 5, + "level": 5, + "name": "九条裟罗", + "skill_list": [ + { + "id": "5631", + "group_id": "5631", + "name": "普通攻击·天狗传弓术", + "max_level": 10, + "levelRange": [ + 1, + 10 + ], + "level_current": 1, + "level_target": 10 + }, + { + "id": "5632", + "group_id": "5632", + "name": "鸦羽天狗霆雷召咒", + "max_level": 10, + "levelRange": [ + 1, + 10 + ], + "level_current": 1, + "level_target": 10 + }, + { + "id": "5639", + "group_id": "5639", + "name": "煌煌千道镇式", + "max_level": 10, + "levelRange": [ + 1, + 10 + ], + "level_current": 1, + "level_target": 10 + } + ], + "weapon": { + "id": 15427, + "name": "测距规", + "weapon_cat_id": 1, + "weapon_level": 5, + "max_level": 90, + "is_recommend": false, + "levelRange": [ + 1, + 90 + ], + "level_current": 1, + "level_target": 90 + } + }, + { + "avatar_id": 10000057, + "avatar_level_current": 1, + "avatar_level_target": 90, + "element_attr_id": 3, + "level": 5, + "name": "荒泷一斗", + "skill_list": [ + { + "id": "5731", + "group_id": "5731", + "name": "普通攻击· 喧哗屋传说", + "max_level": 10, + "levelRange": [ + 1, + 10 + ], + "level_current": 1, + "level_target": 10 + }, + { + "id": "5732", + "group_id": "5732", + "name": "魔杀绝技·赤牛发破!", + "max_level": 10, + "levelRange": [ + 1, + 10 + ], + "level_current": 1, + "level_target": 10 + }, + { + "id": "5739", + "group_id": "5739", + "name": "最恶鬼王·一斗轰临!!", + "max_level": 10, + "levelRange": [ + 1, + 10 + ], + "level_current": 1, + "level_target": 10 + } + ], + "weapon": { + "id": 12426, + "name": "「究极霸王超级魔剑」", + "weapon_cat_id": 1, + "weapon_level": 5, + "max_level": 90, + "is_recommend": false, + "levelRange": [ + 1, + 90 + ], + "level_current": 1, + "level_target": 90 + } + }, + { + "avatar_id": 10000058, + "avatar_level_current": 1, + "avatar_level_target": 90, + "element_attr_id": 5, + "level": 5, + "name": "八重神子", + "skill_list": [ + { + "id": "5831", + "group_id": "5831", + "name": "普通攻击·狐灵食罪式", + "max_level": 10, + "levelRange": [ + 1, + 10 + ], + "level_current": 1, + "level_target": 10 + }, + { + "id": "5832", + "group_id": "5832", + "name": "野干役咒·杀生樱", + "max_level": 10, + "levelRange": [ + 1, + 10 + ], + "level_current": 1, + "level_target": 10 + }, + { + "id": "5839", + "group_id": "5839", + "name": "大密法·天狐显真", + "max_level": 10, + "levelRange": [ + 1, + 10 + ], + "level_current": 1, + "level_target": 10 + } + ], + "weapon": { + "id": 14504, + "name": "尘世之锁", + "weapon_cat_id": 1, + "weapon_level": 5, + "max_level": 90, + "is_recommend": false, + "levelRange": [ + 1, + 90 + ], + "level_current": 1, + "level_target": 90 + } + }, + { + "avatar_id": 10000059, + "avatar_level_current": 1, + "avatar_level_target": 90, + "element_attr_id": 2, + "level": 5, + "name": "鹿野院平藏", + "skill_list": [ + { + "id": "5931", + "group_id": "5931", + "name": "普通攻击·不动流格斗术", + "max_level": 10, + "levelRange": [ + 1, + 10 + ], + "level_current": 1, + "level_target": 10 + }, + { + "id": "5932", + "group_id": "5932", + "name": "勠心拳", + "max_level": 10, + "levelRange": [ + 1, + 10 + ], + "level_current": 1, + "level_target": 10 + }, + { + "id": "5939", + "group_id": "5939", + "name": "聚风蹴", + "max_level": 10, + "levelRange": [ + 1, + 10 + ], + "level_current": 1, + "level_target": 10 + } + ], + "weapon": { + "id": 14502, + "name": "四风原典", + "weapon_cat_id": 1, + "weapon_level": 5, + "max_level": 90, + "is_recommend": false, + "levelRange": [ + 1, + 90 + ], + "level_current": 1, + "level_target": 90 + } + }, + { + "avatar_id": 10000060, + "avatar_level_current": 1, + "avatar_level_target": 90, + "element_attr_id": 6, + "level": 5, + "name": "夜兰", + "skill_list": [ + { + "id": "6031", + "group_id": "6031", + "name": "普通攻击·潜形隐曜弓", + "max_level": 10, + "levelRange": [ + 1, + 10 + ], + "level_current": 1, + "level_target": 10 + }, + { + "id": "6032", + "group_id": "6032", + "name": "萦络纵命索", + "max_level": 10, + "levelRange": [ + 1, + 10 + ], + "level_current": 1, + "level_target": 10 + }, + { + "id": "6039", + "group_id": "6039", + "name": "渊图玲珑骰", + "max_level": 10, + "levelRange": [ + 1, + 10 + ], + "level_current": 1, + "level_target": 10 + } + ], + "weapon": { + "id": 15426, + "name": "筑云", + "weapon_cat_id": 1, + "weapon_level": 5, + "max_level": 90, + "is_recommend": false, + "levelRange": [ + 1, + 90 + ], + "level_current": 1, + "level_target": 90 + } + }, + { + "avatar_id": 10000061, + "avatar_level_current": 1, + "avatar_level_target": 90, + "element_attr_id": 4, + "level": 5, + "name": "绮良良", + "skill_list": [ + { + "id": "6131", + "group_id": "6131", + "name": "普通攻击·箱纸切削术", + "max_level": 10, + "levelRange": [ + 1, + 10 + ], + "level_current": 1, + "level_target": 10 + }, + { + "id": "6132", + "group_id": "6132", + "name": "呜喵町飞足", + "max_level": 10, + "levelRange": [ + 1, + 10 + ], + "level_current": 1, + "level_target": 10 + }, + { + "id": "6139", + "group_id": "6139", + "name": "秘法·惊喜特派", + "max_level": 10, + "levelRange": [ + 1, + 10 + ], + "level_current": 1, + "level_target": 10 + } + ], + "weapon": { + "id": 11501, + "name": "风鹰剑", + "weapon_cat_id": 1, + "weapon_level": 5, + "max_level": 90, + "is_recommend": false, + "levelRange": [ + 1, + 90 + ], + "level_current": 1, + "level_target": 90 + } + }, + { + "avatar_id": 10000062, + "avatar_level_current": 1, + "avatar_level_target": 90, + "element_attr_id": 7, + "level": 5, + "name": "埃洛伊", + "skill_list": [ + { + "id": "6231", + "group_id": "6231", + "name": "普通攻击·快速射击", + "max_level": 10, + "levelRange": [ + 1, + 10 + ], + "level_current": 1, + "level_target": 10 + }, + { + "id": "6232", + "group_id": "6232", + "name": "冰尘雪野", + "max_level": 10, + "levelRange": [ + 1, + 10 + ], + "level_current": 1, + "level_target": 10 + }, + { + "id": "6239", + "group_id": "6239", + "name": "曙光预言", + "max_level": 10, + "levelRange": [ + 1, + 10 + ], + "level_current": 1, + "level_target": 10 + } + ], + "weapon": { + "id": 15425, + "name": "静谧之曲", + "weapon_cat_id": 1, + "weapon_level": 5, + "max_level": 90, + "is_recommend": false, + "levelRange": [ + 1, + 90 + ], + "level_current": 1, + "level_target": 90 + } + }, + { + "avatar_id": 10000063, + "avatar_level_current": 1, + "avatar_level_target": 90, + "element_attr_id": 7, + "level": 5, + "name": "申鹤", + "skill_list": [ + { + "id": "6331", + "group_id": "6331", + "name": "普通攻击·踏辰摄斗", + "max_level": 10, + "levelRange": [ + 1, + 10 + ], + "level_current": 1, + "level_target": 10 + }, + { + "id": "6332", + "group_id": "6332", + "name": "仰灵威召将役咒", + "max_level": 10, + "levelRange": [ + 1, + 10 + ], + "level_current": 1, + "level_target": 10 + }, + { + "id": "6339", + "group_id": "6339", + "name": "神女遣灵真诀", + "max_level": 10, + "levelRange": [ + 1, + 10 + ], + "level_current": 1, + "level_target": 10 + } + ], + "weapon": { + "id": 13501, + "name": "护摩之杖", + "weapon_cat_id": 1, + "weapon_level": 5, + "max_level": 90, + "is_recommend": false, + "levelRange": [ + 1, + 90 + ], + "level_current": 1, + "level_target": 90 + } + }, + { + "avatar_id": 10000064, + "avatar_level_current": 1, + "avatar_level_target": 90, + "element_attr_id": 3, + "level": 5, + "name": "云堇", + "skill_list": [ + { + "id": "6431", + "group_id": "6431", + "name": "普通攻击·拂云出手", + "max_level": 10, + "levelRange": [ + 1, + 10 + ], + "level_current": 1, + "level_target": 10 + }, + { + "id": "6432", + "group_id": "6432", + "name": "旋云开相", + "max_level": 10, + "levelRange": [ + 1, + 10 + ], + "level_current": 1, + "level_target": 10 + }, + { + "id": "6439", + "group_id": "6439", + "name": "破嶂见旌仪", + "max_level": 10, + "levelRange": [ + 1, + 10 + ], + "level_current": 1, + "level_target": 10 + } + ], + "weapon": { + "id": 13427, + "name": "勘探钻机", + "weapon_cat_id": 1, + "weapon_level": 5, + "max_level": 90, + "is_recommend": false, + "levelRange": [ + 1, + 90 + ], + "level_current": 1, + "level_target": 90 + } + }, + { + "avatar_id": 10000065, + "avatar_level_current": 1, + "avatar_level_target": 90, + "element_attr_id": 5, + "level": 5, + "name": "久岐忍", + "skill_list": [ + { + "id": "6531", + "group_id": "6531", + "name": "普通攻击·忍流飞刃斩", + "max_level": 10, + "levelRange": [ + 1, + 10 + ], + "level_current": 1, + "level_target": 10 + }, + { + "id": "6532", + "group_id": "6532", + "name": "越祓雷草之轮", + "max_level": 10, + "levelRange": [ + 1, + 10 + ], + "level_current": 1, + "level_target": 10 + }, + { + "id": "6539", + "group_id": "6539", + "name": "御咏鸣神刈山祭", + "max_level": 10, + "levelRange": [ + 1, + 10 + ], + "level_current": 1, + "level_target": 10 + } + ], + "weapon": { + "id": 11428, + "name": "水仙十字之剑", + "weapon_cat_id": 1, + "weapon_level": 5, + "max_level": 90, + "is_recommend": false, + "levelRange": [ + 1, + 90 + ], + "level_current": 1, + "level_target": 90 + } + }, + { + "avatar_id": 10000066, + "avatar_level_current": 1, + "avatar_level_target": 90, + "element_attr_id": 6, + "level": 5, + "name": "神里绫人", + "skill_list": [ + { + "id": "6631", + "group_id": "6631", + "name": "普通攻击·神里流·转", + "max_level": 10, + "levelRange": [ + 1, + 10 + ], + "level_current": 1, + "level_target": 10 + }, + { + "id": "6632", + "group_id": "6632", + "name": "神里流·镜花", + "max_level": 10, + "levelRange": [ + 1, + 10 + ], + "level_current": 1, + "level_target": 10 + }, + { + "id": "6639", + "group_id": "6639", + "name": "神里流·水囿", + "max_level": 10, + "levelRange": [ + 1, + 10 + ], + "level_current": 1, + "level_target": 10 + } + ], + "weapon": { + "id": 11427, + "name": "船坞长剑", + "weapon_cat_id": 1, + "weapon_level": 5, + "max_level": 90, + "is_recommend": false, + "levelRange": [ + 1, + 90 + ], + "level_current": 1, + "level_target": 90 + } + }, + { + "avatar_id": 10000067, + "avatar_level_current": 1, + "avatar_level_target": 90, + "element_attr_id": 4, + "level": 5, + "name": "柯莱", + "skill_list": [ + { + "id": "6731", + "group_id": "6731", + "name": "普通攻击·祈颂射艺", + "max_level": 10, + "levelRange": [ + 1, + 10 + ], + "level_current": 1, + "level_target": 10 + }, + { + "id": "6732", + "group_id": "6732", + "name": "拂花偈叶", + "max_level": 10, + "levelRange": [ + 1, + 10 + ], + "level_current": 1, + "level_target": 10 + }, + { + "id": "6739", + "group_id": "6739", + "name": "猫猫秘宝", + "max_level": 10, + "levelRange": [ + 1, + 10 + ], + "level_current": 1, + "level_target": 10 + } + ], + "weapon": { + "id": 15424, + "name": "烈阳之嗣", + "weapon_cat_id": 1, + "weapon_level": 5, + "max_level": 90, + "is_recommend": false, + "levelRange": [ + 1, + 90 + ], + "level_current": 1, + "level_target": 90 + } + }, + { + "avatar_id": 10000068, + "avatar_level_current": 1, + "avatar_level_target": 90, + "element_attr_id": 5, + "level": 5, + "name": "多莉", + "skill_list": [ + { + "id": "6831", + "group_id": "6831", + "name": "普通攻击·妙显剑舞·改", + "max_level": 10, + "levelRange": [ + 1, + 10 + ], + "level_current": 1, + "level_target": 10 + }, + { + "id": "6832", + "group_id": "6832", + "name": "镇灵之灯·烦恼解决炮", + "max_level": 10, + "levelRange": [ + 1, + 10 + ], + "level_current": 1, + "level_target": 10 + }, + { + "id": "6839", + "group_id": "6839", + "name": "卡萨扎莱宫的无微不至", + "max_level": 10, + "levelRange": [ + 1, + 10 + ], + "level_current": 1, + "level_target": 10 + } + ], + "weapon": { + "id": 12425, + "name": "浪影阔剑", + "weapon_cat_id": 1, + "weapon_level": 5, + "max_level": 90, + "is_recommend": false, + "levelRange": [ + 1, + 90 + ], + "level_current": 1, + "level_target": 90 + } + }, + { + "avatar_id": 10000069, + "avatar_level_current": 1, + "avatar_level_target": 90, + "element_attr_id": 4, + "level": 5, + "name": "提纳里", + "skill_list": [ + { + "id": "6931", + "group_id": "6931", + "name": "普通攻击·藏蕴破障", + "max_level": 10, + "levelRange": [ + 1, + 10 + ], + "level_current": 1, + "level_target": 10 + }, + { + "id": "6932", + "group_id": "6932", + "name": "识果种雷", + "max_level": 10, + "levelRange": [ + 1, + 10 + ], + "level_current": 1, + "level_target": 10 + }, + { + "id": "6939", + "group_id": "6939", + "name": "造生缠藤箭", + "max_level": 10, + "levelRange": [ + 1, + 10 + ], + "level_current": 1, + "level_target": 10 + } + ], + "weapon": { + "id": 15419, + "name": "鹮穿之喙", + "weapon_cat_id": 1, + "weapon_level": 5, + "max_level": 90, + "is_recommend": false, + "levelRange": [ + 1, + 90 + ], + "level_current": 1, + "level_target": 90 + } + }, + { + "avatar_id": 10000070, + "avatar_level_current": 1, + "avatar_level_target": 90, + "element_attr_id": 6, + "level": 5, + "name": "妮露", + "skill_list": [ + { + "id": "7031", + "group_id": "7031", + "name": "普通攻击·弦月舞步", + "max_level": 10, + "levelRange": [ + 1, + 10 + ], + "level_current": 1, + "level_target": 10 + }, + { + "id": "7032", + "group_id": "7032", + "name": "七域舞步", + "max_level": 10, + "levelRange": [ + 1, + 10 + ], + "level_current": 1, + "level_target": 10 + }, + { + "id": "7039", + "group_id": "7039", + "name": "浮莲舞步·远梦聆泉", + "max_level": 10, + "levelRange": [ + 1, + 10 + ], + "level_current": 1, + "level_target": 10 + } + ], + "weapon": { + "id": 11426, + "name": "灰河渡手", + "weapon_cat_id": 1, + "weapon_level": 5, + "max_level": 90, + "is_recommend": false, + "levelRange": [ + 1, + 90 + ], + "level_current": 1, + "level_target": 90 + } + }, + { + "avatar_id": 10000071, + "avatar_level_current": 1, + "avatar_level_target": 90, + "element_attr_id": 5, + "level": 5, + "name": "赛诺", + "skill_list": [ + { + "id": "7131", + "group_id": "7131", + "name": "普通攻击·七圣枪术", + "max_level": 10, + "levelRange": [ + 1, + 10 + ], + "level_current": 1, + "level_target": 10 + }, + { + "id": "7132", + "group_id": "7132", + "name": "秘仪·律渊渡魂", + "max_level": 10, + "levelRange": [ + 1, + 10 + ], + "level_current": 1, + "level_target": 10 + }, + { + "id": "7139", + "group_id": "7139", + "name": "圣仪·煟煌随狼行", + "max_level": 10, + "levelRange": [ + 1, + 10 + ], + "level_current": 1, + "level_target": 10 + } + ], + "weapon": { + "id": 13426, + "name": "沙中伟贤的对答", + "weapon_cat_id": 1, + "weapon_level": 5, + "max_level": 90, + "is_recommend": false, + "levelRange": [ + 1, + 90 + ], + "level_current": 1, + "level_target": 90 + } + }, + { + "avatar_id": 10000072, + "avatar_level_current": 1, + "avatar_level_target": 90, + "element_attr_id": 6, + "level": 5, + "name": "坎蒂丝", + "skill_list": [ + { + "id": "7231", + "group_id": "7231", + "name": "普通攻击·流耀枪术·守势", + "max_level": 10, + "levelRange": [ + 1, + 10 + ], + "level_current": 1, + "level_target": 10 + }, + { + "id": "7232", + "group_id": "7232", + "name": "圣仪·苍鹭庇卫", + "max_level": 10, + "levelRange": [ + 1, + 10 + ], + "level_current": 1, + "level_target": 10 + }, + { + "id": "7239", + "group_id": "7239", + "name": "圣仪·灰鸰衒潮", + "max_level": 10, + "levelRange": [ + 1, + 10 + ], + "level_current": 1, + "level_target": 10 + } + ], + "weapon": { + "id": 13425, + "name": "公义的酬报", + "weapon_cat_id": 1, + "weapon_level": 5, + "max_level": 90, + "is_recommend": false, + "levelRange": [ + 1, + 90 + ], + "level_current": 1, + "level_target": 90 + } + }, + { + "avatar_id": 10000073, + "avatar_level_current": 1, + "avatar_level_target": 90, + "element_attr_id": 4, + "level": 5, + "name": "纳西妲", + "skill_list": [ + { + "id": "7331", + "group_id": "7331", + "name": "普通攻击·行相", + "max_level": 10, + "levelRange": [ + 1, + 10 + ], + "level_current": 1, + "level_target": 10 + }, + { + "id": "7332", + "group_id": "7332", + "name": "所闻遍计", + "max_level": 10, + "levelRange": [ + 1, + 10 + ], + "level_current": 1, + "level_target": 10 + }, + { + "id": "7339", + "group_id": "7339", + "name": "心景幻成", + "max_level": 10, + "levelRange": [ + 1, + 10 + ], + "level_current": 1, + "level_target": 10 + } + ], + "weapon": { + "id": 14501, + "name": "天空之卷", + "weapon_cat_id": 1, + "weapon_level": 5, + "max_level": 90, + "is_recommend": false, + "levelRange": [ + 1, + 90 + ], + "level_current": 1, + "level_target": 90 + } + }, + { + "avatar_id": 10000074, + "avatar_level_current": 1, + "avatar_level_target": 90, + "element_attr_id": 7, + "level": 5, + "name": "莱依拉", + "skill_list": [ + { + "id": "7431", + "group_id": "7431", + "name": "普通攻击·熠辉轨度剑", + "max_level": 10, + "levelRange": [ + 1, + 10 + ], + "level_current": 1, + "level_target": 10 + }, + { + "id": "7432", + "group_id": "7432", + "name": "垂裳端凝之夜", + "max_level": 10, + "levelRange": [ + 1, + 10 + ], + "level_current": 1, + "level_target": 10 + }, + { + "id": "7439", + "group_id": "7439", + "name": "星流摇床之梦", + "max_level": 10, + "levelRange": [ + 1, + 10 + ], + "level_current": 1, + "level_target": 10 + } + ], + "weapon": { + "id": 11425, + "name": "海渊终曲", + "weapon_cat_id": 1, + "weapon_level": 5, + "max_level": 90, + "is_recommend": false, + "levelRange": [ + 1, + 90 + ], + "level_current": 1, + "level_target": 90 + } + }, + { + "avatar_id": 10000075, + "avatar_level_current": 1, + "avatar_level_target": 90, + "element_attr_id": 2, + "level": 5, + "name": "流浪者", + "skill_list": [ + { + "id": "7531", + "group_id": "7531", + "name": "普通攻击·行幡鸣弦", + "max_level": 10, + "levelRange": [ + 1, + 10 + ], + "level_current": 1, + "level_target": 10 + }, + { + "id": "7532", + "group_id": "7532", + "name": "羽画·风姿华歌", + "max_level": 10, + "levelRange": [ + 1, + 10 + ], + "level_current": 1, + "level_target": 10 + }, + { + "id": "7539", + "group_id": "7539", + "name": "狂言·式乐五番", + "max_level": 10, + "levelRange": [ + 1, + 10 + ], + "level_current": 1, + "level_target": 10 + } + ], + "weapon": { + "id": 14426, + "name": "无垠蔚蓝之歌", + "weapon_cat_id": 1, + "weapon_level": 5, + "max_level": 90, + "is_recommend": false, + "levelRange": [ + 1, + 90 + ], + "level_current": 1, + "level_target": 90 + } + }, + { + "avatar_id": 10000076, + "avatar_level_current": 1, + "avatar_level_target": 90, + "element_attr_id": 2, + "level": 5, + "name": "珐露珊", + "skill_list": [ + { + "id": "7631", + "group_id": "7631", + "name": "普通攻击·迴身箭术", + "max_level": 10, + "levelRange": [ + 1, + 10 + ], + "level_current": 1, + "level_target": 10 + }, + { + "id": "7632", + "group_id": "7632", + "name": "非想风天", + "max_level": 10, + "levelRange": [ + 1, + 10 + ], + "level_current": 1, + "level_target": 10 + }, + { + "id": "7639", + "group_id": "7639", + "name": "抟风秘道", + "max_level": 10, + "levelRange": [ + 1, + 10 + ], + "level_current": 1, + "level_target": 10 + } + ], + "weapon": { + "id": 15418, + "name": "竭泽", + "weapon_cat_id": 1, + "weapon_level": 5, + "max_level": 90, + "is_recommend": false, + "levelRange": [ + 1, + 90 + ], + "level_current": 1, + "level_target": 90 + } + }, + { + "avatar_id": 10000077, + "avatar_level_current": 1, + "avatar_level_target": 90, + "element_attr_id": 4, + "level": 5, + "name": "瑶瑶", + "skill_list": [ + { + "id": "7731", + "group_id": "7731", + "name": "普通攻击·颠扑连环枪", + "max_level": 10, + "levelRange": [ + 1, + 10 + ], + "level_current": 1, + "level_target": 10 + }, + { + "id": "7732", + "group_id": "7732", + "name": "云台团团降芦菔", + "max_level": 10, + "levelRange": [ + 1, + 10 + ], + "level_current": 1, + "level_target": 10 + }, + { + "id": "7739", + "group_id": "7739", + "name": "玉颗珊珊月中落", + "max_level": 10, + "levelRange": [ + 1, + 10 + ], + "level_current": 1, + "level_target": 10 + } + ], + "weapon": { + "id": 13424, + "name": "峡湾长歌", + "weapon_cat_id": 1, + "weapon_level": 5, + "max_level": 90, + "is_recommend": false, + "levelRange": [ + 1, + 90 + ], + "level_current": 1, + "level_target": 90 + } + }, + { + "avatar_id": 10000078, + "avatar_level_current": 1, + "avatar_level_target": 90, + "element_attr_id": 4, + "level": 5, + "name": "艾尔海森", + "skill_list": [ + { + "id": "7831", + "group_id": "7831", + "name": "普通攻击·溯因反绎法", + "max_level": 10, + "levelRange": [ + 1, + 10 + ], + "level_current": 1, + "level_target": 10 + }, + { + "id": "7832", + "group_id": "7832", + "name": "共相·理式摹写", + "max_level": 10, + "levelRange": [ + 1, + 10 + ], + "level_current": 1, + "level_target": 10 + }, + { + "id": "7839", + "group_id": "7839", + "name": "殊境·显象缚结", + "max_level": 10, + "levelRange": [ + 1, + 10 + ], + "level_current": 1, + "level_target": 10 + } + ], + "weapon": { + "id": 11424, + "name": "狼牙", + "weapon_cat_id": 1, + "weapon_level": 5, + "max_level": 90, + "is_recommend": false, + "levelRange": [ + 1, + 90 + ], + "level_current": 1, + "level_target": 90 + } + }, + { + "avatar_id": 10000079, + "avatar_level_current": 1, + "avatar_level_target": 90, + "element_attr_id": 1, + "level": 5, + "name": "迪希雅", + "skill_list": [ + { + "id": "7931", + "group_id": "7931", + "name": "普通攻击·拂金剑斗术", + "max_level": 10, + "levelRange": [ + 1, + 10 + ], + "level_current": 1, + "level_target": 10 + }, + { + "id": "7932", + "group_id": "7932", + "name": "熔铁流狱", + "max_level": 10, + "levelRange": [ + 1, + 10 + ], + "level_current": 1, + "level_target": 10 + }, + { + "id": "7939", + "group_id": "7939", + "name": "炎啸狮子咬", + "max_level": 10, + "levelRange": [ + 1, + 10 + ], + "level_current": 1, + "level_target": 10 + } + ], + "weapon": { + "id": 12424, + "name": "聊聊棒", + "weapon_cat_id": 1, + "weapon_level": 5, + "max_level": 90, + "is_recommend": false, + "levelRange": [ + 1, + 90 + ], + "level_current": 1, + "level_target": 90 + } + }, + { + "avatar_id": 10000080, + "avatar_level_current": 1, + "avatar_level_target": 90, + "element_attr_id": 7, + "level": 5, + "name": "米卡", + "skill_list": [ + { + "id": "8031", + "group_id": "8031", + "name": "普通攻击·西风枪术·镝传", + "max_level": 10, + "levelRange": [ + 1, + 10 + ], + "level_current": 1, + "level_target": 10 + }, + { + "id": "8032", + "group_id": "8032", + "name": "星霜的流旋", + "max_level": 10, + "levelRange": [ + 1, + 10 + ], + "level_current": 1, + "level_target": 10 + }, + { + "id": "8039", + "group_id": "8039", + "name": "苍翎的颂愿", + "max_level": 10, + "levelRange": [ + 1, + 10 + ], + "level_current": 1, + "level_target": 10 + } + ], + "weapon": { + "id": 13419, + "name": "风信之锋", + "weapon_cat_id": 1, + "weapon_level": 5, + "max_level": 90, + "is_recommend": false, + "levelRange": [ + 1, + 90 + ], + "level_current": 1, + "level_target": 90 + } + }, + { + "avatar_id": 10000081, + "avatar_level_current": 1, + "avatar_level_target": 90, + "element_attr_id": 4, + "level": 5, + "name": "卡维", + "skill_list": [ + { + "id": "8131", + "group_id": "8131", + "name": "普通攻击·旋规设矩", + "max_level": 10, + "levelRange": [ + 1, + 10 + ], + "level_current": 1, + "level_target": 10 + }, + { + "id": "8132", + "group_id": "8132", + "name": "画则巧施", + "max_level": 10, + "levelRange": [ + 1, + 10 + ], + "level_current": 1, + "level_target": 10 + }, + { + "id": "8139", + "group_id": "8139", + "name": "繁绘隅穹", + "max_level": 10, + "levelRange": [ + 1, + 10 + ], + "level_current": 1, + "level_target": 10 + } + ], + "weapon": { + "id": 12418, + "name": "饰铁之花", + "weapon_cat_id": 1, + "weapon_level": 5, + "max_level": 90, + "is_recommend": false, + "levelRange": [ + 1, + 90 + ], + "level_current": 1, + "level_target": 90 + } + }, + { + "avatar_id": 10000082, + "avatar_level_current": 1, + "avatar_level_target": 90, + "element_attr_id": 4, + "level": 5, + "name": "白术", + "skill_list": [ + { + "id": "8231", + "group_id": "8231", + "name": "普通攻击·金匮针解", + "max_level": 10, + "levelRange": [ + 1, + 10 + ], + "level_current": 1, + "level_target": 10 + }, + { + "id": "8232", + "group_id": "8232", + "name": "太素诊要", + "max_level": 10, + "levelRange": [ + 1, + 10 + ], + "level_current": 1, + "level_target": 10 + }, + { + "id": "8239", + "group_id": "8239", + "name": "愈气全形论", + "max_level": 10, + "levelRange": [ + 1, + 10 + ], + "level_current": 1, + "level_target": 10 + } + ], + "weapon": { + "id": 14425, + "name": "纯水流华", + "weapon_cat_id": 1, + "weapon_level": 5, + "max_level": 90, + "is_recommend": false, + "levelRange": [ + 1, + 90 + ], + "level_current": 1, + "level_target": 90 + } + }, + { + "avatar_id": 10000083, + "avatar_level_current": 1, + "avatar_level_target": 90, + "element_attr_id": 2, + "level": 5, + "name": "琳妮特", + "skill_list": [ + { + "id": "8331", + "group_id": "8331", + "name": "普通攻击·迅捷礼刺剑", + "max_level": 10, + "levelRange": [ + 1, + 10 + ], + "level_current": 1, + "level_target": 10 + }, + { + "id": "8332", + "group_id": "8332", + "name": "谜影障身法", + "max_level": 10, + "levelRange": [ + 1, + 10 + ], + "level_current": 1, + "level_target": 10 + }, + { + "id": "8339", + "group_id": "8339", + "name": "魔术·运变惊奇", + "max_level": 10, + "levelRange": [ + 1, + 10 + ], + "level_current": 1, + "level_target": 10 + } + ], + "weapon": { + "id": 11422, + "name": "东花坊时雨", + "weapon_cat_id": 1, + "weapon_level": 5, + "max_level": 90, + "is_recommend": false, + "levelRange": [ + 1, + 90 + ], + "level_current": 1, + "level_target": 90 + } + }, + { + "avatar_id": 10000084, + "avatar_level_current": 1, + "avatar_level_target": 90, + "element_attr_id": 1, + "level": 5, + "name": "林尼", + "skill_list": [ + { + "id": "8431", + "group_id": "8431", + "name": "普通攻击·迫牌易位式", + "max_level": 10, + "levelRange": [ + 1, + 10 + ], + "level_current": 1, + "level_target": 10 + }, + { + "id": "8432", + "group_id": "8432", + "name": "眩惑光戏法", + "max_level": 10, + "levelRange": [ + 1, + 10 + ], + "level_current": 1, + "level_target": 10 + }, + { + "id": "8439", + "group_id": "8439", + "name": "大魔术·灵迹巡游", + "max_level": 10, + "levelRange": [ + 1, + 10 + ], + "level_current": 1, + "level_target": 10 + } + ], + "weapon": { + "id": 15417, + "name": "王下近侍", + "weapon_cat_id": 1, + "weapon_level": 5, + "max_level": 90, + "is_recommend": false, + "levelRange": [ + 1, + 90 + ], + "level_current": 1, + "level_target": 90 + } + }, + { + "avatar_id": 10000085, + "avatar_level_current": 1, + "avatar_level_target": 90, + "element_attr_id": 7, + "level": 5, + "name": "菲米尼", + "skill_list": [ + { + "id": "8531", + "group_id": "8531", + "name": "普通攻击·洑流剑", + "max_level": 10, + "levelRange": [ + 1, + 10 + ], + "level_current": 1, + "level_target": 10 + }, + { + "id": "8532", + "group_id": "8532", + "name": "浮冰增压", + "max_level": 10, + "levelRange": [ + 1, + 10 + ], + "level_current": 1, + "level_target": 10 + }, + { + "id": "8539", + "group_id": "8539", + "name": "猎影潜袭", + "max_level": 10, + "levelRange": [ + 1, + 10 + ], + "level_current": 1, + "level_target": 10 + } + ], + "weapon": { + "id": 12417, + "name": "森林王器", + "weapon_cat_id": 1, + "weapon_level": 5, + "max_level": 90, + "is_recommend": false, + "levelRange": [ + 1, + 90 + ], + "level_current": 1, + "level_target": 90 + } + }, + { + "avatar_id": 10000086, + "avatar_level_current": 1, + "avatar_level_target": 90, + "element_attr_id": 7, + "level": 5, + "name": "莱欧斯利", + "skill_list": [ + { + "id": "8631", + "group_id": "8631", + "name": "普通攻击·迅烈倾霜拳", + "max_level": 10, + "levelRange": [ + 1, + 10 + ], + "level_current": 1, + "level_target": 10 + }, + { + "id": "8632", + "group_id": "8632", + "name": "冰牙突驰", + "max_level": 10, + "levelRange": [ + 1, + 10 + ], + "level_current": 1, + "level_target": 10 + }, + { + "id": "8639", + "group_id": "8639", + "name": "黑金狼噬", + "max_level": 10, + "levelRange": [ + 1, + 10 + ], + "level_current": 1, + "level_target": 10 + } + ], + "weapon": { + "id": 14424, + "name": "遗祀玉珑", + "weapon_cat_id": 1, + "weapon_level": 5, + "max_level": 90, + "is_recommend": false, + "levelRange": [ + 1, + 90 + ], + "level_current": 1, + "level_target": 90 + } + }, + { + "avatar_id": 10000087, + "avatar_level_current": 1, + "avatar_level_target": 90, + "element_attr_id": 6, + "level": 5, + "name": "那维莱特", + "skill_list": [ + { + "id": "8731", + "group_id": "8731", + "name": "普通攻击·如水从平", + "max_level": 10, + "levelRange": [ + 1, + 10 + ], + "level_current": 1, + "level_target": 10 + }, + { + "id": "8732", + "group_id": "8732", + "name": "泪水啊,我必偿还", + "max_level": 10, + "levelRange": [ + 1, + 10 + ], + "level_current": 1, + "level_target": 10 + }, + { + "id": "8739", + "group_id": "8739", + "name": "潮水啊,我已归来", + "max_level": 10, + "levelRange": [ + 1, + 10 + ], + "level_current": 1, + "level_target": 10 + } + ], + "weapon": { + "id": 14417, + "name": "盈满之实", + "weapon_cat_id": 1, + "weapon_level": 5, + "max_level": 90, + "is_recommend": false, + "levelRange": [ + 1, + 90 + ], + "level_current": 1, + "level_target": 90 + } + }, + { + "avatar_id": 10000088, + "avatar_level_current": 1, + "avatar_level_target": 90, + "element_attr_id": 7, + "level": 5, + "name": "夏洛蒂", + "skill_list": [ + { + "id": "8831", + "group_id": "8831", + "name": "普通攻击·冷色摄影律", + "max_level": 10, + "levelRange": [ + 1, + 10 + ], + "level_current": 1, + "level_target": 10 + }, + { + "id": "8832", + "group_id": "8832", + "name": "取景·冰点构图法", + "max_level": 10, + "levelRange": [ + 1, + 10 + ], + "level_current": 1, + "level_target": 10 + }, + { + "id": "8839", + "group_id": "8839", + "name": "定格·全方位确证", + "max_level": 10, + "levelRange": [ + 1, + 10 + ], + "level_current": 1, + "level_target": 10 + } + ], + "weapon": { + "id": 14416, + "name": "流浪的晚星", + "weapon_cat_id": 1, + "weapon_level": 5, + "max_level": 90, + "is_recommend": false, + "levelRange": [ + 1, + 90 + ], + "level_current": 1, + "level_target": 90 + } + }, + { + "avatar_id": 10000089, + "avatar_level_current": 1, + "avatar_level_target": 90, + "element_attr_id": 6, + "level": 5, + "name": "芙宁娜", + "skill_list": [ + { + "id": "8931", + "group_id": "8931", + "name": "普通攻击·独舞之邀", + "max_level": 10, + "levelRange": [ + 1, + 10 + ], + "level_current": 1, + "level_target": 10 + }, + { + "id": "8932", + "group_id": "8932", + "name": "孤心沙龙", + "max_level": 10, + "levelRange": [ + 1, + 10 + ], + "level_current": 1, + "level_target": 10 + }, + { + "id": "8939", + "group_id": "8939", + "name": "万众狂欢", + "max_level": 10, + "levelRange": [ + 1, + 10 + ], + "level_current": 1, + "level_target": 10 + } + ], + "weapon": { + "id": 11418, + "name": "西福斯的月光", + "weapon_cat_id": 1, + "weapon_level": 5, + "max_level": 90, + "is_recommend": false, + "levelRange": [ + 1, + 90 + ], + "level_current": 1, + "level_target": 90 + } + }, + { + "avatar_id": 10000090, + "avatar_level_current": 1, + "avatar_level_target": 90, + "element_attr_id": 1, + "level": 5, + "name": "夏沃蕾", + "skill_list": [ + { + "id": "9031", + "group_id": "9031", + "name": "普通攻击·线列枪刺·改", + "max_level": 10, + "levelRange": [ + 1, + 10 + ], + "level_current": 1, + "level_target": 10 + }, + { + "id": "9032", + "group_id": "9032", + "name": "近迫式急促拦射", + "max_level": 10, + "levelRange": [ + 1, + 10 + ], + "level_current": 1, + "level_target": 10 + }, + { + "id": "9039", + "group_id": "9039", + "name": "圆阵掷弹爆轰术", + "max_level": 10, + "levelRange": [ + 1, + 10 + ], + "level_current": 1, + "level_target": 10 + } + ], + "weapon": { + "id": 13417, + "name": "贯月矢", + "weapon_cat_id": 1, + "weapon_level": 5, + "max_level": 90, + "is_recommend": false, + "levelRange": [ + 1, + 90 + ], + "level_current": 1, + "level_target": 90 + } + }, + { + "avatar_id": 10000091, + "avatar_level_current": 1, + "avatar_level_target": 90, + "element_attr_id": 3, + "level": 5, + "name": "娜维娅", + "skill_list": [ + { + "id": "9131", + "group_id": "9131", + "name": "普通攻击·直率的辞绝", + "max_level": 10, + "levelRange": [ + 1, + 10 + ], + "level_current": 1, + "level_target": 10 + }, + { + "id": "9132", + "group_id": "9132", + "name": "典仪式晶火", + "max_level": 10, + "levelRange": [ + 1, + 10 + ], + "level_current": 1, + "level_target": 10 + }, + { + "id": "9139", + "group_id": "9139", + "name": "如霰澄天的鸣礼", + "max_level": 10, + "levelRange": [ + 1, + 10 + ], + "level_current": 1, + "level_target": 10 + } + ], + "weapon": { + "id": 12416, + "name": "恶王丸", + "weapon_cat_id": 1, + "weapon_level": 5, + "max_level": 90, + "is_recommend": false, + "levelRange": [ + 1, + 90 + ], + "level_current": 1, + "level_target": 90 + } + }, + { + "avatar_id": 10000092, + "avatar_level_current": 1, + "avatar_level_target": 90, + "element_attr_id": 1, + "level": 5, + "name": "嘉明", + "skill_list": [ + { + "id": "9231", + "group_id": "9231", + "name": "普通攻击·刃爪悬星", + "max_level": 10, + "levelRange": [ + 1, + 10 + ], + "level_current": 1, + "level_target": 10 + }, + { + "id": "9232", + "group_id": "9232", + "name": "瑞兽登高楼", + "max_level": 10, + "levelRange": [ + 1, + 10 + ], + "level_current": 1, + "level_target": 10 + }, + { + "id": "9239", + "group_id": "9239", + "name": "璨焰金猊舞", + "max_level": 10, + "levelRange": [ + 1, + 10 + ], + "level_current": 1, + "level_target": 10 + } + ], + "weapon": { + "id": 12415, + "name": "玛海菈的水色", + "weapon_cat_id": 1, + "weapon_level": 5, + "max_level": 90, + "is_recommend": false, + "levelRange": [ + 1, + 90 + ], + "level_current": 1, + "level_target": 90 + } + }, + { + "avatar_id": 10000093, + "avatar_level_current": 1, + "avatar_level_target": 90, + "element_attr_id": 2, + "level": 5, + "name": "闲云", + "skill_list": [ + { + "id": "9331", + "group_id": "9331", + "name": "普通攻击·清风散花词", + "max_level": 10, + "levelRange": [ + 1, + 10 + ], + "level_current": 1, + "level_target": 10 + }, + { + "id": "9332", + "group_id": "9332", + "name": "朝起鹤云", + "max_level": 10, + "levelRange": [ + 1, + 10 + ], + "level_current": 1, + "level_target": 10 + }, + { + "id": "9339", + "group_id": "9339", + "name": "暮集竹星", + "max_level": 10, + "levelRange": [ + 1, + 10 + ], + "level_current": 1, + "level_target": 10 + } + ], + "weapon": { + "id": 14415, + "name": "证誓之明瞳", + "weapon_cat_id": 1, + "weapon_level": 5, + "max_level": 90, + "is_recommend": false, + "levelRange": [ + 1, + 90 + ], + "level_current": 1, + "level_target": 90 + } + }, + { + "avatar_id": 10000094, + "avatar_level_current": 1, + "avatar_level_target": 90, + "element_attr_id": 3, + "level": 5, + "name": "千织", + "skill_list": [ + { + "id": "9431", + "group_id": "9431", + "name": "普通攻击·心织刀流", + "max_level": 10, + "levelRange": [ + 1, + 10 + ], + "level_current": 1, + "level_target": 10 + }, + { + "id": "9432", + "group_id": "9432", + "name": "羽袖一触", + "max_level": 10, + "levelRange": [ + 1, + 10 + ], + "level_current": 1, + "level_target": 10 + }, + { + "id": "9439", + "group_id": "9439", + "name": "二刀之形·比翼", + "max_level": 10, + "levelRange": [ + 1, + 10 + ], + "level_current": 1, + "level_target": 10 + } + ], + "weapon": { + "id": 11417, + "name": "原木刀", + "weapon_cat_id": 1, + "weapon_level": 5, + "max_level": 90, + "is_recommend": false, + "levelRange": [ + 1, + 90 + ], + "level_current": 1, + "level_target": 90 + } + }, + { + "avatar_id": 10000096, + "avatar_level_current": 1, + "avatar_level_target": 90, + "element_attr_id": 1, + "level": 5, + "name": "阿蕾奇诺", + "skill_list": [ + { + "id": "9631", + "group_id": "9631", + "name": "普通攻击·斩首之邀", + "max_level": 10, + "levelRange": [ + 1, + 10 + ], + "level_current": 1, + "level_target": 10 + }, + { + "id": "9632", + "group_id": "9632", + "name": "万相化灰", + "max_level": 10, + "levelRange": [ + 1, + 10 + ], + "level_current": 1, + "level_target": 10 + }, + { + "id": "9639", + "group_id": "9639", + "name": "厄月将升", + "max_level": 10, + "levelRange": [ + 1, + 10 + ], + "level_current": 1, + "level_target": 10 + } + ], + "weapon": { + "id": 13416, + "name": "断浪长鳍", + "weapon_cat_id": 1, + "weapon_level": 5, + "max_level": 90, + "is_recommend": false, + "levelRange": [ + 1, + 90 + ], + "level_current": 1, + "level_target": 90 + } + }, + { + "avatar_id": 10000097, + "avatar_level_current": 1, + "avatar_level_target": 90, + "element_attr_id": 5, + "level": 5, + "name": "赛索斯", + "skill_list": [ + { + "id": "9731", + "group_id": "9731", + "name": "普通攻击·王家苇箭术", + "max_level": 10, + "levelRange": [ + 1, + 10 + ], + "level_current": 1, + "level_target": 10 + }, + { + "id": "9732", + "group_id": "9732", + "name": "古仪·鸣砂掣雷", + "max_level": 10, + "levelRange": [ + 1, + 10 + ], + "level_current": 1, + "level_target": 10 + }, + { + "id": "9739", + "group_id": "9739", + "name": "秘仪·瞑光贯影", + "max_level": 10, + "levelRange": [ + 1, + 10 + ], + "level_current": 1, + "level_target": 10 + } + ], + "weapon": { + "id": 15416, + "name": "曚云之月", + "weapon_cat_id": 1, + "weapon_level": 5, + "max_level": 90, + "is_recommend": false, + "levelRange": [ + 1, + 90 + ], + "level_current": 1, + "level_target": 90 + } + }, + { + "avatar_id": 10000098, + "avatar_level_current": 1, + "avatar_level_target": 90, + "element_attr_id": 5, + "level": 5, + "name": "克洛琳德", + "skill_list": [ + { + "id": "9831", + "group_id": "9831", + "name": "普通攻击·逐影之誓", + "max_level": 10, + "levelRange": [ + 1, + 10 + ], + "level_current": 1, + "level_target": 10 + }, + { + "id": "9832", + "group_id": "9832", + "name": "狩夜之巡", + "max_level": 10, + "levelRange": [ + 1, + 10 + ], + "level_current": 1, + "level_target": 10 + }, + { + "id": "9839", + "group_id": "9839", + "name": "残光将终", + "max_level": 10, + "levelRange": [ + 1, + 10 + ], + "level_current": 1, + "level_target": 10 + } + ], + "weapon": { + "id": 11416, + "name": "笼钓瓶一心", + "weapon_cat_id": 1, + "weapon_level": 5, + "max_level": 90, + "is_recommend": false, + "levelRange": [ + 1, + 90 + ], + "level_current": 1, + "level_target": 90 + } + } +] \ No newline at end of file diff --git a/GenshinUID/genshinuid_compute/get_my_pack.py b/GenshinUID/genshinuid_compute/get_my_pack.py new file mode 100644 index 00000000..13a7aaca --- /dev/null +++ b/GenshinUID/genshinuid_compute/get_my_pack.py @@ -0,0 +1,82 @@ +from pathlib import Path +from typing import Union + +from PIL import Image, ImageDraw +from gsuid_core.models import Event +from gsuid_core.utils.cache import gs_cache +from gsuid_core.utils.error_reply import get_error +from gsuid_core.utils.image.convert import convert_img + +from .utils import get_all_char_dict +from ..utils.fonts.genshin_fonts import gs_font_20 +from ..utils.mys_api import mys_api, get_base_data +from ..utils.resource.download_url import download +from ..utils.resource.RESOURCE_PATH import ICON_PATH +from ..utils.image.image_tools import ( + get_v4_bg, + add_footer, + get_avatar, + get_v4_title, +) + +TEXT_PATH = Path(__file__).parent / 'texture2d' + + +@gs_cache(1800) +async def draw_my_pack(uid: str, ev: Event) -> Union[str, bytes]: + raw = await get_all_char_dict() + data = await mys_api.get_batch_compute_info(uid, raw) + + if isinstance(data, int): + return get_error(data) + + raw_data = await get_base_data(uid) + if isinstance(raw_data, (str, bytes)): + return raw_data + elif isinstance(raw_data, (bytearray, memoryview)): + return bytes(raw_data) + + char_pic = await get_avatar(ev, 377, False) + title_img = get_v4_title(char_pic, uid, raw_data) + # title_img = title_img.resize((int(1680 * 0.6), int(700 * 0.6))) + + overall_consume = data['overall_consume'] + bag_len = len(overall_consume) + + w = 1680 + n = 14 + up = 713 + h = (((bag_len - 1) // n) + 1) * 145 + up + 92 + ox, oy = 110, 145 + + img = get_v4_bg(w, h) + + img.paste(title_img, (0, 0), title_img) + + for index, item in enumerate(overall_consume): + item_bg = Image.open(TEXT_PATH / 'one.png') + item_name = f'UI_ItemIcon_{item["id"]}.png' + item_path = ICON_PATH / item_name + if not item_path.exists(): + await download(item['icon'], 8, item_name) + item_img = Image.open(item_path) + item_img = item_img.resize((80, 80)).convert('RGBA') + item_bg.paste(item_img, (15, 20), item_img) + item_draw = ImageDraw.Draw(item_bg) + bag_num = item['num'] - item['lack_num'] + item_draw.text( + (55, 125), + f'{bag_num}', + font=gs_font_20, + fill='white', + anchor='mm', + ) + img.paste( + item_bg, + (65 + (index % n) * ox, up + (index // n) * oy), + item_bg, + ) + + img = add_footer(img) + + return await convert_img(img) diff --git a/GenshinUID/genshinuid_compute/texture2d/one.png b/GenshinUID/genshinuid_compute/texture2d/one.png new file mode 100644 index 00000000..1d2e94e3 Binary files /dev/null and b/GenshinUID/genshinuid_compute/texture2d/one.png differ diff --git a/GenshinUID/genshinuid_compute/utils.py b/GenshinUID/genshinuid_compute/utils.py new file mode 100644 index 00000000..1e161a32 --- /dev/null +++ b/GenshinUID/genshinuid_compute/utils.py @@ -0,0 +1,157 @@ +from typing import Dict, List, Union + +from gsuid_core.logger import logger + +from ..utils.map.GS_MAP_PATH import ( + avatarId2Name, + avatarName2Weapon, + weaponId2Name_data, +) +from ..utils.map.name_covert import ( + name_to_element, + avatar_id_to_name, + weapon_id_to_name, + avatar_id_to_skill_groupId, +) + +ELEMENT_MAP = { + "Pyro": 1, + "Anemo": 2, + "Geo": 3, + "Dendro": 4, + "Electro": 5, + "Hydro": 6, + "Cryo": 7, +} + + +async def get_all_char_dict() -> List[Dict]: + result = [] + weapon_list: Dict[str, List[str]] = { + '单手剑': [], + '双手剑': [], + '弓': [], + '法器': [], + '长柄武器': [], + } + + for weapon_id in weaponId2Name_data: + if int(weapon_id[2]) <= 3: + continue + + if weapon_id in ['11419', '11420', '11421', '11429', '15513']: + continue + + if weapon_id.startswith('11'): + weapon_list['单手剑'].append(weapon_id) + elif weapon_id.startswith('12'): + weapon_list['双手剑'].append(weapon_id) + elif weapon_id.startswith('13'): + weapon_list['长柄武器'].append(weapon_id) + elif weapon_id.startswith('14'): + weapon_list['法器'].append(weapon_id) + elif weapon_id.startswith('15'): + weapon_list['弓'].append(weapon_id) + + for char_id in avatarId2Name: + if char_id in ['10000095']: + continue + + char_name = await avatar_id_to_name(char_id) + if char_name not in avatarName2Weapon: + continue + char_weapon_type = avatarName2Weapon[char_name] + if weapon_list[char_weapon_type]: + weapon = weapon_list[char_weapon_type].pop() + else: + weapon = 0 + d = await char_id_to_compute_dict( + char_id, + weapon_id=weapon, + ) + if d is not None: + result.append(d) + + import json + from pathlib import Path + + with open(Path(__file__).parent / 'aa.json', 'w', encoding='utf-8') as f: + json.dump(result, f, ensure_ascii=False, indent=4) + + return result + + +async def char_id_to_compute_dict( + char_id: Union[str, int], + current_level: int = 1, + target_level: int = 90, + skill1_current_level: int = 1, + skill1_target_level: int = 10, + skill2_current_level: int = 1, + skill2_target_level: int = 10, + skill3_current_level: int = 1, + skill3_target_level: int = 10, + weapon_id: Union[str, int] = 0, + weapon_current_level: int = 1, + weapon_target_level: int = 90, +): + char_id = str(char_id) + char_name = await avatar_id_to_name(char_id) + element = await name_to_element(char_name) + element_id = ELEMENT_MAP[element] + + if char_id in ['10000005', '10000001', '10000007']: + return None + + skill_list = await avatar_id_to_skill_groupId(char_id) + if not skill_list: + logger.debug(f'[char_id_to_compute_dict] {char_id}') + raise ValueError("[char_id_to_compute_dict] 未找到该角色技能") + + skill_data = [] + skill_level = [ + [skill1_current_level, skill1_target_level], + [skill2_current_level, skill2_target_level], + [skill3_current_level, skill3_target_level], + ] + + n = 0 + for skill_id in skill_list: + if skill_id.endswith(('1', '2', '9')): + skill_data.append( + { + "id": skill_id, + "group_id": skill_id, + "name": skill_list[skill_id], + "max_level": 10, + "levelRange": skill_level[n], + "level_current": skill_level[n][0], + "level_target": skill_level[n][1], + } + ) + n += 1 + + data = { + "avatar_id": int(char_id), + "avatar_level_current": current_level, + "avatar_level_target": target_level, + "element_attr_id": element_id, + "level": 5, + "name": char_name, + "skill_list": skill_data, + } + + if weapon_id != 0: + data['weapon'] = { + "id": int(weapon_id), + "name": await weapon_id_to_name(str(weapon_id)), + "weapon_cat_id": 1, + "weapon_level": 5, + "max_level": 90, + "is_recommend": False, + "levelRange": [weapon_current_level, weapon_target_level], + "level_current": weapon_current_level, + "level_target": weapon_target_level, + } + + return data diff --git a/GenshinUID/tools/data_to_map.py b/GenshinUID/tools/data_to_map.py index 7fbb82a8..2b4c288a 100644 --- a/GenshinUID/tools/data_to_map.py +++ b/GenshinUID/tools/data_to_map.py @@ -40,6 +40,8 @@ enName2Id_fileName = f'enName2AvatarID_mapping_{version}.json' avatarId2Star_fileName = f'avatarId2Star_mapping_{version}.json' avatarName2Weapon_fileName = f'avatarName2Weapon_mapping_{version}.json' +avatarId2SkillList_fileName = f'avatarId2SkillList_mapping_{version}.json' +weaponId2Name_fileName = f'weaponId2Name_mapping_{version}.json' monster2entry_fileName = f'monster2entry_mapping_{version}.json' @@ -72,6 +74,149 @@ } +async def weaponId2Name(): + result = {} + print('正在执行weaponId2Name') + with open( + DATA_PATH / 'WeaponExcelConfigData.json', + 'r', + encoding='UTF-8', + ) as f: + weapon_data = json.load(f) + + for weapon in weapon_data: + if str(weapon['nameTextMapHash']) in raw_data: + result[weapon['id']] = raw_data[str(weapon['nameTextMapHash'])] + + with open( + MAP_PATH / weaponId2Name_fileName, + 'w', + encoding='UTF-8', + ) as f: + json.dump(result, f, ensure_ascii=False, indent=4) + + +async def avatarId2SkillGroupList(): + result = {} + print('正在执行avatarId2SkillList') + with open( + MAP_PATH / f'enName2AvatarID_mapping_{version}.json', + 'r', + encoding='UTF-8', + ) as f: + en_name = json.load(f) + + with open( + DATA_PATH / 'AvatarSkillExcelConfigData.json', + 'r', + encoding='UTF-8', + ) as f: + skill_data = json.load(f) + + for skill in skill_data: + if 'proudSkillGroupId' in skill: + if skill['abilityName']: + _name = skill['skillIcon'].split('_')[2] + count = skill['abilityName'].count('_') + + if 'Diluc' in skill['abilityName']: + name = 'Diluc' + elif count <= 1: + name = skill['abilityName'].split('_')[0] + elif count >= 3: + if skill['abilityName'].split('_')[1] == _name: + name = skill['abilityName'].split('_')[1] + else: + continue + else: + name = skill['abilityName'].split('_')[1] + + if ( + _name != name + and skill['skillIcon'].count('_') > 2 + and 'Catalyst' not in skill['skillIcon'] + ): + print(_name) + print(name) + continue + + else: + name = skill['skillIcon'].split('_')[2] + + if not skill['skillIcon'].startswith( + ('Skill_A', 'Skill_S', 'Skill_E') + ): + continue + + if name not in en_name: + name = name.split(' ')[-1] + for _en in en_name: + en = _en.split(' ')[-1] + if en == 'Jean': + en = 'Qin' + elif en == 'Baizhu': + en = 'Baizhuer' + elif en == 'Alhaitham': + en = 'Alhatham' + elif en == 'Jin': + en = 'Yunjin' + elif en == 'Miko': + en = 'Yae' + elif en == 'Heizou': + en = 'Heizo' + elif en == 'Amber': + en = 'Ambor' + elif en == 'Noelle': + en = 'Noel' + elif en == 'Yanfei': + en = 'Feiyan' + elif en == 'Shogun': + en = 'Shougun' + elif en == 'Lynette': + en = 'Linette' + elif en == 'Lyney': + en = 'Liney' + elif en == 'Tao': + en = 'Hutao' + elif en == 'Thoma': + en = 'Tohma' + elif en == 'Kirara': + en = 'Momoka' + elif en == 'Xianyun': + en = 'Liuyun' + if name == en: + avatar_id = en_name[_en] + break + else: + if not name.startswith('Player'): + print(name) + continue + else: + avatar_id = en_name[name] + + if str(skill["nameTextMapHash"]) in raw_data: + skill_name = raw_data[str(skill["nameTextMapHash"])] + else: + skill_name = '' + + if avatar_id not in result: + result[avatar_id] = {} + + result[avatar_id][skill['proudSkillGroupId']] = skill_name + + result['10000036'] = { + "3631": "普通攻击·灭邪四式", + "3632": "灵刃·重华叠霜", + "3639": "灵刃·云开星落", + } + with open( + MAP_PATH / f'avatarId2SkillList_mapping_{version}.json', + 'w', + encoding='UTF-8', + ) as f: + json.dump(result, f, indent=4, ensure_ascii=False) + + async def monster2map(): print('正在执行monster2map') monster_list = await get_ambr_monster_list() @@ -335,14 +480,14 @@ async def artifact2attrJson() -> None: async def main(): - await monster2map() - await download_new_file() global raw_data try: with open(DATA_PATH / 'TextMapCHS.json', 'r', encoding='UTF-8') as f: raw_data = json.load(f) except FileNotFoundError: pass + await monster2map() + await download_new_file() await avatarId2NameJson() await avatarName2ElementJson() await weaponHash2NameJson() @@ -350,6 +495,8 @@ async def main(): await talentId2NameJson() await weaponHash2TypeJson() await artifact2attrJson() + await weaponId2Name() + await avatarId2SkillGroupList() asyncio.run(main()) diff --git a/GenshinUID/tools/download_icon.py b/GenshinUID/tools/download_icon.py index e47431ba..4bd7a3f1 100644 --- a/GenshinUID/tools/download_icon.py +++ b/GenshinUID/tools/download_icon.py @@ -99,7 +99,7 @@ def download_namecard_pic(): elif en == 'Jin': en = 'Yunjin' elif en == 'Miko': - en = 'Yae1' + en = 'Yae' elif en == 'Heizou': en = 'Heizo' elif en == 'Amber': diff --git a/GenshinUID/utils/image/image_tools.py b/GenshinUID/utils/image/image_tools.py index 760b53a7..996bc843 100644 --- a/GenshinUID/utils/image/image_tools.py +++ b/GenshinUID/utils/image/image_tools.py @@ -62,8 +62,14 @@ def get_v4_title(avatar: Image.Image, uid: str, title_data: IndexData): return title -def add_footer(img: Image.Image): +def add_footer(img: Image.Image, w: int = 0): footer = Image.open(TEXT_PATH / 'footer.png') + + if w != 0: + footer = footer.resize( + (w, int(footer.size[1] * w / footer.size[0])), + ) + x, y = ( int((img.size[0] - footer.size[0]) / 2), img.size[1] - footer.size[1] - 20, diff --git a/GenshinUID/utils/map/GS_MAP_PATH.py b/GenshinUID/utils/map/GS_MAP_PATH.py index 63f1a0de..54c8463d 100644 --- a/GenshinUID/utils/map/GS_MAP_PATH.py +++ b/GenshinUID/utils/map/GS_MAP_PATH.py @@ -21,6 +21,8 @@ icon2Name_fileName = f'icon2Name_mapping_{version}.json' avatarName2Weapon_fileName = f'avatarName2Weapon_mapping_{version}.json' monster2entry_fileName = f'monster2entry_mapping_{version}.json' +avatarId2SkillList_fileName = f'avatarId2SkillList_mapping_{version}.json' +weaponId2Name_fileName = f'weaponId2Name_mapping_{version}.json' EXMonster_fileName = 'ExtraMonster.json' @@ -79,3 +81,11 @@ class TS(TypedDict): with open(MAP / monster2entry_fileName, 'r', encoding='utf8') as f: monster2entry_data = msgjson.decode(f.read(), type=Dict[str, Dict]) + +with open(MAP / avatarId2SkillList_fileName, 'r', encoding='utf8') as f: + avatarId2SkillList_data = msgjson.decode( + f.read(), type=Dict[str, Dict[str, str]] + ) + +with open(MAP / weaponId2Name_fileName, 'r', encoding='utf8') as f: + weaponId2Name_data = msgjson.decode(f.read(), type=Dict[str, str]) diff --git a/GenshinUID/utils/map/data/avatarId2SkillList_mapping_4.7.0.json b/GenshinUID/utils/map/data/avatarId2SkillList_mapping_4.7.0.json new file mode 100644 index 00000000..d3c8336a --- /dev/null +++ b/GenshinUID/utils/map/data/avatarId2SkillList_mapping_4.7.0.json @@ -0,0 +1,419 @@ +{ + "10000002": { + "233": "神里流·霰步", + "232": "神里流·冰华", + "239": "神里流·霜灭", + "231": "普通攻击·神里流·倾" + }, + "10000021": { + "2139": "箭雨", + "2132": "爆弹玩偶", + "2131": "普通攻击·神射手" + }, + "10000003": { + "331": "普通攻击·西风剑术", + "332": "风压剑", + "339": "蒲公英之风" + }, + "10000006": { + "431": "普通攻击·指尖雷暴", + "432": "苍雷", + "439": "蔷薇的雷光" + }, + "10000014": { + "1431": "普通攻击·水之浅唱", + "1432": "演唱,开始♪", + "1439": "闪耀奇迹♪" + }, + "10000015": { + "1531": "普通攻击·仪典剑术", + "1532": "霜袭", + "1539": "凛冽轮舞" + }, + "10000016": { + "1631": "普通攻击·淬炼之剑", + "1632": "逆焰之刃", + "1639": "黎明" + }, + "10000020": { + "2031": "普通攻击·钢脊", + "2032": "利爪与苍雷", + "2039": "雷牙" + }, + "10000022": { + "2231": "普通攻击·神代射术", + "2232": "高天之歌", + "2239": "风神之诗" + }, + "10000023": { + "2331": "普通攻击·白案功夫", + "2332": "锅巴出击", + "2339": "旋火轮" + }, + "10000024": { + "2431": "普通攻击·征涛", + "2432": "捉浪", + "2439": "斫雷" + }, + "10000026": { + "2631": "普通攻击·卷积微尘", + "2632": "风轮两立", + "2639": "靖妖傩舞" + }, + "10000027": { + "2731": "普通攻击·千金掷", + "2732": "璇玑屏", + "2739": "天权崩玉" + }, + "10000029": { + "2931": "普通攻击·砰砰", + "2932": "蹦蹦炸弹", + "2939": "轰轰火花" + }, + "10000030": { + "3031": "普通攻击·岩雨", + "3032": "地心", + "3039": "天星" + }, + "10000031": { + "3131": "普通攻击·罪灭之矢", + "3132": "夜巡影翼", + "3139": "至夜幻现" + }, + "10000032": { + "3231": "普通攻击·好运剑", + "3232": "热情过载", + "3239": "美妙旅程" + }, + "10000033": { + "3331": "普通攻击·断雨", + "3332": "魔王武装·狂澜", + "3339": "极恶技·尽灭闪" + }, + "10000034": { + "3431": "普通攻击·西风剑术·女仆", + "3432": "护心铠", + "3439": "大扫除" + }, + "10000035": { + "3531": "普通攻击·云来古剑法", + "3532": "仙法·寒病鬼差", + "3539": "仙法·救苦度厄" + }, + "10000037": { + "3731": "普通攻击·流天射术", + "3732": "山泽麟迹", + "3739": "降众天华" + }, + "10000025": { + "2531": "普通攻击·古华剑法", + "2532": "古华剑·画雨笼山", + "2539": "古华剑·裁雨留虹" + }, + "10000038": { + "3831": "普通攻击·西风剑术·白", + "3832": "创生法·拟造阳华", + "3839": "诞生式·大地之潮" + }, + "10000039": { + "3931": "普通攻击·猎人射术", + "3932": "猫爪冻冻", + "3939": "最烈特调" + }, + "10000041": { + "4131": "普通攻击·因果点破", + "4132": "水中幻愿", + "4133": "虚实流动", + "4139": "星命定轨" + }, + "10000042": { + "4231": "普通攻击·云来剑法", + "4232": "星斗归位", + "4239": "天街巡游" + }, + "10000043": { + "4331": "普通攻击·简式风灵作成", + "4332": "风灵作成·陆叁零捌", + "4339": "禁·风灵作成·柒伍同构贰型" + }, + "10000044": { + "4431": "普通攻击·炎舞", + "4432": "热情拂扫", + "4439": "叛逆刮弦" + }, + "10000045": { + "4531": "普通攻击·教会枪术", + "4532": "噬罪的告解", + "4539": "终命的圣礼" + }, + "10000046": { + "4631": "普通攻击·往生秘传枪法", + "4632": "蝶引来生", + "4639": "安神秘法" + }, + "10000047": { + "4731": "普通攻击·我流剑术", + "4732": "千早振", + "4739": "万叶之一刀" + }, + "10000048": { + "4831": "普通攻击·火漆制印", + "4832": "丹书立约", + "4839": "凭此结契" + }, + "10000049": { + "4931": "普通攻击·烟火打扬", + "4932": "焰硝庭火舞", + "4939": "琉金云间草" + }, + "10000050": { + "5031": "普通攻击·迅破枪势", + "5032": "烈烧佑命之侍护", + "5039": "真红炽火之大铠" + }, + "10000051": { + "5131": "普通攻击·西风剑术·宗室", + "5132": "冰潮的涡旋", + "5139": "凝浪之光剑" + }, + "10000052": { + "5231": "普通攻击·源流", + "5232": "神变·恶曜开眼", + "5239": "奥义·梦想真说" + }, + "10000053": { + "5331": "普通攻击·忍刀·终末番", + "5332": "呜呼流·风隐急进", + "5339": "呜呼流·影貉缭乱" + }, + "10000054": { + "5431": "普通攻击·水有常形", + "5432": "海月之誓", + "5439": "海人化羽" + }, + "10000055": { + "5531": "普通攻击·呲牙裂扇箭", + "5532": "犬坂吠吠方圆阵", + "5539": "兽牙逐突形胜战法" + }, + "10000056": { + "5631": "普通攻击·天狗传弓术", + "5632": "鸦羽天狗霆雷召咒", + "5639": "煌煌千道镇式" + }, + "10000057": { + "5731": "普通攻击· 喧哗屋传说", + "5732": "魔杀绝技·赤牛发破!", + "5739": "最恶鬼王·一斗轰临!!" + }, + "10000058": { + "5831": "普通攻击·狐灵食罪式", + "5832": "野干役咒·杀生樱", + "5839": "大密法·天狐显真" + }, + "10000059": { + "5931": "普通攻击·不动流格斗术", + "5932": "勠心拳", + "5939": "聚风蹴" + }, + "10000060": { + "6031": "普通攻击·潜形隐曜弓", + "6032": "萦络纵命索", + "6039": "渊图玲珑骰" + }, + "10000061": { + "6131": "普通攻击·箱纸切削术", + "6132": "呜喵町飞足", + "6139": "秘法·惊喜特派" + }, + "10000062": { + "6231": "普通攻击·快速射击", + "6232": "冰尘雪野", + "6239": "曙光预言" + }, + "10000063": { + "6331": "普通攻击·踏辰摄斗", + "6332": "仰灵威召将役咒", + "6339": "神女遣灵真诀" + }, + "10000064": { + "6431": "普通攻击·拂云出手", + "6432": "旋云开相", + "6439": "破嶂见旌仪" + }, + "10000065": { + "6531": "普通攻击·忍流飞刃斩", + "6532": "越祓雷草之轮", + "6539": "御咏鸣神刈山祭" + }, + "10000066": { + "6631": "普通攻击·神里流·转", + "6632": "神里流·镜花", + "6639": "神里流·水囿" + }, + "10000067": { + "6731": "普通攻击·祈颂射艺", + "6732": "拂花偈叶", + "6739": "猫猫秘宝" + }, + "10000068": { + "6831": "普通攻击·妙显剑舞·改", + "6832": "镇灵之灯·烦恼解决炮", + "6839": "卡萨扎莱宫的无微不至" + }, + "10000069": { + "6931": "普通攻击·藏蕴破障", + "6932": "识果种雷", + "6939": "造生缠藤箭" + }, + "10000070": { + "7031": "普通攻击·弦月舞步", + "7032": "七域舞步", + "7039": "浮莲舞步·远梦聆泉" + }, + "10000071": { + "7131": "普通攻击·七圣枪术", + "7132": "秘仪·律渊渡魂", + "7139": "圣仪·煟煌随狼行" + }, + "10000072": { + "7231": "普通攻击·流耀枪术·守势", + "7232": "圣仪·苍鹭庇卫", + "7239": "圣仪·灰鸰衒潮" + }, + "10000073": { + "7331": "普通攻击·行相", + "7332": "所闻遍计", + "7339": "心景幻成" + }, + "10000074": { + "7431": "普通攻击·熠辉轨度剑", + "7432": "垂裳端凝之夜", + "7439": "星流摇床之梦" + }, + "10000075": { + "7531": "普通攻击·行幡鸣弦", + "7532": "羽画·风姿华歌", + "7539": "狂言·式乐五番" + }, + "10000076": { + "7631": "普通攻击·迴身箭术", + "7632": "非想风天", + "7639": "抟风秘道" + }, + "10000077": { + "7731": "普通攻击·颠扑连环枪", + "7732": "云台团团降芦菔", + "7739": "玉颗珊珊月中落" + }, + "10000078": { + "7831": "普通攻击·溯因反绎法", + "7832": "共相·理式摹写", + "7839": "殊境·显象缚结" + }, + "10000079": { + "7931": "普通攻击·拂金剑斗术", + "7932": "熔铁流狱", + "7939": "炎啸狮子咬" + }, + "10000080": { + "8031": "普通攻击·西风枪术·镝传", + "8032": "星霜的流旋", + "8039": "苍翎的颂愿" + }, + "10000081": { + "8131": "普通攻击·旋规设矩", + "8132": "画则巧施", + "8139": "繁绘隅穹" + }, + "10000082": { + "8231": "普通攻击·金匮针解", + "8232": "太素诊要", + "8239": "愈气全形论" + }, + "10000083": { + "8331": "普通攻击·迅捷礼刺剑", + "8332": "谜影障身法", + "8339": "魔术·运变惊奇" + }, + "10000084": { + "8431": "普通攻击·迫牌易位式", + "8432": "眩惑光戏法", + "8439": "大魔术·灵迹巡游" + }, + "10000085": { + "8531": "普通攻击·洑流剑", + "8532": "浮冰增压", + "8539": "猎影潜袭" + }, + "10000086": { + "8631": "普通攻击·迅烈倾霜拳", + "8632": "冰牙突驰", + "8639": "黑金狼噬" + }, + "10000087": { + "8731": "普通攻击·如水从平", + "8732": "泪水啊,我必偿还", + "8739": "潮水啊,我已归来" + }, + "10000088": { + "8831": "普通攻击·冷色摄影律", + "8832": "取景·冰点构图法", + "8839": "定格·全方位确证" + }, + "10000089": { + "8931": "普通攻击·独舞之邀", + "8932": "孤心沙龙", + "8939": "万众狂欢" + }, + "10000090": { + "9031": "普通攻击·线列枪刺·改", + "9032": "近迫式急促拦射", + "9039": "圆阵掷弹爆轰术" + }, + "10000091": { + "9131": "普通攻击·直率的辞绝", + "9132": "典仪式晶火", + "9139": "如霰澄天的鸣礼" + }, + "10000092": { + "9231": "普通攻击·刃爪悬星", + "9232": "瑞兽登高楼", + "9239": "璨焰金猊舞" + }, + "10000093": { + "9331": "普通攻击·清风散花词", + "9332": "朝起鹤云", + "9339": "暮集竹星" + }, + "10000094": { + "9431": "普通攻击·心织刀流", + "9432": "羽袖一触", + "9439": "二刀之形·比翼" + }, + "10000095": { + "9531": "普通攻击·靶向治疗", + "9532": "弹跳水疗法", + "9539": "过饱和心意注射" + }, + "10000096": { + "9631": "普通攻击·斩首之邀", + "9632": "万相化灰", + "9639": "厄月将升" + }, + "10000097": { + "9731": "普通攻击·王家苇箭术", + "9732": "古仪·鸣砂掣雷", + "9739": "秘仪·瞑光贯影" + }, + "10000098": { + "9831": "普通攻击·逐影之誓", + "9832": "狩夜之巡", + "9839": "残光将终" + }, + "10000036": { + "3631": "普通攻击·灭邪四式", + "3632": "灵刃·重华叠霜", + "3639": "灵刃·云开星落" + } +} \ No newline at end of file diff --git a/GenshinUID/utils/map/data/weaponId2Name_mapping_4.7.0.json b/GenshinUID/utils/map/data/weaponId2Name_mapping_4.7.0.json new file mode 100644 index 00000000..e9c9d0b6 --- /dev/null +++ b/GenshinUID/utils/map/data/weaponId2Name_mapping_4.7.0.json @@ -0,0 +1,202 @@ +{ + "11101": "无锋剑", + "11201": "银剑", + "11301": "冷刃", + "11302": "黎明神剑", + "11303": "旅行剑", + "11304": "暗铁剑", + "11305": "吃虎鱼刀", + "11306": "飞天御剑", + "11401": "西风剑", + "11402": "笛剑", + "11403": "祭礼剑", + "11404": "宗室长剑", + "11405": "匣里龙吟", + "11406": "试作斩岩", + "11407": "铁蜂刺", + "11408": "黑岩长剑", + "11409": "黑剑", + "11410": "暗巷闪光", + "11412": "降临之剑", + "11413": "腐殖之剑", + "11414": "天目影打刀", + "11415": "辰砂之纺锤", + "11416": "笼钓瓶一心", + "11417": "原木刀", + "11418": "西福斯的月光", + "11419": "「一心传」名刀", + "11420": "「一心传」名刀", + "11421": "「一心传」名刀", + "11422": "东花坊时雨", + "11424": "狼牙", + "11425": "海渊终曲", + "11426": "灰河渡手", + "11427": "船坞长剑", + "11428": "水仙十字之剑", + "11429": "水仙十字之剑", + "11501": "风鹰剑", + "11502": "天空之刃", + "11503": "苍古自由之誓", + "11504": "斫峰之刃", + "11505": "磐岩结绿", + "11509": "雾切之回光", + "11510": "波乱月白经津", + "11511": "圣显之钥", + "11512": "裁叶萃光", + "11513": "静水流涌之辉", + "11514": "有乐御簾切", + "11515": "赦罪", + "12101": "训练大剑", + "12201": "佣兵重剑", + "12301": "铁影阔剑", + "12302": "沐浴龙血的剑", + "12303": "白铁大剑", + "12304": "石英大剑", + "12305": "以理服人", + "12306": "飞天大御剑", + "12401": "西风大剑", + "12402": "钟剑", + "12403": "祭礼大剑", + "12404": "宗室大剑", + "12405": "雨裁", + "12406": "试作古华", + "12407": "白影剑", + "12408": "黑岩斩刀", + "12409": "螭骨剑", + "12410": "千岩古剑", + "12411": "雪葬的星银", + "12412": "衔珠海皇", + "12414": "桂木斩长正", + "12415": "玛海菈的水色", + "12416": "恶王丸", + "12417": "森林王器", + "12418": "饰铁之花", + "12424": "聊聊棒", + "12425": "浪影阔剑", + "12426": "「究极霸王超级魔剑」", + "12427": "便携动力锯", + "12501": "天空之傲", + "12502": "狼的末路", + "12503": "松籁响起之时", + "12504": "无工之剑", + "12510": "赤角石溃杵", + "12511": "苇海信标", + "12512": "裁断", + "13101": "新手长枪", + "13201": "铁尖枪", + "13301": "白缨枪", + "13302": "钺矛", + "13303": "黑缨枪", + "13304": "「旗杆」", + "13401": "匣里灭辰", + "13402": "试作星镰", + "13403": "流月针", + "13404": "黑岩刺枪", + "13405": "决斗之枪", + "13406": "千岩长枪", + "13407": "西风长枪", + "13408": "宗室猎枪", + "13409": "龙脊长枪", + "13414": "喜多院十文字", + "13415": "「渔获」", + "13416": "断浪长鳍", + "13417": "贯月矢", + "13419": "风信之锋", + "13424": "峡湾长歌", + "13425": "公义的酬报", + "13426": "沙中伟贤的对答", + "13427": "勘探钻机", + "13501": "护摩之杖", + "13502": "天空之脊", + "13504": "贯虹之槊", + "13505": "和璞鸢", + "13507": "息灾", + "13509": "薙草之稻光", + "13511": "赤沙之杖", + "13512": "赤月之形", + "14101": "学徒笔记", + "14201": "口袋魔导书", + "14301": "魔导绪论", + "14302": "讨龙英杰谭", + "14303": "异世界行记", + "14304": "翡玉法球", + "14305": "甲级宝珏", + "14306": "琥珀玥", + "14401": "西风秘典", + "14402": "流浪乐章", + "14403": "祭礼残章", + "14404": "宗室秘法录", + "14405": "匣里日月", + "14406": "试作金珀", + "14407": "万国诸海图谱", + "14408": "黑岩绯玉", + "14409": "昭心", + "14410": "暗巷的酒与诗", + "14412": "忍冬之果", + "14413": "嘟嘟可故事集", + "14414": "白辰之环", + "14415": "证誓之明瞳", + "14416": "流浪的晚星", + "14417": "盈满之实", + "14424": "遗祀玉珑", + "14425": "纯水流华", + "14426": "无垠蔚蓝之歌", + "14501": "天空之卷", + "14502": "四风原典", + "14504": "尘世之锁", + "14505": "碧落之珑", + "14506": "不灭月华", + "14509": "神乐之真意", + "14511": "千夜浮梦", + "14512": "图莱杜拉的回忆", + "14513": "金流监督", + "14514": "万世流涌大典", + "14515": "鹤鸣余音", + "15101": "猎弓", + "15201": "历练的猎弓", + "15301": "鸦羽弓", + "15302": "神射手之誓", + "15303": "反曲弓", + "15304": "弹弓", + "15305": "信使", + "15306": "黑檀弓", + "15401": "西风猎弓", + "15402": "绝弦", + "15403": "祭礼弓", + "15404": "宗室长弓", + "15405": "弓藏", + "15406": "试作澹月", + "15407": "钢轮弓", + "15408": "黑岩战弓", + "15409": "苍翠猎弓", + "15410": "暗巷猎手", + "15411": "落霞", + "15412": "幽夜华尔兹", + "15413": "风花之颂", + "15414": "破魔之弓", + "15415": "掠食者", + "15416": "曚云之月", + "15417": "王下近侍", + "15418": "竭泽", + "15419": "鹮穿之喙", + "15424": "烈阳之嗣", + "15425": "静谧之曲", + "15426": "筑云", + "15427": "测距规", + "15501": "天空之翼", + "15502": "阿莫斯之弓", + "15503": "终末嗟叹之诗", + "15507": "冬极白星", + "15508": "若水", + "15509": "飞雷之弦振", + "15511": "猎人之径", + "15512": "最初的大魔术", + "15513": "白雨心弦", + "20001": "(test)竿测试", + "10002": "(test)穿模测试", + "10003": "(test)穿模测试", + "10004": "(test)穿模测试", + "10005": "(test)穿模测试", + "10006": "(test)穿模测试", + "10008": "(test)穿模测试" +} \ No newline at end of file diff --git a/GenshinUID/utils/map/name_covert.py b/GenshinUID/utils/map/name_covert.py index 35eadc3d..4d533d3a 100644 --- a/GenshinUID/utils/map/name_covert.py +++ b/GenshinUID/utils/map/name_covert.py @@ -1,11 +1,47 @@ +from typing import Dict, Optional + from .GS_MAP_PATH import ( alias_data, avatarId2Name, avatarId2Star_data, + avatarName2Element, + weaponId2Name_data, + avatarId2SkillList_data, enName_to_avatarId_data, ) +async def weapon_id_to_name(weapon_id: str) -> str: + if weapon_id in weaponId2Name_data: + return weaponId2Name_data[weapon_id] + else: + return '未知' + + +async def name_to_weapon_id(weapon_name: str) -> str: + for _id in weaponId2Name_data: + if weapon_name == weaponId2Name_data[_id]: + return _id + else: + return '11509' + + +async def avatar_id_to_skill_groupId( + avatar_id: str, +) -> Optional[Dict[str, str]]: + if avatar_id in avatarId2SkillList_data: + return avatarId2SkillList_data[avatar_id] + else: + return None + + +async def name_to_element(name: str) -> str: + if name in avatarName2Element: + return avatarName2Element[name] + else: + return 'Cryo' + + async def avatar_id_to_name(avatar_id: str) -> str: char_name = avatarId2Name[avatar_id] return char_name diff --git a/GenshinUID/utils/resource/download_url.py b/GenshinUID/utils/resource/download_url.py index 7b317d48..287a0acf 100644 --- a/GenshinUID/utils/resource/download_url.py +++ b/GenshinUID/utils/resource/download_url.py @@ -83,6 +83,7 @@ async def download_file( name: str, sess: Optional[ClientSession] = None, ) -> Optional[Tuple[str, int, str]]: + logger.info(f"开始下载: [{name}] - {url}") if sess is None: sess = ClientSession() try: