优化算法

This commit is contained in:
a376148946 2023-09-24 14:15:16 +08:00 committed by qwerdvd
parent 5c5498e575
commit 04b56c7f5d
2 changed files with 14 additions and 35 deletions

View File

@ -230,7 +230,9 @@ class Fuxuan(BaseAvatar):
self.eidolon_attribute['CriticalDamageBase'] = 0.3 self.eidolon_attribute['CriticalDamageBase'] = 0.3
def extra_ability(self): 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): class Gepard(BaseAvatar):
@ -424,7 +426,6 @@ class Jingliu(BaseAvatar):
'UltraAttackAddedRatio' 'UltraAttackAddedRatio'
] = attack_added_ratio ] = attack_added_ratio
class Topaz(BaseAvatar): class Topaz(BaseAvatar):
Buff: BaseAvatarBuff Buff: BaseAvatarBuff
@ -451,14 +452,9 @@ class Topaz(BaseAvatar):
logger.info('托帕和账账对拥有火属性弱点的敌方目标造成的伤害提高15%') logger.info('托帕和账账对拥有火属性弱点的敌方目标造成的伤害提高15%')
self.extra_ability_attribute['AllDamageAddedRatio'] = 0.15 self.extra_ability_attribute['AllDamageAddedRatio'] = 0.15
logger.info('涨幅惊人暴击伤害提高') logger.info('涨幅惊人暴击伤害提高')
self.extra_ability_attribute[ self.extra_ability_attribute['Talent1_CriticalDamageBase'] = self.Ultra_num('Ultra_CD')
'Talent1_CriticalDamageBase'
] = self.Ultra_num('Ultra_CD')
logger.info('【负债证明】状态,使其受到的追加攻击伤害提高') logger.info('【负债证明】状态,使其受到的追加攻击伤害提高')
self.extra_ability_attribute['TalentDmgAdd'] = self.BPSkill_num( self.extra_ability_attribute['TalentDmgAdd'] = self.BPSkill_num('BPSkill_add')
'BPSkill_add'
)
class Avatar: class Avatar:
@classmethod @classmethod

View File

@ -166,29 +166,13 @@ class RoleInstance:
skill_multiplier = self.avatar.BPSkill_num(skill_type) skill_multiplier = self.avatar.BPSkill_num(skill_type)
skill_type = 'BPSkill' skill_type = 'BPSkill'
elif self.raw_data.avatar.id_ == 1112: elif self.raw_data.avatar.id_ == 1112:
skill_multiplier = ( skill_multiplier = self.avatar.Ultra_num(skill_type) + self.avatar.BPSkill()
self.avatar.Ultra_num(skill_type) + self.avatar.BPSkill()
)
skill_type = 'Talent' skill_type = 'Talent'
else: else:
raise Exception('skill type error') raise Exception('skill type error')
logger.info(f'技能区总: {skill_multiplier}') 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 # 检查武器战斗生效的buff
logger.info('检查武器战斗生效的buff') logger.info('检查武器战斗生效的buff')
Ultra_Use = self.avatar.Ultra_Use() Ultra_Use = self.avatar.Ultra_Use()
@ -309,17 +293,16 @@ class RoleInstance:
#检查是否有某一属性的抗性穿透 #检查是否有某一属性的抗性穿透
attr_name = attr.split('ResistancePenetration')[0] attr_name = attr.split('ResistancePenetration')[0]
if attr_name in (self.avatar.avatar_element, 'AllDamage'): 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] enemy_status_resistance += merged_attr[attr]
#检查是否有某一技能属性的抗性穿透 #检查是否有某一技能属性的抗性穿透
skill_name = attr_name.split('_')[0] skill_name = attr_name.split('_')[0]
skillattr_name = attr_name.split('_')[1] skillattr_name = attr_name.split('_')[1]
if skill_name in ( if (
skill_type, skill_name in (skill_type, skill_info[3])
skill_info[3], and skillattr_name in (self.avatar.avatar_element, 'AllDamage')
) and skillattr_name in (
self.avatar.avatar_element,
'AllDamage',
): ):
enemy_status_resistance += merged_attr[attr] enemy_status_resistance += merged_attr[attr]
logger.info( logger.info(