feat:优化职业技能关联实现
This commit is contained in:
@@ -1,6 +1,16 @@
|
||||
#f6a4ad30555b99b499c07835f87ce522
|
||||
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 = "priest_male/avenger/cn/skillDetail"
|
||||
|
||||
|
||||
@@ -357,7 +367,12 @@ class Skill11(ActiveSkill):
|
||||
# [范围信息]
|
||||
# 手大小比率 : {value6}%
|
||||
data6 = get_data(f'{prefix}/{uuid}', 6)
|
||||
associate = [{"data":data4,"skills":[name]},{"data":data5,"skills":[name],"type":"*cd"}]
|
||||
# 迁移前实现(保留对照):
|
||||
# associate = [{"data":data4,"skills":[name]},{"data":data5,"skills":[name],"type":"*cd"}]
|
||||
associate = [
|
||||
SkillEffect(attribute=SkillAttribute.DAMAGE, value=1 + Percent(LevelTable(data4)), skills=[name]),
|
||||
SkillEffect(attribute=SkillAttribute.CD, value=1 + Percent(LevelTable(data5)), skills=[name]),
|
||||
]
|
||||
|
||||
# 强化 - 后跳
|
||||
# priest_male/avenger/2b340542e776818b78f3212af184bd6b
|
||||
@@ -572,7 +587,12 @@ class Skill17(ActiveSkill):
|
||||
data2 = get_data(f'{prefix}/{uuid}', 2)
|
||||
# 冷却时间增加率 : {value3}%
|
||||
data3 = get_data(f'{prefix}/{uuid}', 3)
|
||||
associate = [{"data":data2,"skills":[name]},{"data":data3,"skills":[name],"type":"*cd"}]
|
||||
# 迁移前实现(保留对照):
|
||||
# associate = [{"data":data2,"skills":[name]},{"data":data3,"skills":[name],"type":"*cd"}]
|
||||
associate = [
|
||||
SkillEffect(attribute=SkillAttribute.DAMAGE, value=1 + Percent(LevelTable(data2)), skills=[name]),
|
||||
SkillEffect(attribute=SkillAttribute.CD, value=1 + Percent(LevelTable(data3)), skills=[name]),
|
||||
]
|
||||
|
||||
# 半魔化
|
||||
# priest_male/avenger/5c00ce6d7dbbb5e9a0f6e1071d486832
|
||||
@@ -683,7 +703,11 @@ class Skill20(PassiveSkill):
|
||||
data3 = get_data(f'{prefix}/{uuid}', 3)
|
||||
# 光属性抗性减少 : {value4}
|
||||
data4 = get_data(f'{prefix}/{uuid}', 4)
|
||||
associate = [{"data":data0,"type":"$*PAtkM"}]
|
||||
# 迁移前实现(保留对照):
|
||||
# associate = [{"data":data0,"type":"$*PAtkM"}]
|
||||
associate = [
|
||||
CharacterEffect(attribute=CharacterAttribute.P_ATK_M, value=1 + Percent(LevelTable(data0))),
|
||||
]
|
||||
|
||||
# 裂地锤
|
||||
# priest_male/avenger/0c3a468aee1f7ce06bf91eb3319518c1
|
||||
@@ -719,7 +743,11 @@ class Skill21(ActiveSkill):
|
||||
data2 = get_data(f'{prefix}/{uuid}', 2)
|
||||
# 冷却时间增加率 : {value3}%
|
||||
data3 = get_data(f'{prefix}/{uuid}', 3)
|
||||
associate = [{"data":data3,"skills":[name],"type":"*cd"}]
|
||||
# 迁移前实现(保留对照):
|
||||
# associate = [{"data":data3,"skills":[name],"type":"*cd"}]
|
||||
associate = [
|
||||
SkillEffect(attribute=SkillAttribute.CD, value=1 + Percent(LevelTable(data3)), skills=[name]),
|
||||
]
|
||||
|
||||
# 暴击
|
||||
# priest_male/avenger/fc1262c19f3d0477ee8eda47b8db8696
|
||||
@@ -791,7 +819,12 @@ class Skill23(ActiveSkill):
|
||||
# [范围信息]
|
||||
# [魔化 : 末日守卫者]状态下,攻击范围比率 : {value10}%
|
||||
data10 = get_data(f'{prefix}/{uuid}', 10)
|
||||
associate = [{"data":data8,"skills":[name]},{"data":data9,"skills":[name],"type":"*cd"}]
|
||||
# 迁移前实现(保留对照):
|
||||
# associate = [{"data":data8,"skills":[name]},{"data":data9,"skills":[name],"type":"*cd"}]
|
||||
associate = [
|
||||
SkillEffect(attribute=SkillAttribute.DAMAGE, value=1 + Percent(LevelTable(data8)), skills=[name]),
|
||||
SkillEffect(attribute=SkillAttribute.CD, value=1 + Percent(LevelTable(data9)), skills=[name]),
|
||||
]
|
||||
|
||||
# 堕落之魂
|
||||
# priest_male/avenger/527cdc3ecca985e18ef819d456532b26
|
||||
@@ -863,7 +896,11 @@ class Skill25(ActiveSkill):
|
||||
# [范围信息]
|
||||
# 大小比率 : {value6}%
|
||||
data6 = get_data(f'{prefix}/{uuid}', 6)
|
||||
associate = [{"data":data3,"skills":[name],"type":"*cd"}]
|
||||
# 迁移前实现(保留对照):
|
||||
# associate = [{"data":data3,"skills":[name],"type":"*cd"}]
|
||||
associate = [
|
||||
SkillEffect(attribute=SkillAttribute.CD, value=1 + Percent(LevelTable(data3)), skills=[name]),
|
||||
]
|
||||
|
||||
# 恶魔诅咒
|
||||
# priest_male/avenger/002cbdd9bfd0f0b970451ae8d48d029e
|
||||
@@ -894,7 +931,11 @@ class Skill26(PassiveSkill):
|
||||
# [恶魔诅咒]持续时间 : {value3}秒
|
||||
data3 = get_data(f'{prefix}/{uuid}', 3)
|
||||
|
||||
associate = [{"data":data0,"exceptSkills":["魔化 : 末日守卫者"]}]
|
||||
# 迁移前实现(保留对照):
|
||||
# associate = [{"data":data0,"exceptSkills":["魔化 : 末日守卫者"]}]
|
||||
associate = [
|
||||
SkillEffect(attribute=SkillAttribute.DAMAGE, value=1 + Percent(LevelTable(data0)), except_skills=['魔化 : 末日守卫者']),
|
||||
]
|
||||
|
||||
# 厄运之轮
|
||||
# priest_male/avenger/ac21c02567f04a92b54dd85c091d1e5a
|
||||
@@ -944,7 +985,12 @@ class Skill27(ActiveSkill):
|
||||
# [魔化 : 末日守卫者]状态下攻击范围比率 : {value8}%
|
||||
data8 = get_data(f'{prefix}/{uuid}', 8)
|
||||
|
||||
associate = [{"data":data3,"skills":[name]},{"data":data4,"skills":[name],"type":"*cd"}]
|
||||
# 迁移前实现(保留对照):
|
||||
# associate = [{"data":data3,"skills":[name]},{"data":data4,"skills":[name],"type":"*cd"}]
|
||||
associate = [
|
||||
SkillEffect(attribute=SkillAttribute.DAMAGE, value=1 + Percent(LevelTable(data3)), skills=[name]),
|
||||
SkillEffect(attribute=SkillAttribute.CD, value=1 + Percent(LevelTable(data4)), skills=[name]),
|
||||
]
|
||||
|
||||
def vp_1(self):
|
||||
"""
|
||||
@@ -1221,11 +1267,17 @@ class Skill31(PassiveSkill):
|
||||
# 技能攻击力增加率 : {value3}%
|
||||
data3 = get_data(f'{prefix}/{uuid}', 3)
|
||||
|
||||
# 迁移前实现(保留对照):
|
||||
# associate = [
|
||||
# {"data":data1,"skills":["魔化 : 末日守卫者"]},
|
||||
# {"data":data2,"skills":["审判"]},
|
||||
# {"data":data3,"exceptSkills":["审判","魔化 : 末日守卫者"]},
|
||||
# ]
|
||||
associate = [
|
||||
{"data":data1,"skills":["魔化 : 末日守卫者"]},
|
||||
{"data":data2,"skills":["审判"]},
|
||||
{"data":data3,"exceptSkills":["审判","魔化 : 末日守卫者"]},
|
||||
]
|
||||
SkillEffect(attribute=SkillAttribute.DAMAGE, value=1 + Percent(LevelTable(data1)), skills=['魔化 : 末日守卫者']),
|
||||
SkillEffect(attribute=SkillAttribute.DAMAGE, value=1 + Percent(LevelTable(data2)), skills=['审判']),
|
||||
SkillEffect(attribute=SkillAttribute.DAMAGE, value=1 + Percent(LevelTable(data3)), except_skills=['审判', '魔化 : 末日守卫者']),
|
||||
]
|
||||
|
||||
# 魔化 : 末日守卫者
|
||||
# priest_male/avenger/5cac3411ccef1af333953e0ded5e942d
|
||||
@@ -1303,7 +1355,11 @@ class Skill32(ActiveSkill):
|
||||
|
||||
mode = ["x","z","z蓄力"]
|
||||
|
||||
associate = [{"data":data4,"type":"$*PAtkM"}]
|
||||
# 迁移前实现(保留对照):
|
||||
# associate = [{"data":data4,"type":"$*PAtkM"}]
|
||||
associate = [
|
||||
CharacterEffect(attribute=CharacterAttribute.P_ATK_M, value=1 + Percent(LevelTable(data4))),
|
||||
]
|
||||
|
||||
def setMode(self, mode):
|
||||
if mode == "x":
|
||||
@@ -1381,7 +1437,11 @@ class Skill33(ActiveSkill):
|
||||
data11 = get_data(f'{prefix}/{uuid}', 11)
|
||||
data12 = get_data(f'{prefix}/{uuid}', 12)
|
||||
|
||||
associate = [{"data": [0] + [10]*maxLv,"skills":[name]}]
|
||||
# 迁移前实现(保留对照):
|
||||
# associate = [{"data": [0] + [10]*maxLv,"skills":[name]}]
|
||||
associate = [
|
||||
SkillEffect(attribute=SkillAttribute.DAMAGE, value=1 + Percent(LevelTable([0] + [10] * maxLv)), skills=[name]),
|
||||
]
|
||||
|
||||
level_source = '魔化 : 末日守卫者'
|
||||
|
||||
@@ -1475,7 +1535,11 @@ class Skill36(ActiveSkill):
|
||||
# [范围信息]
|
||||
# 发射距离比率 : {value3}%
|
||||
data3 = get_data(f'{prefix}/{uuid}', 3)
|
||||
associate = [{"data":data2,"skills":[name]}]
|
||||
# 迁移前实现(保留对照):
|
||||
# associate = [{"data":data2,"skills":[name]}]
|
||||
associate = [
|
||||
SkillEffect(attribute=SkillAttribute.DAMAGE, value=1 + Percent(LevelTable(data2)), skills=[name]),
|
||||
]
|
||||
|
||||
def vp_1(self):
|
||||
"""
|
||||
@@ -1531,7 +1595,11 @@ class Skill37(ActiveSkill):
|
||||
# 冲击波范围比率 : {value3}%
|
||||
data3 = get_data(f'{prefix}/{uuid}', 3)
|
||||
|
||||
associate = [{"data":data1,"skills":[name]}]
|
||||
# 迁移前实现(保留对照):
|
||||
# associate = [{"data":data1,"skills":[name]}]
|
||||
associate = [
|
||||
SkillEffect(attribute=SkillAttribute.DAMAGE, value=1 + Percent(LevelTable(data1)), skills=[name]),
|
||||
]
|
||||
|
||||
def vp_1(self):
|
||||
"""
|
||||
@@ -1667,10 +1735,15 @@ class Skill39(PassiveSkill):
|
||||
data0 = get_data(f'{prefix}/{uuid}', 0)
|
||||
# 基本攻击和除[恶魔之力]外所有技能攻击力增加率 : {value1}%
|
||||
data1 = get_data(f'{prefix}/{uuid}', 1)
|
||||
# 迁移前实现(保留对照):
|
||||
# associate = [
|
||||
# {"data":data1,"exceptSkills":["恶魔之力"]},
|
||||
# {"data":data0,"skills":["恶魔之力"]}
|
||||
# ]
|
||||
associate = [
|
||||
{"data":data1,"exceptSkills":["恶魔之力"]},
|
||||
{"data":data0,"skills":["恶魔之力"]}
|
||||
]
|
||||
SkillEffect(attribute=SkillAttribute.DAMAGE, value=1 + Percent(LevelTable(data1)), except_skills=['恶魔之力']),
|
||||
SkillEffect(attribute=SkillAttribute.DAMAGE, value=1 + Percent(LevelTable(data0)), skills=['恶魔之力']),
|
||||
]
|
||||
|
||||
# 毁灭强击
|
||||
# priest_male/avenger/b1732acfaf117f8e9ff130f47d3ed0e7
|
||||
@@ -1724,7 +1797,11 @@ class Skill40(ActiveSkill):
|
||||
# 爆炸大小比率 : {value7}%
|
||||
data7 = get_data(f'{prefix}/{uuid}', 7)
|
||||
|
||||
associate = [{"data":data6,"skills":[name]}]
|
||||
# 迁移前实现(保留对照):
|
||||
# associate = [{"data":data6,"skills":[name]}]
|
||||
associate = [
|
||||
SkillEffect(attribute=SkillAttribute.DAMAGE, value=1 + Percent(LevelTable(data6)), skills=[name]),
|
||||
]
|
||||
|
||||
def vp_1(self):
|
||||
"""
|
||||
@@ -1799,7 +1876,12 @@ class Skill41(ActiveSkill):
|
||||
# - [半魔化状态下] -
|
||||
# 恶魔能量消耗量减少 : 100%
|
||||
|
||||
associate = [{"data":data9,"skills":[name]},{"data":data7,"skills":[name],"type":"+power5"}]
|
||||
# 迁移前实现(保留对照):
|
||||
# associate = [{"data":data9,"skills":[name]},{"data":data7,"skills":[name],"type":"+power5"}]
|
||||
associate = [
|
||||
SkillEffect(attribute=SkillAttribute.DAMAGE, value=1 + Percent(LevelTable(data9)), skills=[name]),
|
||||
SkillEffect(attribute=Power(5), operation=Operation.ADD, value=Percent(LevelTable(data7)), skills=[name]),
|
||||
]
|
||||
# - [半魔化状态下] -
|
||||
# 恶魔能量消耗量减少 : 100%
|
||||
|
||||
@@ -1838,7 +1920,11 @@ class Skill42(PassiveSkill):
|
||||
# [回旋飞镰]镰刀回收最大攻击数 : {value5}次
|
||||
data5 = get_data(f'{prefix}/{uuid}', 5)
|
||||
|
||||
associate = [{"data":data0}]
|
||||
# 迁移前实现(保留对照):
|
||||
# associate = [{"data":data0}]
|
||||
associate = [
|
||||
SkillEffect(attribute=SkillAttribute.DAMAGE, value=1 + Percent(LevelTable(data0))),
|
||||
]
|
||||
|
||||
# 极恶洪流
|
||||
# priest_male/avenger/7f9ffcd296361f1367b8b74e773d5e99
|
||||
@@ -1881,7 +1967,12 @@ class Skill43(ActiveSkill):
|
||||
data5 = get_data(f'{prefix}/{uuid}', 5)
|
||||
# [半魔化]状态下施放时
|
||||
# 恶魔能量消耗量减少 : 100%
|
||||
associate = [{"data":data5,"skills":[name]},{"data":data4,"skills":[name]}]
|
||||
# 迁移前实现(保留对照):
|
||||
# associate = [{"data":data5,"skills":[name]},{"data":data4,"skills":[name]}]
|
||||
associate = [
|
||||
SkillEffect(attribute=SkillAttribute.DAMAGE, value=1 + Percent(LevelTable(data5)), skills=[name]),
|
||||
SkillEffect(attribute=SkillAttribute.DAMAGE, value=1 + Percent(LevelTable(data4)), skills=[name]),
|
||||
]
|
||||
# [半魔化]状态下施放时
|
||||
# 恶魔能量消耗量减少 : 100%
|
||||
|
||||
@@ -1930,7 +2021,11 @@ class Skill44(ActiveSkill):
|
||||
# 压制力 (4人队伍) : {value5}秒 ({value6}秒)
|
||||
data5 = get_data(f'{prefix}/{uuid}', 5)
|
||||
data6 = get_data(f'{prefix}/{uuid}', 6)
|
||||
associate = [{"data":data4,"skills":[name]}]
|
||||
# 迁移前实现(保留对照):
|
||||
# associate = [{"data":data4,"skills":[name]}]
|
||||
associate = [
|
||||
SkillEffect(attribute=SkillAttribute.DAMAGE, value=1 + Percent(LevelTable(data4)), skills=[name]),
|
||||
]
|
||||
|
||||
class classChange(Character):
|
||||
def __init__(self, equVersion):
|
||||
|
||||
@@ -1,6 +1,14 @@
|
||||
#f6a4ad30555b99b499c07835f87ce522
|
||||
from core.basic.skill import PassiveSkill, ActiveSkill, get_data, ActiveBufferSkill, PassiveBufferSkill
|
||||
from core.basic.character import Character
|
||||
from core.basic.skill_effect_types import (
|
||||
CharacterAttribute,
|
||||
CharacterEffect,
|
||||
Constant,
|
||||
LevelTable,
|
||||
Operation,
|
||||
Percent,
|
||||
)
|
||||
prefix = "priest_male/crusader_male/cn/skillDetail"
|
||||
|
||||
|
||||
@@ -538,9 +546,14 @@ class Skill17(PassiveBufferSkill):
|
||||
Vitality = data0
|
||||
Spirit = data1
|
||||
|
||||
# 迁移前实现(保留对照):
|
||||
# associate = [
|
||||
# {"data":data0,"type":"$+Vitality","ratio":1},
|
||||
# {"data":data1,"type":"$+Spirit","ratio":1}
|
||||
# ]
|
||||
associate = [
|
||||
{"data":data0,"type":"$+Vitality","ratio":1},
|
||||
{"data":data1,"type":"$+Spirit","ratio":1}
|
||||
CharacterEffect(attribute=CharacterAttribute.VITALITY, operation=Operation.ADD, value=LevelTable(data0)),
|
||||
CharacterEffect(attribute=CharacterAttribute.SPIRIT, operation=Operation.ADD, value=LevelTable(data1)),
|
||||
]
|
||||
CarryRatio = [0]+[(1.055 ** 3) * 100 - 100]*maxLv# noqa: E501
|
||||
|
||||
@@ -781,7 +794,12 @@ class Skill23(ActiveBufferSkill):
|
||||
Vitality = data3
|
||||
Spirit = data4
|
||||
|
||||
associate = [{"type":"$+Vitality","value":data3,"ratio":1},{"type":"$+Spirit","value":data4,"ratio":1}]
|
||||
# 迁移前实现(保留对照):
|
||||
# associate = [{"type":"$+Vitality","value":data3,"ratio":1},{"type":"$+Spirit","value":data4,"ratio":1}]
|
||||
associate = [
|
||||
CharacterEffect(attribute=CharacterAttribute.VITALITY, operation=Operation.ADD, value=Constant(0)),
|
||||
CharacterEffect(attribute=CharacterAttribute.SPIRIT, operation=Operation.ADD, value=Constant(0)),
|
||||
]
|
||||
|
||||
# 圣光守护
|
||||
# priest_male/crusader_male/ff171dc487807bb9aa28900ca9a46b41
|
||||
@@ -1758,7 +1776,12 @@ class Skill44(ActiveBufferSkill):
|
||||
Vitality = data0
|
||||
Spirit = data0
|
||||
|
||||
associate = [{"data": Vitality, "type": "$+Vitality"}, {"data": Spirit, "type": "$+Spirit"}]
|
||||
# 迁移前实现(保留对照):
|
||||
# associate = [{"data": Vitality, "type": "$+Vitality"}, {"data": Spirit, "type": "$+Spirit"}]
|
||||
associate = [
|
||||
CharacterEffect(attribute=CharacterAttribute.VITALITY, operation=Operation.ADD, value=Percent(LevelTable(Vitality))),
|
||||
CharacterEffect(attribute=CharacterAttribute.SPIRIT, operation=Operation.ADD, value=Percent(LevelTable(Spirit))),
|
||||
]
|
||||
|
||||
def vp_1(self):
|
||||
"""
|
||||
@@ -2004,7 +2027,12 @@ class Skill49(PassiveBufferSkill):
|
||||
|
||||
Vitality = Spirit = data1
|
||||
|
||||
associate = [{"data": Vitality, "type": "$+Vitality"}, {"data": Spirit, "type": "$+Spirit"}]
|
||||
# 迁移前实现(保留对照):
|
||||
# associate = [{"data": Vitality, "type": "$+Vitality"}, {"data": Spirit, "type": "$+Spirit"}]
|
||||
associate = [
|
||||
CharacterEffect(attribute=CharacterAttribute.VITALITY, operation=Operation.ADD, value=Percent(LevelTable(Vitality))),
|
||||
CharacterEffect(attribute=CharacterAttribute.SPIRIT, operation=Operation.ADD, value=Percent(LevelTable(Spirit))),
|
||||
]
|
||||
|
||||
# 生命礼赞 : 神威
|
||||
# priest_male/crusader_male/a81e5b7defa1819263ed8e86f69fd06f
|
||||
|
||||
@@ -1,6 +1,13 @@
|
||||
#f6a4ad30555b99b499c07835f87ce522
|
||||
from core.basic.skill import PassiveSkill, ActiveSkill, get_data
|
||||
from core.basic.character import Character
|
||||
from core.basic.skill_effect_types import (
|
||||
LevelTable,
|
||||
Percent,
|
||||
Power,
|
||||
SkillAttribute,
|
||||
SkillEffect,
|
||||
)
|
||||
prefix = "priest_male/crusader_male/cn/skillDetail"
|
||||
|
||||
# 空斩打
|
||||
@@ -128,13 +135,22 @@ class Skill4(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': ['空斩打', '光之正义']},
|
||||
# {'type': '*power2', 'data': [i - 100 if i > 0 else 0 for i in data0], 'skills': ['惩罚之锤']},
|
||||
# {'type': '*power3', 'data': [i - 100 if i > 0 else 0 for i in data0], 'skills': ['惩罚之锤']},
|
||||
# {'type': '*power4', 'data': [i - 100 if i > 0 else 0 for i in data0], 'skills': ['惩罚之锤']},
|
||||
# {'type': '*power6', 'data': [i - 100 if i > 0 else 0 for i in data0], 'skills': ['惩罚之锤']},
|
||||
# {'type': '*power7', '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': ['空斩打', '光之正义']},
|
||||
{'type': '*power2', 'data': [i - 100 if i > 0 else 0 for i in data0], 'skills': ['惩罚之锤']},
|
||||
{'type': '*power3', 'data': [i - 100 if i > 0 else 0 for i in data0], 'skills': ['惩罚之锤']},
|
||||
{'type': '*power4', 'data': [i - 100 if i > 0 else 0 for i in data0], 'skills': ['惩罚之锤']},
|
||||
{'type': '*power6', 'data': [i - 100 if i > 0 else 0 for i in data0], 'skills': ['惩罚之锤']},
|
||||
{'type': '*power7', 'data': [i - 100 if i > 0 else 0 for i in data0], 'skills': ['惩罚之锤']}
|
||||
SkillEffect(attribute=SkillAttribute.DAMAGE, value=1 + Percent(LevelTable([i - 100 if i > 0 else 0 for i in data0])), skills=['空斩打', '光之正义']),
|
||||
SkillEffect(attribute=Power(2), value=1 + Percent(LevelTable([i - 100 if i > 0 else 0 for i in data0])), skills=['惩罚之锤']),
|
||||
SkillEffect(attribute=Power(3), value=1 + Percent(LevelTable([i - 100 if i > 0 else 0 for i in data0])), skills=['惩罚之锤']),
|
||||
SkillEffect(attribute=Power(4), value=1 + Percent(LevelTable([i - 100 if i > 0 else 0 for i in data0])), skills=['惩罚之锤']),
|
||||
SkillEffect(attribute=Power(6), value=1 + Percent(LevelTable([i - 100 if i > 0 else 0 for i in data0])), skills=['惩罚之锤']),
|
||||
SkillEffect(attribute=Power(7), value=1 + Percent(LevelTable([i - 100 if i > 0 else 0 for i in data0])), skills=['惩罚之锤']),
|
||||
]
|
||||
|
||||
|
||||
@@ -265,7 +281,11 @@ class Skill16(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))),
|
||||
]
|
||||
|
||||
|
||||
|
||||
@@ -359,7 +379,11 @@ class Skill19(PassiveSkill):
|
||||
# 队员魔法值恢复量 : {value5}%
|
||||
data5 = get_data(f'{prefix}/{uuid}', 5)
|
||||
|
||||
associate = [{'data': data2}]
|
||||
# 迁移前实现(保留对照):
|
||||
# associate = [{'data': data2}]
|
||||
associate = [
|
||||
SkillEffect(attribute=SkillAttribute.DAMAGE, value=1 + Percent(LevelTable(data2))),
|
||||
]
|
||||
|
||||
# 胜利之矛
|
||||
# priest_male/crusader_male/8510294202d0e042dd29a2422fc6770d
|
||||
@@ -601,7 +625,11 @@ class Skill30(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_male/crusader_male/9bff7f2559e003766fee2853dca00631
|
||||
@@ -748,7 +776,11 @@ class Skill32(PassiveSkill):
|
||||
# 眩晕范围 : {value4}px
|
||||
data4 = get_data(f'{prefix}/{uuid}', 4)
|
||||
|
||||
associate = [{'data': [0, 92.5 - 100], 'skills': ['圣光球']}]
|
||||
# 迁移前实现(保留对照):
|
||||
# associate = [{'data': [0, 92.5 - 100], 'skills': ['圣光球']}]
|
||||
associate = [
|
||||
SkillEffect(attribute=SkillAttribute.DAMAGE, value=1 + Percent(LevelTable([0, 92.5 - 100])), skills=['圣光球']),
|
||||
]
|
||||
|
||||
# 圣光聚合
|
||||
# priest_male/crusader_male/dacd5c2848a1eb33489e5471f1a73759
|
||||
@@ -1116,7 +1148,11 @@ class Skill38(PassiveSkill):
|
||||
# 光环范围 : {value5}px
|
||||
data5 = get_data(f'{prefix}/{uuid}', 5)
|
||||
|
||||
associate = [{'data': data0}]
|
||||
# 迁移前实现(保留对照):
|
||||
# associate = [{'data': data0}]
|
||||
associate = [
|
||||
SkillEffect(attribute=SkillAttribute.DAMAGE, value=1 + Percent(LevelTable(data0))),
|
||||
]
|
||||
|
||||
# 天启之光
|
||||
# priest_male/crusader_male/dcb31a63ef58954f44ff2070c42a9a98
|
||||
@@ -1622,7 +1658,11 @@ class Skill45(ActiveSkill):
|
||||
# [雷霆粉碎]冲击波攻击力 : {value9}
|
||||
data9 = get_data(f'{prefix}/{uuid}', 9)
|
||||
|
||||
associate = [{'data': data1}]
|
||||
# 迁移前实现(保留对照):
|
||||
# associate = [{'data': data1}]
|
||||
associate = [
|
||||
SkillEffect(attribute=SkillAttribute.DAMAGE, value=1 + Percent(LevelTable(data1))),
|
||||
]
|
||||
|
||||
mode = ["平X一轮","空斩打","落凤锤"]
|
||||
|
||||
@@ -1822,7 +1862,11 @@ class Skill49(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_male/crusader_male/a81e5b7defa1819263ed8e86f69fd06f
|
||||
|
||||
@@ -2,6 +2,16 @@
|
||||
from core.basic.formula import 武器冷却惩罚
|
||||
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,
|
||||
Percent,
|
||||
Read,
|
||||
SkillAttribute,
|
||||
SkillEffect,
|
||||
)
|
||||
|
||||
prefix = "priest_male/exorcist/cn/skillDetail"
|
||||
|
||||
@@ -134,7 +144,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=['空斩打', '疾风打']),
|
||||
]
|
||||
|
||||
# 受身蹲伏
|
||||
# priest_male/exorcist/ce26c6b69d02a440a81b552bec94f03b
|
||||
@@ -712,7 +726,11 @@ class Skill22(PassiveSkill):
|
||||
# 物理、 魔法攻击力增加率 : {value1}%
|
||||
data1 = get_data(f'{prefix}/{uuid}', 1)
|
||||
|
||||
associate = [{'data': data1, 'type': '$*PAtkP'}]
|
||||
# 迁移前实现(保留对照):
|
||||
# associate = [{'data': data1, 'type': '$*PAtkP'}]
|
||||
associate = [
|
||||
CharacterEffect(attribute=CharacterAttribute.P_ATK_P, value=1 + Percent(LevelTable(data1))),
|
||||
]
|
||||
|
||||
# 升天阵
|
||||
# priest_male/exorcist/b89c9ab317bc0a443f6497b7cca2f6a8
|
||||
@@ -908,7 +926,12 @@ class Skill28(PassiveSkill):
|
||||
data0 = get_data(f'{prefix}/{uuid}', 0)
|
||||
# 冷却时间减少率 : {value1}%
|
||||
data1 = get_data(f'{prefix}/{uuid}', 1)
|
||||
associate = [{'data': data0}, {'data': data1, 'type': '*cdReduce', 'exceptSkills': ['四座千泰门', '真龙焚天', '雷鸣怒海·火啸山崩']}]
|
||||
# 迁移前实现(保留对照):
|
||||
# associate = [{'data': data0}, {'data': data1, 'type': '*cdReduce', 'exceptSkills': ['四座千泰门', '真龙焚天', '雷鸣怒海·火啸山崩']}]
|
||||
associate = [
|
||||
SkillEffect(attribute=SkillAttribute.DAMAGE, value=1 + Percent(LevelTable(data0))),
|
||||
SkillEffect(attribute=SkillAttribute.CD_REDUCE, value=1 - Percent(LevelTable(data1)), except_skills=['四座千泰门', '真龙焚天', '雷鸣怒海·火啸山崩']),
|
||||
]
|
||||
|
||||
# 式神 : 空之白虎
|
||||
# priest_male/exorcist/0ed3148658fe37b3336ccb718dc0fdb0
|
||||
@@ -1096,13 +1119,18 @@ class Skill31(ActiveSkill):
|
||||
"""
|
||||
...
|
||||
|
||||
def effect(self, old, new):
|
||||
if self.vp == 2:
|
||||
self.associate = [
|
||||
{'type': '*skillRation', 'data': [0] + [150] * self.maxLv, 'skills': ['式神 : 热炎朱雀']},
|
||||
{'type': '*cdReduce', 'data': [0] + [-150] * self.maxLv, 'skills': ['式神 : 热炎朱雀']},
|
||||
]
|
||||
return super().effect(old, new)
|
||||
# 迁移前实现(保留对照):
|
||||
# def effect(self, old, new):
|
||||
# if self.vp == 2:
|
||||
# self.associate = [
|
||||
# {'type': '*skillRation', 'data': [0] + [150] * self.maxLv, 'skills': ['式神 : 热炎朱雀']},
|
||||
# {'type': '*cdReduce', 'data': [0] + [-150] * self.maxLv, 'skills': ['式神 : 热炎朱雀']},
|
||||
# ]
|
||||
# return super().effect(old, new)
|
||||
associate = [
|
||||
SkillEffect(attribute=SkillAttribute.PANEL_RATIO, value=1 + Percent(LevelTable([0] + [150] * maxLv)), skills=['式神 : 热炎朱雀'], when=Equals(Read(SkillAttribute.VP), 2)),
|
||||
SkillEffect(attribute=SkillAttribute.CD_REDUCE, value=1 - Percent(LevelTable([0] + [-150] * maxLv)), skills=['式神 : 热炎朱雀'], when=Equals(Read(SkillAttribute.VP), 2)),
|
||||
]
|
||||
|
||||
# 无双击
|
||||
# priest_male/exorcist/d53301bb328baf12a3ae482cc6a565dd
|
||||
@@ -1180,7 +1208,11 @@ class Skill33(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_male/exorcist/5892d1fa4462e561ac8f8d2c74892b0a
|
||||
@@ -1362,7 +1394,11 @@ class Skill37(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))),
|
||||
]
|
||||
|
||||
# 式神之力
|
||||
# priest_male/exorcist/328867949b763ce73e243da84fd59157
|
||||
@@ -1389,7 +1425,11 @@ class Skill38(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_male/exorcist/5197b141332a65a89d452adf227c2f30
|
||||
@@ -1585,7 +1625,11 @@ class Skill42(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_male/exorcist/3153ca0e6752a6283412c59c5ec8e002
|
||||
|
||||
@@ -1,6 +1,14 @@
|
||||
#f6a4ad30555b99b499c07835f87ce522
|
||||
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 = "priest_male/infighter/cn/skillDetail"
|
||||
|
||||
|
||||
@@ -599,7 +607,12 @@ class Skill18(ActiveSkill):
|
||||
# 离开[意念驱动]范围后增益效果持续时间 : {value6}秒
|
||||
data6 = get_data(f'{prefix}/{uuid}', 6)
|
||||
|
||||
associate = [{"data":data2},{"data":data5,"type":"*cdReduce","exceptSkills":["泯灭神击","制裁 : 怒火疾风","正义执行 : 雷米迪奥斯的圣座"]}]
|
||||
# 迁移前实现(保留对照):
|
||||
# associate = [{"data":data2},{"data":data5,"type":"*cdReduce","exceptSkills":["泯灭神击","制裁 : 怒火疾风","正义执行 : 雷米迪奥斯的圣座"]}]
|
||||
associate = [
|
||||
SkillEffect(attribute=SkillAttribute.DAMAGE, value=1 + Percent(LevelTable(data2))),
|
||||
SkillEffect(attribute=SkillAttribute.CD_REDUCE, value=1 - Percent(LevelTable(data5)), except_skills=['泯灭神击', '制裁 : 怒火疾风', '正义执行 : 雷米迪奥斯的圣座']),
|
||||
]
|
||||
|
||||
# 百炼成刚
|
||||
# priest_male/infighter/da6e37c1e3f0e8867f70007d89c239ff
|
||||
@@ -744,14 +757,23 @@ class Skill22(PassiveSkill):
|
||||
data15 = get_data(f'{prefix}/{uuid}', 15)
|
||||
data16 = get_data(f'{prefix}/{uuid}', 16)
|
||||
|
||||
# 迁移前实现(保留对照):
|
||||
# associate = [
|
||||
# {"data":data0},
|
||||
# {"data":[i*j for i,j in zip(data9,data10)],"skills":["俯冲直拳"]},
|
||||
# {"data":[i*j for i,j in zip(data11,data12)],"skills":["俯冲腹拳"]},
|
||||
# {"data":[i*j for i,j in zip(data13,data14)],"skills":["俯冲翔拳"]},
|
||||
# {"data":[i*j for i,j in zip(data15,data16)],"skills":["圣拳连击"]},
|
||||
# {"data":data6,type:"=preRatio", "skills":["神圣反击"]},
|
||||
# ]
|
||||
associate = [
|
||||
{"data":data0},
|
||||
{"data":[i*j for i,j in zip(data9,data10)],"skills":["俯冲直拳"]},
|
||||
{"data":[i*j for i,j in zip(data11,data12)],"skills":["俯冲腹拳"]},
|
||||
{"data":[i*j for i,j in zip(data13,data14)],"skills":["俯冲翔拳"]},
|
||||
{"data":[i*j for i,j in zip(data15,data16)],"skills":["圣拳连击"]},
|
||||
{"data":data6,type:"=preRatio", "skills":["神圣反击"]},
|
||||
]
|
||||
SkillEffect(attribute=SkillAttribute.DAMAGE, value=1 + Percent(LevelTable(data0))),
|
||||
SkillEffect(attribute=SkillAttribute.DAMAGE, value=1 + Percent(LevelTable([i * j for i, j in zip(data9, data10)])), skills=['俯冲直拳']),
|
||||
SkillEffect(attribute=SkillAttribute.DAMAGE, value=1 + Percent(LevelTable([i * j for i, j in zip(data11, data12)])), skills=['俯冲腹拳']),
|
||||
SkillEffect(attribute=SkillAttribute.DAMAGE, value=1 + Percent(LevelTable([i * j for i, j in zip(data13, data14)])), skills=['俯冲翔拳']),
|
||||
SkillEffect(attribute=SkillAttribute.DAMAGE, value=1 + Percent(LevelTable([i * j for i, j in zip(data15, data16)])), skills=['圣拳连击']),
|
||||
SkillEffect(attribute=SkillAttribute.DAMAGE, value=1 + Percent(LevelTable(data6)), skills=['神圣反击']),
|
||||
]
|
||||
|
||||
# 俯冲腹拳
|
||||
# priest_male/infighter/c61f5a010370101402b05b21916c2071
|
||||
@@ -1413,7 +1435,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_male/infighter/dbf8b30c7057032af0d68fcfa289fdae
|
||||
@@ -1516,10 +1542,14 @@ class Skill40(ActiveSkill):
|
||||
"""
|
||||
...
|
||||
|
||||
def effect(self, old, new):
|
||||
if self.vp == 2:
|
||||
self.associate = [{"data":[0]+[-28.5]*self.maxLv,"skills":["刺拳猛击"]}]
|
||||
return super().effect(old, new)
|
||||
# 迁移前实现(保留对照):
|
||||
# def effect(self, old, new):
|
||||
# if self.vp == 2:
|
||||
# self.associate = [{"data":[0]+[-28.5]*self.maxLv,"skills":["刺拳猛击"]}]
|
||||
# return super().effect(old, new)
|
||||
associate = [
|
||||
SkillEffect(attribute=SkillAttribute.DAMAGE, value=1 + Percent(LevelTable([0] + [-28.5] * maxLv)), skills=['刺拳猛击'], when=Equals(Read(SkillAttribute.VP), 2)),
|
||||
]
|
||||
|
||||
# 破坏之拳
|
||||
# priest_male/infighter/0fbb8de70002ad34f046c94c2cb3e863
|
||||
@@ -1657,7 +1687,11 @@ class Skill43(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_male/infighter/d204ec03a0aed2f20211fb6ccc48d46d
|
||||
@@ -1785,7 +1819,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))),
|
||||
]
|
||||
|
||||
# 正义铁拳
|
||||
# priest_male/infighter/87a918bb22cfc959a16e0bf939bb6c24
|
||||
|
||||
Reference in New Issue
Block a user