mirror of
https://github.com/baiqwerdvd/StarRailUID.git
synced 2025-06-19 05:45:03 +08:00
优化算法
This commit is contained in:
parent
5c5498e575
commit
04b56c7f5d
@ -230,7 +230,9 @@ class Fuxuan(BaseAvatar):
|
||||
self.eidolon_attribute['CriticalDamageBase'] = 0.3
|
||||
|
||||
def extra_ability(self):
|
||||
pass
|
||||
logger.info('符玄战技【穷观阵】属性加成')
|
||||
self.extra_ability_attribute['CriticalChanceBase'] = self.BPSkill_num('BPSkill_CC')
|
||||
self.extra_ability_attribute['HPAddedRatio'] = self.BPSkill_num('BPSkill_HP')
|
||||
|
||||
|
||||
class Gepard(BaseAvatar):
|
||||
@ -424,7 +426,6 @@ class Jingliu(BaseAvatar):
|
||||
'UltraAttackAddedRatio'
|
||||
] = attack_added_ratio
|
||||
|
||||
|
||||
class Topaz(BaseAvatar):
|
||||
Buff: BaseAvatarBuff
|
||||
|
||||
@ -451,14 +452,9 @@ class Topaz(BaseAvatar):
|
||||
logger.info('托帕和账账对拥有火属性弱点的敌方目标造成的伤害提高15%。')
|
||||
self.extra_ability_attribute['AllDamageAddedRatio'] = 0.15
|
||||
logger.info('涨幅惊人暴击伤害提高')
|
||||
self.extra_ability_attribute[
|
||||
'Talent1_CriticalDamageBase'
|
||||
] = self.Ultra_num('Ultra_CD')
|
||||
self.extra_ability_attribute['Talent1_CriticalDamageBase'] = self.Ultra_num('Ultra_CD')
|
||||
logger.info('【负债证明】状态,使其受到的追加攻击伤害提高')
|
||||
self.extra_ability_attribute['TalentDmgAdd'] = self.BPSkill_num(
|
||||
'BPSkill_add'
|
||||
)
|
||||
|
||||
self.extra_ability_attribute['TalentDmgAdd'] = self.BPSkill_num('BPSkill_add')
|
||||
|
||||
class Avatar:
|
||||
@classmethod
|
||||
|
@ -166,29 +166,13 @@ class RoleInstance:
|
||||
skill_multiplier = self.avatar.BPSkill_num(skill_type)
|
||||
skill_type = 'BPSkill'
|
||||
elif self.raw_data.avatar.id_ == 1112:
|
||||
skill_multiplier = (
|
||||
self.avatar.Ultra_num(skill_type) + self.avatar.BPSkill()
|
||||
)
|
||||
skill_multiplier = self.avatar.Ultra_num(skill_type) + self.avatar.BPSkill()
|
||||
skill_type = 'Talent'
|
||||
else:
|
||||
raise Exception('skill type error')
|
||||
|
||||
logger.info(f'技能区总: {skill_multiplier}')
|
||||
|
||||
if self.raw_data.avatar.id_ == 1208:
|
||||
logger.info('符玄战技【穷观阵】属性加成')
|
||||
fx_cc_up = self.avatar.BPSkill_num('BPSkill_CC')
|
||||
fx_hp_up = self.avatar.BPSkill_num('BPSkill_HP')
|
||||
critical_chance_base = self.attribute_bonus.get(
|
||||
'CriticalChanceBase', 0
|
||||
)
|
||||
self.attribute_bonus['CriticalChanceBase'] = (
|
||||
critical_chance_base + fx_cc_up
|
||||
)
|
||||
|
||||
hp_added_ratio = self.attribute_bonus.get('HPAddedRatio', 0)
|
||||
self.attribute_bonus['HPAddedRatio'] = hp_added_ratio + fx_hp_up
|
||||
|
||||
# 检查武器战斗生效的buff
|
||||
logger.info('检查武器战斗生效的buff')
|
||||
Ultra_Use = self.avatar.Ultra_Use()
|
||||
@ -306,20 +290,19 @@ class RoleInstance:
|
||||
enemy_status_resistance = 0.0
|
||||
for attr in merged_attr:
|
||||
if attr.__contains__('ResistancePenetration'):
|
||||
# 检查是否有某一属性的抗性穿透
|
||||
#检查是否有某一属性的抗性穿透
|
||||
attr_name = attr.split('ResistancePenetration')[0]
|
||||
if attr_name in (self.avatar.avatar_element, 'AllDamage'):
|
||||
logger.info(f'{attr_name}属性有{merged_attr[attr]}穿透加成')
|
||||
logger.info(
|
||||
f'{attr_name}属性有{merged_attr[attr]}穿透加成'
|
||||
)
|
||||
enemy_status_resistance += merged_attr[attr]
|
||||
# 检查是否有某一技能属性的抗性穿透
|
||||
#检查是否有某一技能属性的抗性穿透
|
||||
skill_name = attr_name.split('_')[0]
|
||||
skillattr_name = attr_name.split('_')[1]
|
||||
if skill_name in (
|
||||
skill_type,
|
||||
skill_info[3],
|
||||
) and skillattr_name in (
|
||||
self.avatar.avatar_element,
|
||||
'AllDamage',
|
||||
if (
|
||||
skill_name in (skill_type, skill_info[3])
|
||||
and skillattr_name in (self.avatar.avatar_element, 'AllDamage')
|
||||
):
|
||||
enemy_status_resistance += merged_attr[attr]
|
||||
logger.info(
|
||||
|
Loading…
x
Reference in New Issue
Block a user