This commit is contained in:
2025-06-15 23:14:13 +08:00
parent 57127af21d
commit fb3cca42c1
2 changed files with 11 additions and 10 deletions
+5 -3
View File
@@ -84,7 +84,7 @@ class Skill:
"""技能冷却恢复"""
associate: list = []
"""关联技能
type: 关联类型 *乘算 +加算 $角色属性 默认'*skillRation'
type: 关联类型 *乘算 +加算 =直接赋值 $角色属性 默认'*skillRation'
e.g.
*skillRation 乘算技能面板倍率
*cdReduce 乘算技能冷却缩减
@@ -166,7 +166,7 @@ class Skill:
ratio = assoc.get('ratio', 100)
weapon = assoc.get('weapon', self.char.武器选项)
exceptSkills = assoc.get('exceptSkills', [])
if type[0] not in ['*', '+', '$']:
if type[0] not in ['*', '+', '=', '$']:
if self.precondition() and (self.char.GetWeaponType()[0] in weapon or len(weapon) == len(self.char.武器选项)):
getattr(self, type)(old, new, data, skills, exceptSkills, ratio, weapon)
continue
@@ -212,6 +212,8 @@ class Skill:
return
else:
setattr(skill, type[1:], getattr(skill, type[1:]) + data[new] / ratio - data[old] / ratio)
elif type.startswith('='):
setattr(skill, type[1:], data[new])
def skillInfo(self, mode: str | None = None):
pass
@@ -285,7 +287,7 @@ class ActiveSkill(Skill):
plus = getattr(self, f'plus{i}', 0)
hit = getattr(self, f'hit{i}', 0)
if len(data) == 0 or hit == 0:
break
continue
if lv < len(data):
hit = getattr(self, f'hit{i}', 0)
power = getattr(self, f'power{i}', 1)
@@ -436,16 +436,16 @@ class Skill17(ActiveSkill):
self.cd = 4.9
def getSkillCD(self,mode=None):
if self.currentMode == "光翼":
if mode == "光翼":
pre = self.char.GetSkillByName("地裂 · 波动剑")
return 1.2 * pre.getSkillCD(mode) / pre.cd
elif self.currentMode == "天照":
elif mode == "天照":
pre = self.char.GetSkillByName("冰刃 · 波动剑")
return 2 * pre.getSkillCD(mode) / pre.cd
elif self.currentMode == "闪枪":
elif mode == "闪枪":
pre = self.char.GetSkillByName("爆炎 · 波动剑")
return 4.9 * pre.getSkillCD(mode) / pre.cd
elif self.currentMode == "平X":
elif mode == "平X":
return 1.0
else:
return super().getSkillCD(mode)
@@ -631,9 +631,8 @@ class Skill22(ActiveSkill):
mode = ['雷针','终结']
def vp_2(self):
self.power1 = self.power2 = 0
self.power0 *= 1.48
self.power3 *= 1.48
self.setMode('雷针')
self.skillRation *= 1.48
def setMode(self, mode):
if mode == "雷针":