ango
5.16 commit
1cc60af
from typing import Dict
from base.skill import Skill, DotSkill, DotConsumeSkill, PhysicalDamage, MagicalDamage, MagicalDotDamage, \
MagicalPetDamage
from general.skills import GENERAL_SKILLS
class 灵蛇引(Skill):
bind_buffs: list
def record(self, critical, parser):
super().record(critical, parser)
pet_buffs = {(bind_buff, 1): 1 for bind_buff in self.bind_buffs}
parser.current_next_pet_buffs.append(pet_buffs)
SKILLS: Dict[int, Skill | dict] = {
32818: {
"skill_class": MagicalDamage,
"skill_name": "破",
"surplus_cof": [
1048576 * (0.46 - 1),
1048576 * (0.575 - 1),
1048576 * (0.92 - 1),
1048576 * (1.035 - 1),
1048576 * (0.2 - 1)
],
"skill_shield_gain": [-819] * 4 + [0],
},
2183: {
"skill_class": PhysicalDamage,
"skill_name": "大荒笛法",
"attack_power_cof": 16,
"weapon_damage_cof": 1024,
"skill_damage_addition": 205
},
18590: {
"skill_class": MagicalDotDamage,
"skill_name": "蛊毒",
"damage_base": 30 * 0.95,
"damage_rand": 30 * 0.1,
"attack_power_cof": 16,
"interval": 32,
"tick": 6
},
6218: {
"skill_class": MagicalDotDamage,
"skill_name": "蝎心(DOT)",
"damage_base": 80,
"attack_power_cof": 270 * 1.3 * 1.1 * 1.1 * 1.15,
"interval": 32,
"tick": 6
},
6621: {
"skill_class": DotSkill,
"skill_name": "蝎心",
"bind_skill": 6218
},
25917: {
"skill_class": MagicalDotDamage,
"skill_name": "蛇影(DOT)",
"damage_base": 55,
"attack_power_cof": 286 * 1.1 * 1.15,
"interval": 32,
"max_stack": 2,
"tick": 6 + 1
},
34643: {
"skill_class": DotSkill,
"skill_name": "蛇影",
"bind_skill": 25917
},
34879: {
"skill_class": DotConsumeSkill,
"skill_name": "蛇影",
"bind_skill": 25917,
"tick": 99
},
13472: {
"skill_class": MagicalDamage,
"skill_name": "百足",
"damage_base": [e * 0.85 for e in
[85, 90, 95, 100, 105, 110, 115, 120, 125, 130, 135, 140, 145, 150, 155, 160, 165, 170, 175,
180, 185, 190, 195, 200, 205, 210, 215, 220, 225, 230, 235, 240, 245, 250]],
"damage_rand": [e * 0.1 for e in
[16, 22, 29, 35, 42, 48, 55, 61, 68, 74, 81, 87, 94, 100, 107, 113, 120, 126, 133, 139, 146,
152, 159, 165, 172, 178, 185, 191, 198, 204, 211, 217, 224, 230]],
"attack_power_cof": 216 * 1.15 * 1.1 * 1.05 * 1.1 * 1.2
},
2509: {
"skill_class": MagicalDotDamage,
"skill_name": "百足(DOT)",
"damage_base": 92,
"attack_power_cof": 232 * 1.1 * 1.05 * 1.1 * 1.15 * 1.2,
"interval": 48,
"tick": 6
},
6238: {
"skill_class": DotSkill,
"skill_name": "百足",
"bind_skill": 2509
},
2295: {
"skill_class": MagicalDotDamage,
"skill_name": "蟾啸(DOT)",
"damage_base": 50,
"attack_power_cof": 232 * 1.1 * 1.05 * 1.15 * 1.15,
"interval": 32,
"tick": 7
},
6236: {
"skill_class": DotSkill,
"skill_name": "蟾啸",
"bind_skill": 2295
},
34389: {
"skill_class": MagicalDamage,
"skill_name": "黯影",
"damage_base": 20,
"damage_rand": 2,
"attack_power_cof": 100,
},
29573: {
"skill_class": MagicalDamage,
"skill_name": "篾片蛊",
"damage_base": [225, 260, 295, 330, 365, 400],
"damage_rand": [19, 20, 21, 22, 23, 24],
"attack_power_cof": [(117 * (5 + (i + 1)) * 1.15 * 1.1) * 1.1 for i in range(6)]
},
25044: {
"skill_class": MagicalDamage,
"skill_name": "连缘蛊",
"damage_base": 43 * 0.95,
"damage_rand": 43 * 0.1,
"attack_power_cof": 100 * 0.9 * 1.1 * 1.1,
"pve_addition": 256,
"skill_shield_ignore": -819
},
30918: {
"skill_class": MagicalDamage,
"skill_name": "连缘蛊",
"damage_base": [e * 0.95 for e in [43, 70, 94, 117, 141, 164, 188, 212, 235, 259, 384]],
"damage_rand": [e * 0.1 for e in [43, 70, 94, 117, 141, 164, 188, 212, 235, 259, 384]],
"attack_power_cof": [100 * (i + 1) * 1.1 * 1.1 for i in range(11)],
"skill_pve_addition": 256,
"skill_shield_ignore": -819
},
2223: {
"skill_class": 灵蛇引,
"skill_name": "灵蛇引",
"bind_buffs": []
},
2472: {
"skill_class": MagicalPetDamage,
"skill_name": "攻击",
"damage_base": [e * 0.95 for e in [43, 70, 94, 117, 141, 164, 188, 212, 235, 259, 384]],
"damage_rand": [e * 0.1 for e in [43, 70, 94, 117, 141, 164, 188, 212, 235, 259, 384]],
"attack_power_cof": 86 * 1.5,
"skill_pve_addition": 154,
},
22997: {
"skill_class": MagicalPetDamage,
"skill_name": "攻击",
"damage_base": [e * 0.95 for e in [43, 70, 94, 117, 141, 164, 188, 212, 235, 259, 384]],
"damage_rand": [e * 0.1 for e in [43, 70, 94, 117, 141, 164, 188, 212, 235, 259, 384]],
"attack_power_cof": 86 * 1.5,
"skill_pve_addition": 154,
},
36292: {
"skill_class": MagicalPetDamage,
"skill_name": "幻击",
"damage_base": 205 * 0.95,
"damage_rand": 205 * 0.1,
"attack_power_cof": 115,
},
25019: {
"skill_class": MagicalPetDamage,
"skill_name": "荒息",
"damage_base": [e * 0.95 for e in [43, 70, 94, 117, 141, 164, 188, 212, 235, 259, 384]],
"damage_rand": [e * 0.1 for e in [43, 70, 94, 117, 141, 164, 188, 212, 235, 259, 384]],
"attack_power_cof": 86 * 1.5 * 2 * 0.9 * 0.9,
},
25773: {
"skill_class": MagicalDamage,
"skill_name": "蛇影·神兵",
"damage_base": 20,
"damage_rand": 2,
"attack_power_cof": 60
},
3067: {
"skill_class": MagicalDamage,
"skill_name": "赤蛇",
"damage_base": 240 * 0.85,
"damage_rand": 217 * 0.1,
"attack_power_cof": 530
},
18882: {
"skill_class": MagicalDotDamage,
"skill_name": "赤蛇(DOT)",
"damage_base": 20,
"attack_power_cof": 315,
"interval": 48,
"max_stack": 3,
"tick": 10
},
26226: {
"skill_class": DotSkill,
"skill_name": "赤蛇",
"bind_skill": 18882
}
}
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