Spaces:
Runtime error
Runtime error
from typing import Dict | |
from base.skill import Skill, DotSkill, PhysicalDamage, PhysicalDotDamage, DotConsumeSkill | |
from general.skills import GENERAL_SKILLS | |
SKILLS: Dict[int, Skill | dict] = { | |
32814: { | |
"skill_class": PhysicalDamage, | |
"skill_name": "破", | |
"surplus_cof": [ | |
1048576 * (0.100464 - 1), | |
1048576 * (0.35 - 1), | |
1048576 * (0.63 - 1) | |
] | |
}, | |
18121: { | |
"skill_class": PhysicalDamage, | |
"skill_name": "三柴剑法", | |
"attack_power_cof": 16, | |
"weapon_damage_cof": 1024, | |
"skill_damage_addition": 205 | |
}, | |
748: { | |
"skill_class": PhysicalDotDamage, | |
"skill_name": "叠刃(DOT)", | |
"damage_base": 10, | |
"attack_power_cof": 58 * 1.15 * 1.1 * 1.1, | |
"interval": 48, | |
"max_stack": 5, | |
"tick": 8 | |
}, | |
600: { | |
"skill_class": DotSkill, | |
"skill_name": "叠刃", | |
"bind_skill": 748 | |
}, | |
**{ | |
skill_id: { | |
"skill_class": PhysicalDamage, | |
"skill_name": "无我无剑", | |
"damage_base": [80, 254, 328, 402, 476, 550, 624, 698, 772, 846, 920, 994, 1068, 1142, 1216, 1290, 1364, | |
1438, 1512, 1586, 1660, 1734, 1808, 1882, 1956, 2030, 2104, 2178, 2252, 2326, 2400, 2474, | |
2548, 2622, 2696], | |
"damage_rand": [7, 15, 24, 32, 40, 48, 56, 65, 73, 81, 89, 97, 106, 114, 122, 130, 138, 147, 155, 163, 171, | |
179, 188, 196, 204, 212, 220, 229, 237, 245, 253, 261, 270, 278, 286], | |
"damage_gain": (i + 2) / 10 / 12, | |
"attack_power_cof": [4 * 1.1 * 1.1 * 1.1 * 1.1 * 1.05 * 1.1 * 1.1 * 1.15] * 9 + | |
[(0.5 * (j - 9) + 4) * 1.1 * 1.1 * 1.1 * 1.1 * 1.05 * 1.1 * 1.1 * 1.15 | |
for j in range(10, 35)] + | |
[19 * 1.1 * 1.1 * 1.1 * 1.1 * 1.05 * 1.1 * 1.1 * 1.15], | |
"attack_power_cof_gain": i + 2, | |
"weapon_damage_cof": 2048 | |
} for i, skill_id in enumerate([386, 387, 388, 389, 390, 391, 392, 393, 394]) | |
}, | |
32408: { | |
"skill_class": type("Mixing", (PhysicalDamage, DotConsumeSkill), {}), | |
"skill_name": "三环套月", | |
"bind_skill": 748, | |
"damage_base": [40, 77, 114, 151, 189, 226, 263, 301, 338, 375, 413, 450, 487, 524, 562, 599, 636, 674, 711, | |
748, 786, 823, 860, 897, 935, 972, 1009, 1047, 1084, 1121, 1159, 1196, 1233], | |
"damage_rand": [17, 21, 25, 28, 32, 36, 40, 43, 47, 51, 54, 58, 62, 66, 69, 73, 77, 81, 84, 88, 92, 95, 99, 103, | |
107, 110, 114, 118, 122, 125, 129, 133, 137], | |
"damage_gain": 0.1, | |
"attack_power_cof": [16 * 1.1 * 1.05 * 1.1] * 9 + | |
[(16 + (i - 9) * 4) * 1.1 * 1.05 * 1.1 for i in range(10, 33)] + | |
[120 * 1.1 * 1.05 * 1.1], | |
"weapon_damage_cof": 1024, | |
}, | |
13853: { | |
"skill_class": PhysicalDamage, | |
"skill_name": "八荒归元", | |
"damage_base": [556, 639, 722, 805, 888, 971, 1054, 1137, 1220, 1303, 1386, 1469, 1552, 1635, 1718, 1801], | |
"damage_rand": [40, 46, 52, 58, 64, 70, 76, 82, 88, 94, 100, 106, 112, 118, 124, 130], | |
"damage_gain": 1.1 * 1.05 / 15, | |
"attack_power_cof": 16 * 1.4 * 1.2, | |
}, | |
4954: { | |
"skill_class": PhysicalDamage, | |
"skill_name": "八荒归元", | |
"damage_base": [690 / 3, 690 / 2, 690], | |
"damage_rand": [70 / 3, 70 / 2, 70], | |
"damage_gain": 1 / 3, | |
"attack_power_cof": [(128 + 16 * 6) * 1.1 * 1.1 * 1.05 * 1.4 * 1.2] + | |
[(128 + 16 * 8) * 1.1 * 1.1 * 1.05 * 1.4 * 1.2] + | |
[(128 + 16 * 10) * 1.1 * 1.1 * 1.05 * 1.4 * 1.2], | |
"weapon_damage_cof": 2048, | |
}, | |
589: { | |
"skill_class": PhysicalDamage, | |
"skill_name": "人剑合一", | |
"damage_base": [538, 573, 608, 643, 678, 713, 748, 783, 818, 853, 888, 923, 958, 993, 1028, 1063, 1098, 1133, | |
1168, 1203, 1238, 1273], | |
"damage_gain": 1 / 20, | |
"attack_power_cof": 40, | |
}, | |
889: { | |
"skill_class": PhysicalDotDamage, | |
"skill_name": "人剑合一(DOT)", | |
"damage_base": 16, | |
"attack_power_cof": 450, | |
"interval": 48, | |
"tick": 4 | |
}, | |
37453: { | |
"skill_class": DotSkill, | |
"skill_name": "人剑合一", | |
"bind_skill": 889 | |
}, | |
21979: { | |
"skill_class": PhysicalDamage, | |
"skill_name": ["云中剑·生太极", "云中剑·碎星辰", "云中剑·吞日月"], | |
"damage_base": 40, | |
"damage_rand": 17, | |
"attack_power_cof": 70 * 1.1 * 1.1, | |
}, | |
21726: { | |
"skill_class": PhysicalDamage, | |
"skill_name": "持盈", | |
"damage_base": 40, | |
"damage_rand": 17, | |
"attack_power_cof": 127 | |
}, | |
34693: { | |
"skill_class": PhysicalDamage, | |
"skill_name": "剑入", | |
"damage_base": 77, | |
"damage_rand": 25, | |
"attack_power_cof": 84 * 1.2 * 1.1 * 2, | |
"skill_pve_addition": 1075 | |
}, | |
34694: { | |
"skill_class": PhysicalDamage, | |
"skill_name": "剑入", | |
"damage_base": 77, | |
"damage_rand": 25, | |
"attack_power_cof": 616, | |
"skill_pve_addition": 1075 | |
}, | |
25771: { | |
"skill_class": PhysicalDamage, | |
"skill_name": "八荒归元·神兵", | |
"damage_base": 20, | |
"damage_rand": 2, | |
"attack_power_cof": 65 | |
}, | |
23170: { | |
"skill_class": PhysicalDotDamage, | |
"skill_name": "万象归元(DOT)", | |
"damage_base": 10, | |
"attack_power_cof": 450, | |
"interval": 48, | |
"max_stack": 3, | |
"tick": 10 | |
}, | |
30944: { | |
"skill_class": DotSkill, | |
"skill_name": "万象归元", | |
"bind_skill": 23170 | |
} | |
} | |
for skill_id, detail in SKILLS.items(): | |
SKILLS[skill_id] = detail.pop('skill_class')(skill_id) | |
for attr, value in detail.items(): | |
setattr(SKILLS[skill_id], attr, value) | |
for skill_id, skill in GENERAL_SKILLS.items(): | |
SKILLS[skill_id] = skill | |