ango
5.9 commit
effe13f
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] = {
32889: {
"skill_class": MagicalDamage,
"skill_name": "破",
"surplus_cof": 1048576 * (1.2 * 0.33 * 0.33 - 1)
},
32957: {
"skill_class": MagicalDamage,
"skill_name": "破·虚空",
"surplus_cof": 1048576 * (0.55 * 0.7 * 1.33 - 1)
},
15: {
"skill_class": PhysicalDamage,
"skill_name": "连环双刀",
"attack_power_cof": 16,
"weapon_damage_cof": 1024,
"skill_damage_addition": 205
},
2920: {
"skill_class": MagicalDotDamage,
"skill_name": "急曲(DOT)",
"damage_base": 100,
"attack_power_cof": 114 * 1.1 * 0.9 * 1.1,
"interval": 48,
"max_stack": 3,
"tick": 6
},
18716: {
"skill_class": DotSkill,
"skill_name": "急曲",
"bind_skill": 2920
},
6559: {
"skill_class": type("Mixing", (MagicalDamage, DotConsumeSkill), {}),
"skill_name": "江海凝光",
"damage_base": [65, 68, 71, 75, 78, 81, 83, 86] +
[e * 0.95 for e in
[95, 101, 106, 111, 116, 121, 127, 132, 137, 142, 147, 153, 158, 163, 168, 173, 179, 184, 189,
194, 199, 205, 210, 215]],
"damage_rand": [e * 0.1 for e in
[54, 59, 64, 69, 75, 80, 85, 90, 95, 101, 106, 111, 116, 121, 127, 132, 137, 142, 147, 153, 158,
163, 168, 173, 179, 184, 189, 194, 199, 205, 210, 215]],
"damage_gain": 1 / 2.5,
"attack_power_cof": [36 * 1.3 * 1.1] * 9 +
[(36 + (i - 9) * 1) * 1.3 * 1.1 for i in range(10, 32)] +
[164 * 1.3 * 1.1],
"bind_skill": 2920,
"tick": 99,
"last_dot": False,
},
30524: {
"skill_class": MagicalDamage,
"skill_name": "剑气长江",
"damage_base": [e * 0.2 for e in [21, 76, 80, 81, 84]] +
[e * 2 * 0.98 * 0.2 for e in
[255, 264, 272, 281, 289, 298, 306, 325, 323, 332, 340, 349, 357, 366, 374, 383, 391, 400, 408,
417, 425, 434, 442]],
"damage_rand": [e * 2 * 0.04 * 0.5 for e in
[33, 41, 50, 58, 67, 75, 84, 92, 101, 109, 118, 126, 135, 143, 152, 160, 169, 177, 186, 194,
203, 211, 220, 228, 237, 245, 254, 262]],
"attack_power_cof": [64 * 1.1 * 1.2 * 1.1 * 1.1 * 1.1 * 1.1 * 1.1] * 9 +
[(64 + (i - 9) * 4) * 1.1 * 1.2 * 1.1 * 1.1 * 1.1 * 1.1 * 1.1 for i in range(10, 28)] +
[152 * 1.1 * 1.2 * 1.1 * 1.1 * 1.1 * 1.1 * 1.1],
},
2716: {
"skill_class": MagicalDamage,
"skill_name": "剑破虚空",
"damage_base": [e * 0.98 / 2 + 10 for e in
[125, 130, 135, 140, 145, 150, 155, 160, 165, 170, 174, 182, 190, 198, 206, 214, 222, 230]],
"damage_rand": [e * 0.04 / 2 + 10 for e in
[94, 102, 110, 118, 126, 134, 142, 150, 158, 166, 174, 182, 190, 198, 206, 214, 222, 230]],
"attack_power_cof": [80 * 1.1 * 1.1 * 1.1] * 9 +
[(80 + (i - 9) * 15) * 1.1 * 1.1 * 1.1 for i in range(10, 18)] +
[220 * 1.1 * 1.1 * 1.1],
},
6234: {
"skill_class": MagicalDamage,
"skill_name": "玳弦急曲",
"damage_base": [20, 79, 90, 96, 103, 109, 116, 122, 129, 135, 142, 148, 155, 161, 168, 174, 181, 187, 194, 200,
207, 213, 220, 226, 233, 239, 246, 252],
"damage_rand": [e * 0.1 for e in
[27, 33, 40, 46, 53, 59, 66, 72, 79, 85, 92, 98, 105, 111, 118, 124, 131, 137, 144, 150, 157,
163, 170, 176, 183, 189, 196, 202]],
"attack_power_cof": [36 * 0.9 * 0.9 * 1.25 * 1.05] * 9 +
[(36 + (i - 9) * 3) * 0.9 * 0.9 * 1.25 * 1.05 for i in range(10, 28)] +
[85 * 0.9 * 1.25 * 1.05],
},
6554: {
"skill_class": MagicalDamage,
"skill_name": "玳弦急曲",
"damage_base": [20, 79, 90, 96, 103, 109, 116, 122, 129, 135, 142, 148, 155, 161, 168, 174, 181, 187, 194, 200,
207, 213, 220, 226, 233, 239, 246, 252],
"damage_rand": [e * 0.1 for e in
[27, 33, 40, 46, 53, 59, 66, 72, 79, 85, 92, 98, 105, 111, 118, 124, 131, 137, 144, 150, 157,
163, 170, 176, 183, 189, 196, 202]],
"damage_gain": 0.15,
"attack_power_cof": 85 * 0.45 * 0.9 * 1.25 * 1.05,
},
23936: {
"skill_class": MagicalDamage,
"skill_name": "广陵月",
"damage_base": 20,
"damage_rand": 17,
"attack_power_cof": 16 * 1.1,
},
34642: {
"skill_class": MagicalDamage,
"skill_name": "流玉",
"damage_base": 384 * 0.95,
"damage_rand": 384 * 0.1,
"attack_power_cof": 250 * 1.1,
"skill_shield_gain": -819,
},
34704: {
"skill_class": MagicalDamage,
"skill_name": "破·流玉",
"surplus_cof": 1048576 * (1.2 * 1.1 * 1.25 - 1)
},
37317: {
"skill_class": MagicalDamage,
"skill_name": "留芳仙姿·剑破",
"damage_base": [70, 75, 80, 85, 90, 95, 100, 105, 110, 115],
"damage_rand": 5,
"attack_power_cof": 175,
},
37318: {
"skill_class": MagicalDamage,
"skill_name": "留芳仙姿·玳弦",
"damage_base": [70, 75, 80, 85, 90, 95, 100, 105, 110, 115],
"damage_rand": 5,
"attack_power_cof": 30,
},
37319: {
"skill_class": MagicalDamage,
"skill_name": "留芳仙姿·剑气",
"damage_base": [70, 75, 80, 85, 90, 95, 100, 105, 110, 115],
"damage_rand": 5,
"attack_power_cof": 70,
},
37320: {
"skill_class": MagicalDamage,
"skill_name": "留芳仙姿·剑影",
"damage_base": [70, 75, 80, 85, 90, 95, 100, 105, 110, 115],
"damage_rand": 5,
"attack_power_cof": 260,
},
33140: {
"skill_class": MagicalDamage,
"skill_name": "盈袖",
"damage_base": [70, 75, 80, 85, 90, 95],
"damage_rand": 5,
"attack_power_cof": [(400 * (i + 1) + 250) * 0.25 * 0.5 for i in range(6)]
},
30532: {
"skill_class": MagicalDamage,
"skill_name": "钗燕",
"damage_base": [133, 644, 1156, 1667],
"damage_rand": 5,
"attack_power_cof": 100 * 1.3,
},
34611: {
"skill_class": MagicalDamage,
"skill_name": "钗燕·明",
"damage_base": [70, 75, 80, 85, 90, 95],
"damage_rand": 5,
"attack_power_cof": 300 * 1.6 * 1.8 * 0.7 * 0.95,
},
24999: {
"skill_class": MagicalDamage,
"skill_name": "化冰",
"damage_base": [20, 79, 90, 96, 103, 109, 116, 122, 129, 135, 142, 148, 155, 161, 168, 174, 181, 187, 194, 200,
207, 213, 220, 226, 233, 239, 246, 252],
"damage_rand": [e * 0.1 for e in
[27, 33, 40, 46, 53, 59, 66, 72, 79, 85, 92, 98, 105, 111, 118, 124, 131, 137, 144, 150, 157,
163, 170, 176, 183, 189, 196, 202]],
"attack_power_cof": 300 * 1.05 * 1.2,
},
34612: {
"skill_class": MagicalDamage,
"skill_name": "凝华",
"damage_base": [70, 75, 80, 85, 90, 95, 100, 105, 110, 115],
"damage_rand": 5,
"attack_power_cof": [30 * (i + 1) * 0.7 for i in range(10)],
},
35058: {
"skill_class": MagicalDamage,
"skill_name": "凝华·明",
"damage_base": [70, 75, 80, 85, 90, 95, 100, 105, 110, 115],
"damage_rand": 5,
"attack_power_cof": [370 * (i + 1) * 0.5 * 1.7 * 0.7 * 1.2 / 3 for i in range(10)],
},
25769: {
"skill_class": MagicalDamage,
"skill_name": "剑破虚空·神兵",
"damage_base": 20,
"damage_rand": 2,
"attack_power_cof": 65
},
18512: {
"skill_class": MagicalDotDamage,
"skill_name": "气吞长江(DOT)",
"damage_base": 25,
"attack_power_cof": 400 * 1.4,
"interval": 48,
"max_stack": 3,
"tick": 10
},
25757: {
"skill_class": DotSkill,
"skill_name": "气吞长江",
"bind_skill": 18512,
}
}
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