feat:优化职业技能关联实现
This commit is contained in:
@@ -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
|
||||
|
||||
Reference in New Issue
Block a user