ango
5.9 commit
effe13f
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