From 5f123dc52b7b5b08823aa3377090c99f2cce8977 Mon Sep 17 00:00:00 2001 From: "pre-commit-ci[bot]" <66853113+pre-commit-ci[bot]@users.noreply.github.com> Date: Thu, 5 Oct 2023 05:29:17 +0000 Subject: [PATCH] =?UTF-8?q?=F0=9F=9A=A8=20`pre-commit-ci`=E4=BF=AE?= =?UTF-8?q?=E5=A4=8D=E6=A0=BC=E5=BC=8F=E9=94=99=E8=AF=AF?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- StarRailUID/starrailuid_charinfo/__init__.py | 5 +- .../starrailuid_charinfo/cal_damage.py | 4 +- .../starrailuid_charinfo/damage/Avatar.py | 25 +- .../damage/AvatarDamage/AvatarDamage.py | 220 +++++++++++++----- .../damage/Base/AvatarBase.py | 12 +- .../starrailuid_charinfo/damage/Role.py | 57 +++-- .../starrailuid_charinfo/effect/Role.py | 2 +- 7 files changed, 215 insertions(+), 110 deletions(-) diff --git a/StarRailUID/starrailuid_charinfo/__init__.py b/StarRailUID/starrailuid_charinfo/__init__.py index 93f6634..ee9c1c6 100644 --- a/StarRailUID/starrailuid_charinfo/__init__.py +++ b/StarRailUID/starrailuid_charinfo/__init__.py @@ -7,14 +7,14 @@ from gsuid_core.sv import SV from gsuid_core.bot import Bot from gsuid_core.models import Event +from .cal_damage import cal_info from .to_card import api_to_card from ..utils.convert import get_uid from ..utils.sr_prefix import PREFIX from ..utils.error_reply import UID_HINT +from .draw_char_img import get_char_data from .get_char_img import draw_char_info_img from ..utils.image.convert import convert_img -from .draw_char_img import get_char_data -from .cal_damage import cal_info from ..utils.resource.RESOURCE_PATH import TEMP_PATH sv_char_info_config = SV('sr面板设置', pm=2) @@ -22,6 +22,7 @@ sv_get_char_info = SV('sr面板查询', priority=10) sv_get_sr_original_pic = SV('sr查看面板原图', priority=5) sv_char_damage_cal = SV('sr伤害计算') + @sv_char_damage_cal.on_prefix(f'{PREFIX}伤害计算') async def send_damage_msg(bot: Bot, ev: Event): msg = ''.join(re.findall('[\u4e00-\u9fa5 ]', ev.text)) diff --git a/StarRailUID/starrailuid_charinfo/cal_damage.py b/StarRailUID/starrailuid_charinfo/cal_damage.py index 3516b76..f37732a 100644 --- a/StarRailUID/starrailuid_charinfo/cal_damage.py +++ b/StarRailUID/starrailuid_charinfo/cal_damage.py @@ -33,8 +33,8 @@ async def cal(char_data: Dict): return skill_info_list return '角色伤害计算未完成' + async def cal_info(char_data: Dict): char = await cal_char_info(char_data) avatar = AvatarInstance(char) - skill_info_list = await avatar.gat_damage() - return skill_info_list \ No newline at end of file + return await avatar.gat_damage() diff --git a/StarRailUID/starrailuid_charinfo/damage/Avatar.py b/StarRailUID/starrailuid_charinfo/damage/Avatar.py index a3c35b7..ba3e3b5 100644 --- a/StarRailUID/starrailuid_charinfo/damage/Avatar.py +++ b/StarRailUID/starrailuid_charinfo/damage/Avatar.py @@ -1,16 +1,14 @@ import json from pathlib import Path -from typing import List, Union from gsuid_core.logger import logger -from .Base.AvatarBase import BaseAvatarinfo -from .AvatarDamage.AvatarDamage import AvatarDamage from .Weapon.Weapon import Weapon -from .utils import merge_attribute from ..mono.Character import Character from .Base.model import DamageInstance +from .Base.AvatarBase import BaseAvatarinfo from .Relic.Relic import RelicSet, SingleRelic +from .AvatarDamage.AvatarDamage import AvatarDamage Excel_path = Path(__file__).parent with Path.open(Excel_path / 'Excel' / 'SkillData.json', encoding='utf-8') as f: @@ -20,7 +18,9 @@ with Path.open(Excel_path / 'Excel' / 'SkillData.json', encoding='utf-8') as f: class AvatarInstance: def __init__(self, raw_data: Character): self.raw_data = DamageInstance(raw_data) - self.avatardamage = AvatarDamage.create(self.raw_data.avatar, self.raw_data.skill) + self.avatardamage = AvatarDamage.create( + self.raw_data.avatar, self.raw_data.skill + ) self.avatar = BaseAvatarinfo(self.raw_data.avatar) self.weapon = Weapon.create(self.raw_data.weapon) self.relic_set = RelicSet().create(self.raw_data.relic) @@ -77,7 +77,7 @@ class AvatarInstance: self.attribute_bonus[ attribute ] = set_skill.relicSetAttribute[attribute] - + def cal_avatar_eidolon_add(self): for attribute in self.avatardamage.eidolon_attribute: if attribute in self.attribute_bonus: @@ -97,7 +97,7 @@ class AvatarInstance: self.attribute_bonus[ attribute ] = self.avatardamage.extra_ability_attribute[attribute] - + def cal_avatar_attr_add(self): attribute_bonus = self.avatar.avatar_attribute_bonus if attribute_bonus: @@ -126,7 +126,7 @@ class AvatarInstance: logger.info(self.base_attr) logger.info('attribute_bonus') logger.info(self.attribute_bonus) - + logger.info('检查武器战斗生效的buff') Ultra_Use = self.avatar.Ultra_Use() logger.info('Ultra_Use') @@ -143,10 +143,7 @@ class AvatarInstance: if self.attribute_bonus is None: raise Exception('attribute_bonus is None') logger.info(self.attribute_bonus) - - return await self.avatardamage.getdamage(self.base_attr, self.attribute_bonus) - - - - \ No newline at end of file + return await self.avatardamage.getdamage( + self.base_attr, self.attribute_bonus + ) diff --git a/StarRailUID/starrailuid_charinfo/damage/AvatarDamage/AvatarDamage.py b/StarRailUID/starrailuid_charinfo/damage/AvatarDamage/AvatarDamage.py index 2067c1e..e287a4d 100644 --- a/StarRailUID/starrailuid_charinfo/damage/AvatarDamage/AvatarDamage.py +++ b/StarRailUID/starrailuid_charinfo/damage/AvatarDamage/AvatarDamage.py @@ -1,14 +1,16 @@ -from typing import Dict, List -import json -from pathlib import Path import copy +from typing import Dict, List + from gsuid_core.logger import logger -from ..Base.model import DamageInstanceSkill, DamageInstanceAvatar -from ..Base.AvatarBase import BaseAvatar, BaseAvatarBuff + from ..Role import demage_num +from ..Base.AvatarBase import BaseAvatar, BaseAvatarBuff +from ..Base.model import DamageInstanceSkill, DamageInstanceAvatar + class Seele(BaseAvatar): Buff: BaseAvatarBuff + def __init__( self, char: DamageInstanceAvatar, skills: List[DamageInstanceSkill] ): @@ -32,7 +34,7 @@ class Seele(BaseAvatar): def extra_ability(self): # 额外能力 割裂 抗性穿透提高20 self.extra_ability_attribute['QuantumResistancePenetration'] = 0.2 - + async def getdamage( self, base_attr: Dict[str, float], @@ -40,37 +42,73 @@ class Seele(BaseAvatar): ): # logger.info(base_attr) # logger.info(self.avatar_rank) - + # 希尔天赋再现加伤害 - attribute_bonus['AllDamageAddedRatio'] = self.Skill_num('Talent', 'Talent') + attribute_bonus.get('AllDamageAddedRatio', 0) - - + attribute_bonus['AllDamageAddedRatio'] = self.Skill_num( + 'Talent', 'Talent' + ) + attribute_bonus.get('AllDamageAddedRatio', 0) + skill_info_list = [] # 计算普攻伤害 skill_multiplier = self.Skill_num('Normal', 'Normal') - damagelist1 = await demage_num(base_attr, attribute_bonus, 'Normal', 'Normal', self.avatar_element, skill_multiplier, self.avatar_level) - skill_info_list.append({'name':'普攻', 'damagelist': damagelist1}) - + damagelist1 = await demage_num( + base_attr, + attribute_bonus, + 'Normal', + 'Normal', + self.avatar_element, + skill_multiplier, + self.avatar_level, + ) + skill_info_list.append({'name': '普攻', 'damagelist': damagelist1}) + # 计算战技伤害 skill_multiplier = self.Skill_num('BPSkill', 'BPSkill') - damagelist2 = await demage_num(base_attr, attribute_bonus, 'BPSkill', 'BPSkill', self.avatar_element, skill_multiplier, self.avatar_level) - skill_info_list.append({'name':'战技', 'damagelist': damagelist2}) - + damagelist2 = await demage_num( + base_attr, + attribute_bonus, + 'BPSkill', + 'BPSkill', + self.avatar_element, + skill_multiplier, + self.avatar_level, + ) + skill_info_list.append({'name': '战技', 'damagelist': damagelist2}) + # 计算大招伤害 skill_multiplier = self.Skill_num('Ultra', 'Ultra') - damagelist3 = await demage_num(base_attr, attribute_bonus, 'Ultra', 'Ultra', self.avatar_element, skill_multiplier, self.avatar_level) - skill_info_list.append({'name':'终结技', 'damagelist': damagelist3}) - + damagelist3 = await demage_num( + base_attr, + attribute_bonus, + 'Ultra', + 'Ultra', + self.avatar_element, + skill_multiplier, + self.avatar_level, + ) + skill_info_list.append({'name': '终结技', 'damagelist': damagelist3}) + # 银狼降防终结技伤害 skill_multiplier = self.Skill_num('Ultra', 'Ultra') - add_attr_bonus = copy.deepcopy(attribute_bonus) - add_attr_bonus['ignore_defence'] = 0.45 + add_attr_bonus.get('ignore_defence', 0) - damagelist4 = await demage_num(base_attr, add_attr_bonus, 'Ultra', 'Ultra', self.avatar_element, skill_multiplier, self.avatar_level) - skill_info_list.append({'name':'银狼降防终结技', 'damagelist': damagelist4}) - + add_attr_bonus = copy.deepcopy(attribute_bonus) + add_attr_bonus['ignore_defence'] = 0.45 + add_attr_bonus.get( + 'ignore_defence', 0 + ) + damagelist4 = await demage_num( + base_attr, + add_attr_bonus, + 'Ultra', + 'Ultra', + self.avatar_element, + skill_multiplier, + self.avatar_level, + ) + skill_info_list.append({'name': '银狼降防终结技', 'damagelist': damagelist4}) + logger.info(skill_info_list) return skill_info_list - + + class JingYuan(BaseAvatar): Buff: BaseAvatarBuff @@ -100,7 +138,7 @@ class JingYuan(BaseAvatar): self.extra_ability_attribute['CriticalDamageBase'] = 0.25 logger.info('施放战技后, 暴击率提升10%') self.extra_ability_attribute['CriticalChanceBase'] = 0.1 - + async def getdamage( self, base_attr: Dict[str, float], @@ -109,27 +147,60 @@ class JingYuan(BaseAvatar): skill_info_list = [] # 计算普攻伤害 skill_multiplier = self.Skill_num('Normal', 'Normal') - damagelist1 = await demage_num(base_attr, attribute_bonus, 'Normal', 'Normal', self.avatar_element, skill_multiplier, self.avatar_level) - skill_info_list.append({'name':'普攻', 'damagelist': damagelist1}) - + damagelist1 = await demage_num( + base_attr, + attribute_bonus, + 'Normal', + 'Normal', + self.avatar_element, + skill_multiplier, + self.avatar_level, + ) + skill_info_list.append({'name': '普攻', 'damagelist': damagelist1}) + # 计算战技伤害 skill_multiplier = self.Skill_num('BPSkill', 'BPSkill') - damagelist2 = await demage_num(base_attr, attribute_bonus, 'BPSkill', 'BPSkill', self.avatar_element, skill_multiplier, self.avatar_level) - skill_info_list.append({'name':'战技', 'damagelist': damagelist2}) - + damagelist2 = await demage_num( + base_attr, + attribute_bonus, + 'BPSkill', + 'BPSkill', + self.avatar_element, + skill_multiplier, + self.avatar_level, + ) + skill_info_list.append({'name': '战技', 'damagelist': damagelist2}) + # 计算大招伤害 skill_multiplier = self.Skill_num('Ultra', 'Ultra') - damagelist3 = await demage_num(base_attr, attribute_bonus, 'Ultra', 'Ultra', self.avatar_element, skill_multiplier, self.avatar_level) - skill_info_list.append({'name':'终结技', 'damagelist': damagelist3}) - + damagelist3 = await demage_num( + base_attr, + attribute_bonus, + 'Ultra', + 'Ultra', + self.avatar_element, + skill_multiplier, + self.avatar_level, + ) + skill_info_list.append({'name': '终结技', 'damagelist': damagelist3}) + # 神君 skill_multiplier = self.Skill_num('Talent', 'Talent') - damagelist4 = await demage_num(base_attr, attribute_bonus, 'Talent', 'Talent', self.avatar_element, skill_multiplier, self.avatar_level) - skill_info_list.append({'name':'10层神君伤害', 'damagelist': damagelist4}) - + damagelist4 = await demage_num( + base_attr, + attribute_bonus, + 'Talent', + 'Talent', + self.avatar_element, + skill_multiplier, + self.avatar_level, + ) + skill_info_list.append({'name': '10层神君伤害', 'damagelist': damagelist4}) + logger.info(skill_info_list) return skill_info_list + class Welt(BaseAvatar): Buff: BaseAvatarBuff @@ -154,7 +225,7 @@ class Welt(BaseAvatar): self.extra_ability_attribute['DmgRatio'] = 0.12 logger.info('对被弱点击破的敌方目标造成的伤害提高20') self.extra_ability_attribute['AllDamageAddedRatio'] = 0.20 - + async def getdamage( self, base_attr: Dict[str, float], @@ -163,43 +234,84 @@ class Welt(BaseAvatar): skill_info_list = [] # 计算普攻伤害 skill_multiplier = self.Skill_num('Normal', 'Normal') - damagelist1 = await demage_num(base_attr, attribute_bonus, 'Normal', 'Normal', self.avatar_element, skill_multiplier, self.avatar_level) - skill_info_list.append({'name':'普攻', 'damagelist': damagelist1}) - + damagelist1 = await demage_num( + base_attr, + attribute_bonus, + 'Normal', + 'Normal', + self.avatar_element, + skill_multiplier, + self.avatar_level, + ) + skill_info_list.append({'name': '普攻', 'damagelist': damagelist1}) + # 计算战技伤害 attnum = 3 skill_multiplier = self.Skill_num('BPSkill', 'BPSkill') / attnum - damagelist2 = await demage_num(base_attr, attribute_bonus, 'BPSkill', 'BPSkill', self.avatar_element, skill_multiplier, self.avatar_level) + damagelist2 = await demage_num( + base_attr, + attribute_bonus, + 'BPSkill', + 'BPSkill', + self.avatar_element, + skill_multiplier, + self.avatar_level, + ) if self.avatar_rank >= 6: attnum = 4 damagelist2[0] = damagelist2[0] * attnum damagelist2[1] = damagelist2[1] * attnum damagelist2[2] = damagelist2[2] * attnum - skill_info_list.append({'name':'战技', 'damagelist': damagelist2}) - + skill_info_list.append({'name': '战技', 'damagelist': damagelist2}) + # 计算大招伤害 skill_multiplier = self.Skill_num('Ultra', 'Ultra') - damagelist3 = await demage_num(base_attr, attribute_bonus, 'Ultra', 'Ultra', self.avatar_element, skill_multiplier, self.avatar_level) - skill_info_list.append({'name':'终结技', 'damagelist': damagelist3}) - + damagelist3 = await demage_num( + base_attr, + attribute_bonus, + 'Ultra', + 'Ultra', + self.avatar_element, + skill_multiplier, + self.avatar_level, + ) + skill_info_list.append({'name': '终结技', 'damagelist': damagelist3}) + if self.avatar_rank >= 1: skill_multiplier = self.Skill_num('Normal', 'Normal') * 0.5 - damagelist4 = await demage_num(base_attr, attribute_bonus, 'Normal', 'Normal', self.avatar_element, skill_multiplier, self.avatar_level) + damagelist4 = await demage_num( + base_attr, + attribute_bonus, + 'Normal', + 'Normal', + self.avatar_element, + skill_multiplier, + self.avatar_level, + ) damagelist4[0] = damagelist1[0] + damagelist4[0] damagelist4[1] = damagelist1[1] + damagelist4[1] damagelist4[2] = damagelist1[2] + damagelist4[2] - skill_info_list.append({'name':'强化普攻', 'damagelist': damagelist4}) - + skill_info_list.append({'name': '强化普攻', 'damagelist': damagelist4}) + skill_multiplier = (self.Skill_num('BPSkill', 'BPSkill') / 3) * 0.8 - damagelist5 = await demage_num(base_attr, attribute_bonus, 'BPSkill', 'BPSkill', self.avatar_element, skill_multiplier, self.avatar_level) + damagelist5 = await demage_num( + base_attr, + attribute_bonus, + 'BPSkill', + 'BPSkill', + self.avatar_element, + skill_multiplier, + self.avatar_level, + ) damagelist5[0] = damagelist2[0] + damagelist5[0] damagelist5[1] = damagelist2[1] + damagelist5[1] damagelist5[2] = damagelist2[2] + damagelist5[2] - skill_info_list.append({'name':'强化战技', 'damagelist': damagelist5}) - + skill_info_list.append({'name': '强化战技', 'damagelist': damagelist5}) + logger.info(skill_info_list) return skill_info_list + class AvatarDamage: @classmethod def create( diff --git a/StarRailUID/starrailuid_charinfo/damage/Base/AvatarBase.py b/StarRailUID/starrailuid_charinfo/damage/Base/AvatarBase.py index 4a15d85..61fda3a 100644 --- a/StarRailUID/starrailuid_charinfo/damage/Base/AvatarBase.py +++ b/StarRailUID/starrailuid_charinfo/damage/Base/AvatarBase.py @@ -59,10 +59,9 @@ class BaseAvatarBuff: async def extra_ability(self): ... + class BaseAvatarinfo: - def __init__( - self, char: DamageInstanceAvatar - ): + def __init__(self, char: DamageInstanceAvatar): self.avatar_id = char.id_ self.avatar_level = char.level self.avatar_rank = char.rank @@ -102,11 +101,12 @@ class BaseAvatarinfo: # 嘲讽 BaseAggro=promotion.BaseAggro.Value, ) - + def Ultra_Use(self): skill_info = skill_dict[str(self.avatar_id)]['Ultra_Use'][0] return msgspec.convert(skill_info, type=float) + class BaseAvatar: def __init__( self, char: DamageInstanceAvatar, skills: List[DamageInstanceSkill] @@ -152,11 +152,11 @@ class BaseAvatar: # 嘲讽 BaseAggro=promotion.BaseAggro.Value, ) - + def Skill_Info(self, skill_type: str): skill_info = skill_dict[str(self.avatar_id)]['skillList'][skill_type] return msgspec.convert(skill_info, type=List[Union[str, int]]) - + def Skill_num(self, skill: Union[str, int], skill_type: str): skill_level = 0 if skill == 'Normal': diff --git a/StarRailUID/starrailuid_charinfo/damage/Role.py b/StarRailUID/starrailuid_charinfo/damage/Role.py index bf2fb53..b52c5ff 100644 --- a/StarRailUID/starrailuid_charinfo/damage/Role.py +++ b/StarRailUID/starrailuid_charinfo/damage/Role.py @@ -1,11 +1,19 @@ -import json -from pathlib import Path from typing import List, Union from gsuid_core.logger import logger + from .utils import merge_attribute -async def demage_num(base_attr, attribute_bonus, skill_type, add_skill_type, element, skill_multiplier, level): + +async def demage_num( + base_attr, + attribute_bonus, + skill_type, + add_skill_type, + element, + skill_multiplier, + level, +): logger.info(f'技能区: {skill_multiplier}') logger.info(f'skill_type: {skill_type}') logger.info(f'level: {level}') @@ -18,9 +26,7 @@ async def demage_num(base_attr, attribute_bonus, skill_type, add_skill_type, ele if attr.__contains__('AttackAddedRatio'): attr_name = attr.split('AttackAddedRatio')[0] if attr_name in (skill_type, add_skill_type): - attack_added_ratio = attribute_bonus.get( - 'AttackAddedRatio', 0 - ) + attack_added_ratio = attribute_bonus.get('AttackAddedRatio', 0) attribute_bonus['AttackAddedRatio'] = ( attack_added_ratio + attribute_bonus[attr] ) @@ -41,9 +47,7 @@ async def demage_num(base_attr, attribute_bonus, skill_type, add_skill_type, ele attack = merged_attr.get('attack', 0) logger.info(f'攻击力: {attack}') damage_add = 0 - hp_multiplier = 0 - hp_num = 0 - + # 模拟 同属性弱点 同等级 的怪物 # 韧性条减伤 enemy_damage_reduction = 0.1 @@ -62,7 +66,10 @@ async def demage_num(base_attr, attribute_bonus, skill_type, add_skill_type, ele if attr_name.__contains__('_'): skill_name = attr_name.split('_')[0] skillattr_name = attr_name.split('_')[1] - if skill_name in (skill_type, add_skill_type) and skillattr_name in (element, 'AllDamage'): + if skill_name in ( + skill_type, + add_skill_type, + ) and skillattr_name in (element, 'AllDamage'): enemy_status_resistance += merged_attr[attr] logger.info( f'{skill_name}对{skillattr_name}属性有{merged_attr[attr]}穿透加成' @@ -79,9 +86,7 @@ async def demage_num(base_attr, attribute_bonus, skill_type, add_skill_type, ele ignore_defence = 1 - merged_attr[attr] break logger.info(f'ignore_defence {ignore_defence}') - enemy_defence = ( - level * 10 + 200 - ) * ignore_defence + enemy_defence = (level * 10 + 200) * ignore_defence defence_multiplier = (level * 10 + 200) / ( level * 10 + 200 + enemy_defence ) @@ -107,8 +112,7 @@ async def demage_num(base_attr, attribute_bonus, skill_type, add_skill_type, ele attr_name = attr.split('AddedRatio')[0] if attr_name in (element, 'AllDamage'): logger.info( - f'{attr} 对 {element} ' - f'有 {merged_attr[attr]} 伤害加成' + f'{attr} 对 {element} 有 {merged_attr[attr]} 伤害加成' ) if attr_name == element: element_area += merged_attr[attr] @@ -146,8 +150,7 @@ async def demage_num(base_attr, attribute_bonus, skill_type, add_skill_type, ele skill_name = attr.split('_')[0] if skill_name in (skill_type, add_skill_type): logger.info( - f'{attr} 对 {skill_type} 有 ' - f'{merged_attr[attr]} 爆伤加成' + f'{attr} 对 {skill_type} 有 {merged_attr[attr]} 爆伤加成' ) critical_damage_base += merged_attr[attr] critical_damage = critical_damage_base + 1 @@ -163,8 +166,7 @@ async def demage_num(base_attr, attribute_bonus, skill_type, add_skill_type, ele skill_name = attr.split('_')[0] if skill_name in (skill_type, add_skill_type): logger.info( - f'{attr} 对 {skill_type} 有 ' - f'{merged_attr[attr]} 暴击加成' + f'{attr} 对 {skill_type} 有 {merged_attr[attr]} 暴击加成' ) critical_chance_base += merged_attr[attr] critical_chance_base = min(1, critical_chance_base) @@ -173,11 +175,11 @@ async def demage_num(base_attr, attribute_bonus, skill_type, add_skill_type, ele # 期望伤害 qiwang_damage = (critical_chance_base * critical_damage_base) + 1 logger.info(f'暴击期望: {qiwang_damage}') - + attack_tz = 0.0 injury_add = 0.0 critical_damage_add = 0 - + damage_cd = ( attack * skill_multiplier @@ -202,25 +204,20 @@ async def demage_num(base_attr, attribute_bonus, skill_type, add_skill_type, ele + damage_add ) - attr_value_tz: float = base_attr.get('attack', 0) attribute_atk = attribute_bonus.get('AttackDelta', 0) attack_tz = ( attr_value_tz + attr_value_tz - * ( - 1 - + attribute_bonus.get('AttackAddedRatio', 0) - + 2.144 - ) + * (1 + attribute_bonus.get('AttackAddedRatio', 0) + 2.144) + attribute_atk ) injury_add_tz = 0 - + if element == 'Imaginary': injury_add_tz = 0.12 - + damage_tz = ( attack_tz * skill_multiplier @@ -234,8 +231,6 @@ async def demage_num(base_attr, attribute_bonus, skill_type, add_skill_type, ele + damage_add ) - - if element == 'Thunder': element_area = 0 damage_tz_fj = ( diff --git a/StarRailUID/starrailuid_charinfo/effect/Role.py b/StarRailUID/starrailuid_charinfo/effect/Role.py index ff5d813..e096a61 100644 --- a/StarRailUID/starrailuid_charinfo/effect/Role.py +++ b/StarRailUID/starrailuid_charinfo/effect/Role.py @@ -19,7 +19,7 @@ with Path.open(Excel_path / 'Excel' / 'SkillData.json', encoding='utf-8') as f: class RoleInstance: def __init__(self, raw_data: Character): self.raw_data = DamageInstance(raw_data) - + self.avatar = Avatar.create(self.raw_data.avatar, self.raw_data.skill) self.weapon = Weapon.create(self.raw_data.weapon) self.relic_set = RelicSet().create(self.raw_data.relic)