Files
dcalc/backend/core/character/GF/imperialknight/breaker.py
T

1431 lines
46 KiB
Python

#8d4d2001cdb357e41633c234eb7501b5
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 = "imperialknight/breaker/cn/skillDetail"
# 上撩斩
# imperialknight/breaker/3c5604bdbb0240b8f130f59ab40509c3
# 8d4d2001cdb357e41633c234eb7501b5/3c5604bdbb0240b8f130f59ab40509c3
class Skill0(ActiveSkill):
"""
用武器从地面向上用力挥砍,使被击中的敌人浮空。\n
攻击时存在霸体判定。\n
"""
name = "上撩斩"
cellPos = (5,1)
learnLv = 1
masterLv = 10
maxLv = 20
position = 5
rangeLv = 3
cd = 2
uuid = "3c5604bdbb0240b8f130f59ab40509c3"
hasVP = False
hasUP = False
custom = get_data(f'{prefix}/{uuid}', "custom") # noqa: E501
# 上挑攻击力 : {value0}%
data0 = get_data(f'{prefix}/{uuid}', 0)
hit0 = 1
# 帝国威严
# imperialknight/breaker/717f1e2104fe4b796f800352fa143ecc
# 8d4d2001cdb357e41633c234eb7501b5/717f1e2104fe4b796f800352fa143ecc
class Skill1(PassiveSkill):
"""
踏上甲板的破浪者,每一步都彰显着帝国势不可挡的威严。\n
减少除觉醒技能以外的转职技能的冷却时间,减少施放技能时的魔法值消耗量。\n
"""
name = "帝国威严"
cellPos = (1,1)
learnLv = 1
masterLv = 1
maxLv = 1
position = 1
rangeLv = 3
uuid = "717f1e2104fe4b796f800352fa143ecc"
hasVP = False
hasUP = False
custom = get_data(f'{prefix}/{uuid}', "custom") # noqa: E501
# 技能冷却时间减少率 : {value0}%
data0 = get_data(f'{prefix}/{uuid}', 0)
# 技能魔法值消耗量减少率 : {value1}%
data1 = get_data(f'{prefix}/{uuid}', 1)
# 迁移前实现(保留对照):
# associate = [ {"type":"*cdReduce","data":data0,"exceptSkills":['鸣镝破阵']}, ]
associate = [
SkillEffect(attribute=SkillAttribute.CD_REDUCE, value=1 - Percent(LevelTable(data0)), except_skills=['鸣镝破阵']),
]
# 狂野横扫
# imperialknight/breaker/eb71e1d82d92c7e1d40500a0dcd77aa6
# 8d4d2001cdb357e41633c234eb7501b5/eb71e1d82d92c7e1d40500a0dcd77aa6
class Skill2(ActiveSkill):
"""
大幅挥动枪锚横扫,攻击前方敌人。\n
"""
name = "狂野横扫"
cellPos = (3,1)
learnLv = 1
masterLv = 60
maxLv = 70
position = 3
rangeLv = 2
cd = 3
mp = [11, 46]
uuid = "eb71e1d82d92c7e1d40500a0dcd77aa6"
hasVP = False
hasUP = False
custom = get_data(f'{prefix}/{uuid}', "custom") # noqa: E501
# 枪锚斩击攻击力 : {value0}%
data0 = get_data(f'{prefix}/{uuid}', 0)
hit0 = 1
# 后跳
# imperialknight/breaker/7822d6d52e10964a6755f142c666b494
# 8d4d2001cdb357e41633c234eb7501b5/7822d6d52e10964a6755f142c666b494
class Skill3(ActiveSkill):
"""
使自身向后方小跳并避开敌人的攻击。\n
"""
name = "后跳"
learnLv = 1
masterLv = 1
maxLv = 1
cellPos = (3,0)
position = 3
rangeLv = None
cd = []
uuid = "7822d6d52e10964a6755f142c666b494"
icon = "$common/$uuid"
hasVP = False
hasUP = False
custom = get_data(f'{prefix}/{uuid}', "custom") # noqa: E501
# 基础精通
# imperialknight/breaker/5a56514f35cf0270ae8d6c65f8fefd78
# 8d4d2001cdb357e41633c234eb7501b5/5a56514f35cf0270ae8d6c65f8fefd78
class Skill4(PassiveSkill):
"""
增加基本攻击、 前冲攻击、 跳跃攻击、 [上撩斩]的攻击力。\n
在决斗场中,增益/减益技能、 被动技能的技能攻击力增加效果对[基础精通]无影响。\n
"""
name = "基础精通"
cellPos = (1,0)
learnLv = 1
masterLv = 115
maxLv = 200
position = 1
rangeLv = 1
uuid = "5a56514f35cf0270ae8d6c65f8fefd78"
icon = "$common/$uuid"
hasVP = False
hasUP = False
custom = get_data(f'{prefix}/{uuid}', "custom") # noqa: E501
# 基本攻击力变化率 : {value0}%
data0 = get_data(f'{prefix}/{uuid}', 0)
# 前冲攻击力变化率 : {value1}%
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 = [
SkillEffect(attribute=SkillAttribute.DAMAGE, value=1 + Percent(LevelTable([i - 100 if i > 0 else 0 for i in data0])), skills=['钩爪突袭']),
]
# 受身蹲伏
# imperialknight/breaker/ce26c6b69d02a440a81b552bec94f03b
# 8d4d2001cdb357e41633c234eb7501b5/ce26c6b69d02a440a81b552bec94f03b
class Skill5(ActiveSkill):
"""
使自身在倒地状态下迅速起身并采取蹲伏姿势; 蹲伏状态下,自身会进入无敌状态,效果持续一定时间。\n
"""
name = "受身蹲伏"
learnLv = 1
masterLv = 1
maxLv = 20
cellPos = (2,0)
position = 2
rangeLv = None
cd = 5
mp = [1, 1]
uuid = "ce26c6b69d02a440a81b552bec94f03b"
icon = "$common/$uuid"
hasVP = False
hasUP = False
custom = get_data(f'{prefix}/{uuid}', "custom") # noqa: E501
# 蹲伏姿势最短无敌时间 : {value0}秒
data0 = get_data(f'{prefix}/{uuid}', 0)
# 蹲伏姿势最长无敌时间 : {value1}秒
data1 = get_data(f'{prefix}/{uuid}', 1)
# 起身时霸体时间 : {value2}秒
data2 = get_data(f'{prefix}/{uuid}', 2)
# 技能连招
# imperialknight/breaker/10b31c7e8cd2d60b9bcf3b1d3ada4b0a
# 8d4d2001cdb357e41633c234eb7501b5/10b31c7e8cd2d60b9bcf3b1d3ada4b0a
class Skill6(ActiveSkill):
"""
可以最多指定4个角色技能进行排列组合,并通过一个技能栏快捷键施放。\n
点击技能连招下方的图标,可以设置技能顺序和调整初始化时间。\n
- 可将技能连招图标设置到技能栏快捷键中使用。\n
- 仅限在城镇及修炼场中进行设置。\n
按顺序施放添加在连招栏位中的技能。\n
- 具有再输入功能的技能,需结束所有再输入后,再切换至下一个技能。\n
- 若所有技能均在冷却中,则显示冷却时间最短的技能。\n
当前序部署的技能冷却结束后,经过一定时间,将切换至该前序技能。\n
- 切换至前序技能的时间可自行调整。 (0~5秒)\n
- 设置为0秒时,技能冷却结束后将立即切换至前序部署的技能。\n
- 设置为0秒时,可重复使用填充型技能及无冷却时间的技能。\n
包括觉醒技能在内的部分特殊技能将被排除在目标技能列表外,无法添加到技能连招中。\n
决斗场中无法使用技能连招。\n
"""
name = "技能连招"
learnLv = 1
masterLv = 1
maxLv = 1
cellPos = (8,0)
position = 8
rangeLv = None
cd = []
uuid = "10b31c7e8cd2d60b9bcf3b1d3ada4b0a"
hasVP = False
hasUP = False
custom = get_data(f'{prefix}/{uuid}', "custom") # noqa: E501
# 防具精通
# imperialknight/breaker/892ef624d8bf3d7fc045f84825fd6104
# 8d4d2001cdb357e41633c234eb7501b5/892ef624d8bf3d7fc045f84825fd6104
class Skill7(PassiveSkill):
"""
穿戴防具时,可以增加各种属性。\n
穿戴的防具越多,效果越强; 可根据转职,增加不同的属性种类及数值。\n
"""
name = "防具精通"
learnLv = 1
masterLv = 1
maxLv = 1
cellPos = (0,1)
position = 0
rangeLv = None
cd = []
uuid = "892ef624d8bf3d7fc045f84825fd6104"
icon = "$common/$uuid"
hasVP = False
hasUP = False
custom = get_data(f'{prefix}/{uuid}', "custom") # noqa: E501
# 穿心刺
# imperialknight/breaker/9dda3f4a849dba1a288dd65e116860f2
# 8d4d2001cdb357e41633c234eb7501b5/9dda3f4a849dba1a288dd65e116860f2
class Skill8(ActiveSkill):
"""
向前方迅速突进,攻击敌人要害后向下劈斩。\n
攻击可抓取的敌人时,使敌人进入强制控制状态。\n
"""
name = "穿心刺"
cellPos = (5,2)
learnLv = 5
masterLv = 60
maxLv = 70
position = 5
rangeLv = 3
cd = 5
mp = [30, 124]
uuid = "9dda3f4a849dba1a288dd65e116860f2"
hasVP = False
hasUP = False
custom = get_data(f'{prefix}/{uuid}', "custom") # noqa: E501
# 命中要害攻击力 : {value0}%
data0 = get_data(f'{prefix}/{uuid}', 0)
hit0 = 1
# 下劈攻击力 : {value1}%
data1 = get_data(f'{prefix}/{uuid}', 1)
hit1 = 1
# 舰炮飞踢
# imperialknight/breaker/4655101518604f874721b3cc249aae10
# 8d4d2001cdb357e41633c234eb7501b5/4655101518604f874721b3cc249aae10
class Skill9(ActiveSkill):
"""
对破浪者而言,强悍的体魄是不亚于枪锚的利器。 施放时,向前方发动飞踢。\n
可以在空中施放。 在空中施放时,向前方的地面下劈踢击。\n
施放过程中所受伤害减少。\n
"""
name = "舰炮飞踢"
cellPos = (6,2)
learnLv = 5
masterLv = 60
maxLv = 70
position = 6
rangeLv = 2
cd = 3
mp = [22, 93]
uuid = "4655101518604f874721b3cc249aae10"
hasVP = False
hasUP = False
custom = get_data(f'{prefix}/{uuid}', "custom") # noqa: E501
# 飞踢攻击力 : {value0}%
data0 = get_data(f'{prefix}/{uuid}', 0)
hit0 = 1
# 施放期间所受伤害减少率 : {value1}%
data1 = get_data(f'{prefix}/{uuid}', 1)
# 破浪斩
# imperialknight/breaker/0969cd4054d93da07708108c0cc1c4b5
# 8d4d2001cdb357e41633c234eb7501b5/0969cd4054d93da07708108c0cc1c4b5
class Skill10(ActiveSkill):
"""
用迅捷的动作对前方敌人发动下劈。\n
"""
name = "破浪斩"
cellPos = (5,3)
learnLv = 10
masterLv = 60
maxLv = 70
position = 5
rangeLv = 2
cd = 5
mp = [23, 97]
uuid = "0969cd4054d93da07708108c0cc1c4b5"
hasVP = False
hasUP = False
custom = get_data(f'{prefix}/{uuid}', "custom") # noqa: E501
# 下劈攻击力 : {value0}%
data0 = get_data(f'{prefix}/{uuid}', 0)
hit0 = 1
# 无畏登舰
# imperialknight/breaker/c9664191611af31142e052dfaef84530
# 8d4d2001cdb357e41633c234eb7501b5/c9664191611af31142e052dfaef84530
class Skill11(ActiveSkill):
"""
向前方勇猛突进,撞飞突进中碰到的所有敌人。\n
长按技能键可以维持突进状态,突进状态下按跳跃键 (C) 可以跳跃。\n
突进过程中可以强制中断并施放[激流勇进]、 [怒海冲击],此时将跳过相应技能的准备动作直接施放。\n
突进过程中减少所受伤害。\n
"""
name = "无畏登舰"
cellPos = (6,3)
learnLv = 10
masterLv = 60
maxLv = 70
position = 6
rangeLv = 3
cd = 7
mp = [42, 177]
uuid = "c9664191611af31142e052dfaef84530"
hasVP = False
hasUP = False
custom = get_data(f'{prefix}/{uuid}', "custom") # noqa: E501
# 突进攻击力 : {value0}%
data0 = get_data(f'{prefix}/{uuid}', 0)
hit0 = 1
# 突进持续时间上限 : {value1}秒
data1 = get_data(f'{prefix}/{uuid}', 1)
# 突进期间所受伤害减少率 : {value2}%
data2 = get_data(f'{prefix}/{uuid}', 2)
# 强化 - 后跳
# imperialknight/breaker/2b340542e776818b78f3212af184bd6b
# 8d4d2001cdb357e41633c234eb7501b5/2b340542e776818b78f3212af184bd6b
class Skill12(PassiveSkill):
"""
施放技能期间、 被击或倒地的状态下,可以施放无敌状态的[后跳]。\n
该能力适用与[后跳]不同的冷却时间,并且不受冷却时间减少效果的影响。\n
根据施放情况的不同(强制中断技能和被敌人攻击),进入不同冷却时间。\n
无法强制中断觉醒技能和跳跃超过一定高度的技能。\n
"""
name = "强化 - 后跳"
learnLv = 10
masterLv = 1
maxLv = 1
cellPos = (4,0)
position = 4
rangeLv = None
cd = 30
uuid = "2b340542e776818b78f3212af184bd6b"
icon = "$common/$uuid"
hasVP = False
hasUP = False
custom = get_data(f'{prefix}/{uuid}', "custom") # noqa: E501
# 强制中断技能时的冷却时间 : {value0}秒
data0 = get_data(f'{prefix}/{uuid}', 0)
# 被击或倒地期间施放时的冷却时间 : {value1}秒
data1 = get_data(f'{prefix}/{uuid}', 1)
# 跃翔
# imperialknight/breaker/1fea5a626f15230237946a11a9d11582
# 8d4d2001cdb357e41633c234eb7501b5/1fea5a626f15230237946a11a9d11582
class Skill13(ActiveSkill):
"""
增加自身20%的跳跃力,效果持续一定时间。\n
效果持续期间内,再次按技能键可以结束。\n
"""
name = "跃翔"
learnLv = 10
masterLv = 1
maxLv = 1
cellPos = (6,0)
position = 6
rangeLv = 3
cd = 5
mp = [13, 13]
uuid = "1fea5a626f15230237946a11a9d11582"
icon = "$common/$uuid"
hasVP = False
hasUP = False
custom = get_data(f'{prefix}/{uuid}', "custom") # noqa: E501
# 持续时间 : {value0}秒
data0 = get_data(f'{prefix}/{uuid}', 0)
# 无情铁律
# imperialknight/breaker/f2fb27162beb0b87a7cb9af7900e95f2
# 8d4d2001cdb357e41633c234eb7501b5/f2fb27162beb0b87a7cb9af7900e95f2
class Skill14(PassiveSkill):
"""
对帝国的敌人绝不姑息。 增加破浪者的基本攻击力、 转职技能攻击力和物理暴击率。\n
"""
name = "无情铁律"
cellPos = (1,4)
learnLv = 15
masterLv = 10
maxLv = 20
position = 1
rangeLv = 2
uuid = "f2fb27162beb0b87a7cb9af7900e95f2"
hasVP = False
hasUP = False
custom = get_data(f'{prefix}/{uuid}', "custom") # noqa: E501
# 基本攻击力和转职技能攻击力增加率 : {value0}%
data0 = get_data(f'{prefix}/{uuid}', 0)
# 物理暴击率增加 : {value1}%
data1 = get_data(f'{prefix}/{uuid}', 1)
# 迁移前实现(保留对照):
# associate = [{"data":data0}]
associate = [
SkillEffect(attribute=SkillAttribute.DAMAGE, value=1 + Percent(LevelTable(data0))),
]
# 枪锚踢击
# imperialknight/breaker/cfacda0647b9a0f595df2c2aad30c18d
# 8d4d2001cdb357e41633c234eb7501b5/cfacda0647b9a0f595df2c2aad30c18d
class Skill15(ActiveSkill):
"""
以枪锚为支点,施放强力旋转踢击。 被击中的敌人会被踢飞到远处,撞到其他敌人或墙上。\n
施放时可通过方向键调整踢击的方向。\n
施放过程中减少所受伤害。\n
"""
name = "枪锚踢击"
cellPos = (6,4)
learnLv = 15
masterLv = 60
maxLv = 70
position = 6
rangeLv = 2
cd = 7
mp = [50, 210]
uuid = "cfacda0647b9a0f595df2c2aad30c18d"
hasVP = False
hasUP = True
custom = get_data(f'{prefix}/{uuid}', "custom") # noqa: E501
# 踢击攻击力 : {value0}%
data0 = get_data(f'{prefix}/{uuid}', 0)
hit0 = 1
# 施放期间所受伤害减少率 : {value1}%
data1 = get_data(f'{prefix}/{uuid}', 1)
# 钩爪突袭
# imperialknight/breaker/2f5d03c7848effbc0a23f4df45d9ca46
# 8d4d2001cdb357e41633c234eb7501b5/2f5d03c7848effbc0a23f4df45d9ca46
class Skill16(ActiveSkill):
"""
学习技能后,会自动锚定范围内最强的敌人设置钩爪。 如果追踪范围内存在敌人,施放技能时,向钩爪锚定的敌人发动突袭并进行飞踢攻击。\n
可以取消转职技能施放后的僵直并施放[钩爪突袭],也可以取消[钩爪突袭]施放后的僵直并施放转职技能。\n
可以在地面和空中施放。\n
受[基础精通]的影响。\n
"""
name = "钩爪突袭"
cellPos = (4,4)
learnLv = 15
masterLv = 1
maxLv = 1
position = 4
rangeLv = 1
cd = 3
uuid = "2f5d03c7848effbc0a23f4df45d9ca46"
hasVP = False
hasUP = True
custom = get_data(f'{prefix}/{uuid}', "custom") # noqa: E501
# 飞踢攻击力 : {value0}%
data0 = get_data(f'{prefix}/{uuid}', 0)
hit0 = 1
# 钩爪维持时间 : {value1}秒
data1 = get_data(f'{prefix}/{uuid}', 1)
# 压制力 (4人队伍) : {value2}秒 ({value3}秒)
data2 = get_data(f'{prefix}/{uuid}', 2)
data3 = get_data(f'{prefix}/{uuid}', 3)
# [范围信息]
# 敌人追踪范围 : {value4}px
data4 = get_data(f'{prefix}/{uuid}', 4)
# 停航戒令
# imperialknight/breaker/45442bbbe33540b4deeec29437dae70c
# 8d4d2001cdb357e41633c234eb7501b5/45442bbbe33540b4deeec29437dae70c
class Skill17(ActiveSkill):
"""
向帝国之敌发出止步警告。 若敢违抗,破浪者将开启她最热衷的处刑时刻。\n
增加基本攻击力和转职技能攻击力。\n
"""
name = "停航戒令"
cellPos = (2,5)
learnLv = 20
masterLv = 10
maxLv = 20
position = 2
rangeLv = 3
cd = 5
uuid = "45442bbbe33540b4deeec29437dae70c"
hasVP = False
hasUP = False
custom = get_data(f'{prefix}/{uuid}', "custom") # noqa: E501
# 持续时间 : {value0}秒
data0 = get_data(f'{prefix}/{uuid}', 0)
# 基本攻击力和转职技能攻击力增加率 : {value1}%
data1 = get_data(f'{prefix}/{uuid}', 1)
# 船体碎击
# imperialknight/breaker/01c3a2fb793d293a25ed8dc7a0d70c1a
# 8d4d2001cdb357e41633c234eb7501b5/01c3a2fb793d293a25ed8dc7a0d70c1a
class Skill18(ActiveSkill):
"""
向前方高高跃起后下劈地面。\n
可以在空中施放。\n
"""
name = "船体碎击"
cellPos = (3,5)
learnLv = 20
masterLv = 60
maxLv = 70
position = 3
rangeLv = 2
cd = 8
mp = [53, 225]
uuid = "01c3a2fb793d293a25ed8dc7a0d70c1a"
hasVP = False
hasUP = True
custom = get_data(f'{prefix}/{uuid}', "custom") # noqa: E501
# 下劈攻击力 : {value0}%
data0 = get_data(f'{prefix}/{uuid}', 0)
hit0 = 1
# [范围信息]
# 攻击范围比率 : {value1}%
data1 = get_data(f'{prefix}/{uuid}', 1)
# 暴击
# imperialknight/breaker/fc1262c19f3d0477ee8eda47b8db8696
# 8d4d2001cdb357e41633c234eb7501b5/fc1262c19f3d0477ee8eda47b8db8696
class Skill19(PassiveSkill):
"""
集中精神,提升物理/魔法暴击率。\n
"""
name = "暴击"
learnLv = 20
masterLv = 10
maxLv = 20
cellPos = (5,0)
position = 5
rangeLv = 3
uuid = "fc1262c19f3d0477ee8eda47b8db8696"
hasVP = False
hasUP = False
custom = get_data(f'{prefix}/{uuid}', "custom") # noqa: E501
# 物理/魔法暴击率增加 : {value0}%
data0 = get_data(f'{prefix}/{uuid}', 0)
# 旋风扫荡
# imperialknight/breaker/8f73f243041c2d27739fe7696f02bf9b
# 8d4d2001cdb357e41633c234eb7501b5/8f73f243041c2d27739fe7696f02bf9b
class Skill20(ActiveSkill):
"""
用枪锚向前方大幅横扫,将被击中的敌人聚集到一处。 枪锚扫过的地方会刮起旋风,对范围内的敌人造成伤害。\n
"""
name = "旋风扫荡"
cellPos = (3,6)
learnLv = 25
masterLv = 60
maxLv = 70
position = 3
rangeLv = 2
cd = 8
mp = [72, 302]
uuid = "8f73f243041c2d27739fe7696f02bf9b"
hasVP = False
hasUP = True
custom = get_data(f'{prefix}/{uuid}', "custom") # noqa: E501
# 枪锚斩击攻击力 : {value0}%
data0 = get_data(f'{prefix}/{uuid}', 0)
hit0 = 1
# 旋风多段攻击力 : {value1}%
data1 = get_data(f'{prefix}/{uuid}', 1)
hit1 = 4
# 旋风多段攻击次数 : {value2}次
data2 = get_data(f'{prefix}/{uuid}', 2)
# 压制力 (4人队伍) : {value3}秒 ({value4}秒)
data3 = get_data(f'{prefix}/{uuid}', 3)
data4 = get_data(f'{prefix}/{uuid}', 4)
# [范围信息]
# 旋风大小比率 : {value5}%
data5 = get_data(f'{prefix}/{uuid}', 5)
# 海战体术
# imperialknight/breaker/8c2379737c5acc935c1731f67f607655
# 8d4d2001cdb357e41633c234eb7501b5/8c2379737c5acc935c1731f67f607655
class Skill21(PassiveSkill):
"""
虽看似在肆意破坏,但海战体术实际上更需要精妙的技巧。\n
增加基本攻击力和转职技能攻击力,同时提高命中率。\n
"""
name = "海战体术"
cellPos = (1,7)
learnLv = 30
masterLv = 10
maxLv = 20
position = 1
rangeLv = 2
uuid = "8c2379737c5acc935c1731f67f607655"
hasVP = False
hasUP = False
custom = get_data(f'{prefix}/{uuid}', "custom") # noqa: E501
# 基本攻击力和转职技能攻击力增加率 : {value0}%
data0 = get_data(f'{prefix}/{uuid}', 0)
# 命中率增加 : {value1}%
data1 = get_data(f'{prefix}/{uuid}', 1)
# 迁移前实现(保留对照):
# associate = [{"data":data0}]
associate = [
SkillEffect(attribute=SkillAttribute.DAMAGE, value=1 + Percent(LevelTable(data0))),
]
# 激流勇进
# imperialknight/breaker/9cb6f9ed646fa87f9b7680a42ce83d1a
# 8d4d2001cdb357e41633c234eb7501b5/9cb6f9ed646fa87f9b7680a42ce83d1a
class Skill22(ActiveSkill):
"""
向前方进行强力刺击。 命中敌人后会将其拉至破浪者前方。\n
按前方向键可以向前突进。\n
可以取消[激流勇进]施放后的僵直并施放转职技能。\n
"""
name = "激流勇进"
cellPos = (6,7)
learnLv = 30
masterLv = 60
maxLv = 70
position = 6
rangeLv = 2
cd = 8
mp = [64, 270]
uuid = "9cb6f9ed646fa87f9b7680a42ce83d1a"
hasVP = False
hasUP = True
custom = get_data(f'{prefix}/{uuid}', "custom") # noqa: E501
# 刺击攻击力 : {value0}%
data0 = get_data(f'{prefix}/{uuid}', 0)
hit0 = 1
# 按前方向键前进距离 : {value1}px
data1 = get_data(f'{prefix}/{uuid}', 1)
# 深海召唤
# imperialknight/breaker/3829c15bf5f520c13998a3479ba0ce7b
# 8d4d2001cdb357e41633c234eb7501b5/3829c15bf5f520c13998a3479ba0ce7b
class Skill23(ActiveSkill):
"""
破浪者选取有利于海战的物件,投向周围最强敌人的头顶。 该物件随后会响应破浪者的攻击,对周围敌人造成额外伤害。\n
如果索敌范围内没有敌人,该物件则会被投向破浪者前方。\n
在其他动作中施放时,可以无施放动作直接发动技能。 (觉醒技能除外)\n
"""
name = "深海召唤"
cellPos = (5,7)
learnLv = 30
masterLv = 60
maxLv = 70
position = 5
rangeLv = 2
cd = 10
mp = [80, 338]
uuid = "3829c15bf5f520c13998a3479ba0ce7b"
hasVP = False
hasUP = True
custom = get_data(f'{prefix}/{uuid}', "custom") # noqa: E501
# 坠落攻击力 : {value0}%
data0 = get_data(f'{prefix}/{uuid}', 0)
hit0 = 1
# 炮弹/火药桶爆炸攻击力 : {value1}%
data1 = get_data(f'{prefix}/{uuid}', 1)
# 炮弹/火药桶爆炸多段攻击次数 : {value2}次
data2 = get_data(f'{prefix}/{uuid}', 2)
# 水柱多段攻击力 : {value3}%
data3 = get_data(f'{prefix}/{uuid}', 3)
hit3 = 3
# 水柱多段攻击次数 : {value4}次
data4 = get_data(f'{prefix}/{uuid}', 4)
# [范围信息]
# 索敌范围 : {value5}px
data5 = get_data(f'{prefix}/{uuid}', 5)
# 攻击范围比率 : {value6}%
data6 = get_data(f'{prefix}/{uuid}', 6)
# 狂风斩
# imperialknight/breaker/4224f9b0b8c7c903e9a1e0f9d9f6d04d
# 8d4d2001cdb357e41633c234eb7501b5/4224f9b0b8c7c903e9a1e0f9d9f6d04d
class Skill24(ActiveSkill):
"""
以十字形交替挥动枪锚。 第一次斩击后,在一定时间内再次按技能键可发动第二次斩击。 连续施放时,可以取消第一次斩击施放后的僵直并立即施放第二次斩击。\n
"""
name = "狂风斩"
cellPos = (3,8)
learnLv = 35
masterLv = 60
maxLv = 70
position = 3
rangeLv = 2
cube = 1
cd = 14
mp = [142, 598]
uuid = "4224f9b0b8c7c903e9a1e0f9d9f6d04d"
hasVP = True
hasUP = True
custom = get_data(f'{prefix}/{uuid}', "custom") # noqa: E501
vps = get_data(f'{prefix}/{uuid}', "vps") # noqa: E501
# 第一次斩击攻击力 : {value0}%
data0 = get_data(f'{prefix}/{uuid}', 0)
hit0 = 1
# 第二次斩击攻击力 : {value1}%
data1 = get_data(f'{prefix}/{uuid}', 1)
hit1 = 1
# 追加按键有效时间 : {value2}秒
data2 = get_data(f'{prefix}/{uuid}', 2)
# [范围信息]
# 攻击范围比率 : {value3}%
data3 = get_data(f'{prefix}/{uuid}', 3)
def vp_1(self):
"""
[狂风斩]\n
变更为不分开斩击,一次性发动两次斩击\n
"""
...
def vp_2(self):
"""
[狂风斩]\n
追踪一定范围内的敌人\n
施放时,所受伤害减少30%,效果持续8秒\n
"""
...
# 潮汐之缚
# imperialknight/breaker/78bd107acd474518b606be1e4fd38239
# 8d4d2001cdb357e41633c234eb7501b5/78bd107acd474518b606be1e4fd38239
class Skill25(ActiveSkill):
"""
向追踪范围内钩爪锚定的敌人迅速接近并发动突袭。 若与敌人距离较近,则突袭改为斩击。\n
每次攻击钩爪锚定的敌人时,都会减少[潮汐之缚]的剩余冷却时间。\n
若敌人为可抓取状态,在地面按下方向键时,可以将其拉至破浪者身前。\n
可以取消转职技能施放后的僵直并施放[潮汐之缚],也可以取消[潮汐之缚]施放后的僵直并施放转职技能。\n
可以在地面和空中施放。\n
"""
name = "潮汐之缚"
cellPos = (4,8)
learnLv = 35
masterLv = 60
maxLv = 70
position = 4
rangeLv = 3
cd = 18
mp = [122, 516]
uuid = "78bd107acd474518b606be1e4fd38239"
hasVP = True
hasUP = True
custom = get_data(f'{prefix}/{uuid}', "custom") # noqa: E501
vps = get_data(f'{prefix}/{uuid}', "vps") # noqa: E501
# 飞踢攻击力 : {value0}%
data0 = get_data(f'{prefix}/{uuid}', 0)
hit0 = 1
# 钩爪维持时间 : {value1}秒
data1 = get_data(f'{prefix}/{uuid}', 1)
# 攻击被钩住的敌人时冷却时间减少量 : {value2}秒
data2 = get_data(f'{prefix}/{uuid}', 2)
# 攻击被钩住的敌人时冷却时间减少量上限 : {value3}秒
data3 = get_data(f'{prefix}/{uuid}', 3)
# 压制力 (4人队伍) : {value4}秒 ({value5}秒)
data4 = get_data(f'{prefix}/{uuid}', 4)
data5 = get_data(f'{prefix}/{uuid}', 5)
# [范围信息]
# 敌人追踪范围 : {value6}px
data6 = get_data(f'{prefix}/{uuid}', 6)
def vp_1(self):
"""
[潮汐之缚]\n
变更为攻击敌人时,不会减少[潮汐之缚]的剩余冷却时间\n
基础冷却时间变为9秒\n
- 技能攻击力 -11.5%\n
"""
self.cd = 9
self.skillRation *= 1 - 0.115
def vp_2(self):
"""
[潮汐之缚]\n
索敌范围 +20%\n
施放时,初始化[钩爪突袭]的冷却时间\n
[钩爪突袭]\n
索敌范围 +20%\n
攻击力 -17.6%\n
"""
pass
# self.cd = 7
# self.skillRation *= 1 - 0.5
# 迁移前实现(保留对照):
# def effect(self, old, new):
# if self.vp == 2:
# self.associate = [{'type': '*skillRation', 'data': [0] + [-17.6] * self.maxLv, 'skills': ['钩爪突袭']}]
# return super().effect(old, new)
associate = [
SkillEffect(attribute=SkillAttribute.PANEL_RATIO, value=1 + Percent(LevelTable([0] + [-17.6] * maxLv)), skills=['钩爪突袭'], when=Equals(Read(SkillAttribute.VP), 2)),
]
# 逆浪断空
# imperialknight/breaker/d085127b0edd719782bd618d5688f4a1
# 8d4d2001cdb357e41633c234eb7501b5/d085127b0edd719782bd618d5688f4a1
class Skill26(ActiveSkill):
"""
连续攻击两次后,施放强力上挑斩击。\n
"""
name = "逆浪断空"
cellPos = (3,9)
learnLv = 40
masterLv = 60
maxLv = 70
position = 3
rangeLv = 2
cube = 1
cd = 18
mp = [196, 825]
uuid = "d085127b0edd719782bd618d5688f4a1"
hasVP = True
hasUP = True
custom = get_data(f'{prefix}/{uuid}', "custom") # noqa: E501
vps = get_data(f'{prefix}/{uuid}', "vps") # noqa: E501
# 第一次斩击攻击力 : {value0}%
data0 = get_data(f'{prefix}/{uuid}', 0)
hit0 = 1
# 第二次斩击攻击力 : {value1}%
data1 = get_data(f'{prefix}/{uuid}', 1)
hit1 = 1
# 终结斩击攻击力 : {value2}%
data2 = get_data(f'{prefix}/{uuid}', 2)
hit2 = 1
# [范围信息]
# 攻击范围比率 : {value3}%
data3 = get_data(f'{prefix}/{uuid}', 3)
def vp_1(self):
"""
[逆浪断空]\n
立即施放终结斩击,向前方发射冲击波\n
攻击范围 +30%\n
"""
...
def vp_2(self):
"""
[逆浪断空]\n
可以取消转职技能的施放后僵直并施放该技能,也可以取消该技能的施放后僵直并施放转职技能\n
被连续斩击命中的敌人聚集到前方\n
"""
...
# 乘风破浪
# imperialknight/breaker/42c82812f86ff6704ae9952a2e6093a4
# 8d4d2001cdb357e41633c234eb7501b5/42c82812f86ff6704ae9952a2e6093a4
class Skill27(ActiveSkill):
"""
将枪锚深深插入地面,通过聚集全力的斩击产生强烈的冲击波。\n
可以取消转职技能的施放后僵直并施放[乘风破浪],也可以取消[乘风破浪]的施放后僵直并施放转职技能。\n
"""
name = "乘风破浪"
cellPos = (3,10)
learnLv = 45
masterLv = 60
maxLv = 70
position = 3
rangeLv = 2
cube = 2
cd = 40
mp = [334, 1406]
uuid = "42c82812f86ff6704ae9952a2e6093a4"
hasVP = True
hasUP = True
custom = get_data(f'{prefix}/{uuid}', "custom") # noqa: E501
vps = get_data(f'{prefix}/{uuid}', "vps") # noqa: E501
# 全力斩击攻击力 : {value0}%
data0 = get_data(f'{prefix}/{uuid}', 0)
hit0 = 1
# [范围信息]
# 攻击范围比率 : {value1}%
data1 = get_data(f'{prefix}/{uuid}', 1)
def vp_1(self):
"""
[乘风破浪]\n
快速挥动枪锚,随后生成以圆形炸开的海浪轨迹\n
施放时,增加破浪者的速度\n
- 加速效果持续时间 : 10秒\n
- 攻击速度 +10%\n
- 移动速度 +10%\n
"""
...
def vp_2(self):
"""
[乘风破浪]\n
攻击范围 +30%\n
命中敌人后,敌人进入3秒的强制控制状态\n
对被命中的敌人施加压制力\n
技能结束后维持0.5秒无敌状态\n
"""
...
# 桀骜不驯
# imperialknight/breaker/3d8f3d438405d79f8d3ed68072674d1e
# 8d4d2001cdb357e41633c234eb7501b5/3d8f3d438405d79f8d3ed68072674d1e
class Skill28(PassiveSkill):
"""
想要凭蛮力阻挡破浪者几乎不可能,更别提只靠口头威胁……\n
增加基本攻击力和转职技能攻击力,部分技能施放过程中,额外减少所受伤害。\n
[目标技能]\n
[舰炮飞踢]、 [无畏登舰]、 [枪锚踢击]、 [怒海冲击]、 [战栗轰击]\n
"""
name = "桀骜不驯"
cellPos = (1,11)
learnLv = 48
masterLv = 40
maxLv = 50
position = 1
rangeLv = 3
uuid = "3d8f3d438405d79f8d3ed68072674d1e"
hasVP = False
hasUP = False
custom = get_data(f'{prefix}/{uuid}', "custom") # noqa: E501
# 基本攻击力和转职技能攻击力增加率 : {value0}%
data0 = get_data(f'{prefix}/{uuid}', 0)
# 部分技能所受伤害额外减少率 : {value1}%
data1 = get_data(f'{prefix}/{uuid}', 1)
# 迁移前实现(保留对照):
# associate = [ {"data":data0} ]
associate = [
SkillEffect(attribute=SkillAttribute.DAMAGE, value=1 + Percent(LevelTable(data0))),
]
# 鸣镝破阵
# imperialknight/breaker/ade01c1d6afc8a05055225045e89fe49
# 8d4d2001cdb357e41633c234eb7501b5/ade01c1d6afc8a05055225045e89fe49
class Skill29(ActiveSkill):
"""
以锁链缠绕船首并全力砸下,在剧烈的爆炸声中吹响开战的号角。\n
"""
name = "鸣镝破阵"
cellPos = (5,11)
learnLv = 50
masterLv = 40
maxLv = 50
position = 5
rangeLv = 5
cube = 5
cd = 135
mp = [916, 3007]
uuid = "ade01c1d6afc8a05055225045e89fe49"
hasVP = False
hasUP = False
custom = get_data(f'{prefix}/{uuid}', "custom") # noqa: E501
# 投掷铁链多段攻击力 : {value0}%
data0 = get_data(f'{prefix}/{uuid}', 0)
hit0 = 4
# 投掷铁链多段攻击次数 : {value1}次
data1 = get_data(f'{prefix}/{uuid}', 1)
# 铁链摆动多段攻击力 : {value2}%
data2 = get_data(f'{prefix}/{uuid}', 2)
hit2 = 4
# 铁链摆动多段攻击次数 : {value3}次
data3 = get_data(f'{prefix}/{uuid}', 3)
# 爆炸攻击力 : {value4}%
data4 = get_data(f'{prefix}/{uuid}', 4)
hit4 = 1
# 怒海冲击
# imperialknight/breaker/ff171dc487807bb9aa28900ca9a46b41
# 8d4d2001cdb357e41633c234eb7501b5/ff171dc487807bb9aa28900ca9a46b41
class Skill30(ActiveSkill):
"""
用无法抵挡的气势,进行猛烈的刺击。\n
可以在[无畏登舰]施放过程中强制中断并施放该技能。 被命中的敌人会被拉至破浪者的前方。\n
施放过程中所受伤害减少。\n
"""
name = "怒海冲击"
cellPos = (6,12)
learnLv = 60
masterLv = 40
maxLv = 50
position = 6
rangeLv = 2
cube = 1
cd = 25
mp = [219, 718]
uuid = "ff171dc487807bb9aa28900ca9a46b41"
hasVP = True
hasUP = True
custom = get_data(f'{prefix}/{uuid}', "custom") # noqa: E501
vps = get_data(f'{prefix}/{uuid}', "vps") # noqa: E501
# 刺击攻击力 : {value0}%
data0 = get_data(f'{prefix}/{uuid}', 0)
hit0 = 1
# 刺击期间所受伤害减少率 : {value1}%
data1 = get_data(f'{prefix}/{uuid}', 1)
def vp_1(self):
"""
[怒海冲击]\n
不再进行突进,原地发散席卷周围的强劲气势\n
可以取消转职技能的施放后僵直并施放该技能,也可以取消[怒海冲击]的施放后僵直并施放转职技能\n
"""
...
def vp_2(self):
"""
[怒海冲击]\n
通过踏地强制控制周围大范围敌人并进行压制后,发动终结刺击攻击\n
施放时,在一定时间内,部分技能施放过程中所受伤害额外减少\n
[目标技能]\n
[舰炮飞踢]、 [无畏登舰]、 [枪锚踢击]、 [怒海冲击]、 [战栗轰击]\n
"""
# 游戏内存在bug
self.skillDamage *= 1.9
...
# 气卷万涛
# imperialknight/breaker/547ab2b2bd860d3e37355a9cfbc1077c
# 8d4d2001cdb357e41633c234eb7501b5/547ab2b2bd860d3e37355a9cfbc1077c
class Skill31(ActiveSkill):
"""
以漩涡状挥动枪锚,吸附敌人后发动强力终结斩击。\n
"""
name = "气卷万涛"
cellPos = (3,13)
learnLv = 70
masterLv = 40
maxLv = 50
position = 3
rangeLv = 2
cube = 2
cd = 50
mp = [390, 1281]
uuid = "547ab2b2bd860d3e37355a9cfbc1077c"
hasVP = True
hasUP = True
custom = get_data(f'{prefix}/{uuid}', "custom") # noqa: E501
vps = get_data(f'{prefix}/{uuid}', "vps") # noqa: E501
# 上升气流多段攻击力 : {value0}%
data0 = get_data(f'{prefix}/{uuid}', 0)
hit0 = 8
# 上升气流多段攻击次数 : {value1}次
data1 = get_data(f'{prefix}/{uuid}', 1)
# 终结斩击攻击力 : {value2}%
data2 = get_data(f'{prefix}/{uuid}', 2)
hit2 = 1
# 压制力 (4人队伍) : {value3}秒 ({value4}秒)
data3 = get_data(f'{prefix}/{uuid}', 3)
data4 = get_data(f'{prefix}/{uuid}', 4)
# [范围信息]
# 攻击范围比率 : {value5}%
data5 = get_data(f'{prefix}/{uuid}', 5)
def vp_1(self):
"""
[气卷万涛]\n
变更为通过单次斩击产生席卷周围的漩涡\n
施放技能时,增加破浪者的速度\n
- 加速效果持续时间 : 10秒\n
- 攻击速度 +10%\n
- 移动速度 +10%\n
"""
...
def vp_2(self):
"""
[气卷万涛]\n
施放时变为无敌状态\n
攻击范围 +30%\n
"""
...
# 海妖之歌
# imperialknight/breaker/506e7ed77d517419a6e1c437a2cedb17
# 8d4d2001cdb357e41633c234eb7501b5/506e7ed77d517419a6e1c437a2cedb17
class Skill32(PassiveSkill):
"""
优雅而恐怖的海妖传说传遍了帝国内外。\n
增加破浪者的基本攻击力和转职技能攻击力。\n
"""
name = "海妖之歌"
cellPos = (1,13)
learnLv = 75
masterLv = 40
maxLv = 50
position = 1
rangeLv = 3
uuid = "506e7ed77d517419a6e1c437a2cedb17"
hasVP = False
hasUP = False
custom = get_data(f'{prefix}/{uuid}', "custom") # noqa: E501
# 基本攻击力和转职技能攻击力增加率 : {value0}%
data0 = get_data(f'{prefix}/{uuid}', 0)
# 迁移前实现(保留对照):
# associate = [ {"data":data0} ]
associate = [
SkillEffect(attribute=SkillAttribute.DAMAGE, value=1 + Percent(LevelTable(data0))),
]
# 战栗轰击
# imperialknight/breaker/a5fa08f5d509e6ff2ebc68856a470b5a
# 8d4d2001cdb357e41633c234eb7501b5/a5fa08f5d509e6ff2ebc68856a470b5a
class Skill33(ActiveSkill):
"""
如炮弹般腾空跃起,俯冲坠地衔接枪锚猛击,粉碎目标区域的敌人。\n
可通过方向键指定强袭位置。 施放过程中所受伤害减少。\n
"""
name = "战栗轰击"
cellPos = (6,13)
learnLv = 75
masterLv = 40
maxLv = 50
position = 6
rangeLv = 2
cube = 3
cd = 40
mp = [716, 2349]
uuid = "a5fa08f5d509e6ff2ebc68856a470b5a"
hasVP = True
hasUP = True
custom = get_data(f'{prefix}/{uuid}', "custom") # noqa: E501
vps = get_data(f'{prefix}/{uuid}', "vps") # noqa: E501
# 坠地攻击力 : {value0}%
data0 = get_data(f'{prefix}/{uuid}', 0)
hit0 = 1
# 最后一击攻击力 : {value1}%
data1 = get_data(f'{prefix}/{uuid}', 1)
hit1 = 1
# 施放期间所受伤害减少率 : {value2}%
data2 = get_data(f'{prefix}/{uuid}', 2)
# [范围信息]
# 最后一击范围比率 : {value3}%
data3 = get_data(f'{prefix}/{uuid}', 3)
def vp_1(self):
"""
[战栗轰击]\n
变更为立即进行终结下劈的技能\n
可以在空中施放\n
变更为可填充2次的技能\n
- 每次填充冷却时间 : 20秒\n
- 单次攻击力 -50%\n
"""
self.cd = 20
self.skillRation *= 0.5
def vp_2(self):
"""
[战栗轰击]\n
跳到高空中,对大范围敌人进行强力下劈\n
- 攻击范围 +70%\n
基础冷却时间变为80秒\n
- 攻击力 +100%\n
"""
self.cd = 80
self.skillRation *= 2
# 蛟龙惊涛
# imperialknight/breaker/5dc7008b12a459325b548b0715c6b73c
# 8d4d2001cdb357e41633c234eb7501b5/5dc7008b12a459325b548b0715c6b73c
class Skill34(ActiveSkill):
"""
一边向前方移动,一边发动强力旋转斩击,将甲板上的敌人全部横扫。\n
按前方向键可以增加移动距离。\n
"""
name = "蛟龙惊涛"
cellPos = (3,14)
learnLv = 80
masterLv = 40
maxLv = 50
position = 3
rangeLv = 2
cube = 5
cd = 45
mp = [882, 2894]
uuid = "5dc7008b12a459325b548b0715c6b73c"
hasVP = True
hasUP = True
custom = get_data(f'{prefix}/{uuid}', "custom") # noqa: E501
vps = get_data(f'{prefix}/{uuid}', "vps") # noqa: E501
# 第一次旋转多段攻击力 : {value0}%
data0 = get_data(f'{prefix}/{uuid}', 0)
hit0 = 3
# 第一次旋转多段攻击次数 : {value1}次
data1 = get_data(f'{prefix}/{uuid}', 1)
# 第二次旋转多段攻击力 : {value2}%
data2 = get_data(f'{prefix}/{uuid}', 2)
hit2 = 3
# 第二次旋转多段攻击次数 : {value3}次
data3 = get_data(f'{prefix}/{uuid}', 3)
# 最后一击多段攻击力 : {value4}%
data4 = get_data(f'{prefix}/{uuid}', 4)
hit4 = 3
# 最后一击多段攻击次数 : {value5}次
data5 = get_data(f'{prefix}/{uuid}', 5)
# [范围信息]
# 攻击范围比率 : {value6}%
data6 = get_data(f'{prefix}/{uuid}', 6)
def vp_1(self):
"""
[蛟龙惊涛]\n
向前方发射物体,引发多次多段攻击\n
"""
...
def vp_2(self):
"""
[蛟龙惊涛]\n
将最后被击中的敌人标记为猎物\n
- 被标记为猎物的敌人进入出血状态\n
- 若攻击被标记的敌人,每存在1个标记,恢复破浪者30%的生命值\n
攻击范围 +30%\n
"""
...
# 四海游龙
# imperialknight/breaker/8ee0099656df08a0b39225f8a21d514b
# 8d4d2001cdb357e41633c234eb7501b5/8ee0099656df08a0b39225f8a21d514b
class Skill35(ActiveSkill):
"""
正面强攻并非破浪者唯一的手段。 她能潜入敌舰下方将其撞碎,随后跃出水面发动终结斩击,将一切葬送海底。\n
长按技能键可维持潜水状态; 潜水过程中,可以通过前后方向键选择终结斩击的位置。\n
潜水状态下施放[海神降临]时,可以将两个技能合并施放,此时两者攻击力也会合并计算。\n
"""
name = "四海游龙"
cellPos = (5,14)
learnLv = 85
masterLv = 40
maxLv = 50
position = 5
rangeLv = 5
cube = 10
cd = 170
mp = [1457, 4785]
uuid = "8ee0099656df08a0b39225f8a21d514b"
hasVP = False
hasUP = False
custom = get_data(f'{prefix}/{uuid}', "custom") # noqa: E501
# 敌舰破坏攻击力 : {value0}%
data0 = get_data(f'{prefix}/{uuid}', 0)
hit0 = 3
# 敌舰破坏多段攻击次数 : {value1}次
data1 = get_data(f'{prefix}/{uuid}', 1)
# 终结斩击攻击力 : {value2}%
data2 = get_data(f'{prefix}/{uuid}', 2)
hit2 = 5
# 终结斩击多段攻击次数 : {value3}次
data3 = get_data(f'{prefix}/{uuid}', 3)
# 潜水状态最长维持时间 : {value4}秒
data4 = get_data(f'{prefix}/{uuid}', 4)
# 逆流而上
# imperialknight/breaker/9bff7f2559e003766fee2853dca00631
# 8d4d2001cdb357e41633c234eb7501b5/9bff7f2559e003766fee2853dca00631
class Skill36(PassiveSkill):
"""
风向决定浪潮。 但若波浪拥有意志,亦能掀起逆流狂潮。\n
鸣锋·破浪者的基本攻击力和转职技能攻击力增加。 此外,[钩爪突袭]和[潮汐之缚]变更为可以在倒地状态下使用,部分技能得到强化。\n
[船体碎击]\n
增加以打击点为中心生成冲击波的功能。\n
[激流勇进]\n
技能施放特效变更,施放过程中所受伤害减少。\n
"""
name = "逆流而上"
cellPos = (1,15)
learnLv = 95
masterLv = 40
maxLv = 50
position = 1
rangeLv = 3
uuid = "9bff7f2559e003766fee2853dca00631"
hasVP = False
hasUP = False
custom = get_data(f'{prefix}/{uuid}', "custom") # noqa: E501
# 基本攻击力和转职技能攻击力增加率 : {value0}%
data0 = get_data(f'{prefix}/{uuid}', 0)
# [激流勇进]所受伤害减少率 : 30%
# 迁移前实现(保留对照):
# associate = [ {"data":data0} ]
associate = [
SkillEffect(attribute=SkillAttribute.DAMAGE, value=1 + Percent(LevelTable(data0))),
]
# [激流勇进]所受伤害减少率 : 30%
# 狂澜风暴舞
# imperialknight/breaker/da6e37c1e3f0e8867f70007d89c239ff
# 8d4d2001cdb357e41633c234eb7501b5/da6e37c1e3f0e8867f70007d89c239ff
class Skill37(ActiveSkill):
"""
化作无可阻挡的猛烈风暴,通过连续斩击扫除周围所有敌人。\n
可再次按技能键或攻击键取消每次斩击后的僵直; 施放斩击时,可以按方向键移动施放。\n
可以取消转职技能的施放后僵直来连接[狂澜风暴舞],也可以取消[狂澜风暴舞]的施放后僵直来连接转职技能。\n
"""
name = "狂澜风暴舞"
cellPos = (3,15)
learnLv = 95
masterLv = 40
maxLv = 50
position = 3
rangeLv = 2
cube = 7
cd = 60
mp = [943, 3096]
uuid = "da6e37c1e3f0e8867f70007d89c239ff"
hasVP = False
hasUP = False
custom = get_data(f'{prefix}/{uuid}', "custom") # noqa: E501
# 第一次斩击攻击力 : {value0}%
data0 = get_data(f'{prefix}/{uuid}', 0)
hit0 = 1
# 第二次斩击攻击力 : {value1}%
data1 = get_data(f'{prefix}/{uuid}', 1)
hit1 = 1
# 第三次斩击攻击力 : {value2}%
data2 = get_data(f'{prefix}/{uuid}', 2)
hit2 = 1
# 最后一击攻击力 : {value3}%
data3 = get_data(f'{prefix}/{uuid}', 3)
hit3 = 1
# 海神降临
# imperialknight/breaker/a6c8f69107f8c4f5d1a0c7a57d000290
# 8d4d2001cdb357e41633c234eb7501b5/a6c8f69107f8c4f5d1a0c7a57d000290
class Skill38(ActiveSkill):
"""
海神之威划破长空,凭一己之力粉碎敌军舰队。 受袭战舰被鸣锋·破浪者的锁链缠绕抡起,随后引发剧烈的连环爆炸。\n
可以强制中断[四海游龙]的潜水状态,并合并施放[海神降临]技能。\n
"""
name = "海神降临"
cellPos = (5,16)
learnLv = 100
masterLv = 40
maxLv = 50
position = 5
rangeLv = 5
cube = 15
cd = 270
mp = [2258, 7414]
uuid = "a6c8f69107f8c4f5d1a0c7a57d000290"
hasVP = False
hasUP = False
custom = get_data(f'{prefix}/{uuid}', "custom") # noqa: E501
# 第一次粉碎攻击力 : {value0}%
data0 = get_data(f'{prefix}/{uuid}', 0)
hit0 = 1
# 第二次粉碎攻击力 : {value1}%
data1 = get_data(f'{prefix}/{uuid}', 1)
hit1 = 1
# 终结爆炸多段攻击力 : {value2}%
data2 = get_data(f'{prefix}/{uuid}', 2)
hit2 = 5
# 终结爆炸多段次数 : {value3}次
data3 = get_data(f'{prefix}/{uuid}', 3)
class classChange(Character):
def __init__(self, equVersion):
self.name = 'breaker'
self.nameCN = '鸣锋·破浪者'
self.role = 'imperialknight'
self.角色 = '帝国骑士'
self.职业 = '破浪者'
self.jobId = '8d4d2001cdb357e41633c234eb7501b5'
self.jobGrowId = '37495b941da3b1661bc900e68ef3b2c6'
self.武器选项 = ['枪锚'] # TODO
self.输出类型选项 = ['物理百分比'] # TODO
self.输出类型 = '物理百分比' # TODO
self.防具精通属性 = ['力量'] # TODO
self.防具类型 = '重甲'
self.buff = 2.083 # TODO
super().__init__(equVersion, __name__)