diff --git a/genshinuid_enka/dmgCalc/dmgMap.json b/genshinuid_enka/dmgCalc/dmgMap.json new file mode 100644 index 00000000..c565c6ae --- /dev/null +++ b/genshinuid_enka/dmgCalc/dmgMap.json @@ -0,0 +1 @@ +{"胡桃": [{"seq": "护摩之杖|追忆之注连|生火暴", "critRate": 0.7000000000000001, "critDmg": 2.056, "atk": 4039.8860032000002, "other": {"生命": 35355.232, "元素精通": 80.0}}, {"seq": "护摩之杖|追忆之注连|精火暴", "critRate": 0.7000000000000001, "critDmg": 2.056, "atk": 3477.5008, "other": {"生命": 28108.0, "元素精通": 267.0}}, {"seq": "匣里灭辰|追忆之注连|生火暴", "critRate": 0.6985, "critDmg": 1.397, "atk": 3005.5919872, "other": {"生命": 32244.832, "元素精通": 301.0}}, {"seq": "匣里灭辰|追忆之注连|精火暴", "critRate": 0.6985, "critDmg": 1.397, "atk": 2573.6569600000003, "other": {"生命": 24997.600000000002, "元素精通": 488.0}}, {"seq": "护摩之杖|炽烈的炎之魔女|生火暴", "critRate": 0.7000000000000001, "critDmg": 2.056, "atk": 3911.3660032000007, "other": {}}, {"seq": "护摩之杖|炽烈的炎之魔女|精火暴", "critRate": 0.7000000000000001, "critDmg": 2.056, "atk": 3348.9808000000003, "other": {}}, {"seq": "匣里灭辰|炽烈的炎之魔女|生火暴", "critRate": 0.6985, "critDmg": 1.397, "atk": 2904.7919872, "other": {}}, {"seq": "匣里灭辰|炽烈的炎之魔女|精火暴", "critRate": 0.6985, "critDmg": 1.397, "atk": 2472.85696, "other": {}}], "托马": [{"seq": "西风长枪|绝缘之旗印千岩牢固|充生暴", "critRate": 0.7, "critDmg": "any", "atk": 1492.18, "other": {"生命": 23024.546, "充能效率": 2.224}}, {"seq": "黑缨枪|绝缘之旗印千岩牢固|充生生", "critRate": "any", "critDmg": "any", "atk": 1167.24, "other": {"生命": 33717.130999999994, "充能效率": 1.918}}], "宵宫": [{"seq": "飞雷之弦振|追忆之注连|攻火暴", "critRate": 0.8, "critDmg": 1.8559999999999999, "atk": 2308.926, "other": {}}, {"seq": "弓藏|追忆之注连|攻火暴", "critRate": 0.6985, "critDmg": 1.397, "atk": 2276.047, "other": {}}], "烟绯": [{"seq": "四风原典|流浪大地的乐团|攻火暴", "critRate": 0.768, "critDmg": 1.536, "atk": 1808.568, "other": {"元素精通": 160.0}}, {"seq": "流浪乐章|流浪大地的乐团|攻火暴", "critRate": 0.7402500000000001, "critDmg": 1.4805000000000001, "atk": 1635.5, "other": {"元素精通": 640.0}}], "可莉": [{"seq": "四风原典|炽烈的炎之魔女|攻火暴", "critRate": 0.768, "critDmg": 1.536, "atk": 1933.954, "other": {"元素精通": 80.0}}, {"seq": "流浪乐章|炽烈的炎之魔女|攻火暴", "critRate": 0.7402500000000001, "critDmg": 1.4805000000000001, "atk": 1760.886, "other": {"元素精通": 560.0}}], "迪卢克": [{"seq": "狼的末路|炽烈的炎之魔女|精火暴", "critRate": 0.6985, "critDmg": 1.397, "atk": 2193.228, "other": {"元素精通": 267.0}}, {"seq": "螭骨剑|炽烈的炎之魔女|攻火暴", "critRate": 0.8365, "critDmg": 1.673, "atk": 1803.27, "other": {"元素精通": 80.0}}], "辛焱": [{"seq": "无工之剑|苍白之火染血的骑士道|攻物暴", "critRate": 0.6025, "critDmg": 1.205, "atk": 2798.014, "other": {"防御力": 1038.7}}, {"seq": "白影剑|苍白之火染血的骑士道|攻物暴", "critRate": 0.6025, "critDmg": 1.205, "atk": 1924.6340000000002, "other": {"防御力": 1739.423}}, {"seq": "祭礼大剑|千岩牢固|防防防", "critRate": "any", "critDmg": "any", "atk": 1727.36, "other": {"防御力": 2723.7909999999997}}, {"seq": "白影剑|千岩牢固|防防防", "critRate": "any", "critDmg": "any", "atk": 1904.9, "other": {"防御力": 3136.8740000000003}}], "安柏": [{"seq": "终末嗟叹之诗|昔日宗室之仪|攻火暴", "critRate": 0.6025, "critDmg": 1.205, "atk": 2310.3860000000004, "other": {"元素精通": 240.0}}, {"seq": "阿莫斯之弓|流浪大地的乐团|攻火暴", "critRate": 0.6025, "critDmg": 1.205, "atk": 2390.1620000000003, "other": {"元素精通": 160.0}}], "香菱": [{"seq": "薙草之稻光|绝缘之旗印|充火暴", "critRate": 0.6025, "critDmg": 1.205, "atk": 1936.61616, "other": {"元素精通": 156.0, "充能效率": 2.434}}, {"seq": "薙草之稻光|绝缘之旗印|精火暴", "critRate": 0.6025, "critDmg": 1.205, "atk": 1815.7978400000002, "other": {"元素精通": 343.0, "充能效率": 1.916}}, {"seq": "天空之脊|绝缘之旗印|充火暴", "critRate": 0.6425000000000001, "critDmg": 1.2850000000000001, "atk": 1704.45, "other": {"元素精通": 156.0, "充能效率": 2.251}}, {"seq": "天空之脊|绝缘之旗印|精火暴", "critRate": 0.6425000000000001, "critDmg": 1.2850000000000001, "atk": 1704.45, "other": {"元素精通": 343.0, "充能效率": 1.733}}, {"seq": "渔获|绝缘之旗印|充火暴", "critRate": 0.5425000000000001, "critDmg": 1.3250000000000002, "atk": 1450.25, "other": {"元素精通": 156.0, "充能效率": 2.342}}, {"seq": "渔获|绝缘之旗印|精火暴", "critRate": 0.5425000000000001, "critDmg": 1.3250000000000002, "atk": 1450.25, "other": {"元素精通": 343.0, "充能效率": 1.824}}], "班尼特": [{"seq": "风鹰剑|昔日宗室之仪|充火暴", "critRate": 0.6025, "critDmg": 1.205, "atk": 1608.5, "other": {"元素精通": 80.0, "充能效率": 1.985}}, {"seq": "天空之刃|昔日宗室之仪|充火暴", "critRate": 0.6225, "critDmg": 1.245, "atk": 1349.7, "other": {"元素精通": 80.0, "充能效率": 2.536}}, {"seq": "风鹰剑|被怜爱的少女|充生治", "critRate": "any", "critDmg": "any", "atk": 1522, "other": {"生命值": 26673.102, "充能效率": 1.985}}, {"seq": "天空之刃|被怜爱的少女|充生治", "critRate": "any", "critDmg": "any", "atk": 1269.8, "other": {"生命值": 26673.102, "充能效率": 2.536}}], "夜兰": [{"seq": "若水|绝缘之旗印|充水暴", "critRate": 0.8, "critDmg": 2.076, "atk": 1254.1999999999998, "other": {"生命值": 28478.0, "充能效率": 1.918}}, {"seq": "若水|绝缘之旗印|生水暴", "critRate": 0.8, "critDmg": 2.076, "atk": 1254.1999999999998, "other": {"生命值": 35211.7, "充能效率": 1.4}}, {"seq": "终末嗟叹之诗|绝缘之旗印|生水暴", "critRate": 0.6985, "critDmg": 1.397, "atk": 1333.4, "other": {"生命值": 32899.7, "充能效率": 1.951}}, {"seq": "西风猎弓|绝缘之旗印|生水暴", "critRate": 0.6985, "critDmg": 1.397, "atk": 1148.6, "other": {"生命值": 32899.7, "充能效率": 2.013}}], "神里绫人": [{"seq": "波乱月白经津|来歆余响|攻水暴", "critRate": 0.8, "critDmg": 1.8559999999999999, "atk": 2076.022, "other": {"生命值": 21238.0}}, {"seq": "磐岩结绿|沉沦之心|攻水暴", "critRate": 0.8, "critDmg": 2.076, "atk": 2083.978, "other": {"生命值": 23981.0}}, {"seq": "黑剑|来歆余响|攻水暴", "critRate": 0.8, "critDmg": 1.746, "atk": 1885.3139999999999, "other": {"生命值": 21238.0}}], "珊瑚宫心海": [{"seq": "不灭月华|海染砗磲|生水治", "critRate": 0, "critDmg": 0, "atk": 1321.4, "other": {"生命值": 40639.802}}, {"seq": "试作金珀|海染砗磲|生水治", "critRate": 0, "critDmg": 0, "atk": 1203.8, "other": {"生命值": 39521.709}}, {"seq": "讨龙英杰谭|千岩牢固|生生治", "critRate": 0, "critDmg": 0, "atk": 1073, "other": {"生命值": 47671.664000000004}}, {"seq": "试作金珀|千岩牢固|生生治", "critRate": 0, "critDmg": 0, "atk": 1203.8, "other": {"生命值": 48493.395000000004}}], "达达利亚": [{"seq": "冬极百星|沉沦之心流浪大地的乐团|攻水暴", "critRate": 0.768, "critDmg": 1.536, "atk": 1916.294, "other": {"元素精通": 160.0}}, {"seq": "冬极百星|沉沦之心角斗士的终幕礼|攻水暴", "critRate": 0.768, "critDmg": 1.536, "atk": 2079.9139999999998, "other": {"元素精通": 80.0}}, {"seq": "天空之翼|沉沦之心角斗士的终幕礼|攻水暴", "critRate": 0.7630000000000001, "critDmg": 1.5260000000000002, "atk": 2208.35, "other": {"元素精通": 80.0}}, {"seq": "弓藏|沉沦之心角斗士的终幕礼|攻水暴", "critRate": 0.6025, "critDmg": 1.205, "atk": 2224.149, "other": {"元素精通": 80.0}}, {"seq": "苍翠猎弓|沉沦之心角斗士的终幕礼|攻水暴", "critRate": 0.7405, "critDmg": 1.481, "atk": 1889.206, "other": {"元素精通": 80.0}}], "行秋": [{"seq": "祭礼剑|沉沦之心昔日宗室之仪|攻水暴", "critRate": 0.6025, "critDmg": 1.205, "atk": 1626.9360000000001, "other": {"生命值": 17046.4, "充能效率": 1.813}}, {"seq": "磐岩结绿|绝缘之旗印|充水暴", "critRate": 0.8, "critDmg": 1.6920000000000002, "atk": 1685.8496, "other": {"生命值": 19090.8, "充能效率": 1.918}}], "莫娜": [{"seq": "流浪乐章|绝缘之旗印|攻水暴", "critRate": 0.7402500000000001, "critDmg": 1.4805000000000001, "atk": 1718.502, "other": {"充能效率": 1.82, "元素精通": 80.0}}, {"seq": "讨龙英杰谭|昔日宗室之仪|充水暴", "critRate": 0.6025, "critDmg": 1.205, "atk": 1205.4, "other": {"充能效率": 2.138}}, {"seq": "试作金珀|昔日宗室之仪|充水暴", "critRate": 0.6025, "critDmg": 1.205, "atk": 1347.1000000000001, "other": {"充能效率": 2.138}}], "芭芭拉": [{"seq": "不灭月华|被怜爱的少女|生生治", "critRate": "any", "critDmg": "any", "atk": 1231.4, "other": {"生命值": 36274.566000000006}}, {"seq": "讨龙英杰谭|被怜爱的少女|生生治", "critRate": "any", "critDmg": "any", "atk": 983, "other": {"生命值": 34865.238}}, {"seq": "试作金珀|被怜爱的少女|生生治", "critRate": "any", "critDmg": "any", "atk": 1113.8, "other": {"生命值": 35462.245}}], "鹿野院平藏": [{"seq": "天空之卷|翠绿之影|攻风暴", "critRate": 0.6025, "critDmg": 1.205, "atk": 2196.203, "other": {}}, {"seq": "四风原典|翠绿之影|攻风暴", "critRate": 0.768, "critDmg": 1.536, "atk": 1782.078, "other": {}}, {"seq": "匣里日月|翠绿之影|攻风暴", "critRate": 0.7405, "critDmg": 1.481, "atk": 1609.01, "other": {}}], "早柚": [{"seq": "狼的末路|翠绿之影|精攻治", "critRate": "any", "critDmg": "any", "atk": 2408.6240000000003, "other": {"元素精通": 443.0}}, {"seq": "西风大剑|翠绿之影|精攻治", "critRate": "any", "critDmg": "any", "atk": 1543.6680000000001, "other": {"元素精通": 443.0}}], "枫原万叶": [{"seq": "苍古自由之誓|翠绿之影|精精精", "critRate": "any", "critDmg": "any", "atk": 1397, "other": {"元素精通": 1031.0, "充能效率": 1.22}}, {"seq": "铁蜂刺|翠绿之影|精精精", "critRate": "any", "critDmg": "any", "atk": 1279.4, "other": {"元素精通": 1001.0, "充能效率": 1.22}}, {"seq": "祭礼剑|翠绿之影|精精精", "critRate": "any", "critDmg": "any", "atk": 1212.1999999999998, "other": {"元素精通": 836.0, "充能效率": 1.833}}], "魈": [{"seq": "和璞鸢|辰砂往生录|攻风暴", "critRate": 0.8, "critDmg": 1.6360000000000001, "atk": 2301.758, "other": {}}, {"seq": "护摩之杖|辰砂往生录|攻风暴", "critRate": 0.8, "critDmg": 1.8559999999999999, "atk": 2354.2052000000003, "other": {"生命": 22610.399999999998}}, {"seq": "决斗之枪|辰砂往生录|攻风暴", "critRate": 0.8, "critDmg": 1.9300000000000002, "atk": 2066.358, "other": {}}], "温迪": [{"seq": "终末嗟叹之诗|翠绿之影|精精精", "critRate": "any", "critDmg": "any", "atk": 1356.2, "other": {"元素精通": 781.0, "充能效率": 2.071}}, {"seq": "西风猎弓|翠绿之影|精精精", "critRate": "any", "critDmg": "any", "atk": 1238.6, "other": {"元素精通": 721.0, "充能效率": 2.133}}, {"seq": "绝弦|翠绿之影|充精精", "critRate": "any", "critDmg": "any", "atk": 1238.6, "other": {"元素精通": 699.0, "充能效率": 2.038}}], "琴": [{"seq": "天目影打刀|翠绿之影|攻攻治", "critRate": "any", "critDmg": "any", "atk": 2239.619, "other": {"充能效率": 1.659}}, {"seq": "西风剑|翠绿之影|攻攻治", "critRate": "any", "critDmg": "any", "atk": 1857.776, "other": {"充能效率": 1.813}}, {"seq": "风鹰剑|翠绿之影|充攻治", "critRate": "any", "critDmg": "any", "atk": 2105.958, "other": {"充能效率": 1.718}}], "砂糖": [{"seq": "祭礼残章|翠绿之影|充精精", "critRate": "any", "critDmg": "any", "atk": 1059.8, "other": {"元素精通": 755.0}}, {"seq": "试作金珀|翠绿之影|充精精", "critRate": "any", "critDmg": "any", "atk": 1127, "other": {"元素精通": 534.0}}, {"seq": "讨龙英杰谭|翠绿之影|充精精", "critRate": "any", "critDmg": "any", "atk": 996.1999999999999, "other": {"元素精通": 534.0}}], "空/荧(风)": [{"seq": "西风剑|翠绿之影|精精精", "critRate": "any", "critDmg": "any", "atk": 1270.04, "other": {"元素精通": 721.0}}], "久岐忍": [{"seq": "原木刀|千岩牢固|生生治", "critRate": "any", "critDmg": "any", "atk": 1204.55, "other": {"元素精通": 160.0, "生命值": 41302.908}}, {"seq": "西风剑|千岩牢固|生生治", "critRate": "any", "critDmg": "any", "atk": 1141.3, "other": {"元素精通": 160.0, "生命值": 41302.908}}, {"seq": "西风剑|饰金之梦|精精治", "critRate": "any", "critDmg": "any", "atk": 1141.3, "other": {"元素精通": 594.0, "生命值": 27391.760000000002}}, {"seq": "铁蜂刺|千岩牢固|生生治", "critRate": "any", "critDmg": "any", "atk": 1141.3, "other": {"元素精通": 325.0, "生命值": 41302.908}}], "八重神子": [{"seq": "神乐之真意|如雷的盛怒角斗士的终幕礼|攻雷暴", "critRate": 0.8, "critDmg": 1.8559999999999999, "atk": 2155.808, "other": {"元素精通": 80.0}}, {"seq": "神乐之真意|饰金之梦|攻雷暴", "critRate": 0.8, "critDmg": 1.8559999999999999, "atk": 1985.1680000000001, "other": {"元素精通": 160.0}}, {"seq": "天空之卷|如雷的盛怒角斗士的终幕礼|攻雷暴", "critRate": 0.6985, "critDmg": 1.397, "atk": 2619.878, "other": {"元素精通": 80.0}}, {"seq": "流浪乐章|如雷的盛怒角斗士的终幕礼|攻雷暴", "critRate": 0.79995, "critDmg": 1.7451, "atk": 1965.1, "other": {"元素精通": 80.0}}], "雷电将军": [{"seq": "薙草之稻光|绝缘之旗印|充雷暴", "critRate": 0.6025, "critDmg": 1.205, "atk": 2012.8694000000003, "other": {"充能效率": 2.7890000000000006}}, {"seq": "渔获|绝缘之旗印|充攻暴", "critRate": 0.5425000000000001, "critDmg": 1.3250000000000002, "atk": 1806.802, "other": {"充能效率": 2.697}}], "九条裟罗": [{"seq": "天空之翼|绝缘之旗印|充雷暴", "critRate": 0.8, "critDmg": 1.4520000000000002, "atk": 1649.26, "other": {"充能效率": 1.918}}, {"seq": "祭礼弓|绝缘之旗印|充雷暴", "critRate": 0.7, "critDmg": 1.01, "atk": 1481.4, "other": {"充能效率": 2.2239999999999998}}], "刻晴": [{"seq": "雾切之回光|如雷的盛怒|攻雷暴", "critRate": 0.73375, "critDmg": 1.7675, "atk": 2071.702, "other": {}}, {"seq": "磐岩结绿|如雷的盛怒|攻雷暴", "critRate": 0.75, "critDmg": 2.176, "atk": 2116.0804, "other": {}}, {"seq": "匣里龙吟|如雷的盛怒|攻雷暴", "critRate": 0.6234999999999999, "critDmg": 1.547, "atk": 2126.107, "other": {}}], "雷泽": [{"seq": "螭骨剑|角斗士的终幕礼|攻物暴", "critRate": 0.7405, "critDmg": 1.481, "atk": 1758.824, "other": {}}, {"seq": "狼的末路|角斗士的终幕礼|攻物暴", "critRate": 0.6025, "critDmg": 1.205, "atk": 2535.5640000000003, "other": {}}], "菲谢尔": [{"seq": "绝弦|如雷的盛怒角斗士的终幕礼|攻雷暴", "critRate": 0.6025, "critDmg": 1.205, "atk": 1959.244, "other": {}}, {"seq": "绝弦|饰金之梦|攻雷暴", "critRate": 0.6025, "critDmg": 1.205, "atk": 1823.5240000000001, "other": {}}, {"seq": "天空之翼|如雷的盛怒角斗士的终幕礼|攻雷暴", "critRate": 0.7630000000000001, "critDmg": 1.5260000000000002, "atk": 2317.748, "other": {}}, {"seq": "天空之翼|饰金之梦|攻雷暴", "critRate": 0.7630000000000001, "critDmg": 1.5260000000000002, "atk": 2152.5080000000003, "other": {}}], "丽莎": [{"seq": "四风原典|祭雷之人角斗士的终幕礼|攻雷暴", "critRate": 0.768, "critDmg": 1.536, "atk": 1945.6399999999999, "other": {}}, {"seq": "流浪乐章|昔日宗室之仪|攻雷暴", "critRate": 0.7402500000000001, "critDmg": 1.4805000000000001, "atk": 1621.372, "other": {}}], "北斗": [{"seq": "狼的末路|绝缘之旗印|充雷暴", "critRate": 0.6025, "critDmg": 1.205, "atk": 1973.668, "other": {"充能效率": 1.918}}, {"seq": "螭骨剑|绝缘之旗印|充攻暴", "critRate": 0.7405, "critDmg": 1.481, "atk": 1609.01, "other": {"充能效率": 1.918}}], "空/荧(雷)": [{"seq": "西风剑|绝缘之旗印|充雷暴", "critRate": 0.6025, "critDmg": 1.205, "atk": 1270.04, "other": {"充能效率": 2.5309999999999997}}], "提纳里": [{"seq": "猎人之径|深林的记忆|精草暴", "critRate": 0.8, "critDmg": 1.6920000000000002, "atk": 1113, "other": {"元素精通": 267.0}}, {"seq": "猎人之径|饰金之梦|精草暴", "critRate": 0.8, "critDmg": 1.6920000000000002, "atk": 1225.2800000000002, "other": {"元素精通": 347.0}}, {"seq": "阿莫斯之弓|深林的记忆|精草暴", "critRate": 0.6025, "critDmg": 1.205, "atk": 1609.528, "other": {"元素精通": 267.0}}, {"seq": "苍翠猎弓|深林的记忆|精草暴", "critRate": 0.7405, "critDmg": 1.481, "atk": 1081, "other": {"元素精通": 267.0}}], "柯莱": [{"seq": "终末嗟叹之诗|深林的记忆|攻草暴", "critRate": 0.6025, "critDmg": 1.205, "atk": 1851.048, "other": {"元素精通": 120.0, "充能效率": 1.701}}, {"seq": "终末嗟叹之诗|昔日宗室之仪|攻草暴", "critRate": 0.6025, "critDmg": 1.205, "atk": 1851.048, "other": {"元素精通": 120.0, "充能效率": 1.701}}, {"seq": "西风猎弓|深林的记忆|攻草暴", "critRate": 0.6025, "critDmg": 1.205, "atk": 1557.524, "other": {"元素精通": 60.0, "充能效率": 1.763}}, {"seq": "西风猎弓|昔日宗室之仪|攻草暴", "critRate": 0.6025, "critDmg": 1.205, "atk": 1557.524, "other": {"元素精通": 60.0, "充能效率": 1.763}}], "空/荧(草)": [{"seq": "天空之刃|深林的记忆|精草暴", "critRate": 0.6225, "critDmg": 1.245, "atk": 1327.8, "other": {"元素精通": 267.0, "充能效率": 1.751}}, {"seq": "西风剑|深林的记忆|精草暴", "critRate": 0.6025, "critDmg": 1.205, "atk": 1136.8400000000001, "other": {"元素精通": 267.0, "充能效率": 1.813}}, {"seq": "原木刀|深林的记忆|精草暴", "critRate": 0.6025, "critDmg": 1.205, "atk": 1136.8400000000001, "other": {"元素精通": 267.0, "充能效率": 1.506}}], "申鹤": [{"seq": "息灾|角斗士的终幕礼追忆之注连|攻攻攻", "critRate": "any", "critDmg": "any", "atk": 4084.495, "other": {"充能效率": 1.8}}, {"seq": "薙草之稻光|角斗士的终幕礼追忆之注连|攻攻攻", "critRate": "any", "critDmg": "any", "atk": 3798.74336, "other": {"充能效率": 2.351}}, {"seq": "天空之脊|角斗士的终幕礼追忆之注连|攻攻攻", "critRate": "any", "critDmg": "any", "atk": 3681.1879999999996, "other": {"充能效率": 2.168}}, {"seq": "西风长枪|角斗士的终幕礼追忆之注连|攻攻攻", "critRate": "any", "critDmg": "any", "atk": 3305.5739999999996, "other": {"充能效率": 2.106}}], "神里绫华": [{"seq": "雾切之回光|冰风迷途的勇士|攻冰暴", "critRate": 0.3499499999999999, "critDmg": 2.5351, "atk": 2105.2560000000003, "other": {}}, {"seq": "天目影打刀|冰风迷途的勇士|攻冰暴", "critRate": 0.35, "critDmg": 2.094, "atk": 2155.3320000000003, "other": {}}], "优菈": [{"seq": "松籁响起之时|苍白之火|攻物暴", "critRate": 0.6234999999999999, "critDmg": 1.547, "atk": 2396.8579999999997, "other": {}}, {"seq": "狼的末路|苍白之火|攻物暴", "critRate": 0.6234999999999999, "critDmg": 1.547, "atk": 2649.8999999999996, "other": {}}, {"seq": "螭骨剑|苍白之火|攻物暴", "critRate": 0.75, "critDmg": 1.846, "atk": 1815.632, "other": {}}], "甘雨": [{"seq": "阿莫斯之弓|冰风迷途的勇士|攻冰暴", "critRate": 0.25, "critDmg": 2.294, "atk": 2444.066, "other": {}}, {"seq": "破魔之弓|冰风迷途的勇士|攻冰暴", "critRate": 0.25, "critDmg": 2.294, "atk": 2139.1130000000003, "other": {}}, {"seq": "试作澹月|冰风迷途的勇士|攻冰暴", "critRate": 0.25, "critDmg": 2.294, "atk": 2152.255, "other": {}}, {"seq": "阿莫斯之弓|流浪大地的乐团|攻冰暴", "critRate": 0.5235000000000001, "critDmg": 1.747, "atk": 2444.066, "other": {"元素精通": 80.0}}, {"seq": "阿莫斯之弓|流浪大地的乐团|精冰暴", "critRate": 0.5235000000000001, "critDmg": 1.747, "atk": 2004.628, "other": {"元素精通": 267.0}}, {"seq": "破魔之弓|流浪大地的乐团|攻冰暴", "critRate": 0.5235000000000001, "critDmg": 1.747, "atk": 2139.1130000000003, "other": {"元素精通": 80.0}}, {"seq": "试作澹月|流浪大地的乐团|攻冰暴", "critRate": 0.5235000000000001, "critDmg": 1.747, "atk": 2152.255, "other": {"元素精通": 80.0}}], "凯亚": [{"seq": "西风剑|绝缘之旗印|攻冰暴", "critRate": 0.5275, "critDmg": 1.355, "atk": 1506.582, "other": {"充能效率": 2.28}}, {"seq": "磐岩结绿|绝缘之旗印|充冰暴", "critRate": 0.748, "critDmg": 1.796, "atk": 1558.3448, "other": {"充能效率": 2.185}}], "重云": [{"seq": "狼的末路|冰风迷途的勇士昔日宗室之仪|攻冰暴", "critRate": 0.5275, "critDmg": 1.355, "atk": 2556.362, "other": {}}, {"seq": "螭骨剑|冰风迷途的勇士昔日宗室之仪|攻冰暴", "critRate": 0.6655000000000001, "critDmg": 1.6310000000000002, "atk": 1781.3980000000001, "other": {}}], "七七": [{"seq": "祭礼剑|海染砗磲|攻攻治", "critRate": "any", "critDmg": "any", "atk": 1964.9120000000003, "other": {}}, {"seq": "风鹰剑|海染砗磲|攻攻治", "critRate": "any", "critDmg": "any", "atk": 2648.1520000000005, "other": {}}, {"seq": "笛剑|海染砗磲|攻攻治", "critRate": "any", "critDmg": "any", "atk": 2419.065, "other": {}}], "迪奥娜": [{"seq": "祭礼弓|被怜爱的少女千岩牢固|生生生", "critRate": "any", "critDmg": "any", "atk": 1243.4, "other": {"生命值": 31293.900000000005}}], "罗莎莉亚": [{"seq": "西风长枪|昔日宗室之仪|攻冰暴", "critRate": 0.7, "critDmg": 1.0099999999999998, "atk": 1925.8300000000002, "other": {}}], "埃洛伊": [{"seq": "西风猎弓|冰风迷途的勇士角斗士的终幕礼|攻冰暴", "critRate": 0.5275, "critDmg": 1.355, "atk": 1649.848, "other": {}}], "荒泷一斗": [{"seq": "赤角石溃杵|华馆梦醒形骸记|防岩暴", "critRate": 0.8, "critDmg": 2.076, "atk": 1233.8, "other": {"防御力": 2431.065, "充能效率": 1.22}}, {"seq": "螭骨剑|华馆梦醒形骸记|防岩暴", "critRate": 0.8, "critDmg": 1.746, "atk": 1195.4, "other": {"防御力": 2162.545, "充能效率": 1.22}}, {"seq": "白影剑|华馆梦醒形骸记|防岩暴", "critRate": 0.6985, "critDmg": 1.397, "atk": 1195.4, "other": {"防御力": 2658.348, "充能效率": 1.22}}], "五郎": [{"seq": "西风猎弓|流放者|充岩暴", "critRate": 0.6025, "critDmg": "any", "atk": 1075.4, "other": {"防御力": 1083.456, "充能效率": 2.5309999999999997}}], "阿贝多": [{"seq": "辰砂之纺锤|华馆梦醒形骸记|防岩暴", "critRate": 0.6025, "critDmg": 1.205, "atk": 1157, "other": {"防御力": 2579.8199999999997}}, {"seq": "辰砂之纺锤|悠古的磐岩|防岩暴", "critRate": 0.6025, "critDmg": 1.205, "atk": 1157, "other": {"防御力": 2317.02}}, {"seq": "辰砂之纺锤|千岩牢固|防岩暴", "critRate": 0.6025, "critDmg": 1.205, "atk": 1157, "other": {"防御力": 2317.02}}], "钟离": [{"seq": "黑缨枪|千岩牢固|生生生", "critRate": "any", "critDmg": "any", "atk": 1037, "other": {"生命值": 55727.565}}, {"seq": "护摩之杖|千岩牢固|生生生", "critRate": 0.6125, "critDmg": 1.225, "atk": 1755.9968800000001, "other": {"生命值": 51774.61000000001}}, {"seq": "护摩之杖|悠古的磐岩昔日宗室之仪|生岩暴", "critRate": 0.768, "critDmg": 1.536, "atk": 1611.1629599999999, "other": {"生命值": 33670.369999999995}}], "诺艾尔": [{"seq": "赤角石溃杵|华馆梦醒形骸记|防岩暴", "critRate": 0.7, "critDmg": 1.8920000000000001, "atk": 1190.6, "other": {"防御力": 2166.0889999999995}}, {"seq": "螭骨剑|华馆梦醒形骸记|防岩暴", "critRate": 0.7405, "critDmg": 1.481, "atk": 1152.1999999999998, "other": {"防御力": 2041.4449999999997}}, {"seq": "白影剑|华馆梦醒形骸记|防岩暴", "critRate": 0.6025, "critDmg": 1.205, "atk": 1152.1999999999998, "other": {"防御力": 2454.528}}], "凝光": [{"seq": "四风原典|悠古的磐岩角斗士的终幕礼|攻岩暴", "critRate": 0.768, "critDmg": 1.536, "atk": 1906.72, "other": {}}, {"seq": "尘世之锁|悠古的磐岩角斗士的终幕礼|攻岩暴", "critRate": 0.6025, "critDmg": 1.205, "atk": 2313.44, "other": {}}, {"seq": "流浪乐章|悠古的磐岩角斗士的终幕礼|攻岩暴", "critRate": 0.7, "critDmg": 1.5611000000000002, "atk": 1716.012, "other": {}}], "空/荧(岩)": [{"seq": "雾切之回光|悠古的磐岩角斗士的终幕礼|攻岩暴", "critRate": 0.71275, "critDmg": 1.4255, "atk": 2247.7960000000003, "other": {}}, {"seq": "磐岩结绿|悠古的磐岩角斗士的终幕礼|攻岩暴", "critRate": 0.8, "critDmg": 1.6920000000000002, "atk": 2199.304, "other": {}}, {"seq": "黑剑|悠古的磐岩角斗士的终幕礼|攻岩暴", "critRate": 0.7405, "critDmg": 1.481, "atk": 1889.292, "other": {}}], "云堇": [{"seq": "薙草之稻光|华馆梦醒形骸记|防防防", "critRate": "any", "critDmg": "any", "atk": 1631.7789599999999, "other": {"充能效率": 2.618, "防御": 2511.0139999999997}}, {"seq": "天空之脊|华馆梦醒形骸记|防防防", "critRate": "any", "critDmg": "any", "atk": 1349, "other": {"充能效率": 2.435, "防御": 2511.0139999999997}}, {"seq": "西风长枪|华馆梦醒形骸记|防防暴", "critRate": 0.6, "critDmg": "any", "atk": 1218.1999999999998, "other": {"充能效率": 2.173, "防御": 2083.092}}], "旅行者": [{"seq": "护摩之杖|无锋剑|生火暴", "critRate": 0.65, "critDmg": 1.55, "atk": 2300, "other": {"生命": 16000, "元素精通": 45}}]} \ No newline at end of file diff --git a/genshinuid_enka/dmgCalc/dmg_calc.py b/genshinuid_enka/dmgCalc/dmg_calc.py index 9477fb44..9b36b50a 100644 --- a/genshinuid_enka/dmgCalc/dmg_calc.py +++ b/genshinuid_enka/dmgCalc/dmg_calc.py @@ -32,13 +32,109 @@ with open(DMG_PATH / 'char_talent_effect.json', "r", encoding='UTF-8') as f: with open(DMG_PATH / 'char_skill_effect.json', "r", encoding='UTF-8') as f: char_skill_effect_map = json.load(f) +with open(DMG_PATH / 'dmgMap.json', "r", encoding='UTF-8') as f: + dmgMap = json.load(f) + dmgBar_1 = Image.open(DMG_TEXT_PATH / 'dmgBar_1.png') dmgBar_2 = Image.open(DMG_TEXT_PATH / 'dmgBar_2.png') -async def draw_dmgCacl_img(raw_data: dict) -> Tuple[Image.Image, int]: - with open(DMG_PATH / 'char_action.json', "r", encoding='UTF-8') as f: - char_action = json.load(f) +async def get_first_main(mainName: str) -> str: + if '伤害加成' in mainName: + equipMain = mainName[0] + elif '元素' in mainName: + equipMain = mainName[2] + elif '百分比' in mainName: + if '血量' in mainName: + equipMain = '生' + else: + equipMain = mainName[3] + else: + equipMain = mainName[0] + return equipMain + + +async def get_char_percent(raw_data: dict, prop: dict, char_name: str) -> str: + # print(prop) + percent = '0.0%' + weaponName = raw_data['weaponInfo']['weaponName'] + + equipMain = '' + for aritifact in raw_data['equipList']: + mainName = aritifact['reliquaryMainstat']['statName'] + artifactsPos = aritifact['aritifactPieceName'] + if artifactsPos == '时之沙': + equipMain += await get_first_main(mainName) + elif artifactsPos == '空之杯': + equipMain += await get_first_main(mainName) + elif artifactsPos == '理之冠': + equipMain += await get_first_main(mainName) + + if 'equipSets' in raw_data: + equipSets = raw_data['equipSets'] + else: + artifact_set_list = [] + for i in raw_data['equipList']: + artifact_set_list.append(i['aritifactSetsName']) + equipSetList = set(artifact_set_list) + equipSets = {'type': '', 'set': ''} + for equip in equipSetList: + if artifact_set_list.count(equip) >= 4: + equipSets['type'] = '4' + equipSets['set'] = equip + break + elif artifact_set_list.count(equip) == 1: + pass + elif artifact_set_list.count(equip) >= 2: + equipSets['type'] += '2' + equipSets['set'] += equip + + if equipSets['type'] in ['2', '']: + seq = '' + else: + seq = '{}|{}|{}'.format( + weaponName.replace('「', '').replace('」', ''), + equipSets['set'], + equipMain, + ) + print(seq) + std_prop = dmgMap[char_name] + for std_seq in std_prop: + if std_seq['seq'] == seq: + std = std_seq + break + else: + std = dmgMap[char_name][0] + print(std) + f = [] + c = 0.83 + if std['critRate'] != 'any': + crate = (prop['critrate'] - std['critRate']) / 2 + c = c * (crate + 1) + if char_name == '珊瑚宫心海': + c = 0.83 + else: + if std['critDmg'] != 'any': + f.append(float(prop['critdmg'] / std['critDmg'])) + if std['atk'] != 'any': + f.append(float(prop['attack'] / std['atk'])) + for i in std['other']: + if '生命' in i: + f.append(float(prop['hp'] / std['other'][i])) + elif '充能' in i: + f.append(float(prop['ce'] / std['other'][i])) + elif '精通' in i: + f.append(float(prop['em'] / std['other'][i])) + elif '防御' in i: + f.append(float(prop['defense'] / std['other'][i])) + else: + f.append(1) + print(f) + percent = '{:.2f}'.format(c * (float(sum(f) / len(f)) * 100)) + return percent + + +async def calc_prop(raw_data: dict, power_list: dict) -> dict: # 获取值 char_name = raw_data['avatarName'] char_level = int(raw_data['avatarLevel']) @@ -47,15 +143,11 @@ async def draw_dmgCacl_img(raw_data: dict) -> Tuple[Image.Image, int]: weaponAffix = raw_data['weaponInfo']['weaponAffix'] skillList = raw_data['avatarSkill'] - # a_skill_name = skillList[0]['skillName'].replace('普通攻击·', '') prop = {} prop['A_skill_level'] = skillList[0]['skillLevel'] - # e_skill_name = skillList[1]['skillName'] prop['E_skill_level'] = skillList[1]['skillLevel'] - # q_skill_name = skillList[-1]['skillName'] prop['Q_skill_level'] = skillList[-1]['skillLevel'] - enemy_level = char_level skill_add = avatarName2SkillAdd[char_name] for skillAdd_index in range(0, 2): if len(raw_data['talentList']) >= 3 + skillAdd_index * 2: @@ -83,14 +175,6 @@ async def draw_dmgCacl_img(raw_data: dict) -> Tuple[Image.Image, int]: prop['healBouns'] = fight_prop['healBonus'] prop['shieldBouns'] = 0 - # 无action情况兜底 - if char_name not in char_action: - faild_img = Image.new('RGBA', (950, 1)) - return faild_img, 0 - - # 拿到倍率表 - power_list = char_action[char_name] - # 给每个技能 分别添加上属性 for prop_attr in [ 'attack', @@ -108,6 +192,7 @@ async def draw_dmgCacl_img(raw_data: dict) -> Tuple[Image.Image, int]: 'ignoreDef', 'shieldBouns', 'physicalDmgBonus', + 'healBouns', ]: if prop_attr in ['addDmg', 'd', 'r', 'ignoreDef']: prop['{}'.format(prop_attr)] = 0 @@ -121,6 +206,7 @@ async def draw_dmgCacl_img(raw_data: dict) -> Tuple[Image.Image, int]: 'ce', 'hp', 'physicalDmgBonus', + 'healBouns', ]: prop[f'{prop_limit}_{prop_attr}'] = prop[prop_attr] else: @@ -270,7 +356,7 @@ async def draw_dmgCacl_img(raw_data: dict) -> Tuple[Image.Image, int]: del power_list['effect'] # 特殊效果,目前有雷神满愿力 - extra_effect = {} + prop['extra_effect'] = {} if 'extra' in power_list: if char_name == '雷电将军': extra_value = ( @@ -293,7 +379,7 @@ async def draw_dmgCacl_img(raw_data: dict) -> Tuple[Image.Image, int]: f'Q高空下落伤害:attack+{60*extra_value2}' ) ) - extra_effect = {'Q梦想一刀基础伤害(满愿力)': extra_value} + prop['extra_effect'] = {'Q梦想一刀基础伤害(满愿力)': extra_value} del power_list['extra'] # 在计算buff前, 引入特殊效果 @@ -302,7 +388,7 @@ async def draw_dmgCacl_img(raw_data: dict) -> Tuple[Image.Image, int]: elif char_name == '钟离': all_effect.append('r+-20') - sp = [] + prop['sp'] = [] # 计算全部的buff,添加入属性 print(all_effect) if all_effect: @@ -393,7 +479,7 @@ async def draw_dmgCacl_img(raw_data: dict) -> Tuple[Image.Image, int]: if effect_limit: # 如果限制条件为中文,则为特殊label才生效 if '\u4e00' <= effect_limit[-1] <= '\u9fff': - sp.append( + prop['sp'].append( { 'effect_name': effect_limit, 'effect_attr': effect_attr, @@ -415,6 +501,19 @@ async def draw_dmgCacl_img(raw_data: dict) -> Tuple[Image.Image, int]: for attr in ['A', 'B', 'C', 'E', 'Q']: prop[f'{attr}_{effect_attr}'] += effect_value prop[f'{effect_attr}'] += effect_value + return prop + + +async def draw_dmgCacl_img( + raw_data: dict, power_list: dict, prop: dict +) -> Tuple[Image.Image, int]: + # 获取值 + char_name = raw_data['avatarName'] + char_level = int(raw_data['avatarLevel']) + enemy_level = char_level + + extra_effect = prop['extra_effect'] + sp = prop['sp'] # 计算伤害计算部分图片长宽值 w = 950 diff --git a/genshinuid_enka/draw_char_card.py b/genshinuid_enka/draw_char_card.py index b77423e3..06e8f5f6 100644 --- a/genshinuid_enka/draw_char_card.py +++ b/genshinuid_enka/draw_char_card.py @@ -11,7 +11,13 @@ from PIL import Image, ImageDraw, ImageChops from ..utils.db_operation.db_operation import config_check from ..utils.draw_image_tools.send_image_tool import convert_img from ..utils.genshin_fonts.genshin_fonts import genshin_font_origin -from .dmgCalc.dmg_calc import draw_dmgCacl_img, avatarName2SkillAdd +from .dmgCalc.dmg_calc import ( + DMG_PATH, + calc_prop, + draw_dmgCacl_img, + get_char_percent, + avatarName2SkillAdd, +) R_PATH = Path(__file__).parent RESOURCE_PATH = Path(__file__).parents[1] / 'resource' @@ -159,345 +165,6 @@ async def get_all_artifacts_value( return artifactsValue -async def get_first_main(mainName: str) -> str: - if '伤害加成' in mainName: - equipMain = mainName[0] - elif '元素' in mainName: - equipMain = mainName[2] - elif '百分比' in mainName: - if '血量' in mainName: - equipMain = '生' - else: - equipMain = mainName[3] - else: - equipMain = mainName[0] - return equipMain - - -async def get_char_percent(raw_data: dict) -> str: - percent = '0.0' - char_name = raw_data['avatarName'] - weaponName = raw_data['weaponInfo']['weaponName'] - weaponType = raw_data['weaponInfo']['weaponType'] - - fight_prop = raw_data['avatarFightProp'] - hp = fight_prop['hp'] - attack = fight_prop['atk'] - defense = fight_prop['def'] - em = fight_prop['elementalMastery'] - critrate = fight_prop['critRate'] - critdmg = fight_prop['critDmg'] - ce = fight_prop['energyRecharge'] - dmgBonus = ( - fight_prop['dmgBonus'] - if fight_prop['physicalDmgBonus'] <= fight_prop['dmgBonus'] - else fight_prop['physicalDmgBonus'] - ) - healBouns = fight_prop['healBonus'] - - # hp_green = fight_prop['addHp'] - # attack_green = fight_prop['addAtk'] - # defense_green = fight_prop['addDef'] - - r = 0.9 - equipMain = '' - for aritifact in raw_data['equipList']: - mainName = aritifact['reliquaryMainstat']['statName'] - artifactsPos = aritifact['aritifactPieceName'] - if artifactsPos == '时之沙': - equipMain += await get_first_main(mainName) - elif artifactsPos == '空之杯': - equipMain += await get_first_main(mainName) - elif artifactsPos == '理之冠': - equipMain += await get_first_main(mainName) - - if 'equipSets' in raw_data: - equipSets = raw_data['equipSets'] - else: - artifact_set_list = [] - for i in raw_data['equipList']: - artifact_set_list.append(i['aritifactSetsName']) - equipSetList = set(artifact_set_list) - equipSets = {'type': '', 'set': ''} - for equip in equipSetList: - if artifact_set_list.count(equip) >= 4: - equipSets['type'] = '4' - equipSets['set'] = equip - break - elif artifact_set_list.count(equip) == 1: - pass - elif artifact_set_list.count(equip) >= 2: - equipSets['type'] += '2' - equipSets['set'] += equip - - if equipSets['type'] in ['2', '']: - seq = '' - else: - seq = '{}|{}|{}'.format( - weaponName.replace('「', '').replace('」', ''), - equipSets['set'], - equipMain, - ) - - if char_name in dmgMap: - for action in dmgMap[char_name]: - if action['seq'] == seq: - cal = action - break - else: - if '钟离' in char_name: - cal = dmgMap[char_name][-1] - else: - cal = dmgMap[char_name][0] - - print(seq) - print(cal) - if cal['action'] == 'E刹那之花': - effect_prop = defense - elif cal['key'] == '攻击力': - effect_prop = attack - elif cal['key'] == '防御力': - effect_prop = defense - elif cal['key'] == '血量': - effect_prop = hp - else: - effect_prop = attack - - dmgBonus_value_cal = 0 - dmgBonus_cal = dmgBonus - em_cal = em - - if '夜兰' in char_name: - effect_prop = hp - elif '胡桃' in char_name: - effect_prop += ( - 0.4 * hp - if 0.4 * hp <= fight_prop['baseAtk'] * 4 - else fight_prop['baseAtk'] * 4 - ) - elif '一斗' in char_name: - effect_prop += 0.9792 * defense - dmgBonus_value_cal += 0.35 * defense - elif '诺艾尔' in char_name: - effect_prop = attack - effect_prop += 1.3 * defense - elif '烟绯' in char_name: - dmgBonus_value_cal += 0.6 + 0.2 - elif '优菈' in char_name: - r = 1.065 - elif '钟离' in char_name: - r = 1.05 - elif '辛焱' in char_name: - r = 1.025 - - if '踩班' in cal['action']: - effect_prop += 1202 - effect_prop += fight_prop['baseAtk'] * 0.25 - - if '雾切' in weaponName: - dmgBonus_cal += 0.28 - elif '弓藏' in weaponName and ( - '首' in cal['action'] - or '击' in cal['action'] - or '两段' in cal['action'] - ): - dmgBonus_cal += 0.8 - elif '飞雷' in weaponName and ( - '首' in cal['action'] - or '击' in cal['action'] - or '两段' in cal['action'] - ): - dmgBonus_cal += 0.4 - elif '阿莫斯' in weaponName: - dmgBonus_cal += 0.52 - elif '破魔' in weaponName: - dmgBonus_cal += 0.18 * 2 - elif '赤角石溃杵' in weaponName and ( - '首' in cal['action'] - or '击' in cal['action'] - or '两段' in cal['action'] - ): - dmgBonus_value_cal += 0.4 * defense - elif '螭骨剑' in weaponName: - dmgBonus_cal += 0.4 - elif '松籁响起之时' in weaponName: - effect_prop += fight_prop['baseAtk'] * 0.2 - elif '试作澹月' in weaponName: - effect_prop += fight_prop['baseAtk'] * 0.72 - elif '流浪乐章' in weaponName and '烟绯' in char_name: - em_cal += 480 - elif '冬极' in weaponName: - effect_prop += fight_prop['baseAtk'] * 0.48 - dmgBonus_cal += 0.12 - - if '蒸发' in cal['action'] or '融化' in cal['action']: - k = 0 - if '蒸发' in cal['action']: - if raw_data['avatarElement'] == 'Pyro': - k = 1.5 - else: - k = 2 - elif '融化' in cal['action']: - if raw_data['avatarElement'] == 'Pyro': - k = 2 - else: - k = 1.5 - - if equipSets['type'] in ['2', '']: - a = 0 - else: - if '魔女' in equipSets['set']: - a = 0.15 - else: - a = 0 - add_dmg = k * (1 + (2.78 * em_cal) / (em_cal + 1400) + a) - else: - add_dmg = 1 - - if equipSets['type'] in ['2', '', '22']: - pass - else: - if '追忆' in equipSets['set']: - dmgBonus_cal += 0.5 - elif '绝缘' in equipSets['set']: - Bouns = ce * 0.25 if ce * 0.25 <= 0.75 else 0.75 - dmgBonus_cal += Bouns - elif '乐团' in equipSets['set']: - if weaponType in ['法器', '弓']: - dmgBonus_cal += 0.35 - elif '华馆' in equipSets['set']: - if raw_data['avatarElement'] == 'Geo': - effect_prop += 0.24 * defense - dmgBonus_cal += 0.24 - - critdmg_cal = critdmg - healBouns_cal = healBouns - - if '魈' in char_name: - dmgBonus_cal += 0.906 - elif '绫华' in char_name: - dmgBonus_cal += 0.18 - elif '宵宫' in char_name: - dmgBonus_cal += 0.5 - elif '九条' in char_name: - effect_prop += 0.9129 * fight_prop['baseAtk'] - critdmg_cal += 0.6 - - if '治疗' in cal['action']: - if equipSets['type'] in ['2', '']: - healBouns_cal += 0 - else: - if '少女' in equipSets['set']: - healBouns_cal += 0.2 - - if cal['action'] == '扩散': - dmg = 868 * 1.15 * (1 + 0.6 + (16 * em_cal) / (em_cal + 2000)) - elif '霄宫' in char_name: - dmg = ( - effect_prop - * cal['power'] - * (1 + critdmg_cal) - * (1 + dmgBonus_cal) - * 0.5 - * r - * add_dmg - * 1.5879 - ) - elif '班尼特' in char_name and 'Q治疗' in cal['action']: - power = cal['power'].split('+') - dmg = (effect_prop * float(power[0]) / 100 + float(power[1])) * ( - 1 + healBouns_cal - ) - elif '心海' in char_name and cal['action'] == '开Q普攻': - dmg = ( - (attack * cal['power'] + hp * (0.0971 + 0.15 * healBouns_cal)) - * (1 + dmgBonus_cal) - * 0.5 - * r - * add_dmg - ) - elif '心海' in char_name and cal['action'] == '水母回血': - dmg = (862 + 0.0748 * hp) * (1 + healBouns_cal) - elif char_name in ['芭芭拉', '早柚', '琴', '七七']: - power = cal['power'].split('+') - dmg = (effect_prop * float(power[0]) / 100 + float(power[1])) * ( - 1 + healBouns_cal - ) - elif '绫人' in char_name: - dmg = ( - (effect_prop * cal['power'] + 0.0222 * hp) - * (1 + critdmg_cal) - * (1 + dmgBonus_cal) - * 0.5 - * r - * add_dmg - * 1.5879 - ) - elif char_name in ['荒泷一斗', '诺艾尔']: - dmg = ( - (effect_prop * cal['power'] + dmgBonus_value_cal) - * (1 + critdmg_cal) - * (1 + dmgBonus_cal) - * 0.5 - * r - ) - elif '迪奥娜' in char_name: - dmg = (effect_prop * cal['power'] + 1905) * 1.9 - elif '钟离' in char_name and 'E实际盾值' in cal['action']: - dmg = (2506 + hp * cal['power']) * 1.5 * 1.3 - elif cal['action'] == 'Q开盾天星': - effect_prop = attack - dmg = ( - (effect_prop * cal['power'] + 0.33 * hp) - * (1 + critdmg_cal) - * (1 + dmgBonus_cal) - * 0.5 - * r - * add_dmg - ) - elif '凝光' in char_name: - dmg = ( - effect_prop - * cal['power'] - * (1 + critdmg_cal * critrate) - * (1 + dmgBonus_cal) - * 0.5 - * r - * add_dmg - ) - elif isinstance(cal['power'], str): - if cal['power'] == '攻击力': - dmg = attack - elif cal['power'] == '防御力': - dmg = defense - else: - power = cal['power'].split('+') - dmg = effect_prop * float(power[0]) / 100 + float(power[1]) - elif cal['val'] != 'any': - dmg = ( - effect_prop - * cal['power'] - * (1 + critdmg_cal) - * (1 + dmgBonus_cal) - * 0.5 - * r - * add_dmg - ) - else: - dmg = attack - print(dmg) - - if cal['val'] != 'any': - percent = '{:.2f}'.format(dmg / cal['val'] * 100) - elif cal['power'] == '攻击力': - percent = '{:.2f}'.format(dmg / cal['atk'] * 100) - elif '云堇' in char_name: - percent = '{:.2f}'.format(dmg / cal['other2'] * 100) - elif cal['power'] == '防御力': - percent = '{:.2f}'.format(dmg / cal['other'] * 100) - return percent - - async def draw_char_img( raw_data: dict, charUrl: Optional[str] = None ) -> bytes: @@ -560,7 +227,17 @@ async def draw_char_img( y2 = new_h / 2 + based_new_h / 2 - offset_y / 2 char_img = bg_img2.crop((x1, y1, x2, y2)) # type: ignore - dmg_img, dmg_len = await draw_dmgCacl_img(raw_data) + with open(DMG_PATH / 'char_action.json', "r", encoding='UTF-8') as f: + char_action = json.load(f) + # 拿到倍率表 + power_list = char_action[char_name] + new_prop = await calc_prop(raw_data, power_list) + if char_name not in char_action: + dmg_img, dmg_len = Image.new('RGBA', (950, 1)), 0 + else: + dmg_img, dmg_len = await draw_dmgCacl_img( + raw_data, power_list, new_prop + ) img_w, img_h = 950, 1850 + dmg_len * 40 overlay = Image.open(TEXT_PATH / 'overlay.png') overlay_w, overlay_h = overlay.size @@ -1053,7 +730,7 @@ async def draw_char_img( genshin_font_origin(50), anchor='mm', ) - percent = await get_char_percent(raw_data) + percent = await get_char_percent(raw_data, new_prop, char_name) img_text.text( (768, 1690), f'{str(percent)+"%"}', @@ -1088,19 +765,18 @@ async def draw_single_card( 'RGBA', overlay.size, COLOR_MAP[char['avatarElement']] ) img_base = ImageChops.overlay(color_img, overlay) - ''' - if char['char_name'] in avatarCardOffsetMap: - offset_x, offset_y = ( - avatarCardOffsetMap[char['char_name']][0], - avatarCardOffsetMap[char['char_name']][1], - ) - else: - offset_x, offset_y = 200, 0 - ''' - offset_x, offset_y = 0, 0 - char_img = Image.open(GACHA_PATH / f'{char["char_name"]}.png') + char_img_raw = Image.open(STAND_PATH / f'{char["id"]}.png') + char_img = char_img_raw.resize( + (round(char_img_raw.size[0] * 0.5), round(char_img_raw.size[1] * 0.5)) + ).convert('RGBA') - img_base.paste(char_img, (-760 + offset_x, 110 + offset_y), char_img) + offset_x, offset_y = 0, 0 + if char['char_name'] == '八重神子': + offset_x = -100 + elif char['char_name'] == '早柚': + offset_x = 50 + + img_base.paste(char_img, (-380 + offset_x, 200 + offset_y), char_img) img_card.paste(img_base, (-25, -260), char_card_mask) img_card = Image.alpha_composite(img_card, char_card_1) # img_card.paste(img_card, (0, 0), img_card) @@ -1189,6 +865,8 @@ async def draw_cahrcard_list(uid: str, limit: int = 24) -> Union[str, bytes]: return '你还没有已缓存的角色!\n请先使用【强制刷新】进行刷新!' char_done_list = [] + with open(DMG_PATH / 'char_action.json', "r", encoding='UTF-8') as f: + char_action = json.load(f) for char_name in char_list: temp = {} with open(uid_fold / f'{char_name}.json', 'r', encoding='UTF-8') as f: @@ -1198,9 +876,13 @@ async def draw_cahrcard_list(uid: str, limit: int = 24) -> Union[str, bytes]: skillList = raw_data['avatarSkill'] temp['char_name'] = char_name + temp['id'] = raw_data['avatarId'] temp['avatarEnName'] = raw_data['avatarEnName'] temp['avatarElement'] = raw_data['avatarElement'] - temp['percent'] = await get_char_percent(raw_data) + # 拿到倍率表 + power_list = char_action[char_name] + new_prop = await calc_prop(raw_data, power_list) + temp['percent'] = await get_char_percent(raw_data, new_prop, char_name) temp['critrate'] = fight_prop['critRate'] temp['critdmg'] = fight_prop['critDmg'] baseHp = fight_prop['baseHp'] diff --git a/genshinuid_enka/etc/dmgMap.json b/genshinuid_enka/etc/dmgMap.json deleted file mode 100644 index b11f0c7c..00000000 --- a/genshinuid_enka/etc/dmgMap.json +++ /dev/null @@ -1 +0,0 @@ -{"胡桃": [{"seq": "护摩之杖|追忆之注连|生火暴", "action": "重击蒸发", "crit_rate": 0.7000000000000001, "atk": 4039.8860032000002, "dmgBouns": 1.296, "defArea": 0.5, "resArea": 0.9, "other": 35355.232, "other2": 80, "key": "攻击力", "power": 2.4257, "val": 53386.95}, {"seq": "护摩之杖|追忆之注连|精火暴", "action": "重击蒸发", "crit_rate": 0.7000000000000001, "atk": 3477.5008, "dmgBouns": 1.296, "defArea": 0.5, "resArea": 0.9, "other": 28108, "other2": 267, "key": "攻击力", "power": 2.4257, "val": 57740.61}, {"seq": "匣里灭辰|追忆之注连|生火暴", "action": "重击蒸发", "crit_rate": 0.6985, "atk": 3005.5919872, "dmgBouns": 1.6560000000000001, "defArea": 0.5, "resArea": 0.9, "other": 32244.832, "other2": 301, "key": "攻击力", "power": 2.4257, "val": 46743.01}, {"seq": "匣里灭辰|追忆之注连|精火暴", "action": "重击蒸发", "crit_rate": 0.6985, "atk": 2573.6569600000003, "dmgBouns": 1.6560000000000001, "defArea": 0.5, "resArea": 0.9, "other": 24997.600000000002, "other2": 488, "key": "攻击力", "power": 2.4257, "val": 46105.44}, {"seq": "护摩之杖|炽烈的炎之魔女|生火暴", "action": "重击蒸发", "crit_rate": 0.7000000000000001, "atk": 3911.3660032000007, "dmgBouns": 1.0210000000000001, "defArea": 0.5, "resArea": 0.9, "other": 35355.232, "other2": 80, "key": "攻击力", "power": 2.4257, "val": 51430.72}, {"seq": "护摩之杖|炽烈的炎之魔女|精火暴", "action": "重击蒸发", "crit_rate": 0.7000000000000001, "atk": 3348.9808000000003, "dmgBouns": 1.0210000000000001, "defArea": 0.5, "resArea": 0.9, "other": 28108, "other2": 267, "key": "攻击力", "power": 2.4257, "val": 54026.46}, {"seq": "匣里灭辰|炽烈的炎之魔女|生火暴", "action": "重击蒸发", "crit_rate": 0.6985, "atk": 2904.7919872, "dmgBouns": 1.3810000000000002, "defArea": 0.5, "resArea": 0.9, "other": 32244.832, "other2": 301, "key": "攻击力", "power": 2.4257, "val": 44569.63}, {"seq": "匣里灭辰|炽烈的炎之魔女|精火暴", "action": "重击蒸发", "crit_rate": 0.6985, "atk": 2472.85696, "dmgBouns": 1.3810000000000002, "defArea": 0.5, "resArea": 0.9, "other": 24997.600000000002, "other2": 488, "key": "攻击力", "power": 2.4257, "val": 43179.16}], "托马": [{"seq": "西风长枪|绝缘之旗印千岩牢固|充生暴", "action": "满层护盾", "crit_rate": 0.7, "atk": 1492.18, "dmgBouns": 0, "defArea": 0.5, "resArea": 0.9, "other": 23024.546, "other2": 2.224, "key": "血量", "power": "14.40+4829", "val": 13854.62}, {"seq": "黑缨枪|绝缘之旗印千岩牢固|充生生", "action": "满层护盾", "crit_rate": "any", "atk": 1167.24, "dmgBouns": 0, "defArea": 0.5, "resArea": 0.9, "other": 33717.130999999994, "other2": 1.918, "key": "血量", "power": "14.40+4829", "val": 18046.12}], "宵宫": [{"seq": "飞雷之弦振|追忆之注连|攻火暴", "action": "开E首箭", "crit_rate": 0.8, "atk": 2308.926, "dmgBouns": 1.366, "defArea": 0.5, "resArea": 0.9, "other": null, "other2": null, "key": "攻击力", "power": 0.6359, "val": 7089.37}, {"seq": "弓藏|追忆之注连|攻火暴", "action": "开E首箭", "crit_rate": 0.6985, "atk": 2276.047, "dmgBouns": 1.766, "defArea": 0.5, "resArea": 0.9, "other": null, "other2": null, "key": "攻击力", "power": 0.6359, "val": 6856.87}], "烟绯": [{"seq": "四风原典|流浪大地的乐团|攻火暴", "action": "开Q重击蒸发", "crit_rate": 0.768, "atk": 1808.568, "dmgBouns": 2.2560000000000002, "defArea": 0.5, "resArea": 0.9, "other": 160, "other2": null, "key": "攻击力", "power": 2.7292, "val": 35355.26}, {"seq": "流浪乐章|流浪大地的乐团|攻火暴", "action": "开Q重击蒸发", "crit_rate": 0.7402500000000001, "atk": 1635.5, "dmgBouns": 1.8559999999999999, "defArea": 0.5, "resArea": 0.9, "other": 640, "other2": null, "key": "攻击力", "power": 2.7292, "val": 39960.36}], "可莉": [{"seq": "四风原典|炽烈的炎之魔女|攻火暴", "action": "金花重击蒸发", "crit_rate": 0.768, "atk": 1933.954, "dmgBouns": 1.9540000000000002, "defArea": 0.5, "resArea": 0.9, "other": 80, "other2": null, "key": "攻击力", "power": 2.8325, "val": 36017.47}, {"seq": "流浪乐章|炽烈的炎之魔女|攻火暴", "action": "金花重击蒸发", "crit_rate": 0.7402500000000001, "atk": 1760.886, "dmgBouns": 1.554, "defArea": 0.5, "resArea": 0.9, "other": 560, "other2": null, "key": "攻击力", "power": 2.8325, "val": 41469.15}], "迪卢克": [{"seq": "狼的末路|炽烈的炎之魔女|精火暴", "action": "Q蒸发", "crit_rate": 0.6985, "atk": 2193.228, "dmgBouns": 1.041, "defArea": 0.5, "resArea": 0.9, "other": 267, "other2": null, "key": "攻击力", "power": 3.264, "val": 37712.22}, {"seq": "螭骨剑|炽烈的炎之魔女|攻火暴", "action": "Q蒸发", "crit_rate": 0.8365, "atk": 1803.27, "dmgBouns": 1.4409999999999998, "defArea": 0.5, "resArea": 0.9, "other": 80, "other2": null, "key": "攻击力", "power": 3.264, "val": 33706.61}], "辛焱": [{"seq": "无工之剑|苍白之火染血的骑士道|攻物暴", "action": "Q横扫", "crit_rate": 0.6025, "atk": 2798.014, "dmgBouns": 1.083, "defArea": 0.5, "resArea": 1.025, "other": 1038.7, "other2": null, "key": "攻击力", "power": 7.242000000000001, "val": 47698.0}, {"seq": "白影剑|苍白之火染血的骑士道|攻物暴", "action": "Q横扫", "crit_rate": 0.6025, "atk": 1924.6340000000002, "dmgBouns": 1.083, "defArea": 0.5, "resArea": 1.025, "other": 1739.423, "other2": null, "key": "攻击力", "power": 7.242000000000001, "val": 32809.41}, {"seq": "祭礼大剑|千岩牢固|防防防", "action": "E盾值", "crit_rate": "any", "atk": 1727.36, "dmgBouns": 1.083, "defArea": 0.5, "resArea": 1.025, "other": 2723.7909999999997, "other2": null, "key": "防御力", "power": "2.88 + 1773", "val": 9617.52}, {"seq": "白影剑|千岩牢固|防防防", "action": "E盾值", "crit_rate": "any", "atk": 1904.9, "dmgBouns": 1.083, "defArea": 0.5, "resArea": 1.025, "other": 3136.8740000000003, "other2": null, "key": "防御力", "power": "2.88 + 1773", "val": 10807.2}], "安柏": [{"seq": "终末嗟叹之诗|昔日宗室之仪|攻火暴", "action": "Q总共", "crit_rate": 0.6025, "atk": 2310.3860000000004, "dmgBouns": 0.666, "defArea": 0.5, "resArea": 0.9, "other": 240, "other2": null, "key": "攻击力", "power": 10.1088, "val": 38608.26}, {"seq": "阿莫斯之弓|流浪大地的乐团|攻火暴", "action": "蓄力蒸发", "crit_rate": 0.6025, "atk": 2390.1620000000003, "dmgBouns": 1.336, "defArea": 0.5, "resArea": 0.9, "other": 160, "other2": null, "key": "攻击力", "power": 2.2319999999999998, "val": 26619.35}], "香菱": [{"seq": "薙草之稻光|绝缘之旗印|充火暴", "action": "Q踩班蒸发", "crit_rate": 0.6025, "atk": 1936.61616, "dmgBouns": 1.0745, "defArea": 0.5, "resArea": 0.9, "other": 156, "other2": 2.434, "key": "攻击力", "power": 2.38, "val": 29492.71}, {"seq": "薙草之稻光|绝缘之旗印|精火暴", "action": "Q踩班蒸发", "crit_rate": 0.6025, "atk": 1815.7978400000002, "dmgBouns": 0.9450000000000001, "defArea": 0.5, "resArea": 0.9, "other": 343, "other2": 1.916, "key": "攻击力", "power": 2.38, "val": 32166.85}, {"seq": "天空之脊|绝缘之旗印|充火暴", "action": "Q踩班蒸发", "crit_rate": 0.6425000000000001, "atk": 1704.45, "dmgBouns": 1.02875, "defArea": 0.5, "resArea": 0.9, "other": 156, "other2": 2.251, "key": "攻击力", "power": 2.38, "val": 28530.6}, {"seq": "天空之脊|绝缘之旗印|精火暴", "action": "Q踩班蒸发", "crit_rate": 0.6425000000000001, "atk": 1704.45, "dmgBouns": 0.8992500000000001, "defArea": 0.5, "resArea": 0.9, "other": 343, "other2": 1.733, "key": "攻击力", "power": 2.38, "val": 32314.72}, {"seq": "渔获|绝缘之旗印|充火暴", "action": "Q踩班蒸发", "crit_rate": 0.5425000000000001, "atk": 1450.25, "dmgBouns": 1.3715000000000002, "defArea": 0.5, "resArea": 0.9, "other": 156, "other2": 2.342, "key": "攻击力", "power": 2.38, "val": 30876.38}, {"seq": "渔获|绝缘之旗印|精火暴", "action": "Q踩班蒸发", "crit_rate": 0.5425000000000001, "atk": 1450.25, "dmgBouns": 1.242, "defArea": 0.5, "resArea": 0.9, "other": 343, "other2": 1.824, "key": "攻击力", "power": 2.38, "val": 35316.25}], "班尼特": [{"seq": "风鹰剑|昔日宗室之仪|充火暴", "action": "Q蒸发", "crit_rate": 0.6025, "atk": 1608.5, "dmgBouns": 0.666, "defArea": 0.5, "resArea": 0.9, "other": 80, "other2": 1.985, "key": "攻击力", "power": 4.947, "val": 39661.29}, {"seq": "天空之刃|昔日宗室之仪|充火暴", "action": "Q蒸发", "crit_rate": 0.6225, "atk": 1349.7, "dmgBouns": 0.666, "defArea": 0.5, "resArea": 0.9, "other": 80, "other2": 2.536, "key": "攻击力", "power": 4.947, "val": 35344.9}, {"seq": "风鹰剑|被怜爱的少女|充生治", "action": "Q治疗", "crit_rate": "any", "atk": 1522, "dmgBouns": "/", "defArea": 0.5, "resArea": 0.9, "other": 26673.102, "other2": 1.985, "key": "血量", "power": "12.75+1587.82", "val": 8520.91}, {"seq": "天空之刃|被怜爱的少女|充生治", "action": "Q治疗", "crit_rate": "any", "atk": 1269.8, "dmgBouns": "/", "defArea": 0.5, "resArea": 0.9, "other": 26673.102, "other2": 2.536, "key": "血量", "power": "12.75+1587.82", "val": 8520.91}], "夜兰": [{"seq": "若水|绝缘之旗印|充水暴", "action": "Q协同", "crit_rate": 0.8, "atk": 1254.1999999999998, "dmgBouns": 1.1455, "defArea": 0.5, "resArea": 0.9, "other": 28478, "other2": 1.918, "key": "血量", "power": 0.0877, "val": 7417.14}, {"seq": "若水|绝缘之旗印|生水暴", "action": "Q协同", "crit_rate": 0.8, "atk": 1254.1999999999998, "dmgBouns": 1.016, "defArea": 0.5, "resArea": 0.9, "other": 35211.7, "other2": 1.4, "key": "血量", "power": 0.0877, "val": 8617.39}, {"seq": "终末嗟叹之诗|绝缘之旗印|生水暴", "action": "Q协同", "crit_rate": 0.6985, "atk": 1333.4, "dmgBouns": 0.9537500000000001, "defArea": 0.5, "resArea": 0.9, "other": 32899.7, "other2": 1.951, "key": "血量", "power": 0.0877, "val": 6080.52}, {"seq": "西风猎弓|绝缘之旗印|生水暴", "action": "Q协同", "crit_rate": 0.6985, "atk": 1148.6, "dmgBouns": 0.96925, "defArea": 0.5, "resArea": 0.9, "other": 32899.7, "other2": 2.013, "key": "血量", "power": 0.0877, "val": 6128.76}], "神里绫人": [{"seq": "波乱月白经津|来歆余响|攻水暴", "action": "E首刀+余响/无", "crit_rate": 0.8, "atk": 2076.022, "dmgBouns": 0.986, "defArea": 0.5, "resArea": 0.9, "other": 21238, "other2": null, "key": "攻击力", "power": 1.0455, "val": 10452.57}, {"seq": "磐岩结绿|沉沦之心|攻水暴", "action": "E首刀+沉沦4", "crit_rate": 0.8, "atk": 2083.978, "dmgBouns": 0.9159999999999999, "defArea": 0.5, "resArea": 0.9, "other": 23981, "other2": null, "key": "攻击力", "power": 1.0455, "val": 7190.39}, {"seq": "黑剑|来歆余响|攻水暴", "action": "E首刀+余响/无", "crit_rate": 0.8, "atk": 1885.3139999999999, "dmgBouns": 0.8660000000000001, "defArea": 0.5, "resArea": 0.9, "other": 21238, "other2": null, "key": "攻击力", "power": 1.0455, "val": 8675.17}], "珊瑚宫心海": [{"seq": "不灭月华|海染砗磲|生水治", "action": "开Q普攻", "crit_rate": 0, "atk": 1321.4, "dmgBouns": 0.754, "defArea": 0.5, "resArea": 0.9, "other": 40639.802, "other2": 0.858, "key": "攻击力", "power": 0.9573, "val": 8241.43}, {"seq": "试作金珀|海染砗磲|生水治", "action": "开Q普攻", "crit_rate": 0, "atk": 1203.8, "dmgBouns": 0.754, "defArea": 0.5, "resArea": 0.9, "other": 39521.709, "other2": 0.758, "key": "攻击力", "power": 0.9573, "val": 7173.44}, {"seq": "讨龙英杰谭|千岩牢固|生生治", "action": "水母回血", "crit_rate": 0, "atk": 1073, "dmgBouns": 0.288, "defArea": 0.5, "resArea": 0.9, "other": 47671.664000000004, "other2": 0.608, "key": "血量", "power": 0.9573, "val": 7119.97}, {"seq": "试作金珀|千岩牢固|生生治", "action": "水母回血", "crit_rate": 0, "atk": 1203.8, "dmgBouns": 0.288, "defArea": 0.5, "resArea": 0.9, "other": 48493.395000000004, "other2": 0.608, "key": "血量", "power": 0.9573, "val": 7218.8}], "达达利亚": [{"seq": "冬极百星|沉沦之心流浪大地的乐团|攻水暴", "action": "近战Q蒸发", "crit_rate": 0.768, "atk": 1916.294, "dmgBouns": 1.024, "defArea": 0.5, "resArea": 0.9, "other": 160, "other2": null, "key": "攻击力", "power": 8.352, "val": 120257.11}, {"seq": "冬极百星|沉沦之心角斗士的终幕礼|攻水暴", "action": "近战Q蒸发", "crit_rate": 0.768, "atk": 2079.9139999999998, "dmgBouns": 1.024, "defArea": 0.5, "resArea": 0.9, "other": 80, "other2": null, "key": "攻击力", "power": 8.352, "val": 107637.65}, {"seq": "天空之翼|沉沦之心角斗士的终幕礼|攻水暴", "action": "近战Q蒸发", "crit_rate": 0.7630000000000001, "atk": 2208.35, "dmgBouns": 0.904, "defArea": 0.5, "resArea": 0.9, "other": 80, "other2": null, "key": "攻击力", "power": 8.352, "val": 91833.49}, {"seq": "弓藏|沉沦之心角斗士的终幕礼|攻水暴", "action": "近战Q蒸发", "crit_rate": 0.6025, "atk": 2224.149, "dmgBouns": 0.904, "defArea": 0.5, "resArea": 0.9, "other": 80, "other2": null, "key": "攻击力", "power": 8.352, "val": 80736.94}, {"seq": "苍翠猎弓|沉沦之心角斗士的终幕礼|攻水暴", "action": "近战Q蒸发", "crit_rate": 0.7405, "atk": 1889.206, "dmgBouns": 0.904, "defArea": 0.5, "resArea": 0.9, "other": 80, "other2": null, "key": "攻击力", "power": 8.352, "val": 77162.43}], "行秋": [{"seq": "祭礼剑|沉沦之心昔日宗室之仪|攻水暴", "action": "Q剑雨", "crit_rate": 0.6025, "atk": 1626.9360000000001, "dmgBouns": 1.016, "defArea": 0.5, "resArea": 1.025, "other": 17046.4, "other2": 1.813, "key": "攻击力", "power": 1.1533, "val": 4274.7}, {"seq": "磐岩结绿|绝缘之旗印|充水暴", "action": "Q剑雨", "crit_rate": 0.8, "atk": 1685.8496, "dmgBouns": 1.1455, "defArea": 0.5, "resArea": 1.025, "other": 19090.8, "other2": 1.918, "key": "攻击力", "power": 1.1533, "val": 5755.18}], "莫娜": [{"seq": "流浪乐章|绝缘之旗印|攻水暴", "action": "Q暴击蒸发", "crit_rate": 0.7402500000000001, "atk": 1718.502, "dmgBouns": 2.845, "defArea": 0.5, "resArea": 0.9, "other": 1.82, "other2": 80, "key": "攻击力", "power": 7.9632000000000005, "val": 135118.76}, {"seq": "讨龙英杰谭|昔日宗室之仪|充水暴", "action": "Q暴击", "crit_rate": 0.6025, "atk": 1205.4, "dmgBouns": 1.6936, "defArea": 0.5, "resArea": 0.9, "other": 2.138, "other2": null, "key": "攻击力", "power": 7.9632000000000005, "val": 25655.06}, {"seq": "试作金珀|昔日宗室之仪|充水暴", "action": "Q暴击", "crit_rate": 0.6025, "atk": 1347.1000000000001, "dmgBouns": 1.6936, "defArea": 0.5, "resArea": 0.9, "other": 2.138, "other2": null, "key": "攻击力", "power": 7.9632000000000005, "val": 28670.92}], "芭芭拉": [{"seq": "不灭月华|被怜爱的少女|生生治", "action": "Q瞬抬", "crit_rate": "any", "atk": 1231.4, "dmgBouns": 0, "defArea": 0.5, "resArea": 0.9, "other": 36274.566000000006, "other2": 0.608, "key": "血量", "power": "35.2+4335", "val": 30923.39}, {"seq": "讨龙英杰谭|被怜爱的少女|生生治", "action": "Q瞬抬", "crit_rate": "any", "atk": 983, "dmgBouns": 0, "defArea": 0.5, "resArea": 0.9, "other": 34865.238, "other2": 0.508, "key": "血量", "power": "35.2+4335", "val": 28365.72}, {"seq": "试作金珀|被怜爱的少女|生生治", "action": "Q瞬抬", "crit_rate": "any", "atk": 1113.8, "dmgBouns": 0, "defArea": 0.5, "resArea": 0.9, "other": 35462.245, "other2": 0.508, "key": "血量", "power": "35.2+4335", "val": 28724.65}], "早柚": [{"seq": "狼的末路|翠绿之影|精攻治", "action": "Q每次治疗", "crit_rate": "any", "atk": 2408.6240000000003, "dmgBouns": 0.15, "defArea": 0.5, "resArea": 0.9, "other": 443, "other2": 0.358, "key": "攻击力", "power": "159.74+1280", "val": 6963.19}, {"seq": "西风大剑|翠绿之影|精攻治", "action": "Q每次治疗", "crit_rate": "any", "atk": 1543.6680000000001, "dmgBouns": 0.15, "defArea": 0.5, "resArea": 0.9, "other": 443, "other2": 0.358, "key": "攻击力", "power": "159.74+1280", "val": 5086.87}], "枫原万叶": [{"seq": "苍古自由之誓|翠绿之影|精精精", "action": "扩散", "crit_rate": "any", "atk": 1397, "dmgBouns": 0, "defArea": 0.5, "resArea": 1.15, "other": 1031, "other2": 1.22, "key": "元素精通", "power": "any", "val": 7029.75}, {"seq": "铁蜂刺|翠绿之影|精精精", "action": "扩散", "crit_rate": "any", "atk": 1279.4, "dmgBouns": 0, "defArea": 0.5, "resArea": 1.15, "other": 1001, "other2": 1.22, "key": "元素精通", "power": "any", "val": 6924.4}], "魈": [{"seq": "和璞鸢|辰砂往生录|攻风暴", "action": "开大首插", "crit_rate": 0.8, "atk": 2301.758, "dmgBouns": 1.5425000000000002, "defArea": 0.5, "resArea": 0.9, "other": null, "other2": 2715.05, "key": "攻击力", "power": 4.0402, "val": 33082.6}, {"seq": "护摩之杖|辰砂往生录|攻风暴", "action": "开大首插", "crit_rate": 0.8, "atk": 2354.2052000000003, "dmgBouns": 1.4225, "defArea": 0.5, "resArea": 0.9, "other": 22610.399999999998, "other2": 2526.4651999999996, "key": "攻击力", "power": 4.0402, "val": 31779.77}, {"seq": "决斗之枪|辰砂往生录|攻风暴", "action": "开大首插", "crit_rate": 0.8, "atk": 2066.358, "dmgBouns": 1.4225, "defArea": 0.5, "resArea": 0.9, "other": null, "other2": 2210.898, "key": "攻击力", "power": 4.0402, "val": 28530.9}], "温迪": [{"seq": "终末嗟叹之诗|翠绿之影|精精精", "action": "扩散", "crit_rate": "any", "atk": 1356.2, "dmgBouns": 0, "defArea": 0.5, "resArea": 1.15, "other": 781, "other2": 2.071, "key": "元素精通", "power": "any", "val": 6481.06}, {"seq": "西风猎弓|翠绿之影|精精精", "action": "扩散", "crit_rate": "any", "atk": 1238.6, "dmgBouns": 0, "defArea": 0.5, "resArea": 1.15, "other": 721, "other2": 2.133, "key": "元素精通", "power": "any", "val": 5829.11}, {"seq": "绝弦|翠绿之影|充精精", "action": "扩散", "crit_rate": "any", "atk": 1238.6, "dmgBouns": 0, "defArea": 0.5, "resArea": 1.15, "other": 699, "other2": 2.038, "key": "元素精通", "power": "any", "val": 5733.42}], "琴": [{"seq": "腐殖之剑|翠绿之影角斗士的终幕礼|攻攻治", "action": "Q治疗", "crit_rate": "any", "atk": 2117.588, "dmgBouns": 0, "defArea": 0.5, "resArea": 0.9, "other": 1.659, "other2": 0.58, "key": "攻击力", "power": "452.16+3389", "val": 20482.94}, {"seq": "西风剑|翠绿之影角斗士的终幕礼|攻攻治", "action": "Q治疗", "crit_rate": "any", "atk": 1982.5160000000003, "dmgBouns": 0, "defArea": 0.5, "resArea": 0.9, "other": 1.813, "other2": 0.58, "key": "攻击力", "power": "452.16+3389", "val": 19517.97}, {"seq": "风鹰剑|翠绿之影角斗士的终幕礼|充攻治", "action": "Q治疗", "crit_rate": "any", "atk": 2270.298, "dmgBouns": 0, "defArea": 0.5, "resArea": 0.9, "other": 1.718, "other2": 0.58, "key": "攻击力", "power": "452.16+3389", "val": 21573.92}], "砂糖": [{"seq": "祭礼残章|翠绿之影|充精精", "action": "扩散", "crit_rate": "any", "atk": 1059.8, "dmgBouns": 0, "defArea": 0.5, "resArea": 1.15, "other": 755, "other2": null, "key": "元素精通", "power": "any", "val": 5973.98}, {"seq": "试作金珀|翠绿之影|充精精", "action": "扩散", "crit_rate": "any", "atk": 1127, "dmgBouns": 0, "defArea": 0.5, "resArea": 1.15, "other": 729, "other2": null, "key": "元素精通", "power": "any", "val": 5863.52}, {"seq": "讨龙英杰谭|翠绿之影|充精精", "action": "扩散", "crit_rate": "any", "atk": 996.1999999999999, "dmgBouns": 0, "defArea": 0.5, "resArea": 1.15, "other": 729, "other2": null, "key": "元素精通", "power": "any", "val": 5863.52}], "空/荧(风)": [{"seq": "西风剑|翠绿之影|精精精", "action": "扩散", "crit_rate": "any", "atk": 1270.04, "dmgBouns": 0, "defArea": 0.5, "resArea": 1.15, "other": 721, "other2": null, "key": "元素精通", "power": "any", "val": 5829.11}], "八重神子": [{"seq": "神乐之真意|如雷的盛怒角斗士的终幕礼|攻雷暴", "action": "杀生樱落雷", "crit_rate": 0.8, "atk": 2155.808, "dmgBouns": 1.216, "defArea": 0.5, "resArea": 0.9, "other": 80, "other2": null, "key": "攻击力", "power": 1.7064, "val": 10476.87}, {"seq": "天空之卷|如雷的盛怒角斗士的终幕礼|攻雷暴", "action": "杀生樱落雷", "crit_rate": 0.6985, "atk": 2619.878, "dmgBouns": 0.736, "defArea": 0.5, "resArea": 0.9, "other": 80, "other2": null, "key": "攻击力", "power": 1.7064, "val": 8371.29}, {"seq": "匣里日月|如雷的盛怒角斗士的终幕礼|攻雷暴", "action": "杀生樱落雷", "crit_rate": 0.8, "atk": 1965.1, "dmgBouns": 1.036, "defArea": 0.5, "resArea": 0.9, "other": 80, "other2": null, "key": "攻击力", "power": 1.7064, "val": 8436.38}, {"seq": "流浪乐章|如雷的盛怒角斗士的终幕礼|攻雷暴", "action": "杀生樱落雷", "crit_rate": 0.79995, "atk": 1965.1, "dmgBouns": 0.736, "defArea": 0.5, "resArea": 0.9, "other": 80, "other2": 2985.1000000000004, "key": "攻击力", "power": 1.7064, "val": 10923.46}], "雷电将军": [{"seq": "薙草之稻光|绝缘之旗印|充雷暴", "action": "Q满层拔刀", "crit_rate": 0.6025, "atk": 2012.8694000000003, "dmgBouns": 2.3216, "defArea": 0.5, "resArea": 0.9, "other": 2.7890000000000006, "other2": null, "key": "攻击力", "power": 11.4144, "val": 75155.81}, {"seq": "渔获|绝缘之旗印|充攻暴", "action": "Q满层拔刀", "crit_rate": 0.5425000000000001, "atk": 1806.802, "dmgBouns": 1.9430500000000002, "defArea": 0.5, "resArea": 0.9, "other": 2.697, "other2": null, "key": "攻击力", "power": 11.4144, "val": 63503.37}], "九条裟罗": [{"seq": "天空之翼|绝缘之旗印|充雷暴", "action": "Q吃乌羽", "crit_rate": 0.8, "atk": 1649.26, "dmgBouns": 0.9455, "defArea": 0.5, "resArea": 0.9, "other": 1.918, "other2": null, "key": "攻击力", "power": 8.192, "val": 51562.35}, {"seq": "祭礼弓|绝缘之旗印|充雷暴", "action": "Q吃乌羽", "crit_rate": 0.7, "atk": 1481.4, "dmgBouns": 1.022, "defArea": 0.5, "resArea": 0.9, "other": 2.2239999999999998, "other2": null, "key": "攻击力", "power": 8.192, "val": 40839.34}], "刻晴": [{"seq": "雾切之回光|如雷的盛怒角斗士的终幕礼|攻雷暴", "action": "重击", "crit_rate": 0.73375, "atk": 2251.1620000000003, "dmgBouns": 1.016, "defArea": 0.5, "resArea": 0.9, "other": null, "other2": null, "key": "攻击力", "power": 1.7, "val": 9608.3}, {"seq": "磐岩结绿|如雷的盛怒角斗士的终幕礼|攻雷暴", "action": "重击", "crit_rate": 0.75, "atk": 2271.7804, "dmgBouns": 0.616, "defArea": 0.5, "resArea": 0.9, "other": null, "other2": null, "key": "攻击力", "power": 1.7, "val": 8919.69}, {"seq": "匣里龙吟|如雷的盛怒角斗士的终幕礼|攻雷暴", "action": "重击", "crit_rate": 0.6234999999999999, "atk": 2276.047, "dmgBouns": 0.976, "defArea": 0.5, "resArea": 0.9, "other": null, "other2": null, "key": "攻击力", "power": 1.7, "val": 8763.12}], "雷泽": [{"seq": "螭骨剑|角斗士的终幕礼|攻物暴", "action": "普攻一段", "crit_rate": 0.7405, "atk": 1758.824, "dmgBouns": 1.833, "defArea": 0.5405405405405406, "resArea": 0.9, "other": null, "other2": null, "key": "攻击力", "power": 1.7113, "val": 10291.83}, {"seq": "狼的末路|角斗士的终幕礼|攻物暴", "action": "普攻一段", "crit_rate": 0.6025, "atk": 2535.5640000000003, "dmgBouns": 1.333, "defArea": 0.5405405405405406, "resArea": 0.9, "other": null, "other2": null, "key": "攻击力", "power": 1.7113, "val": 10859.13}], "菲谢尔": [{"seq": "绝弦|如雷的盛怒角斗士的终幕礼|攻雷暴", "action": "奥兹攻击", "crit_rate": 0.6025, "atk": 1959.244, "dmgBouns": 1.096, "defArea": 0.5, "resArea": 0.9, "other": null, "other2": null, "key": "攻击力", "power": 1.8869999999999998, "val": 7689.05}, {"seq": "天空之翼|如雷的盛怒角斗士的终幕礼|攻雷暴", "action": "奥兹攻击", "crit_rate": 0.7630000000000001, "atk": 2317.748, "dmgBouns": 0.616, "defArea": 0.5, "resArea": 0.9, "other": null, "other2": null, "key": "攻击力", "power": 1.8869999999999998, "val": 8033.88}], "丽莎": [{"seq": "四风原典|祭雷之人角斗士的终幕礼|攻雷暴", "action": "满层E", "crit_rate": 0.768, "atk": 1945.6399999999999, "dmgBouns": 0.936, "defArea": 0.5405405405405406, "resArea": 0.9, "other": null, "other2": null, "key": "攻击力", "power": 10.353, "val": 48112.07}, {"seq": "流浪乐章|昔日宗室之仪|攻雷暴", "action": "Q每段", "crit_rate": 0.7402500000000001, "atk": 1621.372, "dmgBouns": 0.666, "defArea": 0.5405405405405406, "resArea": 0.9, "other": null, "other2": null, "key": "攻击力", "power": 0.7768999999999999, "val": 3923.11}], "北斗": [{"seq": "狼的末路|绝缘之旗印|充雷暴", "action": "Q闪电链", "crit_rate": 0.6025, "atk": 1973.668, "dmgBouns": 1.1855, "defArea": 0.5, "resArea": 1.025, "other": 1.918, "other2": null, "key": "攻击力", "power": 1.7280000000000002, "val": 8423.08}, {"seq": "螭骨剑|绝缘之旗印|充攻暴", "action": "Q闪电链", "crit_rate": 0.7405, "atk": 1609.01, "dmgBouns": 1.1195, "defArea": 0.5, "resArea": 1.025, "other": 1.918, "other2": null, "key": "攻击力", "power": 1.7280000000000002, "val": 7493.01}], "空/荧(雷)": [{"seq": "西风剑|绝缘之旗印|充雷暴", "action": "勾玉加充能", "crit_rate": 0.6025, "atk": 1270.04, "dmgBouns": 1.09875, "defArea": 0.5, "resArea": 1.025, "other": 2.5309999999999997, "other2": null, "key": "攻击力", "power": 1.7280000000000002, "val": 0.45}], "申鹤": [{"seq": "息灾|角斗士的终幕礼追忆之注连|攻攻攻", "action": "Q伤害", "crit_rate": "any", "atk": 4084.495, "dmgBouns": "/", "defArea": 0.5, "resArea": 0.9, "other": 1.8, "other2": null, "key": "攻击力", "power": "攻击力", "val": "any"}, {"seq": "薙草之稻光|角斗士的终幕礼追忆之注连|攻攻攻", "action": "Q伤害", "crit_rate": "any", "atk": 3798.74336, "dmgBouns": "/", "defArea": 0.5, "resArea": 0.9, "other": 2.351, "other2": null, "key": "攻击力", "power": "攻击力", "val": "any"}, {"seq": "天空之脊|角斗士的终幕礼追忆之注连|攻攻攻", "action": "Q伤害", "crit_rate": "any", "atk": 3681.1879999999996, "dmgBouns": "/", "defArea": 0.5, "resArea": 0.9, "other": 2.168, "other2": null, "key": "攻击力", "power": "攻击力", "val": "any"}, {"seq": "西风长枪|角斗士的终幕礼追忆之注连|攻攻攻", "action": "Q伤害", "crit_rate": "any", "atk": 3305.5739999999996, "dmgBouns": "/", "defArea": 0.5, "resArea": 0.9, "other": 2.106, "other2": null, "key": "攻击力", "power": "攻击力", "val": "any"}], "神里绫华": [{"seq": "雾切之回光|冰风迷途的勇士|攻冰暴", "action": "霜灭切割", "crit_rate": 0.3499499999999999, "atk": 2105.2560000000003, "dmgBouns": 1.1960000000000002, "defArea": 0.5, "resArea": 0.9, "other": null, "other2": null, "key": "攻击力", "power": 2.0214, "val": 14866.33}, {"seq": "天目影打刀|冰风迷途的勇士|攻冰暴", "action": "霜灭切割", "crit_rate": 0.35, "atk": 2155.3320000000003, "dmgBouns": 0.796, "defArea": 0.5, "resArea": 0.9, "other": null, "other2": null, "key": "攻击力", "power": 2.0214, "val": 10894.46}], "优菈": [{"seq": "松籁响起之时|苍白之火|攻物暴", "action": "Q13层光剑", "crit_rate": 0.6234999999999999, "atk": 2396.8579999999997, "dmgBouns": 1.29, "defArea": 0.5, "resArea": 1.065, "other": null, "other2": null, "key": "攻击力", "power": 26.5268, "val": 227811.84}, {"seq": "狼的末路|苍白之火|攻物暴", "action": "Q13层光剑", "crit_rate": 0.6234999999999999, "atk": 2649.8999999999996, "dmgBouns": 1.083, "defArea": 0.5, "resArea": 1.065, "other": null, "other2": null, "key": "攻击力", "power": 26.5268, "val": 208554.85}, {"seq": "螭骨剑|苍白之火|攻物暴", "action": "Q13层光剑", "crit_rate": 0.75, "atk": 1815.632, "dmgBouns": 1.483, "defArea": 0.5, "resArea": 1.065, "other": null, "other2": null, "key": "攻击力", "power": 26.5268, "val": 193142.26}], "甘雨": [{"seq": "阿莫斯之弓|冰风迷途的勇士|攻冰暴", "action": "霜华矢两段", "crit_rate": 0.25, "atk": 2444.066, "dmgBouns": 1.1360000000000001, "defArea": 0.5, "resArea": 0.9, "other": null, "other2": null, "key": "攻击力", "power": 6.22, "val": 48132.75}, {"seq": "破魔之弓|冰风迷途的勇士|攻冰暴", "action": "霜华矢两段", "crit_rate": 0.25, "atk": 2139.1130000000003, "dmgBouns": 0.976, "defArea": 0.5, "resArea": 0.9, "other": null, "other2": null, "key": "攻击力", "power": 6.22, "val": 38971.5}, {"seq": "试作澹月|冰风迷途的勇士|攻冰暴", "action": "霜华矢两段", "crit_rate": 0.25, "atk": 2152.255, "dmgBouns": 0.616, "defArea": 0.5, "resArea": 0.9, "other": 2608.555, "other2": null, "key": "攻击力", "power": 6.22, "val": 38865.82}, {"seq": "阿莫斯之弓|流浪大地的乐团|攻冰暴", "action": "霜华矢两段", "crit_rate": 0.5235000000000001, "atk": 2444.066, "dmgBouns": 1.336, "defArea": 0.5, "resArea": 0.9, "other": null, "other2": null, "key": "攻击力", "power": 6.22, "val": 43898.26}, {"seq": "破魔之弓|流浪大地的乐团|攻冰暴", "action": "霜华矢两段", "crit_rate": 0.5235000000000001, "atk": 2139.1130000000003, "dmgBouns": 1.1760000000000002, "defArea": 0.5, "resArea": 0.9, "other": null, "other2": null, "key": "攻击力", "power": 6.22, "val": 35789.38}, {"seq": "试作澹月|流浪大地的乐团|攻冰暴", "action": "霜华矢两段", "crit_rate": 0.5235000000000001, "atk": 2152.255, "dmgBouns": 0.8160000000000001, "defArea": 0.5, "resArea": 0.9, "other": 2608.555, "other2": null, "key": "攻击力", "power": 6.22, "val": 36423.14}], "凯亚": [{"seq": "西风剑|绝缘之旗印|攻冰暴", "action": "Q每段", "crit_rate": 0.5275, "atk": 1506.582, "dmgBouns": 1.036, "defArea": 0.5, "resArea": 0.9, "other": 2.28, "other2": null, "key": "攻击力", "power": 1.649, "val": 5360.37}, {"seq": "磐岩结绿|绝缘之旗印|充冰暴", "action": "Q每段", "crit_rate": 0.748, "atk": 1558.3448, "dmgBouns": 1.01225, "defArea": 0.5, "resArea": 0.9, "other": 2.185, "other2": null, "key": "攻击力", "power": 1.649, "val": 6506.03}], "重云": [{"seq": "狼的末路|冰风迷途的勇士昔日宗室之仪|攻冰暴", "action": "Q每段", "crit_rate": 0.5275, "atk": 2556.362, "dmgBouns": 0.8160000000000001, "defArea": 0.5, "resArea": 0.9, "other": null, "other2": null, "key": "攻击力", "power": 3.0260000000000002, "val": 14887.12}, {"seq": "螭骨剑|冰风迷途的勇士昔日宗室之仪|攻冰暴", "action": "Q每段", "crit_rate": 0.6655000000000001, "atk": 1781.3980000000001, "dmgBouns": 1.2160000000000002, "defArea": 0.5, "resArea": 0.9, "other": null, "other2": null, "key": "攻击力", "power": 3.0260000000000002, "val": 14142.72}], "七七": [{"seq": "祭礼剑|海染砗磲|攻攻治", "action": "符文治疗", "crit_rate": "any", "atk": 1964.9120000000003, "dmgBouns": 0, "defArea": 0.5, "resArea": 0.9, "other": 0.73, "other2": null, "key": "攻击力", "power": "153+1174", "val": 7231.95}, {"seq": "风鹰剑|海染砗磲|攻攻治", "action": "符文治疗", "crit_rate": "any", "atk": 2648.1520000000005, "dmgBouns": 0, "defArea": 0.5, "resArea": 0.9, "other": 0.73, "other2": null, "key": "攻击力", "power": "153+1174", "val": 9040.41}, {"seq": "笛剑|海染砗磲|攻攻治", "action": "符文治疗", "crit_rate": "any", "atk": 2419.065, "dmgBouns": 0, "defArea": 0.5, "resArea": 0.9, "other": 0.73, "other2": null, "key": "攻击力", "power": "153+1174", "val": 8434.04}], "迪奥娜": [{"seq": "祭礼弓|被怜爱的少女千岩牢固|生生生", "action": "长E盾值", "crit_rate": "any", "atk": 1243.4, "dmgBouns": 0, "defArea": 0.5, "resArea": 0.9, "other": 31293.900000000005, "other2": null, "key": "血量", "power": 0.153, "val": 12716.64}], "罗莎莉亚": [{"seq": "西风长枪|昔日宗室之仪|攻冰暴", "action": "Q每段", "crit_rate": 0.7, "atk": 1925.8300000000002, "dmgBouns": 0.666, "defArea": 0.5, "resArea": 0.9, "other": null, "other2": null, "key": "攻击力", "power": 2.64, "val": 7661.35}], "埃洛伊": [{"seq": "西风猎弓|冰风迷途的勇士角斗士的终幕礼|攻冰暴", "action": "Q满线圈", "crit_rate": 0.5275, "atk": 1649.848, "dmgBouns": 1.254, "defArea": 0.5, "resArea": 0.9, "other": null, "other2": null, "key": "攻击力", "power": 5.4272, "val": 21388.34}], "荒泷一斗": [{"seq": "赤角石溃杵|华馆梦醒形骸记|防岩暴", "action": "开Q重击连斩", "crit_rate": 0.8, "atk": 1233.8, "dmgBouns": 0.706, "defArea": 0.5, "resArea": 0.9, "other": 2431.065, "other2": 1.22, "key": "攻击力", "power": 1.8019999999999998, "val": 21056.9}, {"seq": "螭骨剑|华馆梦醒形骸记|防岩暴", "action": "开Q重击连斩", "crit_rate": 0.8, "atk": 1195.4, "dmgBouns": 1.106, "defArea": 0.5, "resArea": 0.9, "other": 2162.545, "other2": 1.22, "key": "攻击力", "power": 1.8019999999999998, "val": 18779.5}, {"seq": "白影剑|华馆梦醒形骸记|防岩暴", "action": "开Q重击连斩", "crit_rate": 0.6985, "atk": 1195.4, "dmgBouns": 0.706, "defArea": 0.5, "resArea": 0.9, "other": 2658.348, "other2": 1.22, "key": "攻击力", "power": 1.8019999999999998, "val": 17428.45}], "五郎": [{"seq": "西风猎弓|流放者|充岩暴", "action": "Q每次", "crit_rate": 0.6025, "atk": 1075.4, "dmgBouns": "/", "defArea": 0.5, "resArea": 0.9, "other": 1083.456, "other2": 2.5309999999999997, "key": "防御力", "power": "防御力", "val": "any"}], "阿贝多": [{"seq": "辰砂之纺锤|华馆梦醒形骸记|防岩暴", "action": "E刹那之花", "crit_rate": 0.6025, "atk": 1157, "dmgBouns": 0.994, "defArea": 0.5, "resArea": 0.9, "other": 2579.8199999999997, "other2": null, "key": "攻击力", "power": 3.2048, "val": 17696.89}, {"seq": "辰砂之纺锤|悠古的磐岩|防岩暴", "action": "E刹那之花", "crit_rate": 0.6025, "atk": 1157, "dmgBouns": 0.904, "defArea": 0.5, "resArea": 0.9, "other": 2317.02, "other2": null, "key": "攻击力", "power": 3.2048, "val": 14034.05}, {"seq": "辰砂之纺锤|千岩牢固|防岩暴", "action": "E刹那之花", "crit_rate": 0.6025, "atk": 1157, "dmgBouns": 0.754, "defArea": 0.5, "resArea": 0.9, "other": 2317.02, "other2": null, "key": "攻击力", "power": 3.2048, "val": 12928.42}], "钟离": [{"seq": "黑缨枪|千岩牢固|生生生", "action": "E实际盾值", "crit_rate": "any", "atk": 1037, "dmgBouns": 0.28800000000000003, "defArea": 0.5, "resArea": 1.05, "other": 55727.565, "other2": null, "key": "血量", "power": 0.21760000000000002, "val": 28533.02}, {"seq": "护摩之杖|千岩牢固|生生生", "action": "Q开盾天星", "crit_rate": 0.6125, "atk": 1755.9968800000001, "dmgBouns": 0.28800000000000003, "defArea": 0.5, "resArea": 1.05, "other": 51774.61000000001, "other2": null, "key": "血量", "power": 8.3468, "val": 47758.13}, {"seq": "护摩之杖|悠古的磐岩昔日宗室之仪|生岩暴", "action": "Q开盾天星", "crit_rate": 0.768, "atk": 1611.1629599999999, "dmgBouns": 1.104, "defArea": 0.5, "resArea": 1.05, "other": 33670.369999999995, "other2": null, "key": "攻击力", "power": 8.9972, "val": 71732.51}], "诺艾尔": [{"seq": "赤角石溃杵|华馆梦醒形骸记|防岩暴", "action": "高达首刀", "crit_rate": 0.7, "atk": 1190.6, "dmgBouns": 0.706, "defArea": 0.5, "resArea": 0.9, "other": 2166.0889999999995, "other2": null, "key": "攻击力", "power": 1.564, "val": 16872.51}, {"seq": "螭骨剑|华馆梦醒形骸记|防岩暴", "action": "高达首刀", "crit_rate": 0.7405, "atk": 1152.1999999999998, "dmgBouns": 1.106, "defArea": 0.5, "resArea": 0.9, "other": 2041.4449999999997, "other2": null, "key": "攻击力", "power": 1.564, "val": 14864.2}, {"seq": "白影剑|华馆梦醒形骸记|防岩暴", "action": "高达首刀", "crit_rate": 0.6025, "atk": 1152.1999999999998, "dmgBouns": 0.706, "defArea": 0.5, "resArea": 0.9, "other": 2454.528, "other2": null, "key": "攻击力", "power": 1.564, "val": 13592.82}], "凝光": [{"seq": "四风原典|悠古的磐岩角斗士的终幕礼|攻岩暴", "action": "Q每颗", "crit_rate": 0.768, "atk": 1906.72, "dmgBouns": 0.976, "defArea": 0.5, "resArea": 0.9, "other": null, "other2": null, "key": "攻击力", "power": 1.8478999999999999, "val": 6828.91}, {"seq": "尘世之锁|悠古的磐岩角斗士的终幕礼|攻岩暴", "action": "Q每颗", "crit_rate": 0.6025, "atk": 2313.44, "dmgBouns": 0.976, "defArea": 0.5, "resArea": 0.9, "other": null, "other2": null, "key": "攻击力", "power": 1.8478999999999999, "val": 7257.59}, {"seq": "流浪乐章|悠古的磐岩角斗士的终幕礼|攻岩暴", "action": "Q每颗", "crit_rate": 0.7, "atk": 1716.012, "dmgBouns": 1.936, "defArea": 0.5, "resArea": 0.9, "other": null, "other2": null, "key": "攻击力", "power": 1.8478999999999999, "val": 8767.76}], "空/荧(岩)": [{"seq": "雾切之回光|悠古的磐岩角斗士的终幕礼|攻岩暴", "action": "Q每波", "crit_rate": 0.71275, "atk": 2247.7960000000003, "dmgBouns": 1.016, "defArea": 0.5, "resArea": 0.9, "other": null, "other2": null, "key": "攻击力", "power": 3.145, "val": 15555.42}, {"seq": "磐岩结绿|悠古的磐岩角斗士的终幕礼|攻岩暴", "action": "Q每波", "crit_rate": 0.8, "atk": 2199.304, "dmgBouns": 0.616, "defArea": 0.5, "resArea": 0.9, "other": null, "other2": null, "key": "攻击力", "power": 3.145, "val": 13540.5}, {"seq": "黑剑|悠古的磐岩角斗士的终幕礼|攻岩暴", "action": "Q每波", "crit_rate": 0.7405, "atk": 1889.292, "dmgBouns": 0.616, "defArea": 0.5, "resArea": 0.9, "other": null, "other2": null, "key": "攻击力", "power": 3.145, "val": 10720.14}], "云堇": [{"seq": "薙草之稻光|华馆梦醒形骸记|防防防", "action": "/", "crit_rate": "any", "atk": 1631.7789599999999, "dmgBouns": "/", "defArea": 0.5, "resArea": 0.9, "other": 2.618, "other2": 2511.0139999999997, "key": "防御力", "power": "防御力", "val": "any"}, {"seq": "天空之脊|华馆梦醒形骸记|防防防", "action": "/", "crit_rate": "any", "atk": 1349, "dmgBouns": "/", "defArea": 0.5, "resArea": 0.9, "other": 2.435, "other2": 2511.0139999999997, "key": "防御力", "power": "防御力", "val": "any"}, {"seq": "西风长枪|华馆梦醒形骸记|防防暴", "action": "/", "crit_rate": 0.6, "atk": 1218.1999999999998, "dmgBouns": "/", "defArea": 0.5, "resArea": 0.9, "other": 2.173, "other2": 2083.092, "key": "防御力", "power": "防御力", "val": "any"}]} \ No newline at end of file diff --git a/tools/blue_data/参考面板2.7(上).xlsx b/tools/blue_data/参考面板2.7(上).xlsx deleted file mode 100644 index bc9f23ce..00000000 Binary files a/tools/blue_data/参考面板2.7(上).xlsx and /dev/null differ diff --git a/tools/blue_data/参考面板3.0.xlsx b/tools/blue_data/参考面板3.0.xlsx new file mode 100644 index 00000000..e68336e9 Binary files /dev/null and b/tools/blue_data/参考面板3.0.xlsx differ diff --git a/tools/panle_to_json.py b/tools/panle_to_json.py index cc4b3611..b226f638 100644 --- a/tools/panle_to_json.py +++ b/tools/panle_to_json.py @@ -2,16 +2,27 @@ import json import asyncio from pathlib import Path +import httpx import openpyxl -from ..utils.minigg_api.get_minigg_data import get_misc_info - -version = '2.7.0' -version_old = '2.6.0' - R_PATH = Path(__file__).parent DATA_PATH = R_PATH / 'blue_data' -ETC_PATH = Path(__file__).parents[1] / 'genshinuid_enka' / 'etc' +ETC_PATH = Path(__file__).parents[1] / 'genshinuid_enka' / 'dmgCalc' + + +async def get_misc_info(mode: str, name: str): + """ + :说明: + 一些杂项信息。 + :参数: + * name (str): 'enemies', 'foods', 'artifacts'。 + * name (str): 参数。 + :返回: + * data (str): 获取数据信息。 + """ + url = 'https://info.minigg.cn/{}'.format(mode) + req = httpx.get(url=url, params={'query': name}) + return req.json() async def getEquipName(name: str) -> str: @@ -26,13 +37,14 @@ async def panle2Json() -> None: 访问DATA_PATH并转换数据为dmgMap.json。 """ wb = openpyxl.load_workbook( - str(DATA_PATH / '参考面板2.7(上).xlsx'), data_only=True + str(DATA_PATH / '参考面板3.0.xlsx'), data_only=True ) sheet = wb.active result = {} char_result = [] char_temp = '' + title = 0 for row in range(9, 300): temp = {} char_name = sheet.cell(row, 1).value @@ -52,78 +64,26 @@ async def panle2Json() -> None: equip_main = str(sheet.cell(row, 4).value) g_atk = sheet.cell(row, 8).value - other = sheet.cell(row, 9).value - other2 = sheet.cell(row, 10).value + other = {} + for i in [9, 10]: + if sheet.cell(title, i).value is not None: + n = str(sheet.cell(title, i).value) + if '加成' in n: + continue + if sheet.cell(row, i).value is not None: + v = float(str(sheet.cell(row, i).value)) + if v: + other[sheet.cell(title, i).value] = v crit_rate = sheet.cell(row, 13).value + crit_dmg = sheet.cell(row, 14).value - if equip_main[1] in ['生']: - key = '血量' - elif equip_main[1] in ['精']: - key = '元素精通' - elif equip_main[1] in ['防']: - key = '防御力' - else: - key = '攻击力' - - if char_name == '夜兰': - key = '血量' - elif char_name == '五郎': - key = '防御力' - - dmgBouns = sheet.cell(row, 15).value - defArea = sheet.cell(row, 16).value - resArea = sheet.cell(row, 17).value - power = sheet.cell(row, 18).value - - if char_name == '七七': - power = '153+1174' - elif power == '/' or power == 0: - if char_name == '托马': - power = '14.40+4829' - elif char_name == '班尼特': - power = '12.75+1587.82' - elif char_name == '芭芭拉': - power = '35.2+4335' - elif char_name == '早柚': - power = '159.74+1280' - elif char_name == '琴': - power = '452.16+3389' - elif char_name == '申鹤': - power = '攻击力' - elif char_name == '五郎': - power = '防御力' - elif char_name == '云堇': - power = '防御力' - else: - power = 'any' - - action = str(sheet.cell(row, 19).value) - if sheet.cell(row, 20).value != 'any': - val = float( - '{:.2f}'.format( - float(sheet.cell(row, 20).value) # type: ignore - ) - ) - else: - val = 'any' - - if char_name == '辛焱' and '盾' in action: - power = '2.88 + 1773' - - # temp['name'] = char_name weapon = weapon.replace('试做', '试作') temp['seq'] = '{}|{}|{}'.format(weapon, equip_set, equip_main) - temp['action'] = action - temp['crit_rate'] = crit_rate + temp['critRate'] = crit_rate + temp['critDmg'] = crit_dmg temp['atk'] = g_atk - temp['dmgBouns'] = dmgBouns - temp['defArea'] = defArea - temp['resArea'] = resArea temp['other'] = other - temp['other2'] = other2 - temp['key'] = key - temp['power'] = power - temp['val'] = val + if char_temp: if char_name == char_temp: pass @@ -134,10 +94,21 @@ async def panle2Json() -> None: else: char_temp = char_name char_result.append(temp) - if row == 263: + if row == 296: print('ok!') result[char_temp] = char_result - with open(DATA_PATH / 'dmgMap.json', 'w', encoding='UTF-8') as file: + else: + title = row + result['旅行者'] = [ + { + "seq": "护摩之杖|无锋剑|生火暴", + "critRate": 0.65, + "critDmg": 1.55, + "atk": 2300, + "other": {"生命": 16000, "元素精通": 45}, + } + ] + with open(ETC_PATH / 'dmgMap.json', 'w', encoding='UTF-8') as file: json.dump(result, file, ensure_ascii=False)