feat:优化职业技能关联实现

This commit is contained in:
2026-10-13 17:10:08 +08:00
parent 7dc5f4cde5
commit 927866d366
78 changed files with 5242 additions and 1011 deletions
@@ -1,6 +1,17 @@
# 3deb7be5f01953ac8b1ecaa1e25e0420
from core.basic.skill import PassiveSkill, ActiveSkill, get_data
from core.basic.character import Character
from core.basic.skill_effect_types import (
CharacterAttribute,
CharacterEffect,
Equals,
LevelTable,
Operation,
Percent,
Read,
SkillAttribute,
SkillEffect,
)
prefix = "demonic_lancer/dragoon/cn/skillDetail"
@@ -123,7 +134,11 @@ class Skill3(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=['猎杀枪']),
]
# 受身蹲伏
# demonic_lancer/dragoon/ce26c6b69d02a440a81b552bec94f03b
@@ -535,8 +550,12 @@ class Skill17(PassiveSkill):
# 攻击速度增加 : {value2}%
data2 = get_data(f'{prefix}/{uuid}', 2)
# 迁移前实现(保留对照):
# associate = [
# {'type': '$*PAtkM', 'data': data0},
# ]
associate = [
{'type': '$*PAtkM', 'data': data0},
CharacterEffect(attribute=CharacterAttribute.P_ATK_M, value=1 + Percent(LevelTable(data0))),
]
# 猎杀枪
@@ -672,7 +691,11 @@ class Skill21(PassiveSkill):
# 命中率增加 : {value1}%
data1 = get_data(f'{prefix}/{uuid}', 1)
associate = [{'data': data0, 'type': '*skillDamage'}]
# 迁移前实现(保留对照):
# associate = [{'data': data0, 'type': '*skillDamage'}]
associate = [
SkillEffect(attribute=SkillAttribute.DAMAGE, value=1 + Percent(LevelTable(data0))),
]
# 暴击
# demonic_lancer/dragoon/fc1262c19f3d0477ee8eda47b8db8696
@@ -1159,7 +1182,12 @@ class Skill32(PassiveSkill):
# 技能攻击力增加率 : {value1}%
data1 = get_data(f'{prefix}/{uuid}', 1)
associate = [{'data': [-i for i in data0], 'type': '+cd', 'skills': ['猎杀枪'], 'ratio': 1}, {'data': data1, 'type': '*skillDamage'}]
# 迁移前实现(保留对照):
# associate = [{'data': [-i for i in data0], 'type': '+cd', 'skills': ['猎杀枪'], 'ratio': 1}, {'data': data1, 'type': '*skillDamage'}]
associate = [
SkillEffect(attribute=SkillAttribute.CD, operation=Operation.ADD, value=LevelTable([-i for i in data0]), skills=['猎杀枪']),
SkillEffect(attribute=SkillAttribute.DAMAGE, value=1 + Percent(LevelTable(data1))),
]
# 逐云灭龙杀
# demonic_lancer/dragoon/4f2e001e9a19eb7bae50ad1840dfb329
@@ -1258,10 +1286,14 @@ class Skill34(ActiveSkill):
- 掠食攻击力 : 基础攻击力的74%\n
"""
def effect(self, old, new):
if self.vp == 2:
self.associate = [{'type': '*skillRation', 'data': [0] + [-26] * self.maxLv, 'skills': ['猎杀枪 : 穿心', '猎杀枪 : 掠食']}]
return super().effect(old, new)
# 迁移前实现(保留对照):
# def effect(self, old, new):
# if self.vp == 2:
# self.associate = [{'type': '*skillRation', 'data': [0] + [-26] * self.maxLv, 'skills': ['猎杀枪 : 穿心', '猎杀枪 : 掠食']}]
# return super().effect(old, new)
associate = [
SkillEffect(attribute=SkillAttribute.PANEL_RATIO, value=1 + Percent(LevelTable([0] + [-26] * maxLv)), skills=['猎杀枪 : 穿心', '猎杀枪 : 掠食'], when=Equals(Read(SkillAttribute.VP), 2)),
]
# 地龙狩
# demonic_lancer/dragoon/8572675ec6a1f50b6eff6a867376c2de
@@ -1316,10 +1348,14 @@ class Skill35(ActiveSkill):
突进过程中所受伤害 -75%\n
"""
def effect(self, old, new):
if self.vp == 2:
self.associate = [{'type': '*skillRation', 'data': [0] + [-23] * self.maxLv, 'skills': ['光焰枪']}]
return super().effect(old, new)
# 迁移前实现(保留对照):
# def effect(self, old, new):
# if self.vp == 2:
# self.associate = [{'type': '*skillRation', 'data': [0] + [-23] * self.maxLv, 'skills': ['光焰枪']}]
# return super().effect(old, new)
associate = [
SkillEffect(attribute=SkillAttribute.PANEL_RATIO, value=1 + Percent(LevelTable([0] + [-23] * maxLv)), skills=['光焰枪'], when=Equals(Read(SkillAttribute.VP), 2)),
]
# 狩猎之心
# demonic_lancer/dragoon/2a0a39184de92acf1c1375e00b77404c
@@ -1349,7 +1385,11 @@ class Skill36(PassiveSkill):
# 命中率增加 : {value2}%
data2 = get_data(f'{prefix}/{uuid}', 2)
associate = [{'data': data0, 'type': '*skillDamage'}]
# 迁移前实现(保留对照):
# associate = [{'data': data0, 'type': '*skillDamage'}]
associate = [
SkillEffect(attribute=SkillAttribute.DAMAGE, value=1 + Percent(LevelTable(data0))),
]
# 凌空之狩
# demonic_lancer/dragoon/9dc8438e4572d39243c97da31c113acc
@@ -1404,10 +1444,14 @@ class Skill37(ActiveSkill):
self.cd = 20
self.skillRation *= 0.5
def effect(self, old, new):
if self.vp == 1:
self.associate = [{'type': '*skillRation', 'data': [0] + [-27] * self.maxLv, 'skills': ['利刃收割']}]
return super().effect(old, new)
# 迁移前实现(保留对照):
# def effect(self, old, new):
# if self.vp == 1:
# self.associate = [{'type': '*skillRation', 'data': [0] + [-27] * self.maxLv, 'skills': ['利刃收割']}]
# return super().effect(old, new)
associate = [
SkillEffect(attribute=SkillAttribute.PANEL_RATIO, value=1 + Percent(LevelTable([0] + [-27] * maxLv)), skills=['利刃收割'], when=Equals(Read(SkillAttribute.VP), 1)),
]
# 无尽毁灭
# demonic_lancer/dragoon/3fb8395ae3b81bd608e0c4223a8eb534
@@ -1534,7 +1578,11 @@ class Skill40(PassiveSkill):
data0 = get_data(f'{prefix}/{uuid}', 0)
# [蛮横冲撞]按向前方向键时前进距离额外增加 : 30%
associate = [{'data': data0, 'type': '*skillDamage'}]
# 迁移前实现(保留对照):
# associate = [{'data': data0, 'type': '*skillDamage'}]
associate = [
SkillEffect(attribute=SkillAttribute.DAMAGE, value=1 + Percent(LevelTable(data0))),
]
# [蛮横冲撞]按向前方向键时前进距离额外增加 : 30%
# 瞬光猎杀枪
@@ -1,6 +1,15 @@
# 3deb7be5f01953ac8b1ecaa1e25e0420
from core.basic.skill import PassiveSkill, ActiveSkill, get_data
from core.basic.character import Character
from core.basic.skill_effect_types import (
CharacterAttribute,
CharacterEffect,
LevelTable,
Percent,
Power,
SkillAttribute,
SkillEffect,
)
prefix = "demonic_lancer/impaler/cn/skillDetail"
@@ -491,32 +500,60 @@ class Skill16(PassiveSkill):
# 减速状态下敌人攻击速度和移动速度减少率 : {value6}%
data6 = get_data(f'{prefix}/{uuid}', 6)
# 迁移前实现(保留对照):
# associate = [
# {'data': data0, 'type': '*skillDamage'},
# {'data': data1, 'type': '*power0', 'skills': ['双重投射']},
# {'data': data1, 'type': '*power0', 'skills': ['暗矛投射']},
# {'data': data1, 'type': '*power0', 'skills': ['绝望枪']},
# {'data': data1, 'type': '*power0', 'skills': ['连锁侵蚀']},
# {'data': data1, 'type': '*power1', 'skills': ['连锁侵蚀']},
# {'data': data1, 'type': '*power0', 'skills': ['暗蚀螺旋枪']},
# {'data': data1, 'type': '*power2', 'skills': ['暗蚀螺旋枪']},
# {'data': data1, 'type': '*power0', 'skills': ['坠蚀之雨']},
# {'data': data1, 'type': '*power0', 'skills': ['暗蚀爆雷杀']},
# {'data': data1, 'type': '*power1', 'skills': ['暗蚀爆雷杀']},
# {'data': data1, 'type': '*power2', 'skills': ['暗蚀爆雷杀']},
# {'data': data1, 'type': '*power2', 'skills': ['无尽侵蚀 : 缚魂']},
# {'data': data1, 'type': '*power0', 'skills': ['黑蚀酷刑']},
# {'data': data1, 'type': '*power1', 'skills': ['黑蚀酷刑']},
# {'data': data1, 'type': '*power3', 'skills': ['黑蚀酷刑']},
# {'data': data1, 'type': '*power0', 'skills': ['冥夜裂空']},
# {'data': data1, 'type': '*power0', 'skills': ['冥蚀脉冲']},
# {'data': data1, 'type': '*power1', 'skills': ['冥蚀脉冲']},
# {'data': data1, 'type': '*power3', 'skills': ['冥蚀脉冲']},
# {'data': data1, 'type': '*power1', 'skills': ['幽影暗蚀 : 寂灭']},
# {'data': data1, 'type': '*power0', 'skills': ['虚空碎灭']},
# {'data': data1, 'type': '*power1', 'skills': ['虚空碎灭']},
# {'data': data1, 'type': '*power3', 'skills': ['虚空碎灭']},
# {'data': data1, 'type': '*power2', 'skills': ['暗·渊灭禁绝']},
# ]
associate = [
{'data': data0, 'type': '*skillDamage'},
{'data': data1, 'type': '*power0', 'skills': ['双重投射']},
{'data': data1, 'type': '*power0', 'skills': ['暗矛投射']},
{'data': data1, 'type': '*power0', 'skills': ['绝望枪']},
{'data': data1, 'type': '*power0', 'skills': ['连锁侵蚀']},
{'data': data1, 'type': '*power1', 'skills': ['连锁侵蚀']},
{'data': data1, 'type': '*power0', 'skills': ['暗蚀螺旋枪']},
{'data': data1, 'type': '*power2', 'skills': ['暗蚀螺旋枪']},
{'data': data1, 'type': '*power0', 'skills': ['坠蚀之雨']},
{'data': data1, 'type': '*power0', 'skills': ['暗蚀爆雷杀']},
{'data': data1, 'type': '*power1', 'skills': ['暗蚀爆雷杀']},
{'data': data1, 'type': '*power2', 'skills': ['暗蚀爆雷杀']},
{'data': data1, 'type': '*power2', 'skills': ['无尽侵蚀 : 缚魂']},
{'data': data1, 'type': '*power0', 'skills': ['黑蚀酷刑']},
{'data': data1, 'type': '*power1', 'skills': ['黑蚀酷刑']},
{'data': data1, 'type': '*power3', 'skills': ['黑蚀酷刑']},
{'data': data1, 'type': '*power0', 'skills': ['冥夜裂空']},
{'data': data1, 'type': '*power0', 'skills': ['冥蚀脉冲']},
{'data': data1, 'type': '*power1', 'skills': ['冥蚀脉冲']},
{'data': data1, 'type': '*power3', 'skills': ['冥蚀脉冲']},
{'data': data1, 'type': '*power1', 'skills': ['幽影暗蚀 : 寂灭']},
{'data': data1, 'type': '*power0', 'skills': ['虚空碎灭']},
{'data': data1, 'type': '*power1', 'skills': ['虚空碎灭']},
{'data': data1, 'type': '*power3', 'skills': ['虚空碎灭']},
{'data': data1, 'type': '*power2', 'skills': ['暗·渊灭禁绝']},
SkillEffect(attribute=SkillAttribute.DAMAGE, value=1 + Percent(LevelTable(data0))),
SkillEffect(attribute=Power(0), value=1 + Percent(LevelTable(data1)), skills=['双重投射']),
SkillEffect(attribute=Power(0), value=1 + Percent(LevelTable(data1)), skills=['暗矛投射']),
SkillEffect(attribute=Power(0), value=1 + Percent(LevelTable(data1)), skills=['绝望枪']),
SkillEffect(attribute=Power(0), value=1 + Percent(LevelTable(data1)), skills=['连锁侵蚀']),
SkillEffect(attribute=Power(1), value=1 + Percent(LevelTable(data1)), skills=['连锁侵蚀']),
SkillEffect(attribute=Power(0), value=1 + Percent(LevelTable(data1)), skills=['暗蚀螺旋枪']),
SkillEffect(attribute=Power(2), value=1 + Percent(LevelTable(data1)), skills=['暗蚀螺旋枪']),
SkillEffect(attribute=Power(0), value=1 + Percent(LevelTable(data1)), skills=['坠蚀之雨']),
SkillEffect(attribute=Power(0), value=1 + Percent(LevelTable(data1)), skills=['暗蚀爆雷杀']),
SkillEffect(attribute=Power(1), value=1 + Percent(LevelTable(data1)), skills=['暗蚀爆雷杀']),
SkillEffect(attribute=Power(2), value=1 + Percent(LevelTable(data1)), skills=['暗蚀爆雷杀']),
SkillEffect(attribute=Power(2), value=1 + Percent(LevelTable(data1)), skills=['无尽侵蚀 : 缚魂']),
SkillEffect(attribute=Power(0), value=1 + Percent(LevelTable(data1)), skills=['黑蚀酷刑']),
SkillEffect(attribute=Power(1), value=1 + Percent(LevelTable(data1)), skills=['黑蚀酷刑']),
SkillEffect(attribute=Power(3), value=1 + Percent(LevelTable(data1)), skills=['黑蚀酷刑']),
SkillEffect(attribute=Power(0), value=1 + Percent(LevelTable(data1)), skills=['冥夜裂空']),
SkillEffect(attribute=Power(0), value=1 + Percent(LevelTable(data1)), skills=['冥蚀脉冲']),
SkillEffect(attribute=Power(1), value=1 + Percent(LevelTable(data1)), skills=['冥蚀脉冲']),
SkillEffect(attribute=Power(3), value=1 + Percent(LevelTable(data1)), skills=['冥蚀脉冲']),
SkillEffect(attribute=Power(1), value=1 + Percent(LevelTable(data1)), skills=['幽影暗蚀 : 寂灭']),
SkillEffect(attribute=Power(0), value=1 + Percent(LevelTable(data1)), skills=['虚空碎灭']),
SkillEffect(attribute=Power(1), value=1 + Percent(LevelTable(data1)), skills=['虚空碎灭']),
SkillEffect(attribute=Power(3), value=1 + Percent(LevelTable(data1)), skills=['虚空碎灭']),
SkillEffect(attribute=Power(2), value=1 + Percent(LevelTable(data1)), skills=['暗·渊灭禁绝']),
]
# 帝国枪术
@@ -688,8 +725,12 @@ class Skill21(PassiveSkill):
# 命中增加率 : {value1}%
data1 = get_data(f'{prefix}/{uuid}', 1)
# 迁移前实现(保留对照):
# associate = [
# {'type': '$*PAtkM', 'data': data0},
# ]
associate = [
{'type': '$*PAtkM', 'data': data0},
CharacterEffect(attribute=CharacterAttribute.P_ATK_M, value=1 + Percent(LevelTable(data0))),
]
# 暴击
@@ -921,7 +962,11 @@ class Skill28(PassiveSkill):
# 基本攻击力和转职技能攻击力增加率 : {value0}%
data0 = get_data(f'{prefix}/{uuid}', 0)
associate = [{'type': '*skillDamage', 'data': data0}]
# 迁移前实现(保留对照):
# associate = [{'type': '*skillDamage', 'data': data0}]
associate = [
SkillEffect(attribute=SkillAttribute.DAMAGE, value=1 + Percent(LevelTable(data0))),
]
# 连锁侵蚀
# demonic_lancer/impaler/2c9d9a36c8401bddff6cdb80fab8dc24
@@ -1218,7 +1263,11 @@ class Skill33(PassiveSkill):
# 暗蚀持续时间增加 : {value1}秒
data1 = get_data(f'{prefix}/{uuid}', 1)
associate = [{'data': data0, 'type': '*skillDamage'}]
# 迁移前实现(保留对照):
# associate = [{'data': data0, 'type': '*skillDamage'}]
associate = [
SkillEffect(attribute=SkillAttribute.DAMAGE, value=1 + Percent(LevelTable(data0))),
]
# 无尽侵蚀 : 缚魂
# demonic_lancer/impaler/e0daa922b19cdc35de879e938361464e
@@ -1431,7 +1480,11 @@ class Skill37(PassiveSkill):
# 暗蚀领域持续时间 : {value4}秒
data4 = get_data(f'{prefix}/{uuid}', 4)
associate = [{'data': data0, 'type': '*skillDamage'}]
# 迁移前实现(保留对照):
# associate = [{'data': data0, 'type': '*skillDamage'}]
associate = [
SkillEffect(attribute=SkillAttribute.DAMAGE, value=1 + Percent(LevelTable(data0))),
]
# 冥夜裂空
# demonic_lancer/impaler/7ec521d063d2190e1fcc5bd229af9bcf
@@ -1642,7 +1695,11 @@ class Skill41(PassiveSkill):
# 总投掷次数 : 15次
# 绝望枪攻击力 : 原有[绝望枪]投掷魔枪攻击力的60%
associate = [{'data': data0, 'type': '*skillDamage'}]
# 迁移前实现(保留对照):
# associate = [{'data': data0, 'type': '*skillDamage'}]
associate = [
SkillEffect(attribute=SkillAttribute.DAMAGE, value=1 + Percent(LevelTable(data0))),
]
# [绝望枪]
# 总投掷次数 : 15次
# 绝望枪攻击力 : 原有[绝望枪]投掷魔枪攻击力的60%
@@ -1,6 +1,14 @@
# 3deb7be5f01953ac8b1ecaa1e25e0420
from core.basic.skill import PassiveSkill, ActiveSkill, get_data
from core.basic.character import Character
from core.basic.skill_effect_types import (
CharacterAttribute,
CharacterEffect,
LevelTable,
Percent,
SkillAttribute,
SkillEffect,
)
prefix = "demonic_lancer/skirmisher/cn/skillDetail"
@@ -490,9 +498,14 @@ class Skill15(PassiveSkill):
# 命中率增加 : {value3}%
data3 = get_data(f'{prefix}/{uuid}', 3)
# 迁移前实现(保留对照):
# associate = [
# {'type': '$*PAtkP', 'data': data0},
# {'type': '*cdReduce', 'data': data1, 'exceptSkills': ['流云幻灭', '极影无形杀', '问鼎·千军破云']},
# ]
associate = [
{'type': '$*PAtkP', 'data': data0},
{'type': '*cdReduce', 'data': data1, 'exceptSkills': ['流云幻灭', '极影无形杀', '问鼎·千军破云']},
CharacterEffect(attribute=CharacterAttribute.P_ATK_P, value=1 + Percent(LevelTable(data0))),
SkillEffect(attribute=SkillAttribute.CD_REDUCE, value=1 - Percent(LevelTable(data1)), except_skills=['流云幻灭', '极影无形杀', '问鼎·千军破云']),
]
# 行云诀
@@ -825,7 +838,11 @@ class Skill25(PassiveSkill):
# 技能攻击力增加率 : {value0}%
data0 = get_data(f'{prefix}/{uuid}', 0)
associate = [{'data': data0, 'type': '*skillDamage'}]
# 迁移前实现(保留对照):
# associate = [{'data': data0, 'type': '*skillDamage'}]
associate = [
SkillEffect(attribute=SkillAttribute.DAMAGE, value=1 + Percent(LevelTable(data0))),
]
# 无畏波动枪
# demonic_lancer/skirmisher/8c2379737c5acc935c1731f67f607655
@@ -1167,12 +1184,20 @@ class Skill31(PassiveSkill):
# 基本攻击和其他技能的攻击力增加率 : {value4}%
data4 = get_data(f'{prefix}/{uuid}', 4)
# 迁移前实现(保留对照):
# associate = [
# {'data': data0, 'type': '*skillDamage', 'skills': ['行云 : 风']},
# {'data': data1, 'type': '*skillDamage', 'skills': ['行云 : 疾']},
# {'data': data2, 'type': '*skillDamage', 'skills': ['行云 : 落']},
# {'data': data3, 'type': '*skillDamage', 'skills': ['连环枪']},
# {'data': data4, 'type': '*skillDamage', 'exceptSkills': ['行云 : 风', '行云 : 疾', '行云 : 落']},
# ]
associate = [
{'data': data0, 'type': '*skillDamage', 'skills': ['行云 : 风']},
{'data': data1, 'type': '*skillDamage', 'skills': ['行云 : 疾']},
{'data': data2, 'type': '*skillDamage', 'skills': ['行云 : 落']},
{'data': data3, 'type': '*skillDamage', 'skills': ['连环枪']},
{'data': data4, 'type': '*skillDamage', 'exceptSkills': ['行云 : 风', '行云 : 疾', '行云 : 落']},
SkillEffect(attribute=SkillAttribute.DAMAGE, value=1 + Percent(LevelTable(data0)), skills=['行云 : 风']),
SkillEffect(attribute=SkillAttribute.DAMAGE, value=1 + Percent(LevelTable(data1)), skills=['行云 : 疾']),
SkillEffect(attribute=SkillAttribute.DAMAGE, value=1 + Percent(LevelTable(data2)), skills=['行云 : 落']),
SkillEffect(attribute=SkillAttribute.DAMAGE, value=1 + Percent(LevelTable(data3)), skills=['连环枪']),
SkillEffect(attribute=SkillAttribute.DAMAGE, value=1 + Percent(LevelTable(data4)), except_skills=['行云 : 风', '行云 : 疾', '行云 : 落']),
]
# 流云幻灭
@@ -1407,7 +1432,13 @@ class Skill35(PassiveSkill):
# 除行云系外的技能攻击力增加率 : {value9}%
data9 = get_data(f'{prefix}/{uuid}', 9)
associate = [{'data': data2, 'type': '*skillDamage', 'skills': ['行云 : 风', '行云 : 疾', '行云 : 落']}, {'data': data3, 'type': '*skillDamage', 'skills': ['刺击', '双重刺击']}, {'data': data4, 'type': '*skillDamage', 'exceptSkills': ['行云 : 风', '行云 : 疾', '行云 : 落', '刺击', '双重刺击']}]
# 迁移前实现(保留对照):
# associate = [{'data': data2, 'type': '*skillDamage', 'skills': ['行云 : 风', '行云 : 疾', '行云 : 落']}, {'data': data3, 'type': '*skillDamage', 'skills': ['刺击', '双重刺击']}, {'data': data4, 'type': '*skillDamage', 'exceptSkills': ['行云 : 风', '行云 : 疾', '行云 : 落', '刺击', '双重刺击']}]
associate = [
SkillEffect(attribute=SkillAttribute.DAMAGE, value=1 + Percent(LevelTable(data2)), skills=['行云 : 风', '行云 : 疾', '行云 : 落']),
SkillEffect(attribute=SkillAttribute.DAMAGE, value=1 + Percent(LevelTable(data3)), skills=['刺击', '双重刺击']),
SkillEffect(attribute=SkillAttribute.DAMAGE, value=1 + Percent(LevelTable(data4)), except_skills=['行云 : 风', '行云 : 疾', '行云 : 落', '刺击', '双重刺击']),
]
# 无双突刺
# demonic_lancer/skirmisher/bc11d28c04e01923a093d65752c55516
@@ -1604,7 +1635,11 @@ class Skill39(PassiveSkill):
# 基本攻击力和转职技能攻击力增加率 : {value0}%
data0 = get_data(f'{prefix}/{uuid}', 0)
associate = [{'data': data0, 'type': '*skillDamage'}]
# 迁移前实现(保留对照):
# associate = [{'data': data0, 'type': '*skillDamage'}]
associate = [
SkillEffect(attribute=SkillAttribute.DAMAGE, value=1 + Percent(LevelTable(data0))),
]
# 双龙流云灭
# demonic_lancer/skirmisher/4c5271b0ecce120d7fc113f377fae76f
@@ -1,6 +1,15 @@
# 3deb7be5f01953ac8b1ecaa1e25e0420
from core.basic.skill import PassiveSkill, ActiveSkill, get_data
from core.basic.character import Character
from core.basic.skill_effect_types import (
CharacterAttribute,
CharacterEffect,
LevelTable,
Operation,
Percent,
SkillAttribute,
SkillEffect,
)
prefix = "demonic_lancer/vanguard/cn/skillDetail"
@@ -125,7 +134,11 @@ class Skill3(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=['霸王戟']),
]
# 受身蹲伏
# demonic_lancer/vanguard/ce26c6b69d02a440a81b552bec94f03b
@@ -596,7 +609,11 @@ class Skill18(PassiveSkill):
# 被领主怪物攻击时,不会僵直的伤害量上限 : 生命值最大值的{value5}%
data5 = get_data(f'{prefix}/{uuid}', 5)
associate = [{'type': '$*PAtkP', 'data': data0}]
# 迁移前实现(保留对照):
# associate = [{'type': '$*PAtkP', 'data': data0}]
associate = [
CharacterEffect(attribute=CharacterAttribute.P_ATK_P, value=1 + Percent(LevelTable(data0))),
]
# 破军突击
# demonic_lancer/vanguard/c27418ae613c647527200a7ca17d97fd
@@ -761,7 +778,11 @@ class Skill23(ActiveSkill):
# 斩击范围比率 : {value6}%
data6 = get_data(f'{prefix}/{uuid}', 6)
associate = [{'type': '$*PAtkP', 'data': data3}]
# 迁移前实现(保留对照):
# associate = [{'type': '$*PAtkP', 'data': data3}]
associate = [
CharacterEffect(attribute=CharacterAttribute.P_ATK_P, value=1 + Percent(LevelTable(data3))),
]
def getSkillCD(self, mode=None):
return self.cd
@@ -1055,7 +1076,11 @@ class Skill29(PassiveSkill):
# [第2阶段]被击时,不会进入僵直的伤害量上限增加 : 生命值最大值的{value6}%
data6 = get_data(f'{prefix}/{uuid}', 6)
associate = [{'data': data0, 'type': '*skillDamage'}]
# 迁移前实现(保留对照):
# associate = [{'data': data0, 'type': '*skillDamage'}]
associate = [
SkillEffect(attribute=SkillAttribute.DAMAGE, value=1 + Percent(LevelTable(data0))),
]
# 千魂弑
# demonic_lancer/vanguard/d0cdaca82892e54097f22a1f60817048
@@ -1292,7 +1317,11 @@ class Skill34(PassiveSkill):
# [战戟猛攻]能量层数增加量 : {value1}
data1 = get_data(f'{prefix}/{uuid}', 1)
associate = [{'data': data0, 'type': '*skillDamage'}]
# 迁移前实现(保留对照):
# associate = [{'data': data0, 'type': '*skillDamage'}]
associate = [
SkillEffect(attribute=SkillAttribute.DAMAGE, value=1 + Percent(LevelTable(data0))),
]
# 断魂裂岩斩
# demonic_lancer/vanguard/ca75c965f20a150f99f54155a37400df
@@ -1420,7 +1449,12 @@ class Skill37(PassiveSkill):
# 命中时能量恢复时间减少量 : {value1}秒
data1 = get_data(f'{prefix}/{uuid}', 1)
associate = [{'data': data0, 'type': '*skillDamage'}, {'data': [-i for i in data1], 'type': '+cd', 'skills': ['战戟猛攻'], 'ratio': 1}]
# 迁移前实现(保留对照):
# associate = [{'data': data0, 'type': '*skillDamage'}, {'data': [-i for i in data1], 'type': '+cd', 'skills': ['战戟猛攻'], 'ratio': 1}]
associate = [
SkillEffect(attribute=SkillAttribute.DAMAGE, value=1 + Percent(LevelTable(data0))),
SkillEffect(attribute=SkillAttribute.CD, operation=Operation.ADD, value=LevelTable([-i for i in data1]), skills=['战戟猛攻']),
]
# 镇狱裂地枪
# demonic_lancer/vanguard/78b86e64fbb74c1db1b71c50a5ac21cd