🚨 pre-commit-ci修复格式错误

This commit is contained in:
pre-commit-ci[bot] 2023-10-05 16:13:41 +00:00 committed by qwerdvd
parent 087f11acef
commit dd1c79cf10
9 changed files with 108 additions and 77 deletions

View File

@ -1,15 +1,15 @@
import json
from pathlib import Path
from typing import Dict
from pathlib import Path
from gsuid_core.logger import logger
from ..mono.Character import Character
from .AvatarDamage.AvatarDamage import AvatarDamage
from .Base.AvatarBase import BaseAvatarinfo
from .Base.model import DamageInstance
from .Relic.Relic import RelicSet, SingleRelic
from .Weapon.Weapon import Weapon
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:
@ -37,13 +37,9 @@ class AvatarInstance:
def merge_attribute_bonus(self, add_attribute: Dict[str, float]):
for attribute in add_attribute:
if attribute in self.attribute_bonus:
self.attribute_bonus[
attribute
] += add_attribute[attribute]
self.attribute_bonus[attribute] += add_attribute[attribute]
else:
self.attribute_bonus[
attribute
] = add_attribute[attribute]
self.attribute_bonus[attribute] = add_attribute[attribute]
def cal_role_base_attr(self):
logger.info('cal_role_base_attr')

View File

