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

This commit is contained in:
pre-commit-ci[bot] 2023-10-02 05:05:20 +00:00 committed by qwerdvd
parent 36a68e6057
commit a2a1f1ee20
6 changed files with 66 additions and 27 deletions

View File

@ -1,13 +1,15 @@
import json
from pathlib import Path
from typing import Dict, List, Union
from .effect.Role import RoleInstance
from .mono.Character import Character
Excel_path = Path(__file__).parent / 'effect'
with Path.open(Excel_path / 'Excel' / 'SkillData.json', encoding='utf-8') as f:
skill_dict = json.load(f)
async def cal_char_info(char_data: Dict):
char: Character = Character(char_data)
await char.get_equipment_info()

View File

@ -87,7 +87,9 @@ class Clara(BaseAvatar):
def extra_ability(self):
logger.info('额外能力')
logger.info('史瓦罗的反击造成的伤害提高30%')
self.extra_ability_attribute['Talent1SkillAdd'] = self.Skill_num('Talent', 'Talent')
self.extra_ability_attribute['Talent1SkillAdd'] = self.Skill_num(
'Talent', 'Talent'
)
self.extra_ability_attribute['TalentDmgAdd'] = 0.3
self.extra_ability_attribute['UltraDmgAdd'] = 0.3
@ -325,8 +327,12 @@ class Welt(BaseAvatar):
def eidolons(self):
if self.avatar_rank >= 1:
self.eidolon_attribute['NormalSkillAdd'] = self.Skill_num('Normal', 'Normal') * 0.5
self.eidolon_attribute['BPSkillSkillAdd'] = self.Skill_num('BPSkill', 'BPSkill') * 0.8
self.eidolon_attribute['NormalSkillAdd'] = (
self.Skill_num('Normal', 'Normal') * 0.5
)
self.eidolon_attribute['BPSkillSkillAdd'] = (
self.Skill_num('BPSkill', 'BPSkill') * 0.8
)
def extra_ability(self):
logger.info('额外能力')
@ -469,7 +475,9 @@ class Topaz(BaseAvatar):
self.eidolon_attribute['Talent1_FireResistancePenetration'] = 0.1
def extra_ability(self):
self.extra_ability_attribute['Talent1SkillAdd'] = self.Skill_num('Ultra', 'Talent1')
self.extra_ability_attribute['Talent1SkillAdd'] = self.Skill_num(
'Ultra', 'Talent1'
)
logger.info('额外能力')
logger.info('托帕和账账对拥有火属性弱点的敌方目标造成的伤害提高15%')
self.extra_ability_attribute['AllDamageAddedRatio'] = 0.15
@ -482,6 +490,7 @@ class Topaz(BaseAvatar):
'BPSkill_add'
)
class Guinaifen(BaseAvatar):
Buff: BaseAvatarBuff
@ -504,9 +513,14 @@ class Guinaifen(BaseAvatar):
def extra_ability(self):
self.extra_ability_attribute['AllDamageAddedRatio'] = 0.2
if self.avatar_rank >= 6:
self.extra_ability_attribute['DmgRatio'] = self.Talent_num('Talent') * 4
self.extra_ability_attribute['DmgRatio'] = (
self.Talent_num('Talent') * 4
)
else:
self.extra_ability_attribute['DmgRatio'] = self.Talent_num('Talent') * 3
self.extra_ability_attribute['DmgRatio'] = (
self.Talent_num('Talent') * 3
)
class Avatar:
@classmethod

View File

