feat:优化职业技能关联实现
This commit is contained in:
@@ -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
|
||||
|
||||
Reference in New Issue
Block a user