feat:优化职业技能关联实现
This commit is contained in:
@@ -1,6 +1,14 @@
|
||||
# 0ee8fa5dc525c1a1f23fc6911e921e4a
|
||||
from core.basic.skill import PassiveSkill, ActiveSkill, get_data
|
||||
from core.basic.character import Character
|
||||
from core.basic.skill_effect_types import (
|
||||
LevelTable,
|
||||
Operation,
|
||||
Percent,
|
||||
Power,
|
||||
SkillAttribute,
|
||||
SkillEffect,
|
||||
)
|
||||
|
||||
prefix = "knight/chaos/cn/skillDetail"
|
||||
|
||||
@@ -864,7 +872,11 @@ class Skill26(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))),
|
||||
]
|
||||
|
||||
# 魔灵随行
|
||||
# knight/chaos/dbf8b30c7057032af0d68fcfa289fdae
|
||||
@@ -915,7 +927,11 @@ class Skill28(PassiveSkill):
|
||||
# 特定技能攻击力增加率 : {value0}%
|
||||
data0 = get_data(f'{prefix}/{uuid}', 0)
|
||||
|
||||
associate = [{'data': data0, 'type': '*skillDamage', 'skills': ['军团列队', '魔幻旋风', '毁灭突进', '翔空剑', '聚灵升空剑', '魔神百裂拳', '黑暗冲击', '午夜嘉年华', '绚丽耀光', '魔灵乱舞', '黑曜之眸 : 亚丁降临', '绽放·终章', '盛宴·恶之祭典']}]
|
||||
# 迁移前实现(保留对照):
|
||||
# associate = [{'data': data0, 'type': '*skillDamage', 'skills': ['军团列队', '魔幻旋风', '毁灭突进', '翔空剑', '聚灵升空剑', '魔神百裂拳', '黑暗冲击', '午夜嘉年华', '绚丽耀光', '魔灵乱舞', '黑曜之眸 : 亚丁降临', '绽放·终章', '盛宴·恶之祭典']}]
|
||||
associate = [
|
||||
SkillEffect(attribute=SkillAttribute.DAMAGE, value=1 + Percent(LevelTable(data0)), skills=['军团列队', '魔幻旋风', '毁灭突进', '翔空剑', '聚灵升空剑', '魔神百裂拳', '黑暗冲击', '午夜嘉年华', '绚丽耀光', '魔灵乱舞', '黑曜之眸 : 亚丁降临', '绽放·终章', '盛宴·恶之祭典']),
|
||||
]
|
||||
|
||||
# 魔灵召唤 : 狂暴布洛克
|
||||
# knight/chaos/6e33d47e6622ce03b6defdd912140270
|
||||
@@ -1079,7 +1095,11 @@ class Skill31(ActiveSkill):
|
||||
self.cd = self.cdList[self.lv]
|
||||
return super().getSkillCD(mode)
|
||||
|
||||
associate = [{'type': '*skillDamage', 'data': data7, 'skills': ['魔灵召唤 : 波拉斯', '魔灵召唤 : 狂暴布洛克', '魔灵召唤 : 假面杰森', '魔灵召唤 : 旋转小冯', '魔灵召唤 : 迪克老爹']}]
|
||||
# 迁移前实现(保留对照):
|
||||
# associate = [{'type': '*skillDamage', 'data': data7, 'skills': ['魔灵召唤 : 波拉斯', '魔灵召唤 : 狂暴布洛克', '魔灵召唤 : 假面杰森', '魔灵召唤 : 旋转小冯', '魔灵召唤 : 迪克老爹']}]
|
||||
associate = [
|
||||
SkillEffect(attribute=SkillAttribute.DAMAGE, value=1 + Percent(LevelTable(data7)), skills=['魔灵召唤 : 波拉斯', '魔灵召唤 : 狂暴布洛克', '魔灵召唤 : 假面杰森', '魔灵召唤 : 旋转小冯', '魔灵召唤 : 迪克老爹']),
|
||||
]
|
||||
|
||||
# 暴击
|
||||
# knight/chaos/fc1262c19f3d0477ee8eda47b8db8696
|
||||
@@ -1209,17 +1229,30 @@ class Skill35(ActiveSkill):
|
||||
# [魔灵炸弹]、 [毁灭突进]、 [碎灵之击]魔灵攻击力增加率 : {value2}%
|
||||
data2 = get_data(f'{prefix}/{uuid}', 2)
|
||||
|
||||
# 迁移前实现(保留对照):
|
||||
# associate = [
|
||||
# {'type': '*skillDamage', 'data': data1, 'skills': ['魔灵召唤 : 波拉斯', '魔灵召唤 : 瓦尔琪', '魔灵召唤 : 狂暴布洛克', '魔灵召唤 : 假面杰森', '魔灵召唤 : 大画家芭芘', '魔灵召唤 : 旋转小冯', '魔灵召唤 : 小吸血鬼夏伊', '魔灵召唤 : 大富翁鲁邦', '魔灵召唤 : 迪克老爹', '魔灵召唤 : 红心女皇艾莉莎']},
|
||||
# {'type': '+power2', 'data': data2, 'skills': ['魔灵炸弹']},
|
||||
# {'type': '+power3', 'data': data2, 'skills': ['魔灵炸弹']},
|
||||
# {'type': '+power5', 'data': data2, 'skills': ['魔灵炸弹']},
|
||||
# {'type': '+power7', 'data': data2, 'skills': ['魔灵炸弹']},
|
||||
# {'type': '+power12', 'data': data2, 'skills': ['魔灵炸弹']},
|
||||
# {'type': '+power13', 'data': data2, 'skills': ['魔灵炸弹']},
|
||||
# {'type': '+power2', 'data': data2, 'skills': ['毁灭突进']},
|
||||
# {'type': '+power3', 'data': data2, 'skills': ['毁灭突进']},
|
||||
# {'type': '*ratio', 'data': data2, 'skills': ['碎灵之击']},
|
||||
# ]
|
||||
associate = [
|
||||
{'type': '*skillDamage', 'data': data1, 'skills': ['魔灵召唤 : 波拉斯', '魔灵召唤 : 瓦尔琪', '魔灵召唤 : 狂暴布洛克', '魔灵召唤 : 假面杰森', '魔灵召唤 : 大画家芭芘', '魔灵召唤 : 旋转小冯', '魔灵召唤 : 小吸血鬼夏伊', '魔灵召唤 : 大富翁鲁邦', '魔灵召唤 : 迪克老爹', '魔灵召唤 : 红心女皇艾莉莎']},
|
||||
{'type': '+power2', 'data': data2, 'skills': ['魔灵炸弹']},
|
||||
{'type': '+power3', 'data': data2, 'skills': ['魔灵炸弹']},
|
||||
{'type': '+power5', 'data': data2, 'skills': ['魔灵炸弹']},
|
||||
{'type': '+power7', 'data': data2, 'skills': ['魔灵炸弹']},
|
||||
{'type': '+power12', 'data': data2, 'skills': ['魔灵炸弹']},
|
||||
{'type': '+power13', 'data': data2, 'skills': ['魔灵炸弹']},
|
||||
{'type': '+power2', 'data': data2, 'skills': ['毁灭突进']},
|
||||
{'type': '+power3', 'data': data2, 'skills': ['毁灭突进']},
|
||||
{'type': '*ratio', 'data': data2, 'skills': ['碎灵之击']},
|
||||
SkillEffect(attribute=SkillAttribute.DAMAGE, value=1 + Percent(LevelTable(data1)), skills=['魔灵召唤 : 波拉斯', '魔灵召唤 : 瓦尔琪', '魔灵召唤 : 狂暴布洛克', '魔灵召唤 : 假面杰森', '魔灵召唤 : 大画家芭芘', '魔灵召唤 : 旋转小冯', '魔灵召唤 : 小吸血鬼夏伊', '魔灵召唤 : 大富翁鲁邦', '魔灵召唤 : 迪克老爹', '魔灵召唤 : 红心女皇艾莉莎']),
|
||||
SkillEffect(attribute=Power(2), operation=Operation.ADD, value=Percent(LevelTable(data2)), skills=['魔灵炸弹']),
|
||||
SkillEffect(attribute=Power(3), operation=Operation.ADD, value=Percent(LevelTable(data2)), skills=['魔灵炸弹']),
|
||||
SkillEffect(attribute=Power(5), operation=Operation.ADD, value=Percent(LevelTable(data2)), skills=['魔灵炸弹']),
|
||||
SkillEffect(attribute=Power(7), operation=Operation.ADD, value=Percent(LevelTable(data2)), skills=['魔灵炸弹']),
|
||||
SkillEffect(attribute=Power(12), operation=Operation.ADD, value=Percent(LevelTable(data2)), skills=['魔灵炸弹']),
|
||||
SkillEffect(attribute=Power(13), operation=Operation.ADD, value=Percent(LevelTable(data2)), skills=['魔灵炸弹']),
|
||||
SkillEffect(attribute=Power(2), operation=Operation.ADD, value=Percent(LevelTable(data2)), skills=['毁灭突进']),
|
||||
SkillEffect(attribute=Power(3), operation=Operation.ADD, value=Percent(LevelTable(data2)), skills=['毁灭突进']),
|
||||
SkillEffect(attribute=SkillAttribute.RATIO, value=1 + Percent(LevelTable(data2)), skills=['碎灵之击']),
|
||||
]
|
||||
|
||||
# 魔幻旋风
|
||||
@@ -1890,7 +1923,11 @@ class Skill48(PassiveSkill):
|
||||
# 魔灵召唤解除后效果持续时间 : {value1}秒
|
||||
data1 = get_data(f'{prefix}/{uuid}', 1)
|
||||
|
||||
associate = [{'type': '*skillDamage', 'data': data0}]
|
||||
# 迁移前实现(保留对照):
|
||||
# associate = [{'type': '*skillDamage', 'data': data0}]
|
||||
associate = [
|
||||
SkillEffect(attribute=SkillAttribute.DAMAGE, value=1 + Percent(LevelTable(data0))),
|
||||
]
|
||||
|
||||
# 魔神百裂拳
|
||||
# knight/chaos/6a1d1f08a6572be420bb3a256c44c015
|
||||
@@ -2087,9 +2124,14 @@ class Skill52(PassiveSkill):
|
||||
# 魔法暴击几率增加 : {value4}%
|
||||
data4 = get_data(f'{prefix}/{uuid}', 4)
|
||||
|
||||
# 迁移前实现(保留对照):
|
||||
# associate = [
|
||||
# {'data': data0, 'type': '*skillDamage', 'skills': ['魔幻旋风', '毁灭突进', '翔空剑', '聚灵升空剑', '魔神百裂拳', '黑暗冲击', '午夜嘉年华', '绚丽耀光', '魔灵乱舞', '黑曜之眸 : 亚丁降临', '绽放·终章', '盛宴·恶之祭典']},
|
||||
# {'data': data1, 'type': '*skillDamage', 'skills': ['魔灵召唤 : 波拉斯', '魔灵召唤 : 瓦尔琪', '魔灵召唤 : 狂暴布洛克', '魔灵召唤 : 假面杰森', '魔灵召唤 : 大画家芭芘', '魔灵召唤 : 旋转小冯', '魔灵召唤 : 小吸血鬼夏伊', '魔灵召唤 : 大富翁鲁邦', '魔灵召唤 : 迪克老爹', '魔灵召唤 : 红心女皇艾莉莎']},
|
||||
# ]
|
||||
associate = [
|
||||
{'data': data0, 'type': '*skillDamage', 'skills': ['魔幻旋风', '毁灭突进', '翔空剑', '聚灵升空剑', '魔神百裂拳', '黑暗冲击', '午夜嘉年华', '绚丽耀光', '魔灵乱舞', '黑曜之眸 : 亚丁降临', '绽放·终章', '盛宴·恶之祭典']},
|
||||
{'data': data1, 'type': '*skillDamage', 'skills': ['魔灵召唤 : 波拉斯', '魔灵召唤 : 瓦尔琪', '魔灵召唤 : 狂暴布洛克', '魔灵召唤 : 假面杰森', '魔灵召唤 : 大画家芭芘', '魔灵召唤 : 旋转小冯', '魔灵召唤 : 小吸血鬼夏伊', '魔灵召唤 : 大富翁鲁邦', '魔灵召唤 : 迪克老爹', '魔灵召唤 : 红心女皇艾莉莎']},
|
||||
SkillEffect(attribute=SkillAttribute.DAMAGE, value=1 + Percent(LevelTable(data0)), skills=['魔幻旋风', '毁灭突进', '翔空剑', '聚灵升空剑', '魔神百裂拳', '黑暗冲击', '午夜嘉年华', '绚丽耀光', '魔灵乱舞', '黑曜之眸 : 亚丁降临', '绽放·终章', '盛宴·恶之祭典']),
|
||||
SkillEffect(attribute=SkillAttribute.DAMAGE, value=1 + Percent(LevelTable(data1)), skills=['魔灵召唤 : 波拉斯', '魔灵召唤 : 瓦尔琪', '魔灵召唤 : 狂暴布洛克', '魔灵召唤 : 假面杰森', '魔灵召唤 : 大画家芭芘', '魔灵召唤 : 旋转小冯', '魔灵召唤 : 小吸血鬼夏伊', '魔灵召唤 : 大富翁鲁邦', '魔灵召唤 : 迪克老爹', '魔灵召唤 : 红心女皇艾莉莎']),
|
||||
]
|
||||
|
||||
# 绚丽耀光
|
||||
@@ -2270,7 +2312,11 @@ class Skill56(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))),
|
||||
]
|
||||
|
||||
# 绽放·终章
|
||||
# knight/chaos/ca2536eb56df0e812c88c59cabd38be0
|
||||
|
||||
@@ -1,6 +1,15 @@
|
||||
# 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,
|
||||
SkillAttribute,
|
||||
SkillEffect,
|
||||
)
|
||||
prefix = "knight/dragon_knight/cn/skillDetail"
|
||||
|
||||
|
||||
@@ -119,7 +128,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=['龙人剑术']),
|
||||
]
|
||||
|
||||
# 受身蹲伏
|
||||
# knight/dragon_knight/ce26c6b69d02a440a81b552bec94f03b
|
||||
@@ -708,7 +721,11 @@ class Skill22(ActiveSkill):
|
||||
# 冲击波大小比率 : {value5}%
|
||||
data5 = get_data(f'{prefix}/{uuid}', 5)
|
||||
|
||||
associate = [{'type': '$*PAtkI', 'data': data1}]
|
||||
# 迁移前实现(保留对照):
|
||||
# associate = [{'type': '$*PAtkI', 'data': data1}]
|
||||
associate = [
|
||||
CharacterEffect(attribute=CharacterAttribute.P_ATK_I, value=1 + Percent(LevelTable(data1))),
|
||||
]
|
||||
|
||||
# 暴击
|
||||
# knight/dragon_knight/fc1262c19f3d0477ee8eda47b8db8696
|
||||
@@ -1101,7 +1118,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))),
|
||||
]
|
||||
|
||||
# 龙刃无双
|
||||
# knight/dragon_knight/5c45f69c9ebc7a784e994369d2cc3c66
|
||||
@@ -1292,7 +1313,11 @@ class Skill35(ActiveSkill):
|
||||
# 空中施放技能所需最低高度的减少 : {value3}px
|
||||
data3 = get_data(f'{prefix}/{uuid}', 3)
|
||||
|
||||
associate = [{'data': data0}]
|
||||
# 迁移前实现(保留对照):
|
||||
# associate = [{'data': data0}]
|
||||
associate = [
|
||||
SkillEffect(attribute=SkillAttribute.DAMAGE, value=1 + Percent(LevelTable(data0))),
|
||||
]
|
||||
|
||||
def getSkillCD(self, mode=None):
|
||||
return 3.0
|
||||
@@ -1548,9 +1573,14 @@ class Skill39(PassiveSkill):
|
||||
# [超级跳跃]后霸体持续时间 : {value2}秒
|
||||
data2 = get_data(f'{prefix}/{uuid}', 2)
|
||||
|
||||
# 迁移前实现(保留对照):
|
||||
# associate = [
|
||||
# {'data': data1},
|
||||
# {'type': '+cd', 'data': [0] + [-1] * maxLv, 'skills': ['龙翼', '龙翼突袭'], 'ratio': 1},
|
||||
# ]
|
||||
associate = [
|
||||
{'data': data1},
|
||||
{'type': '+cd', 'data': [0] + [-1] * maxLv, 'skills': ['龙翼', '龙翼突袭'], 'ratio': 1},
|
||||
SkillEffect(attribute=SkillAttribute.DAMAGE, value=1 + Percent(LevelTable(data1))),
|
||||
SkillEffect(attribute=SkillAttribute.CD, operation=Operation.ADD, value=LevelTable([0] + [-1] * maxLv), skills=['龙翼', '龙翼突袭']),
|
||||
]
|
||||
|
||||
# 魔龙星落
|
||||
@@ -1781,7 +1811,11 @@ class Skill43(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))),
|
||||
]
|
||||
|
||||
# 龙哮雷鸣
|
||||
# knight/dragon_knight/573723c8c0614f5b1218ca9ff992115b
|
||||
|
||||
@@ -1,6 +1,25 @@
|
||||
# 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,
|
||||
Equals,
|
||||
LevelTable,
|
||||
Operation,
|
||||
Percent,
|
||||
ProfessionAttribute,
|
||||
Read,
|
||||
SkillAttribute,
|
||||
SkillEffect,
|
||||
)
|
||||
|
||||
|
||||
class ElvenKnightAttribute(ProfessionAttribute):
|
||||
"""本职业专用的最终效果属性;字段含义与技能实现保持一致。"""
|
||||
CHAIN_POWER = 'chain_power'
|
||||
"""精灵骑士:每层剑盾猛攻对应的伤害加成。"""
|
||||
|
||||
|
||||
prefix = "knight/elven_knight/cn/skillDetail"
|
||||
|
||||
@@ -187,7 +206,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=['骑乘召唤']),
|
||||
]
|
||||
|
||||
# 受身蹲伏
|
||||
# knight/elven_knight/ce26c6b69d02a440a81b552bec94f03b
|
||||
@@ -1024,7 +1047,12 @@ class Skill24(PassiveSkill):
|
||||
# 装备巨剑时魔法值消耗量减少 : {value3}%
|
||||
data3 = get_data(f'{prefix}/{uuid}', 3)
|
||||
|
||||
associate = [{'data': data0, 'type': '*cdReduce', 'exceptSkills': ['天马流星落', '暮光之灵 : 黄昏独角兽', '生命之律·神木擎天']}, {'data': data1, 'type': '$*PAtkP'}]
|
||||
# 迁移前实现(保留对照):
|
||||
# associate = [{'data': data0, 'type': '*cdReduce', 'exceptSkills': ['天马流星落', '暮光之灵 : 黄昏独角兽', '生命之律·神木擎天']}, {'data': data1, 'type': '$*PAtkP'}]
|
||||
associate = [
|
||||
SkillEffect(attribute=SkillAttribute.CD_REDUCE, value=1 - Percent(LevelTable(data0)), except_skills=['天马流星落', '暮光之灵 : 黄昏独角兽', '生命之律·神木擎天']),
|
||||
CharacterEffect(attribute=CharacterAttribute.P_ATK_P, value=1 + Percent(LevelTable(data1))),
|
||||
]
|
||||
|
||||
# 伟大的意志
|
||||
# knight/elven_knight/506e7ed77d517419a6e1c437a2cedb17
|
||||
@@ -1273,7 +1301,11 @@ class Skill31(ActiveSkill):
|
||||
|
||||
mode = ['挥盾', '推进']
|
||||
|
||||
associate = [{'type': '+chain_power', 'data': data3}]
|
||||
# 迁移前实现(保留对照):
|
||||
# associate = [{'type': '+chain_power', 'data': data3}]
|
||||
associate = [
|
||||
SkillEffect(attribute=ElvenKnightAttribute.CHAIN_POWER, operation=Operation.ADD, value=Percent(LevelTable(data3))),
|
||||
]
|
||||
|
||||
def setMode(self, mode):
|
||||
if mode == '挥盾':
|
||||
@@ -1673,10 +1705,14 @@ class Skill38(ActiveSkill):
|
||||
"""
|
||||
...
|
||||
|
||||
def effect(self, old, new):
|
||||
if self.vp == 2:
|
||||
self.associate = [{"type":"*skillRation","data":[0] + [40]*self.maxLv,"skills":["生命审判"]}]
|
||||
return super().effect(old, new)
|
||||
# 迁移前实现(保留对照):
|
||||
# def effect(self, old, new):
|
||||
# if self.vp == 2:
|
||||
# self.associate = [{"type":"*skillRation","data":[0] + [40]*self.maxLv,"skills":["生命审判"]}]
|
||||
# return super().effect(old, new)
|
||||
associate = [
|
||||
SkillEffect(attribute=SkillAttribute.PANEL_RATIO, value=1 + Percent(LevelTable([0] + [40] * maxLv)), skills=['生命审判'], when=Equals(Read(SkillAttribute.VP), 2)),
|
||||
]
|
||||
|
||||
# 自然恩泽
|
||||
# knight/elven_knight/4b2c90ec226fd40e967875aa5eabefb2
|
||||
@@ -1715,7 +1751,14 @@ class Skill39(PassiveSkill):
|
||||
# [生命之律·神木擎天]攻击力增加率 : {value6}%
|
||||
data6 = get_data(f'{prefix}/{uuid}', 6)
|
||||
|
||||
associate = [{'data': data0, 'type': '*skillDamage'}, {'data': data4, 'type': '*skillDamage', 'skills': ['天马流星落']}, {'data': data5, 'type': '*skillDamage', 'skills': ['暮光之灵 : 黄昏独角兽']}, {'data': data6, 'type': '*skillDamage', 'skills': ['生命之律·神木擎天']}]
|
||||
# 迁移前实现(保留对照):
|
||||
# associate = [{'data': data0, 'type': '*skillDamage'}, {'data': data4, 'type': '*skillDamage', 'skills': ['天马流星落']}, {'data': data5, 'type': '*skillDamage', 'skills': ['暮光之灵 : 黄昏独角兽']}, {'data': data6, 'type': '*skillDamage', 'skills': ['生命之律·神木擎天']}]
|
||||
associate = [
|
||||
SkillEffect(attribute=SkillAttribute.DAMAGE, value=1 + Percent(LevelTable(data0))),
|
||||
SkillEffect(attribute=SkillAttribute.DAMAGE, value=1 + Percent(LevelTable(data4)), skills=['天马流星落']),
|
||||
SkillEffect(attribute=SkillAttribute.DAMAGE, value=1 + Percent(LevelTable(data5)), skills=['暮光之灵 : 黄昏独角兽']),
|
||||
SkillEffect(attribute=SkillAttribute.DAMAGE, value=1 + Percent(LevelTable(data6)), skills=['生命之律·神木擎天']),
|
||||
]
|
||||
|
||||
# 天马流星落
|
||||
# knight/elven_knight/1fadde0eece18649caddbca7bd58cc2f
|
||||
@@ -1886,10 +1929,14 @@ class Skill42(ActiveSkill):
|
||||
"""
|
||||
...
|
||||
|
||||
def effect(self, old, new):
|
||||
if self.vp == 1:
|
||||
self.associate = [{'type': '*skillRation', 'data': [0] + [-14.3] * self.maxLv, 'skills': ['愤怒冲撞']}]
|
||||
return super().effect(old, new)
|
||||
# 迁移前实现(保留对照):
|
||||
# def effect(self, old, new):
|
||||
# if self.vp == 1:
|
||||
# self.associate = [{'type': '*skillRation', 'data': [0] + [-14.3] * self.maxLv, 'skills': ['愤怒冲撞']}]
|
||||
# return super().effect(old, new)
|
||||
associate = [
|
||||
SkillEffect(attribute=SkillAttribute.PANEL_RATIO, value=1 + Percent(LevelTable([0] + [-14.3] * maxLv)), skills=['愤怒冲撞'], when=Equals(Read(SkillAttribute.VP), 1)),
|
||||
]
|
||||
|
||||
# 信仰鼓舞
|
||||
# knight/elven_knight/2c9d9a36c8401bddff6cdb80fab8dc24
|
||||
@@ -1919,7 +1966,11 @@ class Skill43(PassiveSkill):
|
||||
# 连锁数上限增加 : {value2}
|
||||
data2 = get_data(f'{prefix}/{uuid}', 2)
|
||||
|
||||
associate = [{'data': data1, 'type': '*skillDamage'}]
|
||||
# 迁移前实现(保留对照):
|
||||
# associate = [{'data': data1, 'type': '*skillDamage'}]
|
||||
associate = [
|
||||
SkillEffect(attribute=SkillAttribute.DAMAGE, value=1 + Percent(LevelTable(data1))),
|
||||
]
|
||||
|
||||
# 剑盾强袭
|
||||
# knight/elven_knight/b89c9ab317bc0a443f6497b7cca2f6a8
|
||||
@@ -2122,7 +2173,11 @@ class Skill47(PassiveSkill):
|
||||
data0 = get_data(f'{prefix}/{uuid}', 0)
|
||||
# [剑盾猛攻]能量持续时间 : +5秒
|
||||
|
||||
associate = [{'data': data0, 'type': '*skillDamage'}]
|
||||
# 迁移前实现(保留对照):
|
||||
# associate = [{'data': data0, 'type': '*skillDamage'}]
|
||||
associate = [
|
||||
SkillEffect(attribute=SkillAttribute.DAMAGE, value=1 + Percent(LevelTable(data0))),
|
||||
]
|
||||
# [剑盾猛攻]能量持续时间 : +5秒
|
||||
|
||||
# 荆棘之城
|
||||
|
||||
@@ -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
|
||||
|
||||
Reference in New Issue
Block a user