feat:优化职业技能关联实现
This commit is contained in:
@@ -1,6 +1,16 @@
|
||||
#ddc49e9ad1ff72a00b53c6cff5b1e920
|
||||
from core.basic.skill import PassiveSkill, ActiveSkill, get_data
|
||||
from core.basic.character import Character
|
||||
from core.basic.skill_effect_types import (
|
||||
Equals,
|
||||
LevelTable,
|
||||
Operation,
|
||||
Percent,
|
||||
Power,
|
||||
Read,
|
||||
SkillAttribute,
|
||||
SkillEffect,
|
||||
)
|
||||
prefix = "thief/necro/cn/skillDetail"
|
||||
|
||||
|
||||
@@ -780,7 +790,11 @@ class Skill22(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=['千魂祭', '亡者君临 : 巴拉克之戮', '命运殇痕·摩罗斯之咒']),
|
||||
]
|
||||
|
||||
# 驱使枯灵
|
||||
# thief/necro/d0cdaca82892e54097f22a1f60817048
|
||||
@@ -895,7 +909,11 @@ class Skill24(ActiveSkill):
|
||||
# 黑夜术士魔法防御力增加 : {value4}
|
||||
data4 = get_data(f'{prefix}/{uuid}', 4)
|
||||
|
||||
associate = [{"data":data1,"skills":["降临 : 尼古拉斯"]}]
|
||||
# 迁移前实现(保留对照):
|
||||
# associate = [{"data":data1,"skills":["降临 : 尼古拉斯"]}]
|
||||
associate = [
|
||||
SkillEffect(attribute=SkillAttribute.DAMAGE, value=1 + Percent(LevelTable(data1)), skills=['降临 : 尼古拉斯']),
|
||||
]
|
||||
|
||||
# 暴击
|
||||
# thief/necro/fc1262c19f3d0477ee8eda47b8db8696
|
||||
@@ -1032,7 +1050,11 @@ class Skill29(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))),
|
||||
]
|
||||
|
||||
# 百鬼夜行
|
||||
# thief/necro/04883563896fe1adac7505c6146b5f59
|
||||
@@ -1148,7 +1170,11 @@ class Skill32(PassiveSkill):
|
||||
data0 = get_data(f'{prefix}/{uuid}', 0)
|
||||
# [复苏者之缚]范围增加率 : {value1}%
|
||||
data1 = get_data(f'{prefix}/{uuid}', 1)
|
||||
associate = [{"data":data0,"exceptSkills":["降临 : 尼古拉斯"]},]
|
||||
# 迁移前实现(保留对照):
|
||||
# associate = [{"data":data0,"exceptSkills":["降临 : 尼古拉斯"]},]
|
||||
associate = [
|
||||
SkillEffect(attribute=SkillAttribute.DAMAGE, value=1 + Percent(LevelTable(data0)), except_skills=['降临 : 尼古拉斯']),
|
||||
]
|
||||
|
||||
# 降临 : 暴君巴拉克
|
||||
# thief/necro/dcd536f1674630f01fc9667bb202b851
|
||||
@@ -1247,12 +1273,19 @@ class Skill33(ActiveSkill):
|
||||
self.setMode("x3")
|
||||
...
|
||||
|
||||
# 迁移前实现(保留对照):
|
||||
# associate = [
|
||||
# {"type":"+power0","data":data6,"skills":["暗击拳"],"ratio":1},
|
||||
# {"type":"+power1","data":data7,"skills":["暗击拳"],"ratio":1},
|
||||
# {"type":"+power0","data":data8,"skills":["狂野乱舞"],"ratio":1},
|
||||
# {"type":"+power0","data":data9,"skills":["巴拉克强击"],"ratio":1}
|
||||
# ]
|
||||
associate = [
|
||||
{"type":"+power0","data":data6,"skills":["暗击拳"],"ratio":1},
|
||||
{"type":"+power1","data":data7,"skills":["暗击拳"],"ratio":1},
|
||||
{"type":"+power0","data":data8,"skills":["狂野乱舞"],"ratio":1},
|
||||
{"type":"+power0","data":data9,"skills":["巴拉克强击"],"ratio":1}
|
||||
]
|
||||
SkillEffect(attribute=Power(0), operation=Operation.ADD, value=LevelTable(data6), skills=['暗击拳']),
|
||||
SkillEffect(attribute=Power(1), operation=Operation.ADD, value=LevelTable(data7), skills=['暗击拳']),
|
||||
SkillEffect(attribute=Power(0), operation=Operation.ADD, value=LevelTable(data8), skills=['狂野乱舞']),
|
||||
SkillEffect(attribute=Power(0), operation=Operation.ADD, value=LevelTable(data9), skills=['巴拉克强击']),
|
||||
]
|
||||
|
||||
# 暗击拳
|
||||
# thief/necro/1c1a9606eb702ebe5a7bb4397f3aeae0
|
||||
@@ -1478,7 +1511,11 @@ class Skill39(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))),
|
||||
]
|
||||
|
||||
# 巴拉克的愤怒
|
||||
# thief/necro/0ed3148658fe37b3336ccb718dc0fdb0
|
||||
@@ -1642,7 +1679,11 @@ class Skill42(PassiveSkill):
|
||||
data2 = get_data(f'{prefix}/{uuid}', 2)
|
||||
# 暴击伤害增加率 : {value3}%
|
||||
data3 = get_data(f'{prefix}/{uuid}', 3)
|
||||
associate = [{"data":data2}]
|
||||
# 迁移前实现(保留对照):
|
||||
# associate = [{"data":data2}]
|
||||
associate = [
|
||||
SkillEffect(attribute=SkillAttribute.DAMAGE, value=1 + Percent(LevelTable(data2))),
|
||||
]
|
||||
|
||||
# 千魂祭
|
||||
# thief/necro/2a3c96b88d02372505692da0a8b54743
|
||||
@@ -1878,10 +1919,14 @@ class Skill46(ActiveSkill):
|
||||
"""
|
||||
...
|
||||
|
||||
def effect(self, old, new):
|
||||
if self.vp == 2:
|
||||
self.associate = [{"data":[0]+[-50]*self.maxLv,"skills":["降临 : 莱迪娅"]}]
|
||||
return super().effect(old, new)
|
||||
# 迁移前实现(保留对照):
|
||||
# def effect(self, old, new):
|
||||
# if self.vp == 2:
|
||||
# self.associate = [{"data":[0]+[-50]*self.maxLv,"skills":["降临 : 莱迪娅"]}]
|
||||
# return super().effect(old, new)
|
||||
associate = [
|
||||
SkillEffect(attribute=SkillAttribute.DAMAGE, value=1 + Percent(LevelTable([0] + [-50] * maxLv)), skills=['降临 : 莱迪娅'], when=Equals(Read(SkillAttribute.VP), 2)),
|
||||
]
|
||||
|
||||
# 亡魂之息
|
||||
# thief/necro/78b86e64fbb74c1db1b71c50a5ac21cd
|
||||
@@ -1907,9 +1952,14 @@ class Skill47(PassiveSkill):
|
||||
data0 = get_data(f'{prefix}/{uuid}', 0)
|
||||
# [暗魂波]、 [诅咒之箭]攻击力增加率 : {value1}%
|
||||
data1 = get_data(f'{prefix}/{uuid}', 1)
|
||||
# 迁移前实现(保留对照):
|
||||
# associate = [
|
||||
# {"data":data0,"exceptSkills":["暗魂波","诅咒之箭"]},
|
||||
# {"data":data1,"skills":["暗魂波","诅咒之箭"]}
|
||||
# ]
|
||||
associate = [
|
||||
{"data":data0,"exceptSkills":["暗魂波","诅咒之箭"]},
|
||||
{"data":data1,"skills":["暗魂波","诅咒之箭"]}
|
||||
SkillEffect(attribute=SkillAttribute.DAMAGE, value=1 + Percent(LevelTable(data0)), except_skills=['暗魂波', '诅咒之箭']),
|
||||
SkillEffect(attribute=SkillAttribute.DAMAGE, value=1 + Percent(LevelTable(data1)), skills=['暗魂波', '诅咒之箭']),
|
||||
]
|
||||
|
||||
# 暴君湮灭斩
|
||||
@@ -2021,7 +2071,11 @@ class Skill50(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))),
|
||||
]
|
||||
|
||||
# 亡者之茧
|
||||
# thief/necro/b1ccbd90d0b40f543ece3b18fcef827f
|
||||
|
||||
Reference in New Issue
Block a user