Spaces:
Runtime error
Runtime error
from typing import Dict | |
from base.skill import Skill, DotSkill, DotConsumeSkill, PhysicalDamage, MagicalDamage, MagicalDotDamage | |
from general.skills import GENERAL_SKILLS | |
SKILLS: Dict[int, Skill | dict] = { | |
32841: { | |
"skill_class": MagicalDamage, | |
"skill_name": "破", | |
"surplus_cof": [ | |
1048576 * (0.525 * 1.2 - 1), | |
1048576 * (1.008 * 1.2 - 1), | |
1048576 * (0.21 * 1.2 - 1), | |
1048576 * (0.35 * 1.2 - 1), | |
1048576 * (0.7 * 1.2 - 1), | |
1048576 * (1.05 * 1.2 - 1) | |
] | |
}, | |
27451: { | |
"skill_class": PhysicalDamage, | |
"skill_name": "裁叶饮刃", | |
"attack_power_cof": 16, | |
"weapon_damage_cof": 1024, | |
"skill_damage_addition": 205 | |
}, | |
28081: { | |
"skill_class": MagicalDamage, | |
"skill_name": "无方中和", | |
"damage_base": [10, 20, 30, 40, 50, 60, 70, 80, 90, 100], | |
"damage_rand": 10, | |
"attack_power_cof": [20 * 0.9 * 0.92 * 1.1 * 1.1] * 3 + | |
[(20 * (i - 4) + 20) * 0.9 * 0.92 * 1.1 * 1.1 for i in range(4, 9)] + | |
[160 * 0.9 * 0.92 * 1.1 * 1.1], | |
}, | |
20052: { | |
"skill_class": MagicalDotDamage, | |
"skill_name": "逆乱(DOT)", | |
"damage_base": 95, | |
"attack_power_cof": 90 * 1.5 * 0.8 * 1.05 * 1.1, | |
"interval": 32, | |
"max_stack": 8, | |
"tick": 7 | |
}, | |
27560: { | |
"skill_class": DotSkill, | |
"skill_name": "逆乱", | |
"bind_skill": 20052 | |
}, | |
27552: { | |
"skill_class": MagicalDamage, | |
"skill_name": "商陆缀寒", | |
"damage_base": [38, 49, 60, 71, 82, 93, 104, 115, 126, 137, 148, 159, 170, 181, 192, 203, 214, 225, 236, 247, | |
258, 269, 280, 291, 302, 313, 324, 335, 346, 357, 368, 379], | |
"damage_rand": [10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 20, 20, 20, 20, | |
20, 20, 20, 20, 20, 20, 20, 20], | |
"attack_power_cof": [43 * 1.15] * 6 + | |
[(4 * i + 43) * 1.15 for i in range(7, 32)] + | |
[200 * 1.15], | |
}, | |
27555: { | |
"skill_class": MagicalDamage, | |
"skill_name": "钩吻断肠", | |
"damage_base": [24, 34, 44, 54, 64, 74, 84, 94, 104, 114], | |
"damage_rand": 10, | |
"attack_power_cof": [16] * 3 + | |
[(12 * (i - 4) + 16) for i in range(4, 9)] + | |
[120], | |
}, | |
27557: { | |
"skill_class": MagicalDamage, | |
"skill_name": "川乌射罔", | |
"damage_base": [33, 45, 58, 70, 83, 95, 107, 120, 132, 144, 157, 169, 182, 194, 206, 219, 231, 244, 256, 268, | |
281, 293, 306, 318, 330, 343, 355, 367, 380, 392, 405, 417], | |
"damage_rand": [5, 5, 5, 5, 5, 5, 5, 5, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 15, 15, 15, 15, 15, 15, 15, 15, | |
15, 15, 15, 15, 15, 15], | |
"attack_power_cof": [25] * 2 + | |
[(12 * (i - 3) + 25) for i in range(3, 9)] + | |
[208], | |
}, | |
27579: { | |
"skill_class": MagicalDamage, | |
"skill_name": "沾衣未妨", | |
"damage_base": 125, | |
"damage_rand": 10, | |
"attack_power_cof": 150 * 0.8, | |
}, | |
27584: { | |
"skill_class": MagicalDamage, | |
"skill_name": "且待时休", | |
"damage_base": [33, 45, 58, 70, 83, 95, 107, 120, 132, 144, 157, 169, 182, 194, 206, 219, 231, 244, 256, 268, | |
281, 293, 306, 318, 330, 343, 355, 367, 380, 392, 405, 417], | |
"damage_rand": [5, 5, 5, 5, 5, 5, 5, 5, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 15, 15, 15, 15, 15, 15, 15, 15, | |
15, 15, 15, 15, 15, 15], | |
"attack_power_cof": [30 * 1.8 * 1.2 * 1.15] * 6 + | |
[(3 * (i - 7) + 40) * 1.8 * 1.2 * 1.15 for i in range(7, 14)] + | |
[72 * 1.8 * 1.2 * 1.15], | |
}, | |
28409: { | |
"skill_class": MagicalDamage, | |
"skill_name": "且待时休", | |
"damage_base": [33, 45, 58, 70, 83, 95, 107, 120, 132, 144, 157, 169, 182, 194, 206, 219, 231, 244, 256, 268, | |
281, 293, 306, 318, 330, 343, 355, 367, 380, 392, 405, 417], | |
"damage_rand": [5, 5, 5, 5, 5, 5, 5, 5, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 15, 15, 15, 15, 15, 15, 15, 15, | |
15, 15, 15, 15, 15, 15], | |
"attack_power_cof": [30 * 1.8] * 6 + | |
[(3 * (i - 7) + 40) * 1.8 for i in range(7, 14)] + | |
[72 * 1.8], | |
}, | |
28346: { | |
"skill_class": MagicalDamage, | |
"skill_name": "银光照雪", | |
"damage_base": [50, 62, 74, 86, 98, 110, 134, 170, 230, 242, 290, 302, 338, 350, 410], | |
"damage_rand": [10, 10, 10, 10, 10, 10, 10, 15, 15, 15, 20, 20, 20, 20, 20], | |
"attack_power_cof": [20] * 5 + | |
[(10 * (i - 6) + 24) for i in range(6, 15)] + | |
[120], | |
}, | |
34699: { | |
"skill_class": MagicalDamage, | |
"skill_name": "银光照雪·结草", | |
"damage_base": [50, 62, 74, 86, 98, 110, 134, 170, 230, 242, 290, 302, 338, 350, 410], | |
"damage_rand": [10, 10, 10, 10, 10, 10, 10, 15, 15, 15, 20, 20, 20, 20, 20], | |
"attack_power_cof": [20] * 5 + | |
[(10 * (i - 6) + 24) for i in range(6, 15)] + | |
[120], | |
}, | |
27539: { | |
"skill_class": MagicalDamage, | |
"skill_name": "惊鸿掠水", | |
"damage_base": [30, 39, 48, 57, 66, 75, 84, 93, 102, 111, 120, 129, 138, 147, 156], | |
"damage_rand": [10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 15, 15, 15, 15, 15], | |
"attack_power_cof": [40] * 6 + | |
[(4 * (i - 7) + 40) for i in range(7, 14)] + | |
[100], | |
}, | |
29505: { | |
"skill_class": type("Mixing", (MagicalDamage, DotConsumeSkill), {}), | |
"skill_name": "含锋破月", | |
"damage_base": [35, 53, 71, 89, 107, 125, 143, 161, 179, 197, 215, 233, 251, 269, 287, 305, 323, 341, 359, 377, | |
395, 413, 431, 449, 467, 485, 503, 521, 539, 557, 575], | |
"damage_rand": [10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 20, 20, 20, 20, | |
20, 20, 20, 20, 20, 20, 20], | |
"attack_power_cof": [50 * 1.15 * 0.85] * 5 + | |
[(9 * (i - 6) + 50) * 1.15 * 0.85 for i in range(6, 31)] + | |
[280 * 1.15 * 0.85], | |
"bind_skill": 20052, | |
"tick": 2 | |
}, | |
34700: { | |
"skill_class": type("Mixing", (MagicalDamage, DotConsumeSkill), {}), | |
"skill_name": "含锋破月·结草", | |
"damage_base": [35, 53, 71, 89, 107, 125, 143, 161, 179, 197, 215, 233, 251, 269, 287, 305, 323, 341, 359, 377, | |
395, 413, 431, 449, 467, 485, 503, 521, 539, 557, 575], | |
"damage_rand": [10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 20, 20, 20, 20, | |
20, 20, 20, 20, 20, 20, 20], | |
"attack_power_cof": [50 * 1.15 * 0.85] * 5 + | |
[(9 * (i - 6) + 50) * 1.15 * 0.85 for i in range(6, 31)] + | |
[280 * 1.15 * 0.85], | |
"bind_skill": 20052, | |
"tick": 2 | |
}, | |
29506: { | |
"skill_class": type("Mixing", (MagicalDamage, DotConsumeSkill), {}), | |
"skill_name": "飞叶满襟", | |
"damage_base": [55, 74, 93, 112, 131, 150, 169, 188, 207, 226, 245, 264, 283, 302, 321, 340, 359, 378, 397, 416, | |
435, 454, 473, 492, 511, 530, 549, 568, 587, 606, 625], | |
"damage_rand": [10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 20, 20, 20, 20, | |
20, 20, 20, 20, 20, 20, 20], | |
"attack_power_cof": [55 * 1.15 * 0.85] * 5 + | |
[(9 * (i - 6) + 55) * 1.15 * 0.85 for i in range(6, 31)] + | |
[340 * 1.15 * 0.85], | |
"bind_skill": 20052, | |
"tick": 2 | |
}, | |
34702: { | |
"skill_class": type("Mixing", (MagicalDamage, DotConsumeSkill), {}), | |
"skill_name": "飞叶满襟·结草", | |
"damage_base": [55, 74, 93, 112, 131, 150, 169, 188, 207, 226, 245, 264, 283, 302, 321, 340, 359, 378, 397, 416, | |
435, 454, 473, 492, 511, 530, 549, 568, 587, 606, 625], | |
"damage_rand": [10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 20, 20, 20, 20, | |
20, 20, 20, 20, 20, 20, 20], | |
"attack_power_cof": [55 * 1.15 * 0.85] * 5 + | |
[(9 * (i - 6) + 55) * 1.15 * 0.85 for i in range(6, 31)] + | |
[340 * 1.15 * 0.85], | |
"bind_skill": 20052, | |
"tick": 2 | |
}, | |
30735: { | |
"skill_class": type("Mixing", (MagicalDamage, DotConsumeSkill), {}), | |
"skill_name": "折枝拂露", | |
"damage_base": 730, | |
"damage_rand": 20, | |
"attack_power_cof": 410 * 1.15 * 1.1 * 0.65, | |
"bind_skill": 20052, | |
"tick": 2 | |
}, | |
32922: { | |
"skill_class": MagicalDamage, | |
"skill_name": "折枝留春", | |
"damage_base": 730, | |
"damage_rand": 20, | |
"attack_power_cof": 600, | |
}, | |
27657: { | |
"skill_class": MagicalDamage, | |
"skill_name": "苍棘缚地", | |
"damage_base": [20, 33, 46, 59, 72, 85, 98, 111, 124, 137], | |
"damage_rand": 10, | |
"attack_power_cof": [70 * 0.9] * 3 + | |
[(3 * (i - 4) + 70) * 0.9 for i in range(4, 9)] + | |
[300 * 0.9], | |
}, | |
29674: { | |
"skill_class": MagicalDamage, | |
"skill_name": "疾根", | |
"damage_base": 120, | |
"damage_rand": 10, | |
"attack_power_cof": 170 * 0.5 * 0.7 * 1.1 | |
}, | |
28385: { | |
"skill_class": MagicalDamage, | |
"skill_name": "紫叶沉疴", | |
"damage_base": 417, | |
"damage_rand": 15, | |
"attack_power_cof": 190 | |
}, | |
28434: { | |
"skill_class": MagicalDamage, | |
"skill_name": "紫伏", | |
"damage_base": [33, 45, 58, 70, 83, 95, 107, 120, 132, 144, 157, 169, 182, 194, 206, 219, 231, 244, 256, 268, | |
281, 293, 306, 318, 330, 343, 355, 367, 380, 392, 405, 417], | |
"damage_rand": [5, 5, 5, 5, 5, 5, 5, 5, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 15, 15, 15, 15, 15, 15, 15, 15, | |
15, 15, 15, 15, 15, 15], | |
"attack_power_cof": 125 * 1.5 | |
}, | |
35367: { | |
"skill_class": MagicalDamage, | |
"skill_name": "应理与药", | |
"damage_base": 100, | |
"damage_rand": 10, | |
"attack_power_cof": 580 * 1.15 * 1.5 | |
}, | |
29698: { | |
"skill_class": MagicalDamage, | |
"skill_name": "商陆缀寒·神兵", | |
"damage_base": 20, | |
"damage_rand": 2, | |
"attack_power_cof": 65 | |
}, | |
29695: { | |
"skill_class": MagicalDamage, | |
"skill_name": "鹿王本生", | |
"damage_base": 20, | |
"damage_rand": 2, | |
"attack_power_cof": 220 | |
} | |
} | |
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 | |