@ -3,9 +3,9 @@ from typing import Dict, List
from gsuid_core.logger import logger
from ..Base.AvatarBase import BaseAvatar, BaseAvatarBuff
from ..Base.model import DamageInstanceAvatar, DamageInstanceSkill
from ..Role import calculate_damage
from ..Base.AvatarBase import BaseAvatar, BaseAvatarBuff
from ..Base.model import DamageInstanceSkill, DamageInstanceAvatar
class Seele(BaseAvatar):
@ -354,6 +354,7 @@ class Welt(BaseAvatar):
logger.info(skill_info_list)
return skill_info_list
class Danhengil(BaseAvatar):
Buff: BaseAvatarBuff
@ -408,13 +409,15 @@ class Danhengil(BaseAvatar):
for i in range(1, 3):
add_attr_bonus = copy.deepcopy(attribute_bonus)
damage_buff = min(max_buff, start_buff + (i - 1) * add_buff)
add_attr_bonus['AllDamageAddedRatio'] = damage_buff * injury_add + add_attr_bonus.get(
add_attr_bonus[
'AllDamageAddedRatio'
] = damage_buff * injury_add + add_attr_bonus.get(
'AllDamageAddedRatio', 0
)
if self.avatar_rank >= 4:
add_attr_bonus['CriticalDamageBase'] = critical_buff + add_attr_bonus.get(
'CriticalDamageBase', 0
)
add_attr_bonus[
'CriticalDamageBase'
] = critical_buff + add_attr_bonus.get('CriticalDamageBase', 0)
damage1, damage2, damage3 = await calculate_damage(
base_attr,
add_attr_bonus,
@ -437,7 +440,9 @@ class Danhengil(BaseAvatar):
self.avatar_level,
)
damage_a += damage3
skill_info_list.append({'name': '普攻', 'damagelist': [damage_c, damage_e, damage_a]})
skill_info_list.append(
{'name': '普攻', 'damagelist': [damage_c, damage_e, damage_a]}
)
# 计算瞬华伤害
skill_multiplier = self.Skill_num('Normal', 'Normal1') / 3
@ -447,13 +452,15 @@ class Danhengil(BaseAvatar):
for i in range(1, 4):
add_attr_bonus = copy.deepcopy(attribute_bonus)
damage_buff = min(max_buff, start_buff + (i - 1) * add_buff)
add_attr_bonus['AllDamageAddedRatio'] = damage_buff * injury_add + add_attr_bonus.get(
add_attr_bonus[
'AllDamageAddedRatio'
] = damage_buff * injury_add + add_attr_bonus.get(
'AllDamageAddedRatio', 0
)
if self.avatar_rank >= 4:
add_attr_bonus['CriticalDamageBase'] = critical_buff + add_attr_bonus.get(
'CriticalDamageBase', 0
)
add_attr_bonus[
'CriticalDamageBase'
] = critical_buff + add_attr_bonus.get('CriticalDamageBase', 0)
damage1, damage2, damage3 = await calculate_damage(
base_attr,
add_attr_bonus,
@ -476,7 +483,9 @@ class Danhengil(BaseAvatar):
self.avatar_level,
)
damage_a += damage3
skill_info_list.append({'name': '瞬华', 'damagelist': [damage_c, damage_e, damage_a]})
skill_info_list.append(
{'name': '瞬华', 'damagelist': [damage_c, damage_e, damage_a]}
)
# 计算天矢阴伤害
skill_multiplier = self.Skill_num('Normal', 'Normal2') / 5
@ -486,17 +495,21 @@ class Danhengil(BaseAvatar):
for i in range(1, 6):
add_attr_bonus = copy.deepcopy(attribute_bonus)
damage_buff = min(max_buff, start_buff + (i - 1) * add_buff)
add_attr_bonus['AllDamageAddedRatio'] = damage_buff * injury_add + add_attr_bonus.get(
add_attr_bonus[
'AllDamageAddedRatio'
] = damage_buff * injury_add + add_attr_bonus.get(
'AllDamageAddedRatio', 0
)
if self.avatar_rank >= 4:
add_attr_bonus['CriticalDamageBase'] = critical_buff + add_attr_bonus.get(
'CriticalDamageBase', 0
)
add_attr_bonus[
'CriticalDamageBase'
] = critical_buff + add_attr_bonus.get('CriticalDamageBase', 0)
else:
if i >= 4:
critical_buff = (i - 3) * critical_damage_add
add_attr_bonus['CriticalDamageBase'] = critical_buff + add_attr_bonus.get(
add_attr_bonus[
'CriticalDamageBase'
] = critical_buff + add_attr_bonus.get(
'CriticalDamageBase', 0
)
damage1, damage2, damage3 = await calculate_damage(
@ -521,7 +534,9 @@ class Danhengil(BaseAvatar):
self.avatar_level,
)
damage_a += damage3
skill_info_list.append({'name': '天矢阴', 'damagelist': [damage_c, damage_e, damage_a]})
skill_info_list.append(
{'name': '天矢阴', 'damagelist': [damage_c, damage_e, damage_a]}
)
# 计算盘拏耀跃伤害
skill_multiplier = self.Skill_num('Normal', 'Normal3') / 7
@ -531,17 +546,21 @@ class Danhengil(BaseAvatar):
for i in range(1, 8):
add_attr_bonus = copy.deepcopy(attribute_bonus)
damage_buff = min(max_buff, start_buff + (i - 1) * add_buff)
add_attr_bonus['AllDamageAddedRatio'] = damage_buff * injury_add + add_attr_bonus.get(
add_attr_bonus[
'AllDamageAddedRatio'
] = damage_buff * injury_add + add_attr_bonus.get(
'AllDamageAddedRatio', 0
)
if self.avatar_rank >= 4:
add_attr_bonus['CriticalDamageBase'] = critical_buff + add_attr_bonus.get(
'CriticalDamageBase', 0
)
add_attr_bonus[
'CriticalDamageBase'
] = critical_buff + add_attr_bonus.get('CriticalDamageBase', 0)
else:
if i >= 4:
critical_buff = (i - 3) * critical_damage_add
add_attr_bonus['CriticalDamageBase'] = critical_buff + add_attr_bonus.get(
add_attr_bonus[
'CriticalDamageBase'
] = critical_buff + add_attr_bonus.get(
'CriticalDamageBase', 0
)
damage1, damage2, damage3 = await calculate_damage(
@ -566,7 +585,9 @@ class Danhengil(BaseAvatar):
self.avatar_level,
)
damage_a += damage3
skill_info_list.append({'name': '盘拏耀跃', 'damagelist': [damage_c, damage_e, damage_a]})
skill_info_list.append(
{'name': '盘拏耀跃', 'damagelist': [damage_c, damage_e, damage_a]}
)
# 计算大招伤害
skill_multiplier = self.Skill_num('Ultra', 'Ultra') / 3
@ -576,13 +597,15 @@ class Danhengil(BaseAvatar):
for i in range(1, 4):
add_attr_bonus = copy.deepcopy(attribute_bonus)
damage_buff = min(max_buff, 10)
add_attr_bonus['AllDamageAddedRatio'] = damage_buff * injury_add + add_attr_bonus.get(
add_attr_bonus[
'AllDamageAddedRatio'
] = damage_buff * injury_add + add_attr_bonus.get(
'AllDamageAddedRatio', 0
)
critical_buff = 4 * critical_damage_add
add_attr_bonus['CriticalDamageBase'] = critical_buff + add_attr_bonus.get(
'CriticalDamageBase', 0
)
add_attr_bonus[
'CriticalDamageBase'
] = critical_buff + add_attr_bonus.get('CriticalDamageBase', 0)
damage1, damage2, damage3 = await calculate_damage(
base_attr,
add_attr_bonus,
@ -605,10 +628,13 @@ class Danhengil(BaseAvatar):
self.avatar_level,
)
damage_a += damage3
skill_info_list.append({'name': '终结技', 'damagelist': [damage_c, damage_e, damage_a]})
skill_info_list.append(
{'name': '终结技', 'damagelist': [damage_c, damage_e, damage_a]}
)
logger.info(skill_info_list)
return skill_info_list
class AvatarDamage:
@classmethod
def create(

View File

@ -1,14 +1,14 @@
import json
from abc import abstractmethod
from pathlib import Path
from abc import abstractmethod
from typing import List, Tuple, Union
import msgspec
from msgspec import Struct
from ....utils.excel.model import AvatarPromotionConfig
from .model import DamageInstanceAvatar, DamageInstanceSkill
from .SkillBase import BaseSkills
from ....utils.excel.model import AvatarPromotionConfig
from .model import DamageInstanceSkill, DamageInstanceAvatar
path = Path(__file__).parent.parent
with Path.open(path / 'Excel' / 'SkillData.json', encoding='utf-8') as f:

View File

@ -1,11 +1,11 @@
from abc import abstractmethod
from typing import Dict
from abc import abstractmethod
from gsuid_core.logger import logger
from ....utils.map.model.RelicSetSkill import RelicSetStatusAdd
from ....utils.map.SR_MAP_PATH import RelicSetSkill
from .model import DamageInstanceRelic
from ....utils.map.SR_MAP_PATH import RelicSetSkill
from ....utils.map.model.RelicSetSkill import RelicSetStatusAdd
class SingleRelic:
@ -70,7 +70,6 @@ class BaseRelicSetSkill:
...
def set_skill_property_ability(self):
def add_relic_set_attribute(status_add: RelicSetStatusAdd):
set_property = status_add.Property
set_value = status_add.Value

View File

@ -1,8 +1,8 @@
import json
from pathlib import Path
from typing import List
from pathlib import Path
from .model import DamageInstanceAvatar, DamageInstanceSkill
from .model import DamageInstanceSkill, DamageInstanceAvatar
path = Path(__file__).parent.parent
with Path.open(path / 'Excel' / 'SkillData.json', encoding='utf-8') as f:
@ -14,7 +14,7 @@ skill_types = {
'BPSkill': 'BPSkill_',
'Ultra': 'Ultra_',
'Maze': 'Maze_',
'': 'Talent_'
'': 'Talent_',
}

View File

@ -3,9 +3,9 @@ from typing import Dict, List, Tuple
from msgspec import Struct
from .model import DamageInstanceWeapon
from ....utils.excel.model import EquipmentPromotionConfig
from ....utils.map.SR_MAP_PATH import EquipmentID2AbilityProperty
from .model import DamageInstanceWeapon
class BaseWeaponAttribute(Struct):

View File

@ -150,7 +150,10 @@ def calculate_resistance_area(
if '_' in attr_name:
skill_name = attr_name.split('_')[0]
skillattr_name = attr_name.split('_')[1]
if skill_name == add_skill_type and skillattr_name in (element, 'AllDamage'):
if skill_name == 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]}穿透加成'

View File

@ -1,9 +1,9 @@
import json
from pathlib import Path
from typing import Dict
from pathlib import Path
from ..Base.model import DamageInstanceWeapon
from ..Base.WeaponBase import BaseWeapon
from ..Base.model import DamageInstanceWeapon
path = Path(__file__).parent.parent
with Path.open(path / 'Excel' / 'weapon_effect.json', encoding='utf-8') as f:

View File

@ -20,9 +20,16 @@ async def merge_attribute(
merged_attr[attr] += base_attr[attr] * value
else:
merged_attr[attribute] = attribute_bonus[attribute]
elif attribute in ['ignore_defence', 'Atk_buff', 'Normal_buff', 'shield_added_ratio']:
elif attribute in [
'ignore_defence',
'Atk_buff',
'Normal_buff',
'shield_added_ratio',
]:
merged_attr[attribute] = base_attr.get(attribute, 0) + value
elif attribute.endswith(('ResistancePenetration', 'DmgAdd', 'DmgRatio')):
elif attribute.endswith(
('ResistancePenetration', 'DmgAdd', 'DmgRatio')
):
merged_attr[attribute] = base_attr.get(attribute, 0) + value
elif attribute.endswith('Base'):
merged_attr[attribute] = base_attr.get(attribute, 0) + value