feat:优化职业技能关联实现
This commit is contained in:
@@ -1,6 +1,15 @@
|
||||
#afdf3b989339de478e85b614d274d1ef
|
||||
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 = "gunner_male/assault/cn/skillDetail"
|
||||
|
||||
|
||||
@@ -108,7 +117,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=['瞄准射击']),
|
||||
]
|
||||
|
||||
# 受身蹲伏
|
||||
# gunner_male/assault/ce26c6b69d02a440a81b552bec94f03b
|
||||
@@ -624,7 +637,11 @@ class Skill20(PassiveSkill):
|
||||
# 命中率增加 : {value1}%
|
||||
data1 = get_data(f'{prefix}/{uuid}', 1)
|
||||
|
||||
associate = [{'type': '$*PAtkP', 'data': data0}]
|
||||
# 迁移前实现(保留对照):
|
||||
# associate = [{'type': '$*PAtkP', 'data': data0}]
|
||||
associate = [
|
||||
CharacterEffect(attribute=CharacterAttribute.P_ATK_P, value=1 + Percent(LevelTable(data0))),
|
||||
]
|
||||
|
||||
# 瞄准射击
|
||||
# gunner_male/assault/b3ba5c678595305d31dcb11a8350971b
|
||||
@@ -715,7 +732,11 @@ class Skill23(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))),
|
||||
]
|
||||
|
||||
# 改装榴弹
|
||||
# gunner_male/assault/67f4b84ed61ee86f505a852b202762a0
|
||||
@@ -907,7 +928,11 @@ class Skill29(PassiveSkill):
|
||||
# 攻击范围比率 : {value1}%
|
||||
data1 = get_data(f'{prefix}/{uuid}', 1)
|
||||
|
||||
associate = [{'data': data0, 'skills': ['烟尘弹']}]
|
||||
# 迁移前实现(保留对照):
|
||||
# associate = [{'data': data0, 'skills': ['烟尘弹']}]
|
||||
associate = [
|
||||
SkillEffect(attribute=SkillAttribute.DAMAGE, value=1 + Percent(LevelTable(data0)), skills=['烟尘弹']),
|
||||
]
|
||||
|
||||
# 三连霰弹
|
||||
# gunner_male/assault/e7e39aa9fcf182c8db543235c8af7dac
|
||||
@@ -1270,7 +1295,11 @@ class Skill36(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))),
|
||||
]
|
||||
|
||||
# 电弧能量释放
|
||||
# gunner_male/assault/fa7f1a3dc90600456cbe010e5714bef3
|
||||
@@ -1501,7 +1530,11 @@ class Skill41(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))),
|
||||
]
|
||||
|
||||
# AT-SO步行者
|
||||
# gunner_male/assault/50a859dea1a48a2f60916afbfc91434f
|
||||
@@ -1765,9 +1798,14 @@ class Skill46(PassiveSkill):
|
||||
# [超频 : 压制]冷却时间减少 : {value1}秒
|
||||
data1 = get_data(f'{prefix}/{uuid}', 1)
|
||||
|
||||
# 迁移前实现(保留对照):
|
||||
# associate = [
|
||||
# {'type': '*skillDamage', 'data': data0},
|
||||
# {'type': '+cd', 'data': [0] + [-1] * maxLv, 'skills': ['超频 : 压制'], 'ratio': 1},
|
||||
# ]
|
||||
associate = [
|
||||
{'type': '*skillDamage', 'data': data0},
|
||||
{'type': '+cd', 'data': [0] + [-1] * maxLv, 'skills': ['超频 : 压制'], 'ratio': 1},
|
||||
SkillEffect(attribute=SkillAttribute.DAMAGE, value=1 + Percent(LevelTable(data0))),
|
||||
SkillEffect(attribute=SkillAttribute.CD, operation=Operation.ADD, value=LevelTable([0] + [-1] * maxLv), skills=['超频 : 压制']),
|
||||
]
|
||||
|
||||
# 超频 : 音速瞬杀
|
||||
|
||||
@@ -1,6 +1,17 @@
|
||||
#afdf3b989339de478e85b614d274d1ef
|
||||
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,
|
||||
Read,
|
||||
SkillAttribute,
|
||||
SkillEffect,
|
||||
)
|
||||
prefix = "gunner_male/launcher_male/cn/skillDetail"
|
||||
|
||||
|
||||
@@ -615,10 +626,16 @@ class Skill20(PassiveSkill):
|
||||
# 技能冷却时间减少率 : {value4}%
|
||||
data4 = get_data(f'{prefix}/{uuid}', 4)
|
||||
|
||||
# 迁移前实现(保留对照):
|
||||
# associate = [
|
||||
# {"type":"$*PAtkP","data":data2},
|
||||
# {"data":data3},
|
||||
# {"type":"*cdReduce","data":data4,"exceptSkills":['卫星射线', '毁灭射线', '裂核轨道炮']},
|
||||
# ]
|
||||
associate = [
|
||||
{"type":"$*PAtkP","data":data2},
|
||||
{"data":data3},
|
||||
{"type":"*cdReduce","data":data4,"exceptSkills":['卫星射线', '毁灭射线', '裂核轨道炮']},
|
||||
CharacterEffect(attribute=CharacterAttribute.P_ATK_P, value=1 + Percent(LevelTable(data2))),
|
||||
SkillEffect(attribute=SkillAttribute.DAMAGE, value=1 + Percent(LevelTable(data3))),
|
||||
SkillEffect(attribute=SkillAttribute.CD_REDUCE, value=1 - Percent(LevelTable(data4)), except_skills=['卫星射线', '毁灭射线', '裂核轨道炮']),
|
||||
]
|
||||
|
||||
# 空中射击
|
||||
@@ -669,12 +686,23 @@ class Skill22(PassiveSkill):
|
||||
rangeLv = 1
|
||||
uuid = "e49e57b2e8fbeceb0a2c56a0c63fe6c5"
|
||||
|
||||
# 迁移前实现(保留对照):
|
||||
# def effect(self, old, new):
|
||||
# skills = []
|
||||
# for i in self.char.skills:
|
||||
# if i.type == "active" and i.learnLv not in [50,85,100] and i.damage and self.char.skill_effects.is_learned(i):
|
||||
# skills.append(i.name)
|
||||
# self.associate = [{"type":"+lv","data":[0] + [1]*self.maxLv,"ratio":1,"skills":skills}]
|
||||
# super().effect(old, new)
|
||||
# 仅动态枚举目标名称,贡献值与 VP 条件交由类型化声明处理。
|
||||
def effect(self, old, new):
|
||||
skills = []
|
||||
for i in self.char.skills:
|
||||
if i.type == "active" and i.learnLv not in [50,85,100] and i.damage and self.char.skill_effects.is_learned(i):
|
||||
skills.append(i.name)
|
||||
self.associate = [{"type":"+lv","data":[0] + [1]*self.maxLv,"ratio":1,"skills":skills}]
|
||||
self.associate = [
|
||||
SkillEffect(attribute=SkillAttribute.LEVEL, operation=Operation.ADD, value=LevelTable([0] + [1] * self.maxLv), skills=skills),
|
||||
]
|
||||
super().effect(old, new)
|
||||
|
||||
|
||||
@@ -885,7 +913,11 @@ class Skill29(PassiveSkill):
|
||||
# 攻击力增加率 : {value1}%
|
||||
data1 = get_data(f'{prefix}/{uuid}', 1)
|
||||
|
||||
associate = [{"data":data1,"skills":["激光炮"]}]
|
||||
# 迁移前实现(保留对照):
|
||||
# associate = [{"data":data1,"skills":["激光炮"]}]
|
||||
associate = [
|
||||
SkillEffect(attribute=SkillAttribute.DAMAGE, value=1 + Percent(LevelTable(data1)), skills=['激光炮']),
|
||||
]
|
||||
|
||||
# 超动力补给包
|
||||
# gunner_male/launcher_male/04c7b4361ca81f041e868169ff044252
|
||||
@@ -906,7 +938,11 @@ class Skill30(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))),
|
||||
]
|
||||
|
||||
# 聚焦喷火器
|
||||
# gunner_male/launcher_male/04883563896fe1adac7505c6146b5f59
|
||||
@@ -1235,7 +1271,11 @@ class Skill38(PassiveSkill):
|
||||
# 暴击伤害增加率 : {value5}%
|
||||
data5 = get_data(f'{prefix}/{uuid}', 5)
|
||||
|
||||
associate = [{"data":data5}]
|
||||
# 迁移前实现(保留对照):
|
||||
# associate = [{"data":data5}]
|
||||
associate = [
|
||||
SkillEffect(attribute=SkillAttribute.DAMAGE, value=1 + Percent(LevelTable(data5))),
|
||||
]
|
||||
|
||||
# 卫星射线
|
||||
# gunner_male/launcher_male/0232c151ef3731c2dede51931a374723
|
||||
@@ -1391,10 +1431,14 @@ class Skill41(ActiveSkill):
|
||||
"""
|
||||
...
|
||||
|
||||
def effect(self, old, new):
|
||||
if self.vp == 2:
|
||||
self.associate = [{"data":[0]+[-29]*self.maxLv,"skills":["FM-92刺弹炮"]}]
|
||||
return super().effect(old, new)
|
||||
# 迁移前实现(保留对照):
|
||||
# def effect(self, old, new):
|
||||
# if self.vp == 2:
|
||||
# self.associate = [{"data":[0]+[-29]*self.maxLv,"skills":["FM-92刺弹炮"]}]
|
||||
# return super().effect(old, new)
|
||||
associate = [
|
||||
SkillEffect(attribute=SkillAttribute.DAMAGE, value=1 + Percent(LevelTable([0] + [-29] * maxLv)), skills=['FM-92刺弹炮'], when=Equals(Read(SkillAttribute.VP), 2)),
|
||||
]
|
||||
|
||||
# 地脉震荡器
|
||||
# gunner_male/launcher_male/dac8d8207618150c162e4c6f9e168527
|
||||
@@ -1493,7 +1537,11 @@ class Skill43(PassiveSkill):
|
||||
# 施放后僵直时间减少率 : {value4}%
|
||||
data4 = get_data(f'{prefix}/{uuid}', 4)
|
||||
|
||||
associate = [{"data":data0}]
|
||||
# 迁移前实现(保留对照):
|
||||
# associate = [{"data":data0}]
|
||||
associate = [
|
||||
SkillEffect(attribute=SkillAttribute.DAMAGE, value=1 + Percent(LevelTable(data0))),
|
||||
]
|
||||
|
||||
# 中子爆弹
|
||||
# gunner_male/launcher_male/ef9d26746effee9199b54541f01b8752
|
||||
@@ -1598,7 +1646,11 @@ class Skill46(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))),
|
||||
]
|
||||
|
||||
# ML-95火炮发射器
|
||||
# gunner_male/launcher_male/854997c3bdfc3a2b498b4c4001f69e06
|
||||
|
||||
@@ -1,6 +1,16 @@
|
||||
#afdf3b989339de478e85b614d274d1ef
|
||||
from core.basic.skill import PassiveSkill, ActiveSkill, get_data
|
||||
from core.basic.character import Character
|
||||
from core.basic.skill_effect_types import (
|
||||
Hit,
|
||||
LevelTable,
|
||||
MissingTargetPolicy,
|
||||
Operation,
|
||||
Percent,
|
||||
Power,
|
||||
SkillAttribute,
|
||||
SkillEffect,
|
||||
)
|
||||
prefix = "gunner_male/mechanic_male/cn/skillDetail"
|
||||
|
||||
|
||||
@@ -721,11 +731,17 @@ class Skill23(ActiveSkill):
|
||||
# 爆炸伤害变化率 : {value1}%
|
||||
data1 = get_data(f'{prefix}/{uuid}', 1)
|
||||
|
||||
# 迁移前实现(保留对照):
|
||||
# associate = [
|
||||
# {"data":[i-100 if i > 100 else i for i in data1],"skills":["RX-78追击者","Ez-8自爆者","RX-60陷阱追击者","空投支援", "EZ-10反击者", "TX-45特攻队"]},
|
||||
# # 光能不享受引爆
|
||||
# {"type":"*power1","data":[i-100 if i > 100 else i for i in data1],"skills":["拦截机工厂"]},
|
||||
# {"type":"+power2","data":[i-100 if i > 100 else i for i in data1],"skills":["空战机械 : 风暴"]}
|
||||
# ]
|
||||
associate = [
|
||||
{"data":[i-100 if i > 100 else i for i in data1],"skills":["RX-78追击者","Ez-8自爆者","RX-60陷阱追击者","空投支援", "EZ-10反击者", "TX-45特攻队"]},
|
||||
# 光能不享受引爆
|
||||
{"type":"*power1","data":[i-100 if i > 100 else i for i in data1],"skills":["拦截机工厂"]},
|
||||
{"type":"+power2","data":[i-100 if i > 100 else i for i in data1],"skills":["空战机械 : 风暴"]}
|
||||
SkillEffect(attribute=SkillAttribute.DAMAGE, value=1 + Percent(LevelTable([i - 100 if i > 100 else i for i in data1])), skills=['RX-78追击者', 'Ez-8自爆者', 'RX-60陷阱追击者', '空投支援', 'EZ-10反击者', 'TX-45特攻队'], missing_target=MissingTargetPolicy.SKIP),
|
||||
SkillEffect(attribute=Power(1), value=1 + Percent(LevelTable([i - 100 if i > 100 else i for i in data1])), skills=['拦截机工厂']),
|
||||
SkillEffect(attribute=Power(2), operation=Operation.ADD, value=Percent(LevelTable([i - 100 if i > 100 else i for i in data1])), skills=['空战机械 : 风暴']),
|
||||
]
|
||||
|
||||
# G-14手雷
|
||||
@@ -784,7 +800,11 @@ class Skill25(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))),
|
||||
]
|
||||
|
||||
# 嗜战追击者
|
||||
# gunner_male/mechanic_male/dc1ffbe7bfcc6dc2be737951960da9ad
|
||||
@@ -812,7 +832,11 @@ class Skill26(PassiveSkill):
|
||||
data0 = get_data(f'{prefix}/{uuid}', 0)
|
||||
# 被击时出现几率 : {value1}%
|
||||
data1 = get_data(f'{prefix}/{uuid}', 1)
|
||||
associate = [{"data":data0,"skills":["RX-78追击者"]}]
|
||||
# 迁移前实现(保留对照):
|
||||
# associate = [{"data":data0,"skills":["RX-78追击者"]}]
|
||||
associate = [
|
||||
SkillEffect(attribute=SkillAttribute.DAMAGE, value=1 + Percent(LevelTable(data0)), skills=['RX-78追击者']),
|
||||
]
|
||||
|
||||
# G-1科罗纳
|
||||
# gunner_male/mechanic_male/1b1cfab062e0768bcc889e33e1f30dbf
|
||||
@@ -859,7 +883,11 @@ class Skill27(ActiveSkill):
|
||||
# 炸弹爆炸大小比率 : {value8}%
|
||||
data8 = get_data(f'{prefix}/{uuid}', 8)
|
||||
|
||||
associate = [{"data":data7,"type":"+power0","skills":["改装 : G-2旋雷者","改装 : G-3捕食者"]}]
|
||||
# 迁移前实现(保留对照):
|
||||
# associate = [{"data":data7,"type":"+power0","skills":["改装 : G-2旋雷者","改装 : G-3捕食者"]}]
|
||||
associate = [
|
||||
SkillEffect(attribute=Power(0), operation=Operation.ADD, value=Percent(LevelTable(data7)), skills=['改装 : G-2旋雷者', '改装 : G-3捕食者']),
|
||||
]
|
||||
|
||||
def getSkillCD(self,mode=None):
|
||||
return 1.0
|
||||
@@ -995,7 +1023,11 @@ class Skill31(ActiveSkill):
|
||||
def getSkillCD(self,mode=None):
|
||||
return 1.0
|
||||
|
||||
associate = [{"data":data4,"type":"+power0","skills":["G-1科罗纳","改装 : G-3捕食者"]}]
|
||||
# 迁移前实现(保留对照):
|
||||
# associate = [{"data":data4,"type":"+power0","skills":["G-1科罗纳","改装 : G-3捕食者"]}]
|
||||
associate = [
|
||||
SkillEffect(attribute=Power(0), operation=Operation.ADD, value=Percent(LevelTable(data4)), skills=['G-1科罗纳', '改装 : G-3捕食者']),
|
||||
]
|
||||
|
||||
# 方舟反应堆
|
||||
# gunner_male/mechanic_male/b1ccbd90d0b40f543ece3b18fcef827f
|
||||
@@ -1020,7 +1052,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))),
|
||||
]
|
||||
|
||||
# 伪装
|
||||
# gunner_male/mechanic_male/4b2c90ec226fd40e967875aa5eabefb2
|
||||
@@ -1102,7 +1138,11 @@ class Skill34(ActiveSkill):
|
||||
# 捕食者可移动范围 : {value7}px
|
||||
data7 = get_data(f'{prefix}/{uuid}', 7)
|
||||
|
||||
associate = [{"data":data5,"type":"+power0","skills":["G-1科罗纳","改装 : G-2旋雷者"]}]
|
||||
# 迁移前实现(保留对照):
|
||||
# associate = [{"data":data5,"type":"+power0","skills":["G-1科罗纳","改装 : G-2旋雷者"]}]
|
||||
associate = [
|
||||
SkillEffect(attribute=Power(0), operation=Operation.ADD, value=Percent(LevelTable(data5)), skills=['G-1科罗纳', '改装 : G-2旋雷者']),
|
||||
]
|
||||
|
||||
def getSkillCD(self,mode=None):
|
||||
return 1.0
|
||||
@@ -1432,7 +1472,12 @@ class Skill41(PassiveSkill):
|
||||
hasUP = False
|
||||
custom = get_data(f'{prefix}/{uuid}', "custom") # noqa: E501
|
||||
|
||||
associate = [{"type":"+hit1","data":[0,-8],"ratio":1,"skills":["拦截机工厂"]},{"type":"+hit5","data":[0,1],"ratio":1,"skills":["拦截机工厂"]}]
|
||||
# 迁移前实现(保留对照):
|
||||
# associate = [{"type":"+hit1","data":[0,-8],"ratio":1,"skills":["拦截机工厂"]},{"type":"+hit5","data":[0,1],"ratio":1,"skills":["拦截机工厂"]}]
|
||||
associate = [
|
||||
SkillEffect(attribute=Hit(1), operation=Operation.ADD, value=LevelTable([0, -8]), skills=['拦截机工厂']),
|
||||
SkillEffect(attribute=Hit(5), operation=Operation.ADD, value=LevelTable([0, 1]), skills=['拦截机工厂']),
|
||||
]
|
||||
|
||||
|
||||
# 斗志之歌
|
||||
@@ -1458,7 +1503,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))),
|
||||
]
|
||||
|
||||
# 盖波加之拳
|
||||
# gunner_male/mechanic_male/51a08fd0c90f0a5276cd552047fac93d
|
||||
@@ -1648,7 +1697,12 @@ class Skill46(PassiveSkill):
|
||||
# 爆炸范围增加率 : {value3}%
|
||||
data3 = get_data(f'{prefix}/{uuid}', 3)
|
||||
|
||||
associate = [{"type":"*cdReduce","data": data1,"exceptSkills":['盖波加之拳', '超时空行军', 'GW-16 瓦尔·德斯坦']}, {"data": data2}]
|
||||
# 迁移前实现(保留对照):
|
||||
# associate = [{"type":"*cdReduce","data": data1,"exceptSkills":['盖波加之拳', '超时空行军', 'GW-16 瓦尔·德斯坦']}, {"data": data2}]
|
||||
associate = [
|
||||
SkillEffect(attribute=SkillAttribute.CD_REDUCE, value=1 - Percent(LevelTable(data1)), except_skills=['盖波加之拳', '超时空行军', 'GW-16 瓦尔·德斯坦']),
|
||||
SkillEffect(attribute=SkillAttribute.DAMAGE, value=1 + Percent(LevelTable(data2))),
|
||||
]
|
||||
|
||||
# TN-80终结者
|
||||
# gunner_male/mechanic_male/002cbdd9bfd0f0b970451ae8d48d029e
|
||||
@@ -1887,7 +1941,11 @@ class Skill51(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))),
|
||||
]
|
||||
|
||||
# GW-16瓦尔德斯坦
|
||||
# gunner_male/mechanic_male/515b442ffbf61a82371abb645c149a31
|
||||
|
||||
@@ -1,6 +1,14 @@
|
||||
# afdf3b989339de478e85b614d274d1ef
|
||||
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 = "gunner_male/ranger_male/cn/skillDetail"
|
||||
|
||||
|
||||
@@ -648,7 +656,11 @@ class Skill21(PassiveSkill):
|
||||
# 填装速度增加 : {value7}%
|
||||
data7 = get_data(f'{prefix}/{uuid}', 7)
|
||||
|
||||
associate = [{'type': '$*PAtkP', 'data': data0}]
|
||||
# 迁移前实现(保留对照):
|
||||
# associate = [{'type': '$*PAtkP', 'data': data0}]
|
||||
associate = [
|
||||
CharacterEffect(attribute=CharacterAttribute.P_ATK_P, value=1 + Percent(LevelTable(data0))),
|
||||
]
|
||||
|
||||
# 空中射击
|
||||
# gunner_male/ranger_male/bb34e8854a93fd250347a1c64119f7ab
|
||||
@@ -791,7 +803,11 @@ class Skill25(PassiveSkill):
|
||||
# [回旋踢]Y轴每秒移动距离 : {value6}px
|
||||
data6 = get_data(f'{prefix}/{uuid}', 6)
|
||||
|
||||
associate = [{'data': data2}]
|
||||
# 迁移前实现(保留对照):
|
||||
# associate = [{'data': data2}]
|
||||
associate = [
|
||||
SkillEffect(attribute=SkillAttribute.DAMAGE, value=1 + Percent(LevelTable(data2))),
|
||||
]
|
||||
# [学习卓尔不群后]
|
||||
# 可强制中断次数上限增加 : 1次
|
||||
|
||||
@@ -1276,7 +1292,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))),
|
||||
]
|
||||
|
||||
# 疯狂射击
|
||||
# gunner_male/ranger_male/ca75c965f20a150f99f54155a37400df
|
||||
@@ -1508,7 +1528,13 @@ class Skill42(PassiveSkill):
|
||||
# [溃灭回射]冷却时间减少率 : {value4}%
|
||||
data4 = get_data(f'{prefix}/{uuid}', 4)
|
||||
|
||||
associate = [{'data': data0, 'exceptSkills': ['溃灭射击']}, {'data': data1, 'skills': ['溃灭射击']}, {'data': data4, 'type': '*cdReduce', 'skills': ['溃灭回射']}] # noqa: E501
|
||||
# 迁移前实现(保留对照):
|
||||
# associate = [{'data': data0, 'exceptSkills': ['溃灭射击']}, {'data': data1, 'skills': ['溃灭射击']}, {'data': data4, 'type': '*cdReduce', 'skills': ['溃灭回射']}] # noqa: E501
|
||||
associate = [
|
||||
SkillEffect(attribute=SkillAttribute.DAMAGE, value=1 + Percent(LevelTable(data0)), except_skills=['溃灭射击']),
|
||||
SkillEffect(attribute=SkillAttribute.DAMAGE, value=1 + Percent(LevelTable(data1)), skills=['溃灭射击']),
|
||||
SkillEffect(attribute=SkillAttribute.CD_REDUCE, value=1 - Percent(LevelTable(data4)), skills=['溃灭回射']),
|
||||
]
|
||||
|
||||
# 抹杀
|
||||
# gunner_male/ranger_male/aa6dd52e1c925d87cdc0ca340056c543
|
||||
@@ -1612,7 +1638,11 @@ class Skill45(PassiveSkill):
|
||||
# 基本攻击力和转职技能攻击力增加率 : {value0}%
|
||||
data0 = get_data(f'{prefix}/{uuid}', 0)
|
||||
|
||||
associate = [{'data': data0}] # noqa: E501
|
||||
# 迁移前实现(保留对照):
|
||||
# associate = [{'data': data0}] # noqa: E501
|
||||
associate = [
|
||||
SkillEffect(attribute=SkillAttribute.DAMAGE, value=1 + Percent(LevelTable(data0))),
|
||||
]
|
||||
|
||||
# 爆燃突击
|
||||
# gunner_male/ranger_male/7a3fc9d473e8ffe21dd900ddf228a437
|
||||
|
||||
@@ -1,6 +1,14 @@
|
||||
#afdf3b989339de478e85b614d274d1ef
|
||||
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 = "gunner_male/spitfire_male/cn/skillDetail"
|
||||
|
||||
|
||||
@@ -765,9 +773,14 @@ class Skill24(PassiveSkill):
|
||||
data5 = get_data(f'{prefix}/{uuid}', 5)
|
||||
data6 = get_data(f'{prefix}/{uuid}', 6)
|
||||
|
||||
# 迁移前实现(保留对照):
|
||||
# associate = [
|
||||
# {'data': data0, 'skills': ['交叉射击', '聚合弹', '凝固汽油弹', '电磁弹 : 麦克斯韦']},
|
||||
# {'data': data1, 'skills': ['爆裂弹', '贯穿弹', '狙击手增援']}
|
||||
# ]
|
||||
associate = [
|
||||
{'data': data0, 'skills': ['交叉射击', '聚合弹', '凝固汽油弹', '电磁弹 : 麦克斯韦']},
|
||||
{'data': data1, 'skills': ['爆裂弹', '贯穿弹', '狙击手增援']}
|
||||
SkillEffect(attribute=SkillAttribute.DAMAGE, value=1 + Percent(LevelTable(data0)), skills=['交叉射击', '聚合弹', '凝固汽油弹', '电磁弹 : 麦克斯韦']),
|
||||
SkillEffect(attribute=SkillAttribute.DAMAGE, value=1 + Percent(LevelTable(data1)), skills=['爆裂弹', '贯穿弹', '狙击手增援']),
|
||||
]
|
||||
|
||||
# 超负荷装填
|
||||
@@ -823,7 +836,12 @@ class Skill26(PassiveSkill):
|
||||
# 暴击率增加 : {value5}%
|
||||
data5 = get_data(f'{prefix}/{uuid}', 5)
|
||||
|
||||
associate = [{'data': data3},{'data': data4}]
|
||||
# 迁移前实现(保留对照):
|
||||
# associate = [{'data': data3},{'data': data4}]
|
||||
associate = [
|
||||
SkillEffect(attribute=SkillAttribute.DAMAGE, value=1 + Percent(LevelTable(data3))),
|
||||
SkillEffect(attribute=SkillAttribute.DAMAGE, value=1 + Percent(LevelTable(data4))),
|
||||
]
|
||||
|
||||
# 手雷精通
|
||||
# gunner_male/spitfire_male/0113c8b1306ca76d208f83f2d093dd62
|
||||
@@ -843,8 +861,12 @@ class Skill27(PassiveSkill):
|
||||
|
||||
# 攻击力增加率 : {value0}%
|
||||
data0 = get_data(f'{prefix}/{uuid}', 0)
|
||||
# 迁移前实现(保留对照):
|
||||
# associate = [
|
||||
# {'type': '*skillDamage', 'data': data0, 'skills': ['G-14手雷','G-35L感电手雷','G-18C冰冻手雷']},
|
||||
# ]
|
||||
associate = [
|
||||
{'type': '*skillDamage', 'data': data0, 'skills': ['G-14手雷','G-35L感电手雷','G-18C冰冻手雷']},
|
||||
SkillEffect(attribute=SkillAttribute.DAMAGE, value=1 + Percent(LevelTable(data0)), skills=['G-14手雷', 'G-35L感电手雷', 'G-18C冰冻手雷']),
|
||||
]
|
||||
|
||||
# 暴击
|
||||
@@ -898,10 +920,16 @@ class Skill29(PassiveSkill):
|
||||
# 填装速度增加 : {value4}%
|
||||
data4 = get_data(f'{prefix}/{uuid}', 4)
|
||||
|
||||
# 迁移前实现(保留对照):
|
||||
# associate = [
|
||||
# {'data': data0, 'type': '$*PAtkP'},
|
||||
# {'data': data0, 'type': '$*PAtkM'},
|
||||
# {'data': data1, 'type': '*cdReduce', 'exceptSkills': ['EMP磁暴','决战之日','终解·制空霸权']}
|
||||
# ]
|
||||
associate = [
|
||||
{'data': data0, 'type': '$*PAtkP'},
|
||||
{'data': data0, 'type': '$*PAtkM'},
|
||||
{'data': data1, 'type': '*cdReduce', 'exceptSkills': ['EMP磁暴','决战之日','终解·制空霸权']}
|
||||
CharacterEffect(attribute=CharacterAttribute.P_ATK_P, value=1 + Percent(LevelTable(data0))),
|
||||
CharacterEffect(attribute=CharacterAttribute.P_ATK_M, value=1 + Percent(LevelTable(data0))),
|
||||
SkillEffect(attribute=SkillAttribute.CD_REDUCE, value=1 - Percent(LevelTable(data1)), except_skills=['EMP磁暴', '决战之日', '终解·制空霸权']),
|
||||
]
|
||||
|
||||
# M18阔剑地雷
|
||||
@@ -1411,8 +1439,13 @@ class Skill41(PassiveSkill):
|
||||
# 同时发射时第二发子弹攻击力比率 : {value1}%
|
||||
data1 = get_data(f'{prefix}/{uuid}', 1)
|
||||
|
||||
# 迁移前实现(保留对照):
|
||||
# associate = [
|
||||
# {'data': data0},{'data': data1,'skills':["爆裂弹","贯穿弹"]},
|
||||
# ]
|
||||
associate = [
|
||||
{'data': data0},{'data': data1,'skills':["爆裂弹","贯穿弹"]},
|
||||
SkillEffect(attribute=SkillAttribute.DAMAGE, value=1 + Percent(LevelTable(data0))),
|
||||
SkillEffect(attribute=SkillAttribute.DAMAGE, value=1 + Percent(LevelTable(data1)), skills=['爆裂弹', '贯穿弹']),
|
||||
]
|
||||
|
||||
# 黑玫瑰特种战队
|
||||
@@ -1642,7 +1675,11 @@ class Skill46(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))),
|
||||
]
|
||||
|
||||
# G-38智能手雷
|
||||
# gunner_male/spitfire_male/0c3a468aee1f7ce06bf91eb3319518c1
|
||||
@@ -1764,8 +1801,13 @@ class Skill49(PassiveSkill):
|
||||
# [交叉射击]技能攻击力增加率 : {value1}%
|
||||
data1 = get_data(f'{prefix}/{uuid}', 1)
|
||||
|
||||
# 迁移前实现(保留对照):
|
||||
# associate = [
|
||||
# {"data": data0},{'data': data1,'skills':["交叉射击"]},
|
||||
# ]
|
||||
associate = [
|
||||
{"data": data0},{'data': data1,'skills':["交叉射击"]},
|
||||
SkillEffect(attribute=SkillAttribute.DAMAGE, value=1 + Percent(LevelTable(data0))),
|
||||
SkillEffect(attribute=SkillAttribute.DAMAGE, value=1 + Percent(LevelTable(data1)), skills=['交叉射击']),
|
||||
]
|
||||
# [交叉射击]冷却时间 : 10秒
|
||||
# [M18阔剑地雷]特殊地雷设置范围 : 前方350px
|
||||
|
||||
Reference in New Issue
Block a user