ango
5.10 commit
dbae951
from typing import Dict
from base.skill import Skill, DotSkill, PhysicalDamage, PhysicalDotDamage
from general.skills import GENERAL_SKILLS
SKILLS: Dict[int, Skill | dict] = {
32822: {
"skill_class": PhysicalDamage,
"skill_name": "破",
"surplus_cof": [
1048576 * (0.48875 - 1),
1048576 * (0.146625 - 1)
]
},
22126: {
"skill_class": PhysicalDamage,
"skill_name": "碎风刃",
"attack_power_cof": 16,
"weapon_damage_cof": 1024,
"skill_damage_addition": 205
},
22787: {
"skill_class": PhysicalDamage,
"skill_name": "幽冥窥月",
"damage_base": [67, 152, 237, 322, 407, 493, 578, 663, 748, 833],
"damage_rand": 10,
"attack_power_cof": [16] * 2 +
[8 * i for i in range(3, 10)] +
[80],
"weapon_damage_cof": 1024
},
**{
skill_id: {
"skill_class": PhysicalDamage,
"skill_name": "星垂平野",
"damage_base": [40, 55, 71, 86, 101, 117, 132, 147, 163, 178, 193, 209, 224, 239, 255, 270, 285, 301, 316,
331, 347, 362, 377, 393, 408, 423, 439, 454, 469, 485, 500],
"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],
"attack_power_cof": [24 * 1.5 * 1.3 * 0.8 * 1.1 * 1.15] * 5 +
[(3.6 * i + 5) * 1.5 * 1.3 * 0.8 * 1.1 * 1.15 for i in range(6, 31)] +
[180 * 1.3 * 0.8 * 1.1 * 1.15],
"weapon_damage_cof": 1024
} for skill_id in (22170, 22550, 22551)
},
22298: {
"skill_class": PhysicalDamage,
"skill_name": "星垂平野",
"damage_base": [40, 55, 71, 86, 101, 117, 132, 147, 163, 178, 193, 209, 224, 239, 255, 270, 285, 301, 316,
331, 347, 362, 377, 393, 408, 423, 439, 454, 469, 485, 500],
"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],
"attack_power_cof": [24 * 1.5 * 0.4 * 1.3 * 0.8 * 1.1 * 1.15] * 5 +
[(3.6 * i + 5) * 1.5 * 0.4 * 1.3 * 0.8 * 1.1 * 1.15 for i in range(6, 31)] +
[180 * 0.4 * 1.3 * 0.8 * 1.1 * 1.15],
"weapon_damage_cof": 1024
},
22621: {
"skill_class": PhysicalDamage,
"skill_name": "金戈回澜",
"damage_base": [87, 134, 182, 229, 277, 324, 372, 419, 466, 514, 561, 609, 656, 704, 751, 798, 846, 893, 941,
988, 1036, 1083],
"damage_rand": [5, 5, 5, 5, 5, 5, 5, 5, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 15, 15, 15, 15],
"attack_power_cof": [52 * 1.35 * 0.9 * 1.1 * 1.15] * 3 +
[(10 * i + 15) * 1.35 * 0.9 * 1.1 * 1.15 for i in range(4, 22)] +
[260 * 1.35 * 0.9 * 1.1 * 1.15],
"weapon_damage_cof": 2048
},
22620: {
"skill_class": PhysicalDamage,
"skill_name": "金戈回澜",
"damage_base": [87, 134, 182, 229, 277, 324, 372, 419, 466, 514, 561, 609, 656, 704, 751, 798, 846, 893, 941,
988, 1036, 1083],
"damage_rand": [5, 5, 5, 5, 5, 5, 5, 5, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 15, 15, 15, 15],
"attack_power_cof": [52 * 1.35 * 0.1 * 0.9 * 1.1 * 1.15] * 3 +
[(10 * i + 15) * 1.35 * 0.1 * 0.9 * 1.1 * 1.15 for i in range(4, 22)] +
[260 * 1.35 * 0.1 * 0.9 * 1.1 * 1.15],
"weapon_damage_cof": 1024
},
22610: {
"skill_class": PhysicalDamage,
"skill_name": "隐风雷",
"damage_base": [160, 180, 200, 220, 240, 260, 280, 300, 310, 320, 330, 340, 350, 360, 370, 380, 395, 413],
"damage_rand": [e * 0.1 for e in
[73, 93, 113, 133, 153, 173, 193, 213, 233, 253, 273, 293, 313, 333, 353, 373, 393, 413]],
"attack_power_cof": [20] * 8 +
[(60 + (i - 8) * 0.3) for i in range(9, 18)] +
[70],
"weapon_damage_cof": 1024
},
22611: {
"skill_class": PhysicalDamage,
"skill_name": "隐风雷",
"damage_base": [160, 180, 200, 220, 240, 260, 280, 300, 310, 320, 330, 340, 350, 360, 370, 380, 395, 413],
"damage_rand": [e * 0.1 for e in
[73, 93, 113, 133, 153, 173, 193, 213, 233, 253, 273, 293, 313, 333, 353, 373, 393, 413]],
"attack_power_cof": [20 * 1.3] * 8 +
[(60 + (i - 8) * 0.3) * 1.3 for i in range(9, 18)] +
[70 * 1.3],
"weapon_damage_cof": 1024
},
22612: {
"skill_class": PhysicalDamage,
"skill_name": "隐风雷",
"damage_base": [160, 180, 200, 220, 240, 260, 280, 300, 310, 320, 330, 340, 350, 360, 370, 380, 395, 413],
"damage_rand": [e * 0.1 for e in
[73, 93, 113, 133, 153, 173, 193, 213, 233, 253, 273, 293, 313, 333, 353, 373, 393, 413]],
"attack_power_cof": [20 * 0.5 * 1.3] * 8 +
[(60 + (i - 8) * 0.3) * 0.5 * 1.3 for i in range(9, 18)] +
[70 * 0.5 * 1.3],
"weapon_damage_cof": 1024
},
22604: {
"skill_class": PhysicalDamage,
"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": [40 * 1.3 * 1.25 * 0.85 * 0.9 * 0.9 * 0.9 * 0.9 * 0.9 * 1.1 * 1.1] * 6 +
[(3 * i + 1.5) * 2 * 1.3 * 1.25 * 0.85 * 0.9 * 0.9 * 0.9 * 0.9 * 0.9 * 1.1 * 1.1
for i in range(7, 32)] +
[250 * 1.3 * 1.25 * 0.85 * 0.9 * 0.9 * 0.9 * 0.9 * 0.9 * 1.1 * 1.1],
"weapon_damage_cof": 2048
},
22605: {
"skill_class": PhysicalDamage,
"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": [40 * 1.3 * 0.66 * 1.25 * 0.85 * 0.9 * 0.9 * 0.9 * 0.9 * 0.9 * 1.1 * 1.1 * 1.1] * 6 +
[(3 * i + 1.5) * 2 * 1.3 * 0.66 * 1.25 * 0.85 * 0.9 * 0.9 * 0.9 * 0.9 * 0.9 * 1.1 * 1.1 *
1.1 for i in range(7, 32)] +
[250 * 1.3 * 0.66 * 1.25 * 0.85 * 0.9 * 0.9 * 0.9 * 0.9 * 0.9 * 1.1 * 1.1 * 1.1],
"weapon_damage_cof": 1024
},
22490: {
"skill_class": PhysicalDamage,
"skill_name": "乱天狼",
"damage_base": [37, 67, 97, 127, 157, 187, 217, 248, 278, 308, 338, 368, 398, 428, 458],
"damage_rand": [5, 5, 5, 5, 5, 5, 5, 5, 10, 10, 10, 10, 10, 10, 10],
"attack_power_cof": [24 * 1.3 * 1.2 * 0.85 * 0.85 * 0.9 * 0.8 * 1.1 * 1.1 * 1.1 * 1.1] * 2 +
[9 * i * 1.3 * 1.2 * 0.85 * 0.85 * 0.9 * 0.8 * 1.1 * 1.1 * 1.1 * 1.1
for i in range(3, 15)] +
[150 * 1.3 * 1.2 * 0.85 * 0.85 * 0.9 * 0.8 * 1.1 * 1.1 * 1.1 * 1.1],
"weapon_damage_cof": 1024
},
22554: {
"skill_class": PhysicalDamage,
"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": [24 * 1.3 * 0.4 * 1.2 * 0.85 * 0.85 * 0.9 * 0.8 * 1.1 * 1.1 * 1.1 * 1.1] * 2 +
[9 * i * 1.3 * 0.4 * 1.2 * 0.85 * 0.85 * 0.9 * 0.8 * 1.1 * 1.1 * 1.1 * 1.1 *
1.1 for i in range(3, 15)] +
[150 * 1.3 * 0.4 * 1.2 * 0.85 * 0.85 * 0.9 * 0.8 * 1.1 * 1.1 * 1.1 * 1.1],
"weapon_damage_cof": 1024
},
15568: {
"skill_class": PhysicalDotDamage,
"skill_name": "寂洪荒(DOT)",
"damage_base": 25,
"attack_power_cof": 250 * 1.2 * 1.15,
"interval": 48,
"tick": 5,
"max_stack": 3,
},
22330: {
"skill_class": DotSkill,
"skill_name": "寂洪荒",
"bind_skill": 15568
},
25314: {
"skill_class": PhysicalDamage,
"skill_name": "遗恨",
"damage_base": [133, 644, 1156, 1667],
"damage_rand": 10,
"attack_power_cof": 100 * 1.2 * 1.15 * 1.3 * 1.15
},
36267: {
"skill_class": PhysicalDamage,
"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": [40 * 1.3 * 1.25 * 0.85 * 0.9 * 0.9 * 0.9 * 0.9 * 0.9 * 1.35 * 1.1 * 1.1] * 6 +
[(3 * i + 1.5) * 2 * 1.3 * 1.25 * 0.85 * 0.9 * 0.9 * 0.9 * 0.9 * 0.9 * 1.35 * 1.1 * 1.1
for i in range(7, 32)] +
[250 * 1.3 * 1.25 * 0.85 * 0.9 * 0.9 * 0.9 * 0.9 * 0.9 * 1.35 * 1.1 * 1.1],
"weapon_damage_cof": 2048
},
36268: {
"skill_class": PhysicalDamage,
"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": [40 * 1.3 * 0.66 * 1.25 * 0.85 * 0.9 * 0.9 * 0.9 * 0.9 * 0.9 * 1.1 * 1.35 * 1.1 * 1.1] * 6 +
[(3 * i + 1.5) * 2 * 1.3 * 0.66 * 1.25 * 0.85 * 0.9 * 0.9 * 0.9 * 0.9 * 0.9 * 1.1 * 1.35 *
1.1 * 1.1 for i in range(7, 32)] +
[250 * 1.3 * 0.66 * 1.25 * 0.85 * 0.9 * 0.9 * 0.9 * 0.9 * 0.9 * 1.1 * 1.35 * 1.1 * 1.1],
"weapon_damage_cof": 1024
},
36265: {
"skill_class": PhysicalDamage,
"skill_name": "乱天狼",
"damage_base": [37, 67, 97, 127, 157, 187, 217, 248, 278, 308, 338, 368, 398, 428, 458],
"damage_rand": [5, 5, 5, 5, 5, 5, 5, 5, 10, 10, 10, 10, 10, 10, 10],
"attack_power_cof": [24 * 1.3 * 1.2 * 0.85 * 0.85 * 0.9 * 0.8 * 1.1 * 1.1 * 1.35 * 1.1 * 1.1] * 2 +
[9 * i * 1.3 * 1.2 * 0.85 * 0.85 * 0.9 * 0.8 * 1.1 * 1.1 * 1.35 * 1.1 * 1.1
for i in range(3, 15)] +
[150 * 1.3 * 1.2 * 0.85 * 0.85 * 0.9 * 0.8 * 1.1 * 1.1 * 1.35 * 1.1 * 1.1],
"weapon_damage_cof": 1024
},
36266: {
"skill_class": PhysicalDamage,
"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": [24 * 1.3 * 0.4 * 1.2 * 0.85 * 0.85 * 0.9 * 0.8 * 1.1 * 1.1 * 1.35 * 1.1 * 1.1] * 2 +
[9 * i * 1.3 * 0.4 * 1.2 * 0.85 * 0.85 * 0.9 * 0.8 * 1.1 * 1.1 * 1.35 * 1.1 * 1.1 *
1.1 for i in range(3, 15)] +
[150 * 1.3 * 0.4 * 1.2 * 0.85 * 0.85 * 0.9 * 0.8 * 1.1 * 1.1 * 1.35 * 1.1 * 1.1],
"weapon_damage_cof": 1024
},
36269: {
"skill_class": PhysicalDamage,
"skill_name": "隐风雷",
"damage_base": [160, 180, 200, 220, 240, 260, 280, 300, 310, 320, 330, 340, 350, 360, 370, 380, 395, 413],
"damage_rand": [e * 0.1 for e in
[73, 93, 113, 133, 153, 173, 193, 213, 233, 253, 273, 293, 313, 333, 353, 373, 393, 413]],
"attack_power_cof": [20 * 1.3 * 1.35] * 8 +
[(60 + (i - 8) * 0.3) * 1.3 * 1.35 for i in range(9, 18)] +
[70 * 1.3 * 1.35],
"weapon_damage_cof": 1024
},
36270: {
"skill_class": PhysicalDamage,
"skill_name": "隐风雷",
"damage_base": [160, 180, 200, 220, 240, 260, 280, 300, 310, 320, 330, 340, 350, 360, 370, 380, 395, 413],
"damage_rand": [e * 0.1 for e in
[73, 93, 113, 133, 153, 173, 193, 213, 233, 253, 273, 293, 313, 333, 353, 373, 393, 413]],
"attack_power_cof": [20 * 0.5 * 1.3 * 1.35] * 8 +
[(60 + (i - 8) * 0.3) * 0.5 * 1.3 * 1.35 for i in range(9, 18)] +
[70 * 0.5 * 1.3 * 1.35],
"weapon_damage_cof": 1024
},
34981: {
"skill_class": PhysicalDamage,
"skill_name": "寂洪荒·风骨",
"damage_base": 300,
"damage_rand": 35,
"attack_power_cof": 750 * 0.7
},
29751: {
"skill_class": PhysicalDamage,
"skill_name": "飞刃回转",
"damage_base": 77,
"damage_rand": 25,
"attack_power_cof": 100 * 1.15
},
22761: {
"skill_class": PhysicalDamage,
"skill_name": "山河渊隙",
"damage_base": 136 * 2,
"damage_rand": 20,
"attack_power_cof": 30 * 2 * 1.1 * 1.1 * 1.1 * 1.83
},
25784: {
"skill_class": PhysicalDamage,
"skill_name": "寂洪荒·神兵",
"damage_base": 20,
"damage_rand": 2,
"attack_power_cof": 50
},
19626: {
"skill_class": PhysicalDotDamage,
"skill_name": "乍起狂澜(DOT)",
"damage_base": 25,
"attack_power_cof": 330 * 1.6 * 1.1,
"interval": 48,
"max_stack": 3,
"tick": 6
},
26980: {
"skill_class": DotSkill,
"skill_name": "乍起狂澜",
"bind_skill": 19626
}
}
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