This commit is contained in:
2026-04-15 01:20:19 +08:00
parent cf218ec3d8
commit 221042b67e
3 changed files with 32 additions and 15 deletions
+3 -1
View File
@@ -234,7 +234,9 @@ class CalcEquipMixin(CharacterBase):
def calc_weapon(self, cur: 'CharacterEquipInfo'): def calc_weapon(self, cur: 'CharacterEquipInfo'):
"""武器强化、锻造计算""" """武器强化、锻造计算"""
value = 锻造计算(115, '史诗', cur.refine) value_1 = 锻造计算(115, '史诗', cur.refine, cur.equInfo.itemDetailType, 1.12 if '传世武器' in cur.equInfo.categorize else 0)
value_2 = 武器强化计算(115, '史诗', cur.reinforce, cur.equInfo.itemDetailType, '独立', 1.12 if '传世武器' in cur.equInfo.categorize else 0)
value = max(value_1, value_2)
self.SetStatus(AtkI=value) self.SetStatus(AtkI=value)
if '传世武器' in cur.equInfo.categorize: if '传世武器' in cur.equInfo.categorize:
value = 武器强化计算(115, '史诗', cur.reinforce, cur.equInfo.itemDetailType, '物理', 1.12) value = 武器强化计算(115, '史诗', cur.reinforce, cur.equInfo.itemDetailType, '物理', 1.12)
+18 -10
View File
@@ -127,16 +127,17 @@ def 勋章计算(装备等级, 品质, 强化等级):
# region 武器 # region 武器
武器强化系数 = (0, 2, 2.6, 3.6, 4.7, 5.8, 6.9, 8.2, 11, 14.6, 18.7, 26.9, 36.7, 43, 49.2, 55.4, 61.7, 68, 74.3, 80.6, 86.9, 93.2, 99.5, 105.8, 112.1, 118.3, 124.6, 130.9, 137.1, 143.4, 149.7, 156.0) 武器强化系数 = (0, 2, 2.6, 3.6, 4.7, 5.8, 6.9, 8.2, 11, 14.6, 18.7, 26.9, 36.7, 43, 49.2, 55.4, 61.7, 68, 74.3, 80.6, 86.9, 93.2, 99.5, 105.8, 112.1, 118.3, 124.6, 130.9, 137.1, 143.4, 149.7, 156.0)
武器锻造系数 = (0, 2, 3, 4, 6, 8, 13, 18, 25, 32, 41) # 武器锻造系数 = (0, 2, 3, 4, 6, 8, 13, 18, 25, 32, 41)
武器锻造系数 = (0, 2.6, 3.6, 5.8, 8.2, 11, 18.7, 26.9, 42.1)
武器成长系数 = {'普通': 0.4, '高级': 0.7, '稀有': 1, '神器': 1.25, '勇者': 1.1, '传说': 1.35, '史诗': 1.45, '神话': 1.55} 武器成长系数 = {'普通': 0.4, '高级': 0.7, '稀有': 1, '神器': 1.25, '勇者': 1.1, '传说': 1.35, '史诗': 1.45, '神话': 1.55}
武器品级加分 = {'普通': 8, '高级': 8, '稀有': 10, '神器': 12, '勇者': 11, '传说': 13, '史诗': 14, '神话': 15} 武器品级加分 = {'普通': 8, '高级': 8, '稀有': 10, '神器': 12, '勇者': 11, '传说': 13, '史诗': 14, '神话': 15}
武器类型系数 = { 武器类型系数 = {
'短剑': (1.095, 1.115, 1.11), '短剑': (1.095, 1.115, 1.11),
'太刀': (1.095, 1.105, 1.1), '太刀': (1.095, 1.105, 1.11),
'钝器': (1.11, 1.095, 1.1), '钝器': (1.11, 1.095, 1.11),
'巨剑': (1.12, 1.09, 1.1), '巨剑': (1.12, 1.09, 1.11),
'光剑': (1.093, 1.09, 1.1), '光剑': (1.093, 1.09, 1.11),
'手套': (1.095, 1.115, 1.1), '手套': (1.095, 1.115, 1.11),
'臂铠': (1.12, 1.09, 1.11), '臂铠': (1.12, 1.09, 1.11),
'爪': (1.1, 1.1, 1.11), '爪': (1.1, 1.1, 1.11),
'拳套': (1.105, 1.095, 1.11), '拳套': (1.105, 1.095, 1.11),
@@ -178,17 +179,24 @@ def 勋章计算(装备等级, 品质, 强化等级):
def 武器强化计算(装备等级, 品质, 强化等级, 武器类型, 类型, 默认系数=0): def 武器强化计算(装备等级, 品质, 强化等级, 武器类型, 类型, 默认系数=0):
index = 0 if 类型 == '物理' else (1 if 类型 == '魔法' else ()) index = 0
if 类型 == '物理':
index = 0
elif 类型 == '魔法':
index = 1
elif 类型 == '独立':
index = 2
武器系数 = max(武器类型系数[武器类型][index], 默认系数) 武器系数 = max(武器类型系数[武器类型][index], 默认系数)
return int((装备等级 + 武器品级加分[品质]) / 8 * 武器成长系数[品质] * 武器强化系数[强化等级] * 武器系数) return int((装备等级 + 武器品级加分[品质]) / 8 * 武器成长系数[品质] * 武器强化系数[强化等级] * 武器系数)
def 锻造计算(装备等级, 品质, 锻造等级): def 锻造计算(装备等级, 品质, 锻造等级, 武器类型, 默认系数=0):
return round((装备等级 + 武器品级加分[品质]) / 8 * 武器成长系数[品质] * 武器锻造系数[锻造等级]) 武器系数 = max(武器类型系数[武器类型][2], 默认系数)
return int((装备等级 + 武器品级加分[品质]) / 8 * 武器成长系数[品质] * 武器锻造系数[锻造等级] * 武器系数)
def 锻造四维(装备等级, 品质, 锻造等级): def 锻造四维(装备等级, 品质, 锻造等级):
return round((装备等级 + 武器品级加分[品质]) / 80 * 武器成长系数[品质] * 武器锻造系数[锻造等级]) return round((装备等级 + 武器品级加分[品质]) / 130 * 武器成长系数[品质] * 武器锻造系数[锻造等级])
武器冷却惩罚系数 = { 武器冷却惩罚系数 = {
+11 -4
View File
@@ -532,16 +532,23 @@ def emblem_combine(char: CharacterProperty, position: str, lv: int, emblem_list:
# 稀有 # 稀有
if rarity == 0: if rarity == 0:
skillAttack = [0.001, 0.001, 0.002, 0.002] skillAttack = [0.001, 0.001, 0.002, 0.002]
buffer = [] buffer = [10, 10, 20, 20]
for i in emblem_raritys:
pass
pass
# 神器 # 神器
elif rarity == 1: elif rarity == 1:
skillAttack = [0.001, 0.002, 0.003, 0.004]
buffer = [10, 20, 30, 40]
pass pass
# 传说 # 传说
elif rarity == 2: elif rarity == 2:
skillAttack = [0.002, 0.003, 0.004, 0.005]
buffer = [20, 30, 40, 50]
pass pass
# 史诗 # 史诗
elif rarity == 3: elif rarity == 3:
skillAttack = [0.002, 0.003, 0.005, 0.006]
buffer = [20, 30, 50, 60]
pass pass
for i in emblem_raritys:
char.SetStatus(SkillAttack=skillAttack[i - 1], Buffer=buffer[i - 1])
pass
pass