feat:优化职业技能关联实现
This commit is contained in:
@@ -1,6 +1,14 @@
|
||||
#8d4d2001cdb357e41633c234eb7501b5
|
||||
from core.basic.skill import PassiveSkill, ActiveSkill, get_data
|
||||
from core.basic.character import Character
|
||||
from core.basic.skill_effect_types import (
|
||||
Equals,
|
||||
LevelTable,
|
||||
Percent,
|
||||
Read,
|
||||
SkillAttribute,
|
||||
SkillEffect,
|
||||
)
|
||||
prefix = "imperialknight/breaker/cn/skillDetail"
|
||||
|
||||
|
||||
@@ -54,7 +62,11 @@ class Skill1(PassiveSkill):
|
||||
# 技能魔法值消耗量减少率 : {value1}%
|
||||
data1 = get_data(f'{prefix}/{uuid}', 1)
|
||||
|
||||
associate = [ {"type":"*cdReduce","data":data0,"exceptSkills":['鸣镝破阵']}, ]
|
||||
# 迁移前实现(保留对照):
|
||||
# associate = [ {"type":"*cdReduce","data":data0,"exceptSkills":['鸣镝破阵']}, ]
|
||||
associate = [
|
||||
SkillEffect(attribute=SkillAttribute.CD_REDUCE, value=1 - Percent(LevelTable(data0)), except_skills=['鸣镝破阵']),
|
||||
]
|
||||
|
||||
# 狂野横扫
|
||||
# imperialknight/breaker/eb71e1d82d92c7e1d40500a0dcd77aa6
|
||||
@@ -131,7 +143,11 @@ class Skill4(PassiveSkill):
|
||||
# 跳跃攻击力变化率 : {value2}%
|
||||
data2 = get_data(f'{prefix}/{uuid}', 2)
|
||||
|
||||
associate = [{'type': '*skillDamage', 'data': [i - 100 if i > 0 else 0 for i in data0], 'skills': ['钩爪突袭']}]
|
||||
# 迁移前实现(保留对照):
|
||||
# associate = [{'type': '*skillDamage', 'data': [i - 100 if i > 0 else 0 for i in data0], 'skills': ['钩爪突袭']}]
|
||||
associate = [
|
||||
SkillEffect(attribute=SkillAttribute.DAMAGE, value=1 + Percent(LevelTable([i - 100 if i > 0 else 0 for i in data0])), skills=['钩爪突袭']),
|
||||
]
|
||||
|
||||
# 受身蹲伏
|
||||
# imperialknight/breaker/ce26c6b69d02a440a81b552bec94f03b
|
||||
@@ -412,7 +428,11 @@ class Skill14(PassiveSkill):
|
||||
# 物理暴击率增加 : {value1}%
|
||||
data1 = get_data(f'{prefix}/{uuid}', 1)
|
||||
|
||||
associate = [{"data":data0}]
|
||||
# 迁移前实现(保留对照):
|
||||
# associate = [{"data":data0}]
|
||||
associate = [
|
||||
SkillEffect(attribute=SkillAttribute.DAMAGE, value=1 + Percent(LevelTable(data0))),
|
||||
]
|
||||
|
||||
# 枪锚踢击
|
||||
# imperialknight/breaker/cfacda0647b9a0f595df2c2aad30c18d
|
||||
@@ -616,7 +636,11 @@ class Skill21(PassiveSkill):
|
||||
# 命中率增加 : {value1}%
|
||||
data1 = get_data(f'{prefix}/{uuid}', 1)
|
||||
|
||||
associate = [{"data":data0}]
|
||||
# 迁移前实现(保留对照):
|
||||
# associate = [{"data":data0}]
|
||||
associate = [
|
||||
SkillEffect(attribute=SkillAttribute.DAMAGE, value=1 + Percent(LevelTable(data0))),
|
||||
]
|
||||
|
||||
# 激流勇进
|
||||
# imperialknight/breaker/9cb6f9ed646fa87f9b7680a42ce83d1a
|
||||
@@ -803,10 +827,14 @@ class Skill25(ActiveSkill):
|
||||
# self.cd = 7
|
||||
# self.skillRation *= 1 - 0.5
|
||||
|
||||
def effect(self, old, new):
|
||||
if self.vp == 2:
|
||||
self.associate = [{'type': '*skillRation', 'data': [0] + [-17.6] * self.maxLv, 'skills': ['钩爪突袭']}]
|
||||
return super().effect(old, new)
|
||||
# 迁移前实现(保留对照):
|
||||
# def effect(self, old, new):
|
||||
# if self.vp == 2:
|
||||
# self.associate = [{'type': '*skillRation', 'data': [0] + [-17.6] * self.maxLv, 'skills': ['钩爪突袭']}]
|
||||
# return super().effect(old, new)
|
||||
associate = [
|
||||
SkillEffect(attribute=SkillAttribute.PANEL_RATIO, value=1 + Percent(LevelTable([0] + [-17.6] * maxLv)), skills=['钩爪突袭'], when=Equals(Read(SkillAttribute.VP), 2)),
|
||||
]
|
||||
|
||||
# 逆浪断空
|
||||
# imperialknight/breaker/d085127b0edd719782bd618d5688f4a1
|
||||
@@ -939,7 +967,11 @@ class Skill28(PassiveSkill):
|
||||
# 部分技能所受伤害额外减少率 : {value1}%
|
||||
data1 = get_data(f'{prefix}/{uuid}', 1)
|
||||
|
||||
associate = [ {"data":data0} ]
|
||||
# 迁移前实现(保留对照):
|
||||
# associate = [ {"data":data0} ]
|
||||
associate = [
|
||||
SkillEffect(attribute=SkillAttribute.DAMAGE, value=1 + Percent(LevelTable(data0))),
|
||||
]
|
||||
|
||||
# 鸣镝破阵
|
||||
# imperialknight/breaker/ade01c1d6afc8a05055225045e89fe49
|
||||
@@ -1108,7 +1140,11 @@ class Skill32(PassiveSkill):
|
||||
# 基本攻击力和转职技能攻击力增加率 : {value0}%
|
||||
data0 = get_data(f'{prefix}/{uuid}', 0)
|
||||
|
||||
associate = [ {"data":data0} ]
|
||||
# 迁移前实现(保留对照):
|
||||
# associate = [ {"data":data0} ]
|
||||
associate = [
|
||||
SkillEffect(attribute=SkillAttribute.DAMAGE, value=1 + Percent(LevelTable(data0))),
|
||||
]
|
||||
|
||||
# 战栗轰击
|
||||
# imperialknight/breaker/a5fa08f5d509e6ff2ebc68856a470b5a
|
||||
@@ -1294,7 +1330,11 @@ class Skill36(PassiveSkill):
|
||||
data0 = get_data(f'{prefix}/{uuid}', 0)
|
||||
# [激流勇进]所受伤害减少率 : 30%
|
||||
|
||||
associate = [ {"data":data0} ]
|
||||
# 迁移前实现(保留对照):
|
||||
# associate = [ {"data":data0} ]
|
||||
associate = [
|
||||
SkillEffect(attribute=SkillAttribute.DAMAGE, value=1 + Percent(LevelTable(data0))),
|
||||
]
|
||||
# [激流勇进]所受伤害减少率 : 30%
|
||||
|
||||
# 狂澜风暴舞
|
||||
|
||||
Reference in New Issue
Block a user