@ -109,7 +109,7 @@ class BaseAvatar:
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: str, skill_type: str):
if skill == 'Normal':
skill_level = self.Skill.Normal_.level - 1
@ -121,7 +121,7 @@ class BaseAvatar:
skill_level = self.Skill.Talent_.level - 1
skill_info = skill_dict[str(self.avatar_id)][skill_type][skill_level]
return msgspec.convert(skill_info, type=float)
def Normalnum(self, skill_type: str):
skill_info = skill_dict[str(self.avatar_id)][skill_type][
self.Skill.Normal_.level - 1

View File

@ -78,12 +78,16 @@ class BaseRelicSetSkill:
set_property = status_add.Property
set_value = status_add.Value
if set_property != '':
relic_set_attribute[set_property] = relic_set_attribute.get(set_property, 0) + set_value
relic_set_attribute[set_property] = (
relic_set_attribute.get(set_property, 0) + set_value
)
if self.pieces4:
status_add = RelicSetSkill.RelicSet[str(self.setId)]['4']
if status_add:
set_property = status_add.Property
set_value = status_add.Value
if set_property != '':
relic_set_attribute[set_property] = relic_set_attribute.get(set_property, 0) + set_value
relic_set_attribute[set_property] = (
relic_set_attribute.get(set_property, 0) + set_value
)
return relic_set_attribute

View File

@ -1,6 +1,7 @@
from typing import List, Union
import json
from pathlib import Path
from typing import List, Union
from gsuid_core.logger import logger
from .Avatar.Avatar import Avatar
@ -13,6 +14,8 @@ from .Relic.Relic import RelicSet, SingleRelic
Excel_path = Path(__file__).parent
with Path.open(Excel_path / 'Excel' / 'SkillData.json', encoding='utf-8') as f:
skill_dict = json.load(f)
class RoleInstance:
def __init__(self, raw_data: Character):
self.raw_data = DamageInstance(raw_data)
@ -134,8 +137,10 @@ class RoleInstance:
logger.info(
f'{skill_name}{skill_type}{self.attribute_bonus[attr]}倍率加成'
)
skill_multiplier = skill_multiplier + self.attribute_bonus[attr]
skill_multiplier = (
skill_multiplier + self.attribute_bonus[attr]
)
logger.info(f'技能区总: {skill_multiplier}')
# 检查武器战斗生效的buff
@ -155,7 +160,7 @@ class RoleInstance:
if self.attribute_bonus is None:
raise Exception('attribute_bonus is None')
logger.info(self.attribute_bonus)
# 检查是否有对某一个技能的属性加成
logger.info('检查是否有对某一个技能的属性加成')
for attr in self.attribute_bonus:
@ -179,7 +184,7 @@ class RoleInstance:
self.attribute_bonus['StatusProbabilityBase'] = (
status_probability + self.attribute_bonus[attr]
)
merged_attr = await merge_attribute(
self.base_attr, self.attribute_bonus
)
@ -217,7 +222,9 @@ class RoleInstance:
hp_num = merged_attr['hp']
skill_type_hp = skill_type + '_HP'
if skill_type_hp in skill_dict[str(self.raw_data.avatar.id_)]:
hp_multiplier = self.avatar.Skill_num(skill_info[4], skill_type_hp)
hp_multiplier = self.avatar.Skill_num(
skill_info[4], skill_type_hp
)
else:
hp_multiplier = 0
for attr in self.attribute_bonus:
@ -227,8 +234,10 @@ class RoleInstance:
logger.info(
f'{skill_name}{skill_type}{self.attribute_bonus[attr]}倍率加成'
)
hp_multiplier = hp_multiplier + self.attribute_bonus[attr]
hp_multiplier = (
hp_multiplier + self.attribute_bonus[attr]
)
if skill_type == 'Talent':
if (
self.raw_data.avatar.rank >= 6

View File

@ -1,8 +1,6 @@
import json
from typing import Dict, List
from collections import Counter
from loguru import logger
from ...utils.map.SR_MAP_PATH import RelicSetSkill, EquipmentID2AbilityProperty
@ -53,7 +51,9 @@ class Character:
for equip_ability in equip_ability_property:
property_type = equip_ability['PropertyType']
value = equip_ability['Value']['Value']
self.add_attr[property_type] = value + self.add_attr.get(property_type, 0)
self.add_attr[property_type] = value + self.add_attr.get(
property_type, 0
)
async def get_char_attribute_bonus(self):
attribute_bonus = self.attribute_bonus
@ -61,7 +61,9 @@ class Character:
status_add = bonus['statusAdd']
bonus_property = status_add['property']
value = status_add['value']
self.add_attr[bonus_property] = value + self.add_attr.get(bonus_property, 0)
self.add_attr[bonus_property] = value + self.add_attr.get(
bonus_property, 0
)
async def get_relic_info(self):
# 计算圣遗物效果
@ -71,12 +73,16 @@ class Character:
# 处理主属性
relic_property = relic['MainAffix']['Property']
property_value = relic['MainAffix']['Value']
self.add_attr[relic_property] = property_value + self.add_attr.get(relic_property, 0)
self.add_attr[relic_property] = property_value + self.add_attr.get(
relic_property, 0
)
# 处理副词条
for sub in relic['SubAffixList']:
sub_property = sub['Property']
sub_value = sub['Value']
self.add_attr[sub_property] = sub_value + self.add_attr.get(sub_property, 0)
self.add_attr[sub_property] = sub_value + self.add_attr.get(
sub_property, 0
)
# 处理套装属性
set_id_dict = Counter(set_id_list)
# logger.info(set_id_dict.most_common())
@ -91,14 +97,18 @@ class Character:
set_property = status_add.Property
set_value = status_add.Value
if set_property != '':
self.add_attr[set_property] = set_value + self.add_attr.get(set_property, 0)
self.add_attr[
set_property
] = set_value + self.add_attr.get(set_property, 0)
if count == 4:
status_add = RelicSetSkill.RelicSet[str(set_id)]['4']
if status_add:
set_property = status_add.Property
set_value = status_add.Value
if set_property != '':
self.add_attr[set_property] = set_value + self.add_attr.get(set_property, 0)
self.add_attr[
set_property
] = set_value + self.add_attr.get(set_property, 0)
# logger.info(json.dumps(self.base_attributes))
# logger.info(json.dumps(self.add_attr))