ango
5.16 commit
1cc60af
from typing import Dict
from base.skill import Skill, DotSkill, PhysicalDamage, PhysicalDotDamage
from general.skills import GENERAL_SKILLS
class 战意判定(Skill):
final_buff = -12608
bind_buff = -1
def record(self, critical, parser):
if buff_level := parser.current_buffs.get((self.bind_buff, 1)):
parser.refresh_buff(self.final_buff, buff_level)
SKILLS: Dict[int, Skill | dict] = {
32820: {
"skill_class": PhysicalDamage,
"skill_name": "破",
"surplus_cof": 1048576 * (0.429 - 1)
},
12: {
"skill_class": PhysicalDamage,
"skill_name": "梅花枪法",
"attack_power_cof": 16,
"weapon_damage_cof": 1024
},
3442: {
"skill_class": PhysicalDotDamage,
"skill_name": "流血(DOT)",
"skill_level": 30,
"damage_base": 60,
"attack_power_cof": 248 * 1.15 * 1.05 * 1.05 * 1.1 * 1.1,
"interval": 32,
"max_stack": 2,
"tick": 7
},
18591: {
"skill_class": DotSkill,
"skill_name": "流血",
"bind_skill": 3442,
},
409: {
"skill_class": PhysicalDamage,
"skill_name": "断魂刺",
"skill_level": 7,
"damage_base": 39,
"damage_rand": 3,
"attack_power_cof": 16,
"weapon_damage_cof": 1024,
"post_buffs": {(-1, 1): 3}
},
431: {
"skill_class": PhysicalDamage,
"skill_name": "突",
"skill_level": 6,
"damage_base": 37,
"damage_rand": 3,
"weapon_damage_cof": 1024
},
14882: {
"skill_class": PhysicalDamage,
"skill_name": "突",
"damage_base": 10,
"damage_rand": 3,
"weapon_damage_cof": 1024
},
702: {
"skill_class": type("Mixing", (PhysicalDamage, DotSkill), {}),
"skill_name": "灭",
"skill_level": 19,
"damage_base": 160 * 1.3,
"damage_rand": 10,
"attack_power_cof": 170 * 1.12,
"weapon_damage_cof": 1024,
"bind_skill": 3442,
},
18207: {
"skill_class": PhysicalDamage,
"skill_name": "穿云",
"skill_level": 28,
"damage_base": 160,
"damage_rand": 15,
"attack_power_cof": 158 * 1.05 * 1.1 * 1.1 * 1.12 * 1.1,
"weapon_damage_cof": 1024,
"post_buffs": {(-1, 1): 1}
},
18603: {
"skill_class": PhysicalDamage,
"skill_name": "龙吟",
"skill_level": 29,
"damage_base": 289 * 0.65,
"damage_rand": 15,
"attack_power_cof": 184 * 1.1 * 1.1 * 1.12 * 1.1 * 1.1 * 1.2,
"weapon_damage_cof": 1024,
"post_buffs": {(-1, 1): 2}
},
18773: {
"skill_class": PhysicalDamage,
"skill_name": "龙牙",
"skill_level": 29,
"damage_base": 445 * 0.5,
"damage_rand": 15,
"attack_power_cof": 197 * 1.1 * 1.1 * 1.15 * 1.1 * 1.1 * 1.12 * 0.9 * 1.1 * 1.05,
"weapon_damage_cof": 1024,
"post_buffs": {(-1, 1): -3}
},
37618: {
"skill_class": PhysicalDamage,
"skill_name": "龙吟·大漠",
"damage_base": 70,
"damage_rand": 5,
"attack_power_cof": 350,
"weapon_damage_cof": 1024,
},
24898: {
"skill_class": PhysicalDamage,
"skill_name": "灭",
"attack_power_cof": 42,
"weapon_damage_cof": 1024
},
6526: {
"skill_class": PhysicalDamage,
"skill_name": "灭",
"skill_level": 19,
"damage_base": 242 * 0.95,
"damage_rand": 242 * 0.1,
"damage_gain": 1 / 4,
"attack_power_cof": 170 * 1.12 * 1,
"weapon_damage_cof": 1024 / 4
},
18740: {
"skill_class": 战意判定,
"skill_name": "战意判定"
},
15002: {
"skill_class": PhysicalDamage,
"skill_name": "龙牙",
"skill_level": 29,
"damage_base": 445 * 0.5,
"damage_rand": 15,
"damage_gain": 0.1,
"attack_power_cof": 197 * 1.1 * 1.1 * 1.15 * 0.4 * 1.1 * 1.1 * 1.12 * 0.9 * 1.1 * 1.05,
"weapon_damage_cof": 1024 * 0.1
},
1850: {
"skill_class": Skill,
"skill_name": "特效触发",
"post_buffs": {(-1, 1): 5}
},
25772: {
"skill_class": PhysicalDamage,
"skill_name": "龙牙·神兵",
"damage_base": 20,
"damage_rand": 2,
"attack_power_cof": 50
},
31031: {
"skill_class": PhysicalDamage,
"skill_name": "画角闻龙",
"damage_base": 523 * 0.95,
"damage_rand": 523 * 0.1,
"attack_power_cof": 205,
},
}
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