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
+44 -5
View File
@@ -1,6 +1,23 @@
#0ee8fa5dc525c1a1f23fc6911e921e4a
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,
ProfessionAttribute,
SkillAttribute,
SkillEffect,
)
class PaladinAttribute(ProfessionAttribute):
"""本职业专用的最终效果属性;字段含义与技能实现保持一致。"""
LITTLE_POWER = 'powerLittle'
"""帕拉丁:神光喷涌特殊形态倍率。"""
prefix = "knight/paladin/cn/skillDetail"
@@ -519,7 +536,11 @@ class Skill16(PassiveSkill):
data1 = get_data(f'{prefix}/{uuid}', 1)
# 霸体持续时间 : {value2}秒
data2 = get_data(f'{prefix}/{uuid}', 2)
associate = [{"data":data1,"type":"$*PAtkP"}]
# 迁移前实现(保留对照):
# associate = [{"data":data1,"type":"$*PAtkP"}]
associate = [
CharacterEffect(attribute=CharacterAttribute.P_ATK_P, value=1 + Percent(LevelTable(data1))),
]
# 天使光翼
# knight/paladin/9dc8438e4572d39243c97da31c113acc
@@ -632,7 +653,12 @@ class Skill17(PassiveSkill):
# 拥有7个天使光翼时 : 5%
# 拥有8个天使光翼时 : 10%
associate = [{"data":data0,"type":"$*PAtkP"},{"data":data1,"type":"*cdReduce"}]
# 迁移前实现(保留对照):
# associate = [{"data":data0,"type":"$*PAtkP"},{"data":data1,"type":"*cdReduce"}]
associate = [
CharacterEffect(attribute=CharacterAttribute.P_ATK_P, value=1 + Percent(LevelTable(data0))),
SkillEffect(attribute=SkillAttribute.CD_REDUCE, value=1 - Percent(LevelTable(data1))),
]
# 神光冲击
# knight/paladin/3fb8395ae3b81bd608e0c4223a8eb534
@@ -1166,7 +1192,11 @@ class Skill31(PassiveSkill):
# 物理攻击力增加率 : {value0}%
data0 = get_data(f'{prefix}/{uuid}', 0)
# 天使光翼获得量 : 2个
associate = [{"data":data0,"type":"$*PAtkP"}]
# 迁移前实现(保留对照):
# associate = [{"data":data0,"type":"$*PAtkP"}]
associate = [
CharacterEffect(attribute=CharacterAttribute.P_ATK_P, value=1 + Percent(LevelTable(data0))),
]
# 天使光翼获得量 : 2个
# 信仰聚合 : 神光惩戒
@@ -1386,7 +1416,11 @@ class Skill36(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))),
]
# 神光回旋斩
# knight/paladin/0e3da11226dd30c2aaef52e36eff7f3f
@@ -1554,7 +1588,12 @@ class Skill40(PassiveSkill):
# 天使光翼获得量 : {value4}个
data4 = get_data(f'{prefix}/{uuid}', 4)
associate = [{"data":data0},{"data":data1,"type":"+powerLittle","skills":["神光喷涌"]}]
# 迁移前实现(保留对照):
# associate = [{"data":data0},{"data":data1,"type":"+powerLittle","skills":["神光喷涌"]}]
associate = [
SkillEffect(attribute=SkillAttribute.DAMAGE, value=1 + Percent(LevelTable(data0))),
SkillEffect(attribute=PaladinAttribute.LITTLE_POWER, operation=Operation.ADD, value=Percent(LevelTable(data1)), skills=['神光喷涌']),
]
# 神光耀世
# knight/paladin/481348575c1e141925c836b59c5db3ca