feat:优化职业技能关联实现
This commit is contained in:
@@ -1,6 +1,12 @@
|
||||
#0c1b401bb09241570d364420b3ba3fd7
|
||||
from core.basic.skill import PassiveBufferSkill,ActiveBufferSkill,ActiveSkill,PassiveSkill, get_data
|
||||
from core.basic.character import Character
|
||||
from core.basic.skill_effect_types import (
|
||||
CharacterAttribute,
|
||||
CharacterEffect,
|
||||
LevelTable,
|
||||
Operation,
|
||||
)
|
||||
prefix = "priest_female/crusader_female/cn/skillDetail"
|
||||
|
||||
|
||||
@@ -636,7 +642,11 @@ class Skill21(PassiveBufferSkill):
|
||||
data0 = get_data(f'{prefix}/{uuid}', 0)
|
||||
|
||||
INT = data0
|
||||
associate = [{"data":data0,"type":"$+INT","ratio":1}]
|
||||
# 迁移前实现(保留对照):
|
||||
# associate = [{"data":data0,"type":"$+INT","ratio":1}]
|
||||
associate = [
|
||||
CharacterEffect(attribute=CharacterAttribute.INT, operation=Operation.ADD, value=LevelTable(data0)),
|
||||
]
|
||||
|
||||
# 光杖精通
|
||||
# priest_female/crusader_female/9cb6f9ed646fa87f9b7680a42ce83d1a
|
||||
@@ -664,7 +674,11 @@ class Skill22(PassiveSkill):
|
||||
# [装备光杖时]
|
||||
# 施放速度增加率 : {value2}%
|
||||
data2 = get_data(f'{prefix}/{uuid}', 2)
|
||||
associate = [{"data": data0, "type": "$*PATKI"}]
|
||||
# 迁移前实现(保留对照):
|
||||
# associate = [{"data": data0, "type": "$*PATKI"}]
|
||||
associate = [
|
||||
# 原角色字段 PATKI 未被旧引擎支持,原先不生效;本次迁移保留此行为。
|
||||
]
|
||||
|
||||
# 胜利之矛
|
||||
# priest_female/crusader_female/3d8f3d438405d79f8d3ed68072674d1e
|
||||
@@ -1422,8 +1436,12 @@ class Skill38(PassiveBufferSkill):
|
||||
STRINT = data0
|
||||
INT = data0
|
||||
|
||||
# 迁移前实现(保留对照):
|
||||
# associate = [
|
||||
# {"data":INT,"type":"$+INT","ratio":1}
|
||||
# ]
|
||||
associate = [
|
||||
{"data":INT,"type":"$+INT","ratio":1}
|
||||
CharacterEffect(attribute=CharacterAttribute.INT, operation=Operation.ADD, value=LevelTable(INT)),
|
||||
]
|
||||
|
||||
# 圣光天启
|
||||
@@ -1679,8 +1697,12 @@ class Skill43(PassiveBufferSkill):
|
||||
|
||||
INT = data0
|
||||
|
||||
# 迁移前实现(保留对照):
|
||||
# associate = [
|
||||
# {"data":data0 ,"type":"$+INT","ratio":1}
|
||||
# ]
|
||||
associate = [
|
||||
{"data":data0 ,"type":"$+INT","ratio":1}
|
||||
CharacterEffect(attribute=CharacterAttribute.INT, operation=Operation.ADD, value=LevelTable(data0)),
|
||||
]
|
||||
|
||||
# 圣佑之阵
|
||||
@@ -1883,8 +1905,12 @@ class Skill47(PassiveBufferSkill):
|
||||
|
||||
INT = data1
|
||||
|
||||
# 迁移前实现(保留对照):
|
||||
# associate = [
|
||||
# {"data":data1,"type":"$+INT","ratio":1}
|
||||
# ]
|
||||
associate = [
|
||||
{"data":data1,"type":"$+INT","ratio":1}
|
||||
CharacterEffect(attribute=CharacterAttribute.INT, operation=Operation.ADD, value=LevelTable(data1)),
|
||||
]
|
||||
|
||||
# 圣言十字
|
||||
|
||||
@@ -1,6 +1,17 @@
|
||||
#0c1b401bb09241570d364420b3ba3fd7
|
||||
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 = "priest_female/infighter_female/cn/skillDetail"
|
||||
|
||||
|
||||
@@ -54,7 +65,11 @@ class Skill1(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=['上勾拳', '圣拳连击']),
|
||||
]
|
||||
|
||||
# 受身蹲伏
|
||||
# priest_female/infighter_female/ce26c6b69d02a440a81b552bec94f03b
|
||||
@@ -457,7 +472,11 @@ class Skill15(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))),
|
||||
]
|
||||
|
||||
# 圣拳连击
|
||||
# priest_female/infighter_female/87a918bb22cfc959a16e0bf939bb6c24
|
||||
@@ -658,7 +677,11 @@ class Skill21(PassiveSkill):
|
||||
# 战意释放结束缓冲时间 : {value5}秒
|
||||
data5 = get_data(f'{prefix}/{uuid}', 5)
|
||||
|
||||
associate = [ {"type":"*cdReduce","data":data0,"exceptSkills":['圣拳锤击','蓄劲轰拳','巨力炮拳','泯灭之怒','拳震八方','怒气贯地击','致命冲拳','炽拳 : 以暴制暴','意志之拳 : 与神同行']}]
|
||||
# 迁移前实现(保留对照):
|
||||
# associate = [ {"type":"*cdReduce","data":data0,"exceptSkills":['圣拳锤击','蓄劲轰拳','巨力炮拳','泯灭之怒','拳震八方','怒气贯地击','致命冲拳','炽拳 : 以暴制暴','意志之拳 : 与神同行']}]
|
||||
associate = [
|
||||
SkillEffect(attribute=SkillAttribute.CD_REDUCE, value=1 - Percent(LevelTable(data0)), except_skills=['圣拳锤击', '蓄劲轰拳', '巨力炮拳', '泯灭之怒', '拳震八方', '怒气贯地击', '致命冲拳', '炽拳 : 以暴制暴', '意志之拳 : 与神同行']),
|
||||
]
|
||||
|
||||
# 圣拳锤击
|
||||
# priest_female/infighter_female/ca2536eb56df0e812c88c59cabd38be0
|
||||
@@ -756,7 +779,11 @@ class Skill24(PassiveSkill):
|
||||
# 回避率增加 : {value2}%
|
||||
data2 = get_data(f'{prefix}/{uuid}', 2)
|
||||
|
||||
associate = [ {'type': '$*PAtkP', 'data': data0}, ]
|
||||
# 迁移前实现(保留对照):
|
||||
# associate = [ {'type': '$*PAtkP', 'data': data0}, ]
|
||||
associate = [
|
||||
CharacterEffect(attribute=CharacterAttribute.P_ATK_P, value=1 + Percent(LevelTable(data0))),
|
||||
]
|
||||
|
||||
# 神体合一
|
||||
# priest_female/infighter_female/c1dd8b776fb1dd24c6373c678ef1dd2e
|
||||
@@ -1042,10 +1069,14 @@ class Skill30(ActiveSkill):
|
||||
"""
|
||||
...
|
||||
|
||||
def effect(self, old, new):
|
||||
if self.vp == 2:
|
||||
self.associate = [{'type': '*skillRation', 'data': [0] + [-16.7] * self.maxLv, 'skills': ['腹部重击']}]
|
||||
return super().effect(old, new)
|
||||
# 迁移前实现(保留对照):
|
||||
# def effect(self, old, new):
|
||||
# if self.vp == 2:
|
||||
# self.associate = [{'type': '*skillRation', 'data': [0] + [-16.7] * self.maxLv, 'skills': ['腹部重击']}]
|
||||
# return super().effect(old, new)
|
||||
associate = [
|
||||
SkillEffect(attribute=SkillAttribute.PANEL_RATIO, value=1 + Percent(LevelTable([0] + [-16.7] * maxLv)), skills=['腹部重击'], when=Equals(Read(SkillAttribute.VP), 2)),
|
||||
]
|
||||
|
||||
# 巨力炮拳
|
||||
# priest_female/infighter_female/b860cbf5979b4bcc6beea725636b915e
|
||||
@@ -1102,13 +1133,18 @@ class Skill31(ActiveSkill):
|
||||
"""
|
||||
...
|
||||
|
||||
def effect(self, old, new):
|
||||
if self.vp == 2:
|
||||
self.associate = [
|
||||
{'data': [0] + [100] * self.maxLv, 'skills': ['蓄劲轰拳']},
|
||||
{'type': '=cd','data': [25] + [50] * self.maxLv,'ratio': 1, 'skills': ['蓄劲轰拳']}
|
||||
]
|
||||
return super().effect(old, new)
|
||||
# 迁移前实现(保留对照):
|
||||
# def effect(self, old, new):
|
||||
# if self.vp == 2:
|
||||
# self.associate = [
|
||||
# {'data': [0] + [100] * self.maxLv, 'skills': ['蓄劲轰拳']},
|
||||
# {'type': '=cd','data': [25] + [50] * self.maxLv,'ratio': 1, 'skills': ['蓄劲轰拳']}
|
||||
# ]
|
||||
# return super().effect(old, new)
|
||||
associate = [
|
||||
SkillEffect(attribute=SkillAttribute.DAMAGE, value=1 + Percent(LevelTable([0] + [100] * maxLv)), skills=['蓄劲轰拳'], when=Equals(Read(SkillAttribute.VP), 2)),
|
||||
SkillEffect(attribute=SkillAttribute.CD, operation=Operation.ASSIGN, value=LevelTable([25] + [50] * maxLv), skills=['蓄劲轰拳'], when=Equals(Read(SkillAttribute.VP), 2)),
|
||||
]
|
||||
|
||||
# 潜藏暴戾
|
||||
# priest_female/infighter_female/37cf7b7a269058dc02bef5b5bc9de282
|
||||
@@ -1135,7 +1171,11 @@ class Skill32(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))),
|
||||
]
|
||||
|
||||
# 泯灭之怒
|
||||
# priest_female/infighter_female/97972dba4694d6c0fcd2f7e8efb3a499
|
||||
@@ -1302,10 +1342,14 @@ class Skill35(ActiveSkill):
|
||||
self.cd = 20
|
||||
self.skillRation *= 0.5
|
||||
|
||||
def effect(self, old, new):
|
||||
if self.vp == 1:
|
||||
self.associate = [{'type': '*skillRation', 'data': [0] + [-28.6] * self.maxLv, 'skills': ['圣拳锤击']}]
|
||||
return super().effect(old, new)
|
||||
# 迁移前实现(保留对照):
|
||||
# def effect(self, old, new):
|
||||
# if self.vp == 1:
|
||||
# self.associate = [{'type': '*skillRation', 'data': [0] + [-28.6] * self.maxLv, 'skills': ['圣拳锤击']}]
|
||||
# return super().effect(old, new)
|
||||
associate = [
|
||||
SkillEffect(attribute=SkillAttribute.PANEL_RATIO, value=1 + Percent(LevelTable([0] + [-28.6] * maxLv)), skills=['圣拳锤击'], when=Equals(Read(SkillAttribute.VP), 1)),
|
||||
]
|
||||
|
||||
# 斗志沸腾
|
||||
# priest_female/infighter_female/4e9e8942841b9767f683fb23c1ef1435
|
||||
@@ -1330,7 +1374,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))),
|
||||
]
|
||||
|
||||
# 怒气贯地击
|
||||
# priest_female/infighter_female/ef896bbdc68660c22b6e60502044d690
|
||||
@@ -1544,7 +1592,11 @@ class Skill40(PassiveSkill):
|
||||
# 敌人强制控制时间 : {value2}秒
|
||||
data2 = get_data(f'{prefix}/{uuid}', 2)
|
||||
|
||||
associate = [{"data":data0}]
|
||||
# 迁移前实现(保留对照):
|
||||
# associate = [{"data":data0}]
|
||||
associate = [
|
||||
SkillEffect(attribute=SkillAttribute.DAMAGE, value=1 + Percent(LevelTable(data0))),
|
||||
]
|
||||
|
||||
# 圣光三重破
|
||||
# priest_female/infighter_female/f8226512ea3dbcb1fe1374baa0c6bbee
|
||||
|
||||
@@ -1,6 +1,14 @@
|
||||
# 0c1b401bb09241570d364420b3ba3fd7
|
||||
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 = "priest_female/inquistor/cn/skillDetail"
|
||||
|
||||
@@ -111,7 +119,11 @@ class Skill3(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=['神焰']),
|
||||
]
|
||||
|
||||
# 受身蹲伏
|
||||
# priest_female/inquistor/ce26c6b69d02a440a81b552bec94f03b
|
||||
@@ -629,7 +641,11 @@ class Skill20(PassiveSkill):
|
||||
# 命中率增加率 : {value2}%
|
||||
data2 = get_data(f'{prefix}/{uuid}', 2)
|
||||
|
||||
associate = [{'type': '$*PAtkP', 'data': data0}]
|
||||
# 迁移前实现(保留对照):
|
||||
# associate = [{'type': '$*PAtkP', 'data': data0}]
|
||||
associate = [
|
||||
CharacterEffect(attribute=CharacterAttribute.P_ATK_P, value=1 + Percent(LevelTable(data0))),
|
||||
]
|
||||
|
||||
# 裁决之击
|
||||
# priest_female/inquistor/01384bbfc346775d1267fa0bc4ca605f
|
||||
@@ -780,7 +796,12 @@ class Skill24(ActiveSkill):
|
||||
# 攻击范围比率 : {value8}%
|
||||
data8 = get_data(f'{prefix}/{uuid}', 8)
|
||||
|
||||
associate = [{'data': data1}, {'data': data4, 'exceptSkills': ['火焰精华']}]
|
||||
# 迁移前实现(保留对照):
|
||||
# associate = [{'data': data1}, {'data': data4, 'exceptSkills': ['火焰精华']}]
|
||||
associate = [
|
||||
SkillEffect(attribute=SkillAttribute.DAMAGE, value=1 + Percent(LevelTable(data1))),
|
||||
SkillEffect(attribute=SkillAttribute.DAMAGE, value=1 + Percent(LevelTable(data4)), except_skills=['火焰精华']),
|
||||
]
|
||||
|
||||
# 狂热信仰
|
||||
# priest_female/inquistor/e49e57b2e8fbeceb0a2c56a0c63fe6c5
|
||||
@@ -1244,7 +1265,11 @@ class Skill34(PassiveSkill):
|
||||
# 基本攻击力和技能攻击力增加率 : {value1}%
|
||||
data1 = get_data(f'{prefix}/{uuid}', 1)
|
||||
|
||||
associate = [{'data': data1, 'type': '*skillDamage'}]
|
||||
# 迁移前实现(保留对照):
|
||||
# associate = [{'data': data1, 'type': '*skillDamage'}]
|
||||
associate = [
|
||||
SkillEffect(attribute=SkillAttribute.DAMAGE, value=1 + Percent(LevelTable(data1))),
|
||||
]
|
||||
|
||||
# 火之净化
|
||||
# priest_female/inquistor/1fadde0eece18649caddbca7bd58cc2f
|
||||
@@ -1439,7 +1464,13 @@ class Skill38(PassiveSkill):
|
||||
# [神焰]、 [火焰精华]技能冷却时间减少率 : {value2}%
|
||||
data2 = get_data(f'{prefix}/{uuid}', 2)
|
||||
|
||||
associate = [{'data': data0, 'type': '*skillDamage', 'skills': ['火焰精华']}, {'data': data1, 'type': '*skillDamage', 'exceptSkills': ['火焰精华']}, {'data': data2, 'type': '*cdReduce', 'skills': ['神焰', '火焰精华']}]
|
||||
# 迁移前实现(保留对照):
|
||||
# associate = [{'data': data0, 'type': '*skillDamage', 'skills': ['火焰精华']}, {'data': data1, 'type': '*skillDamage', 'exceptSkills': ['火焰精华']}, {'data': data2, 'type': '*cdReduce', 'skills': ['神焰', '火焰精华']}]
|
||||
associate = [
|
||||
SkillEffect(attribute=SkillAttribute.DAMAGE, value=1 + Percent(LevelTable(data0)), skills=['火焰精华']),
|
||||
SkillEffect(attribute=SkillAttribute.DAMAGE, value=1 + Percent(LevelTable(data1)), except_skills=['火焰精华']),
|
||||
SkillEffect(attribute=SkillAttribute.CD_REDUCE, value=1 - Percent(LevelTable(data2)), skills=['神焰', '火焰精华']),
|
||||
]
|
||||
|
||||
# 裁决轮回斩
|
||||
# priest_female/inquistor/1812a1ece67bb37b6b44b54766450064
|
||||
@@ -1642,7 +1673,12 @@ class Skill42(PassiveSkill):
|
||||
data4 = get_data(f'{prefix}/{uuid}', 4)
|
||||
# [审判重击]火焰地带持续时间 : 2秒
|
||||
|
||||
associate = [{'data': data0, 'type': '*skillDamage'}, {'data': [(i * j) for i, j in zip(data3, data4)], 'type': '*skillDamage', 'skills': ['审判重击']}]
|
||||
# 迁移前实现(保留对照):
|
||||
# associate = [{'data': data0, 'type': '*skillDamage'}, {'data': [(i * j) for i, j in zip(data3, data4)], 'type': '*skillDamage', 'skills': ['审判重击']}]
|
||||
associate = [
|
||||
SkillEffect(attribute=SkillAttribute.DAMAGE, value=1 + Percent(LevelTable(data0))),
|
||||
SkillEffect(attribute=SkillAttribute.DAMAGE, value=1 + Percent(LevelTable([i * j for i, j in zip(data3, data4)])), skills=['审判重击']),
|
||||
]
|
||||
# [审判重击]火焰地带持续时间 : 2秒
|
||||
|
||||
# 补赎逆十字
|
||||
|
||||
@@ -1,6 +1,14 @@
|
||||
#0c1b401bb09241570d364420b3ba3fd7
|
||||
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 = "priest_female/mistress/cn/skillDetail"
|
||||
|
||||
|
||||
@@ -557,7 +565,11 @@ class Skill18(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))),
|
||||
]
|
||||
|
||||
# 负罪者镰刀精通
|
||||
# priest_female/mistress/ecc23c980ea71450c0ad0c3fd232f329
|
||||
@@ -590,7 +602,11 @@ class Skill19(PassiveSkill):
|
||||
data2 = get_data(f'{prefix}/{uuid}', 2)
|
||||
# 命中率增加 : {value3}%
|
||||
data3 = get_data(f'{prefix}/{uuid}', 3)
|
||||
associate = [{"type":"$*PAtkM","data":data0}]
|
||||
# 迁移前实现(保留对照):
|
||||
# associate = [{"type":"$*PAtkM","data":data0}]
|
||||
associate = [
|
||||
CharacterEffect(attribute=CharacterAttribute.P_ATK_M, value=1 + Percent(LevelTable(data0))),
|
||||
]
|
||||
|
||||
# 镰勾旋击
|
||||
# priest_female/mistress/f0cc2c950f3bdf4103c75fa496bcac34
|
||||
@@ -764,8 +780,12 @@ class Skill22(ActiveSkill):
|
||||
# [暴食之噬] - 生命值恢复量增加率 : {value31}%
|
||||
data31 = get_data(f'{prefix}/{uuid}', 31)
|
||||
|
||||
# 迁移前实现(保留对照):
|
||||
# associate = [
|
||||
# {"data":data12,"skills":['欲望之手', '傲慢之堕', '怠惰之息', '贪婪之刺', '愤怒之袭', '嫉妒之吻', '暴食之噬']}
|
||||
# ]
|
||||
associate = [
|
||||
{"data":data12,"skills":['欲望之手', '傲慢之堕', '怠惰之息', '贪婪之刺', '愤怒之袭', '嫉妒之吻', '暴食之噬']}
|
||||
SkillEffect(attribute=SkillAttribute.DAMAGE, value=1 + Percent(LevelTable(data12)), skills=['欲望之手', '傲慢之堕', '怠惰之息', '贪婪之刺', '愤怒之袭', '嫉妒之吻', '暴食之噬']),
|
||||
]
|
||||
|
||||
# 暴击
|
||||
@@ -1181,7 +1201,11 @@ class Skill31(PassiveSkill):
|
||||
# 魔法暴击率增加 : {value2}%
|
||||
data2 = get_data(f'{prefix}/{uuid}', 2)
|
||||
|
||||
associate = [{"data":data1}]
|
||||
# 迁移前实现(保留对照):
|
||||
# associate = [{"data":data1}]
|
||||
associate = [
|
||||
SkillEffect(attribute=SkillAttribute.DAMAGE, value=1 + Percent(LevelTable(data1))),
|
||||
]
|
||||
|
||||
# 原罪释放·净化
|
||||
# priest_female/mistress/a2d943797daca862a6f321aca6ac9bfa
|
||||
@@ -1428,7 +1452,11 @@ class Skill36(ActiveSkill):
|
||||
# [原罪释放·净化]冷却时间最大减少 : {value5}秒
|
||||
data5 = get_data(f'{prefix}/{uuid}', 5)
|
||||
|
||||
associate = [{"data":data0}]
|
||||
# 迁移前实现(保留对照):
|
||||
# associate = [{"data":data0}]
|
||||
associate = [
|
||||
SkillEffect(attribute=SkillAttribute.DAMAGE, value=1 + Percent(LevelTable(data0))),
|
||||
]
|
||||
|
||||
def getSkillCD(self, mode=None):
|
||||
return 2.0
|
||||
@@ -1614,7 +1642,11 @@ class Skill40(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))),
|
||||
]
|
||||
|
||||
# 至高之刑
|
||||
# priest_female/mistress/8b08f9504167a9c0f3a1d29d71b7943e
|
||||
|
||||
@@ -1,6 +1,20 @@
|
||||
# 0c1b401bb09241570d364420b3ba3fd7
|
||||
from core.basic.skill import PassiveSkill, ActiveSkill, get_data
|
||||
from core.basic.character import Character
|
||||
from core.basic.skill_effect_types import (
|
||||
LevelTable,
|
||||
Percent,
|
||||
ProfessionAttribute,
|
||||
SkillAttribute,
|
||||
SkillEffect,
|
||||
)
|
||||
|
||||
|
||||
class SorceressAttribute(ProfessionAttribute):
|
||||
"""本职业专用的最终效果属性;字段含义与技能实现保持一致。"""
|
||||
PEARL_CD_REDUCE = 'cdReduceP'
|
||||
"""巫女:神龙如意珠的专用冷却参数。"""
|
||||
|
||||
|
||||
prefix = "priest_female/sorceress/cn/skillDetail"
|
||||
|
||||
@@ -108,7 +122,11 @@ class Skill3(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=['念珠连射']),
|
||||
]
|
||||
|
||||
# 受身蹲伏
|
||||
# priest_female/sorceress/ce26c6b69d02a440a81b552bec94f03b
|
||||
@@ -714,7 +732,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))),
|
||||
]
|
||||
|
||||
# 和合之玉
|
||||
# priest_female/sorceress/2a3c96b88d02372505692da0a8b54743
|
||||
@@ -781,7 +803,11 @@ class Skill25(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))),
|
||||
]
|
||||
|
||||
# 聚魂吸星符
|
||||
# priest_female/sorceress/b163d099c8cc27fdb6fd3639c2ee6df9
|
||||
@@ -1058,7 +1084,11 @@ class Skill30(ActiveSkill):
|
||||
# [范围信息]
|
||||
# 追加打击大小比率 : {value3}%
|
||||
data3 = get_data(f'{prefix}/{uuid}', 3)
|
||||
associate = [{'data': data0}]
|
||||
# 迁移前实现(保留对照):
|
||||
# associate = [{'data': data0}]
|
||||
associate = [
|
||||
SkillEffect(attribute=SkillAttribute.DAMAGE, value=1 + Percent(LevelTable(data0))),
|
||||
]
|
||||
|
||||
def getSkillCD(self, mode=None):
|
||||
return self.cd * (1 - self.cdReduceP)
|
||||
@@ -1258,10 +1288,16 @@ class Skill34(PassiveSkill):
|
||||
# 所受伤害减少效果冷却时间 : {value5}秒
|
||||
data5 = get_data(f'{prefix}/{uuid}', 5)
|
||||
|
||||
# 迁移前实现(保留对照):
|
||||
# associate = [
|
||||
# {'data': data0},
|
||||
# {'data': data1, 'skills': ['念珠连射']},
|
||||
# {'data': data2, 'skills': ['神龙如意珠'], 'type': '*cdReduceP'},
|
||||
# ]
|
||||
associate = [
|
||||
{'data': data0},
|
||||
{'data': data1, 'skills': ['念珠连射']},
|
||||
{'data': data2, 'skills': ['神龙如意珠'], 'type': '*cdReduceP'},
|
||||
SkillEffect(attribute=SkillAttribute.DAMAGE, value=1 + Percent(LevelTable(data0))),
|
||||
SkillEffect(attribute=SkillAttribute.DAMAGE, value=1 + Percent(LevelTable(data1)), skills=['念珠连射']),
|
||||
SkillEffect(attribute=SorceressAttribute.PEARL_CD_REDUCE, value=1 - Percent(LevelTable(data2)), skills=['神龙如意珠']),
|
||||
]
|
||||
|
||||
# 退魔阴阳符
|
||||
@@ -1454,7 +1490,11 @@ class Skill38(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))),
|
||||
]
|
||||
|
||||
# 天泽神龙阵
|
||||
# priest_female/sorceress/d429147c372b549c3dadcabcba50787f
|
||||
|
||||
Reference in New Issue
Block a user