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,14 @@
# a5ccbaf5538981c6ef99b236c0a60b73
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 = "mage_male/blood_mage/cn/skillDetail"
@@ -584,7 +592,12 @@ class Skill18(PassiveSkill):
# [猩红气息不足时]
# 消耗生命值比率 : 猩红气息消耗量的{value6}%
data6 = get_data(f'{prefix}/{uuid}', 6)
associate = [{'data': data2, 'type': '$*PAtkP'}, {'data': data3, 'type': '*cdReduce', 'skills': ['血翼突击', '鲜血长枪', '猩红狩猎', '狱血之牙', '绯红之狱', '隐行之噬', '血翼绽放', '死亡之握', '血翼蔽空']}]
# 迁移前实现(保留对照):
# associate = [{'data': data2, 'type': '$*PAtkP'}, {'data': data3, 'type': '*cdReduce', 'skills': ['血翼突击', '鲜血长枪', '猩红狩猎', '狱血之牙', '绯红之狱', '隐行之噬', '血翼绽放', '死亡之握', '血翼蔽空']}]
associate = [
CharacterEffect(attribute=CharacterAttribute.P_ATK_P, value=1 + Percent(LevelTable(data2))),
SkillEffect(attribute=SkillAttribute.CD_REDUCE, value=1 - Percent(LevelTable(data3)), skills=['血翼突击', '鲜血长枪', '猩红狩猎', '狱血之牙', '绯红之狱', '隐行之噬', '血翼绽放', '死亡之握', '血翼蔽空']),
]
# 鲜血之誓
# mage_male/blood_mage/8b08f9504167a9c0f3a1d29d71b7943e
@@ -738,7 +751,11 @@ class Skill23(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))),
]
# 血蝠之舞
# mage_male/blood_mage/c91a62dc0a18360acf5031ac0ebf09f5
@@ -1128,7 +1145,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))),
]
# 伯爵之歌
# mage_male/blood_mage/0e409ac3e1c1f3976b3ef2bfe4c13069
@@ -1376,7 +1397,11 @@ class Skill37(PassiveSkill):
data1 = get_data(f'{prefix}/{uuid}', 1)
# 猩红气息吸收量与生命值恢复量比率 : {value2}%
data2 = get_data(f'{prefix}/{uuid}', 2)
associate = [{'data': data0}]
# 迁移前实现(保留对照):
# associate = [{'data': data0}]
associate = [
SkillEffect(attribute=SkillAttribute.DAMAGE, value=1 + Percent(LevelTable(data0))),
]
# 死亡之握
# mage_male/blood_mage/dd32a9825ec1af42a91f2223be6658e5
@@ -1506,7 +1531,11 @@ class Skill40(PassiveSkill):
data2 = get_data(f'{prefix}/{uuid}', 2)
# [狱血之牙]探索范围 : {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))),
]
# 血翼蔽空
# mage_male/blood_mage/6d7c9a15c08cc41d70125083e869e1a1
@@ -1,6 +1,16 @@
# a5ccbaf5538981c6ef99b236c0a60b73
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,
Percent,
Read,
SkillAttribute,
SkillEffect,
)
prefix = "mage_male/dimension_walker/cn/skillDetail"
@@ -266,7 +276,11 @@ class Skill8(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=['乖离 : 禁忌之奈雅丽']),
]
# 受身蹲伏
# mage_male/dimension_walker/ce26c6b69d02a440a81b552bec94f03b
@@ -682,8 +696,12 @@ class Skill21(PassiveSkill):
data0 = get_data(f'{prefix}/{uuid}', 0)
# 迷雾附着敌人时,基本攻击和次元系列技能攻击力增加率 : {value1}%
data1 = get_data(f'{prefix}/{uuid}', 1)
# 迁移前实现(保留对照):
# associate = [
# {'data': data1, 'skills': ['次元 : 坠落', '次元 : 虚影', '次元 : 跃迁', '次元 : 离子束', '次元 : 万花镜', '次元 : 粒子风暴', '次元 : 时空磁场', '次元 : 粒子波', '次元 : 思维聚爆', '次元 : 奇点', '禁断之盛宴', '未明·次元崩坏', '乖离 : 禁忌之奈雅丽']},
# ]
associate = [
{'data': data1, 'skills': ['次元 : 坠落', '次元 : 虚影', '次元 : 跃迁', '次元 : 离子束', '次元 : 万花镜', '次元 : 粒子风暴', '次元 : 时空磁场', '次元 : 粒子波', '次元 : 思维聚爆', '次元 : 奇点', '禁断之盛宴', '未明·次元崩坏', '乖离 : 禁忌之奈雅丽']},
SkillEffect(attribute=SkillAttribute.DAMAGE, value=1 + Percent(LevelTable(data1)), skills=['次元 : 坠落', '次元 : 虚影', '次元 : 跃迁', '次元 : 离子束', '次元 : 万花镜', '次元 : 粒子风暴', '次元 : 时空磁场', '次元 : 粒子波', '次元 : 思维聚爆', '次元 : 奇点', '禁断之盛宴', '未明·次元崩坏', '乖离 : 禁忌之奈雅丽']),
]
# 次元扭曲装置
@@ -716,7 +734,11 @@ class Skill22(PassiveSkill):
data2 = get_data(f'{prefix}/{uuid}', 2)
# 施放速度增加 : {value3}%
data3 = get_data(f'{prefix}/{uuid}', 3)
associate = [{'data': data0}]
# 迁移前实现(保留对照):
# associate = [{'data': data0}]
associate = [
SkillEffect(attribute=SkillAttribute.DAMAGE, value=1 + Percent(LevelTable(data0))),
]
# 次元 : 虚影
# mage_male/dimension_walker/1812a1ece67bb37b6b44b54766450064
@@ -852,7 +874,11 @@ class Skill25(ActiveSkill):
# 重叠次数上限 : {value8}次
data8 = get_data(f'{prefix}/{uuid}', 8)
associate = [{'data': data4, 'type': '$*PAtkI'}]
# 迁移前实现(保留对照):
# associate = [{'data': data4, 'type': '$*PAtkI'}]
associate = [
CharacterEffect(attribute=CharacterAttribute.P_ATK_I, value=1 + Percent(LevelTable(data4))),
]
def getSkillCD(self, mode=None):
return 0.75
@@ -1489,7 +1515,11 @@ class Skill38(PassiveSkill):
# 暴击伤害增加率 : {value6}%
data6 = get_data(f'{prefix}/{uuid}', 6)
associate = [{'data': data6}]
# 迁移前实现(保留对照):
# associate = [{'data': data6}]
associate = [
SkillEffect(attribute=SkillAttribute.DAMAGE, value=1 + Percent(LevelTable(data6))),
]
# 乖离 : 扭曲之恐惧
# mage_male/dimension_walker/9dc8438e4572d39243c97da31c113acc
@@ -1642,10 +1672,14 @@ class Skill41(ActiveSkill):
# 刺击距离比率 : {value4}%
data4 = get_data(f'{prefix}/{uuid}', 4)
def effect(self, old, new):
if self.vp == 1:
self.associate = [{'type': '*skillDamage', 'data': [0] + [-14] * self.maxLv, 'skills': ['乖离 : 魅魔之舞']}]
return super().effect(old, new)
# 迁移前实现(保留对照):
# def effect(self, old, new):
# if self.vp == 1:
# self.associate = [{'type': '*skillDamage', 'data': [0] + [-14] * self.maxLv, 'skills': ['乖离 : 魅魔之舞']}]
# return super().effect(old, new)
associate = [
SkillEffect(attribute=SkillAttribute.DAMAGE, value=1 + Percent(LevelTable([0] + [-14] * maxLv)), skills=['乖离 : 魅魔之舞'], when=Equals(Read(SkillAttribute.VP), 1)),
]
def vp_1(self):
"""
@@ -1713,7 +1747,11 @@ class Skill42(PassiveSkill):
data4 = get_data(f'{prefix}/{uuid}', 4)
# 转职技能命中敌人时,奈雅丽攻击速度增加量 : {value5}%
data5 = get_data(f'{prefix}/{uuid}', 5)
associate = [{'data': data4}]
# 迁移前实现(保留对照):
# associate = [{'data': data4}]
associate = [
SkillEffect(attribute=SkillAttribute.DAMAGE, value=1 + Percent(LevelTable(data4))),
]
# 次元 : 奇点
# mage_male/dimension_walker/4402c6977bf5c9b0d2febe14dc81de6c
@@ -1993,7 +2031,11 @@ class Skill46(PassiveSkill):
data0 = get_data(f'{prefix}/{uuid}', 0)
# 首次施放[时空壁障]时,波动数增加量 : {value1}
data1 = get_data(f'{prefix}/{uuid}', 1)
associate = [{'data': data0}]
# 迁移前实现(保留对照):
# associate = [{'data': data0}]
associate = [
SkillEffect(attribute=SkillAttribute.DAMAGE, value=1 + Percent(LevelTable(data0))),
]
# 乖离 : 边缘之兽
# mage_male/dimension_walker/626cfc24770b72b5d7a24c24cda3768b
@@ -1,6 +1,14 @@
# a5ccbaf5538981c6ef99b236c0a60b73
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 = "mage_male/elemental_bomber/cn/skillDetail"
@@ -509,9 +517,14 @@ class Skill16(ActiveSkill):
# 光属性攻击力 : {value4}%
data4 = get_data(f'{prefix}/{uuid}', 4)
# 迁移前实现(保留对照):
# associate = [
# {'data': data1, 'type': '+power1', 'skills': ['魔球连射']},
# {'data': data1, 'type': '+power0', 'skills': ['元素炮']},
# ]
associate = [
{'data': data1, 'type': '+power1', 'skills': ['魔球连射']},
{'data': data1, 'type': '+power0', 'skills': ['元素炮']},
SkillEffect(attribute=Power(1), operation=Operation.ADD, value=Percent(LevelTable(data1)), skills=['魔球连射']),
SkillEffect(attribute=Power(0), operation=Operation.ADD, value=Percent(LevelTable(data1)), skills=['元素炮']),
]
# 冰魄剑
@@ -608,7 +621,11 @@ class Skill19(PassiveSkill):
data0 = get_data(f'{prefix}/{uuid}', 0)
# 属性攻击力增加率 : {value1}%
data1 = get_data(f'{prefix}/{uuid}', 1)
associate = [{'data': data1}]
# 迁移前实现(保留对照):
# associate = [{'data': data1}]
associate = [
SkillEffect(attribute=SkillAttribute.DAMAGE, value=1 + Percent(LevelTable(data1))),
]
# 冰晶坠
# mage_male/elemental_bomber/0969cd4054d93da07708108c0cc1c4b5
@@ -673,8 +690,12 @@ class Skill21(PassiveSkill):
data1 = get_data(f'{prefix}/{uuid}', 1)
# 每个[元素之力]增加的[元素炮]大小增加 : {value2}%
data2 = get_data(f'{prefix}/{uuid}', 2)
# 迁移前实现(保留对照):
# associate = [
# {'data': [i * 5 for i in data1], 'skills': ['元素炮']},
# ]
associate = [
{'data': [i * 5 for i in data1], 'skills': ['元素炮']},
SkillEffect(attribute=SkillAttribute.DAMAGE, value=1 + Percent(LevelTable([i * 5 for i in data1])), skills=['元素炮']),
]
# 暴击
@@ -762,7 +783,11 @@ class Skill24(ActiveSkill):
data2 = get_data(f'{prefix}/{uuid}', 2)
# 属性攻击力增加率 : {value3}%
data3 = get_data(f'{prefix}/{uuid}', 3)
associate = [{'data': data3}]
# 迁移前实现(保留对照):
# associate = [{'data': data3}]
associate = [
SkillEffect(attribute=SkillAttribute.DAMAGE, value=1 + Percent(LevelTable(data3))),
]
# 魔力燃烧
# mage_male/elemental_bomber/9bff7f2559e003766fee2853dca00631
@@ -820,7 +845,11 @@ class Skill26(PassiveSkill):
data0 = get_data(f'{prefix}/{uuid}', 0)
# 转职技能冷却时间减少率 : {value1}%
data1 = get_data(f'{prefix}/{uuid}', 1)
associate = [{'data': data1, 'type': '*cdReduce', 'exceptSkills': ['幻魔四重奏', '末日湮灭', '启源·微观宇宙']}]
# 迁移前实现(保留对照):
# associate = [{'data': data1, 'type': '*cdReduce', 'exceptSkills': ['幻魔四重奏', '末日湮灭', '启源·微观宇宙']}]
associate = [
SkillEffect(attribute=SkillAttribute.CD_REDUCE, value=1 - Percent(LevelTable(data1)), except_skills=['幻魔四重奏', '末日湮灭', '启源·微观宇宙']),
]
# [可强制中断的技能列表]
# 掌握技能等级1时 : [元素炮]、 [冰晶坠]、 [地炎]
# 掌握技能等级2时 : [暗域扩张]、 [雷光链]
@@ -919,7 +948,11 @@ class Skill29(PassiveSkill):
data0 = get_data(f'{prefix}/{uuid}', 0)
# 命中率增加量 : {value1}%
data1 = get_data(f'{prefix}/{uuid}', 1)
associate = [{'data': data0}]
# 迁移前实现(保留对照):
# associate = [{'data': data0}]
associate = [
SkillEffect(attribute=SkillAttribute.DAMAGE, value=1 + Percent(LevelTable(data0))),
]
# 旋炎破
# mage_male/elemental_bomber/45442bbbe33540b4deeec29437dae70c
@@ -1246,7 +1279,11 @@ class Skill35(PassiveSkill):
data0 = get_data(f'{prefix}/{uuid}', 0)
# 魔法暴击率增加 : {value1}%
data1 = get_data(f'{prefix}/{uuid}', 1)
associate = [{'data': data0}]
# 迁移前实现(保留对照):
# associate = [{'data': data0}]
associate = [
SkillEffect(attribute=SkillAttribute.DAMAGE, value=1 + Percent(LevelTable(data0))),
]
# 幻魔四重奏
# mage_male/elemental_bomber/c27418ae613c647527200a7ca17d97fd
@@ -1436,7 +1473,11 @@ class Skill39(PassiveSkill):
data5 = get_data(f'{prefix}/{uuid}', 5)
# [旋炎破]范围增加 : {value6}%
data6 = get_data(f'{prefix}/{uuid}', 6)
associate = [{'data': data0}]
# 迁移前实现(保留对照):
# associate = [{'data': data0}]
associate = [
SkillEffect(attribute=SkillAttribute.DAMAGE, value=1 + Percent(LevelTable(data0))),
]
# 元素禁域
# mage_male/elemental_bomber/f0cc2c950f3bdf4103c75fa496bcac34
@@ -1630,7 +1671,11 @@ class Skill43(PassiveSkill):
data0 = get_data(f'{prefix}/{uuid}', 0)
# [雷光链]雷光球爆炸攻击力 : 总攻击力的{value1}%
data1 = get_data(f'{prefix}/{uuid}', 1)
associate = [{'data': data0}]
# 迁移前实现(保留对照):
# associate = [{'data': data0}]
associate = [
SkillEffect(attribute=SkillAttribute.DAMAGE, value=1 + Percent(LevelTable(data0))),
]
# 聚魔轰击
# mage_male/elemental_bomber/9767a375672d9519f6c1c5dff19b7c15
@@ -1,6 +1,17 @@
# a5ccbaf5538981c6ef99b236c0a60b73
from core.basic.skill import PassiveSkill, ActiveSkill, get_data
from core.basic.character import Character
from core.basic.skill_effect_types import (
CharacterAttribute,
CharacterEffect,
Hit,
LevelTable,
Operation,
Percent,
Power,
SkillAttribute,
SkillEffect,
)
prefix = "mage_male/glacial_master/cn/skillDetail"
@@ -553,7 +564,11 @@ class Skill18(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))),
]
# 寒冰连枪
# mage_male/glacial_master/ade01c1d6afc8a05055225045e89fe49
@@ -663,7 +678,11 @@ class Skill21(ActiveSkill):
data6 = get_data(f'{prefix}/{uuid}', 6)
# 减速移动速度减少 : {value7}%
data7 = get_data(f'{prefix}/{uuid}', 7)
associate = [{'type': '*skillDamage', 'data': data0}]
# 迁移前实现(保留对照):
# associate = [{'type': '*skillDamage', 'data': data0}]
associate = [
SkillEffect(attribute=SkillAttribute.DAMAGE, value=1 + Percent(LevelTable(data0))),
]
# 冰之领悟
# mage_male/glacial_master/ff171dc487807bb9aa28900ca9a46b41
@@ -694,7 +713,11 @@ class Skill22(PassiveSkill):
data2 = get_data(f'{prefix}/{uuid}', 2)
# 命中率增加 : {value3}%
data3 = get_data(f'{prefix}/{uuid}', 3)
associate = [{'type': '$*PAtkM', 'data': data1}]
# 迁移前实现(保留对照):
# associate = [{'type': '$*PAtkM', 'data': data1}]
associate = [
CharacterEffect(attribute=CharacterAttribute.P_ATK_M, value=1 + Percent(LevelTable(data1))),
]
# 冰魄旋枪
# mage_male/glacial_master/547ab2b2bd860d3e37355a9cfbc1077c
@@ -872,9 +895,14 @@ class Skill27(PassiveSkill):
# [冰魄剑]第1和第2击攻击力增加率 : {value0}%
data0 = get_data(f'{prefix}/{uuid}', 0)
# 迁移前实现(保留对照):
# associate = [
# {'type': '*skillDamage', 'data': data0, 'skills': ['冰魄剑']},
# {'type': '+hit1', 'data': [0] + [-1] * maxLv, 'skills': ['冰魄剑'], 'ratio': 1},
# ]
associate = [
{'type': '*skillDamage', 'data': data0, 'skills': ['冰魄剑']},
{'type': '+hit1', 'data': [0] + [-1] * maxLv, 'skills': ['冰魄剑'], 'ratio': 1},
SkillEffect(attribute=SkillAttribute.DAMAGE, value=1 + Percent(LevelTable(data0)), skills=['冰魄剑']),
SkillEffect(attribute=Hit(1), operation=Operation.ADD, value=LevelTable([0] + [-1] * maxLv), skills=['冰魄剑']),
]
# 冰魄锤击
@@ -1174,11 +1202,18 @@ class Skill32(PassiveSkill):
# 冲击波攻击力 : [极冰绽放]倒下的冰柱攻击力的{value2}%
data2 = get_data(f'{prefix}/{uuid}', 2)
# 迁移前实现(保留对照):
# associate = [
# {'type': '*power1', 'data': [i - 100 if i > 0 else i for i in data0], 'skills': ['极冰绽放']},
# {'type': '+hit1', 'data': [0, -1], 'skills': ['极冰绽放'], 'ratio': 1},
# {'type': '*power3', 'data': [i - 100 if i > 0 else i for i in data1], 'skills': ['极冰绽放']},
# {'type': '+hit4', 'data': [0, -1], 'skills': ['极冰绽放'], 'ratio': 1},
# ]
associate = [
{'type': '*power1', 'data': [i - 100 if i > 0 else i for i in data0], 'skills': ['极冰绽放']},
{'type': '+hit1', 'data': [0, -1], 'skills': ['极冰绽放'], 'ratio': 1},
{'type': '*power3', 'data': [i - 100 if i > 0 else i for i in data1], 'skills': ['极冰绽放']},
{'type': '+hit4', 'data': [0, -1], 'skills': ['极冰绽放'], 'ratio': 1},
SkillEffect(attribute=Power(1), value=1 + Percent(LevelTable([i - 100 if i > 0 else i for i in data0])), skills=['极冰绽放']),
SkillEffect(attribute=Hit(1), operation=Operation.ADD, value=LevelTable([0, -1]), skills=['极冰绽放']),
SkillEffect(attribute=Power(3), value=1 + Percent(LevelTable([i - 100 if i > 0 else i for i in data1])), skills=['极冰绽放']),
SkillEffect(attribute=Hit(4), operation=Operation.ADD, value=LevelTable([0, -1]), skills=['极冰绽放']),
]
# 冰封奥义
@@ -1214,7 +1249,11 @@ class Skill33(PassiveSkill):
# [范围信息]
# 冰冻效果范围 : {value4}px
data4 = get_data(f'{prefix}/{uuid}', 4)
associate = [{'type': '*skillDamage', 'data': data0}]
# 迁移前实现(保留对照):
# associate = [{'type': '*skillDamage', 'data': data0}]
associate = [
SkillEffect(attribute=SkillAttribute.DAMAGE, value=1 + Percent(LevelTable(data0))),
]
# 千旋冰轮破
# mage_male/glacial_master/78be08a3f8c834d3b06fa20c6a08c5a5
@@ -1412,7 +1451,12 @@ class Skill37(PassiveSkill):
data1 = get_data(f'{prefix}/{uuid}', 1)
# 冰枪爆炸攻击力占原技能攻击力百分比 : {value2}%
data2 = get_data(f'{prefix}/{uuid}', 2)
associate = [{'type': '*skillDamage', 'data': data0}, {'type': '*skillDamage', 'data': data1, 'skills': ['冰魄剑', '寒冰连枪', '冰魄旋枪', '旋冰穿刺', '冰魄锤击', '极冰绽放', '碎冰破', '极冰猎魔斩']}]
# 迁移前实现(保留对照):
# associate = [{'type': '*skillDamage', 'data': data0}, {'type': '*skillDamage', 'data': data1, 'skills': ['冰魄剑', '寒冰连枪', '冰魄旋枪', '旋冰穿刺', '冰魄锤击', '极冰绽放', '碎冰破', '极冰猎魔斩']}]
associate = [
SkillEffect(attribute=SkillAttribute.DAMAGE, value=1 + Percent(LevelTable(data0))),
SkillEffect(attribute=SkillAttribute.DAMAGE, value=1 + Percent(LevelTable(data1)), skills=['冰魄剑', '寒冰连枪', '冰魄旋枪', '旋冰穿刺', '冰魄锤击', '极冰绽放', '碎冰破', '极冰猎魔斩']),
]
# 碎冰破
# mage_male/glacial_master/de3fea2d65c597f4d55c70a02b97fc79
@@ -1605,7 +1649,11 @@ class Skill41(PassiveSkill):
data0 = get_data(f'{prefix}/{uuid}', 0)
# [冰魄之弓]对弓箭未命中敌人的最后一击伤害增加率 : {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))),
]
# 极冰猎魔斩
# mage_male/glacial_master/9f57da5cb3651d81ca7dc9f78be33d01
@@ -1,6 +1,14 @@
# a5ccbaf5538981c6ef99b236c0a60b73
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 = "mage_male/swift_master/cn/skillDetail"
@@ -636,9 +644,14 @@ class Skill20(PassiveSkill):
data3 = get_data(f'{prefix}/{uuid}', 3)
# 攻击速度增加 : {value4}%
data4 = get_data(f'{prefix}/{uuid}', 4)
# 迁移前实现(保留对照):
# associate = [
# {'data': data0, 'type': '$*PAtkP'},
# {'data': data3, 'type': '*cdReduce', 'exceptSkills': ['万象风龙阵', '无限风域', '风之极·永坠']},
# ]
associate = [
{'data': data0, 'type': '$*PAtkP'},
{'data': data3, 'type': '*cdReduce', 'exceptSkills': ['万象风龙阵', '无限风域', '风之极·永坠']},
CharacterEffect(attribute=CharacterAttribute.P_ATK_P, value=1 + Percent(LevelTable(data0))),
SkillEffect(attribute=SkillAttribute.CD_REDUCE, value=1 - Percent(LevelTable(data3)), except_skills=['万象风龙阵', '无限风域', '风之极·永坠']),
]
# 流风诀
@@ -852,7 +865,11 @@ class Skill27(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))),
]
# 刃风
# mage_male/swift_master/128b9ddef2262f40723deae4407bdb42
@@ -1113,7 +1130,11 @@ class Skill32(PassiveSkill):
data0 = get_data(f'{prefix}/{uuid}', 0)
# 移动速度增加 : {value1}%
data1 = get_data(f'{prefix}/{uuid}', 1)
associate = [{'data': data0}]
# 迁移前实现(保留对照):
# associate = [{'data': data0}]
associate = [
SkillEffect(attribute=SkillAttribute.DAMAGE, value=1 + Percent(LevelTable(data0))),
]
# 万象风龙阵
# mage_male/swift_master/0b8db1e10b3abbd24d38564e708675d5
@@ -1277,7 +1298,11 @@ class Skill36(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))),
]
# 游龙惊风破
# mage_male/swift_master/d110449993fb973f1a62c62c695003db
@@ -1455,7 +1480,11 @@ class Skill40(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))),
]
# 怒风狂涌
# mage_male/swift_master/29c0b8b3eed7252b3bdcddc2b4e9e3a0