🐛 修复薙刀和天空卷buff重复计算的问题,优化Wiki别名识别

This commit is contained in:
CMHopeSunshine 2023-01-07 12:55:59 +08:00
parent ab107e500e
commit 190a9b5ae1
2 changed files with 10 additions and 12 deletions

View File

@ -336,8 +336,8 @@ def weapon_common_fix(info: Character):
info.prop.extra_attack += info.prop.base_attack * 6 * (0.024 + 0.006 * info.weapon.affix_level)
info.damage_describe.append('息灾前台满层')
elif info.weapon.name == '薙草之稻光':
info.prop.extra_attack += info.prop.base_attack * (info.prop.elemental_efficiency - 1) * (
0.21 + 0.07 * info.weapon.affix_level)
# info.prop.extra_attack += info.prop.base_attack * (info.prop.elemental_efficiency - 1) * (
# 0.21 + 0.07 * info.weapon.affix_level)
info.prop.elemental_efficiency += 0.25 + 0.05 * info.weapon.affix_level
elif info.weapon.name == '「渔获」':
extra_q['增伤'] += 0.12 + 0.04 * info.weapon.affix_level
@ -365,9 +365,9 @@ def weapon_common_fix(info: Character):
for i in info.prop.dmg_bonus:
info.prop.dmg_bonus[i] = info.prop.dmg_bonus[i] + (0.075 + 0.025 * info.weapon.affix_level)
info.damage_describe.append('白辰触发')
elif info.weapon.name == '天空之卷':
for i in info.prop.dmg_bonus:
info.prop.dmg_bonus[i] = info.prop.dmg_bonus[i] + (0.09 + 0.03 * info.weapon.affix_level)
# elif info.weapon.name == '天空之卷':
# for i in info.prop.dmg_bonus:
# info.prop.dmg_bonus[i] = info.prop.dmg_bonus[i] + (0.09 + 0.03 * info.weapon.affix_level)
elif info.weapon.name == '四风原典':
for i in info.prop.dmg_bonus:
info.prop.dmg_bonus[i] = info.prop.dmg_bonus[i] + 4 * (0.06 + 0.02 * info.weapon.affix_level)

View File

@ -91,23 +91,21 @@ def get_match_alias(name: str, types: Union[List[ALIAS_TYPE], ALIAS_TYPE] = None
else:
for alias in alias_list.values():
if name in alias:
if len(types) == 1 and one_to_list:
return [alias[0]]
matches[type].append(alias[0])
matches[type] = [alias[0]]
break
if get_close_matches(name, alias, cutoff=0.6, n=3):
if get_close_matches(name, alias, cutoff=0.6):
matches[type].append(alias[0])
elif type in {'武器', '圣遗物'}:
for raw_name, alias in alias_list.items():
if name in alias:
matches[type].append(raw_name)
matches[type] = [raw_name]
break
else:
if get_close_matches(name, alias, cutoff=0.6, n=3):
if get_close_matches(name, alias, cutoff=0.6):
matches[type].append(raw_name)
elif type == '原魔':
for raw_name, alias in alias_list.items():
if get_close_matches(name, alias, cutoff=0.4, n=5):
if get_close_matches(name, alias, cutoff=0.5):
matches[type].append(raw_name)
if not matches[type]:
del matches[type]