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
@@ -2,6 +2,25 @@
from core.basic.skill import PassiveSkill, ActiveSkill, get_data, _get_skill_damage_suffixes, _get_skill_dataplus_suffixes
from core.basic.character import Character
from core.basic.enum.skill import EnumDamageType
from core.basic.skill_effect_types import (
CharacterAttribute,
CharacterEffect,
Hit,
LevelTable,
Operation,
Percent,
Power,
ProfessionAttribute,
SkillAttribute,
SkillEffect,
)
class BrawlerFemaleAttribute(ProfessionAttribute):
"""本职业专用的最终效果属性;字段含义与技能实现保持一致。"""
ENCHANT_POISON_RATIO = 'enchantPoisonRatio'
"""女街霸:涂毒附加伤害倍率。"""
prefix = "fighter_female/brawler_female/cn/skillDetail"
@@ -783,10 +802,14 @@ class Skill23(ActiveSkill):
# 技能中包含的[涂毒]中毒攻击力变化率 : {value4}%
data4 = get_data(f'{prefix}/{uuid}', 4)
associate = [{
"type": "*enchantPoisonRatio",
"data": [0] + [enchantPoisonRatio * 100] * maxLv,
}]
# 迁移前实现(保留对照):
# associate = [{
# "type": "*enchantPoisonRatio",
# "data": [0] + [enchantPoisonRatio * 100] * maxLv,
# }]
associate = [
SkillEffect(attribute=BrawlerFemaleAttribute.ENCHANT_POISON_RATIO, value=1 + Percent(LevelTable([0] + [enchantPoisonRatio * 100] * maxLv))),
]
# 袭刺
# fighter_female/brawler_female/dde3b443bd5e61d90c34e5ee771e2c28
@@ -877,11 +900,18 @@ class Skill25(ActiveSkill):
# [爆碎砖袭]爆炸范围增加率 : {value6}%
data6 = get_data(f'{prefix}/{uuid}', 6)
# 迁移前实现(保留对照):
# associate = [
# {"skills": ["街头风暴"],"data": [0] + [50] * maxLv , "type": "=hit0", 'ratio': 1},
# {"skills": ["街头风暴"],"data": [0] + [50] * maxLv , "type": "=hit8", 'ratio': 1},
# {"skills": ["抛沙"],"data": [0] + [2] * maxLv , "type": "=hit0", 'ratio': 1},
# {"skills": ["抛沙"],"data": [0] + [2] * maxLv , "type": "=hit5", 'ratio': 1}
# ]
associate = [
{"skills": ["街头风暴"],"data": [0] + [50] * maxLv , "type": "=hit0", 'ratio': 1},
{"skills": ["街头风暴"],"data": [0] + [50] * maxLv , "type": "=hit8", 'ratio': 1},
{"skills": ["抛沙"],"data": [0] + [2] * maxLv , "type": "=hit0", 'ratio': 1},
{"skills": ["抛沙"],"data": [0] + [2] * maxLv , "type": "=hit5", 'ratio': 1}
SkillEffect(attribute=Hit(0), operation=Operation.ASSIGN, value=LevelTable([0] + [50] * maxLv), skills=['街头风暴']),
SkillEffect(attribute=Hit(8), operation=Operation.ASSIGN, value=LevelTable([0] + [50] * maxLv), skills=['街头风暴']),
SkillEffect(attribute=Hit(0), operation=Operation.ASSIGN, value=LevelTable([0] + [2] * maxLv), skills=['抛沙']),
SkillEffect(attribute=Hit(5), operation=Operation.ASSIGN, value=LevelTable([0] + [2] * maxLv), skills=['抛沙']),
]
# 毒影针
@@ -1025,7 +1055,12 @@ class Skill29(PassiveSkill):
# 出血持续时间 : {value6}秒
data6 = get_data(f'{prefix}/{uuid}', 6)
associate = [{"data":data0,"type":"$*PAtkP"},{"data":data1,"type":"$*PAtkM"}]
# 迁移前实现(保留对照):
# associate = [{"data":data0,"type":"$*PAtkP"},{"data":data1,"type":"$*PAtkM"}]
associate = [
CharacterEffect(attribute=CharacterAttribute.P_ATK_P, value=1 + Percent(LevelTable(data0))),
CharacterEffect(attribute=CharacterAttribute.P_ATK_M, value=1 + Percent(LevelTable(data1))),
]
# 砖袭
# fighter_female/brawler_female/bc11d28c04e01923a093d65752c55516
@@ -1197,7 +1232,11 @@ class Skill33(ActiveSkill):
# 控制型异常状态抗性减少范围 : {value5}px
data5 = get_data(f'{prefix}/{uuid}', 5)
associate = [{"data":data1}]
# 迁移前实现(保留对照):
# associate = [{"data":data1}]
associate = [
SkillEffect(attribute=SkillAttribute.DAMAGE, value=1 + Percent(LevelTable(data1))),
]
# 天罗地网
# fighter_female/brawler_female/d0cdaca82892e54097f22a1f60817048
@@ -1394,7 +1433,13 @@ class Skill36(PassiveSkill):
data11 = get_data(f'{prefix}/{uuid}', 11)
associate = [{'data':data2, 'type': '*power3', 'skills': ['伏虎霸王拳']},{'data': [i * 3 for i in data3], 'skills': ['伏虎霸王拳']},{'data':data9, 'type': '*power6', 'skills': ['伏虎霸王拳']}]
# 迁移前实现(保留对照):
# associate = [{'data':data2, 'type': '*power3', 'skills': ['伏虎霸王拳']},{'data': [i * 3 for i in data3], 'skills': ['伏虎霸王拳']},{'data':data9, 'type': '*power6', 'skills': ['伏虎霸王拳']}]
associate = [
SkillEffect(attribute=Power(3), value=1 + Percent(LevelTable(data2)), skills=['伏虎霸王拳']),
SkillEffect(attribute=SkillAttribute.DAMAGE, value=1 + Percent(LevelTable([i * 3 for i in data3])), skills=['伏虎霸王拳']),
SkillEffect(attribute=Power(6), value=1 + Percent(LevelTable(data9)), skills=['伏虎霸王拳']),
]
def vp_1(self):
"""
@@ -1607,7 +1652,11 @@ class Skill39(PassiveSkill):
# 中毒生成持续时间 : {value6}秒
data6 = get_data(f'{prefix}/{uuid}', 6)
associate = [{'data':data0}]
# 迁移前实现(保留对照):
# associate = [{'data':data0}]
associate = [
SkillEffect(attribute=SkillAttribute.DAMAGE, value=1 + Percent(LevelTable(data0))),
]
# 死亡毒雾
# fighter_female/brawler_female/ca75c965f20a150f99f54155a37400df
@@ -1863,7 +1912,11 @@ class Skill43(PassiveSkill):
# 基本攻击力和技能攻击力增加率 : {value2}%
data2 = get_data(f'{prefix}/{uuid}', 2)
associate = [{'data':data2}]
# 迁移前实现(保留对照):
# associate = [{'data':data2}]
associate = [
SkillEffect(attribute=SkillAttribute.DAMAGE, value=1 + Percent(LevelTable(data2))),
]
# 连环毒爆弹
# fighter_female/brawler_female/faf9cd66281078b51be2ee0b0f6c5530
@@ -2076,13 +2129,22 @@ class Skill46(PassiveSkill):
# 毒爆弹爆炸攻击时中毒攻击力变化率 : {value2}%
data2 = get_data(f'{prefix}/{uuid}', 2)
# 迁移前实现(保留对照):
# associate = [
# {'data':data0,'type':'*power0', 'skills':['连环毒爆弹']},
# {'data':data1,'type':'*power1', 'skills':['连环毒爆弹']},
# {'data':data1,'type':'*power10', 'skills':['连环毒爆弹']},
# {'data':data1,'type':'*power13', 'skills':['连环毒爆弹']},
# {'data':data2,'type':'*power16', 'skills':['连环毒爆弹']},
# {'data':data2,'type':'*power17', 'skills':['连环毒爆弹']}
# ]
associate = [
{'data':data0,'type':'*power0', 'skills':['连环毒爆弹']},
{'data':data1,'type':'*power1', 'skills':['连环毒爆弹']},
{'data':data1,'type':'*power10', 'skills':['连环毒爆弹']},
{'data':data1,'type':'*power13', 'skills':['连环毒爆弹']},
{'data':data2,'type':'*power16', 'skills':['连环毒爆弹']},
{'data':data2,'type':'*power17', 'skills':['连环毒爆弹']}
SkillEffect(attribute=Power(0), value=1 + Percent(LevelTable(data0)), skills=['连环毒爆弹']),
SkillEffect(attribute=Power(1), value=1 + Percent(LevelTable(data1)), skills=['连环毒爆弹']),
SkillEffect(attribute=Power(10), value=1 + Percent(LevelTable(data1)), skills=['连环毒爆弹']),
SkillEffect(attribute=Power(13), value=1 + Percent(LevelTable(data1)), skills=['连环毒爆弹']),
SkillEffect(attribute=Power(16), value=1 + Percent(LevelTable(data2)), skills=['连环毒爆弹']),
SkillEffect(attribute=Power(17), value=1 + Percent(LevelTable(data2)), skills=['连环毒爆弹']),
]
# 万毒噬心诀
@@ -2166,7 +2228,11 @@ class Skill47(ActiveSkill):
mode = ['平x一轮']
associate = [{"data":data10 }]
# 迁移前实现(保留对照):
# associate = [{"data":data10 }]
associate = [
SkillEffect(attribute=SkillAttribute.DAMAGE, value=1 + Percent(LevelTable(data10))),
]
def setMode(self, mode):
if mode == '平x一轮':
@@ -2241,7 +2307,11 @@ class Skill49(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))),
]
# 钻心毒爆
# fighter_female/brawler_female/f4a561e272cc434a4905b3aa0c0de090
@@ -1,6 +1,21 @@
#a7a059ebe9e6054c0644b40ef316d6e9
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,
ProfessionAttribute,
SkillAttribute,
SkillEffect,
)
class GrapplerFemaleAttribute(ProfessionAttribute):
"""本职业专用的最终效果属性;字段含义与技能实现保持一致。"""
USE_ADAPT = 'useAdapt'
"""女柔道:是否启用被动调整后的技能形态。"""
prefix = "fighter_female/grappler_female/cn/skillDetail"
@@ -620,7 +635,11 @@ class Skill19(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))),
]
# 抛投
# fighter_female/grappler_female/c27418ae613c647527200a7ca17d97fd
@@ -757,7 +776,11 @@ class Skill24(PassiveSkill):
# 物理暴击率增加 : {value1}%
data1 = get_data(f'{prefix}/{uuid}', 1)
associate = [{"data":data0,"skills":["背摔","抛投","霹雳肘击","空绞锤","螺旋彗星落","地狱摇篮","裂石破天","末日风暴","死亡摇篮","末日摇篮","风暴之舞","苍宇彗星落","送葬舞步","女皇时代·辉煌舞台"]}]# noqa: E501
# 迁移前实现(保留对照):
# associate = [{"data":data0,"skills":["背摔","抛投","霹雳肘击","空绞锤","螺旋彗星落","地狱摇篮","裂石破天","末日风暴","死亡摇篮","末日摇篮","风暴之舞","苍宇彗星落","送葬舞步","女皇时代·辉煌舞台"]}]# noqa: E501
associate = [
SkillEffect(attribute=SkillAttribute.DAMAGE, value=1 + Percent(LevelTable(data0)), skills=['背摔', '抛投', '霹雳肘击', '空绞锤', '螺旋彗星落', '地狱摇篮', '裂石破天', '末日风暴', '死亡摇篮', '末日摇篮', '风暴之舞', '苍宇彗星落', '送葬舞步', '女皇时代·辉煌舞台']),
]
# 折颈
# fighter_female/grappler_female/ecc23c980ea71450c0ad0c3fd232f329
@@ -1323,7 +1346,11 @@ class Skill38(PassiveSkill):
# 抓取准备动作时回避率增加 : {value3}%
data3 = get_data(f'{prefix}/{uuid}', 3)
associate = [{"data":data0}]
# 迁移前实现(保留对照):
# associate = [{"data":data0}]
associate = [
SkillEffect(attribute=SkillAttribute.DAMAGE, value=1 + Percent(LevelTable(data0))),
]
# 末日风暴
# fighter_female/grappler_female/d296043df164385a14cb973c8c7c4d07
@@ -1524,7 +1551,11 @@ class Skill42(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))),
]
# 末日摇篮
# fighter_female/grappler_female/fc458e449ee00b01dbf88d09aae65462
@@ -1647,8 +1678,12 @@ class Skill44(PassiveSkill):
data1 = get_data(f'{prefix}/{uuid}', 1)
# [苍宇彗星落]攻击力增加率 : {value2}%
data2 = get_data(f'{prefix}/{uuid}', 2)
# 迁移前实现(保留对照):
# associate = [
# {"type":"+useAdapt","skills":["裂石破天","死亡摇篮","末日摇篮","苍宇彗星落"],"data":[0,100]}
# ]
associate = [
{"type":"+useAdapt","skills":["裂石破天","死亡摇篮","末日摇篮","苍宇彗星落"],"data":[0,100]}
SkillEffect(attribute=GrapplerFemaleAttribute.USE_ADAPT, operation=Operation.ADD, value=Percent(LevelTable([0, 100])), skills=['裂石破天', '死亡摇篮', '末日摇篮', '苍宇彗星落']),
]
# 风暴之舞
@@ -1841,7 +1876,11 @@ class Skill48(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))),
]
# 女皇时代·辉煌舞台
# fighter_female/grappler_female/c91a62dc0a18360acf5031ac0ebf09f5
@@ -1,6 +1,16 @@
# a7a059ebe9e6054c0644b40ef316d6e9
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 = "fighter_female/nenmaster_female/cn/skillDetail"
@@ -159,7 +169,11 @@ class Skill5(PassiveSkill):
data1 = get_data(f'{prefix}/{uuid}', 1)
# 跳跃攻击力变化率 : {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=['念兽 : 龙虎啸']),
]
# 受身蹲伏
# fighter_female/nenmaster_female/ce26c6b69d02a440a81b552bec94f03b
@@ -820,7 +834,12 @@ class Skill25(PassiveSkill):
# 学习念气归元后搜寻敌人范围比率 : {value2}%
data2 = get_data(f'{prefix}/{uuid}', 2)
associate = [{'type': '*skillDamage', 'data': data0, 'skills': ['分身'], 'ratio': 1}, {'type': '+cd', 'data': [0] + [3] * maxLv, 'skills': ['分身'], 'ratio': 1}]
# 迁移前实现(保留对照):
# associate = [{'type': '*skillDamage', 'data': data0, 'skills': ['分身'], 'ratio': 1}, {'type': '+cd', 'data': [0] + [3] * maxLv, 'skills': ['分身'], 'ratio': 1}]
associate = [
SkillEffect(attribute=SkillAttribute.DAMAGE, value=1 + LevelTable(data0), skills=['分身']),
SkillEffect(attribute=SkillAttribute.CD, operation=Operation.ADD, value=LevelTable([0] + [3] * maxLv), skills=['分身']),
]
# 蓄念炮
# fighter_female/nenmaster_female/c7bf7ccab413009640e65ca6f2f0263a
@@ -852,7 +871,11 @@ class Skill26(PassiveSkill):
data2 = get_data(f'{prefix}/{uuid}', 2)
# 增加念气波发射速度 : {value3}%
data3 = get_data(f'{prefix}/{uuid}', 3)
associate = [{'type': '*power0', 'data': data0, 'skills': ['念气波']}]
# 迁移前实现(保留对照):
# associate = [{'type': '*power0', 'data': data0, 'skills': ['念气波']}]
associate = [
SkillEffect(attribute=Power(0), value=1 + Percent(LevelTable(data0)), skills=['念气波']),
]
# 疾风连击
# fighter_female/nenmaster_female/8572675ec6a1f50b6eff6a867376c2de
@@ -1002,9 +1025,13 @@ class Skill31(ActiveSkill):
# 学习念气归元后,念气珠爆炸大小比率 : {value5}%
data5 = get_data(f'{prefix}/{uuid}', 5)
# 迁移前实现(保留对照):
# associate = [
# # 总共两个珠子
# {'type': '*skillDamage', 'data': data3, 'ratio': 100 / 2}
# ]
associate = [
# 总共两个珠子
{'type': '*skillDamage', 'data': data3, 'ratio': 100 / 2}
SkillEffect(attribute=SkillAttribute.DAMAGE, value=1 + (LevelTable(data3) / (100 / 2))),
]
def getSkillCD(self, mode=None):
@@ -1279,7 +1306,11 @@ class Skill36(ActiveSkill):
# 队员魔法防御力增加 : {value16}
data16 = get_data(f'{prefix}/{uuid}', 16)
associate = [{'type': '*skillDamage', 'data': data12}]
# 迁移前实现(保留对照):
# associate = [{'type': '*skillDamage', 'data': data12}]
associate = [
SkillEffect(attribute=SkillAttribute.DAMAGE, value=1 + Percent(LevelTable(data12))),
]
# 狂龙升天破
# fighter_female/nenmaster_female/dbf8b30c7057032af0d68fcfa289fdae
@@ -1368,7 +1399,11 @@ class Skill38(PassiveSkill):
# 重新盛开所需时间 : {value5}秒
data5 = get_data(f'{prefix}/{uuid}', 5)
associate = [{'type': '*skillDamage', 'data': data1}]
# 迁移前实现(保留对照):
# associate = [{'type': '*skillDamage', 'data': data1}]
associate = [
SkillEffect(attribute=SkillAttribute.DAMAGE, value=1 + Percent(LevelTable(data1))),
]
# 千莲怒放
# fighter_female/nenmaster_female/51a08fd0c90f0a5276cd552047fac93d
@@ -1580,10 +1615,14 @@ class Skill42(ActiveSkill):
"""
...
def effect(self, old, new):
if self.vp == 2:
self.associate = [{'type': '*skillRation', 'data': [0] + [-33] * self.maxLv, 'skills': ['狮子吼']}]
return super().effect(old, new)
# 迁移前实现(保留对照):
# def effect(self, old, new):
# if self.vp == 2:
# self.associate = [{'type': '*skillRation', 'data': [0] + [-33] * self.maxLv, 'skills': ['狮子吼']}]
# return super().effect(old, new)
associate = [
SkillEffect(attribute=SkillAttribute.PANEL_RATIO, value=1 + Percent(LevelTable([0] + [-33] * maxLv)), skills=['狮子吼'], when=Equals(Read(SkillAttribute.VP), 2)),
]
# 念花守心
# fighter_female/nenmaster_female/547ab2b2bd860d3e37355a9cfbc1077c
@@ -1624,7 +1663,11 @@ class Skill43(PassiveSkill):
data4 = get_data(f'{prefix}/{uuid}', 4)
# 分身生成距离减少率 : 50%
associate = [{'type': '*skillDamage', 'data': data1}]
# 迁移前实现(保留对照):
# associate = [{'type': '*skillDamage', 'data': data1}]
associate = [
SkillEffect(attribute=SkillAttribute.DAMAGE, value=1 + Percent(LevelTable(data1))),
]
# 分身生成距离减少率 : 50%
# 击电奔星
@@ -1811,7 +1854,11 @@ class Skill47(PassiveSkill):
# [念气环绕]爆炸攻击力 : 每个念气珠攻击力的400%
# 念气珠发射后再次生成间隔 : {value3}秒
data3 = get_data(f'{prefix}/{uuid}', 3)
associate = [{'type': '*skillDamage', 'data': data0}]
# 迁移前实现(保留对照):
# associate = [{'type': '*skillDamage', 'data': data0}]
associate = [
SkillEffect(attribute=SkillAttribute.DAMAGE, value=1 + Percent(LevelTable(data0))),
]
# 天雷分身步
# fighter_female/nenmaster_female/85f7c810ad503790e8626439fe936d56
@@ -1,6 +1,14 @@
#a7a059ebe9e6054c0644b40ef316d6e9
from core.basic.skill import PassiveSkill, ActiveSkill, get_data
from core.basic.character import Character
from core.basic.skill_effect_types import (
Equals,
LevelTable,
Percent,
Read,
SkillAttribute,
SkillEffect,
)
prefix = "fighter_female/striker_female/cn/skillDetail"
@@ -614,7 +622,11 @@ class Skill19(PassiveSkill):
# 冷却时间减少率 : {value0}%
data0 = get_data(f'{prefix}/{uuid}', 0)
associate = [{"data":data0,"type":"*cdReduce","exceptSkills":["武神强踢","极尽 : 霸皇断空拳","陨星灭天击"]}]
# 迁移前实现(保留对照):
# associate = [{"data":data0,"type":"*cdReduce","exceptSkills":["武神强踢","极尽 : 霸皇断空拳","陨星灭天击"]}]
associate = [
SkillEffect(attribute=SkillAttribute.CD_REDUCE, value=1 - Percent(LevelTable(data0)), except_skills=['武神强踢', '极尽 : 霸皇断空拳', '陨星灭天击']),
]
# 强拳
# fighter_female/striker_female/dcd536f1674630f01fc9667bb202b851
@@ -859,7 +871,11 @@ class Skill27(PassiveSkill):
data1 = get_data(f'{prefix}/{uuid}', 1)
# 基本攻击力和转职技能攻击力增加率 : {value2}%
data2 = get_data(f'{prefix}/{uuid}', 2)
associate = [{"data":data2}]
# 迁移前实现(保留对照):
# associate = [{"data":data2}]
associate = [
SkillEffect(attribute=SkillAttribute.DAMAGE, value=1 + Percent(LevelTable(data2))),
]
# 旋风腿
# fighter_female/striker_female/202edb928046f4fa6dedf6337377efd5
@@ -927,7 +943,11 @@ class Skill29(PassiveSkill):
data4 = get_data(f'{prefix}/{uuid}', 4)
# [决斗场]
# 起始冷却时间 : 10秒
associate = [{"data":data0}]
# 迁移前实现(保留对照):
# associate = [{"data":data0}]
associate = [
SkillEffect(attribute=SkillAttribute.DAMAGE, value=1 + Percent(LevelTable(data0))),
]
# [决斗场]
# 起始冷却时间 : 10秒
@@ -1208,7 +1228,11 @@ class Skill34(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))),
]
# 武神强踢
# fighter_female/striker_female/47bd4871f29defc2a0021ee9261d7a5b
@@ -1313,10 +1337,14 @@ class Skill36(ActiveSkill):
self.skillRation *= 0.5
...
def effect(self, old, new):
if self.vp == 2:
self.associate = [{"type":"*skillRation","data":[0] + [-25]*self.maxLv,"skills":["崩拳"]}]
return super().effect(old, new)
# 迁移前实现(保留对照):
# def effect(self, old, new):
# if self.vp == 2:
# self.associate = [{"type":"*skillRation","data":[0] + [-25]*self.maxLv,"skills":["崩拳"]}]
# return super().effect(old, new)
associate = [
SkillEffect(attribute=SkillAttribute.PANEL_RATIO, value=1 + Percent(LevelTable([0] + [-25] * maxLv)), skills=['崩拳'], when=Equals(Read(SkillAttribute.VP), 2)),
]
# 回天连环击
# fighter_female/striker_female/e0daa922b19cdc35de879e938361464e
@@ -1429,7 +1457,11 @@ class Skill38(PassiveSkill):
data3 = get_data(f'{prefix}/{uuid}', 3)
# [霸体护甲]移动速度增加 : {value4}%
data4 = get_data(f'{prefix}/{uuid}', 4)
associate = [{"data":data0}]
# 迁移前实现(保留对照):
# associate = [{"data":data0}]
associate = [
SkillEffect(attribute=SkillAttribute.DAMAGE, value=1 + Percent(LevelTable(data0))),
]
# 虎啸神拳
# fighter_female/striker_female/128b9ddef2262f40723deae4407bdb42
@@ -1621,7 +1653,11 @@ class Skill42(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))),
]
# 雷霆之舞
# fighter_female/striker_female/dac8d8207618150c162e4c6f9e168527