mirror of
https://github.com/PaiGramTeam/StarRailDamageCal.git
synced 2024-11-16 04:45:43 +00:00
fix bug
This commit is contained in:
parent
a3ae706ed6
commit
ccfb5cce70
@ -5007,9 +5007,18 @@ class Acheron(BaseAvatar):
|
||||
skill_multiplier,
|
||||
self.avatar_level,
|
||||
)
|
||||
damagelist_u_1_d[0] = damagelist_u_1_d[0] * 1.6
|
||||
damagelist_u_1_d[1] = damagelist_u_1_d[1] * 1.6
|
||||
damagelist_u_1_d[2] = damagelist_u_1_d[2] * 1.6 + damage3
|
||||
damagelist_u_2_d = await calculate_damage(
|
||||
base_attr,
|
||||
add_attr_bonus,
|
||||
"Ultra",
|
||||
"Ultra",
|
||||
self.avatar_element,
|
||||
0.6,
|
||||
self.avatar_level,
|
||||
)
|
||||
damagelist_u_1_d[0] = damagelist_u_1_d[0] * 1.6 + damagelist_u_2_d[0] * 1.6
|
||||
damagelist_u_1_d[1] = damagelist_u_1_d[1] * 1.6 + damagelist_u_2_d[1] * 1.6
|
||||
damagelist_u_1_d[2] = damagelist_u_1_d[2] * 1.6 + damagelist_u_2_d[2] * 1.6 + damage3
|
||||
skill_info_list.append({"name": "啼泽雨斩", "damagelist": damagelist_u_1_d})
|
||||
#黄泉返渡
|
||||
skill_multiplier = self.Skill_num("Ultra", "Ultra_1_a")
|
||||
|
@ -169,35 +169,35 @@ async def calculate_damage(
|
||||
attack = merged_attr.get("defence", 0)
|
||||
else:
|
||||
attack = merged_attr.get("attack", 0)
|
||||
|
||||
# print(f'攻击区:{attack}')
|
||||
damage_reduction = calculate_damage_reduction(level)
|
||||
|
||||
# print(f'韧性区:{damage_reduction}')
|
||||
resistance_area = calculate_resistance_area(
|
||||
merged_attr,
|
||||
skill_type,
|
||||
add_skill_type,
|
||||
element,
|
||||
)
|
||||
|
||||
# print(f'抗性区:{resistance_area}')
|
||||
defence_multiplier = calculate_defence_multiplier(
|
||||
level, merged_attr, skill_type, add_skill_type
|
||||
)
|
||||
|
||||
# print(f'防御区:{defence_multiplier}')
|
||||
injury_area, element_area = calculate_injury_area(
|
||||
merged_attr,
|
||||
skill_type,
|
||||
add_skill_type,
|
||||
element,
|
||||
)
|
||||
|
||||
# print(f'增伤区:{injury_area}')
|
||||
damage_ratio = calculate_damage_ratio(merged_attr, skill_type, add_skill_type)
|
||||
|
||||
# print(f'易伤区:{damage_ratio}')
|
||||
critical_damage = calculate_critical_damage(merged_attr, skill_type, add_skill_type)
|
||||
|
||||
# print(f'爆伤区:{critical_damage}')
|
||||
critical_chance = calculate_critical_chance(merged_attr, skill_type, add_skill_type)
|
||||
|
||||
# print(f'暴击区:{critical_chance}')
|
||||
expected_damage = calculate_expected_damage(critical_chance, critical_damage)
|
||||
|
||||
# print(f'期望区:{expected_damage}')
|
||||
damage_cd = calculate_damage_cd(
|
||||
attack,
|
||||
skill_multiplier,
|
||||
@ -247,6 +247,7 @@ def apply_attribute_bonus(
|
||||
skill_type,
|
||||
add_skill_type,
|
||||
):
|
||||
# print(f'{attr} 有 {merged_attr[attr]} 攻击加成')
|
||||
add_attr_bonus["AttackAddedRatio"] += add_attr_bonus[attr]
|
||||
if "StatusProbabilityBase" in attr and attr.split("StatusProbabilityBase")[
|
||||
0
|
||||
@ -272,7 +273,7 @@ def calculate_resistance_area(
|
||||
# 检查是否有某一属性的抗性穿透
|
||||
attr_name = attr.split("ResistancePenetration")[0]
|
||||
if attr_name in (element, "AllDamage"):
|
||||
# logger.info(f'{attr_name}属性有{merged_attr[attr]}穿透加成')
|
||||
# print(f'{attr_name}属性有{merged_attr[attr]}穿透加成')
|
||||
enemy_status_resistance += merged_attr[attr]
|
||||
# 检查是否有某一技能属性的抗性穿透
|
||||
if "_" in attr_name:
|
||||
@ -283,9 +284,7 @@ def calculate_resistance_area(
|
||||
"AllDamage",
|
||||
):
|
||||
enemy_status_resistance += merged_attr[attr]
|
||||
# logger.info(
|
||||
# f'{skill_name}对{skillattr_name}属性有{merged_attr[attr]}穿透加成'
|
||||
# )
|
||||
# print(f'{skill_name}对{skillattr_name}属性有{merged_attr[attr]}穿透加成')
|
||||
return 1.0 - (0 - enemy_status_resistance)
|
||||
|
||||
|
||||
@ -322,18 +321,14 @@ def calculate_injury_area(
|
||||
skill_type,
|
||||
add_skill_type,
|
||||
):
|
||||
# logger.info(
|
||||
# f'{attr} 对 {skill_type} 有 {merged_attr[attr]} 伤害加成'
|
||||
# )
|
||||
# print(f'{attr} 对 {skill_type} 有 {merged_attr[attr]} 伤害加成')
|
||||
injury_area += merged_attr[attr]
|
||||
|
||||
if "AddedRatio" in attr and attr_name in (
|
||||
element,
|
||||
"AllDamage",
|
||||
):
|
||||
# logger.info(
|
||||
# f'{attr} 对 {element} 属性有 {merged_attr[attr]} 伤害加成'
|
||||
# )
|
||||
# print(f'{attr} 对 {element} 属性有 {merged_attr[attr]} 伤害加成')
|
||||
if attr_name == element:
|
||||
element_area += merged_attr[attr]
|
||||
injury_area += merged_attr[attr]
|
||||
@ -368,6 +363,7 @@ def calculate_critical_damage(
|
||||
skill_type,
|
||||
add_skill_type,
|
||||
):
|
||||
# print(f'{attr} 有 {merged_attr[attr]} 爆伤加成')
|
||||
critical_damage_base += merged_attr[attr]
|
||||
return critical_damage_base + 1
|
||||
|
||||
@ -383,6 +379,7 @@ def calculate_critical_chance(
|
||||
skill_type,
|
||||
add_skill_type,
|
||||
):
|
||||
# print(f'{attr} 有 {merged_attr[attr]} 暴击加成')
|
||||
critical_chance_base += merged_attr[attr]
|
||||
return min(1, critical_chance_base)
|
||||
|
||||
@ -454,7 +451,7 @@ def calculate_damage_tz(
|
||||
injury_add_tz = 0.0
|
||||
|
||||
attack_tz = attack + 355 + base_attr["attack"] * 2.334
|
||||
# logger.info(f'attack_tz: {attack_tz}')
|
||||
# # print(f'attack_tz: {attack_tz}')
|
||||
if element == "Imaginary":
|
||||
injury_add_tz = 0.12
|
||||
return (
|
||||
|
Loading…
Reference in New Issue
Block a user