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