feat:优化职业技能关联实现
This commit is contained in:
@@ -1,6 +1,15 @@
|
||||
# 986c2b3d72ee0e4a0b7fcfbe786d4e02
|
||||
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 = "gunblader/agent/cn/skillDetail"
|
||||
|
||||
@@ -120,7 +129,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=['斩射']),
|
||||
]
|
||||
|
||||
# 受身蹲伏
|
||||
# gunblader/agent/ce26c6b69d02a440a81b552bec94f03b
|
||||
@@ -511,7 +524,11 @@ class Skill16(PassiveSkill):
|
||||
# 暴击伤害增加率 : {value2}%
|
||||
data2 = get_data(f'{prefix}/{uuid}', 2)
|
||||
|
||||
associate = [{'type': '*skillDamage', 'data': data2}]
|
||||
# 迁移前实现(保留对照):
|
||||
# associate = [{'type': '*skillDamage', 'data': data2}]
|
||||
associate = [
|
||||
SkillEffect(attribute=SkillAttribute.DAMAGE, value=1 + Percent(LevelTable(data2))),
|
||||
]
|
||||
|
||||
# 源能护盾
|
||||
# gunblader/agent/0232c151ef3731c2dede51931a374723
|
||||
@@ -689,7 +706,11 @@ class Skill21(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))),
|
||||
]
|
||||
|
||||
# 暴击
|
||||
# gunblader/agent/fc1262c19f3d0477ee8eda47b8db8696
|
||||
@@ -1108,7 +1129,11 @@ class Skill31(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))),
|
||||
]
|
||||
|
||||
# 毁灭绝击
|
||||
# gunblader/agent/01c3a2fb793d293a25ed8dc7a0d70c1a
|
||||
@@ -1287,9 +1312,14 @@ class Skill35(PassiveSkill):
|
||||
# 迅步突袭冷却时间缩短 : {value2}秒
|
||||
data2 = get_data(f'{prefix}/{uuid}', 2)
|
||||
|
||||
# 迁移前实现(保留对照):
|
||||
# associate = [
|
||||
# {'type': '*skillDamage', 'data': data1},
|
||||
# {'type': '+cd', 'data': [0] + [-1] * maxLv, 'skills': ['迅步突袭'], 'ratio': 1},
|
||||
# ]
|
||||
associate = [
|
||||
{'type': '*skillDamage', '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=['迅步突袭']),
|
||||
]
|
||||
|
||||
# 月光镇魂曲
|
||||
@@ -1481,7 +1511,11 @@ class Skill39(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))),
|
||||
]
|
||||
|
||||
# 夜影迷踪
|
||||
# gunblader/agent/c5a2956d8ed3af1746ed2f76ca971a09
|
||||
|
||||
@@ -1,6 +1,19 @@
|
||||
# 986c2b3d72ee0e4a0b7fcfbe786d4e02
|
||||
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,
|
||||
Hit,
|
||||
LevelTable,
|
||||
Operation,
|
||||
Percent,
|
||||
Power,
|
||||
Read,
|
||||
SkillAttribute,
|
||||
SkillEffect,
|
||||
)
|
||||
|
||||
prefix = "gunblader/hitman/cn/skillDetail"
|
||||
|
||||
@@ -524,9 +537,14 @@ class Skill16(PassiveSkill):
|
||||
# 命中率增加 : {value2}%
|
||||
data2 = get_data(f'{prefix}/{uuid}', 2)
|
||||
|
||||
# 迁移前实现(保留对照):
|
||||
# associate = [
|
||||
# {'type': '$*PAtkP', 'data': data0},
|
||||
# {'type': '*cdReduce', 'data': data2, 'exceptSkills': ['电光飞掠', '集结·暮光之翼', '暮光密令 : 黎明决战']},
|
||||
# ]
|
||||
associate = [
|
||||
{'type': '$*PAtkP', 'data': data0},
|
||||
{'type': '*cdReduce', 'data': data2, 'exceptSkills': ['电光飞掠', '集结·暮光之翼', '暮光密令 : 黎明决战']},
|
||||
CharacterEffect(attribute=CharacterAttribute.P_ATK_P, value=1 + Percent(LevelTable(data0))),
|
||||
SkillEffect(attribute=SkillAttribute.CD_REDUCE, value=1 - Percent(LevelTable(data2)), except_skills=['电光飞掠', '集结·暮光之翼', '暮光密令 : 黎明决战']),
|
||||
]
|
||||
|
||||
# 捷影步
|
||||
@@ -778,7 +796,11 @@ class Skill23(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))),
|
||||
]
|
||||
|
||||
# 潜行射击
|
||||
# gunblader/hitman/6e33d47e6622ce03b6defdd912140270
|
||||
@@ -1157,7 +1179,11 @@ class Skill31(PassiveSkill):
|
||||
# 基本攻击力和技能攻击力增加率 : {value0}%
|
||||
data0 = get_data(f'{prefix}/{uuid}', 0)
|
||||
|
||||
associate = [{'data': data0, 'type': '*skillDamage'}]
|
||||
# 迁移前实现(保留对照):
|
||||
# associate = [{'data': data0, 'type': '*skillDamage'}]
|
||||
associate = [
|
||||
SkillEffect(attribute=SkillAttribute.DAMAGE, value=1 + Percent(LevelTable(data0))),
|
||||
]
|
||||
|
||||
# 电光飞掠
|
||||
# gunblader/hitman/669f1428193f61f9d92c743b72438c4d
|
||||
@@ -1335,10 +1361,14 @@ class Skill34(ActiveSkill):
|
||||
self.cd = 25
|
||||
self.skillRation *= 0.5
|
||||
|
||||
def effect(self, old, new):
|
||||
if self.vp == 2:
|
||||
self.associate = [{'type': '*skillRation', 'data': [0] + [-50] * self.maxLv, 'skills': ['潜行射击']}]
|
||||
return super().effect(old, new)
|
||||
# 迁移前实现(保留对照):
|
||||
# def effect(self, old, new):
|
||||
# if self.vp == 2:
|
||||
# self.associate = [{'type': '*skillRation', 'data': [0] + [-50] * self.maxLv, 'skills': ['潜行射击']}]
|
||||
# return super().effect(old, new)
|
||||
associate = [
|
||||
SkillEffect(attribute=SkillAttribute.PANEL_RATIO, value=1 + Percent(LevelTable([0] + [-50] * maxLv)), skills=['潜行射击'], when=Equals(Read(SkillAttribute.VP), 2)),
|
||||
]
|
||||
|
||||
# B.C精锐特训
|
||||
# gunblader/hitman/38612d8f2561edc2eb68d5057a837bfa
|
||||
@@ -1366,7 +1396,11 @@ class Skill35(PassiveSkill):
|
||||
# 基本攻击力和技能攻击力增加率 : {value0}%
|
||||
data0 = get_data(f'{prefix}/{uuid}', 0)
|
||||
|
||||
associate = [{'data': data0, 'type': '*skillDamage'}]
|
||||
# 迁移前实现(保留对照):
|
||||
# associate = [{'data': data0, 'type': '*skillDamage'}]
|
||||
associate = [
|
||||
SkillEffect(attribute=SkillAttribute.DAMAGE, value=1 + Percent(LevelTable(data0))),
|
||||
]
|
||||
|
||||
# 致命焰火
|
||||
# gunblader/hitman/6a1d1f08a6572be420bb3a256c44c015
|
||||
@@ -1453,10 +1487,14 @@ class Skill36(ActiveSkill):
|
||||
self.cd = 20
|
||||
self.skillRation *= 0.5
|
||||
|
||||
def effect(self, old, new):
|
||||
if self.vp == 2:
|
||||
self.associate = [{'type': '*skillRation', 'data': [0] + [-50] * self.maxLv, 'skills': ['潜行射击']}]
|
||||
return super().effect(old, new)
|
||||
# 迁移前实现(保留对照):
|
||||
# def effect(self, old, new):
|
||||
# if self.vp == 2:
|
||||
# self.associate = [{'type': '*skillRation', 'data': [0] + [-50] * self.maxLv, 'skills': ['潜行射击']}]
|
||||
# return super().effect(old, new)
|
||||
associate = [
|
||||
SkillEffect(attribute=SkillAttribute.PANEL_RATIO, value=1 + Percent(LevelTable([0] + [-50] * maxLv)), skills=['潜行射击'], when=Equals(Read(SkillAttribute.VP), 2)),
|
||||
]
|
||||
|
||||
# 碧波瞬斩
|
||||
# gunblader/hitman/a2d943797daca862a6f321aca6ac9bfa
|
||||
@@ -1592,7 +1630,13 @@ class Skill39(PassiveSkill):
|
||||
# [轮盘连射]罗朗斩击攻击力 : [轮盘连射]攻击力总和的{value3}%
|
||||
data3 = get_data(f'{prefix}/{uuid}', 3)
|
||||
|
||||
associate = [{'data': data0, 'type': '*skillDamage'}, {'data': data1, 'type': '=hit2', 'skills': ['轮盘连射'], 'ratio': 1}, {'data': [i - 100 if i > 0 else 0 for i in data2], 'type': '*power2', 'skills': ['轮盘连射']}]
|
||||
# 迁移前实现(保留对照):
|
||||
# associate = [{'data': data0, 'type': '*skillDamage'}, {'data': data1, 'type': '=hit2', 'skills': ['轮盘连射'], 'ratio': 1}, {'data': [i - 100 if i > 0 else 0 for i in data2], 'type': '*power2', 'skills': ['轮盘连射']}]
|
||||
associate = [
|
||||
SkillEffect(attribute=SkillAttribute.DAMAGE, value=1 + Percent(LevelTable(data0))),
|
||||
SkillEffect(attribute=Hit(2), operation=Operation.ASSIGN, value=LevelTable(data1), skills=['轮盘连射']),
|
||||
SkillEffect(attribute=Power(2), value=1 + Percent(LevelTable([i - 100 if i > 0 else 0 for i in data2])), skills=['轮盘连射']),
|
||||
]
|
||||
|
||||
# 燃情协战
|
||||
# gunblader/hitman/e5c09f9132a48dc1d695968592cc5878
|
||||
|
||||
@@ -1,6 +1,14 @@
|
||||
# 986c2b3d72ee0e4a0b7fcfbe786d4e02
|
||||
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 = "gunblader/specialist/cn/skillDetail"
|
||||
|
||||
@@ -629,8 +637,12 @@ class Skill18(PassiveSkill):
|
||||
# 攻击速度增加 : {value2}%
|
||||
data2 = get_data(f'{prefix}/{uuid}', 2)
|
||||
|
||||
# 迁移前实现(保留对照):
|
||||
# associate = [
|
||||
# {'type': '$*PAtkM', 'data': data0},
|
||||
# ]
|
||||
associate = [
|
||||
{'type': '$*PAtkM', 'data': data0},
|
||||
CharacterEffect(attribute=CharacterAttribute.P_ATK_M, value=1 + Percent(LevelTable(data0))),
|
||||
]
|
||||
|
||||
# 镭射源能枪
|
||||
@@ -756,7 +768,11 @@ class Skill22(PassiveSkill):
|
||||
# 基本攻击力和技能攻击力增加率 : {value0}%
|
||||
data0 = get_data(f'{prefix}/{uuid}', 0)
|
||||
|
||||
associate = [{'data': data0, 'type': '*skillDamage'}]
|
||||
# 迁移前实现(保留对照):
|
||||
# associate = [{'data': data0, 'type': '*skillDamage'}]
|
||||
associate = [
|
||||
SkillEffect(attribute=SkillAttribute.DAMAGE, value=1 + Percent(LevelTable(data0))),
|
||||
]
|
||||
|
||||
# 源能波刃
|
||||
# gunblader/specialist/8572675ec6a1f50b6eff6a867376c2de
|
||||
@@ -1190,7 +1206,11 @@ class Skill31(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))),
|
||||
]
|
||||
|
||||
# 超能场域
|
||||
# gunblader/specialist/fc458e449ee00b01dbf88d09aae65462
|
||||
@@ -1406,7 +1426,11 @@ class Skill35(PassiveSkill):
|
||||
# [源能应用]物理/魔法防御力额外增加 : {value3}
|
||||
data3 = get_data(f'{prefix}/{uuid}', 3)
|
||||
|
||||
associate = [{'data': data0, 'type': '*skillDamage'}]
|
||||
# 迁移前实现(保留对照):
|
||||
# associate = [{'data': data0, 'type': '*skillDamage'}]
|
||||
associate = [
|
||||
SkillEffect(attribute=SkillAttribute.DAMAGE, value=1 + Percent(LevelTable(data0))),
|
||||
]
|
||||
|
||||
# 绝望圆舞
|
||||
# gunblader/specialist/2c9d9a36c8401bddff6cdb80fab8dc24
|
||||
@@ -1606,7 +1630,11 @@ class Skill39(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))),
|
||||
]
|
||||
|
||||
# 临界源能弹
|
||||
# gunblader/specialist/d429147c372b549c3dadcabcba50787f
|
||||
|
||||
@@ -1,6 +1,16 @@
|
||||
# 986c2b3d72ee0e4a0b7fcfbe786d4e02
|
||||
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,
|
||||
Power,
|
||||
SkillAttribute,
|
||||
SkillEffect,
|
||||
)
|
||||
|
||||
prefix = "gunblader/trouble_shooter/cn/skillDetail"
|
||||
|
||||
@@ -273,8 +283,12 @@ class Skill8(ActiveSkill):
|
||||
# 爆炸范围比率 : {value3}%
|
||||
data3 = get_data(f'{prefix}/{uuid}', 3)
|
||||
|
||||
# 迁移前实现(保留对照):
|
||||
# associate = [
|
||||
# {'data': data1, 'type': '+power0', 'skills': ['G型手榴弹']},
|
||||
# ]
|
||||
associate = [
|
||||
{'data': data1, 'type': '+power0', 'skills': ['G型手榴弹']},
|
||||
SkillEffect(attribute=Power(0), operation=Operation.ADD, value=Percent(LevelTable(data1)), skills=['G型手榴弹']),
|
||||
]
|
||||
|
||||
# 瞬击
|
||||
@@ -602,7 +616,11 @@ class Skill18(PassiveSkill):
|
||||
# 僵直度增加 : {value3}%
|
||||
data3 = get_data(f'{prefix}/{uuid}', 3)
|
||||
|
||||
associate = [{'type': '$*PAtkP', 'data': data0}]
|
||||
# 迁移前实现(保留对照):
|
||||
# associate = [{'type': '$*PAtkP', 'data': data0}]
|
||||
associate = [
|
||||
CharacterEffect(attribute=CharacterAttribute.P_ATK_P, value=1 + Percent(LevelTable(data0))),
|
||||
]
|
||||
|
||||
# 爆烈斩击
|
||||
# gunblader/trouble_shooter/547ab2b2bd860d3e37355a9cfbc1077c
|
||||
@@ -793,7 +811,11 @@ class Skill24(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))),
|
||||
]
|
||||
|
||||
# G型火焰爆弹
|
||||
# gunblader/trouble_shooter/9bff7f2559e003766fee2853dca00631
|
||||
@@ -1107,7 +1129,11 @@ class Skill30(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))),
|
||||
]
|
||||
|
||||
# G型烬灭榴弹
|
||||
# gunblader/trouble_shooter/1dad88963abdc96b091fcab185a8820d
|
||||
@@ -1318,7 +1344,11 @@ class Skill34(PassiveSkill):
|
||||
# 基本攻击力和技能攻击力增加率 : {value0}%
|
||||
data0 = get_data(f'{prefix}/{uuid}', 0)
|
||||
|
||||
associate = [{'data': data0, 'type': '*skillDamage'}]
|
||||
# 迁移前实现(保留对照):
|
||||
# associate = [{'data': data0, 'type': '*skillDamage'}]
|
||||
associate = [
|
||||
SkillEffect(attribute=SkillAttribute.DAMAGE, value=1 + Percent(LevelTable(data0))),
|
||||
]
|
||||
|
||||
# 爆弹华尔兹
|
||||
# gunblader/trouble_shooter/762c4e6d030eaf0abbfe1fec2b298574
|
||||
@@ -1512,9 +1542,14 @@ class Skill38(PassiveSkill):
|
||||
# [广域散射]射击范围增加率 : {value1}%
|
||||
data1 = get_data(f'{prefix}/{uuid}', 1)
|
||||
|
||||
# 迁移前实现(保留对照):
|
||||
# associate = [
|
||||
# {'data': data0, 'type': '*skillDamage'},
|
||||
# {'type': '+cd', 'data': [0] + [-1] * maxLv, 'skills': ['矫捷翻滚'], 'ratio': 1},
|
||||
# ]
|
||||
associate = [
|
||||
{'data': data0, 'type': '*skillDamage'},
|
||||
{'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=['矫捷翻滚']),
|
||||
]
|
||||
|
||||
# 铁腕爆弹
|
||||
|
||||
Reference in New Issue
Block a user