feat:同步国服数据

This commit is contained in:
2026-07-13 01:35:40 +08:00
parent dada284856
commit 09c1ac3674
74 changed files with 46479 additions and 24879 deletions
+2
View File
@@ -65,6 +65,8 @@ def get_data(prefix: str, key: int | str, func: Callable[[Any], Any] = _identity
elif key == "custom":
data = next((item.get('custom', 1.0) for item in custom_cn or []
if item['job'] == job and item['jobGrow'] == jobGrow and item['skillId'] == skill), 1.0)
elif key == "cdList":
data = [0] + [row.get("coolTime", 0) for row in skill_data["levelInfo"]["rows"]]
except Exception:
# print(f"get skill {prefix}/{key} data error")
data = None
+321 -56
View File
@@ -3,6 +3,7 @@ from core.basic.skill import PassiveSkill, ActiveSkill, get_data
from core.basic.character import Character
prefix = "archer/chimera/cn/skillDetail"
# 凌跃一击
# archer/chimera/0969cd4054d93da07708108c0cc1c4b5
# b9cb48777665de22c006fabaf9a560b3/0969cd4054d93da07708108c0cc1c4b5
@@ -10,9 +11,10 @@ class Skill0(ActiveSkill):
"""
该技能可在地面和空中施放。\n
向后微微跃起,并根据武器的不同,向地面发射不同的投射物,使敌人浮空。\n
攻击时, 有霸体判定; 转职为缪斯或奇美拉后, 技能类型变为独立攻击力。
攻击时,有霸体判定; 转职为缪斯或奇美拉后,技能类型变为独立攻击力。\n
"""
name = "凌跃一击"
cellPos = (6,1)
learnLv = 1
masterLv = 10
maxLv = 20
@@ -46,6 +48,27 @@ class Skill0(ActiveSkill):
data7 = get_data(f'{prefix}/{uuid}', 7)
hit7 = 1
# 后跳
# archer/chimera/7822d6d52e10964a6755f142c666b494
# b9cb48777665de22c006fabaf9a560b3/7822d6d52e10964a6755f142c666b494
# MIGRATION: character 中没有同名技能“后跳”,暂不启用
# class Skill1(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
# 基础精通
@@ -54,9 +77,10 @@ class Skill0(ActiveSkill):
class Skill2(PassiveSkill):
"""
增加基本攻击、 前冲攻击、 跳跃攻击、 [凌跃一击]技能的攻击力。\n
决斗场中, 增益/减益技能、 被动技能的技能攻击力增加效果对[基础精通]无影响。
决斗场中,增益/减益技能、 被动技能的技能攻击力增加效果对[基础精通]无影响。\n
"""
name = "基础精通"
cellPos = (1,0)
learnLv = 1
masterLv = 115
maxLv = 200
@@ -77,14 +101,45 @@ class Skill2(PassiveSkill):
associate = [{"type":"*skillDamage","data":[i-100 if i>0 else 0 for i in data0],"skills":["华丽回收"]}]
# 受身蹲伏
# archer/chimera/ce26c6b69d02a440a81b552bec94f03b
# b9cb48777665de22c006fabaf9a560b3/ce26c6b69d02a440a81b552bec94f03b
# MIGRATION: character 中没有同名技能“受身蹲伏”,暂不启用
# class Skill3(ActiveSkill):
# """
# 使自身在倒地状态下迅速起身并采取蹲伏姿势; 蹲伏状态下,自身会进入无敌状态,效果持续一定时间。\n
# """
# name = "受身蹲伏"
# learnLv = 1
# masterLv = 10
# 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)
# 肃静!
# archer/chimera/e2cfb515fe293cf121a649fcc4bab84b
# b9cb48777665de22c006fabaf9a560b3/e2cfb515fe293cf121a649fcc4bab84b
class Skill4(PassiveSkill):
"""
奇美拉似乎被他人的说教影响了, 其技能和部分台词将变得更加乖巧。
奇美拉似乎被他人的说教影响了,其技能和部分台词将变得更加乖巧。\n
"""
name = "肃静!"
cellPos = (5,1)
learnLv = 1
masterLv = 1
maxLv = 1
@@ -102,12 +157,14 @@ class Skill4(PassiveSkill):
class Skill5(PassiveSkill):
"""
由于频繁的研究和实验,奇美拉经常面临资金困境,因此选择使用可回收的暗器。\n
可以装备嵌合弓, 并在后跳时进行基本攻击。\n
施放各系列技能后, 会留下可“回收利用”武器。 装备嵌合弓回收武器后, 将减少该系列技能的剩余冷却时间。 冷却时间减少比率按照各技能冷却时间的比率减少, 每个技能最多可使用1次减少冷却时间功能。\n
学习后, 在可回收范围内, 最近的“回收利用”武器处会显示提醒回收的特效。\n
每种类型的“回收利用”武器在地图上最多存在6个, 超出数量时, 最早出现的“回收利用”武器将消失。
可以装备嵌合弓,并可在后跳时进行基本攻击。\n
施放各系列技能后,会留下可“回收利用”武器。 在装备嵌合弓的状态下回收武器后,将减少该系列技能的剩余冷却时间。\n
武器回收成功时,提升移动速度,该效果持续3秒且随时间逐渐减弱。 冷却时间减少比率按照各技能冷却时间比率计算,每个技能最多适用1次冷却时间减少功能。\n
学习后,在最近的“回收利用”武器处显示提醒回收的特效。\n
每种类型的“回收利用”武器在地图上最多存在6个,超出数量时,最早出现的“回收利用”武器将消失。\n
"""
name = "回收利用"
cellPos = (1,1)
learnLv = 1
masterLv = 1
maxLv = 1
@@ -118,12 +175,72 @@ class Skill5(PassiveSkill):
hasUP = False
custom = get_data(f'{prefix}/{uuid}', "custom") # noqa: E501
# 回收武器后, 技能剩余冷却时间减少率 : {value0}%
# 国服改成了15%,原CD基础*50%
data0 = get_data(f'{prefix}/{uuid}', 0, lambda x: [62.5 if i >0 else i for i in x])
# 回收武器后,技能冷却时间减少率 : {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":"*cdRatio","data":data0,"skills":['投掷匕首', '首足连击', '空翻刃袭', '利剑四重奏', '土星环', '环形毒液', '狂锯旋斧', '刺猬困境', '王冠粉碎者', '巨镰斯诺克', '环阿拉德狂飙']}, ]
# 技能连招
# archer/chimera/10b31c7e8cd2d60b9bcf3b1d3ada4b0a
# b9cb48777665de22c006fabaf9a560b3/10b31c7e8cd2d60b9bcf3b1d3ada4b0a
# MIGRATION: character 中没有同名技能“技能连招”,暂不启用
# 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
# 防具精通
# archer/chimera/892ef624d8bf3d7fc045f84825fd6104
# b9cb48777665de22c006fabaf9a560b3/892ef624d8bf3d7fc045f84825fd6104
# MIGRATION: character 中没有同名技能“防具精通”,暂不启用
# 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
# 全力挥击
# archer/chimera/4655101518604f874721b3cc249aae10
@@ -132,9 +249,10 @@ class Skill7(ActiveSkill):
"""
用力挥舞弓,击打周围的敌人,并向前推出。\n
转职为猎人时,再次按技能键会立即发射一枚爆炸箭矢,造成额外伤害。\n
转职为缪斯或奇美拉时, 技能类型变为独立攻击力。
转职为缪斯或奇美拉时,技能类型变为独立攻击力。\n
"""
name = "全力挥击"
cellPos = (7,2)
learnLv = 5
masterLv = 60
maxLv = 70
@@ -166,9 +284,10 @@ class Skill8(ActiveSkill):
"""
[匕首系列]\n
可以消灭试图逼近的小型敌人,向前方投掷匕首,攻击敌人。\n
投掷后, 匕首会击中敌人身体或插入地面, 并可“回收利用”。
投掷后,匕首会击中敌人身体或插入地面,并可“回收利用”。\n
"""
name = "投掷匕首"
cellPos = (2,2)
learnLv = 5
masterLv = 60
maxLv = 70
@@ -196,9 +315,10 @@ class Skill9(ActiveSkill):
可以按方向键调整冲刺方向。\n
转职为缪斯或奇美拉后,技能类型变为独立攻击力。\n
转职为旅人时,可以强制中断踢击后的僵直并施放空中技能。\n
转职为妖护使时, 可以在空中施放。
转职为妖护使时,可以在空中施放。\n
"""
name = "翻月翔击"
cellPos = (8,3)
learnLv = 10
masterLv = 60
maxLv = 70
@@ -218,17 +338,76 @@ class Skill9(ActiveSkill):
data1 = get_data(f'{prefix}/{uuid}', 1)
hit1 = 1
# 强化 - 后跳
# archer/chimera/2b340542e776818b78f3212af184bd6b
# b9cb48777665de22c006fabaf9a560b3/2b340542e776818b78f3212af184bd6b
# MIGRATION: character 中没有同名技能“强化 - 后跳”,暂不启用
# class Skill11(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)
# 跃翔
# archer/chimera/1fea5a626f15230237946a11a9d11582
# b9cb48777665de22c006fabaf9a560b3/1fea5a626f15230237946a11a9d11582
# MIGRATION: character 中没有同名技能“跃翔”,暂不启用
# class Skill12(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)
# 瞬影
# archer/chimera/e11831002360a0d4e08c53ff686eea67
# b9cb48777665de22c006fabaf9a560b3/e11831002360a0d4e08c53ff686eea67
class Skill12(ActiveSkill):
"""
持剑向前突进并斩击前方敌人, 以突破敌群或占据有利的战斗位置。 若附近有“回收利用”的武器, 将移动至其位置进行攻击。\n
持剑向前突进并斩击前方敌人,以突破敌群或占据有利的战斗位置。 可以在空中或地面使用,若附近有“回收利用”的武器,将移动至其位置并攻击。\n
施放技能后,在突进及首次斩击前再次按下技能键,可发动追加斩击,并移动至最近的可“回收利用”武器处。\n
可通过[回收利用]的技能特效预测到达位置,第一次触发时为蓝色回收特效,第二次为红色回收特效。 可预测各自的移动目标。\n
学习[败果之慧]技能后, 施放技能时会处于无敌状态。
学习[瞬影清除]技能后,按方向键后使用技能时,不会回收武器,而是向指定方向移动和攻击。\n
学习[败果之慧]技能后,施放技能时会处于无敌状态。\n
"""
name = "瞬影"
cellPos = (5,3)
learnLv = 10
masterLv = 60
maxLv = 70
@@ -253,6 +432,28 @@ class Skill12(ActiveSkill):
# 可回收武器的搜索范围 : {value3}px
data3 = get_data(f'{prefix}/{uuid}', 3)
# 瞬影清除
# archer/chimera/3a691a432c58abebc08211df45c4f4bd
# b9cb48777665de22c006fabaf9a560b3/3a691a432c58abebc08211df45c4f4bd
# MIGRATION: character 中没有同名技能“瞬影清除”,暂不启用
# class Skill14(PassiveSkill):
# """
# 施放[瞬影]技能前,如果先按方向键,则不会向“回收利用”武器所在方向移动,而是向指定方向移动并清除敌人。\n
# """
# name = "瞬影清除"
# learnLv = 10
# masterLv = 1
# maxLv = 1
# cellPos = (5,4)
# position = 5
# rangeLv = 2
# cd = []
# uuid = "3a691a432c58abebc08211df45c4f4bd"
# hasVP = False
# hasUP = False
# custom = get_data(f'{prefix}/{uuid}', "custom") # noqa: E501
# 首足连击
# archer/chimera/3f4ddb4df24a9f78c7778568e80107dd
# b9cb48777665de22c006fabaf9a560b3/3f4ddb4df24a9f78c7778568e80107dd
@@ -260,9 +461,10 @@ class Skill13(ActiveSkill):
"""
[斧头系列]\n
向前方对角线方向投掷斧头以转移视线,随后瞄准敌人足部方向,再次向地面投掷斧头。\n
第二次投掷的斧头将用力砸向地面, 并可“回收利用”。
第二次投掷的斧头将用力砸向地面,并可“回收利用”。\n
"""
name = "首足连击"
cellPos = (4,4)
learnLv = 15
masterLv = 60
maxLv = 70
@@ -281,6 +483,9 @@ class Skill13(ActiveSkill):
# 第二个斧头攻击力 : {value1}
data1 = get_data(f'{prefix}/{uuid}', 1)
hit1 = 1
# 压制力 (4人队伍) : {value2}秒 ({value3}秒)
data2 = get_data(f'{prefix}/{uuid}', 2)
data3 = get_data(f'{prefix}/{uuid}', 3)
# 华丽回收
# archer/chimera/438e291ec31b6b831b0c8e33ff41f138
@@ -288,13 +493,14 @@ class Skill13(ActiveSkill):
class Skill14(ActiveSkill):
"""
利用奇美拉的遗物变形魔方来“回收利用”武器。 回收时可对周围的敌人造成伤害。\n
攻击力会受[基础精通]的影响, 但无法获得[双重螺旋]技能的异常状态附加伤害效果。
攻击力会受[基础精通]的影响,但无法获得[双重螺旋]技能的异常状态附加伤害效果。\n
"""
name = "华丽回收"
cellPos = (1,4)
learnLv = 15
masterLv = 1
maxLv = 10
position = 0
position = 1
rangeLv = 2
uuid = "438e291ec31b6b831b0c8e33ff41f138"
type = "passive"
@@ -308,6 +514,29 @@ class Skill14(ActiveSkill):
# 攻击范围比率 : {value1}%
data1 = get_data(f'{prefix}/{uuid}', 1)
# 暴击
# archer/chimera/fc1262c19f3d0477ee8eda47b8db8696
# b9cb48777665de22c006fabaf9a560b3/fc1262c19f3d0477ee8eda47b8db8696
# MIGRATION: character 中没有同名技能“暴击”,暂不启用
# class Skill17(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)
# 双重螺旋
# archer/chimera/b224e3c19599a2496f7470936485e0ad
# b9cb48777665de22c006fabaf9a560b3/b224e3c19599a2496f7470936485e0ad
@@ -315,9 +544,10 @@ class Skill16(ActiveSkill):
"""
使用奇美拉制作的特殊药品。 学习后,将提升转职技能的攻击力。\n
施放技能时,赋予除普通攻击和[华丽回收]的回收攻击外,其它所有攻击技能都将附加出血或中毒的异常状态伤害的效果。 该效果仅在装备嵌合弓时生效。\n
再次施放技能, 可切换异常状态效果; 进入地下城时, 最后选择的异常状态效果将自动生效。
再次施放技能,可切换异常状态效果; 进入地下城时,最后选择的异常状态效果将自动生效。\n
"""
name = "双重螺旋"
cellPos = (1,5)
learnLv = 20
masterLv = 10
maxLv = 20
@@ -349,9 +579,10 @@ class Skill17(ActiveSkill):
"""
[匕首系列]\n
奇美拉后跃时,向前方直线上逼近的敌人投掷多把匕首,最多可命中3次。 若攻击范围达到特定数值,将增加匕首投掷数量。\n
最先投掷的匕首会击中敌人身体或插入地面, 并可“回收利用”。
最先投掷的匕首会击中敌人身体或插入地面,并可“回收利用”。\n
"""
name = "空翻刃袭"
cellPos = (2,5)
learnLv = 20
masterLv = 60
maxLv = 70
@@ -368,18 +599,22 @@ class Skill17(ActiveSkill):
data0 = get_data(f'{prefix}/{uuid}', 0)
hit0 = 3
data1 = get_data(f'{prefix}/{uuid}', 1)
# [范围信息]
# 匕首投掷范围比率 : {value2}%
# 压制力 (4人队伍) : {value2}秒 ({value3}秒)
data2 = get_data(f'{prefix}/{uuid}', 2)
data3 = get_data(f'{prefix}/{uuid}', 3)
# [范围信息]
# 匕首投掷范围比率 : {value4}%
data4 = get_data(f'{prefix}/{uuid}', 4)
# 喷毒
# archer/chimera/a988247dfc78c82e364af39ef66e84a0
# b9cb48777665de22c006fabaf9a560b3/a988247dfc78c82e364af39ef66e84a0
class Skill18(ActiveSkill):
"""
举起嵌合弓进入防御姿态, 降低所受的伤害。 施放技能后短时间内, 若防御成功, 可格挡敌人的攻击, 免除自身所受伤害并进行反击。 反击成功后, 进入短暂无敌状态。
举起嵌合弓进入防御姿态,降低所受的伤害。 施放技能后短时间内,若防御成功,可格挡敌人的攻击,免除自身所受伤害并进行反击。 反击成功后,进入短暂无敌状态。\n
"""
name = "喷毒"
cellPos = (5,6)
learnLv = 25
masterLv = 10
maxLv = 20
@@ -407,13 +642,14 @@ class Skill18(ActiveSkill):
# b9cb48777665de22c006fabaf9a560b3/5f75a60c73b72ad60bd4321b96b16662
class Skill19(ActiveSkill): #不用
"""
启动神秘的遗物——变形魔方, 解锁充满变数的战斗模式, 提升基本攻击力、 技能攻击力和物理暴击率。
启动神秘的遗物——变形魔方,解锁充满变数的战斗模式,提升基本攻击力、 技能攻击力和物理暴击率。\n
"""
name = "唯物主义魔方"
cellPos = (7,6)
learnLv = 25
masterLv = 10
maxLv = 20
position = 0
position = 7
rangeLv = 3
cd = 5
mp = [728, 1713]
@@ -436,9 +672,10 @@ class Skill20(ActiveSkill):
"""
[剑系列]\n
与其它投掷攻击技能衔接时,可以高效消灭敌人。 短暂滞空后射出利剑,并额外克隆三柄,一共发射四柄利剑。 其中克隆的利剑可将命中的敌人聚集于一处。\n
最先射出的利剑会击中敌人身体或插入地面, 并可“回收利用”。
最先射出的利剑会击中敌人身体或插入地面,并可“回收利用”。\n
"""
name = "利剑四重奏"
cellPos = (3,6)
learnLv = 25
masterLv = 60
maxLv = 70
@@ -455,9 +692,12 @@ class Skill20(ActiveSkill):
data0 = get_data(f'{prefix}/{uuid}', 0)
hit0 = 4
data1 = get_data(f'{prefix}/{uuid}', 1)
# [范围信息]
# 范围比率 : {value2}%
# 压制力 (4人队伍) : {value2}秒 ({value3}秒)
data2 = get_data(f'{prefix}/{uuid}', 2)
data3 = get_data(f'{prefix}/{uuid}', 3)
# [范围信息]
# 范围比率 : {value4}%
data4 = get_data(f'{prefix}/{uuid}', 4)
# 遗物之力 · 克隆
# archer/chimera/67e7dd8996b5735e788c9420730c077d
@@ -465,9 +705,10 @@ class Skill20(ActiveSkill):
class Skill21(PassiveSkill):
"""
解锁神秘的遗物——变形魔方的“克隆”能力。 可提升技能攻击力,且由于无需携带过多武器,也将提升角色的速度。\n
[外形和结构能轻松复刻, 但性能却没那么简单! 得指定向量, 这可是非常繁琐的工作。 而且, 克隆品的维持时间非常短, 所以用于印钞是不现实的。]
[外形和结构能轻松复刻,但性能却没那么简单! 得指定向量,这可是非常繁琐的工作。 而且,克隆品的维持时间非常短,所以用于印钞是不现实的。]\n
"""
name = "遗物之力 · 克隆"
cellPos = (6,6)
learnLv = 25
masterLv = 10
maxLv = 20
@@ -496,9 +737,10 @@ class Skill22(ActiveSkill):
奇美拉落入敌阵中心后,横扫周围敌人的技能。 投掷旋转的斧头,斧头将围绕奇美拉转动,斩击四周敌人。\n
耗尽旋转次数的斧头,会落在技能施放位置的前方,并可“回收利用”。 若施放技能时按住向下方向键,斧头会额外旋转半圈,落在后方位置,再“回收利用”。\n
[学习败果之慧后]\n
施放[瞬影]过程中, 可以预输入[土星环]技能。 预输入成功时, 可以配合[瞬影]技能的斩击动作施放[土星环]。
施放[瞬影]过程中,可以预输入[土星环]技能。 预输入成功时,可以配合[瞬影]技能的斩击动作施放[土星环]。\n
"""
name = "土星环"
cellPos = (4,7)
learnLv = 30
masterLv = 60
maxLv = 70
@@ -522,9 +764,10 @@ class Skill22(ActiveSkill):
class Skill23(ActiveSkill):
"""
用剑对被控制的敌人发动致命一击。 持剑突进刺中敌人,将其控制后再用匕首补刀,并利用刺入的剑将敌人劈成两半,造成高额伤害,手段极为残忍。\n
对于无法抓取的敌人, 踩住刺入的剑, 借助旋转力将其纵向劈开, 造成伤害, 同样相当残忍。
对于无法抓取的敌人,踩住刺入的剑,借助旋转力将其纵向劈开,造成伤害,同样相当残忍。\n
"""
name = "碎心连刺"
cellPos = (5,8)
learnLv = 35
masterLv = 60
maxLv = 70
@@ -537,7 +780,7 @@ class Skill23(ActiveSkill):
hasVP = True
hasUP = True
custom = get_data(f'{prefix}/{uuid}', "custom") # noqa: E501
vps = get_data(f'{prefix}/{uuid}', "vps")
vps = get_data(f'{prefix}/{uuid}', "vps") # noqa: E501
# 剑刺击攻击力 : {value0}
data0 = get_data(f'{prefix}/{uuid}', 0)
@@ -558,6 +801,9 @@ class Skill23(ActiveSkill):
data6 = get_data(f'{prefix}/{uuid}', 6)
hit6 = 3
data7 = get_data(f'{prefix}/{uuid}', 7)
# 压制力 (4人队伍) : {value8}秒 ({value9}秒)
data8 = get_data(f'{prefix}/{uuid}', 8)
data9 = get_data(f'{prefix}/{uuid}', 9)
mode = ['不可抓取','可抓取']
@@ -597,6 +843,7 @@ class Skill23(ActiveSkill):
if self.vp == 2:
self.associate = [{"data":[0]+[-26]*self.maxLv,"skills":["瞬影"]}]
return super().effect(old, new)
# 环形毒液
# archer/chimera/854997c3bdfc3a2b498b4c4001f69e06
# b9cb48777665de22c006fabaf9a560b3/854997c3bdfc3a2b498b4c4001f69e06
@@ -604,9 +851,10 @@ class Skill24(ActiveSkill):
"""
[匕首系列]\n
向前跳跃,借助离心力将涂有剧毒的匕首投掷到地面,对聚集的敌人造成范围伤害。 然后通过跺脚,使匕首上的毒液触发连锁反应,引发爆炸造成伤害。 施放技能时,可通过上下方向键在Y轴方向小幅调整位置。\n
在施放技能位置稍前方所投掷的匕首可“回收利用”, 若匕首命中敌人, 将附着于其身上。
在施放技能位置稍前方所投掷的匕首可“回收利用”,若匕首命中敌人,将附着于其身上。\n
"""
name = "环形毒液"
cellPos = (2,8)
learnLv = 35
masterLv = 60
maxLv = 70
@@ -619,7 +867,7 @@ class Skill24(ActiveSkill):
hasVP = True
hasUP = True
custom = get_data(f'{prefix}/{uuid}', "custom") # noqa: E501
vps = get_data(f'{prefix}/{uuid}', "vps")
vps = get_data(f'{prefix}/{uuid}', "vps") # noqa: E501
# 匕首投掷攻击力 : {value0} x {value1}
data0 = get_data(f'{prefix}/{uuid}', 0)
@@ -660,9 +908,10 @@ class Skill25(ActiveSkill):
"""
[斧头系列]\n
用力投掷斧头,以割裂坚硬的表皮,并使其旋转着攻击敌人。 若命中敌人,斧头会附着于其身上旋转,随后掉落地面; 若未命中,则在掉落的位置继续旋转。\n
耗尽旋转次数的斧头会落在地面, 并可“回收利用”。
耗尽旋转次数的斧头会落在地面,并可“回收利用”。\n
"""
name = "狂锯旋斧"
cellPos = (4,9)
learnLv = 40
masterLv = 60
maxLv = 70
@@ -675,7 +924,7 @@ class Skill25(ActiveSkill):
hasVP = True
hasUP = True
custom = get_data(f'{prefix}/{uuid}', "custom") # noqa: E501
vps = get_data(f'{prefix}/{uuid}', "vps")
vps = get_data(f'{prefix}/{uuid}', "vps") # noqa: E501
# 斧头第一击攻击力 : {value0}
data0 = get_data(f'{prefix}/{uuid}', 0)
@@ -717,9 +966,10 @@ class Skill26(ActiveSkill):
"""
[剑系列]\n
该技能适用于对付擅长全方位防御的敌人。 在前方克隆并放置6柄利剑,随后用嵌合弓发射手中的剑,与克隆的利剑一同射向敌人。\n
手中直接发射的剑命中敌人后, 可“回收利用”; 若未命中, 剑将插进地面。
手中直接发射的剑命中敌人后,可“回收利用”; 若未命中,剑将插进地面。\n
"""
name = "刺猬困境"
cellPos = (3,10)
learnLv = 45
masterLv = 60
maxLv = 70
@@ -732,7 +982,7 @@ class Skill26(ActiveSkill):
hasVP = True
hasUP = True
custom = get_data(f'{prefix}/{uuid}', "custom") # noqa: E501
vps = get_data(f'{prefix}/{uuid}', "vps")
vps = get_data(f'{prefix}/{uuid}', "vps") # noqa: E501
# 克隆剑的攻击力 : {value0} x {value1}
data0 = get_data(f'{prefix}/{uuid}', 0)
@@ -773,9 +1023,10 @@ class Skill26(ActiveSkill):
class Skill27(PassiveSkill):
"""
解锁神秘的遗物——变形魔方的“巨大化”能力。 可提升技能攻击力,且由于防具变得更厚,也将提升物理防御力。\n
[巨大化效果可以增加质量和密度, 真厉害! 但遗憾的是, 结构复杂的生物没办法享受这个能力。]
[巨大化效果可以增加质量和密度,真厉害! 但遗憾的是,结构复杂的生物没办法享受这个能力。]\n
"""
name = "遗物之力 · 巨大化"
cellPos = (6,11)
learnLv = 48
masterLv = 40
maxLv = 50
@@ -798,9 +1049,10 @@ class Skill27(PassiveSkill):
# b9cb48777665de22c006fabaf9a560b3/94c450d6214cafdc673f763badceeaf1
class Skill28(ActiveSkill):
"""
将斧头投掷向墙壁, 借助反作用力飞向高空, 随后将斧头巨大化, 使其砸向地面, 粉碎敌人的头颅。
将斧头投掷向墙壁,借助反作用力飞向高空,随后将斧头巨大化,使其砸向地面,粉碎敌人的头颅。\n
"""
name = "重力加速度"
cellPos = (4,11)
learnLv = 50
masterLv = 40
maxLv = 50
@@ -826,9 +1078,10 @@ class Skill29(ActiveSkill):
清除附近敌人的群体攻击技能。 施放技能时消耗填充数量,用斧头强力捶击地面,对周围敌人造成伤害,并强制“回收利用”武器。\n
此时回收的武器不会触发“华丽回收”效果。\n
按住前方向键并施放技能,角色会先向前移动,再用斧头进行捶击。\n
施放技能后, 每隔一定时间填充施放次数。
施放技能后,每隔一定时间填充施放次数。\n
"""
name = "废物清理"
cellPos = (4,12)
learnLv = 60
masterLv = 40
maxLv = 50
@@ -841,7 +1094,7 @@ class Skill29(ActiveSkill):
hasVP = True
hasUP = True
custom = get_data(f'{prefix}/{uuid}', "custom") # noqa: E501
vps = get_data(f'{prefix}/{uuid}', "vps")
vps = get_data(f'{prefix}/{uuid}', "vps") # noqa: E501
# 斧头冲击波攻击力 : {value0}
data0 = get_data(f'{prefix}/{uuid}', 0)
@@ -881,9 +1134,10 @@ class Skill30(ActiveSkill):
"""
[剑系列]\n
该技能适用于对付处于防御姿态和反应迅速的敌人。 克隆多柄利剑并使其短暂悬空,然后用斧头向上击打,使空中的剑高速坠落,攻击敌人并造成伤害。 最后巨剑会直插地面,造成高额伤害。\n
可在最后坠落的剑所在位置进行“回收利用”。
可在最后坠落的剑所在位置进行“回收利用”。\n
"""
name = "王冠粉碎者"
cellPos = (3,13)
learnLv = 70
masterLv = 40
maxLv = 50
@@ -896,7 +1150,7 @@ class Skill30(ActiveSkill):
hasVP = True
hasUP = True
custom = get_data(f'{prefix}/{uuid}', "custom") # noqa: E501
vps = [{'name': '躁动之心', 'desc': '追踪<br/>施放时间减少'}, {'name': '旋斧狂欢', 'desc': '变更为斧头系列技能'}] # noqa: E501
vps = get_data(f'{prefix}/{uuid}', "vps") # noqa: E501
# 剑的坠落攻击力 : {value0} x 4
data0 = get_data(f'{prefix}/{uuid}', 0)
@@ -929,9 +1183,10 @@ class Skill30(ActiveSkill):
class Skill31(PassiveSkill):
"""
解锁神秘的遗物——变形魔方的“变形”能力。 凭借对万物真理的领悟 (至少奇美拉本人如此认为),能够看透敌人,进而提升暴击率、 基本攻击力和转职技能攻击力。\n
[虽然我也不清楚具体原理, 但只要是我能理解的结构, 通通都能变形, 甚至连成分都能改变! 变形魔方为什么会有这种力量? 简直太可怕了!]
[虽然我也不清楚具体原理,但只要是我能理解的结构,通通都能变形,甚至连成分都能改变! 变形魔方为什么会有这种力量? 简直太可怕了!]\n
"""
name = "遗物奥义 · 变形"
cellPos = (6,13)
learnLv = 75
masterLv = 40
maxLv = 50
@@ -957,9 +1212,10 @@ class Skill32(ActiveSkill):
[长兵器系列]\n
该技能适用于消灭地面上的野兽群。 向前方敌人射出长矛,刺入敌人身体的长矛会克隆成3个,随后变形为巨镰,在命中的敌人周围进行乱舞攻击并造成伤害,最终一齐向目标敌人发动最后一击。\n
若长矛未命中敌人,将插在地面并攻击周围敌人。\n
命中敌人身体的长兵器, 可“回收利用”; 若未命中, 长兵器则会插在地面。
命中敌人身体的长兵器,可“回收利用”; 若未命中,长兵器则会插在地面。\n
"""
name = "巨镰斯诺克"
cellPos = (1,13)
learnLv = 75
masterLv = 40
maxLv = 50
@@ -972,7 +1228,7 @@ class Skill32(ActiveSkill):
hasVP = True
hasUP = True
custom = get_data(f'{prefix}/{uuid}', "custom") # noqa: E501
vps = get_data(f'{prefix}/{uuid}', "vps")
vps = get_data(f'{prefix}/{uuid}', "vps") # noqa: E501
# 第一击攻击力 : {value0}
data0 = get_data(f'{prefix}/{uuid}', 0)
@@ -1015,9 +1271,10 @@ class Skill33(ActiveSkill):
"""
[长兵器系列]\n
该技能适用于聚集大量敌人后进行群体攻击。 将长兵器堆叠后发射,随后长兵器变形为巨型齿轮,向前方射出并攻击敌人。 该齿轮绕行圆形的阿拉德星球一圈后,将再次出现发动最后一击,并引发最终爆炸,造成高额伤害。\n
最后一击时, 根据齿轮经过的路径 (概率决定), 附加灼伤、 冰冻、 感电异常状态。
最后一击时,根据齿轮经过的路径 (概率决定),附加灼伤、 冰冻、 感电异常状态。\n
"""
name = "环阿拉德狂飙"
cellPos = (1,14)
learnLv = 80
masterLv = 40
maxLv = 50
@@ -1030,7 +1287,7 @@ class Skill33(ActiveSkill):
hasVP = True
hasUP = True
custom = get_data(f'{prefix}/{uuid}', "custom") # noqa: E501
vps = get_data(f'{prefix}/{uuid}', "vps")
vps = get_data(f'{prefix}/{uuid}', "vps") # noqa: E501
# 第一个齿轮攻击力 : {value0} x {value1}
data0 = get_data(f'{prefix}/{uuid}', 0)
@@ -1051,7 +1308,6 @@ class Skill33(ActiveSkill):
# 灼伤最后一击攻击力 : {value7}
data7 = get_data(f'{prefix}/{uuid}', 7)
hit7 = 1
power7 = 1/1.1 # BUG 10%是双重螺旋的异常倍率,这个灼伤在不点VP的时候,这部分无法收到这个加成,如果点VP1就能收到加成
# 灼伤最后一击持续时间 : {value8}秒
data8 = get_data(f'{prefix}/{uuid}', 8)
# [冰冻最后一击]
@@ -1072,6 +1328,7 @@ class Skill33(ActiveSkill):
# [范围信息]
# 攻击范围比率 : {value14}%
data14 = get_data(f'{prefix}/{uuid}', 14)
power7 = 1/1.1 # BUG 10%是双重螺旋的异常倍率,这个灼伤在不点VP的时候,这部分无法收到这个加成,如果点VP1就能收到加成
mode = ['灼伤','冰冻','感电']
@@ -1120,7 +1377,6 @@ class Skill33(ActiveSkill):
self.setMode("灼伤")
self.cd = 45*(1-0.15)*0.2
self.skillRation *= 0.2
#冷却和伤害变为原技能灼伤状态的20%
# 幻爆天使之翼
# archer/chimera/6166762c62f234c5f50c2d2ebc5e48d0
@@ -1128,9 +1384,10 @@ class Skill33(ActiveSkill):
class Skill34(ActiveSkill):
"""
利用变形魔方与所持有武器的力量,施展终极技能。 靠近附近最强的敌人后,暂时开启变形魔方,将敌人吸入遗物内部,随后将其中的无数武器与敌人一同释放,造成致命伤害。\n
若附近没有可追踪的目标, 则无法施放此技能。
若附近没有可追踪的目标,则无法施放此技能。\n
"""
name = "幻爆天使之翼"
cellPos = (2,14)
learnLv = 85
masterLv = 40
maxLv = 50
@@ -1149,6 +1406,9 @@ class Skill34(ActiveSkill):
hit0 = 1
# 追踪范围 : {value1}px
data1 = get_data(f'{prefix}/{uuid}', 1)
# 压制力 (4人队伍) : {value2}秒 ({value3}秒)
data2 = get_data(f'{prefix}/{uuid}', 2)
data3 = get_data(f'{prefix}/{uuid}', 3)
# 败果之慧
# archer/chimera/d59c9840f65381bde8487757f1753c71
@@ -1157,9 +1417,10 @@ class Skill35(PassiveSkill):
"""
聆风·奇美拉克服了对遗物的未知恐惧。 突破束缚后,她凭着更加狂暴的战斗风格,成为了战场的主宰。 可提升基本攻击力和转职技能攻击力,[瞬影]和[土星环]技能将获得附加效果。\n
[瞬影] : 施放技能时处于无敌状态。\n
[土星环] : 在施放[瞬影]过程中, 可预输入该技能指令。 预输入成功后, 发动[瞬影]的斩击动作, 可同时投掷旋转的斧头。
[土星环] : 在施放[瞬影]过程中,可预输入该技能指令。 预输入成功后,发动[瞬影]的斩击动作,可同时投掷旋转的斧头。\n
"""
name = "败果之慧"
cellPos = (6,15)
learnLv = 95
masterLv = 40
maxLv = 50
@@ -1181,9 +1442,10 @@ class Skill35(PassiveSkill):
class Skill36(ActiveSkill):
"""
该技能可占据战场制高点,从空中袭击最强大的敌人。 角色倒悬于最高处,选定好降落地点后,通过攻击键和技能键,用矛发动强袭。 随后对插在地面的矛进行“变形”和“巨大化”,使武器穿透地面,造成穿刺伤害。\n
经常丢三落四的聆风·奇美拉在倒悬时, 会掉落自己的随身物品以及“回收利用”的匕首、 剑、 斧头、 长兵器各1个。
经常丢三落四的聆风·奇美拉在倒悬时,会掉落自己的随身物品以及“回收利用”的匕首、 剑、 斧头、 长兵器各1个。\n
"""
name = "颠倒之浩劫"
cellPos = (5,15)
learnLv = 95
masterLv = 40
maxLv = 50
@@ -1210,9 +1472,10 @@ class Skill36(ActiveSkill):
# b9cb48777665de22c006fabaf9a560b3/de20372767d014d62dc7361ac686834e
class Skill37(ActiveSkill):
"""
最致命的攻击, 便是出其不意的突袭。 聆风·奇美拉先用斧头使敌人眩晕 (控制), 再用弓穿刺敌人身体。 随后踩住弓身, 借助弓的张力施展强力一击。 攻击后, 立即借助遗物——变形魔方的力量,发射巨大化的剑, 彻底消灭敌人。
最致命的攻击,便是出其不意的突袭。 聆风·奇美拉先用斧头使敌人眩晕 (控制),再用弓穿刺敌人身体。 随后踩住弓身,借助弓的张力施展强力一击。 攻击后,立即借助遗物——变形魔方的力量,发射巨大化的剑,彻底消灭敌人。\n
"""
name = "熵变 : 非线性跳跃"
cellPos = (5,16)
learnLv = 100
masterLv = 40
maxLv = 50
@@ -1239,7 +1502,9 @@ class Skill37(ActiveSkill):
data3 = get_data(f'{prefix}/{uuid}', 3)
hit3 = 10
data4 = get_data(f'{prefix}/{uuid}', 4)
# 压制力 (4人队伍) : {value5}秒 ({value6}秒)
data5 = get_data(f'{prefix}/{uuid}', 5)
data6 = get_data(f'{prefix}/{uuid}', 6)
class classChange(Character):
def __init__(self, equVersion):
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
@@ -2,7 +2,7 @@
from core.basic.skill import PassiveSkill, ActiveSkill, get_data
from core.basic.character import Character
prefix = 'demonic_lancer/dragoon/cn/skillDetail'
prefix = "demonic_lancer/dragoon/cn/skillDetail"
# 刺击
@@ -11,10 +11,11 @@ prefix = 'demonic_lancer/dragoon/cn/skillDetail'
class Skill0(ActiveSkill):
"""
向前方进行普通的刺击。 用枪头击打敌人时,可以造成更多的伤害。\n
近距离攻击和枪头攻击不会同时命中敌人, 相应的判定重叠时, 优先判定为枪头攻击。
近距离攻击和枪头攻击不会同时命中敌人,相应的判定重叠时,优先判定为枪头攻击。\n
"""
name = '刺击'
cellPos = (2,1)
learnLv = 1
masterLv = 60
maxLv = 70
@@ -44,16 +45,16 @@ class Skill0(ActiveSkill):
self.hit0 = 1
self.hit1 = 0
# 枪挑
# demonic_lancer/dragoon/0969cd4054d93da07708108c0cc1c4b5
# 3deb7be5f01953ac8b1ecaa1e25e0420/0969cd4054d93da07708108c0cc1c4b5
class Skill1(ActiveSkill):
"""
从下往上挑击, 使敌人浮空。
从下往上挑击,使敌人浮空。\n
"""
name = '枪挑'
cellPos = (8,1)
learnLv = 1
masterLv = 10
maxLv = 20
@@ -71,6 +72,28 @@ class Skill1(ActiveSkill):
# 浮空力增加率 : {value1}%
data1 = get_data(f'{prefix}/{uuid}', 1)
# 后跳
# demonic_lancer/dragoon/7822d6d52e10964a6755f142c666b494
# 3deb7be5f01953ac8b1ecaa1e25e0420/7822d6d52e10964a6755f142c666b494
# MIGRATION: character 中没有同名技能“后跳”,暂不启用
# class Skill2(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
# 基础精通
# demonic_lancer/dragoon/5a56514f35cf0270ae8d6c65f8fefd78
@@ -78,10 +101,11 @@ class Skill1(ActiveSkill):
class Skill3(PassiveSkill):
"""
增加基本攻击、 前冲攻击、 跳跃攻击、 [枪挑]的攻击力。\n
在决斗场中, 增益/减益技能、 被动技能的技能攻击力增加效果对[基础精通]无影响。
在决斗场中,增益/减益技能、 被动技能的技能攻击力增加效果对[基础精通]无影响。\n
"""
name = '基础精通'
cellPos = (1,0)
learnLv = 1
masterLv = 190
maxLv = 200
@@ -102,6 +126,93 @@ class Skill3(PassiveSkill):
associate = [{'type': '*skillDamage', 'data': [i - 100 if i > 0 else 0 for i in data0], 'skills': ['猎杀枪']}]
# 受身蹲伏
# demonic_lancer/dragoon/ce26c6b69d02a440a81b552bec94f03b
# 3deb7be5f01953ac8b1ecaa1e25e0420/ce26c6b69d02a440a81b552bec94f03b
# MIGRATION: character 中没有同名技能“受身蹲伏”,暂不启用
# class Skill4(ActiveSkill):
# """
# 使自身在倒地状态下迅速起身并采取蹲伏姿势; 蹲伏状态下,自身会进入无敌状态,效果持续一定时间。\n
# """
# name = "受身蹲伏"
# learnLv = 1
# masterLv = 10
# 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)
# 技能连招
# demonic_lancer/dragoon/10b31c7e8cd2d60b9bcf3b1d3ada4b0a
# 3deb7be5f01953ac8b1ecaa1e25e0420/10b31c7e8cd2d60b9bcf3b1d3ada4b0a
# MIGRATION: character 中没有同名技能“技能连招”,暂不启用
# class Skill5(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
# 防具精通
# demonic_lancer/dragoon/892ef624d8bf3d7fc045f84825fd6104
# 3deb7be5f01953ac8b1ecaa1e25e0420/892ef624d8bf3d7fc045f84825fd6104
# MIGRATION: character 中没有同名技能“防具精通”,暂不启用
# class Skill6(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
# 回旋钩
# demonic_lancer/dragoon/eb71e1d82d92c7e1d40500a0dcd77aa6
@@ -110,10 +221,11 @@ class Skill6(ActiveSkill):
"""
用枪把敌人钩过来后,再次扔出。\n
被扔出的敌人会受到冲撞伤害,并且碰到墙壁时,会反弹回来。\n
对无法抓取的敌人不适用控制效果。
对无法抓取的敌人不适用控制效果。\n
"""
name = '回旋钩'
cellPos = (9,2)
learnLv = 5
masterLv = 60
maxLv = 70
@@ -142,7 +254,6 @@ class Skill6(ActiveSkill):
elif mode == '不可抓取':
self.hit0 = 0
# 格挡反击
# demonic_lancer/dragoon/4655101518604f874721b3cc249aae10
# 3deb7be5f01953ac8b1ecaa1e25e0420/4655101518604f874721b3cc249aae10
@@ -150,10 +261,11 @@ class Skill7(ActiveSkill):
"""
斜架长枪抵抗来自前方的攻击。\n
受到的伤害越多,接受攻击时被推开的距离越远。\n
被推开一定距离后, 按下X键可以进行反击。
被推开一定距离后,按下X键可以进行反击。\n
"""
name = '格挡反击'
cellPos = (8,3)
learnLv = 10
masterLv = 1
maxLv = 10
@@ -172,16 +284,16 @@ class Skill7(ActiveSkill):
# 所受伤害减少率 : {value1}%
data1 = get_data(f'{prefix}/{uuid}', 1)
# 落凤枪
# demonic_lancer/dragoon/c9664191611af31142e052dfaef84530
# 3deb7be5f01953ac8b1ecaa1e25e0420/c9664191611af31142e052dfaef84530
class Skill8(ActiveSkill):
"""
从空中快速地斜向落地, 刺向敌人。
从空中快速地斜向落地,刺向敌人。\n
"""
name = '落凤枪'
cellPos = (3,3)
learnLv = 10
masterLv = 60
maxLv = 70
@@ -204,16 +316,16 @@ class Skill8(ActiveSkill):
# 爆炸范围 : {value2}%
data2 = get_data(f'{prefix}/{uuid}', 2)
# 横扫
# demonic_lancer/dragoon/fc7a3f4c2852c832a2f20af63d5d212f
# 3deb7be5f01953ac8b1ecaa1e25e0420/fc7a3f4c2852c832a2f20af63d5d212f
class Skill9(ActiveSkill):
"""
向前方快速横斩, 击飞敌人。
向前方快速横斩,击飞敌人。\n
"""
name = '横扫'
cellPos = (0,3)
learnLv = 10
masterLv = 60
maxLv = 70
@@ -230,17 +342,17 @@ class Skill9(ActiveSkill):
data0 = get_data(f'{prefix}/{uuid}', 0)
hit0 = 1
# 魔枪发射
# demonic_lancer/dragoon/51a08fd0c90f0a5276cd552047fac93d
# 3deb7be5f01953ac8b1ecaa1e25e0420/51a08fd0c90f0a5276cd552047fac93d
class Skill10(ActiveSkill):
"""
将气息聚集到魔枪尖端,然后投掷魔枪。\n
魔法枪对命中的敌人造成多段伤害后消失。
魔法枪对命中的敌人造成多段伤害后消失。\n
"""
name = '魔枪发射'
cellPos = (5,3)
learnLv = 10
masterLv = 60
maxLv = 70
@@ -259,16 +371,73 @@ class Skill10(ActiveSkill):
# 魔法枪多段攻击次数 : {value1}次
data1 = get_data(f'{prefix}/{uuid}', 1)
# 强化 - 后跳
# demonic_lancer/dragoon/2b340542e776818b78f3212af184bd6b
# 3deb7be5f01953ac8b1ecaa1e25e0420/2b340542e776818b78f3212af184bd6b
# MIGRATION: character 中没有同名技能“强化 - 后跳”,暂不启用
# 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)
# 跃翔
# demonic_lancer/dragoon/1fea5a626f15230237946a11a9d11582
# 3deb7be5f01953ac8b1ecaa1e25e0420/1fea5a626f15230237946a11a9d11582
# MIGRATION: character 中没有同名技能“跃翔”,暂不启用
# 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)
# 连环枪
# demonic_lancer/dragoon/717f1e2104fe4b796f800352fa143ecc
# 3deb7be5f01953ac8b1ecaa1e25e0420/717f1e2104fe4b796f800352fa143ecc
class Skill13(ActiveSkill):
"""
使用长枪进行连续攻击。 命中敌人时按下技能键, 即刻发动下一次攻击。
使用长枪进行连续攻击。 命中敌人时按下技能键,即刻发动下一次攻击。\n
"""
name = '连环枪'
cellPos = (1,4)
learnLv = 15
masterLv = 60
maxLv = 70
@@ -297,16 +466,16 @@ class Skill13(ActiveSkill):
# 敌人的僵直增加量 : {value4}%
data4 = get_data(f'{prefix}/{uuid}', 4)
# 扫堂枪
# demonic_lancer/dragoon/128b9ddef2262f40723deae4407bdb42
# 3deb7be5f01953ac8b1ecaa1e25e0420/128b9ddef2262f40723deae4407bdb42
class Skill14(ActiveSkill):
"""
攻击敌人足部, 使之倒地。
攻击敌人足部,使之倒地。\n
"""
name = '扫堂枪'
cellPos = (0,4)
learnLv = 15
masterLv = 60
maxLv = 70
@@ -323,16 +492,16 @@ class Skill14(ActiveSkill):
data0 = get_data(f'{prefix}/{uuid}', 0)
hit0 = 1
# 狩猎技艺
# demonic_lancer/dragoon/147d005ac868e0de52b1f255eea35d62
# 3deb7be5f01953ac8b1ecaa1e25e0420/147d005ac868e0de52b1f255eea35d62
class Skill15(PassiveSkill):
"""
基本攻击、 前冲攻击、 后跳、 跳跃攻击变更为狩猎魔兽专用的狩猎者固有枪术。
基本攻击、 前冲攻击、 后跳、 跳跃攻击变更为狩猎魔兽专用的狩猎者固有枪术。\n
"""
name = '狩猎技艺'
cellPos = (5,4)
learnLv = 15
masterLv = 1
maxLv = 1
@@ -349,10 +518,11 @@ class Skill15(PassiveSkill):
# 3deb7be5f01953ac8b1ecaa1e25e0420/47bd4871f29defc2a0021ee9261d7a5b
class Skill16(PassiveSkill):
"""
增加武器的魔法攻击力, 装备光枪时, 提升对武器的熟练度, 增加攻击速度和魔法暴击率。
增加魔法攻击力和暴击率。 装备光枪时,提升对武器的熟练度,增加攻击速度。\n
"""
name = '光枪精通'
cellPos = (9,4)
learnLv = 15
masterLv = 10
maxLv = 20
@@ -363,18 +533,18 @@ class Skill16(PassiveSkill):
hasUP = False
custom = get_data(f'{prefix}/{uuid}', 'custom') # noqa: E501
# 魔法武器攻击力增加率 : {value0}%
# 魔法攻击力增加率 : {value0}%
data0 = get_data(f'{prefix}/{uuid}', 0)
# 攻击速度增加 : {value1}%
# 魔法暴击率增加 : {value1}%
data1 = get_data(f'{prefix}/{uuid}', 1)
# 魔法暴击率增加 : {value2}%
# [装备光枪时]
# 攻击速度增加 : {value2}%
data2 = get_data(f'{prefix}/{uuid}', 2)
associate = [
{'type': '$*PAtkM', 'data': data0},
]
# 猎杀枪
# demonic_lancer/dragoon/8510294202d0e042dd29a2422fc6770d
# 3deb7be5f01953ac8b1ecaa1e25e0420/8510294202d0e042dd29a2422fc6770d
@@ -385,10 +555,11 @@ class Skill17(ActiveSkill):
魔法枪击中敌人或飞出一定距离后消失。\n
魔法枪享受[基础精通]的加成。\n
可利用On/Off功能自动发射魔法枪。\n
在决斗场中无法自动发射魔法枪, 且施放[格挡反击]时无法发射。
在决斗场中无法自动发射魔法枪,且施放[格挡反击]时无法发射。\n
"""
name = '猎杀枪'
cellPos = (7,4)
learnLv = 15
masterLv = 1
maxLv = 5
@@ -418,7 +589,6 @@ class Skill17(ActiveSkill):
def getSkillCD(self, mode=None):
return self.cd
# 隐鼠之袭
# demonic_lancer/dragoon/38612d8f2561edc2eb68d5057a837bfa
# 3deb7be5f01953ac8b1ecaa1e25e0420/38612d8f2561edc2eb68d5057a837bfa
@@ -426,10 +596,11 @@ class Skill18(ActiveSkill):
"""
从地面攻击,释放强大的能量。\n
被击中的敌人会浮空一定高度。\n
对倒地的敌人也适用同样的浮空力。
对倒地的敌人也适用同样的浮空力。\n
"""
name = '隐鼠之袭'
cellPos = (2,4)
learnLv = 15
masterLv = 60
maxLv = 70
@@ -451,16 +622,16 @@ class Skill18(ActiveSkill):
# 攻击范围扩大率 : {value2}%
data2 = get_data(f'{prefix}/{uuid}', 2)
# 光焰飞枪
# demonic_lancer/dragoon/6a1d1f08a6572be420bb3a256c44c015
# 3deb7be5f01953ac8b1ecaa1e25e0420/6a1d1f08a6572be420bb3a256c44c015
class Skill19(ActiveSkill):
"""
投掷多支魔法枪, 对敌人造成多段伤害, 并将敌人推向后方。
投掷多支魔法枪,对敌人造成多段伤害,并将敌人推向后方。\n
"""
name = '光焰飞枪'
cellPos = (4,5)
learnLv = 20
masterLv = 60
maxLv = 70
@@ -482,16 +653,16 @@ class Skill19(ActiveSkill):
# 攻击范围扩大率 : {value2}%
data2 = get_data(f'{prefix}/{uuid}', 2)
# 狩猎本能
# demonic_lancer/dragoon/e0a072e8cef2d77893aad5f68aeed56a
# 3deb7be5f01953ac8b1ecaa1e25e0420/e0a072e8cef2d77893aad5f68aeed56a
class Skill20(PassiveSkill):
"""
发挥猎人长期养成的狩猎本能, 增加暴击伤害和命中率。
发挥猎人长期养成的狩猎本能,增加暴击伤害和命中率。\n
"""
name = '狩猎本能'
cellPos = (8,5)
learnLv = 20
masterLv = 10
maxLv = 20
@@ -509,16 +680,39 @@ class Skill20(PassiveSkill):
associate = [{'data': data0, 'type': '*skillDamage'}]
# 暴击
# demonic_lancer/dragoon/fc1262c19f3d0477ee8eda47b8db8696
# 3deb7be5f01953ac8b1ecaa1e25e0420/fc1262c19f3d0477ee8eda47b8db8696
# MIGRATION: character 中没有同名技能“暴击”,暂不启用
# class Skill22(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)
# 能量萃取
# demonic_lancer/dragoon/669f1428193f61f9d92c743b72438c4d
# 3deb7be5f01953ac8b1ecaa1e25e0420/669f1428193f61f9d92c743b72438c4d
class Skill22(ActiveSkill):
"""
集中精神提取魔法的力量, 提升基本攻击力和技能攻击力。
集中精神提取魔法的力量,提升基本攻击力和技能攻击力。\n
"""
name = '能量萃取'
cellPos = (6,6)
learnLv = 25
masterLv = 10
maxLv = 20
@@ -535,7 +729,6 @@ class Skill22(ActiveSkill):
# 基本攻击力和技能攻击力增加率 : {value1}%
data1 = get_data(f'{prefix}/{uuid}', 1)
# 猎杀枪 : 掠食
# demonic_lancer/dragoon/b3659936a9a74c4ed6f7faf07cca1f9e
# 3deb7be5f01953ac8b1ecaa1e25e0420/b3659936a9a74c4ed6f7faf07cca1f9e
@@ -548,10 +741,11 @@ class Skill23(ActiveSkill):
魔法枪命中时能强制控制枪范围内的所有敌人。\n
[空中版本]\n
在空中施放时,猎杀枪从空中坠落,以落地位置为中心强制控制一定范围内的敌人。\n
在决斗场中, 施放[落凤枪]时无法使用[猎杀枪 : 掠食], 且无法在空中施放该技能。
在决斗场中,施放[落凤枪]时无法使用[猎杀枪 : 掠食],且无法在空中施放该技能。\n
"""
name = '猎杀枪 : 掠食'
cellPos = (7,6)
learnLv = 25
masterLv = 60
maxLv = 70
@@ -574,6 +768,9 @@ class Skill23(ActiveSkill):
# 空中发射攻击力 : {value3}%
data3 = get_data(f'{prefix}/{uuid}', 3)
hit3 = 0
# 压制力 (4人队伍) : {value4}秒 ({value5}秒)
data4 = get_data(f'{prefix}/{uuid}', 4)
data5 = get_data(f'{prefix}/{uuid}', 5)
mode = ['地面', '空中']
@@ -585,7 +782,6 @@ class Skill23(ActiveSkill):
self.hit0 = 0
self.hit3 = 1
# 蛮横冲撞
# demonic_lancer/dragoon/a2d943797daca862a6f321aca6ac9bfa
# 3deb7be5f01953ac8b1ecaa1e25e0420/a2d943797daca862a6f321aca6ac9bfa
@@ -593,10 +789,11 @@ class Skill24(ActiveSkill):
"""
向前方突进,用枪刺穿敌人并将其击退,然后将敌人下刺向地面。\n
突进过程中击中敌人时,再次按技能键可以立即将敌人刺倒在地。\n
如果突进攻击未击中敌人, 则无法追加下刺攻击。
如果突进攻击未击中敌人,则无法追加下刺攻击。\n
"""
name = '蛮横冲撞'
cellPos = (4,6)
learnLv = 25
masterLv = 60
maxLv = 70
@@ -622,17 +819,20 @@ class Skill24(ActiveSkill):
# 生成的魔法枪攻击力 : {value4}%
data4 = get_data(f'{prefix}/{uuid}', 4)
hit4 = 3
# 压制力 (4人队伍) : {value5}秒 ({value6}秒)
data5 = get_data(f'{prefix}/{uuid}', 5)
data6 = get_data(f'{prefix}/{uuid}', 6)
# 光焰枪
# demonic_lancer/dragoon/c7bf7ccab413009640e65ca6f2f0263a
# 3deb7be5f01953ac8b1ecaa1e25e0420/c7bf7ccab413009640e65ca6f2f0263a
class Skill25(ActiveSkill):
"""
向前方投掷贯穿一切的魔法枪, 并将敌人击飞。
向前方投掷贯穿一切的魔法枪,并将敌人击飞。\n
"""
name = '光焰枪'
cellPos = (5,7)
learnLv = 30
masterLv = 60
maxLv = 70
@@ -648,7 +848,9 @@ class Skill25(ActiveSkill):
# 魔法枪攻击力 : {value0}%
data0 = get_data(f'{prefix}/{uuid}', 0)
hit0 = 1
# 压制力 (4人队伍) : {value1}秒 ({value2}秒)
data1 = get_data(f'{prefix}/{uuid}', 1)
data2 = get_data(f'{prefix}/{uuid}', 2)
# 猎杀枪 : 穿心
# demonic_lancer/dragoon/ecc23c980ea71450c0ad0c3fd232f329
@@ -660,10 +862,11 @@ class Skill26(ActiveSkill):
施放技能时无施放动作,立即施放。\n
可以在施放其他技能过程中使用,但[落凤枪]、 [鹰坠]和1、 2、 3次觉醒技除外。\n
跳跃时也可以使用。\n
决斗场中无法在跳跃时使用。
决斗场中无法在跳跃时使用。\n
"""
name = '猎杀枪 : 穿心'
cellPos = (7,7)
learnLv = 30
masterLv = 60
maxLv = 70
@@ -688,16 +891,16 @@ class Skill26(ActiveSkill):
# 攻击范围扩大率 : {value3}%
data3 = get_data(f'{prefix}/{uuid}', 3)
# 利刃收割
# demonic_lancer/dragoon/1b1cfab062e0768bcc889e33e1f30dbf
# 3deb7be5f01953ac8b1ecaa1e25e0420/1b1cfab062e0768bcc889e33e1f30dbf
class Skill27(ActiveSkill):
"""
生成魔法枪, 大范围挥舞魔法枪将敌人聚集起来, 然后将敌人向前方击退; 如果施放时按上方向键, 则会使敌人向上浮空。
生成魔法枪,大范围挥舞魔法枪将敌人聚集起来,然后将敌人向前方击退; 如果施放时按上方向键,则会使敌人向上浮空。\n
"""
name = '利刃收割'
cellPos = (3,8)
learnLv = 35
masterLv = 60
maxLv = 70
@@ -710,7 +913,7 @@ class Skill27(ActiveSkill):
hasVP = True
hasUP = True
custom = get_data(f'{prefix}/{uuid}', 'custom') # noqa: E501
vps = get_data(f'{prefix}/{uuid}', 'vps') # noqa: E501
vps = get_data(f'{prefix}/{uuid}', "vps") # noqa: E501
# 挥击攻击力 : {value0}% X {value1}
data0 = get_data(f'{prefix}/{uuid}', 0)
@@ -763,16 +966,16 @@ class Skill27(ActiveSkill):
self.skillRation *= 0.5
...
# 光焰囚杀
# demonic_lancer/dragoon/c77a417c43de80c4ce32c1ed405d174a
# 3deb7be5f01953ac8b1ecaa1e25e0420/c77a417c43de80c4ce32c1ed405d174a
class Skill28(ActiveSkill):
"""
向空中释放枪的气息, 然后使其在前方落下, 生成屏障。 屏障对敌人造成多段伤害, 逐渐向中央合拢, 最后爆炸。
向空中释放枪的气息,然后使其在前方落下,生成屏障。 屏障对敌人造成多段伤害,逐渐向中央合拢,最后爆炸。\n
"""
name = '光焰囚杀'
cellPos = (4,8)
learnLv = 35
masterLv = 60
maxLv = 70
@@ -785,7 +988,7 @@ class Skill28(ActiveSkill):
hasVP = True
hasUP = True
custom = get_data(f'{prefix}/{uuid}', 'custom') # noqa: E501
vps = get_data(f'{prefix}/{uuid}', 'vps') # noqa: E501
vps = get_data(f'{prefix}/{uuid}', "vps") # noqa: E501
# 屏障生成位置 : {value0}px
data0 = get_data(f'{prefix}/{uuid}', 0)
@@ -814,7 +1017,6 @@ class Skill28(ActiveSkill):
"""
...
# 鹰坠
# demonic_lancer/dragoon/0b8db1e10b3abbd24d38564e708675d5
# 3deb7be5f01953ac8b1ecaa1e25e0420/0b8db1e10b3abbd24d38564e708675d5
@@ -823,10 +1025,11 @@ class Skill29(ActiveSkill):
跳到空中期间,可以用方向键调整降落位置,然后降落到指定位置。\n
再次按技能键可以立即降落。\n
在跳跃过程中也可以施放该技能,被魔法枪击中的敌人将被强制控制一定时间,无法移动。\n
在决斗场中, 无法强制控制被魔法枪击中的敌人, 且无法通过再次按技能键发动终结攻击。
在决斗场中,无法强制控制被魔法枪击中的敌人,且无法通过再次按技能键发动终结攻击。\n
"""
name = '鹰坠'
cellPos = (2,9)
learnLv = 40
masterLv = 60
maxLv = 70
@@ -839,7 +1042,7 @@ class Skill29(ActiveSkill):
hasVP = True
hasUP = True
custom = get_data(f'{prefix}/{uuid}', 'custom') # noqa: E501
vps = get_data(f'{prefix}/{uuid}', 'vps') # noqa: E501
vps = get_data(f'{prefix}/{uuid}', "vps") # noqa: E501
# 基本降落位置 : {value0}px
data0 = get_data(f'{prefix}/{uuid}', 0)
@@ -850,9 +1053,12 @@ class Skill29(ActiveSkill):
hit2 = 1
# 强制控制时间 : {value3}秒
data3 = get_data(f'{prefix}/{uuid}', 3)
# [范围信息]
# 冲击波范围扩大率 : {value4}%
# 压制力 (4人队伍) : {value4}秒 ({value5}秒)
data4 = get_data(f'{prefix}/{uuid}', 4)
data5 = get_data(f'{prefix}/{uuid}', 5)
# [范围信息]
# 冲击波范围扩大率 : {value6}%
data6 = get_data(f'{prefix}/{uuid}', 6)
def vp_1(self):
"""
@@ -871,7 +1077,6 @@ class Skill29(ActiveSkill):
self.cd = 50
self.skillRation *= 2
# 龙鳞碎割
# demonic_lancer/dragoon/852f8ad797db4dca1405cb3e77198401
# 3deb7be5f01953ac8b1ecaa1e25e0420/852f8ad797db4dca1405cb3e77198401
@@ -881,10 +1086,11 @@ class Skill30(ActiveSkill):
发射指定数量的魔法枪后,向正面的敌人发动终结攻击。\n
终结攻击时,按前方向键可以增加终结攻击发动距离。\n
可以在跳跃中使用,施放过程中可以按跳跃键强制中断。\n
在决斗场中, 不可以在跳跃中使用。
在决斗场中,不可以在跳跃中使用。\n
"""
name = '龙鳞碎割'
cellPos = (4,10)
learnLv = 45
masterLv = 60
maxLv = 70
@@ -897,7 +1103,7 @@ class Skill30(ActiveSkill):
hasVP = True
hasUP = True
custom = get_data(f'{prefix}/{uuid}', 'custom') # noqa: E501
vps = get_data(f'{prefix}/{uuid}', 'vps') # noqa: E501
vps = get_data(f'{prefix}/{uuid}', "vps") # noqa: E501
# 魔法枪发射次数 : {value0}次
data0 = get_data(f'{prefix}/{uuid}', 0)
@@ -934,16 +1140,16 @@ class Skill30(ActiveSkill):
"""
...
# 枪魂感知
# demonic_lancer/dragoon/28b583c75a49103a1d8aabf799c000a4
# 3deb7be5f01953ac8b1ecaa1e25e0420/28b583c75a49103a1d8aabf799c000a4
class Skill31(PassiveSkill):
"""
增加狩猎者的技能攻击力, 减少猎杀枪的重新生成时间。
增加狩猎者的技能攻击力,减少猎杀枪的重新生成时间。\n
"""
name = '枪魂感知'
cellPos = (3,11)
learnLv = 48
masterLv = 40
maxLv = 50
@@ -961,7 +1167,6 @@ class Skill31(PassiveSkill):
associate = [{'data': [-i for i in data0], 'type': '+cd', 'skills': ['猎杀枪'], 'ratio': 1}, {'data': data1, 'type': '*skillDamage'}]
# 逐云灭龙杀
# demonic_lancer/dragoon/4f2e001e9a19eb7bae50ad1840dfb329
# 3deb7be5f01953ac8b1ecaa1e25e0420/4f2e001e9a19eb7bae50ad1840dfb329
@@ -969,10 +1174,11 @@ class Skill32(ActiveSkill):
"""
射出猎杀枪,对前方魔法阵内的敌人造成伤害并强控敌人; 然后,跳到高空中,以极快的速度降落,使敌人受到巨大冲撞爆炸伤害。\n
按住方向键可以调整降落位置。\n
在最后的冲撞爆炸之前, 被猎杀枪击中并被强制控制的敌人会一直处于强制控制状态。
在最后的冲撞爆炸之前,被猎杀枪击中并被强制控制的敌人会一直处于强制控制状态。\n
"""
name = '逐云灭龙杀'
cellPos = (5,11)
learnLv = 50
masterLv = 40
maxLv = 50
@@ -997,7 +1203,9 @@ class Skill32(ActiveSkill):
hit2 = 1
# 长按前方向键时降落位置 : 中间位置的前方300px
# 长按后方向键时降落位置 : 中间位置的后方300px
# 压制力 (4人队伍) : {value3}秒 ({value4}秒)
data3 = get_data(f'{prefix}/{uuid}', 3)
data4 = get_data(f'{prefix}/{uuid}', 4)
# 天龙破
# demonic_lancer/dragoon/dcb31a63ef58954f44ff2070c42a9a98
@@ -1007,10 +1215,11 @@ class Skill33(ActiveSkill):
生成魔法枪发动乱舞攻击。\n
乱舞后跳起将魔枪插入地面,并使魔枪爆炸。\n
跳跃中可以使用,但只发动地面爆炸攻击。\n
在地面上按住后方向键施放技能时, 在原地施放技能。
在地面上按住后方向键施放技能时,在原地施放技能。\n
"""
name = '天龙破'
cellPos = (4,12)
learnLv = 60
masterLv = 40
maxLv = 50
@@ -1023,7 +1232,7 @@ class Skill33(ActiveSkill):
hasVP = True
hasUP = True
custom = get_data(f'{prefix}/{uuid}', 'custom') # noqa: E501
vps = get_data(f'{prefix}/{uuid}', 'vps') # noqa: E501
vps = get_data(f'{prefix}/{uuid}', "vps") # noqa: E501
# 魔法枪乱舞攻击力 : {value0}% X {value1}
data0 = get_data(f'{prefix}/{uuid}', 0)
@@ -1060,7 +1269,6 @@ class Skill33(ActiveSkill):
self.associate = [{'type': '*skillRation', 'data': [0] + [-26] * self.maxLv, 'skills': ['猎杀枪 : 穿心', '猎杀枪 : 掠食']}]
return super().effect(old, new)
# 地龙狩
# demonic_lancer/dragoon/8572675ec6a1f50b6eff6a867376c2de
# 3deb7be5f01953ac8b1ecaa1e25e0420/8572675ec6a1f50b6eff6a867376c2de
@@ -1068,10 +1276,11 @@ class Skill34(ActiveSkill):
"""
蓄力后立即向前方突进,突进中途撞到敌人会发出强烈的爆炸攻击,同时狩猎者向后方跳起。\n
施放时,按方向键可以调整跳起的方向。\n
跳跃中可以使用该技能, 但只能向前方地面突进, 撞到敌人也不会跳起。
跳跃中可以使用该技能,但只能向前方地面突进,撞到敌人也不会跳起。\n
"""
name = '地龙狩'
cellPos = (2,13)
learnLv = 70
masterLv = 40
maxLv = 50
@@ -1084,7 +1293,7 @@ class Skill34(ActiveSkill):
hasVP = True
hasUP = True
custom = get_data(f'{prefix}/{uuid}', 'custom') # noqa: E501
vps = get_data(f'{prefix}/{uuid}', 'vps') # noqa: E501
vps = get_data(f'{prefix}/{uuid}', "vps") # noqa: E501
# 突进攻击力 : {value0}%
data0 = get_data(f'{prefix}/{uuid}', 0)
@@ -1118,17 +1327,17 @@ class Skill34(ActiveSkill):
self.associate = [{'type': '*skillRation', 'data': [0] + [-23] * self.maxLv, 'skills': ['光焰枪']}]
return super().effect(old, new)
# 狩猎之心
# demonic_lancer/dragoon/2a0a39184de92acf1c1375e00b77404c
# 3deb7be5f01953ac8b1ecaa1e25e0420/2a0a39184de92acf1c1375e00b77404c
class Skill35(PassiveSkill):
"""
领悟狩猎之心的狩猎者可以更高效地使用魔兽之力。\n
提高基本攻击力和技能攻击力, 并增加命中率和攻击速度。
提高基本攻击力和技能攻击力,并增加命中率和攻击速度。\n
"""
name = '狩猎之心'
cellPos = (6,13)
learnLv = 75
masterLv = 40
maxLv = 50
@@ -1148,7 +1357,6 @@ class Skill35(PassiveSkill):
associate = [{'data': data0, 'type': '*skillDamage'}]
# 凌空之狩
# demonic_lancer/dragoon/9dc8438e4572d39243c97da31c113acc
# 3deb7be5f01953ac8b1ecaa1e25e0420/9dc8438e4572d39243c97da31c113acc
@@ -1157,10 +1365,11 @@ class Skill36(ActiveSkill):
狩猎者向前方高高跃起,并生成一把猎杀枪进行投掷。\n
投掷的猎杀枪插入地面,对周围的敌人造成伤害,随后从空中突进到猎杀枪的位置,拔出猎杀枪并大幅度挥斩,对周围的敌人造成伤害。\n
施放技能时,按向前方向键,可以在拔枪挥斩的同时前进。\n
跳跃期间也可以施放。
跳跃期间也可以施放。\n
"""
name = '凌空之狩'
cellPos = (4,13)
learnLv = 75
masterLv = 40
maxLv = 50
@@ -1173,7 +1382,7 @@ class Skill36(ActiveSkill):
hasVP = True
hasUP = True
custom = get_data(f'{prefix}/{uuid}', 'custom') # noqa: E501
vps = get_data(f'{prefix}/{uuid}', 'vps') # noqa: E501
vps = get_data(f'{prefix}/{uuid}', "vps") # noqa: E501
# 投掷攻击力 : {value0}%
data0 = get_data(f'{prefix}/{uuid}', 0)
@@ -1207,7 +1416,6 @@ class Skill36(ActiveSkill):
self.associate = [{'type': '*skillRation', 'data': [0] + [-27] * self.maxLv, 'skills': ['利刃收割']}]
return super().effect(old, new)
# 无尽毁灭
# demonic_lancer/dragoon/3fb8395ae3b81bd608e0c4223a8eb534
# 3deb7be5f01953ac8b1ecaa1e25e0420/3fb8395ae3b81bd608e0c4223a8eb534
@@ -1215,10 +1423,11 @@ class Skill37(ActiveSkill):
"""
快速旋转魔法枪,生成利刃风车粉碎敌人。\n
生成的利刃风车造成多段攻击伤害后,飞向前方并爆炸。\n
可以在跳跃中使用。
可以在跳跃中使用。\n
"""
name = '无尽毁灭'
cellPos = (3,14)
learnLv = 80
masterLv = 40
maxLv = 50
@@ -1231,7 +1440,7 @@ class Skill37(ActiveSkill):
hasVP = True
hasUP = True
custom = get_data(f'{prefix}/{uuid}', 'custom') # noqa: E501
vps = get_data(f'{prefix}/{uuid}', 'vps') # noqa: E501
vps = get_data(f'{prefix}/{uuid}', "vps") # noqa: E501
# 移动距离上限 : {value0}px
data0 = get_data(f'{prefix}/{uuid}', 0)
@@ -1239,9 +1448,11 @@ class Skill37(ActiveSkill):
data1 = get_data(f'{prefix}/{uuid}', 1)
hit1 = 11
data2 = get_data(f'{prefix}/{uuid}', 2)
# 利刃风车爆炸攻击力 : {value3}% X {value4}
# 利刃风车爆炸攻击力 : {value3}%
data3 = get_data(f'{prefix}/{uuid}', 3)
hit3 = 1
# [范围信息]
# 利刃风车大小比率 : {value4}%
data4 = get_data(f'{prefix}/{uuid}', 4)
# [范围信息]
# 利刃风车大小比率 : {value5}%
@@ -1266,7 +1477,6 @@ class Skill37(ActiveSkill):
"""
...
# 绝命猎杀 : 死亡穿刺
# demonic_lancer/dragoon/5806440d21e7546d50007a5ba11f8024
# 3deb7be5f01953ac8b1ecaa1e25e0420/5806440d21e7546d50007a5ba11f8024
@@ -1274,10 +1484,11 @@ class Skill38(ActiveSkill):
"""
融合猎杀枪和光枪生成突击枪,给最强敌人种下印记并强制控制敌人,然后光速跃起并发动穿刺攻击。\n
最后将突击枪插入敌人体内,并引发爆炸造成伤害。\n
跳跃时也可以使用。
跳跃时也可以使用。\n
"""
name = '绝命猎杀 : 死亡穿刺'
cellPos = (5,14)
learnLv = 85
masterLv = 40
maxLv = 50
@@ -1299,7 +1510,9 @@ class Skill38(ActiveSkill):
# 爆炸攻击力 : {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)
# 狩魔之魂
# demonic_lancer/dragoon/002cbdd9bfd0f0b970451ae8d48d029e
@@ -1309,10 +1522,11 @@ class Skill39(PassiveSkill):
千魂·狩猎者成功控制暴走的利维坦之力,将力量注入猎杀枪,锻造出更加强大的光枪。\n
强化在地面和空中狩猎的能力,部分技能附加特殊效果。\n
[蛮横冲撞] : 删除下刺攻击,下刺攻击力并入突进攻击。 魔法枪会追踪突进攻击命中的敌人中最强大的敌人,对该位置进行攻击。 按向前方向键可额外增加前进距离。\n
[光焰枪] : 可以在空中施放。
[光焰枪] : 可以在空中施放。\n
"""
name = '狩魔之魂'
cellPos = (5,15)
learnLv = 95
masterLv = 40
maxLv = 50
@@ -1328,17 +1542,18 @@ class Skill39(PassiveSkill):
# [蛮横冲撞]按向前方向键时前进距离额外增加 : 30%
associate = [{'data': data0, 'type': '*skillDamage'}]
# [蛮横冲撞]按向前方向键时前进距离额外增加 : 30%
# 瞬光猎杀枪
# demonic_lancer/dragoon/31823197cc0b04d4c5dcf8f928d9220c
# 3deb7be5f01953ac8b1ecaa1e25e0420/31823197cc0b04d4c5dcf8f928d9220c
class Skill40(ActiveSkill):
"""
召唤新锻造的猎杀枪后, 发射猎杀枪, 对前方多个敌人造成多段伤害。 然后, 发射的猎杀枪冲向天空, 形成巨型猎杀枪插入地面。 除觉醒技能和部分技能之外, 基本攻击和其他动作过程中也可以施放该技能。
召唤新锻造的猎杀枪后,发射猎杀枪,对前方多个敌人造成多段伤害。 然后,发射的猎杀枪冲向天空,形成巨型猎杀枪插入地面。 除觉醒技能和部分技能之外,基本攻击和其他动作过程中也可以施放该技能。\n
"""
name = '瞬光猎杀枪'
cellPos = (7,15)
learnLv = 95
masterLv = 40
maxLv = 50
@@ -1360,7 +1575,6 @@ class Skill40(ActiveSkill):
data2 = get_data(f'{prefix}/{uuid}', 2)
hit2 = 1
# 红月·狂狩盛宴
# demonic_lancer/dragoon/dac8d8207618150c162e4c6f9e168527
# 3deb7be5f01953ac8b1ecaa1e25e0420/dac8d8207618150c162e4c6f9e168527
@@ -1372,10 +1586,11 @@ class Skill41(ActiveSkill):
[三次觉醒技能]\n
使用三次觉醒技能时,与关联的技能共享冷却时间。\n
若关联的技能还在冷却中,则无法使用三次觉醒技能。\n
[无数狩猎者的牺牲, 化作了我的力量。]
[无数狩猎者的牺牲,化作了我的力量。]\n
"""
name = '红月·狂狩盛宴'
cellPos = (5,16)
learnLv = 100
masterLv = 40
maxLv = 50
@@ -1396,7 +1611,9 @@ class Skill41(ActiveSkill):
# 贯穿攻击力 : {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)
class classChange(Character):
def __init__(self, equVersion):
File diff suppressed because it is too large Load Diff
@@ -2,7 +2,7 @@
from core.basic.skill import PassiveSkill, ActiveSkill, get_data
from core.basic.character import Character
prefix = 'demonic_lancer/skirmisher/cn/skillDetail'
prefix = "demonic_lancer/skirmisher/cn/skillDetail"
# 刺击
@@ -11,10 +11,11 @@ prefix = 'demonic_lancer/skirmisher/cn/skillDetail'
class Skill0(ActiveSkill):
"""
向前方进行普通的刺击。 用枪头击打敌人时,可以造成更多的伤害。\n
近距离攻击和枪头攻击不会同时命中敌人, 相应的判定重叠时, 优先判定为枪头攻击。
近距离攻击和枪头攻击不会同时命中敌人,相应的判定重叠时,优先判定为枪头攻击。\n
"""
name = '刺击'
cellPos = (3,1)
learnLv = 1
masterLv = 60
maxLv = 70
@@ -44,16 +45,16 @@ class Skill0(ActiveSkill):
self.hit0 = 1
self.hit1 = 0
# 枪挑
# demonic_lancer/skirmisher/0969cd4054d93da07708108c0cc1c4b5
# 3deb7be5f01953ac8b1ecaa1e25e0420/0969cd4054d93da07708108c0cc1c4b5
class Skill1(ActiveSkill):
"""
从下往上挑击, 使敌人浮空。
从下往上挑击,使敌人浮空。\n
"""
name = '枪挑'
cellPos = (5,1)
learnLv = 1
masterLv = 10
maxLv = 20
@@ -71,6 +72,28 @@ class Skill1(ActiveSkill):
# 浮空力增加率 : {value1}%
data1 = get_data(f'{prefix}/{uuid}', 1)
# 后跳
# demonic_lancer/skirmisher/7822d6d52e10964a6755f142c666b494
# 3deb7be5f01953ac8b1ecaa1e25e0420/7822d6d52e10964a6755f142c666b494
# MIGRATION: character 中没有同名技能“后跳”,暂不启用
# class Skill2(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
# 基础精通
# demonic_lancer/skirmisher/5a56514f35cf0270ae8d6c65f8fefd78
@@ -78,10 +101,11 @@ class Skill1(ActiveSkill):
class Skill3(PassiveSkill):
"""
增加基本攻击、 前冲攻击、 跳跃攻击、 [枪挑]的攻击力。\n
在决斗场中, 增益/减益技能、 被动技能的技能攻击力增加效果对[基础精通]无影响。
在决斗场中,增益/减益技能、 被动技能的技能攻击力增加效果对[基础精通]无影响。\n
"""
name = '基础精通'
cellPos = (1,0)
learnLv = 1
masterLv = 190
maxLv = 200
@@ -100,6 +124,93 @@ class Skill3(PassiveSkill):
# 跳跃攻击力变化率 : {value2}%
data2 = get_data(f'{prefix}/{uuid}', 2)
# 受身蹲伏
# demonic_lancer/skirmisher/ce26c6b69d02a440a81b552bec94f03b
# 3deb7be5f01953ac8b1ecaa1e25e0420/ce26c6b69d02a440a81b552bec94f03b
# MIGRATION: character 中没有同名技能“受身蹲伏”,暂不启用
# class Skill4(ActiveSkill):
# """
# 使自身在倒地状态下迅速起身并采取蹲伏姿势; 蹲伏状态下,自身会进入无敌状态,效果持续一定时间。\n
# """
# name = "受身蹲伏"
# learnLv = 1
# masterLv = 10
# 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)
# 技能连招
# demonic_lancer/skirmisher/10b31c7e8cd2d60b9bcf3b1d3ada4b0a
# 3deb7be5f01953ac8b1ecaa1e25e0420/10b31c7e8cd2d60b9bcf3b1d3ada4b0a
# MIGRATION: character 中没有同名技能“技能连招”,暂不启用
# class Skill5(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
# 防具精通
# demonic_lancer/skirmisher/892ef624d8bf3d7fc045f84825fd6104
# 3deb7be5f01953ac8b1ecaa1e25e0420/892ef624d8bf3d7fc045f84825fd6104
# MIGRATION: character 中没有同名技能“防具精通”,暂不启用
# class Skill6(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
# 回旋钩
# demonic_lancer/skirmisher/eb71e1d82d92c7e1d40500a0dcd77aa6
@@ -108,10 +219,11 @@ class Skill6(ActiveSkill):
"""
用枪把敌人钩过来后,再次扔出。\n
被扔出的敌人会受到冲撞伤害,并且碰到墙壁时,会反弹回来。\n
对无法抓取的敌人不适用控制效果。
对无法抓取的敌人不适用控制效果。\n
"""
name = '回旋钩'
cellPos = (4,2)
learnLv = 5
masterLv = 60
maxLv = 70
@@ -141,7 +253,6 @@ class Skill6(ActiveSkill):
elif mode == '不可抓取':
self.hit0 = 0
# 格挡反击
# demonic_lancer/skirmisher/4655101518604f874721b3cc249aae10
# 3deb7be5f01953ac8b1ecaa1e25e0420/4655101518604f874721b3cc249aae10
@@ -149,10 +260,11 @@ class Skill7(ActiveSkill):
"""
斜架长枪抵抗来自前方的攻击。\n
受到的伤害越多,接受攻击时被推开的距离越远。\n
被推开一定距离后, 按下X键可以进行反击。
被推开一定距离后,按下X键可以进行反击。\n
"""
name = '格挡反击'
cellPos = (2,3)
learnLv = 10
masterLv = 1
maxLv = 10
@@ -171,16 +283,16 @@ class Skill7(ActiveSkill):
# 所受伤害减少率 : {value1}%
data1 = get_data(f'{prefix}/{uuid}', 1)
# 落凤枪
# demonic_lancer/skirmisher/c9664191611af31142e052dfaef84530
# 3deb7be5f01953ac8b1ecaa1e25e0420/c9664191611af31142e052dfaef84530
class Skill8(ActiveSkill):
"""
从空中快速地斜向落地, 刺向敌人。
从空中快速地斜向落地,刺向敌人。\n
"""
name = '落凤枪'
cellPos = (7,3)
learnLv = 10
masterLv = 60
maxLv = 70
@@ -203,16 +315,16 @@ class Skill8(ActiveSkill):
# 爆炸范围 : {value2}%
data2 = get_data(f'{prefix}/{uuid}', 2)
# 横扫
# demonic_lancer/skirmisher/fc7a3f4c2852c832a2f20af63d5d212f
# 3deb7be5f01953ac8b1ecaa1e25e0420/fc7a3f4c2852c832a2f20af63d5d212f
class Skill9(ActiveSkill):
"""
向前方快速横斩, 击飞敌人。
向前方快速横斩,击飞敌人。\n
"""
name = '横扫'
cellPos = (0,3)
learnLv = 10
masterLv = 60
maxLv = 70
@@ -229,17 +341,17 @@ class Skill9(ActiveSkill):
data0 = get_data(f'{prefix}/{uuid}', 0)
hit0 = 1
# 魔枪发射
# demonic_lancer/skirmisher/51a08fd0c90f0a5276cd552047fac93d
# 3deb7be5f01953ac8b1ecaa1e25e0420/51a08fd0c90f0a5276cd552047fac93d
class Skill10(ActiveSkill):
"""
将气息聚集到魔枪尖端,然后投掷魔枪。\n
魔法枪对命中的敌人造成多段伤害后消失。
魔法枪对命中的敌人造成多段伤害后消失。\n
"""
name = '魔枪发射'
cellPos = (3,3)
learnLv = 10
masterLv = 60
maxLv = 70
@@ -258,16 +370,73 @@ class Skill10(ActiveSkill):
# 魔法枪多段攻击次数 : {value1}次
data1 = get_data(f'{prefix}/{uuid}', 1)
# 强化 - 后跳
# demonic_lancer/skirmisher/2b340542e776818b78f3212af184bd6b
# 3deb7be5f01953ac8b1ecaa1e25e0420/2b340542e776818b78f3212af184bd6b
# MIGRATION: character 中没有同名技能“强化 - 后跳”,暂不启用
# 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)
# 跃翔
# demonic_lancer/skirmisher/1fea5a626f15230237946a11a9d11582
# 3deb7be5f01953ac8b1ecaa1e25e0420/1fea5a626f15230237946a11a9d11582
# MIGRATION: character 中没有同名技能“跃翔”,暂不启用
# 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)
# 连环枪
# demonic_lancer/skirmisher/717f1e2104fe4b796f800352fa143ecc
# 3deb7be5f01953ac8b1ecaa1e25e0420/717f1e2104fe4b796f800352fa143ecc
class Skill13(ActiveSkill):
"""
使用长枪进行连续攻击。 命中敌人时按下技能键, 即刻发动下一次攻击。
使用长枪进行连续攻击。 命中敌人时按下技能键,即刻发动下一次攻击。\n
"""
name = '连环枪'
cellPos = (7,4)
learnLv = 15
masterLv = 60
maxLv = 70
@@ -296,17 +465,17 @@ class Skill13(ActiveSkill):
# 敌人的僵直增加量 : {value4}%
data4 = get_data(f'{prefix}/{uuid}', 4)
# 长枪精通
# demonic_lancer/skirmisher/f2fb27162beb0b87a7cb9af7900e95f2
# 3deb7be5f01953ac8b1ecaa1e25e0420/f2fb27162beb0b87a7cb9af7900e95f2
class Skill14(PassiveSkill):
"""
增加物理攻击力,并减少技能冷却时间,但[流云幻灭]、 [极影无形杀]、 [问鼎·千军破云]的冷却时间不会减少。 熟练掌握长枪技巧,增加攻击速度和命中率。\n
学习此技能后, 可以在空中强制取消[落凤枪]。
学习此技能后,可以在空中强制取消[落凤枪]。\n
"""
name = '长枪精通'
cellPos = (1,4)
learnLv = 15
masterLv = 20
maxLv = 30
@@ -317,13 +486,14 @@ class Skill14(PassiveSkill):
hasUP = False
custom = get_data(f'{prefix}/{uuid}', 'custom') # noqa: E501
# 攻击力增加率 : {value0}%
# 物理攻击力增加率 : {value0}%
data0 = get_data(f'{prefix}/{uuid}', 0)
# 攻击速度增加 : {value1}%
# 冷却时间减少率 : {value1}%
data1 = get_data(f'{prefix}/{uuid}', 1)
# 命中率增加 : {value2}%
# [装备长枪时]
# 攻击速度增加 : {value2}%
data2 = get_data(f'{prefix}/{uuid}', 2)
# 冷却时间减少率 : {value3}%
# 命中率增加 : {value3}%
data3 = get_data(f'{prefix}/{uuid}', 3)
associate = [
@@ -331,7 +501,6 @@ class Skill14(PassiveSkill):
{'type': '*cdReduce', 'data': data3, 'exceptSkills': ['流云幻灭', '极影无形杀', '问鼎·千军破云']},
]
# 行云诀
# demonic_lancer/skirmisher/cfacda0647b9a0f595df2c2aad30c18d
# 3deb7be5f01953ac8b1ecaa1e25e0420/cfacda0647b9a0f595df2c2aad30c18d
@@ -343,14 +512,15 @@ class Skill15(ActiveSkill):
可以用[行云诀]加方向键的方式施放的技能 :\n
[行云 : 风]\n
[行云 : 疾]\n
[行云 : 落]
[行云 : 落]\n
"""
name = '行云诀'
cellPos = (5,3)
learnLv = 15
masterLv = 1
maxLv = 1
position = 6
position = 5
rangeLv = 1
cd = 3
mp = [10, 10]
@@ -369,10 +539,11 @@ class Skill16(ActiveSkill):
在施放其他攻击技能过程中使用,可以留下正在攻击的幻影,并施放[行云 : 风]。\n
开始的第一击有推开靠近的敌人的效果。\n
可以用[行云诀] + →施放[行云 : 风]。\n
行走、 基本攻击、 前冲、 前冲攻击时可以使用。
行走、 基本攻击、 前冲、 前冲攻击时可以使用。\n
"""
name = '行云 : 风'
cellPos = (5,4)
learnLv = 15
masterLv = 60
maxLv = 70
@@ -399,16 +570,16 @@ class Skill16(ActiveSkill):
# 旋风吸入敌人的力量增加率 : {value4}%
data4 = get_data(f'{prefix}/{uuid}', 4)
# 扫堂枪
# demonic_lancer/skirmisher/128b9ddef2262f40723deae4407bdb42
# 3deb7be5f01953ac8b1ecaa1e25e0420/128b9ddef2262f40723deae4407bdb42
class Skill17(ActiveSkill):
"""
攻击敌人足部, 使之倒地。
攻击敌人足部,使之倒地。\n
"""
name = '扫堂枪'
cellPos = (3,4)
learnLv = 15
masterLv = 60
maxLv = 70
@@ -425,17 +596,17 @@ class Skill17(ActiveSkill):
data0 = get_data(f'{prefix}/{uuid}', 0)
hit0 = 1
# 无双枪术
# demonic_lancer/skirmisher/45442bbbe33540b4deeec29437dae70c
# 3deb7be5f01953ac8b1ecaa1e25e0420/45442bbbe33540b4deeec29437dae70c
class Skill18(ActiveSkill):
"""
将斗气附加于枪上,给予敌人这次伤害量一定比率的追加伤害。\n
[无双枪术]的比率伤害会以同样的比率作用在装备的追加伤害效果上。
[无双枪术]的比率伤害会以同样的比率作用在装备的追加伤害效果上。\n
"""
name = '无双枪术'
cellPos = (7,5)
learnLv = 20
masterLv = 10
maxLv = 20
@@ -452,17 +623,17 @@ class Skill18(ActiveSkill):
# [无双枪术]持续时间 : {value1}秒
data1 = get_data(f'{prefix}/{uuid}', 1)
# 双重刺击
# demonic_lancer/skirmisher/d085127b0edd719782bd618d5688f4a1
# 3deb7be5f01953ac8b1ecaa1e25e0420/d085127b0edd719782bd618d5688f4a1
class Skill19(ActiveSkill):
"""
瞬间施放力量聚于一点的二连刺击。 枪头刺击拥有更强的威力。\n
近距离攻击和枪头攻击不会同时命中一个敌人, 判定重叠时, 会优先判定为枪头攻击。
近距离攻击和枪头攻击不会同时命中一个敌人,判定重叠时,会优先判定为枪头攻击。\n
"""
name = '双重刺击'
cellPos = (3,5)
learnLv = 20
masterLv = 60
maxLv = 70
@@ -489,6 +660,9 @@ class Skill19(ActiveSkill):
hit3 = 1
# 枪头攻击判定距离 : {value4}px
data4 = get_data(f'{prefix}/{uuid}', 4)
# 压制力 (4人队伍) : {value5}秒 ({value6}秒)
data5 = get_data(f'{prefix}/{uuid}', 5)
data6 = get_data(f'{prefix}/{uuid}', 6)
mode = ['枪头', '近距离']
@@ -500,7 +674,6 @@ class Skill19(ActiveSkill):
self.hit0 = self.hit2 = 1
self.hit1 = self.hit3 = 0
# 行云 : 疾
# demonic_lancer/skirmisher/ff171dc487807bb9aa28900ca9a46b41
# 3deb7be5f01953ac8b1ecaa1e25e0420/ff171dc487807bb9aa28900ca9a46b41
@@ -510,10 +683,11 @@ class Skill20(ActiveSkill):
在施放其他攻击技能过程中使用,可以留下正在攻击的幻影,并施放[行云 : 疾]。\n
可以以基础浮空力的一定比率使倒地的敌人再次浮空。\n
可以用[行云诀] + ↓施放[行云 : 疾]。\n
行走、 基本攻击、 前冲、 前冲攻击时可以使用。
行走、 基本攻击、 前冲、 前冲攻击时可以使用。\n
"""
name = '行云 : 疾'
cellPos = (5,5)
learnLv = 20
masterLv = 60
maxLv = 70
@@ -537,6 +711,28 @@ class Skill20(ActiveSkill):
# 攻击范围 : {value3}%
data3 = get_data(f'{prefix}/{uuid}', 3)
# 暴击
# demonic_lancer/skirmisher/fc1262c19f3d0477ee8eda47b8db8696
# 3deb7be5f01953ac8b1ecaa1e25e0420/fc1262c19f3d0477ee8eda47b8db8696
# MIGRATION: character 中没有同名技能“暴击”,暂不启用
# class Skill22(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)
# 行云 : 落
# demonic_lancer/skirmisher/2f5d03c7848effbc0a23f4df45d9ca46
@@ -548,10 +744,11 @@ class Skill22(ActiveSkill):
投枪会使敌人处于超级控制状态,并且浮空的敌人的控制时间更久。\n
跳跃投枪时,可以左右移动。\n
可以用[行云诀] + ↑施放[行云 : 落]。\n
行走、 基本攻击、 前冲、 前冲攻击时可以使用。
行走、 基本攻击、 前冲、 前冲攻击时可以使用。\n
"""
name = '行云 : 落'
cellPos = (5,6)
learnLv = 25
masterLv = 60
maxLv = 70
@@ -571,10 +768,12 @@ class Skill22(ActiveSkill):
data1 = get_data(f'{prefix}/{uuid}', 1)
# 地面的敌人超级控制时间 : {value2}秒
data2 = get_data(f'{prefix}/{uuid}', 2)
# [范围信息]
# 攻击范围 : {value3}%
# 压制力 (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)
# 旋风枪
# demonic_lancer/skirmisher/01c3a2fb793d293a25ed8dc7a0d70c1a
@@ -582,10 +781,10 @@ class Skill22(ActiveSkill):
class Skill23(ActiveSkill):
"""
向前方旋转长枪,对敌人进行猛烈的打击。 按下前方向键时,前进距离和旋转次数都会增加。\n
在决斗场无法攻击倒地的敌人。
"""
name = '旋风枪'
cellPos = (1,6)
learnLv = 25
masterLv = 60
maxLv = 70
@@ -603,20 +802,23 @@ class Skill23(ActiveSkill):
hit0 = 11
# 击打数 : {value1}
data1 = get_data(f'{prefix}/{uuid}', 1)
# [范围信息]
# 大小 : {value2}%
# 压制力 (4人队伍) : {value2}秒 ({value3}秒)
data2 = get_data(f'{prefix}/{uuid}', 2)
data3 = get_data(f'{prefix}/{uuid}', 3)
# [范围信息]
# 大小 : {value4}%
data4 = get_data(f'{prefix}/{uuid}', 4)
# 行云 : 沐
# demonic_lancer/skirmisher/85f7c810ad503790e8626439fe936d56
# 3deb7be5f01953ac8b1ecaa1e25e0420/85f7c810ad503790e8626439fe936d56
class Skill24(PassiveSkill):
"""
增加基本攻击力和[刺击]、 [落凤枪]、 [连环枪]等转职技能的攻击力。
增加基本攻击力和[刺击]、 [落凤枪]、 [连环枪]等转职技能的攻击力。\n
"""
name = '行云 : 沐'
cellPos = (7,6)
learnLv = 25
masterLv = 10
maxLv = 20
@@ -632,17 +834,17 @@ class Skill24(PassiveSkill):
associate = [{'data': data0, 'type': '*skillDamage'}]
# 无畏波动枪
# demonic_lancer/skirmisher/8c2379737c5acc935c1731f67f607655
# 3deb7be5f01953ac8b1ecaa1e25e0420/8c2379737c5acc935c1731f67f607655
class Skill25(ActiveSkill):
"""
持枪直线突进进行刺击,并将敌人刺穿在枪上,随后敌人会被弹开,并受到额外伤害。\n
按下前方向键时, 会增加突进距离。
按下前方向键时,会增加突进距离。\n
"""
name = '无畏波动枪'
cellPos = (3,7)
learnLv = 30
masterLv = 60
maxLv = 70
@@ -687,17 +889,17 @@ class Skill25(ActiveSkill):
self.hit0 = self.hit1 = self.hit5 = 1
self.hit2 = self.hit3 = self.hit4 = 0
# 升龙破空枪
# demonic_lancer/skirmisher/4224f9b0b8c7c903e9a1e0f9d9f6d04d
# 3deb7be5f01953ac8b1ecaa1e25e0420/4224f9b0b8c7c903e9a1e0f9d9f6d04d
class Skill26(ActiveSkill):
"""
横扫前方、 挑飞敌人、 并大力刺向浮空的敌人。\n
对无法抓取的敌人不适用控制效果。
对无法抓取的敌人不适用控制效果。\n
"""
name = '升龙破空枪'
cellPos = (7,8)
learnLv = 35
masterLv = 60
maxLv = 70
@@ -710,7 +912,7 @@ class Skill26(ActiveSkill):
hasVP = True
hasUP = True
custom = get_data(f'{prefix}/{uuid}', 'custom') # noqa: E501
vps = get_data(f'{prefix}/{uuid}', 'vps') # noqa: E501
vps = get_data(f'{prefix}/{uuid}', "vps") # noqa: E501
# 横扫攻击力 : {value0}%
data0 = get_data(f'{prefix}/{uuid}', 0)
@@ -743,7 +945,6 @@ class Skill26(ActiveSkill):
self.cd = 40
self.skillRation *= 2
# 螺旋波动枪
# demonic_lancer/skirmisher/902a016f6978f13740f237e4740a5646
# 3deb7be5f01953ac8b1ecaa1e25e0420/902a016f6978f13740f237e4740a5646
@@ -751,10 +952,11 @@ class Skill27(ActiveSkill):
"""
向前方大幅挥枪激起气流,连续攻击敌人。\n
第二次攻击命中时将敌人拉到前方。\n
可以在地面和空中施放。
可以在地面和空中施放。\n
"""
name = '螺旋波动枪'
cellPos = (5,8)
learnLv = 35
masterLv = 60
maxLv = 70
@@ -766,7 +968,7 @@ class Skill27(ActiveSkill):
hasVP = True
hasUP = True
custom = get_data(f'{prefix}/{uuid}', 'custom') # noqa: E501
vps = get_data(f'{prefix}/{uuid}', 'vps') # noqa: E501
vps = get_data(f'{prefix}/{uuid}', "vps") # noqa: E501
# 第1击攻击力 : {value0}%
data0 = get_data(f'{prefix}/{uuid}', 0)
@@ -777,9 +979,12 @@ class Skill27(ActiveSkill):
# 第3击攻击力 : {value2}%
data2 = get_data(f'{prefix}/{uuid}', 2)
hit2 = 1
# [范围信息]
# 攻击范围: {value3}%
# 压制力 (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):
"""
@@ -800,17 +1005,17 @@ class Skill27(ActiveSkill):
"""
...
# 狂龙怒啸
# demonic_lancer/skirmisher/9cb6f9ed646fa87f9b7680a42ce83d1a
# 3deb7be5f01953ac8b1ecaa1e25e0420/9cb6f9ed646fa87f9b7680a42ce83d1a
class Skill28(ActiveSkill):
"""
枪身举至头顶高速旋转,把命中的敌人吸至中心。\n
提升技能等级可增加旋转速度。
提升技能等级可增加旋转速度。\n
"""
name = '狂龙怒啸'
cellPos = (1,9)
learnLv = 40
masterLv = 60
maxLv = 70
@@ -823,7 +1028,7 @@ class Skill28(ActiveSkill):
hasVP = True
hasUP = True
custom = get_data(f'{prefix}/{uuid}', 'custom') # noqa: E501
vps = get_data(f'{prefix}/{uuid}', 'vps') # noqa: E501
vps = get_data(f'{prefix}/{uuid}', "vps") # noqa: E501
# 旋转攻击力 : {value0}%
data0 = get_data(f'{prefix}/{uuid}', 0)
@@ -856,7 +1061,6 @@ class Skill28(ActiveSkill):
"""
...
# 夺命雷霆枪
# demonic_lancer/skirmisher/42c82812f86ff6704ae9952a2e6093a4
# 3deb7be5f01953ac8b1ecaa1e25e0420/42c82812f86ff6704ae9952a2e6093a4
@@ -864,10 +1068,11 @@ class Skill29(ActiveSkill):
"""
用长枪连续刺击敌人要害。 敌人被枪头刺击命中时,会积累受创效果,最后用横斩对积累受创效果的敌人造成额外伤害。\n
最后横斩的攻击力与连续刺击的次数成正比。\n
近距离攻击和积累受创判定重叠时, 优先判定为积累受创。 即使攻击范围增加, 积累受创判定距离也不会增加。
近距离攻击和积累受创判定重叠时,优先判定为积累受创。 即使攻击范围增加,积累受创判定距离也不会增加。\n
"""
name = '夺命雷霆枪'
cellPos = (3,10)
learnLv = 45
masterLv = 60
maxLv = 70
@@ -880,7 +1085,7 @@ class Skill29(ActiveSkill):
hasVP = True
hasUP = True
custom = get_data(f'{prefix}/{uuid}', 'custom') # noqa: E501
vps = get_data(f'{prefix}/{uuid}', 'vps') # noqa: E501
vps = get_data(f'{prefix}/{uuid}', "vps") # noqa: E501
# 刺击次数 : {value0}
data0 = get_data(f'{prefix}/{uuid}', 0)
@@ -936,16 +1141,16 @@ class Skill29(ActiveSkill):
"""
...
# 行云 : 启
# demonic_lancer/skirmisher/a5fa08f5d509e6ff2ebc68856a470b5a
# 3deb7be5f01953ac8b1ecaa1e25e0420/a5fa08f5d509e6ff2ebc68856a470b5a
class Skill30(PassiveSkill):
"""
流畅地循环气力, 增加基本攻击和所有技能的攻击力。 而且特定技能可以增加更多的攻击力。
流畅地循环气力,增加基本攻击和所有技能的攻击力。 而且特定技能可以增加更多的攻击力。\n
"""
name = '行云 : 启'
cellPos = (4,11)
learnLv = 48
masterLv = 40
maxLv = 50
@@ -975,16 +1180,16 @@ class Skill30(PassiveSkill):
{'data': data4, 'type': '*skillDamage', 'exceptSkills': ['行云 : 风', '行云 : 疾', '行云 : 落']},
]
# 流云幻灭
# demonic_lancer/skirmisher/506e7ed77d517419a6e1c437a2cedb17
# 3deb7be5f01953ac8b1ecaa1e25e0420/506e7ed77d517419a6e1c437a2cedb17
class Skill31(ActiveSkill):
"""
横扫前方并聚集敌人后, 放出使用决战者的技能的分身, 投出聚集斗气的长枪, 虚弱大范围敌人。
横扫前方并聚集敌人后,放出使用决战者的技能的分身,投出聚集斗气的长枪,虚弱大范围敌人。\n
"""
name = '流云幻灭'
cellPos = (5,11)
learnLv = 50
masterLv = 40
maxLv = 50
@@ -998,7 +1203,7 @@ class Skill31(ActiveSkill):
hasUP = False
custom = get_data(f'{prefix}/{uuid}', 'custom') # noqa: E501
# 第一击攻击力 : {value0}%
# 第1击攻击力 : {value0}%
data0 = get_data(f'{prefix}/{uuid}', 0)
hit0 = 1
# 第2击攻击力 : {value1}%
@@ -1031,9 +1236,13 @@ class Skill31(ActiveSkill):
data10 = get_data(f'{prefix}/{uuid}', 10)
# [流云幻灭]追加效果
# - 斗气长枪攻击力 +10%
# 压制力 (4人队伍) : {value11}秒 ({value12}秒)
data11 = get_data(f'{prefix}/{uuid}', 11)
data12 = get_data(f'{prefix}/{uuid}', 12)
# [流云幻灭]追加效果
# - 斗气长枪攻击力 +10%
skillRation = 1.1
# 风火燎原
# demonic_lancer/skirmisher/3d8f3d438405d79f8d3ed68072674d1e
# 3deb7be5f01953ac8b1ecaa1e25e0420/3d8f3d438405d79f8d3ed68072674d1e
@@ -1042,10 +1251,11 @@ class Skill32(ActiveSkill):
可以在地面或空中使用。\n
在地面使用时,向前方跳跃,通过追加按键投出集束长枪。\n
施放瞬间可以用前后方向键调整跳跃距离,达到跳跃的最高点时,按下技能键或X键可以发射集束长枪。\n
施放[风火燎原]后, 可以接着使用[落凤枪]、 [流光无影闪]。
施放[风火燎原]后,可以接着使用[落凤枪]、 [流光无影闪]。\n
"""
name = '风火燎原'
cellPos = (3,12)
learnLv = 60
masterLv = 40
maxLv = 50
@@ -1058,7 +1268,7 @@ class Skill32(ActiveSkill):
hasVP = True
hasUP = True
custom = get_data(f'{prefix}/{uuid}', 'custom') # noqa: E501
vps = get_data(f'{prefix}/{uuid}', 'vps') # noqa: E501
vps = get_data(f'{prefix}/{uuid}', "vps") # noqa: E501
# 集束长枪的攻击力 : {value0}%
data0 = get_data(f'{prefix}/{uuid}', 0)
@@ -1090,17 +1300,17 @@ class Skill32(ActiveSkill):
"""
...
# 三一斩月
# demonic_lancer/skirmisher/547ab2b2bd860d3e37355a9cfbc1077c
# 3deb7be5f01953ac8b1ecaa1e25e0420/547ab2b2bd860d3e37355a9cfbc1077c
class Skill33(ActiveSkill):
"""
向前方大幅挥动枪身,进行新月攻击。 被击中的敌人会聚集在新月的中间。\n
近距离的敌人受到枪身的攻击后会被推开。
近距离的敌人受到枪身的攻击后会被推开。\n
"""
name = '三一斩月'
cellPos = (4,13)
learnLv = 70
masterLv = 40
maxLv = 50
@@ -1113,7 +1323,7 @@ class Skill33(ActiveSkill):
hasVP = True
hasUP = True
custom = get_data(f'{prefix}/{uuid}', 'custom') # noqa: E501
vps = get_data(f'{prefix}/{uuid}', 'vps') # noqa: E501
vps = get_data(f'{prefix}/{uuid}', "vps") # noqa: E501
# 枪身攻击力 : {value0}%
data0 = get_data(f'{prefix}/{uuid}', 0)
@@ -1148,7 +1358,6 @@ class Skill33(ActiveSkill):
"""
...
# 行云 : 冥
# demonic_lancer/skirmisher/2a3c96b88d02372505692da0a8b54743
# 3deb7be5f01953ac8b1ecaa1e25e0420/2a3c96b88d02372505692da0a8b54743
@@ -1165,10 +1374,11 @@ class Skill34(PassiveSkill):
- 可以以[刺击]、 [双重刺击]、 [无双突刺]的顺序连接使用。\n
- 连接使用时,技能的攻击速度会增加。\n
- 学习技能后,[行云 : 风]的攻击速度会增加。\n
- 学习技能后, 在[后跳]或[行云诀]状态下可以使用基本攻击。
- 学习技能后,在[后跳]或[行云诀]状态下可以使用基本攻击。\n
"""
name = '行云 : 冥'
cellPos = (6,13)
learnLv = 75
masterLv = 40
maxLv = 50
@@ -1204,7 +1414,6 @@ class Skill34(PassiveSkill):
associate = [{'data': data2, 'type': '*skillDamage', 'skills': ['行云 : 风', '行云 : 疾', '行云 : 落']}, {'data': data3, 'type': '*skillDamage', 'skills': ['刺击', '双重刺击']}, {'data': data4, 'type': '*skillDamage', 'exceptSkills': ['行云 : 风', '行云 : 疾', '行云 : 落', '刺击', '双重刺击']}]
# 无双突刺
# demonic_lancer/skirmisher/bc11d28c04e01923a093d65752c55516
# 3deb7be5f01953ac8b1ecaa1e25e0420/bc11d28c04e01923a093d65752c55516
@@ -1212,10 +1421,11 @@ class Skill35(ActiveSkill):
"""
施放2次牵制刺击后,追加2次强力的终结刺击。\n
第3~4击判定为枪头攻击时,会造成更大的伤害。\n
近距离攻击和枪头攻击同时命中时, 优先判定为枪头攻击。 即使攻击范围增加, 枪头判定距离也不会增加。
近距离攻击和枪头攻击同时命中时,优先判定为枪头攻击。 即使攻击范围增加,枪头判定距离也不会增加。\n
"""
name = '无双突刺'
cellPos = (3,13)
learnLv = 75
masterLv = 40
maxLv = 50
@@ -1228,7 +1438,7 @@ class Skill35(ActiveSkill):
hasVP = True
hasUP = True
custom = get_data(f'{prefix}/{uuid}', 'custom') # noqa: E501
vps = get_data(f'{prefix}/{uuid}', 'vps') # noqa: E501
vps = get_data(f'{prefix}/{uuid}', "vps") # noqa: E501
# 第1~2击攻击力 : {value0}%
data0 = get_data(f'{prefix}/{uuid}', 0)
@@ -1273,17 +1483,17 @@ class Skill35(ActiveSkill):
"""
...
# 流光无影闪
# demonic_lancer/skirmisher/faf9cd66281078b51be2ee0b0f6c5530
# 3deb7be5f01953ac8b1ecaa1e25e0420/faf9cd66281078b51be2ee0b0f6c5530
class Skill36(ActiveSkill):
"""
高速突进,聚集前方的怪物后,施展强力的终结击。\n
可以在空中施放。
可以在空中施放。\n
"""
name = '流光无影闪'
cellPos = (2,14)
learnLv = 80
masterLv = 40
maxLv = 50
@@ -1296,7 +1506,7 @@ class Skill36(ActiveSkill):
hasVP = True
hasUP = True
custom = get_data(f'{prefix}/{uuid}', 'custom') # noqa: E501
vps = get_data(f'{prefix}/{uuid}', 'vps') # noqa: E501
vps = get_data(f'{prefix}/{uuid}', "vps") # noqa: E501
# 突进攻击力 : {value0}%
data0 = get_data(f'{prefix}/{uuid}', 0)
@@ -1326,7 +1536,6 @@ class Skill36(ActiveSkill):
"""
...
# 极影无形杀
# demonic_lancer/skirmisher/1721e94897e9961d5c98130a13392f17
# 3deb7be5f01953ac8b1ecaa1e25e0420/1721e94897e9961d5c98130a13392f17
@@ -1335,10 +1544,11 @@ class Skill37(ActiveSkill):
施放超长攻击距离的刺击控制敌人,随后突进过去展开斩击与刺击的乱舞刺击。\n
刺击后的突进碰到敌人时,角色会即刻在原地进行乱舞。\n
该技能无法用行云系技能强制中断。\n
输入前方向键后, 终结一击会向前突进。
输入前方向键后,终结一击会向前突进。\n
"""
name = '极影无形杀'
cellPos = (5,14)
learnLv = 85
masterLv = 40
maxLv = 50
@@ -1368,7 +1578,9 @@ class Skill37(ActiveSkill):
# 最后一击攻击力 : {value5}%
data5 = get_data(f'{prefix}/{uuid}', 5)
hit5 = 1
# 压制力 (4人队伍) : {value6}秒 ({value7}秒)
data6 = get_data(f'{prefix}/{uuid}', 6)
data7 = get_data(f'{prefix}/{uuid}', 7)
# 一身是胆
# demonic_lancer/skirmisher/0e409ac3e1c1f3976b3ef2bfe4c13069
@@ -1379,10 +1591,11 @@ class Skill38(PassiveSkill):
[行云诀]\n
行云诀发动期间,可以使用其他攻击技能。\n
[无畏波动枪]\n
施放[无畏波动枪]时, 可以立即强制中断并连接行云系列技能; 强制中断施放时, 幻影分身会将敌人拉近。
施放[无畏波动枪]时,可以立即强制中断并连接行云系列技能; 强制中断施放时,幻影分身会将敌人拉近。\n
"""
name = '一身是胆'
cellPos = (5,15)
learnLv = 95
masterLv = 40
maxLv = 50
@@ -1398,16 +1611,16 @@ class Skill38(PassiveSkill):
associate = [{'data': data0, 'type': '*skillDamage'}]
# 双龙流云灭
# demonic_lancer/skirmisher/4c5271b0ecce120d7fc113f377fae76f
# 3deb7be5f01953ac8b1ecaa1e25e0420/4c5271b0ecce120d7fc113f377fae76f
class Skill39(ActiveSkill):
"""
注入斗气, 用力向地面下劈, 然后与仿佛有生命般的幻影共同攻击。 可以在地面和空中施放。
注入斗气,用力向地面下劈,然后与仿佛有生命般的幻影共同攻击。 可以在地面和空中施放。\n
"""
name = '双龙流云灭'
cellPos = (7,15)
learnLv = 95
masterLv = 40
maxLv = 50
@@ -1435,7 +1648,6 @@ class Skill39(ActiveSkill):
# 爆炸多段攻击次数 : {value4}次
data4 = get_data(f'{prefix}/{uuid}', 4)
# 问鼎·千军破云
# demonic_lancer/skirmisher/2e2b7efe778656690f9c8cb6e47c3932
# 3deb7be5f01953ac8b1ecaa1e25e0420/2e2b7efe778656690f9c8cb6e47c3932
@@ -1445,10 +1657,11 @@ class Skill40(ActiveSkill):
施放时,千魂·决战者大幅挥动魔枪释放斗气,消失在迷雾中。 然后,幻影发动乱舞攻击,滞空的千魂·决战者聚集所有幻影制造巨型魔枪,贯穿地上的一切。\n
[三次觉醒技能]\n
使用三次觉醒技能时,与关联的技能共享冷却时间。\n
若关联的技能还在冷却中, 则无法使用三次觉醒技能。
若关联的技能还在冷却中,则无法使用三次觉醒技能。\n
"""
name = '问鼎·千军破云'
cellPos = (5,16)
learnLv = 100
masterLv = 40
maxLv = 50
@@ -1476,7 +1689,6 @@ class Skill40(ActiveSkill):
# 穿刺多段攻击次数 : {value4}次
data4 = get_data(f'{prefix}/{uuid}', 4)
class classChange(Character):
def __init__(self, equVersion):
@@ -2,7 +2,7 @@
from core.basic.skill import PassiveSkill, ActiveSkill, get_data
from core.basic.character import Character
prefix = 'demonic_lancer/vanguard/cn/skillDetail'
prefix = "demonic_lancer/vanguard/cn/skillDetail"
# 刺击
@@ -11,10 +11,11 @@ prefix = 'demonic_lancer/vanguard/cn/skillDetail'
class Skill0(ActiveSkill):
"""
向前方进行普通的刺击。 用枪头击打敌人时,可以造成更多的伤害。\n
近距离攻击和枪头攻击不会同时命中敌人, 相应的判定重叠时, 优先判定为枪头攻击。
近距离攻击和枪头攻击不会同时命中敌人,相应的判定重叠时,优先判定为枪头攻击。\n
"""
name = '刺击'
cellPos = (3,1)
learnLv = 1
masterLv = 60
maxLv = 70
@@ -46,16 +47,16 @@ class Skill0(ActiveSkill):
self.hit0 = 1
self.hit1 = 0
# 枪挑
# demonic_lancer/vanguard/0969cd4054d93da07708108c0cc1c4b5
# 3deb7be5f01953ac8b1ecaa1e25e0420/0969cd4054d93da07708108c0cc1c4b5
class Skill1(ActiveSkill):
"""
从下往上挑击, 使敌人浮空。
从下往上挑击,使敌人浮空。\n
"""
name = '枪挑'
cellPos = (5,1)
learnLv = 1
masterLv = 10
maxLv = 20
@@ -73,6 +74,28 @@ class Skill1(ActiveSkill):
# 浮空力增加率 : {value1}%
data1 = get_data(f'{prefix}/{uuid}', 1)
# 后跳
# demonic_lancer/vanguard/7822d6d52e10964a6755f142c666b494
# 3deb7be5f01953ac8b1ecaa1e25e0420/7822d6d52e10964a6755f142c666b494
# MIGRATION: character 中没有同名技能“后跳”,暂不启用
# class Skill2(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
# 基础精通
# demonic_lancer/vanguard/5a56514f35cf0270ae8d6c65f8fefd78
@@ -80,10 +103,11 @@ class Skill1(ActiveSkill):
class Skill3(PassiveSkill):
"""
增加基本攻击、 前冲攻击、 跳跃攻击、 [枪挑]的攻击力。\n
在决斗场中, 增益/减益技能、 被动技能的技能攻击力增加效果对[基础精通]无影响。
在决斗场中,增益/减益技能、 被动技能的技能攻击力增加效果对[基础精通]无影响。\n
"""
name = '基础精通'
cellPos = (1,0)
learnLv = 1
masterLv = 190
maxLv = 200
@@ -104,6 +128,93 @@ class Skill3(PassiveSkill):
associate = [{'type': '*skillDamage', 'data': [i - 100 if i > 0 else 0 for i in data0], 'skills': ['霸王戟']}]
# 受身蹲伏
# demonic_lancer/vanguard/ce26c6b69d02a440a81b552bec94f03b
# 3deb7be5f01953ac8b1ecaa1e25e0420/ce26c6b69d02a440a81b552bec94f03b
# MIGRATION: character 中没有同名技能“受身蹲伏”,暂不启用
# class Skill4(ActiveSkill):
# """
# 使自身在倒地状态下迅速起身并采取蹲伏姿势; 蹲伏状态下,自身会进入无敌状态,效果持续一定时间。\n
# """
# name = "受身蹲伏"
# learnLv = 1
# masterLv = 10
# 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)
# 技能连招
# demonic_lancer/vanguard/10b31c7e8cd2d60b9bcf3b1d3ada4b0a
# 3deb7be5f01953ac8b1ecaa1e25e0420/10b31c7e8cd2d60b9bcf3b1d3ada4b0a
# MIGRATION: character 中没有同名技能“技能连招”,暂不启用
# class Skill5(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
# 防具精通
# demonic_lancer/vanguard/892ef624d8bf3d7fc045f84825fd6104
# 3deb7be5f01953ac8b1ecaa1e25e0420/892ef624d8bf3d7fc045f84825fd6104
# MIGRATION: character 中没有同名技能“防具精通”,暂不启用
# class Skill6(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
# 回旋钩
# demonic_lancer/vanguard/eb71e1d82d92c7e1d40500a0dcd77aa6
@@ -112,10 +223,11 @@ class Skill6(ActiveSkill):
"""
用枪把敌人钩过来后,再次扔出。\n
被扔出的敌人会受到冲撞伤害,并且碰到墙壁时,会反弹回来。\n
对无法抓取的敌人不适用控制效果。
对无法抓取的敌人不适用控制效果。\n
"""
name = '回旋钩'
cellPos = (4,2)
learnLv = 5
masterLv = 60
maxLv = 70
@@ -145,7 +257,6 @@ class Skill6(ActiveSkill):
elif mode == '不可抓取':
self.hit0 = 0
# 格挡反击
# demonic_lancer/vanguard/4655101518604f874721b3cc249aae10
# 3deb7be5f01953ac8b1ecaa1e25e0420/4655101518604f874721b3cc249aae10
@@ -153,10 +264,11 @@ class Skill7(ActiveSkill):
"""
斜架长枪抵抗来自前方的攻击。\n
受到的伤害越多,接受攻击时被推开的距离越远。\n
被推开一定距离后, 按下X键可以进行反击。
被推开一定距离后,按下X键可以进行反击。\n
"""
name = '格挡反击'
cellPos = (7,3)
learnLv = 10
masterLv = 1
maxLv = 10
@@ -175,16 +287,16 @@ class Skill7(ActiveSkill):
# 所受伤害减少率 : {value1}%
data1 = get_data(f'{prefix}/{uuid}', 1)
# 落凤枪
# demonic_lancer/vanguard/c9664191611af31142e052dfaef84530
# 3deb7be5f01953ac8b1ecaa1e25e0420/c9664191611af31142e052dfaef84530
class Skill8(ActiveSkill):
"""
从空中快速地斜向落地, 刺向敌人。
从空中快速地斜向落地,刺向敌人。\n
"""
name = '落凤枪'
cellPos = (5,3)
learnLv = 10
masterLv = 60
maxLv = 70
@@ -207,16 +319,16 @@ class Skill8(ActiveSkill):
# 爆炸范围 : {value2}%
data2 = get_data(f'{prefix}/{uuid}', 2)
# 横扫
# demonic_lancer/vanguard/fc7a3f4c2852c832a2f20af63d5d212f
# 3deb7be5f01953ac8b1ecaa1e25e0420/fc7a3f4c2852c832a2f20af63d5d212f
class Skill9(ActiveSkill):
"""
向前方快速横斩, 击飞敌人。
向前方快速横斩,击飞敌人。\n
"""
name = '横扫'
cellPos = (3,3)
learnLv = 10
masterLv = 60
maxLv = 70
@@ -233,17 +345,17 @@ class Skill9(ActiveSkill):
data0 = get_data(f'{prefix}/{uuid}', 0)
hit0 = 1
# 魔枪发射
# demonic_lancer/vanguard/51a08fd0c90f0a5276cd552047fac93d
# 3deb7be5f01953ac8b1ecaa1e25e0420/51a08fd0c90f0a5276cd552047fac93d
class Skill10(ActiveSkill):
"""
将气息聚集到魔枪尖端,然后投掷魔枪。\n
魔法枪对命中的敌人造成多段伤害后消失。
魔法枪对命中的敌人造成多段伤害后消失。\n
"""
name = '魔枪发射'
cellPos = (1,3)
learnLv = 10
masterLv = 60
maxLv = 70
@@ -262,16 +374,73 @@ class Skill10(ActiveSkill):
# 魔法枪多段攻击次数 : {value1}次
data1 = get_data(f'{prefix}/{uuid}', 1)
# 强化 - 后跳
# demonic_lancer/vanguard/2b340542e776818b78f3212af184bd6b
# 3deb7be5f01953ac8b1ecaa1e25e0420/2b340542e776818b78f3212af184bd6b
# MIGRATION: character 中没有同名技能“强化 - 后跳”,暂不启用
# 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)
# 跃翔
# demonic_lancer/vanguard/1fea5a626f15230237946a11a9d11582
# 3deb7be5f01953ac8b1ecaa1e25e0420/1fea5a626f15230237946a11a9d11582
# MIGRATION: character 中没有同名技能“跃翔”,暂不启用
# 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)
# 连环枪
# demonic_lancer/vanguard/717f1e2104fe4b796f800352fa143ecc
# 3deb7be5f01953ac8b1ecaa1e25e0420/717f1e2104fe4b796f800352fa143ecc
class Skill13(ActiveSkill):
"""
使用长枪进行连续攻击。 命中敌人时按下技能键, 即刻发动下一次攻击。
使用长枪进行连续攻击。 命中敌人时按下技能键,即刻发动下一次攻击。\n
"""
name = '连环枪'
cellPos = (8,4)
learnLv = 15
masterLv = 60
maxLv = 70
@@ -300,16 +469,16 @@ class Skill13(ActiveSkill):
# 敌人的僵直增加量 : {value4}%
data4 = get_data(f'{prefix}/{uuid}', 4)
# 狂暴战戟
# demonic_lancer/vanguard/0ed3148658fe37b3336ccb718dc0fdb0
# 3deb7be5f01953ac8b1ecaa1e25e0420/0ed3148658fe37b3336ccb718dc0fdb0
class Skill14(PassiveSkill):
"""
征战者特有的枪术, 能更有破坏力地使用魔枪。 学习后, 基础攻击动作将会改变。 同时, [枪挑]将会被[上斩]代替, [上斩]技能等级受[枪挑]影响, 但是造成的伤害更高。
征战者特有的枪术,能更有破坏力地使用魔枪。 学习后,基础攻击动作将会改变。 同时,[枪挑]将会被[上斩]代替,[上斩]技能等级受[枪挑]影响,但是造成的伤害更高。\n
"""
name = '狂暴战戟'
cellPos = (0,4)
learnLv = 15
masterLv = 1
maxLv = 1
@@ -322,16 +491,16 @@ class Skill14(PassiveSkill):
# [枪挑]攻击力增加率 : 120%
# 扫堂枪
# demonic_lancer/vanguard/128b9ddef2262f40723deae4407bdb42
# 3deb7be5f01953ac8b1ecaa1e25e0420/128b9ddef2262f40723deae4407bdb42
class Skill15(ActiveSkill):
"""
攻击敌人足部, 使之倒地。
攻击敌人足部,使之倒地。\n
"""
name = '扫堂枪'
cellPos = (4,4)
learnLv = 15
masterLv = 60
maxLv = 70
@@ -348,17 +517,17 @@ class Skill15(ActiveSkill):
data0 = get_data(f'{prefix}/{uuid}', 0)
hit0 = 1
# 霸王戟
# demonic_lancer/vanguard/78be08a3f8c834d3b06fa20c6a08c5a5
# 3deb7be5f01953ac8b1ecaa1e25e0420/78be08a3f8c834d3b06fa20c6a08c5a5
class Skill16(ActiveSkill):
"""
强制中断基本攻击、 前冲攻击、 后跳,并进行强力一击。 基本攻击第一击或前冲攻击后使用时,会拉开距离并向下斩; 基本攻击第二击之后使用时,会施放横斩; 基本攻击第三击后使用时,角色会后退并施放强力的横斩。 使用技能时按向前方向键,角色不会后退,并在原地进行横斩。 可以强制中断基本攻击并施放的技能都可以强制中断[霸王戟]并施放,且受到[基础精通]的影响。\n
[后跳]中施放技能时有冷却时间。
[后跳]中施放技能时有冷却时间。\n
"""
name = '霸王戟'
cellPos = (2,4)
learnLv = 15
masterLv = 1
maxLv = 1
@@ -395,7 +564,6 @@ class Skill16(ActiveSkill):
self.hit3 = 1
self.hit0 = self.hit1 = self.hit2 = 0
# 战戟精通
# demonic_lancer/vanguard/c61f5a010370101402b05b21916c2071
# 3deb7be5f01953ac8b1ecaa1e25e0420/c61f5a010370101402b05b21916c2071
@@ -403,13 +571,13 @@ class Skill17(PassiveSkill):
"""
征战者手握魔枪后,把体内的破坏欲与潜力全都激发出来,把攻击性最大化,产生强大的破坏力。\n
[装备战戟时的效果]\n
减少魔法值消耗量。\n
增加攻击速度和命中率。\n
减少魔法值消耗量,增加攻击速度和命中率。\n
[基础效果]\n
增加物理攻击力, 攻击过程中遭受一定伤害以下的攻击时, 不会僵直。 (可以开启与关闭)
增加物理攻击力,攻击过程中遭受一定伤害以下的攻击时,不会僵直。 (可以开启与关闭)\n
"""
name = '战戟精通'
cellPos = (6,4)
learnLv = 15
masterLv = 10
maxLv = 20
@@ -420,7 +588,7 @@ class Skill17(PassiveSkill):
hasUP = False
custom = get_data(f'{prefix}/{uuid}', 'custom') # noqa: E501
# 物理武器攻击力增加率 : {value0}%
# 物理攻击力增加率 : {value0}%
data0 = get_data(f'{prefix}/{uuid}', 0)
# 装备战戟时,攻击速度增加 : {value1}%
data1 = get_data(f'{prefix}/{uuid}', 1)
@@ -436,17 +604,17 @@ class Skill17(PassiveSkill):
associate = [{'type': '$*PAtkP', 'data': data0}]
# 破军突击
# demonic_lancer/vanguard/c27418ae613c647527200a7ca17d97fd
# 3deb7be5f01953ac8b1ecaa1e25e0420/c27418ae613c647527200a7ca17d97fd
class Skill18(ActiveSkill):
"""
进行强力的突进攻击。 按下向前方向键可以突进更远的距离,按上/下方向键会以对角线的轨迹突进。\n
被最后一击命中的敌人会进入眩晕状态。
被最后一击命中的敌人会进入眩晕状态。\n
"""
name = '破军突击'
cellPos = (5,5)
learnLv = 20
masterLv = 60
maxLv = 70
@@ -472,17 +640,17 @@ class Skill18(ActiveSkill):
# 眩晕持续时间 : {value4}秒
data4 = get_data(f'{prefix}/{uuid}', 4)
# 不灭战戟
# demonic_lancer/vanguard/de3fea2d65c597f4d55c70a02b97fc79
# 3deb7be5f01953ac8b1ecaa1e25e0420/de3fea2d65c597f4d55c70a02b97fc79
class Skill19(ActiveSkill):
"""
瞬间解放为了不被魔枪支配而抑制的魔枪之力,在一段时间内使自身的破坏力极大化。\n
增加物理暴击率和暴击伤害。
增加物理暴击率和暴击伤害。\n
"""
name = '不灭战戟'
cellPos = (6,5)
learnLv = 20
masterLv = 10
maxLv = 20
@@ -501,16 +669,39 @@ class Skill19(ActiveSkill):
# 物理暴击率增加 : {value2}%
data2 = get_data(f'{prefix}/{uuid}', 2)
# 暴击
# demonic_lancer/vanguard/fc1262c19f3d0477ee8eda47b8db8696
# 3deb7be5f01953ac8b1ecaa1e25e0420/fc1262c19f3d0477ee8eda47b8db8696
# MIGRATION: character 中没有同名技能“暴击”,暂不启用
# class Skill21(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)
# 追魂斩
# demonic_lancer/vanguard/01384bbfc346775d1267fa0bc4ca605f
# 3deb7be5f01953ac8b1ecaa1e25e0420/01384bbfc346775d1267fa0bc4ca605f
class Skill21(ActiveSkill):
"""
向前方施放两段强力的横斩。 被击中的敌人会进入短暂的僵直。 按向前方向键施放技能, 可以前进更远的距离并施放横斩。
向前方施放两段强力的横斩。 被击中的敌人会进入短暂的僵直。 按向前方向键施放技能,可以前进更远的距离并施放横斩。\n
"""
name = '追魂斩'
cellPos = (4,6)
learnLv = 25
masterLv = 60
maxLv = 70
@@ -526,10 +717,12 @@ class Skill21(ActiveSkill):
# 横斩攻击力 : {value0}%
data0 = get_data(f'{prefix}/{uuid}', 0)
hit0 = 1
# [范围信息]
# 斩击范围比率 : {value1}%
# 压制力 (4人队伍) : {value1}秒 ({value2}秒)
data1 = get_data(f'{prefix}/{uuid}', 1)
data2 = get_data(f'{prefix}/{uuid}', 2)
# [范围信息]
# 斩击范围比率 : {value3}%
data3 = get_data(f'{prefix}/{uuid}', 3)
# 战戟猛攻
# demonic_lancer/vanguard/92360eab6e1f378902018eca681ac629
@@ -540,10 +733,11 @@ class Skill22(ActiveSkill):
相反,也可以在[战戟猛攻]命中敌人后强制中断并使用其他技能。\n
[战戟猛攻]只能按现有的能量层数使用,消耗的能量层数在能量蓄满后恢复。施放技能时按向前方向键,会向前前进。 一直按住技能键会维持攻击准备状态,所受伤害也会减少。\n
使用[霸王戟]或[战戟猛攻]攻击敌人时,会在一段时间内增加物理攻击力和生命值最大值。\n
在决斗场不会增加生命值最大值。
在决斗场不会增加生命值最大值。\n
"""
name = '战戟猛攻'
cellPos = (2,6)
learnLv = 25
masterLv = 20
maxLv = 30
@@ -579,16 +773,16 @@ class Skill22(ActiveSkill):
def getSkillCD(self, mode=None):
return self.cd
# 落月斩
# demonic_lancer/vanguard/dc1ffbe7bfcc6dc2be737951960da9ad
# 3deb7be5f01953ac8b1ecaa1e25e0420/dc1ffbe7bfcc6dc2be737951960da9ad
class Skill23(ActiveSkill):
"""
跳跃后, 强力下劈攻击敌人。 施放技能时按向前方向键, 可以跳跃更远的距离进行下劈。
跳跃后,强力下劈攻击敌人。 施放技能时按向前方向键,可以跳跃更远的距离进行下劈。\n
"""
name = '落月斩'
cellPos = (5,7)
learnLv = 30
masterLv = 60
maxLv = 70
@@ -608,16 +802,16 @@ class Skill23(ActiveSkill):
# 下斩范围比率 : {value1}%
data1 = get_data(f'{prefix}/{uuid}', 1)
# 冷血突刺
# demonic_lancer/vanguard/e49e57b2e8fbeceb0a2c56a0c63fe6c5
# 3deb7be5f01953ac8b1ecaa1e25e0420/e49e57b2e8fbeceb0a2c56a0c63fe6c5
class Skill24(ActiveSkill):
"""
聚集力量, 向前方施放破坏性刺击。 被击中的敌人会被击退, 并受到多段伤害。
聚集力量,向前方施放破坏性刺击。 被击中的敌人会被击退,并受到多段伤害。\n
"""
name = '冷血突刺'
cellPos = (6,8)
learnLv = 35
masterLv = 60
maxLv = 70
@@ -630,7 +824,7 @@ class Skill24(ActiveSkill):
hasVP = True
hasUP = True
custom = get_data(f'{prefix}/{uuid}', 'custom') # noqa: E501
vps = get_data(f'{prefix}/{uuid}', 'vps') # noqa: E501
vps = get_data(f'{prefix}/{uuid}', "vps") # noqa: E501
# 刺击攻击力 : {value0}%
data0 = get_data(f'{prefix}/{uuid}', 0)
@@ -640,9 +834,12 @@ class Skill24(ActiveSkill):
hit1 = 6
# 多段攻击次数上限 : {value2}次
data2 = get_data(f'{prefix}/{uuid}', 2)
# [范围信息]
# 旋风范围 : {value3}px
# 压制力 (4人队伍) : {value3}秒 ({value4}秒)
data3 = get_data(f'{prefix}/{uuid}', 3)
data4 = get_data(f'{prefix}/{uuid}', 4)
# [范围信息]
# 旋风范围 : {value5}px
data5 = get_data(f'{prefix}/{uuid}', 5)
def vp_1(self):
"""
@@ -663,16 +860,16 @@ class Skill24(ActiveSkill):
"""
...
# 破灭斩
# demonic_lancer/vanguard/e4c354a89c337310aeb7041d5e742828
# 3deb7be5f01953ac8b1ecaa1e25e0420/e4c354a89c337310aeb7041d5e742828
class Skill25(ActiveSkill):
"""
聚集力量, 向前方施放致命的横斩。
聚集力量,向前方施放致命的横斩。\n
"""
name = '破灭斩'
cellPos = (4,8)
learnLv = 35
masterLv = 60
maxLv = 70
@@ -685,7 +882,7 @@ class Skill25(ActiveSkill):
hasVP = True
hasUP = True
custom = get_data(f'{prefix}/{uuid}', 'custom') # noqa: E501
vps = get_data(f'{prefix}/{uuid}', 'vps') # noqa: E501
vps = get_data(f'{prefix}/{uuid}', "vps") # noqa: E501
# 横斩攻击力 : {value0}%
data0 = get_data(f'{prefix}/{uuid}', 0)
@@ -713,20 +910,20 @@ class Skill25(ActiveSkill):
"""
...
# 灭袭乱舞
# demonic_lancer/vanguard/1fadde0eece18649caddbca7bd58cc2f
# 3deb7be5f01953ac8b1ecaa1e25e0420/1fadde0eece18649caddbca7bd58cc2f
class Skill26(ActiveSkill):
"""
在原地反复地快速横斩后, 施放强力的最后一击。 被横斩击中的敌人会渐渐聚在中间, 连续按下攻击键或技能键可以加快攻击速度。
在原地反复地快速横斩后,施放强力的最后一击。 被横斩击中的敌人会渐渐聚在中间,连续按下攻击键或技能键可以加快攻击速度。\n
"""
name = '灭袭乱舞'
cellPos = (5,9)
learnLv = 40
masterLv = 60
maxLv = 70
position = 6
position = 5
rangeLv = 2
cube = 1
cd = 18
@@ -735,7 +932,7 @@ class Skill26(ActiveSkill):
hasVP = True
hasUP = True
custom = get_data(f'{prefix}/{uuid}', 'custom') # noqa: E501
vps = get_data(f'{prefix}/{uuid}', 'vps') # noqa: E501
vps = get_data(f'{prefix}/{uuid}', "vps") # noqa: E501
# 每1次横斩的攻击力 : {value0}%
data0 = get_data(f'{prefix}/{uuid}', 0)
@@ -770,16 +967,16 @@ class Skill26(ActiveSkill):
"""
...
# 横扫八荒
# demonic_lancer/vanguard/4b2c90ec226fd40e967875aa5eabefb2
# 3deb7be5f01953ac8b1ecaa1e25e0420/4b2c90ec226fd40e967875aa5eabefb2
class Skill27(ActiveSkill):
"""
将长枪举过头顶, 大幅旋转攻击敌人后, 施放强力的最后一击。 旋转攻击命中时将敌人聚集到中心。 使用方向键可以移动角色, 并且连续按下攻击键或技能键可以加快攻击速度。 技能施放过程中按下Z键, 会立即施放最后一击。
将长枪举过头顶,大幅旋转攻击敌人后,施放强力的最后一击。 旋转攻击命中时将敌人聚集到中心。 使用方向键可以移动角色,并且连续按下攻击键或技能键可以加快攻击速度。 技能施放过程中按下Z键,会立即施放最后一击。\n
"""
name = '横扫八荒'
cellPos = (4,10)
learnLv = 45
masterLv = 60
maxLv = 70
@@ -792,7 +989,7 @@ class Skill27(ActiveSkill):
hasVP = True
hasUP = True
custom = get_data(f'{prefix}/{uuid}', 'custom') # noqa: E501
vps = get_data(f'{prefix}/{uuid}', 'vps') # noqa: E501
vps = get_data(f'{prefix}/{uuid}', "vps") # noqa: E501
# 每1次旋转横斩的攻击力 : {value0}%
data0 = get_data(f'{prefix}/{uuid}', 0)
@@ -825,7 +1022,6 @@ class Skill27(ActiveSkill):
"""
...
# 战戟之魂
# demonic_lancer/vanguard/d2c6df5105577fb59fb92529a36165a0
# 3deb7be5f01953ac8b1ecaa1e25e0420/d2c6df5105577fb59fb92529a36165a0
@@ -835,10 +1031,11 @@ class Skill28(PassiveSkill):
增加基本攻击力和技能攻击力,并且征战者的生命值低于一定值时,会产生下列效果。 (强化效果共分为2阶段)\n
- 增加攻击速度\n
- 增加攻击过程中被击时,不会僵直的伤害量上限\n
- 在第2阶段, 无视僵直不仅适用于攻击, 还适用于除攻击以外的所有情况。
- 在第2阶段,无视僵直不仅适用于攻击,还适用于除攻击以外的所有情况。\n
"""
name = '战戟之魂'
cellPos = (6,11)
learnLv = 48
masterLv = 40
maxLv = 50
@@ -867,7 +1064,6 @@ class Skill28(PassiveSkill):
associate = [{'data': data0, 'type': '*skillDamage'}]
# 千魂弑
# demonic_lancer/vanguard/d0cdaca82892e54097f22a1f60817048
# 3deb7be5f01953ac8b1ecaa1e25e0420/d0cdaca82892e54097f22a1f60817048
@@ -875,10 +1071,11 @@ class Skill29(ActiveSkill):
"""
瞬间释放全部魔枪之力,强力地砸向地面使敌人浮空,之后用强力的横斩斩掉所有敌人。\n
对无法抓取的敌人,不适用浮空判定。\n
施放技能时, 适用[战戟猛攻]增益效果。
施放技能时,适用[战戟猛攻]增益效果。\n
"""
name = '千魂弑'
cellPos = (5,11)
learnLv = 50
masterLv = 40
maxLv = 50
@@ -898,17 +1095,20 @@ class Skill29(ActiveSkill):
# 最后一击攻击力 : {value1}%
data1 = get_data(f'{prefix}/{uuid}', 1)
hit1 = 1
# 压制力 (4人队伍) : {value2}秒 ({value3}秒)
data2 = get_data(f'{prefix}/{uuid}', 2)
data3 = get_data(f'{prefix}/{uuid}', 3)
# 长虹贯日
# demonic_lancer/vanguard/1803b6a67047cafb9e289b4f33cc507b
# 3deb7be5f01953ac8b1ecaa1e25e0420/1803b6a67047cafb9e289b4f33cc507b
class Skill30(ActiveSkill):
"""
刺穿敌人并将敌人举起, 跳向空中强力地砸向地面, 对周围的敌人造成冲击波伤害。 如果刺穿攻击没有命中敌人, 随后的攻击也无法施放。
刺穿敌人并将敌人举起,跳向空中强力地砸向地面,对周围的敌人造成冲击波伤害。 如果刺穿攻击没有命中敌人,随后的攻击也无法施放。\n
"""
name = '长虹贯日'
cellPos = (4,12)
learnLv = 60
masterLv = 40
maxLv = 50
@@ -921,7 +1121,7 @@ class Skill30(ActiveSkill):
hasVP = True
hasUP = True
custom = get_data(f'{prefix}/{uuid}', 'custom') # noqa: E501
vps = get_data(f'{prefix}/{uuid}', 'vps') # noqa: E501
vps = get_data(f'{prefix}/{uuid}', "vps") # noqa: E501
# 刺击攻击力 : {value0}%
data0 = get_data(f'{prefix}/{uuid}', 0)
@@ -929,11 +1129,14 @@ class Skill30(ActiveSkill):
# 最后一击攻击力 : {value1}%
data1 = get_data(f'{prefix}/{uuid}', 1)
hit1 = 1
# [范围信息]
# 最后冲击波范围比率 : {value2}%
# 压制力 (4人队伍) : {value2}秒 ({value3}秒)
data2 = get_data(f'{prefix}/{uuid}', 2)
# 最终爆炸范围比率 : {value3}%
data3 = get_data(f'{prefix}/{uuid}', 3)
# [范围信息]
# 最后冲击波范围比率 : {value4}%
data4 = get_data(f'{prefix}/{uuid}', 4)
# 最终爆炸范围比率 : {value5}%
data5 = get_data(f'{prefix}/{uuid}', 5)
def vp_1(self):
"""
@@ -955,16 +1158,16 @@ class Skill30(ActiveSkill):
self.cd = 37.5
self.skillRation *= 1.5
# 穿云裂地斩
# demonic_lancer/vanguard/0232c151ef3731c2dede51931a374723
# 3deb7be5f01953ac8b1ecaa1e25e0420/0232c151ef3731c2dede51931a374723
class Skill31(ActiveSkill):
"""
跳跃并聚集力量, 强力地砸向地面, 对敌人造成致命伤害, 并且破坏地面, 对附近的敌人也造成伤害。 被下劈命中的敌人不会受到冲击波伤害。
跳跃并聚集力量,强力地砸向地面,对敌人造成致命伤害,并且破坏地面,对附近的敌人也造成伤害。 被下劈命中的敌人不会受到冲击波伤害。\n
"""
name = '穿云裂地斩'
cellPos = (4,13)
learnLv = 70
masterLv = 40
maxLv = 50
@@ -977,7 +1180,7 @@ class Skill31(ActiveSkill):
hasVP = True
hasUP = True
custom = get_data(f'{prefix}/{uuid}', 'custom') # noqa: E501
vps = get_data(f'{prefix}/{uuid}', 'vps') # noqa: E501
vps = get_data(f'{prefix}/{uuid}', "vps") # noqa: E501
# 下劈攻击力 : {value0}%
data0 = get_data(f'{prefix}/{uuid}', 0)
@@ -1011,16 +1214,16 @@ class Skill31(ActiveSkill):
self.cd = 25
self.skillRation *= 0.5
# 破灭轮回刺
# demonic_lancer/vanguard/d296043df164385a14cb973c8c7c4d07
# 3deb7be5f01953ac8b1ecaa1e25e0420/d296043df164385a14cb973c8c7c4d07
class Skill32(ActiveSkill):
"""
将长枪大幅度地旋转2次, 控制住附近的敌人, 使之聚集在前方后, 进行强力的最后一击。
将长枪大幅度地旋转2次,控制住附近的敌人,使之聚集在前方后,进行强力的最后一击。\n
"""
name = '破灭轮回刺'
cellPos = (8,13)
learnLv = 75
masterLv = 40
maxLv = 50
@@ -1033,7 +1236,7 @@ class Skill32(ActiveSkill):
hasVP = True
hasUP = True
custom = get_data(f'{prefix}/{uuid}', 'custom') # noqa: E501
vps = get_data(f'{prefix}/{uuid}', 'vps') # noqa: E501
vps = get_data(f'{prefix}/{uuid}', "vps") # noqa: E501
# 回旋斩击攻击力 : {value0}%
data0 = get_data(f'{prefix}/{uuid}', 0)
@@ -1042,9 +1245,12 @@ class Skill32(ActiveSkill):
# 最后一击攻击力 : {value1}%
data1 = get_data(f'{prefix}/{uuid}', 1)
hit1 = 1
# [范围信息]
# 攻击范围比率 : {value2}%
# 压制力 (4人队伍) : {value2}秒 ({value3}秒)
data2 = get_data(f'{prefix}/{uuid}', 2)
data3 = get_data(f'{prefix}/{uuid}', 3)
# [范围信息]
# 攻击范围比率 : {value4}%
data4 = get_data(f'{prefix}/{uuid}', 4)
def vp_1(self):
"""
@@ -1068,16 +1274,16 @@ class Skill32(ActiveSkill):
"""
...
# 战神之力
# demonic_lancer/vanguard/6e33d47e6622ce03b6defdd912140270
# 3deb7be5f01953ac8b1ecaa1e25e0420/6e33d47e6622ce03b6defdd912140270
class Skill33(PassiveSkill):
"""
不灭战神和魔枪完全融为一体, 可以使用魔枪内所有潜在力量。 攻击敌人时, 会引发更猛烈的攻击, 并会对敌人造成这次伤害量一定比率的追加伤害。 该比率伤害会以同样的比率作用在装备的追加伤害效果上。 此外, [战戟猛攻]的能量层数会增加1。
不灭战神和魔枪完全融为一体,可以使用魔枪内所有潜在力量。 攻击敌人时,会引发更猛烈的攻击,并会对敌人造成这次伤害量一定比率的追加伤害。 该比率伤害会以同样的比率作用在装备的追加伤害效果上。 此外,[战戟猛攻]的能量层数会增加1。\n
"""
name = '战神之力'
cellPos = (6,13)
learnLv = 75
masterLv = 40
maxLv = 50
@@ -1095,16 +1301,16 @@ class Skill33(PassiveSkill):
associate = [{'data': data0, 'type': '*skillDamage'}]
# 断魂裂岩斩
# demonic_lancer/vanguard/ca75c965f20a150f99f54155a37400df
# 3deb7be5f01953ac8b1ecaa1e25e0420/ca75c965f20a150f99f54155a37400df
class Skill34(ActiveSkill):
"""
向前方施展强力的下斩, 把敌人斩断。 被斩断的敌人会在一瞬间成为超级控制状态。 随后裂开的地面上溅出碎片和火花, 对敌人造成多段伤害。
向前方施展强力的下斩,把敌人斩断。 被斩断的敌人会在一瞬间成为超级控制状态。 随后裂开的地面上溅出碎片和火花,对敌人造成多段伤害。\n
"""
name = '断魂裂岩斩'
cellPos = (5,14)
learnLv = 80
masterLv = 40
maxLv = 50
@@ -1117,7 +1323,7 @@ class Skill34(ActiveSkill):
hasVP = True
hasUP = True
custom = get_data(f'{prefix}/{uuid}', 'custom') # noqa: E501
vps = get_data(f'{prefix}/{uuid}', 'vps') # noqa: E501
vps = get_data(f'{prefix}/{uuid}', "vps") # noqa: E501
# 斩击攻击力 : {value0}%
data0 = get_data(f'{prefix}/{uuid}', 0)
@@ -1129,9 +1335,12 @@ class Skill34(ActiveSkill):
data2 = get_data(f'{prefix}/{uuid}', 2)
# 控制时间 : {value3}秒
data3 = get_data(f'{prefix}/{uuid}', 3)
# [范围信息]
# 攻击范围比率 : {value4}%
# 压制力 (4人队伍) : {value4}秒 ({value5}秒)
data4 = get_data(f'{prefix}/{uuid}', 4)
data5 = get_data(f'{prefix}/{uuid}', 5)
# [范围信息]
# 攻击范围比率 : {value6}%
data6 = get_data(f'{prefix}/{uuid}', 6)
def vp_1(self):
"""
@@ -1155,20 +1364,20 @@ class Skill34(ActiveSkill):
"""
...
# 血战天狱
# demonic_lancer/vanguard/b163d099c8cc27fdb6fd3639c2ee6df9
# 3deb7be5f01953ac8b1ecaa1e25e0420/b163d099c8cc27fdb6fd3639c2ee6df9
class Skill35(ActiveSkill):
"""
挥舞不灭战神的斗气和魔枪的究极之力合体的巨型魔枪, 使前方化为焦土, 并且再次聚集力量后, 施展毁灭一切存在的强力最后一击。
挥舞不灭战神的斗气和魔枪的究极之力合体的巨型魔枪,使前方化为焦土,并且再次聚集力量后,施展毁灭一切存在的强力最后一击。\n
"""
name = '血战天狱'
cellPos = (7,14)
learnLv = 85
masterLv = 40
maxLv = 50
position = 5
position = 7
rangeLv = 5
cube = 10
cd = 180
@@ -1185,7 +1394,6 @@ class Skill35(ActiveSkill):
data1 = get_data(f'{prefix}/{uuid}', 1)
hit1 = 1
# 灭天之魂
# demonic_lancer/vanguard/8e358ecf99ac9df31a6132aeafe378a9
# 3deb7be5f01953ac8b1ecaa1e25e0420/8e358ecf99ac9df31a6132aeafe378a9
@@ -1193,15 +1401,16 @@ class Skill36(PassiveSkill):
"""
千魂·征战者通过修炼获得更加强大的身体和精神力,完全掌控力量激发至极限的“灭天状态”的魔枪。 增加基本攻击力和转职技能攻击力,变更部分技能效果。\n
[战戟猛攻]\n
每次施放[战戟猛攻]命中敌人时, 能量恢复时间减少0.6秒。\n
每次施放[战戟猛攻]命中敌人时,能量恢复时间减少1秒。\n
[战戟猛攻]单次命中多个敌人时,能量恢复时间减少效果仅适用1次。\n
[落月斩]\n
若施放[落月斩]后使用[战戟猛攻],则发动落月冲击,动作变更为后退并斩击敌人。\n
落月冲击攻击力与[战戟猛攻]相同。\n
前进并使用[战戟猛攻]时, 发动原来的前进攻击。
前进并使用[战戟猛攻]时,发动原来的前进攻击。\n
"""
name = '灭天之魂'
cellPos = (5,15)
learnLv = 95
masterLv = 40
maxLv = 50
@@ -1220,16 +1429,16 @@ class Skill36(PassiveSkill):
associate = [{'data': data0, 'type': '*skillDamage'}, {'data': [-i for i in data1], 'type': '+cd', 'skills': ['战戟猛攻'], 'ratio': 1}]
# 镇狱裂地枪
# demonic_lancer/vanguard/78b86e64fbb74c1db1b71c50a5ac21cd
# 3deb7be5f01953ac8b1ecaa1e25e0420/78b86e64fbb74c1db1b71c50a5ac21cd
class Skill37(ActiveSkill):
"""
挥动魔枪将其插入地面, 对敌人造成伤害。 然后拔出魔枪, 强力上挑, 造成巨大伤害。
挥动魔枪将其插入地面,对敌人造成伤害。 然后拔出魔枪,强力上挑,造成巨大伤害。\n
"""
name = '镇狱裂地枪'
cellPos = (7,15)
learnLv = 95
masterLv = 40
maxLv = 50
@@ -1250,7 +1459,6 @@ class Skill37(ActiveSkill):
data1 = get_data(f'{prefix}/{uuid}', 1)
hit1 = 1
# 天劫·斗灭乾坤
# demonic_lancer/vanguard/f4a561e272cc434a4905b3aa0c0de090
# 3deb7be5f01953ac8b1ecaa1e25e0420/f4a561e272cc434a4905b3aa0c0de090
@@ -1260,10 +1468,11 @@ class Skill38(ActiveSkill):
施放时,适用[战戟猛攻]的增益效果。\n
[三次觉醒技能]\n
使用三次觉醒技能时,与关联的技能共享冷却时间。\n
若关联的技能还在冷却中, 则无法使用三次觉醒技能。
若关联的技能还在冷却中,则无法使用三次觉醒技能。\n
"""
name = '天劫·斗灭乾坤'
cellPos = (5,16)
learnLv = 100
masterLv = 40
maxLv = 50
@@ -1281,7 +1490,6 @@ class Skill38(ActiveSkill):
data0 = get_data(f'{prefix}/{uuid}', 0)
hit0 = 1
class classChange(Character):
def __init__(self, equVersion):
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
@@ -2,7 +2,7 @@
from core.basic.skill import PassiveSkill, ActiveSkill, get_data
from core.basic.character import Character
prefix = 'gunblader/trouble_shooter/cn/skillDetail'
prefix = "gunblader/trouble_shooter/cn/skillDetail"
# 弦月斩
@@ -11,10 +11,11 @@ prefix = 'gunblader/trouble_shooter/cn/skillDetail'
class Skill0(ActiveSkill):
"""
用剑划出新月形状,使命中的敌人浮空。\n
浮空力随技能等级的增加而增加。
浮空力随技能等级的增加而增加。\n
"""
name = '弦月斩'
cellPos = (3,1)
learnLv = 1
masterLv = 10
maxLv = 20
@@ -32,7 +33,6 @@ class Skill0(ActiveSkill):
# 浮空力比率 : {value1}%
data1 = get_data(f'{prefix}/{uuid}', 1)
# 穿透射击
# gunblader/trouble_shooter/92360eab6e1f378902018eca681ac629
# 986c2b3d72ee0e4a0b7fcfbe786d4e02/92360eab6e1f378902018eca681ac629
@@ -40,10 +40,11 @@ class Skill1(ActiveSkill):
"""
[射击]\n
快速拔枪射击前方敌人。\n
子弹100%穿透目标。 转职为暗刃后, 增加发射次数并应用单独的攻击力。
子弹100%穿透目标。 转职为暗刃后,增加发射次数并应用单独的攻击力。\n
"""
name = '穿透射击'
cellPos = (2,1)
learnLv = 1
masterLv = 60
maxLv = 70
@@ -68,6 +69,28 @@ class Skill1(ActiveSkill):
# 子弹发射距离比率 : {value3}%
data3 = get_data(f'{prefix}/{uuid}', 3)
# 后跳
# gunblader/trouble_shooter/7822d6d52e10964a6755f142c666b494
# 986c2b3d72ee0e4a0b7fcfbe786d4e02/7822d6d52e10964a6755f142c666b494
# MIGRATION: character 中没有同名技能“后跳”,暂不启用
# class Skill2(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
# 基础精通
# gunblader/trouble_shooter/5a56514f35cf0270ae8d6c65f8fefd78
@@ -75,10 +98,11 @@ class Skill1(ActiveSkill):
class Skill3(PassiveSkill):
"""
增加基本攻击、 前冲攻击、 跳跃攻击和[弦月斩]的攻击力。\n
在决斗场中, 增益/减益技能、 被动技能的技能攻击力增加效果对[基础精通]无影响。
在决斗场中,增益/减益技能、 被动技能的技能攻击力增加效果对[基础精通]无影响。\n
"""
name = '基础精通'
cellPos = (1,0)
learnLv = 1
masterLv = 190
maxLv = 200
@@ -97,6 +121,93 @@ class Skill3(PassiveSkill):
# 跳跃攻击力变化率 : {value2}%
data2 = get_data(f'{prefix}/{uuid}', 2)
# 受身蹲伏
# gunblader/trouble_shooter/ce26c6b69d02a440a81b552bec94f03b
# 986c2b3d72ee0e4a0b7fcfbe786d4e02/ce26c6b69d02a440a81b552bec94f03b
# MIGRATION: character 中没有同名技能“受身蹲伏”,暂不启用
# class Skill4(ActiveSkill):
# """
# 使自身在倒地状态下迅速起身并采取蹲伏姿势; 蹲伏状态下,自身会进入无敌状态,效果持续一定时间。\n
# """
# name = "受身蹲伏"
# learnLv = 1
# masterLv = 10
# 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)
# 技能连招
# gunblader/trouble_shooter/10b31c7e8cd2d60b9bcf3b1d3ada4b0a
# 986c2b3d72ee0e4a0b7fcfbe786d4e02/10b31c7e8cd2d60b9bcf3b1d3ada4b0a
# MIGRATION: character 中没有同名技能“技能连招”,暂不启用
# class Skill5(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
# 防具精通
# gunblader/trouble_shooter/892ef624d8bf3d7fc045f84825fd6104
# 986c2b3d72ee0e4a0b7fcfbe786d4e02/892ef624d8bf3d7fc045f84825fd6104
# MIGRATION: character 中没有同名技能“防具精通”,暂不启用
# class Skill6(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
# 重劈
# gunblader/trouble_shooter/1fadde0eece18649caddbca7bd58cc2f
@@ -105,10 +216,11 @@ class Skill6(ActiveSkill):
"""
[剑术]\n
强力劈砍地面,引发冲击波。\n
向下劈砍敌人, 用击打地面的剑和剑产生的冲击波的力量使敌人浮空。
向下劈砍敌人,用击打地面的剑和剑产生的冲击波的力量使敌人浮空。\n
"""
name = '重劈'
cellPos = (2,2)
learnLv = 5
masterLv = 60
maxLv = 70
@@ -128,7 +240,6 @@ class Skill6(ActiveSkill):
data1 = get_data(f'{prefix}/{uuid}', 1)
hit1 = 1
# G型手榴弹
# gunblader/trouble_shooter/d085127b0edd719782bd618d5688f4a1
# 986c2b3d72ee0e4a0b7fcfbe786d4e02/d085127b0edd719782bd618d5688f4a1
@@ -137,10 +248,11 @@ class Skill7(ActiveSkill):
取出G型手榴弹,拔掉保险环后扔向前方。\n
G型手榴弹飞出一定距离后触地爆炸,对敌人造成伤害并使其浮空。\n
手榴弹飞行过程中碰到敌人时立即爆炸。\n
转职为战线佣兵后, 增加攻击力与爆炸范围。
转职为战线佣兵后,增加攻击力与爆炸范围。\n
"""
name = 'G型手榴弹'
cellPos = (8,3)
learnLv = 10
masterLv = 60
maxLv = 70
@@ -169,17 +281,17 @@ class Skill7(ActiveSkill):
{'data': data1, 'type': '+power0', 'skills': ['G型手榴弹']},
]
# 瞬击
# gunblader/trouble_shooter/4b2c90ec226fd40e967875aa5eabefb2
# 986c2b3d72ee0e4a0b7fcfbe786d4e02/4b2c90ec226fd40e967875aa5eabefb2
class Skill8(ActiveSkill):
"""
挥舞枪身击打敌人后颈,把击中的敌人拖到自己身前,最后挥剑斩击拉过来的敌人。\n
对无法抓取的敌人不适用控制效果。
对无法抓取的敌人不适用控制效果。\n
"""
name = '瞬击'
cellPos = (5,3)
learnLv = 10
masterLv = 60
maxLv = 70
@@ -199,7 +311,6 @@ class Skill8(ActiveSkill):
data1 = get_data(f'{prefix}/{uuid}', 1)
hit1 = 1
# 浮空连击
# gunblader/trouble_shooter/d0cdaca82892e54097f22a1f60817048
# 986c2b3d72ee0e4a0b7fcfbe786d4e02/d0cdaca82892e54097f22a1f60817048
@@ -207,10 +318,11 @@ class Skill9(ActiveSkill):
"""
[剑术]\n
以迅雷不及掩耳之势快速连击两次。\n
第二次上挑攻击命中时使敌人浮空, 有利于连接下一次攻击。
第二次上挑攻击命中时使敌人浮空,有利于连接下一次攻击。\n
"""
name = '浮空连击'
cellPos = (2,3)
learnLv = 10
masterLv = 60
maxLv = 70
@@ -230,7 +342,6 @@ class Skill9(ActiveSkill):
data1 = get_data(f'{prefix}/{uuid}', 1)
hit1 = 1
# 源光斩
# gunblader/trouble_shooter/1803b6a67047cafb9e289b4f33cc507b
# 986c2b3d72ee0e4a0b7fcfbe786d4e02/1803b6a67047cafb9e289b4f33cc507b
@@ -238,10 +349,11 @@ class Skill10(ActiveSkill):
"""
用源能动力源向剑注入能量后,向前发动斩击。 斩击后,能量残留一定时间,对敌人造成多段伤害。\n
- [转职为源能专家时] -\n
装备源力剑时, 无需注入源能直接发动斩击。
装备源力剑时,无需注入源能直接发动斩击。\n
"""
name = '源光斩'
cellPos = (9,3)
learnLv = 10
masterLv = 60
maxLv = 70
@@ -266,6 +378,62 @@ class Skill10(ActiveSkill):
# 范围比率 : {value3}%
data3 = get_data(f'{prefix}/{uuid}', 3)
# 强化 - 后跳
# gunblader/trouble_shooter/2b340542e776818b78f3212af184bd6b
# 986c2b3d72ee0e4a0b7fcfbe786d4e02/2b340542e776818b78f3212af184bd6b
# MIGRATION: character 中没有同名技能“强化 - 后跳”,暂不启用
# 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)
# 跃翔
# gunblader/trouble_shooter/1fea5a626f15230237946a11a9d11582
# 986c2b3d72ee0e4a0b7fcfbe786d4e02/1fea5a626f15230237946a11a9d11582
# MIGRATION: character 中没有同名技能“跃翔”,暂不启用
# 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)
# 纯熟战技
# gunblader/trouble_shooter/3d8f3d438405d79f8d3ed68072674d1e
@@ -273,10 +441,11 @@ class Skill10(ActiveSkill):
class Skill13(PassiveSkill):
"""
身经百战的战线佣兵独特的战斗技巧,基本攻击变更为3次攻击,并增加移动速度。\n
战线佣兵擅长使用非常危险的特殊火药和巨大重剑, 用引火物质CTF制造的炸弹可以使敌人进入特殊灼伤状态, 并能强控敌人一定时间。
战线佣兵擅长使用非常危险的特殊火药和巨大重剑,用引火物质CTF制造的炸弹可以使敌人进入特殊灼伤状态,并能强控敌人一定时间。\n
"""
name = '纯熟战技'
cellPos = (2,4)
learnLv = 15
masterLv = 1
maxLv = 1
@@ -290,7 +459,6 @@ class Skill13(PassiveSkill):
# 移动速度增加 : {value0}%
data0 = get_data(f'{prefix}/{uuid}', 0)
# 矫捷翻滚
# gunblader/trouble_shooter/ade01c1d6afc8a05055225045e89fe49
# 986c2b3d72ee0e4a0b7fcfbe786d4e02/ade01c1d6afc8a05055225045e89fe49
@@ -302,10 +470,11 @@ class Skill14(ActiveSkill):
上挑攻击的攻击力受[基础精通]的影响。\n
按住与滚动方向相反的方向键,再次按键或施放技能,将朝相反方向发动攻击。\n
战线佣兵的转职技能攻击结束后,可以强制中断并向任意方向施放[矫捷翻滚]。\n
但是, 无法强制中断[爆弹罗网]、 [G型烬灭榴弹]、 [终焉 : 硝烟狂欢]后施放[矫捷翻滚]。
但是,无法强制中断[爆弹罗网]、 [G型烬灭榴弹]、 [终焉 : 硝烟狂欢]后施放[矫捷翻滚]。\n
"""
name = '矫捷翻滚'
cellPos = (6,4)
learnLv = 15
masterLv = 1
maxLv = 1
@@ -323,16 +492,16 @@ class Skill14(ActiveSkill):
# 上挑攻击力比率 : {value1}%
data1 = get_data(f'{prefix}/{uuid}', 1)
# 双重散射
# gunblader/trouble_shooter/78be08a3f8c834d3b06fa20c6a08c5a5
# 986c2b3d72ee0e4a0b7fcfbe786d4e02/78be08a3f8c834d3b06fa20c6a08c5a5
class Skill15(ActiveSkill):
"""
以坐姿快速连续发射霰弹, 对敌人造成2次伤害。
以坐姿快速连续发射霰弹,对敌人造成2次伤害。\n
"""
name = '双重散射'
cellPos = (4,4)
learnLv = 15
masterLv = 60
maxLv = 70
@@ -355,7 +524,6 @@ class Skill15(ActiveSkill):
# 射击范围比率 : {value2}%
data2 = get_data(f'{prefix}/{uuid}', 2)
# 源能护盾
# gunblader/trouble_shooter/0232c151ef3731c2dede51931a374723
# 986c2b3d72ee0e4a0b7fcfbe786d4e02/0232c151ef3731c2dede51931a374723
@@ -368,10 +536,11 @@ class Skill16(ActiveSkill):
冷却时间缩短2秒,可以发动[源能提炼]。\n
[源能提炼]使用方法 : 按住技能键一定时间即可发动。\n
[源能提炼]发动效果 : 增加护盾大小、 爆炸范围、 持续时间和生命值。\n
在决斗场中, 被攻击和使用[受身蹲伏]时无法手动引爆。
在决斗场中,被攻击和使用[受身蹲伏]时无法手动引爆。\n
"""
name = '源能护盾'
cellPos = (9,4)
learnLv = 15
masterLv = 60
maxLv = 70
@@ -408,17 +577,17 @@ class Skill16(ActiveSkill):
# 爆炸范围比率 : {value9}%
data9 = get_data(f'{prefix}/{uuid}', 9)
# 重剑精通
# gunblader/trouble_shooter/ff171dc487807bb9aa28900ca9a46b41
# 986c2b3d72ee0e4a0b7fcfbe786d4e02/ff171dc487807bb9aa28900ca9a46b41
class Skill17(PassiveSkill):
"""
增加物理攻击力。 使用重剑系武器攻击敌人时,可以增加战线佣兵的攻击速度、 命中率和僵直度。\n
[不是所有剑都只是为了挥斩而存在的, 朋友。]
[不是所有剑都只是为了挥斩而存在的,朋友。]\n
"""
name = '重剑精通'
cellPos = (2,5)
learnLv = 20
masterLv = 20
maxLv = 30
@@ -431,6 +600,7 @@ class Skill17(PassiveSkill):
# 物理攻击力增加率 : {value0}%
data0 = get_data(f'{prefix}/{uuid}', 0)
# [装备重剑时]
# 攻击速度增加 : {value1}%
data1 = get_data(f'{prefix}/{uuid}', 1)
# 命中率增加 : {value2}%
@@ -440,7 +610,6 @@ class Skill17(PassiveSkill):
associate = [{'type': '$*PAtkP', 'data': data0}]
# 爆烈斩击
# gunblader/trouble_shooter/547ab2b2bd860d3e37355a9cfbc1077c
# 986c2b3d72ee0e4a0b7fcfbe786d4e02/547ab2b2bd860d3e37355a9cfbc1077c
@@ -449,10 +618,11 @@ class Skill18(ActiveSkill):
用剑攻击敌人的下段。\n
被剑术击中的敌人会旋转浮空并飞向战线佣兵的前方。\n
剑术攻击之后,按技能键可以发射霰弹。\n
若输入向前方向键施放技能, 则向前滑动的同时攻击敌人。
若输入向前方向键施放技能,则向前滑动的同时攻击敌人。\n
"""
name = '爆烈斩击'
cellPos = (4,5)
learnLv = 20
masterLv = 60
maxLv = 70
@@ -475,6 +645,28 @@ class Skill18(ActiveSkill):
# 射击范围比率 : {value2}%
data2 = get_data(f'{prefix}/{uuid}', 2)
# 暴击
# gunblader/trouble_shooter/fc1262c19f3d0477ee8eda47b8db8696
# 986c2b3d72ee0e4a0b7fcfbe786d4e02/fc1262c19f3d0477ee8eda47b8db8696
# MIGRATION: character 中没有同名技能“暴击”,暂不启用
# class Skill20(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)
# 充能特饮
# gunblader/trouble_shooter/506e7ed77d517419a6e1c437a2cedb17
@@ -483,10 +675,11 @@ class Skill20(ActiveSkill):
"""
战斗开始之前,来一罐能量饮料振作精神。\n
效果持续期间,增加基本攻击力和技能攻击力。\n
[马上要开始忙碌了, 我需要激活能量……]
[马上要开始忙碌了,我需要激活能量……]\n
"""
name = '充能特饮'
cellPos = (7,6)
learnLv = 25
masterLv = 10
maxLv = 20
@@ -503,7 +696,6 @@ class Skill20(ActiveSkill):
# 基本攻击力和技能攻击力增加率 : {value1}%
data1 = get_data(f'{prefix}/{uuid}', 1)
# 剑刃爆弹
# gunblader/trouble_shooter/5dc7008b12a459325b548b0715c6b73c
# 986c2b3d72ee0e4a0b7fcfbe786d4e02/5dc7008b12a459325b548b0715c6b73c
@@ -512,10 +704,11 @@ class Skill21(ActiveSkill):
把炸弹绑在剑尖,击退前方敌人并引爆炸弹。\n
被击中的敌人会被强制控制,并且被吸附到角色前方。\n
然后炸弹爆炸,对敌人造成多段攻击伤害并使其进入特殊灼伤。\n
在决斗场中, 解除特殊灼伤时敌人稍微浮空后倒地。
在决斗场中,解除特殊灼伤时敌人稍微浮空后倒地。\n
"""
name = '剑刃爆弹'
cellPos = (6,6)
learnLv = 25
masterLv = 60
maxLv = 70
@@ -541,20 +734,23 @@ class Skill21(ActiveSkill):
hit3 = 1
# 特殊灼伤持续时间 : {value4}秒
data4 = get_data(f'{prefix}/{uuid}', 4)
# [范围信息]
# 爆炸范围比率 : {value5}%
# 压制力 (4人队伍) : {value5}秒 ({value6}秒)
data5 = get_data(f'{prefix}/{uuid}', 5)
data6 = get_data(f'{prefix}/{uuid}', 6)
# [范围信息]
# 爆炸范围比率 : {value7}%
data7 = get_data(f'{prefix}/{uuid}', 7)
# 广域散射
# gunblader/trouble_shooter/a5fa08f5d509e6ff2ebc68856a470b5a
# 986c2b3d72ee0e4a0b7fcfbe786d4e02/a5fa08f5d509e6ff2ebc68856a470b5a
class Skill22(ActiveSkill):
"""
用强扩散性的火药制作弹药, 然后用霰弹枪发射, 对前方大范围敌人造成伤害并使其进入僵直状态。
用强扩散性的火药制作弹药,然后用霰弹枪发射,对前方大范围敌人造成伤害并使其进入僵直状态。\n
"""
name = '广域散射'
cellPos = (4,7)
learnLv = 30
masterLv = 60
maxLv = 70
@@ -570,10 +766,12 @@ class Skill22(ActiveSkill):
# 射击攻击力 : {value0}%
data0 = get_data(f'{prefix}/{uuid}', 0)
hit0 = 1
# [范围信息]
# 射击范围比率 : {value1}%
# 压制力 (4人队伍) : {value1}秒 ({value2}秒)
data1 = get_data(f'{prefix}/{uuid}', 1)
data2 = get_data(f'{prefix}/{uuid}', 2)
# [范围信息]
# 射击范围比率 : {value3}%
data3 = get_data(f'{prefix}/{uuid}', 3)
# 火药改良
# gunblader/trouble_shooter/8ee0099656df08a0b39225f8a21d514b
@@ -582,10 +780,11 @@ class Skill23(PassiveSkill):
"""
改良战线佣兵使用的火药性能,增加部分技能的攻击范围,增加基本攻击力和转职技能攻击力,并增加部分技能攻击范围。\n
- [增加攻击范围] -\n
基本攻击第3击、 [双重散射]、 [爆烈斩击]、 [广域散射]、 [G型手榴弹]、 [G型火焰爆弹]、 [裂地爆刃]。
基本攻击第3击、 [双重散射]、 [爆烈斩击]、 [广域散射]、 [G型手榴弹]、 [G型火焰爆弹]、 [裂地爆刃]。\n
"""
name = '火药改良'
cellPos = (2,7)
learnLv = 30
masterLv = 10
maxLv = 20
@@ -603,7 +802,6 @@ class Skill23(PassiveSkill):
associate = [{'data': data0, 'type': '*skillDamage'}]
# G型火焰爆弹
# gunblader/trouble_shooter/9bff7f2559e003766fee2853dca00631
# 986c2b3d72ee0e4a0b7fcfbe786d4e02/9bff7f2559e003766fee2853dca00631
@@ -614,10 +812,11 @@ class Skill24(ActiveSkill):
爆炸范围内的敌人身上会着火并进入特殊灼伤状态,在一定时间持续受到伤害,并且被强制控制。\n
霰弹枪射击失败时,G型火焰爆弹经过一定时间之后自动爆炸。\n
在决斗场中,解除特殊灼伤时敌人稍微浮空后倒地; 若在爆炸射击前强制中断技能,则炸弹立即爆炸。\n
[经历岁月的磨炼, 已经能忍耐高温了……不过这也太热了吧。]
[经历岁月的磨炼,已经能忍耐高温了……不过这也太热了吧。]\n
"""
name = 'G型火焰爆弹'
cellPos = (8,7)
learnLv = 30
masterLv = 60
maxLv = 70
@@ -638,10 +837,12 @@ class Skill24(ActiveSkill):
hit1 = 1
# 特殊灼伤持续时间 : {value2}秒
data2 = get_data(f'{prefix}/{uuid}', 2)
# [范围信息]
# 爆炸范围比率 : {value3}%
# 压制力 (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)
# 爆裂斩
# gunblader/trouble_shooter/da6e37c1e3f0e8867f70007d89c239ff
@@ -652,10 +853,11 @@ class Skill25(ActiveSkill):
剑击中敌人时发生剧烈爆炸,使敌人受到巨大伤害并被推到前方。\n
第一次攻击后,再次按技能键将发动下一次攻击,最多可以攻击敌人三次。\n
按住向前方向键的状态下施放技能,可增加挥剑前进的距离; 按向后方向键可缩短前进距离。\n
未击中敌人时不发生爆炸, 每次攻击结束后, 可以强制中断并立即施放[矫捷翻滚]。
未击中敌人时不发生爆炸,每次攻击结束后,可以强制中断并立即施放[矫捷翻滚]。\n
"""
name = '爆裂斩'
cellPos = (6,8)
learnLv = 35
masterLv = 60
maxLv = 70
@@ -668,7 +870,7 @@ class Skill25(ActiveSkill):
hasVP = True
hasUP = True
custom = get_data(f'{prefix}/{uuid}', 'custom') # noqa: E501
vps = get_data(f'{prefix}/{uuid}', 'vps') # noqa: E501
vps = get_data(f'{prefix}/{uuid}', "vps") # noqa: E501
# 第一次爆炸攻击力 : {value0}%
data0 = get_data(f'{prefix}/{uuid}', 0)
@@ -701,7 +903,6 @@ class Skill25(ActiveSkill):
self.hit0 = self.hit1 = 0
self.power2 = 2
# 爆弹罗网
# gunblader/trouble_shooter/a6c8f69107f8c4f5d1a0c7a57d000290
# 986c2b3d72ee0e4a0b7fcfbe786d4e02/a6c8f69107f8c4f5d1a0c7a57d000290
@@ -711,10 +912,11 @@ class Skill26(ActiveSkill):
投掷的爆弹罗网在地面展开并存在一定时间,有敌人入网时所有爆弹同时爆炸,对敌人造成多段伤害并使其进入特殊灼伤状态。\n
爆弹罗网存在一定时间,再次按技能键可以立即引爆。\n
爆弹罗网爆炸造成的特殊灼伤只在第一次造成伤害时生效1次。\n
在决斗场中, 解除特殊灼伤时敌人稍微浮空后倒地。
在决斗场中,解除特殊灼伤时敌人稍微浮空后倒地。\n
"""
name = '爆弹罗网'
cellPos = (8,8)
learnLv = 35
masterLv = 60
maxLv = 70
@@ -727,7 +929,7 @@ class Skill26(ActiveSkill):
hasVP = True
hasUP = True
custom = get_data(f'{prefix}/{uuid}', 'custom') # noqa: E501
vps = get_data(f'{prefix}/{uuid}', 'vps') # noqa: E501
vps = get_data(f'{prefix}/{uuid}', "vps") # noqa: E501
# 射击攻击力 : {value0}%
data0 = get_data(f'{prefix}/{uuid}', 0)
@@ -744,9 +946,12 @@ class Skill26(ActiveSkill):
data4 = get_data(f'{prefix}/{uuid}', 4)
# 爆弹罗网持续时间 : {value5}秒
data5 = get_data(f'{prefix}/{uuid}', 5)
# [范围信息]
# 爆炸大小比率 : {value6}%
# 压制力 (4人队伍) : {value6}秒 ({value7}秒)
data6 = get_data(f'{prefix}/{uuid}', 6)
data7 = get_data(f'{prefix}/{uuid}', 7)
# [范围信息]
# 爆炸大小比率 : {value8}%
data8 = get_data(f'{prefix}/{uuid}', 8)
def vp_1(self):
"""
@@ -767,7 +972,6 @@ class Skill26(ActiveSkill):
"""
...
# 裂地爆刃
# gunblader/trouble_shooter/3829c15bf5f520c13998a3479ba0ce7b
# 986c2b3d72ee0e4a0b7fcfbe786d4e02/3829c15bf5f520c13998a3479ba0ce7b
@@ -776,10 +980,11 @@ class Skill27(ActiveSkill):
把威力强大的炸弹绑在剑上,向前突进并猛力劈砍地面。\n
劈砍的位置发生剧烈爆炸,对大范围的敌人造成巨大伤害。\n
突进时被击中的敌人会被推到战线佣兵的前方。\n
施放技能后, 若按住下方向键, 则停止突进并在原地劈砍地面。
施放技能后,若按住下方向键,则停止突进并在原地劈砍地面。\n
"""
name = '裂地爆刃'
cellPos = (6,9)
learnLv = 40
masterLv = 60
maxLv = 70
@@ -792,7 +997,7 @@ class Skill27(ActiveSkill):
hasVP = True
hasUP = True
custom = get_data(f'{prefix}/{uuid}', 'custom') # noqa: E501
vps = get_data(f'{prefix}/{uuid}', 'vps') # noqa: E501
vps = get_data(f'{prefix}/{uuid}', "vps") # noqa: E501
# 爆炸攻击力 : {value0}%
data0 = get_data(f'{prefix}/{uuid}', 0)
@@ -820,7 +1025,6 @@ class Skill27(ActiveSkill):
"""
...
# 惊喜大礼
# gunblader/trouble_shooter/03bb5314ffd41e9458d67ef924fef38f
# 986c2b3d72ee0e4a0b7fcfbe786d4e02/03bb5314ffd41e9458d67ef924fef38f
@@ -830,10 +1034,11 @@ class Skill28(ActiveSkill):
在炸弹接触地面之前,发射霰弹枪击爆炸弹,对大范围的敌人造成巨大伤害。\n
投掷炸弹时,靠近战线佣兵的敌人会被向后震退。\n
在决斗场中,靠近战线佣兵的敌人不会被向后震退。\n
[这是我特意准备的大礼, 希望你们喜欢。]
[这是我特意准备的大礼,希望你们喜欢。]\n
"""
name = '惊喜大礼'
cellPos = (4,10)
learnLv = 45
masterLv = 60
maxLv = 70
@@ -846,7 +1051,7 @@ class Skill28(ActiveSkill):
hasVP = True
hasUP = True
custom = get_data(f'{prefix}/{uuid}', 'custom') # noqa: E501
vps = get_data(f'{prefix}/{uuid}', 'vps') # noqa: E501
vps = get_data(f'{prefix}/{uuid}', "vps") # noqa: E501
# 爆炸攻击力 : {value0}%
data0 = get_data(f'{prefix}/{uuid}', 0)
@@ -883,17 +1088,17 @@ class Skill28(ActiveSkill):
"""
...
# 终极火力
# gunblader/trouble_shooter/bb34e8854a93fd250347a1c64119f7ab
# 986c2b3d72ee0e4a0b7fcfbe786d4e02/bb34e8854a93fd250347a1c64119f7ab
class Skill29(PassiveSkill):
"""
提升战场王牌使用的所有枪械的火力。\n
增加战场王牌的基本攻击力、 技能攻击力和物理暴击率。
增加战场王牌的基本攻击力、 技能攻击力和物理暴击率。\n
"""
name = '终极火力'
cellPos = (7,11)
learnLv = 48
masterLv = 40
maxLv = 50
@@ -911,7 +1116,6 @@ class Skill29(PassiveSkill):
associate = [{'data': data0, 'type': '*skillDamage'}]
# G型烬灭榴弹
# gunblader/trouble_shooter/1dad88963abdc96b091fcab185a8820d
# 986c2b3d72ee0e4a0b7fcfbe786d4e02/1dad88963abdc96b091fcab185a8820d
@@ -921,10 +1125,11 @@ class Skill30(ActiveSkill):
施放时,将两种榴弹扔到空中和地面。\n
扔到空中的榴弹在一定高度爆炸,喷出强力引火物质,使地面上的所有的敌人进入特殊灼伤状态,然后射击敌人造成追加伤害。\n
经过一定时间后,扔到地面的炸弹发生爆炸,对敌人造成巨大物理伤害。\n
施放技能时, 连续按攻击键或技能键, 可以加快技能施放速度。
施放技能时,连续按攻击键或技能键,可以加快技能施放速度。\n
"""
name = 'G型烬灭榴弹'
cellPos = (8,11)
learnLv = 50
masterLv = 40
maxLv = 50
@@ -950,11 +1155,13 @@ class Skill30(ActiveSkill):
# 最终爆炸攻击力 : {value3}%
data3 = get_data(f'{prefix}/{uuid}', 3)
hit3 = 1
# 压制力 (4人队伍) : {value4}秒 ({value5}秒)
data4 = get_data(f'{prefix}/{uuid}', 4)
data5 = get_data(f'{prefix}/{uuid}', 5)
# 以前3,6,9的自增伤
skillRation = 1.1
# 完美击球
# gunblader/trouble_shooter/27bade584bb42fef68148d3a0b72bace
# 986c2b3d72ee0e4a0b7fcfbe786d4e02/27bade584bb42fef68148d3a0b72bace
@@ -962,10 +1169,11 @@ class Skill31(ActiveSkill):
"""
把炸弹绑在剑上,然后旋转挥剑攻击敌人。\n
旋转轨迹上发生连锁爆炸,爆炸范围内的敌人会被吸附战线佣兵的前方。 此时也可以吸附被强制控制的敌人。\n
然后用重剑上劈吸附的敌人, 引起威力巨大的最终爆炸, 将敌人击飞至前方。
然后用重剑上劈吸附的敌人,引起威力巨大的最终爆炸,将敌人击飞至前方。\n
"""
name = '完美击球'
cellPos = (6,12)
learnLv = 60
masterLv = 40
maxLv = 50
@@ -978,7 +1186,7 @@ class Skill31(ActiveSkill):
hasVP = True
hasUP = True
custom = get_data(f'{prefix}/{uuid}', 'custom') # noqa: E501
vps = get_data(f'{prefix}/{uuid}', 'vps') # noqa: E501
vps = get_data(f'{prefix}/{uuid}', "vps") # noqa: E501
# 旋转爆炸攻击力 : {value0}%
data0 = get_data(f'{prefix}/{uuid}', 0)
@@ -1016,7 +1224,6 @@ class Skill31(ActiveSkill):
self.cd = 12.5
self.skillRation *= 0.5
# 夺命焰火
# gunblader/trouble_shooter/04883563896fe1adac7505c6146b5f59
# 986c2b3d72ee0e4a0b7fcfbe786d4e02/04883563896fe1adac7505c6146b5f59
@@ -1026,10 +1233,11 @@ class Skill32(ActiveSkill):
施放时,将两发子弹扔向空中,连续射击前方。\n
然后快速填装从空中降落的子弹并同时发射两发子弹,造成最终多段攻击伤害。\n
最终射击的后坐力强,射击之后战线佣兵会向后退。\n
最终射击时, 若按向前方向键, 可以缩短后退距离。
最终射击时,若按向前方向键,可以缩短后退距离。\n
"""
name = '夺命焰火'
cellPos = (4,13)
learnLv = 70
masterLv = 40
maxLv = 50
@@ -1042,7 +1250,7 @@ class Skill32(ActiveSkill):
hasVP = True
hasUP = True
custom = get_data(f'{prefix}/{uuid}', 'custom') # noqa: E501
vps = get_data(f'{prefix}/{uuid}', 'vps') # noqa: E501
vps = get_data(f'{prefix}/{uuid}', "vps") # noqa: E501
# 第一次射击攻击力 : {value0}%
data0 = get_data(f'{prefix}/{uuid}', 0)
@@ -1083,7 +1291,6 @@ class Skill32(ActiveSkill):
"""
...
# 无法者之歌
# gunblader/trouble_shooter/dcd536f1674630f01fc9667bb202b851
# 986c2b3d72ee0e4a0b7fcfbe786d4e02/dcd536f1674630f01fc9667bb202b851
@@ -1102,10 +1309,11 @@ class Skill33(PassiveSkill):
[爆弹罗网] : 爆炸范围增加10%\n
[惊喜大礼] : 施放速度增加10%\n
[完美击球] : 最终爆炸范围增加10%\n
[夺命焰火] : 僵直度、 射击范围增加10%
[夺命焰火] : 僵直度、 射击范围增加10%\n
"""
name = '无法者之歌'
cellPos = (7,13)
learnLv = 75
masterLv = 40
maxLv = 50
@@ -1121,7 +1329,6 @@ class Skill33(PassiveSkill):
associate = [{'data': data0, 'type': '*skillDamage'}]
# 爆弹华尔兹
# gunblader/trouble_shooter/762c4e6d030eaf0abbfe1fec2b298574
# 986c2b3d72ee0e4a0b7fcfbe786d4e02/762c4e6d030eaf0abbfe1fec2b298574
@@ -1129,10 +1336,11 @@ class Skill34(ActiveSkill):
"""
扔出大量炸弹,然后用重剑击打炸弹引起连锁爆炸。\n
被爆炸击中的敌人受到强大的伤害并被击退。\n
被重剑击中的敌人会被吸附到巅峰狂徒前方, 最终爆炸能使敌人浮空。
被重剑击中的敌人会被吸附到巅峰狂徒前方,最终爆炸能使敌人浮空。\n
"""
name = '爆弹华尔兹'
cellPos = (6,13)
learnLv = 75
masterLv = 40
maxLv = 50
@@ -1145,7 +1353,7 @@ class Skill34(ActiveSkill):
hasVP = True
hasUP = True
custom = get_data(f'{prefix}/{uuid}', 'custom') # noqa: E501
vps = get_data(f'{prefix}/{uuid}', 'vps') # noqa: E501
vps = get_data(f'{prefix}/{uuid}', "vps") # noqa: E501
# 第一次爆炸攻击力 : {value0}%
data0 = get_data(f'{prefix}/{uuid}', 0)
@@ -1182,7 +1390,6 @@ class Skill34(ActiveSkill):
"""
...
# 覆灭之枪
# gunblader/trouble_shooter/23a5e0fba03283cb1b324a847b3fe370
# 986c2b3d72ee0e4a0b7fcfbe786d4e02/23a5e0fba03283cb1b324a847b3fe370
@@ -1191,10 +1398,11 @@ class Skill35(ActiveSkill):
用终极覆灭之枪轰击前方。\n
施放时,将重剑插在前方当作支架。\n
固定覆灭之枪,瞄准前方的敌人后进行射击,对前方的敌人造成巨大伤害。\n
[霰弹枪嘛……威力至少要达到这种程度。]
[霰弹枪嘛……威力至少要达到这种程度。]\n
"""
name = '覆灭之枪'
cellPos = (4,14)
learnLv = 80
masterLv = 40
maxLv = 50
@@ -1207,7 +1415,7 @@ class Skill35(ActiveSkill):
hasVP = True
hasUP = True
custom = get_data(f'{prefix}/{uuid}', 'custom') # noqa: E501
vps = get_data(f'{prefix}/{uuid}', 'vps') # noqa: E501
vps = get_data(f'{prefix}/{uuid}', "vps") # noqa: E501
# 射击攻击力 : {value0}%
data0 = get_data(f'{prefix}/{uuid}', 0)
@@ -1239,7 +1447,6 @@ class Skill35(ActiveSkill):
self.cd = 25
self.skillRation *= 0.5
# 终焉 : 硝烟狂欢
# gunblader/trouble_shooter/0ed3148658fe37b3336ccb718dc0fdb0
# 986c2b3d72ee0e4a0b7fcfbe786d4e02/0ed3148658fe37b3336ccb718dc0fdb0
@@ -1249,10 +1456,11 @@ class Skill36(ActiveSkill):
使预先埋设的大量CTF地雷同时爆炸,黑烟弥漫战场,使命中的敌人进入特殊灼伤状态。\n
黑烟消散后,巨型炸弹露出身影。\n
巅峰狂徒用剑劈砍起爆开关,使巨大炸弹爆炸,对敌人造成巨大的多段伤害。\n
[一切尽在掌控之中, 我早就准备好了。]
[一切尽在掌控之中,我早就准备好了。]\n
"""
name = '终焉 : 硝烟狂欢'
cellPos = (5,14)
learnLv = 85
masterLv = 40
maxLv = 50
@@ -1276,7 +1484,9 @@ class Skill36(ActiveSkill):
hit2 = 13
# 最后爆炸多段攻击次数 : {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)
# 铁血豪情
# gunblader/trouble_shooter/2a0a39184de92acf1c1375e00b77404c
@@ -1291,10 +1501,11 @@ class Skill37(PassiveSkill):
增加射击范围,可以强制中断爆剑术系列技能并立即使用。\n
[可强制中断广域散射的技能]\n
[剑刃爆弹]、 [爆裂斩]、 [裂地爆刃]、 [完美击球]、 [爆弹华尔兹]、 [铁腕爆弹]\n
[铁血豪情? 说的就是我。]
[铁血豪情? 说的就是我。]\n
"""
name = '铁血豪情'
cellPos = (5,15)
learnLv = 95
masterLv = 40
maxLv = 50
@@ -1312,17 +1523,17 @@ class Skill37(PassiveSkill):
associate = [{'data': data0, 'type': '*skillDamage'}]
# 铁腕爆弹
# gunblader/trouble_shooter/9dc8438e4572d39243c97da31c113acc
# 986c2b3d72ee0e4a0b7fcfbe786d4e02/9dc8438e4572d39243c97da31c113acc
class Skill38(ActiveSkill):
"""
将锁链连接至捆绑着炸弹的巨型重剑上,挥动锁链,引发大范围爆炸,横扫周围敌人。\n
旋转重剑时, 将命中的敌人击退至前方。
旋转重剑时,将命中的敌人击退至前方。\n
"""
name = '铁腕爆弹'
cellPos = (7,15)
learnLv = 95
masterLv = 40
maxLv = 50
@@ -1342,7 +1553,6 @@ class Skill38(ActiveSkill):
# 爆炸多段攻击次数 : {value1}次
data1 = get_data(f'{prefix}/{uuid}', 1)
# 烽火硝烟·终末之征
# gunblader/trouble_shooter/3fb8395ae3b81bd608e0c4223a8eb534
# 986c2b3d72ee0e4a0b7fcfbe786d4e02/3fb8395ae3b81bd608e0c4223a8eb534
@@ -1354,10 +1564,11 @@ class Skill39(ActiveSkill):
[真男人从不回头看爆炸!]\n
[三次觉醒技能]\n
使用三次觉醒技能时,与关联的技能共享冷却时间。\n
若关联的技能还在冷却中, 则无法使用三次觉醒技能。
若关联的技能还在冷却中,则无法使用三次觉醒技能。\n
"""
name = '烽火硝烟·终末之征'
cellPos = (5,16)
learnLv = 100
masterLv = 40
maxLv = 50
@@ -1379,7 +1590,9 @@ class Skill39(ActiveSkill):
# 终结爆炸攻击力 : {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)
class classChange(Character):
def __init__(self, equVersion):
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
@@ -4,6 +4,265 @@ from core.basic.character import Character
prefix = "priest_female/mistress/cn/skillDetail"
# 升空斩
# priest_female/mistress/3c5604bdbb0240b8f130f59ab40509c3
# 0c1b401bb09241570d364420b3ba3fd7/3c5604bdbb0240b8f130f59ab40509c3
# MIGRATION: character 中没有同名技能“升空斩”,暂不启用
# class Skill0(ActiveSkill):
# """
# 使用巨兵挥击敌人,使敌人浮空。\n
# 浮空力随技能等级的增加而增加。\n
# 转职为光明骑士时,技能类型变为独立攻击力。\n
# """
# name = "升空斩"
# learnLv = 1
# masterLv = 10
# maxLv = 20
# cellPos = (3,1)
# position = 3
# rangeLv = 3
# cd = 2
# mp = [0, 0]
# uuid = "3c5604bdbb0240b8f130f59ab40509c3"
# 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)
# 审判锤击
# priest_female/mistress/c9664191611af31142e052dfaef84530
# 0c1b401bb09241570d364420b3ba3fd7/c9664191611af31142e052dfaef84530
# MIGRATION: character 中没有同名技能“审判锤击”,暂不启用
# class Skill1(ActiveSkill):
# """
# 向巨兵凝聚神圣之力,锤击前方。\n
# 被命中的敌人会浮空。\n
# """
# name = "审判锤击"
# learnLv = 1
# masterLv = 60
# maxLv = 70
# cellPos = (5,1)
# position = 5
# rangeLv = 2
# cd = 4
# mp = [15, 154]
# uuid = "c9664191611af31142e052dfaef84530"
# hasVP = False
# hasUP = False
# custom = get_data(f'{prefix}/{uuid}', "custom") # noqa: E501
#
# # 攻击力 : {value0}
# data0 = get_data(f'{prefix}/{uuid}', 0)
# 后跳
# priest_female/mistress/7822d6d52e10964a6755f142c666b494
# 0c1b401bb09241570d364420b3ba3fd7/7822d6d52e10964a6755f142c666b494
# MIGRATION: character 中没有同名技能“后跳”,暂不启用
# class Skill2(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
# 基础精通
# priest_female/mistress/5a56514f35cf0270ae8d6c65f8fefd78
# 0c1b401bb09241570d364420b3ba3fd7/5a56514f35cf0270ae8d6c65f8fefd78
# MIGRATION: character 中没有同名技能“基础精通”,暂不启用
# class Skill3(PassiveSkill):
# """
# 增加基本攻击、 前冲攻击、 跳跃攻击、 [升空斩]和[上勾拳]的攻击力。\n
# 在决斗场中,增益/减益技能、 被动技能的技能攻击力增加效果对[基础精通]无影响。\n
# """
# name = "基础精通"
# learnLv = 1
# masterLv = 115
# maxLv = 200
# cellPos = (1,0)
# 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)
# 受身蹲伏
# priest_female/mistress/ce26c6b69d02a440a81b552bec94f03b
# 0c1b401bb09241570d364420b3ba3fd7/ce26c6b69d02a440a81b552bec94f03b
# MIGRATION: character 中没有同名技能“受身蹲伏”,暂不启用
# class Skill4(ActiveSkill):
# """
# 使自身在倒地状态下迅速起身并采取蹲伏姿势; 蹲伏状态下,自身会进入无敌状态,效果持续一定时间。\n
# """
# name = "受身蹲伏"
# learnLv = 1
# masterLv = 10
# 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)
# 技能连招
# priest_female/mistress/10b31c7e8cd2d60b9bcf3b1d3ada4b0a
# 0c1b401bb09241570d364420b3ba3fd7/10b31c7e8cd2d60b9bcf3b1d3ada4b0a
# MIGRATION: character 中没有同名技能“技能连招”,暂不启用
# class Skill5(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
# 防具精通
# priest_female/mistress/892ef624d8bf3d7fc045f84825fd6104
# 0c1b401bb09241570d364420b3ba3fd7/892ef624d8bf3d7fc045f84825fd6104
# MIGRATION: character 中没有同名技能“防具精通”,暂不启用
# class Skill6(PassiveSkill):
# """
# 穿戴防具时,可以增加各种属性。\n
# 穿戴的防具越多,效果越强; 可根据转职,增加不同的属性种类及数值。\n
# """
# name = "防具精通"
# learnLv = 1
# masterLv = 1
# maxLv = 1
# cellPos = (0,1)
# position = 0
# rangeLv = None
# uuid = "892ef624d8bf3d7fc045f84825fd6104"
# icon = "$common/$uuid"
# hasVP = False
# hasUP = False
# custom = get_data(f'{prefix}/{uuid}', "custom") # noqa: E501
# 空中锤击
# priest_female/mistress/9dda3f4a849dba1a288dd65e116860f2
# 0c1b401bb09241570d364420b3ba3fd7/9dda3f4a849dba1a288dd65e116860f2
# MIGRATION: character 中没有同名技能“空中锤击”,暂不启用
# class Skill7(ActiveSkill):
# """
# 从空中快速向地面俯冲并用巨兵锤击地面,向后跳跃。\n
# 只能在一定高度以上时才能使用。\n
# """
# name = "空中锤击"
# learnLv = 5
# masterLv = 60
# maxLv = 70
# cellPos = (5,2)
# position = 5
# rangeLv = 2
# cd = 4
# mp = [10, 120]
# uuid = "9dda3f4a849dba1a288dd65e116860f2"
# 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}px
# data2 = get_data(f'{prefix}/{uuid}', 2)
# # [范围信息]
# # 冲击波大小 : {value3}%
# data3 = get_data(f'{prefix}/{uuid}', 3)
# 治愈祈祷
# priest_female/mistress/0969cd4054d93da07708108c0cc1c4b5
# 0c1b401bb09241570d364420b3ba3fd7/0969cd4054d93da07708108c0cc1c4b5
# MIGRATION: character 中没有同名技能“治愈祈祷”,暂不启用
# class Skill8(ActiveSkill):
# """
# 向神明祷告,治疗自身的伤势,恢复生命值。\n
# 转职成为光明骑士时,可以治疗队友,并增加治疗量。\n
# 学习[大天使的庇护]后,施放[勇气颂歌]、 [新生颂歌]过程中可以使用该技能。\n
# """
# name = "治愈祈祷"
# learnLv = 5
# masterLv = 60
# maxLv = 70
# cellPos = (7,1)
# position = 7
# rangeLv = 3
# cd = 10
# mp = [15, 154]
# uuid = "0969cd4054d93da07708108c0cc1c4b5"
# hasVP = False
# hasUP = True
# 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}px
# data2 = get_data(f'{prefix}/{uuid}', 2)
# 钩颈斩
# priest_female/mistress/cfacda0647b9a0f595df2c2aad30c18d
# 0c1b401bb09241570d364420b3ba3fd7/cfacda0647b9a0f595df2c2aad30c18d
@@ -13,9 +272,10 @@ class Skill8(ActiveSkill):
对可抓取的敌人成功勾起后,进入无敌状态。 随后按下向后键,可将敌人扔向后方。\n
对无法抓取的敌人不适用控制效果。\n
堕落的七宗罪状态下使用时,将被勾起的敌人拉到角色位置后砸向地面。\n
转职为光明骑士后, 技能类型变为独立攻击力。
转职为光明骑士后,技能类型变为独立攻击力。\n
"""
name = "钩颈斩"
cellPos = (3,2)
learnLv = 5
masterLv = 60
maxLv = 70
@@ -41,9 +301,10 @@ class Skill8(ActiveSkill):
class Skill9(ActiveSkill):
"""
竖起武器,抵挡来自前方的攻击,减少所受伤害。\n
按住技能键可以维持防御姿态。 抵挡前方的攻击后, 可以强制使用其他技能。
按住技能键可以维持防御姿态。 抵挡前方的攻击后,可以强制使用其他技能。\n
"""
name = "武器格挡"
cellPos = (5,3)
learnLv = 10
masterLv = 5
maxLv = 15
@@ -61,6 +322,33 @@ class Skill9(ActiveSkill):
# 所受伤害减少率 (魔法) : {value1}%
data1 = get_data(f'{prefix}/{uuid}', 1)
# 净化
# priest_female/mistress/4655101518604f874721b3cc249aae10
# 0c1b401bb09241570d364420b3ba3fd7/4655101518604f874721b3cc249aae10
# MIGRATION: character 中没有同名技能“净化”,暂不启用
# class Skill11(ActiveSkill):
# """
# 使范围内的所有队员消除异常状态。\n
# """
# name = "净化"
# learnLv = 10
# masterLv = 1
# maxLv = 11
# cellPos = (7,3)
# position = 7
# rangeLv = 5
# cd = 15
# mp = [22, 238]
# uuid = "4655101518604f874721b3cc249aae10"
# hasVP = False
# hasUP = False
# custom = get_data(f'{prefix}/{uuid}', "custom") # noqa: E501
#
# # 异常状态消除数量上限 : {value0}个
# data0 = get_data(f'{prefix}/{uuid}', 0)
# # [范围信息]
# # [净化]适用范围 : {value1}px
# data1 = get_data(f'{prefix}/{uuid}', 1)
# 罪业加身
# priest_female/mistress/f2fb27162beb0b87a7cb9af7900e95f2
@@ -69,9 +357,10 @@ class Skill11(ActiveSkill):
"""
向前方发出蕴含原罪之力的冲击波攻击。\n
在[七宗罪]增益效果状态下攻击成功时,恢复生命值和魔法值,并使敌人进入强制控制状态。\n
[我甘愿承担这些罪业。]
[我甘愿承担这些罪业。]\n
"""
name = "罪业加身"
cellPos = (4,3)
learnLv = 10
masterLv = 60
maxLv = 70
@@ -87,10 +376,108 @@ class Skill11(ActiveSkill):
# 冲击波攻击力 : {value0}%
data0 = get_data(f'{prefix}/{uuid}', 0)
hit0 = 1
# [范围信息]
# 范围比率 : {value1}%
# 压制力 (4人队伍) : {value1}秒 ({value2}秒)
data1 = get_data(f'{prefix}/{uuid}', 1)
data2 = get_data(f'{prefix}/{uuid}', 2)
# [范围信息]
# 范围比率 : {value3}%
data3 = get_data(f'{prefix}/{uuid}', 3)
# 强化 - 后跳
# priest_female/mistress/2b340542e776818b78f3212af184bd6b
# 0c1b401bb09241570d364420b3ba3fd7/2b340542e776818b78f3212af184bd6b
# MIGRATION: character 中没有同名技能“强化 - 后跳”,暂不启用
# class Skill13(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)
# 跃翔
# priest_female/mistress/1fea5a626f15230237946a11a9d11582
# 0c1b401bb09241570d364420b3ba3fd7/1fea5a626f15230237946a11a9d11582
# MIGRATION: character 中没有同名技能“跃翔”,暂不启用
# class Skill14(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)
# 唤雷符
# priest_female/mistress/45442bbbe33540b4deeec29437dae70c
# 0c1b401bb09241570d364420b3ba3fd7/45442bbbe33540b4deeec29437dae70c
# MIGRATION: character 中没有同名技能“唤雷符”,暂不启用
# class Skill15(ActiveSkill):
# """
# 使用符咒在前方召唤落雷。\n
# [转职为驱魔师后附加效果]\n
# - 增加落雷大小\n
# - 使命中的敌人撞地反弹。\n
# [学习乾坤之境后]\n
# - 可以探索施放者周围的350px内的敌人后发动攻击。\n
# - 周围没有敌人时无法施放。\n
# - 无法攻击物体。\n
# - 最多攻击12名敌人。\n
# - 对每名敌人攻击1次。\n
# """
# name = "唤雷符"
# learnLv = 15
# masterLv = 60
# maxLv = 70
# cellPos = (7,4)
# position = 7
# rangeLv = 2
# cd = 5
# mp = [30, 252]
# uuid = "45442bbbe33540b4deeec29437dae70c"
# hasVP = False
# hasUP = True
# custom = get_data(f'{prefix}/{uuid}', "custom") # noqa: E501
#
# # 落雷攻击力 : {value0}%
# data0 = get_data(f'{prefix}/{uuid}', 0)
# # 落雷距离 : {value1}px
# data1 = get_data(f'{prefix}/{uuid}', 1)
# # [范围信息]
# # 落雷大小比率 : {value2}%
# data2 = get_data(f'{prefix}/{uuid}', 2)
# 冲刺斩
# priest_female/mistress/01c3a2fb793d293a25ed8dc7a0d70c1a
@@ -101,9 +488,10 @@ class Skill15(ActiveSkill):
转职成为除恶者时,增加1次连续冲刺次数; 转职成为驱魔师时,无法使用该技能。\n
冲刺过程中,再次按技能键可以连续冲刺,可以利用按后方向键控制移动方向。\n
学习[原罪之初]后,施放时获得霸体护甲,2次前冲后再次按技能键,变身为恶魔发动前冲斩。\n
按住向后方向键并再次按技能键, 可以向后转身发动前冲斩; 前冲斩击攻击力和[冲刺斩]的上斩攻击力相同。
按住向后方向键并再次按技能键,可以向后转身发动前冲斩; 前冲斩击攻击力和[冲刺斩]的上斩攻击力相同。\n
"""
name = "冲刺斩"
cellPos = (3,3)
learnLv = 15
masterLv = 60
maxLv = 70
@@ -131,9 +519,10 @@ class Skill16(ActiveSkill):
"""
第一击斩击中端,第二击斩击下端。\n
按前进键时,施放第一击时,向前移动。\n
[原罪释放·净化]状态下施放时, 一次性造成2次攻击。
[原罪释放·净化]状态下施放时,一次性造成2次攻击。\n
"""
name = "双重切割"
cellPos = (3,4)
learnLv = 15
masterLv = 60
maxLv = 70
@@ -162,11 +551,11 @@ class Skill16(ActiveSkill):
class Skill17(PassiveSkill):
"""
掌握该技能后,基本攻击变为除恶者专属攻击方式,增加基本攻击力和技能攻击力。\n
背负着原罪的肉身会不断引诱周围的敌人; 被引诱的敌人会降低命中率, 并向除恶者靠拢。\n
背负着原罪的肉身会不断引诱周围的敌人,提升自身回避率,并使敌人向除恶者靠拢。\n
利用诱惑来聚拢敌人的效果可以在已学技能栏中用鼠标右键设置开启/关闭\n
减少命中率的技能效果叠加时, 只适用数值最高的效果。
"""
name = "罪业诱惑"
cellPos = (2,4)
learnLv = 15
masterLv = 10
maxLv = 20
@@ -179,7 +568,7 @@ class Skill17(PassiveSkill):
# 基本攻击力和技能攻击力增加率 : {value0}%
data0 = get_data(f'{prefix}/{uuid}', 0)
# 敌人的命中率减少率 : {value1}%
# 回避率增加 : {value1}%
data1 = get_data(f'{prefix}/{uuid}', 1)
associate = [{"data":data0}]
@@ -191,9 +580,10 @@ class Skill18(PassiveSkill):
掌握该技能后,增加魔法攻击力。\n
使用镰刀系列武器攻击敌人时,增加攻击速度、 移动速度和命中率; 且在施放镰刀系列技能后,可以取消技能僵直,强制使用其他镰刀系列技能。\n
- [可以强制使用的技能] -\n
[钩颈斩]、 [罪业加身]、 [双重切割]、 [冲刺斩]、 [镰勾旋击]、 [粉碎回旋击]、 [终结战镰]
[钩颈斩]、 [罪业加身]、 [双重切割]、 [冲刺斩]、 [镰勾旋击]、 [粉碎回旋击]、 [终结战镰]\n
"""
name = "负罪者镰刀精通"
cellPos = (1,4)
learnLv = 15
masterLv = 20
maxLv = 30
@@ -221,9 +611,10 @@ class Skill18(PassiveSkill):
class Skill19(ActiveSkill):
"""
向前方发出斩击,镰刀勾住敌人后,跳到被勾住的敌人身上,再施放旋转斩击。\n
向前斩击命中时进入无敌状态, 被镰刀勾住的敌人会被强制控制。
向前斩击命中时进入无敌状态,被镰刀勾住的敌人会被强制控制。\n
"""
name = "镰勾旋击"
cellPos = (3,5)
learnLv = 20
masterLv = 60
maxLv = 70
@@ -244,9 +635,12 @@ class Skill19(ActiveSkill):
hit1 = 1
# 旋转斩击后的无敌时间 : {value2}秒
data2 = get_data(f'{prefix}/{uuid}', 2)
# [范围信息]
# 范围比率 : {value3}%
# 压制力 (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)
# 欲望之手
# priest_female/mistress/147d005ac868e0de52b1f255eea35d62
@@ -255,9 +649,10 @@ class Skill20(ActiveSkill):
"""
施放时,变身为恶魔向前方伸出指甲刺穿敌人后,快速靠近僵直的敌人,用镰刀划伤。\n
消耗罪业层数时,增加技能攻击力和移动速度,效果持续一段时间。\n
[人类的欲望本身并不是一种罪, 但沉醉于无节制的享乐, 便构成淫乐之罪。]
[人类的欲望本身并不是一种罪,但沉醉于无节制的享乐,便构成淫乐之罪。]\n
"""
name = "欲望之手"
cellPos = (5,5)
learnLv = 20
masterLv = 60
maxLv = 70
@@ -299,9 +694,10 @@ class Skill21(ActiveSkill):
- [贪婪之刺] : 增加攻击范围\n
- [愤怒之袭] : 增加攻击速度\n
- [嫉妒之吻] : 增加魅惑时间\n
- [暴食之噬] : 增加生命值恢复量
- [暴食之噬] : 增加生命值恢复量\n
"""
name = "七宗罪"
cellPos = (4,5)
learnLv = 20
masterLv = 10
maxLv = 20
@@ -385,6 +781,29 @@ class Skill21(ActiveSkill):
{"data":data12,"skills":['欲望之手', '傲慢之堕', '怠惰之息', '贪婪之刺', '愤怒之袭', '嫉妒之吻', '暴食之噬']}
]
# 暴击
# priest_female/mistress/fc1262c19f3d0477ee8eda47b8db8696
# 0c1b401bb09241570d364420b3ba3fd7/fc1262c19f3d0477ee8eda47b8db8696
# MIGRATION: character 中没有同名技能“暴击”,暂不启用
# class Skill23(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)
# 傲慢之堕
# priest_female/mistress/47bd4871f29defc2a0021ee9261d7a5b
# 0c1b401bb09241570d364420b3ba3fd7/47bd4871f29defc2a0021ee9261d7a5b
@@ -394,9 +813,10 @@ class Skill23(ActiveSkill):
消耗罪业层数时,增加技能攻击力; 减少敌人回避率,效果持续一定时间。\n
施放技能时,可用方向键调整俯冲位置,可以在空中使用。\n
在决斗场中,无法沿Y轴移动,并且无法在一定高度以上施放。\n
[傲慢滋生出原罪, 原罪又助长其他罪业, 所以, 傲慢才是万恶之源。]
[傲慢滋生出原罪,原罪又助长其他罪业,所以,傲慢才是万恶之源。]\n
"""
name = "傲慢之堕"
cellPos = (8,6)
learnLv = 25
masterLv = 60
maxLv = 70
@@ -423,9 +843,10 @@ class Skill24(ActiveSkill):
"""
跳向前方,旋转身体对敌人造成多段伤害后,落地并发动最后一击。\n
施放时,按向前方向键可以跳得更远,可以在空中施放。\n
在决斗场中, 无法在空中施放。
在决斗场中,无法在空中施放。\n
"""
name = "粉碎回旋击"
cellPos = (3,7)
learnLv = 30
masterLv = 60
maxLv = 70
@@ -462,9 +883,10 @@ class Skill25(ActiveSkill):
防御时可以吸附周围的敌人,按跳跃键会立即解除防御状态。\n
在决斗场中,按跳跃键无法解除防御状态,即使在正确的时机防御也不会完全吸收伤害。\n
学习[原罪之初]后,增加吸附敌人的范围和速度; 按向下方向键,并再次按技能键或者<Z>键时,在附近生成冲击波。 (冲击波攻击力与刺击相同)\n
[检讨自己的人生并学会尊重自己时, 方能从怠惰的沼泽中挣脱出来……]
[检讨自己的人生并学会尊重自己时,方能从怠惰的沼泽中挣脱出来……]\n
"""
name = "怠惰之息"
cellPos = (8,7)
learnLv = 30
masterLv = 60
maxLv = 70
@@ -505,9 +927,10 @@ class Skill26(ActiveSkill):
用残影刺穿地面的敌人,使敌人进入强制控制状态并造成多段伤害后吞噬掉。\n
消耗罪业层数时,增加技能攻击力和攻击范围。\n
残影生成时,吸附Y轴的敌人,并使被残影穿刺的敌人进入无法抓取状态; 残影生成结束时,再次按技能键可以立即吞噬敌人。\n
[贪欲也就是‘过分的欲望’。 试图得到本不该属于自己的, 均属于贪欲……]
[贪欲也就是‘过分的欲望’。 试图得到本不该属于自己的,均属于贪欲……]\n
"""
name = "贪婪之刺"
cellPos = (7,8)
learnLv = 35
masterLv = 60
maxLv = 70
@@ -526,9 +949,12 @@ class Skill26(ActiveSkill):
data0 = get_data(f'{prefix}/{uuid}', 0)
hit0 = 9
data1 = get_data(f'{prefix}/{uuid}', 1)
# [范围信息]
# 范围比率 : {value2}%
# 压制力 (4人队伍) : {value2}秒 ({value3}秒)
data2 = get_data(f'{prefix}/{uuid}', 2)
data3 = get_data(f'{prefix}/{uuid}', 3)
# [范围信息]
# 范围比率 : {value4}%
data4 = get_data(f'{prefix}/{uuid}', 4)
def vp_1(self):
"""
@@ -561,9 +987,10 @@ class Skill26(ActiveSkill):
class Skill27(ActiveSkill):
"""
变身为恶魔发动攻击,唤醒敌人内心堆积的罪业,然后引爆罪业。\n
爆炸攻击时, 可吸收敌人的罪业, 增加罪业层数。
爆炸攻击时,可吸收敌人的罪业,增加罪业层数。\n
"""
name = "诱魔之手"
cellPos = (4,8)
learnLv = 35
masterLv = 60
maxLv = 70
@@ -621,9 +1048,10 @@ class Skill28(ActiveSkill):
"""
在原地旋转并挥舞镰刀乱击敌人后,使用离心力攻击周围的敌人。\n
旋转过程中可以利用方向键移动,连按攻击键或技能快捷键可以增加乱击旋转速度,旋转中可以利用跳跃键强制中断攻击。\n
在决斗场中, 无法用跳跃键强制中断攻击。
在决斗场中,无法用跳跃键强制中断攻击。\n
"""
name = "终结战镰"
cellPos = (3,9)
learnLv = 40
masterLv = 60
maxLv = 70
@@ -683,9 +1111,10 @@ class Skill29(ActiveSkill):
变身为恶魔,用爆发性的力量和速度掠过敌人,给敌人造成伤害。\n
消耗罪业层数时,增加技能攻击力; 增加攻击速度,效果持续一定时间。\n
施放时,按前进键可以移动更远距离。\n
[和平的另一面并不是战争。 也许, 压抑住愤怒, 人类才会迎来真正的和平。]
[和平的另一面并不是战争。 也许,压抑住愤怒,人类才会迎来真正的和平。]\n
"""
name = "愤怒之袭"
cellPos = (6,10)
learnLv = 45
masterLv = 60
maxLv = 70
@@ -745,9 +1174,10 @@ class Skill30(PassiveSkill):
"""
可以强制中断转职技能的施放后僵直并施放; 攻击时,增加暴击伤害和魔法暴击率,效果持续一定时间。\n
在决斗场中,不适用强制中断功能。\n
[恬不知耻的恶魔啊! 神会将你们的罪业宣之于众!]
[恬不知耻的恶魔啊! 神会将你们的罪业宣之于众!]\n
"""
name = "罪业宣告"
cellPos = (2,11)
learnLv = 48
masterLv = 40
maxLv = 50
@@ -776,9 +1206,10 @@ class Skill31(ActiveSkill):
如果在施放恶魔系技能的过程中使用[原罪释放·净化],可以立即变身。\n
变身持续时间内拥有霸体效果,增加攻击速度、 移动速度、 防御力、 生命值魔法值恢复力、 控制型异常状态抗性。\n
变身持续时间内,变更基本攻击和镰刀系技能,并且无法使用部分技能。\n
无法使用的技能] : [空中锤击]、 [治愈祈祷]、 [审判锤击]、 [武器格挡]、 [净化]、 [唤雷符]
无法使用的技能] : [空中锤击]、 [治愈祈祷]、 [审判锤击]、 [武器格挡]、 [净化]、 [唤雷符]\n
"""
name = "原罪释放·净化"
cellPos = (4,11)
learnLv = 50
masterLv = 40
maxLv = 50
@@ -810,9 +1241,10 @@ class Skill31(ActiveSkill):
class Skill32(ActiveSkill):
"""
变身为恶魔,向最强的敌人绽放净化之花,造成多段伤害并强控敌人后,净化之花会发生爆炸。\n
学习后, 技能等级补正为与[原罪释放·净化]相同。
学习后,技能等级补正为与[原罪释放·净化]相同。\n
"""
name = "净化之花"
cellPos = (4,12)
learnLv = 50
masterLv = 1
maxLv = 50
@@ -831,6 +1263,9 @@ class Skill32(ActiveSkill):
# 爆炸攻击力 : {value1}%
data1 = get_data(f'{prefix}/{uuid}', 1)
hit1 = 1
# 压制力 (4人队伍) : {value2}秒 ({value3}秒)
data2 = get_data(f'{prefix}/{uuid}', 2)
data3 = get_data(f'{prefix}/{uuid}', 3)
def skillInfo(self, mode: str | None = None):
self.lv = self.char.GetSkillByName("原罪释放·净化").lv
@@ -845,9 +1280,10 @@ class Skill33(ActiveSkill):
若存在被魅惑气息命中的敌人,再次按技能键,可以移动到敌人身后发动斩击。\n
消耗罪业层数时,增加技能攻击力和魅惑时间。\n
若敌人未被魅惑,会在一定时间内对敌人附加印记。 此时,再次按技能键,可以移动到被附加印记或被魅惑的敌人身后,将其撕裂。\n
[妒忌是未拥有者对拥有者的羡慕, 嫉妒是拥有者对失去的恐惧。]
[妒忌是未拥有者对拥有者的羡慕,嫉妒是拥有者对失去的恐惧。]\n
"""
name = "嫉妒之吻"
cellPos = (5,12)
learnLv = 60
masterLv = 40
maxLv = 50
@@ -869,9 +1305,12 @@ class Skill33(ActiveSkill):
# 斩击攻击力 : {value2}%
data2 = get_data(f'{prefix}/{uuid}', 2)
hit2 = 1
# [范围信息]
# 范围比率 : {value3}%
# 压制力 (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):
"""
@@ -908,9 +1347,10 @@ class Skill34(ActiveSkill):
唤醒暴食之原罪,吸附前方的敌人后,向前方释放吸收到的能量。\n
消耗罪业层数时,增加技能攻击力和生命值恢复量。\n
可以通过按住技能键,增加吸收能量的时间。 吸收成功时,可以恢复自身的生命值并增加罪业层数。\n
[减少自己的粮食, 进而禁食, 将那些粮食分给穷苦的人们, 此为积德之行为。]
[减少自己的粮食,进而禁食,将那些粮食分给穷苦的人们,此为积德之行为。]\n
"""
name = "暴食之噬"
cellPos = (7,13)
learnLv = 70
masterLv = 40
maxLv = 50
@@ -971,9 +1411,10 @@ class Skill35(ActiveSkill):
领悟宇宙初始的智慧,增加基本攻击力和技能攻击力,并增加[原罪释放·净化]变身时间,魔化状态下攻击时,对周围进行光环攻击。\n
而且,在原罪的影响下,叠加的罪业数量不会降到1以下,获得罪业层数时减少[原罪释放·净化]冷却时间。\n
在人类形态下使用恶魔系技能命中目标时,[罪业诱惑]的光环散发紫色光辉,对范围内所有的敌人造成伤害,[原罪释放·净化]变身状态下所有攻击发动光环光辉攻击。\n
[传说中诞下所有人类罪业的禁断结晶……原罪、 苹果、 禁断之果、 普拉那, 无数词语在描述这个东西。]
[传说中诞下所有人类罪业的禁断结晶……原罪、 苹果、 禁断之果、 普拉那,无数词语在描述这个东西。]\n
"""
name = "智慧起源 : 原罪结晶"
cellPos = (2,13)
learnLv = 75
masterLv = 40
maxLv = 50
@@ -1013,9 +1454,10 @@ class Skill36(ActiveSkill):
"""
用镰刀把周围敌人驱赶到一处,然后断开原罪印章,高高跳跃后落到地面,引起强烈的爆炸。\n
原罪爆炸攻击时,吸收原罪并增加罪业层数。\n
[人类无法隔断原罪? 是因为人类从原罪诞生? 还是因为人因原罪才能称为人。]
[人类无法隔断原罪? 是因为人类从原罪诞生? 还是因为人因原罪才能称为人。]\n
"""
name = "灵魂烙印 : 原罪冲击"
cellPos = (3,13)
learnLv = 75
masterLv = 40
maxLv = 50
@@ -1070,9 +1512,10 @@ class Skill37(ActiveSkill):
"""
把刻在后背的原罪烙印具现化为7根骨刺刺向前方,随后触手散开刺向敌人。\n
刺击时,进入无敌状态; 吸附刺击命中的敌人并使其进入强制控制状态。\n
[今天仍没有领悟到自己罪孽的人们……唯有与神相连的证据才能拯救他们。]
[今天仍没有领悟到自己罪孽的人们……唯有与神相连的证据才能拯救他们。]\n
"""
name = "肋骨重塑 : 原罪战矛"
cellPos = (4,14)
learnLv = 80
masterLv = 40
maxLv = 50
@@ -1093,9 +1536,12 @@ class Skill37(ActiveSkill):
# 触手散开斩击攻击力 : {value1}%
data1 = get_data(f'{prefix}/{uuid}', 1)
hit1 = 3
# [范围信息]
# 范围比率 : {value2}%
# 压制力 (4人队伍) : {value2}秒 ({value3}秒)
data2 = get_data(f'{prefix}/{uuid}', 2)
data3 = get_data(f'{prefix}/{uuid}', 3)
# [范围信息]
# 范围比率 : {value4}%
data4 = get_data(f'{prefix}/{uuid}', 4)
def vp_1(self):
"""
@@ -1124,9 +1570,10 @@ class Skill38(ActiveSkill):
"""
提取禁忌之力移动到最强大的敌人面前,转嫁罪业后使敌人爆炸。\n
周围存在敌人时才可以施放,提取禁忌之力的瞬间,罪业层数达到最大值,转嫁给敌人后罪业层数减少到最小值。\n
[湮灭, 之后将有乐园降临。 神啊, 求您把悔改的灵魂们带到乐园……]
[湮灭,之后将有乐园降临。 神啊,求您把悔改的灵魂们带到乐园……]\n
"""
name = "失乐园"
cellPos = (6,14)
learnLv = 85
masterLv = 40
maxLv = 50
@@ -1147,6 +1594,9 @@ class Skill38(ActiveSkill):
# 禁忌之力爆炸攻击力 : {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)
# 原罪之初
# priest_female/mistress/0113c8b1306ca76d208f83f2d093dd62
@@ -1160,9 +1610,10 @@ class Skill39(PassiveSkill):
按住向后方向键并再次按技能键,可以向后转身发动前冲斩。 前冲斩击攻击力和[冲刺斩]的上斩攻击力相同。\n
[怠惰之息]\n
增加聚拢敌人的范围和速度,按下方向键并再次按技能键或Z键时,向周围发动冲击波攻击。 (冲击波攻击力和[怠惰之息]的突刺攻击力相同)\n
[我们只能背负原罪而生吗? 所有原罪之初, 如果我们能领悟其本质……]
[我们只能背负原罪而生吗? 所有原罪之初,如果我们能领悟其本质……]\n
"""
name = "原罪之初"
cellPos = (5,15)
learnLv = 95
masterLv = 40
maxLv = 50
@@ -1186,9 +1637,10 @@ class Skill40(ActiveSkill):
"""
变身为恶魔,用铭刻七宗罪之力的镰刀审判敌人。 共进行7次审判,令敌人赎罪。\n
施放中连按攻击键或技能快捷键,可增加攻击速度。\n
[愚蠢之人, 珍惜赐予你救赎的机会, 虔诚地忏悔吧。]
[愚蠢之人,珍惜赐予你救赎的机会,虔诚地忏悔吧。]\n
"""
name = "至高之刑"
cellPos = (7,15)
learnLv = 95
masterLv = 40
maxLv = 50
@@ -1221,9 +1673,10 @@ class Skill41(ActiveSkill):
[三次觉醒技能]\n
使用三次觉醒技能时,与关联的技能共享冷却时间。\n
若关联的技能还在冷却中,则无法使用三次觉醒技能。\n
[神啊……所有的罪业都由我来背负。 请赦免他们的罪业, 允许他们永恒地安息吧……]
[神啊……所有的罪业都由我来背负。 请赦免他们的罪业,允许他们永恒地安息吧……]\n
"""
name = "原罪之翼·永息"
cellPos = (5,16)
learnLv = 100
masterLv = 40
maxLv = 50
@@ -1240,7 +1693,9 @@ class Skill41(ActiveSkill):
# 爆炸攻击力 : {value0}%
data0 = get_data(f'{prefix}/{uuid}', 0)
hit0 = 1
# 压制力 (4人队伍) : {value1}秒 ({value2}秒)
data1 = get_data(f'{prefix}/{uuid}', 1)
data2 = get_data(f'{prefix}/{uuid}', 2)
class classChange(Character):
def __init__(self, equVersion):
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
@@ -3,6 +3,7 @@ from core.basic.skill import PassiveSkill, ActiveSkill, get_data, ActiveBufferSk
from core.basic.character import Character
prefix = "priest_male/crusader_male/cn/skillDetail"
# 空斩打
# priest_male/crusader_male/3c5604bdbb0240b8f130f59ab40509c3
# f6a4ad30555b99b499c07835f87ce522/3c5604bdbb0240b8f130f59ab40509c3
@@ -11,9 +12,10 @@ class Skill0(ActiveSkill):
用巨兵向敌人发出攻击并使其浮空,发动时有霸体判定。\n
在[意念驱动]已施放状态下,将无法使用此技能。\n
转职为光明骑士后,技能类型变为独立攻击力。\n
转职为驱魔师后, 可以蓄气攻击。
转职为驱魔师后,可以蓄气攻击。\n
"""
name = "空斩打"
cellPos = (6,1)
learnLv = 1
masterLv = 10
maxLv = 20
@@ -30,16 +32,52 @@ class Skill0(ActiveSkill):
# 攻击力 : {value1}%
data1 = get_data(f'{prefix}/{uuid}', 1)
# 虎袭
# priest_male/crusader_male/f2fb27162beb0b87a7cb9af7900e95f2
# f6a4ad30555b99b499c07835f87ce522/f2fb27162beb0b87a7cb9af7900e95f2
# MIGRATION: character 中没有同名技能“虎袭”,暂不启用
# class Skill1(ActiveSkill):
# """
# 抓取前方1名敌人并向前跑动一段距离后扔开,可以对跑动中撞到的敌人造成多段攻击伤害。\n
# 若在前冲中按攻击键,则直接扔开抓住的敌人。 抓住的敌人只有在最后扔开时才有伤害判定,掷出的敌人会对撞到的敌人造成附加伤害。\n
# 抓取并掷出敌人时,若按攻击键,则可以给予敌人更多伤害。\n
# 抓取判定 : 可以抓取霸体和防御状态的敌人,但对无法抓取的敌人不适用抓取和控制效果。\n
# 转职为光明骑士时,技能类型变为独立攻击力。\n
# """
# name = "虎袭"
# learnLv = 1
# masterLv = 60
# maxLv = 70
# cellPos = (10,1)
# position = 10
# rangeLv = 2
# cd = 5
# mp = [15, 154]
# 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)
# # 扔开抓住的敌人时攻击力 : {value2}%
# data2 = get_data(f'{prefix}/{uuid}', 2)
# # 间接攻击力 : {value3}%
# data3 = get_data(f'{prefix}/{uuid}', 3)
# # 追加操作后的攻击力增加率 : {value4}%
# data4 = get_data(f'{prefix}/{uuid}', 4)
# 神的恩赐
# priest_male/crusader_male/0232c151ef3731c2dede51931a374723
# f6a4ad30555b99b499c07835f87ce522/0232c151ef3731c2dede51931a374723
class Skill2(PassiveBufferSkill):
"""
获得神的恩泽, 增加所有异常状态的抗性。
获得神的恩泽,增加所有异常状态的抗性。\n
"""
name = "神的恩赐"
cellPos = (1,1)
learnLv = 1
masterLv = 1
maxLv = 1
@@ -53,15 +91,155 @@ class Skill2(PassiveBufferSkill):
# 所有异常状态抗性增加 : {value0}%
data0 = get_data(f'{prefix}/{uuid}', 0)
# 后跳
# priest_male/crusader_male/7822d6d52e10964a6755f142c666b494
# f6a4ad30555b99b499c07835f87ce522/7822d6d52e10964a6755f142c666b494
# MIGRATION: character 中没有同名技能“后跳”,暂不启用
# 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
# 基础精通
# priest_male/crusader_male/5a56514f35cf0270ae8d6c65f8fefd78
# f6a4ad30555b99b499c07835f87ce522/5a56514f35cf0270ae8d6c65f8fefd78
# MIGRATION: character 中没有同名技能“基础精通”,暂不启用
# class Skill4(PassiveSkill):
# """
# 增加基本攻击、 前冲攻击、 跳跃攻击、 [空斩打]的攻击力。\n
# 在决斗场中,增益/减益技能、 被动技能的技能攻击力增加效果对[基础精通]无影响。\n
# """
# name = "基础精通"
# learnLv = 1
# masterLv = 115
# maxLv = 200
# cellPos = (1,0)
# 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)
# 受身蹲伏
# priest_male/crusader_male/ce26c6b69d02a440a81b552bec94f03b
# f6a4ad30555b99b499c07835f87ce522/ce26c6b69d02a440a81b552bec94f03b
# MIGRATION: character 中没有同名技能“受身蹲伏”,暂不启用
# class Skill5(ActiveSkill):
# """
# 使自身在倒地状态下迅速起身并采取蹲伏姿势; 蹲伏状态下,自身会进入无敌状态,效果持续一定时间。\n
# """
# name = "受身蹲伏"
# learnLv = 1
# masterLv = 10
# 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)
# 技能连招
# priest_male/crusader_male/10b31c7e8cd2d60b9bcf3b1d3ada4b0a
# f6a4ad30555b99b499c07835f87ce522/10b31c7e8cd2d60b9bcf3b1d3ada4b0a
# MIGRATION: character 中没有同名技能“技能连招”,暂不启用
# 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
# 防具精通
# priest_male/crusader_male/892ef624d8bf3d7fc045f84825fd6104
# f6a4ad30555b99b499c07835f87ce522/892ef624d8bf3d7fc045f84825fd6104
# MIGRATION: character 中没有同名技能“防具精通”,暂不启用
# 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
# 缓慢愈合
# priest_male/crusader_male/1fadde0eece18649caddbca7bd58cc2f
# f6a4ad30555b99b499c07835f87ce522/1fadde0eece18649caddbca7bd58cc2f
class Skill7(ActiveBufferSkill):
"""
选择一定范围内的队员恢复生命值。
选择一定范围内的队员恢复生命值。\n
"""
name = "缓慢愈合"
cellPos = (3,2)
learnLv = 5
masterLv = 60
maxLv = 70
@@ -82,15 +260,47 @@ class Skill7(ActiveBufferSkill):
# 队员选择范围 : {value2}px
data2 = get_data(f'{prefix}/{uuid}', 2)
# 直拳冲击
# priest_male/crusader_male/faf9cd66281078b51be2ee0b0f6c5530
# f6a4ad30555b99b499c07835f87ce522/faf9cd66281078b51be2ee0b0f6c5530
# MIGRATION: character 中没有同名技能“直拳冲击”,暂不启用
# class Skill9(ActiveSkill):
# """
# 向前方敌人发出强威力的直拳冲击,可以形成多段攻击; 最后一击有很高的伤害和暴击率。\n
# 转职成为蓝拳使者时,才可以强制中断基本攻击动作,并立即施放该技能。\n
# """
# name = "直拳冲击"
# learnLv = 5
# masterLv = 60
# maxLv = 70
# cellPos = (10,2)
# position = 10
# rangeLv = 2
# cd = 3
# mp = [15, 154]
# uuid = "faf9cd66281078b51be2ee0b0f6c5530"
# 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)
# # 最后一击的物理/魔法暴击率增加 : {value3}%
# data3 = get_data(f'{prefix}/{uuid}', 3)
# 净化
# priest_male/crusader_male/d0cdaca82892e54097f22a1f60817048
# f6a4ad30555b99b499c07835f87ce522/d0cdaca82892e54097f22a1f60817048
class Skill9(ActiveBufferSkill):
"""
使一定范围内的队员消除异常状态。
使一定范围内的队员消除异常状态。\n
"""
name = "净化"
cellPos = (4,3)
learnLv = 10
masterLv = 1
maxLv = 11
@@ -109,6 +319,89 @@ class Skill9(ActiveBufferSkill):
# [净化]适用范围 : {value1}px
data1 = get_data(f'{prefix}/{uuid}', 1)
# 勾拳追击
# priest_male/crusader_male/d296043df164385a14cb973c8c7c4d07
# f6a4ad30555b99b499c07835f87ce522/d296043df164385a14cb973c8c7c4d07
# MIGRATION: character 中没有同名技能“勾拳追击”,暂不启用
# class Skill11(ActiveSkill):
# """
# 向前方敌人发动前冲攻击后,可以用上勾拳进行追击。\n
# """
# name = "勾拳追击"
# learnLv = 10
# masterLv = 60
# maxLv = 70
# cellPos = (10,3)
# position = 10
# rangeLv = 2
# cd = 2
# mp = [10, 84]
# uuid = "d296043df164385a14cb973c8c7c4d07"
# 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)
# 强化 - 后跳
# priest_male/crusader_male/2b340542e776818b78f3212af184bd6b
# f6a4ad30555b99b499c07835f87ce522/2b340542e776818b78f3212af184bd6b
# MIGRATION: character 中没有同名技能“强化 - 后跳”,暂不启用
# 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)
# 跃翔
# priest_male/crusader_male/1fea5a626f15230237946a11a9d11582
# f6a4ad30555b99b499c07835f87ce522/1fea5a626f15230237946a11a9d11582
# MIGRATION: character 中没有同名技能“跃翔”,暂不启用
# 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)
# 落凤锤
# priest_male/crusader_male/45442bbbe33540b4deeec29437dae70c
@@ -126,9 +419,10 @@ class Skill13(ActiveSkill):
[疾空旋风破]\n
[无双击]\n
[逆鳞震]\n
[逆龙七杀]
[逆龙七杀]\n
"""
name = "落凤锤"
cellPos = (6,4)
learnLv = 15
masterLv = 60
maxLv = 70
@@ -155,9 +449,10 @@ class Skill13(ActiveSkill):
# f6a4ad30555b99b499c07835f87ce522/4b2c90ec226fd40e967875aa5eabefb2
class Skill14(ActiveSkill):
"""
凝聚力量用双臂划出十字形刀刃攻击前方敌人。
凝聚力量用双臂划出十字形刀刃攻击前方敌人。\n
"""
name = "纯白之刃"
cellPos = (7,4)
learnLv = 15
masterLv = 60
maxLv = 70
@@ -188,15 +483,16 @@ class Skill15(PassiveSkill):
[信念光环]\n
不发动光环效果。\n
[天启之光]\n
冷却时间缩短为145秒, 不发动祝福增益效果。\n
冷却时间缩短为135秒,不发动祝福增益效果。\n
[神圣之光]\n
只能对自身使用。\n
[神圣洗礼 : 信仰之翼]\n
无法施放。\n
[生命礼赞 : 神威]\n
仅发动[信仰之翼 : 裁决], 不适用增益效果。
仅发动[信仰之翼 : 裁决],不适用增益效果。\n
"""
name = "勇气恩赐"
cellPos = (9,4)
learnLv = 15
masterLv = 15
maxLv = 25
@@ -219,9 +515,10 @@ class Skill16(PassiveBufferSkill):
学习后,无法学习[勇气恩赐]; 增加体力与精神,使被光明骑士命中的敌人进入所受属性伤害增加的减益状态。\n
属性伤害增加效果持续一段时间,该效果可以叠加一定次数。\n
属性伤害增加效果无法与光明骑士 (女) 的[圣光灌注]、 小魔女的[冥月绽放]、 缪斯的[多彩感性]、 协战师的[系统 · 战场信息]效果叠加。\n
单人挑战时, 不适用属性伤害增加效果, 且如果体力或精神高于智力, 则智力提升至与体力或精神一致, 并适用单人挑战专属效果。
单人挑战时,不适用属性伤害增加效果,且如果体力或精神高于智力,则智力提升至与体力或精神一致,并适用单人挑战专属效果。\n
"""
name = "守护恩赐"
cellPos = (2,4)
learnLv = 15
masterLv = 60
maxLv = 70
@@ -263,9 +560,10 @@ class Skill16(PassiveBufferSkill):
class Skill17(ActiveSkill):
"""
赋予在被击或攻击时,有一定几率落下闪电的增益效果。\n
闪电攻击受[基础精通]影响。
闪电攻击受[基础精通]影响。\n
"""
name = "光之正义"
cellPos = (4,5)
learnLv = 20
masterLv = 1
maxLv = 11
@@ -311,9 +609,10 @@ class Skill17(ActiveSkill):
class Skill18(PassiveSkill):
"""
灵魂修炼到极致,增加移动速度、 施放速度、 基本攻击力和技能攻击力。\n
光明骑士死亡时, 恢复一定范围内队员的生命值和魔法值。
光明骑士死亡时,恢复一定范围内队员的生命值和魔法值。\n
"""
name = "灵魂牺牲"
cellPos = (0,5)
learnLv = 20
masterLv = 1
maxLv = 6
@@ -344,9 +643,10 @@ class Skill18(PassiveSkill):
class Skill19(ActiveSkill):
"""
向敌人投掷由神圣之力凝聚成的矛。\n
蓄气时, 增加穿刺攻击力和穿刺敌人数量。
蓄气时,增加穿刺攻击力和穿刺敌人数量。\n
"""
name = "胜利之矛"
cellPos = (6,5)
learnLv = 20
masterLv = 60
maxLv = 70
@@ -369,10 +669,35 @@ class Skill19(ActiveSkill):
data3 = get_data(f'{prefix}/{uuid}', 3)
# 最大蓄气时穿刺数量上限 : {value4}
data4 = get_data(f'{prefix}/{uuid}', 4)
# [范围信息]
# 大小比率 : {value5}%
# 压制力 (4人队伍) : {value5}秒 ({value6}秒)
data5 = get_data(f'{prefix}/{uuid}', 5)
data6 = get_data(f'{prefix}/{uuid}', 6)
# [范围信息]
# 大小比率 : {value7}%
data7 = get_data(f'{prefix}/{uuid}', 7)
# 暴击
# priest_male/crusader_male/fc1262c19f3d0477ee8eda47b8db8696
# f6a4ad30555b99b499c07835f87ce522/fc1262c19f3d0477ee8eda47b8db8696
# MIGRATION: character 中没有同名技能“暴击”,暂不启用
# class Skill21(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)
# 圣灵之槌
# priest_male/crusader_male/d8ff976e2aaa4720272a5175d1eb9126
@@ -381,9 +706,10 @@ class Skill21(ActiveSkill):
"""
召唤出凝聚圣灵之力的战槌,改变基本攻击。\n
基本攻击第3击和[空斩打]攻击力受[基础精通]影响。\n
增加基本攻击力、 技能攻击力、 所有速度和命中率。
增加基本攻击力、 技能攻击力、 所有速度和命中率。\n
"""
name = "圣灵之槌"
cellPos = (9,5)
learnLv = 20
masterLv = 20
maxLv = 30
@@ -428,9 +754,10 @@ class Skill21(ActiveSkill):
class Skill22(ActiveBufferSkill):
"""
使一定范围内的队员们增加物防、 魔防、 体力、 精神和生命值/魔法值最大值。\n
该技能效果不与光明骑士 (女) 的[守护祝福]、 小魔女的[小魔女的偏爱]技能、 缪斯的[主角登场]、 协战师的[装甲强化]效果叠加。
该技能效果不与光明骑士 (女) 的[守护祝福]、 小魔女的[小魔女的偏爱]技能、 缪斯的[主角登场]、 协战师的[装甲强化]效果叠加。\n
"""
name = "守护徽章"
cellPos = (2,6)
learnLv = 25
masterLv = 10
maxLv = 20
@@ -474,9 +801,10 @@ class Skill23(ActiveSkill):
选择一定范围内的队员,使队员置身于神圣的光晕中。\n
神圣光晕护盾的生命值等于光明骑士生命值的一定比率,持续期间代替角色承受物理、 魔法伤害; 神圣光晕护盾的生命值耗尽时,神圣光晕护盾将消失。\n
使用消耗品增加的生命值不会提升护盾效果。\n
在决斗场中, 只能吸收物理伤害。
在决斗场中,只能吸收物理伤害。\n
"""
name = "圣光守护"
cellPos = (1,6)
learnLv = 25
masterLv = 10
maxLv = 20
@@ -502,9 +830,10 @@ class Skill23(ActiveSkill):
# f6a4ad30555b99b499c07835f87ce522/d2c6df5105577fb59fb92529a36165a0
class Skill24(PassiveSkill):
"""
缩短[缓慢愈合]的生命值恢复时间, 提高生命值恢复比率。
缩短[缓慢愈合]的生命值恢复时间,提高生命值恢复比率。\n
"""
name = "快速愈合"
cellPos = (3,6)
learnLv = 25
masterLv = 1
maxLv = 6
@@ -527,9 +856,10 @@ class Skill25(ActiveBufferSkill):
"""
发射神圣十字。\n
攻击成功时爆炸,赋予光明骑士神圣之力,增加所有速度。\n
学习[守护恩赐]后, 对魔法阵内的自身和队友额外发动所有速度增加增益效果。
学习[守护恩赐]后,对魔法阵内的自身和队友额外发动所有速度增加增益效果。\n
"""
name = "圣光十字"
cellPos = (5,6)
learnLv = 25
masterLv = 60
maxLv = 70
@@ -556,9 +886,12 @@ class Skill25(ActiveBufferSkill):
data4 = get_data(f'{prefix}/{uuid}', 4)
# 攻击/移动/施放速度增加 : {value5}%
data5 = get_data(f'{prefix}/{uuid}', 5)
# [范围信息]
# 光杖和魔法阵大小比率 : {value6}%
# 压制力 (4人队伍) : {value6}秒 ({value7}秒)
data6 = get_data(f'{prefix}/{uuid}', 6)
data7 = get_data(f'{prefix}/{uuid}', 7)
# [范围信息]
# 光杖和魔法阵大小比率 : {value8}%
data8 = get_data(f'{prefix}/{uuid}', 8)
# 圣光沁盾
# priest_male/crusader_male/8ee0099656df08a0b39225f8a21d514b
@@ -566,9 +899,10 @@ class Skill25(ActiveBufferSkill):
class Skill26(ActiveSkill):
"""
使用神圣之力生成盾壁,抵挡远程攻击。\n
队员可以通过盾壁, 但敌方无法通过。
队员可以通过盾壁,但敌方无法通过。\n
"""
name = "圣光沁盾"
cellPos = (7,7)
learnLv = 30
masterLv = 60
maxLv = 70
@@ -587,9 +921,12 @@ class Skill26(ActiveSkill):
data1 = get_data(f'{prefix}/{uuid}', 1)
# 撞击攻击力 : {value2}
data2 = get_data(f'{prefix}/{uuid}', 2)
# [范围信息]
# 大小比率 : {value3}%
# 压制力 (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)
# 荣誉祝福
# priest_male/crusader_male/e4c354a89c337310aeb7041d5e742828
@@ -599,9 +936,10 @@ class Skill27(ActiveBufferSkill):
使一定范围内除自身以外的队友增加物理攻击力、 魔法攻击力、 独立攻击力、 力量、 智力和命中率; 增加自身基本攻击力和技能攻击力。\n
物理/魔法/独立攻击力和力量/智力的增加量,随施放者的体力或精神值提高而增加,以体力与精神二者中较高值为标准。\n
达到20级以上后,增加基本攻击力和技能攻击力效果保持不变。\n
效果不与光明骑士 (女) 的[勇气祝福]、 小魔女的[禁术吟咏]、 缪斯的[可爱节拍]、 协战师的[军械强化]效果叠加。
效果不与光明骑士 (女) 的[勇气祝福]、 小魔女的[禁术吟咏]、 缪斯的[可爱节拍]、 协战师的[军械强化]效果叠加。\n
"""
name = "荣誉祝福"
cellPos = (2,7)
learnLv = 30
masterLv = 40
maxLv = 50
@@ -646,13 +984,14 @@ class Skill28(PassiveSkill):
"""
使用神圣之力生成2个盾壁,抵挡远程攻击。\n
队友可以通过盾壁,但敌人无法通过。\n
盾壁生命值以[圣光沁盾]生命值的一定比例适用。
盾壁生命值以[圣光沁盾]生命值的一定比例适用。\n
"""
name = "双子沁盾"
cellPos = (8,7)
learnLv = 30
masterLv = 1
maxLv = 1
position = 7
position = 8
rangeLv = 1
uuid = "3fb8395ae3b81bd608e0c4223a8eb534"
hasVP = False
@@ -677,9 +1016,10 @@ class Skill28(PassiveSkill):
class Skill29(PassiveSkill):
"""
信仰虔诚的光明骑士意志更加坚强,不易被摧毁。\n
学习技能后, 增加基本攻击力、 转职技能攻击力和魔法暴击率。
学习技能后,增加基本攻击力、 转职技能攻击力和魔法暴击率。\n
"""
name = "坚定信念"
cellPos = (5,7)
learnLv = 30
masterLv = 10
maxLv = 20
@@ -703,9 +1043,10 @@ class Skill30(ActiveSkill):
向前方发射一个移动的光球。\n
光球消失时造成眩晕效果。\n
按前方向键时,可以在远处生成光球。\n
在决斗场中, 面向光球的敌人进入眩晕状态。
在决斗场中,面向光球的敌人进入眩晕状态。\n
"""
name = "圣光球"
cellPos = (7,8)
learnLv = 35
masterLv = 60
maxLv = 70
@@ -779,9 +1120,10 @@ class Skill31(PassiveSkill):
"""
生成光球向前方移动后爆炸。\n
球体爆炸时触发眩晕效果。\n
按前方向键, 可以在远处生成光球。
按前方向键,可以在远处生成光球。\n
"""
name = "圣光琉璃碎"
cellPos = (8,8)
learnLv = 35
masterLv = 1
maxLv = 1
@@ -810,9 +1152,10 @@ class Skill31(PassiveSkill):
class Skill32(ActiveSkill):
"""
用身体吸收神圣的洗礼光柱之后引发爆炸。\n
发生爆炸时, 吸附周围的敌人。
发生爆炸时,吸附周围的敌人。\n
"""
name = "圣光聚合"
cellPos = (5,8)
learnLv = 35
masterLv = 60
maxLv = 70
@@ -832,9 +1175,12 @@ class Skill32(ActiveSkill):
data1 = get_data(f'{prefix}/{uuid}', 1)
# 爆炸攻击力 : {value2}
data2 = get_data(f'{prefix}/{uuid}', 2)
# [范围信息]
# 光柱大小比率 : {value3}%
# 压制力 (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):
"""
@@ -874,9 +1220,10 @@ class Skill33(ActiveBufferSkill):
选择一定范围内的队员,赋予增加生命值恢复和死亡时复活的增益效果。\n
复活效果发动后,增益效果立即消失。\n
选择队员的状态下,按跳跃键可以立即取消技能。\n
仅在存在队员时可以使用, 决斗场中无法使用。
仅在存在队员时可以使用,决斗场中无法使用。\n
"""
name = "生命源泉"
cellPos = (0,9)
learnLv = 40
masterLv = 1
maxLv = 11
@@ -907,9 +1254,10 @@ class Skill34(ActiveSkill):
"""
向前方敌人挥动由神圣之力凝聚成的巨大锤子。 命中时,会有一定几率使敌人进入忏悔状态并攻击周围的同类。\n
对领主、 稀有、 深渊怪物和人类型怪物,会降低持续时间和忏悔几率。\n
决斗场中不适用忏悔效果。
决斗场中不适用忏悔效果。\n
"""
name = "忏悔之锤"
cellPos = (5,9)
learnLv = 40
masterLv = 60
maxLv = 70
@@ -967,9 +1315,10 @@ class Skill35(ActiveBufferSkill):
屏障的生命值为光明骑士生命值的一定比例。\n
队员离开技能范围或生命值耗尽时,屏障消失。\n
通过消耗品提升的生命值不会提升屏障效果。\n
施放过程中按跳跃键时, 可以中断技能。
施放过程中按跳跃键时,可以中断技能。\n
"""
name = "圣愈之风"
cellPos = (3,10)
learnLv = 45
masterLv = 1
maxLv = 11
@@ -983,7 +1332,7 @@ class Skill35(ActiveBufferSkill):
hasUP = True
custom = get_data(f'{prefix}/{uuid}', "custom") # noqa: E501
# 生命值和魔法值恢复时间 : {value0}秒 
# 生命值和魔法值恢复时间 : {value0}秒
data0 = get_data(f'{prefix}/{uuid}', 0)
# 生命值恢复量 : {value1}%
data1 = get_data(f'{prefix}/{uuid}', 1)
@@ -1005,9 +1354,10 @@ class Skill35(ActiveBufferSkill):
class Skill36(ActiveSkill):
"""
开启神圣魔法阵,使其从空中飞下光刃,最后出现正义天使投掷发光的长矛。\n
光刃飞下过程中按跳跃键, 可以立即出现正义天使。
光刃飞下过程中按跳跃键,可以立即出现正义天使。\n
"""
name = "正义审判"
cellPos = (6,10)
learnLv = 45
masterLv = 60
maxLv = 70
@@ -1068,9 +1418,10 @@ class Skill37(PassiveBufferSkill):
坚定的信仰,为天启者赋予信念的权威。\n
增加自身的基本攻击力与技能攻击力,并生成使一定范围内的队员,触发增加力量、 智力、 体力、 精神、 攻击速度、 移动速度、 施放速度和物理/魔法/独立攻击力增益效果的光环。\n
物理/魔法/独立攻击力的增加效果仅对除自身以外的队友生效。\n
学习[勇气恩赐]后, 不会发动光环效果。
学习[勇气恩赐]后,不会发动光环效果。\n
"""
name = "信念光环"
cellPos = (5,11)
learnLv = 48
masterLv = 40
maxLv = 50
@@ -1111,9 +1462,10 @@ class Skill38(ActiveBufferSkill):
力量/智力的增加量,随施放者的体力或精神值提高而增加,以体力与精神二者中较高值为标准。\n
力量、 智力提升效果对自身无效。\n
效果不与光明骑士 (女) 的[圣光天启]、 小魔女的[开幕! 人偶剧场]、 缪斯的[梦想的舞台]、 协战师的[强袭策略 : 区域肃清]的效果叠加。\n
学习[勇气恩赐]后, 天空中将不会降下充满神圣之力的光芒。
学习[勇气恩赐]后,天空中将不会降下充满神圣之力的光芒。\n
"""
name = "天启之光"
cellPos = (6,11)
learnLv = 50
masterLv = 40
maxLv = 50
@@ -1156,9 +1508,10 @@ class Skill38(ActiveBufferSkill):
# f6a4ad30555b99b499c07835f87ce522/56aa7844a2da23f5bea9b585aea5ae45
class Skill39(PassiveSkill):
"""
天启者的体力和精神补正为两者中数值较高的一方、 物理暴击率和魔法暴击率补正为两者中数值较高的一方。
天启者的体力和精神补正为两者中数值较高的一方、 物理暴击率和魔法暴击率补正为两者中数值较高的一方。\n
"""
name = "圣念"
cellPos = (0,11)
learnLv = 50
masterLv = 1
maxLv = 1
@@ -1169,15 +1522,17 @@ class Skill39(PassiveSkill):
hasUP = False
custom = get_data(f'{prefix}/{uuid}', "custom") # noqa: E501
# 1 99
# 圣光突袭
# priest_male/crusader_male/c47b66efd27845ef14954928ea2f95c8
# f6a4ad30555b99b499c07835f87ce522/c47b66efd27845ef14954928ea2f95c8
class Skill40(ActiveSkill):
"""
携神圣之力向前突进, 然后挥舞巨兵。
携神圣之力向前突进,然后挥舞巨兵。\n
"""
name = "圣光突袭"
cellPos = (7,12)
learnLv = 60
masterLv = 40
maxLv = 50
@@ -1239,9 +1594,10 @@ class Skill40(ActiveSkill):
class Skill41(ActiveSkill):
"""
生成远古神圣之矛并将其投掷出去。\n
投掷时击退近距离的敌人, 然后神圣之矛垂直下落, 引发爆炸。
投掷时击退近距离的敌人,然后神圣之矛垂直下落,引发爆炸。\n
"""
name = "神圣之矛"
cellPos = (6,13)
learnLv = 70
masterLv = 40
maxLv = 50
@@ -1306,9 +1662,10 @@ class Skill42(ActiveBufferSkill):
"""
生成圣佑结界。\n
结界闪烁引发爆炸后,使队员恢复生命值,并解除异常状态。\n
可以利用方向键调整魔法阵生成位置。
可以利用方向键调整魔法阵生成位置。\n
"""
name = "圣佑结界"
cellPos = (5,13)
learnLv = 75
masterLv = 40
maxLv = 50
@@ -1374,9 +1731,10 @@ class Skill43(ActiveBufferSkill):
选择一定范围内的队员,使其受到神圣之光的庇佑,减少所受伤害并引发爆炸。\n
增加队员以及光明骑士自身增益效果的持续时间。\n
[可增加持续时间的技能]\n
[守护徽章]、 [荣誉祝福]。
[守护徽章]、 [荣誉祝福]。\n
"""
name = "神圣之光"
cellPos = (4,13)
learnLv = 75
masterLv = 40
maxLv = 50
@@ -1455,9 +1813,10 @@ class Skill44(ActiveSkill):
- 变更为[雷霆粉碎]\n
[光之正义]\n
- 无法施放技能\n
- 施放[惩罚之锤]时自动施放
- 施放[惩罚之锤]时自动施放\n
"""
name = "惩罚之锤"
cellPos = (4,14)
learnLv = 80
masterLv = 40
maxLv = 50
@@ -1508,9 +1867,10 @@ class Skill45(ActiveBufferSkill):
[攻击时可积攒神圣之力的技能]\n
[纯白之刃]、 [胜利之矛]、 [圣光十字]、 [圣光沁盾]、 [圣光球]、 [圣光琉璃碎]、 [圣光聚合]、 [忏悔之锤]、 [正义审判]、 [圣光突袭]、 [神圣之矛]、 [圣佑结界]、 [惩罚之锤]\n
对队友使用[神圣之光]时,生成信仰效果,增加神圣之力持续时间。\n
每名队员最多生成1层信仰效果, 对自身使用时不生成。
每名队员最多生成1层信仰效果,对自身使用时不生成。\n
"""
name = "神圣洗礼 : 信仰之翼"
cellPos = (5,14)
learnLv = 85
masterLv = 40
maxLv = 50
@@ -1554,9 +1914,10 @@ class Skill45(ActiveBufferSkill):
class Skill46(ActiveSkill):
"""
神思者跳到空中,裁决地上的敌人。\n
在[神圣洗礼 : 信仰之翼]已激活的状态下使用技能, 则[神圣洗礼 : 信仰之翼]与[信仰之翼 : 裁决]技能一起结束。
在[神圣洗礼 : 信仰之翼]已激活的状态下使用技能,则[神圣洗礼 : 信仰之翼]与[信仰之翼 : 裁决]技能一起结束。\n
"""
name = "信仰之翼 : 裁决"
cellPos = (6,14)
learnLv = 85
masterLv = 1
maxLv = 1
@@ -1586,9 +1947,10 @@ class Skill47(ActiveSkill):
注入圣遗物的力量,在划出十字的瞬间,生成光之翼,将惩罚之锤强化为天怒之锤。\n
光启·光明骑士高高跃起,使用天怒之锤下劈,使地面裂开并产生冲击波,释放光芒后产生爆炸。\n
展开光之翼时,增加一定范围内队员的信仰效果时间。\n
按向前方向键, 可以增加跳跃距离。
按向前方向键,可以增加跳跃距离。\n
"""
name = "惩罚之锤 : 天怒"
cellPos = (7,15)
learnLv = 95
masterLv = 40
maxLv = 50
@@ -1624,9 +1986,10 @@ class Skill48(PassiveBufferSkill):
[圣光十字]\n
发射蕴含圣遗物之力的光杖并引爆。\n
增加光杖的大小和魔法阵范围,攻击敌人时生成的魔法阵也适用增益效果。\n
攻击失败时, 会在自身位置生成魔法阵。
攻击失败时,会在自身位置生成魔法阵。\n
"""
name = "神之代行者"
cellPos = (5,15)
learnLv = 95
masterLv = 40
maxLv = 50
@@ -1666,9 +2029,10 @@ class Skill49(ActiveBufferSkill):
- 赋予队友效果,持续一定时间。 (移动到其他房间时解除效果)\n
[三次觉醒技能]\n
使用三次觉醒技能时,与关联的技能共享冷却时间。\n
若关联的技能还在冷却中, 则无法使用三次觉醒技能。
若关联的技能还在冷却中,则无法使用三次觉醒技能。\n
"""
name = "生命礼赞 : 神威"
cellPos = (5,16)
learnLv = 100
masterLv = 40
maxLv = 50
@@ -31,10 +31,8 @@ class Skill0(ActiveSkill):
hasUP = False
# 浮空力比率 : {value0}%
# REMOVE: data0 = [0, 131.4, 132.9, 134, 135.4, 136.6, 138, 139.1, 140.6, 141.7, 143.1, 147.7, 152.3, 157.1, 162, 166.6, 171.4, 176.3, 180.9, 185.7, 190.6, 195.1, 200, 204.9, 209.4, 214.3, 219.1, 223.7, 228.6, 233.4, 238, 242.9, 247.7, 252.3, 257.1, 262, 266.6, 271.4, 276.3, 280.9, 285.7, 290.6, 295.1, 300, 304.9, 309.4, 314.3, 319.1, 323.7, 328.6, 333.4]# noqa: E501
data0 = get_data(f'{prefix}/{uuid}', 0)
# 攻击力 : {value1}%
# REMOVE: data1 = [0, 184, 214, 243, 272, 301, 331, 360, 389, 418, 448, 478, 507, 536, 565, 595, 624, 654, 682, 712, 741, 771, 800, 829, 859, 888, 918, 946, 976, 1005, 1035, 1063, 1093, 1123, 1152, 1182, 1210, 1240, 1269, 1299, 1329, 1357, 1387, 1416, 1446, 1474, 1504, 1533, 1563, 1592, 1621]# noqa: E501
data1 = get_data(f'{prefix}/{uuid}', 1)
# 虎袭
@@ -67,19 +65,14 @@ class Skill1(ActiveSkill):
hasUP = False
# 跑动中撞到敌人时攻击力 : {value0}%
# REMOVE: data0 = [0, 210, 232, 254, 274, 296, 317, 339, 361, 381, 403, 424, 447, 468, 489, 511, 532, 553, 574, 596, 618, 639, 660, 681, 703, 725, 745, 767, 788, 810, 830, 852, 874, 895, 917, 937, 959, 981, 1002, 1023, 1044, 1066, 1088, 1108, 1130, 1152, 1174, 1196, 1216, 1238, 1259, 1281, 1301, 1323, 1345, 1366, 1387, 1408, 1430, 1452, 1473, 1494, 1515, 1537, 1558, 1579, 1601, 1622, 1644, 1664, 1686]# noqa: E501
data0 = get_data(f'{prefix}/{uuid}', 0)
# 跑动中攻击次数 : {value1}次
# REMOVE: data1 = [0, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5]# noqa: E501
data1 = get_data(f'{prefix}/{uuid}', 1)
# 扔开抓住的敌人时攻击力 : {value2}%
# REMOVE: data2 = [0, 3289, 3624, 3954, 4289, 4624, 4959, 5289, 5624, 5953, 6294, 6624, 6959, 7288, 7629, 7959, 8294, 8623, 8959, 9294, 9629, 9958, 10294, 10629, 10964, 11293, 11629, 11958, 12299, 12628, 12963, 13293, 13634, 13963, 14298, 14628, 14963, 15298, 15633, 15963, 16298, 16628, 16968, 17298, 17633, 17963, 18303, 18633, 18968, 19298, 19633, 19968, 20303, 20633, 20968, 21303, 21638, 21967, 22303, 22638, 22973, 23308, 23638, 23973, 24308, 24643, 24973, 25308, 25637, 25978, 26308]# noqa: E501
data2 = get_data(f'{prefix}/{uuid}', 2)
# 间接攻击力 : {value3}%
# REMOVE: data3 = [0, 1648, 1807, 1977, 2148, 2312, 2477, 2647, 2812, 2983, 3142, 3312, 3483, 3647, 3818, 3977, 4147, 4318, 4483, 4647, 4812, 4982, 5153, 5312, 5482, 5653, 5818, 5982, 6147, 6318, 6488, 6647, 6818, 6982, 7153, 7323, 7482, 7653, 7817, 7988, 8153, 8317, 8488, 8658, 8817, 8988, 9153, 9323, 9488, 9653, 9823, 9988, 10152, 10323, 10488, 10658, 10817, 10988, 11158, 11323, 11493, 11652, 11823, 11993, 12158, 12323, 12493, 12658, 12828, 12987, 13158]# noqa: E501
data3 = get_data(f'{prefix}/{uuid}', 3)
# 追加操作后的攻击力增加率 : {value4}%
# REMOVE: data4 = [0, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24]# noqa: E501
data4 = get_data(f'{prefix}/{uuid}', 4)
# 神的恩赐
@@ -102,7 +95,6 @@ class Skill2(PassiveSkill):
hasUP = False
# 所有异常状态抗性增加 : {value0}%
# REMOVE: data0 = [0, 5]# noqa: E501
data0 = get_data(f'{prefix}/{uuid}', 0)
@@ -130,13 +122,10 @@ class Skill4(PassiveSkill):
hasUP = False
# 基本攻击力变化率 : {value0}%
# REMOVE: data0 = [0, 150, 158.7, 167.3, 176, 184.5, 193.2, 201.8, 210.5, 219.2, 227.7, 236.4, 245, 253.7, 262.2, 270.9, 284.3, 297.6, 311, 324.3, 337.7, 350.9, 364.2, 377.6, 390.9, 404.3, 417.6, 431, 444.3, 457.7, 471, 484.2, 497.6, 510.9, 524.3, 537.6, 551, 564.3, 577.7, 591, 604.4, 617.7, 630.9, 644.3, 657.6, 671, 684.3, 697.7, 711, 724.4, 737.7, 751.1, 764.3, 777.6, 791, 804.3, 817.7, 831, 844.4, 857.7, 871.1, 884.4, 897.8, 911, 924.3, 937.7, 951, 964.4, 977.7, 991.1, 1004.4, 1017.8, 1031.1, 1044.5, 1057.7, 1071, 1084.4, 1097.7, 1111.1, 1124.4, 1137.8, 1151.1, 1164.5, 1177.8, 1191, 1204.4, 1217.7, 1231.1, 1244.4, 1257.8, 1271.1, 1284.5, 1297.8, 1311.2, 1324.5, 1337.7, 1351.1, 1364.4, 1377.8, 1391.1, 1404.5, 1417.8, 1431.2, 1444.5, 1457.9, 1471.2, 1484.6, 1497.9, 1511.3, 1524.6, 1538, 1551.3, 1564.7, 1578, 1591.4, 1604.7, 1618.1, 1631.4, 1644.8, 1658.1, 1671.5, 1684.8, 1698.2, 1711.5, 1724.9, 1738.2, 1751.6, 1764.9, 1778.3, 1791.6, 1805, 1818.3, 1831.7, 1845, 1858.4, 1871.7, 1885.1, 1898.4, 1911.8, 1925.1, 1938.5, 1951.8, 1965.2, 1978.5, 1991.9, 2005.2, 2018.6, 2031.9, 2045.3, 2058.6, 2072, 2085.3, 2098.7, 2112, 2125.4, 2138.7, 2152.1, 2165.4, 2178.8, 2192.1, 2205.5, 2218.8, 2232.2, 2245.5, 2258.9, 2272.2, 2285.6, 2298.9, 2312.3, 2325.6, 2339, 2352.3, 2365.7, 2379, 2392.4, 2405.7, 2419.1, 2432.4, 2445.8, 2459.1, 2472.5, 2485.8, 2499.2, 2512.5, 2525.9, 2539.2, 2552.6, 2565.9, 2579.3, 2592.6, 2606, 2619.3, 2632.7, 2646, 2659.4, 2672.7, 2686.1, 2699.4, 2712.8, 2726.1, 2739.5]# noqa: E501
data0 = get_data(f'{prefix}/{uuid}', 0)
# 前冲攻击力变化率 : {value1}%
# REMOVE: data1 = [0, 150, 158.7, 167.3, 176, 184.5, 193.2, 201.8, 210.5, 219.2, 227.7, 236.4, 245, 253.7, 262.2, 270.9, 284.3, 297.6, 311, 324.3, 337.7, 350.9, 364.2, 377.6, 390.9, 404.3, 417.6, 431, 444.3, 457.7, 471, 484.2, 497.6, 510.9, 524.3, 537.6, 551, 564.3, 577.7, 591, 604.4, 617.7, 630.9, 644.3, 657.6, 671, 684.3, 697.7, 711, 724.4, 737.7, 751.1, 764.3, 777.6, 791, 804.3, 817.7, 831, 844.4, 857.7, 871.1, 884.4, 897.8, 911, 924.3, 937.7, 951, 964.4, 977.7, 991.1, 1004.4, 1017.8, 1031.1, 1044.5, 1057.7, 1071, 1084.4, 1097.7, 1111.1, 1124.4, 1137.8, 1151.1, 1164.5, 1177.8, 1191, 1204.4, 1217.7, 1231.1, 1244.4, 1257.8, 1271.1, 1284.5, 1297.8, 1311.2, 1324.5, 1337.7, 1351.1, 1364.4, 1377.8, 1391.1, 1404.5, 1417.8, 1431.2, 1444.5, 1457.9, 1471.2, 1484.6, 1497.9, 1511.3, 1524.6, 1538, 1551.3, 1564.7, 1578, 1591.4, 1604.7, 1618.1, 1631.4, 1644.8, 1658.1, 1671.5, 1684.8, 1698.2, 1711.5, 1724.9, 1738.2, 1751.6, 1764.9, 1778.3, 1791.6, 1805, 1818.3, 1831.7, 1845, 1858.4, 1871.7, 1885.1, 1898.4, 1911.8, 1925.1, 1938.5, 1951.8, 1965.2, 1978.5, 1991.9, 2005.2, 2018.6, 2031.9, 2045.3, 2058.6, 2072, 2085.3, 2098.7, 2112, 2125.4, 2138.7, 2152.1, 2165.4, 2178.8, 2192.1, 2205.5, 2218.8, 2232.2, 2245.5, 2258.9, 2272.2, 2285.6, 2298.9, 2312.3, 2325.6, 2339, 2352.3, 2365.7, 2379, 2392.4, 2405.7, 2419.1, 2432.4, 2445.8, 2459.1, 2472.5, 2485.8, 2499.2, 2512.5, 2525.9, 2539.2, 2552.6, 2565.9, 2579.3, 2592.6, 2606, 2619.3, 2632.7, 2646, 2659.4, 2672.7, 2686.1, 2699.4, 2712.8, 2726.1, 2739.5]# noqa: E501
data1 = get_data(f'{prefix}/{uuid}', 1)
# 跳跃攻击力变化率 : {value2}%
# REMOVE: data2 = [0, 150, 158.7, 167.3, 176, 184.5, 193.2, 201.8, 210.5, 219.2, 227.7, 236.4, 245, 253.7, 262.2, 270.9, 284.3, 297.6, 311, 324.3, 337.7, 350.9, 364.2, 377.6, 390.9, 404.3, 417.6, 431, 444.3, 457.7, 471, 484.2, 497.6, 510.9, 524.3, 537.6, 551, 564.3, 577.7, 591, 604.4, 617.7, 630.9, 644.3, 657.6, 671, 684.3, 697.7, 711, 724.4, 737.7, 751.1, 764.3, 777.6, 791, 804.3, 817.7, 831, 844.4, 857.7, 871.1, 884.4, 897.8, 911, 924.3, 937.7, 951, 964.4, 977.7, 991.1, 1004.4, 1017.8, 1031.1, 1044.5, 1057.7, 1071, 1084.4, 1097.7, 1111.1, 1124.4, 1137.8, 1151.1, 1164.5, 1177.8, 1191, 1204.4, 1217.7, 1231.1, 1244.4, 1257.8, 1271.1, 1284.5, 1297.8, 1311.2, 1324.5, 1337.7, 1351.1, 1364.4, 1377.8, 1391.1, 1404.5, 1417.8, 1431.2, 1444.5, 1457.9, 1471.2, 1484.6, 1497.9, 1511.3, 1524.6, 1538, 1551.3, 1564.7, 1578, 1591.4, 1604.7, 1618.1, 1631.4, 1644.8, 1658.1, 1671.5, 1684.8, 1698.2, 1711.5, 1724.9, 1738.2, 1751.6, 1764.9, 1778.3, 1791.6, 1805, 1818.3, 1831.7, 1845, 1858.4, 1871.7, 1885.1, 1898.4, 1911.8, 1925.1, 1938.5, 1951.8, 1965.2, 1978.5, 1991.9, 2005.2, 2018.6, 2031.9, 2045.3, 2058.6, 2072, 2085.3, 2098.7, 2112, 2125.4, 2138.7, 2152.1, 2165.4, 2178.8, 2192.1, 2205.5, 2218.8, 2232.2, 2245.5, 2258.9, 2272.2, 2285.6, 2298.9, 2312.3, 2325.6, 2339, 2352.3, 2365.7, 2379, 2392.4, 2405.7, 2419.1, 2432.4, 2445.8, 2459.1, 2472.5, 2485.8, 2499.2, 2512.5, 2525.9, 2539.2, 2552.6, 2565.9, 2579.3, 2592.6, 2606, 2619.3, 2632.7, 2646, 2659.4, 2672.7, 2686.1, 2699.4, 2712.8, 2726.1, 2739.5]# noqa: E501
data2 = get_data(f'{prefix}/{uuid}', 2)
associate = [
@@ -193,16 +182,12 @@ class Skill14(ActiveSkill):
hasUP = True
# 巨兵打击攻击力 : {value0}%
# REMOVE: data0 = [0, 1630, 1796, 1966, 2125, 2292, 2457, 2627, 2792, 2960, 3120, 3282, 3457, 3620, 3782, 3950, 4115, 4282, 4453, 4611, 4772, 4937, 5110, 5275, 5442, 5607, 5764, 5943, 6100, 6269, 6436, 6600, 6769, 6936, 7096, 7270, 7443, 7601, 7761, 7925, 8097, 8261, 8420, 8593, 8754, 8930, 9100, 9252, 9422, 9588, 9748, 9919, 10084, 10255, 10415, 10584, 10751, 10913, 11073, 11244, 11409, 11577, 11742, 11905, 12069, 12242, 12398, 12569, 12734, 12905, 13067]# noqa: E501
data0 = get_data(f'{prefix}/{uuid}', 0)
# 冲击波范围 : {value1}px
# REMOVE: data1 = [0, 125, 128, 130, 133, 136, 138, 141, 143, 146, 149, 151, 154, 156, 159, 161, 164, 167, 169, 172, 174, 177, 180, 182, 185, 187, 190, 192, 195, 198, 200, 203, 205, 208, 211, 213, 216, 218, 221, 224, 226, 229, 231, 234, 236, 239, 242, 244, 247, 249, 252, 255, 257, 260, 262, 265, 267, 270, 273, 275, 278, 280, 283, 286, 288, 291, 293, 296, 298, 301, 304]# noqa: E501
data1 = get_data(f'{prefix}/{uuid}', 1)
# 冲击波攻击力 : {value2}%
# REMOVE: data2 = [0, 6522, 7185, 7846, 8506, 9175, 9833, 10496, 11164, 11823, 12483, 13144, 13805, 14470, 15131, 15798, 16457, 17122, 17779, 18442, 19107, 19764, 20436, 21090, 21756, 22410, 23070, 23741, 24397, 25064, 25722, 26389, 27048, 27715, 28376, 29038, 29702, 30363, 31024, 31689, 32343, 33014, 33668, 34340, 34997, 35660, 36321, 36981, 37652, 38311, 38972, 39632, 40289, 40959, 41613, 42284, 42940, 43606, 44270, 44928, 45593, 46257, 46922, 47584, 48241, 48909, 49565, 50233, 50887, 51560, 52217]# noqa: E501
data2 = get_data(f'{prefix}/{uuid}', 2)
# 转职成为驱魔师时, 冲击波范围增加率 : {value3}%
# REMOVE: data3 = [0, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20]# noqa: E501
data3 = get_data(f'{prefix}/{uuid}', 3)
# 纯白之刃
@@ -227,14 +212,11 @@ class Skill15(ActiveSkill):
hasUP = True
# 发动速度增加率 : {value0}%
# REMOVE: data0 = [0, 0, 3, 4, 7, 8, 11, 12, 15, 18, 19, 22, 23, 26, 28, 30, 32, 34, 36, 38, 41, 43, 45, 47, 49, 51, 53, 55, 58, 59, 62, 63, 66, 69, 70, 73, 74, 77, 78, 81, 84, 85, 88, 89, 92, 93, 96, 99, 100, 103, 104, 107, 108, 111, 113, 115, 117, 119, 122, 124, 126, 128, 130, 132, 134, 136, 139, 140, 143, 144, 147]# noqa: E501
data0 = get_data(f'{prefix}/{uuid}', 0)
# 刀刃攻击力 : {value1}
# REMOVE: data1 = [0, 3723, 4099, 4479, 4851, 5234, 5609, 5987, 6362, 6745, 7120, 7496, 7873, 8254, 8629, 9009, 9385, 9765, 10138, 10518, 10893, 11274, 11651, 12029, 12403, 12785, 13160, 13538, 13914, 14296, 14671, 15048, 15425, 15804, 16181, 16560, 16937, 17316, 17689, 18070, 18445, 18825, 19203, 19581, 19954, 20337, 20712, 21090, 21465, 21848, 22223, 22601, 22976, 23356, 23732, 24112, 24487, 24867, 25241, 25620, 25997, 26376, 26754, 27132, 27508, 27890, 28264, 28641, 29017, 29398, 29775]# noqa: E501
data1 = get_data(f'{prefix}/{uuid}', 1)
hit1 = 1
# 敌人僵直时间比率 : {value2}%
# REMOVE: data2 = [0, 244, 269, 294, 319, 343, 367, 393, 417, 443, 467, 491, 517, 541, 566, 591, 616, 640, 666, 690, 716, 740, 764, 788, 814, 838, 864, 888, 913, 938, 963, 987, 1013, 1037, 1061, 1087, 1111, 1137, 1161, 1185, 1210, 1235, 1260, 1285, 1310, 1334, 1359, 1384, 1408, 1434, 1458, 1482, 1508, 1532, 1558, 1582, 1607, 1631, 1656, 1681, 1706, 1731, 1755, 1781, 1805, 1829, 1855, 1879, 1904, 1929, 1953]# noqa: E501
data2 = get_data(f'{prefix}/{uuid}', 2)
# 勇气恩赐
@@ -281,7 +263,6 @@ class Skill16(PassiveSkill):
hasUP = False
# 基本攻击力和技能攻击力增加率 : {value0}%
# REMOVE: data0 = [0, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 42, 44, 46, 48, 50, 52, 54, 56, 58, 60]# noqa: E501
data0 = get_data(f'{prefix}/{uuid}', 0)
associate = [{'data': data0}]
@@ -312,42 +293,31 @@ class Skill18(ActiveSkill):
hasUP = True
# 持续时间 : {value0}秒
# REMOVE: data0 = [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]# noqa: E501
data0 = get_data(f'{prefix}/{uuid}', 0)
# 闪电攻击力 : {value1}
# REMOVE: data1 = [0, 207, 207, 207, 207, 207, 207, 207, 207, 207, 207, 207]# noqa: E501
data1 = get_data(f'{prefix}/{uuid}', 1)
hit1 = 1
# [攻击时信息]
# 闪电触发几率 : {value2}%
# REMOVE: data2 = [0, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100]# noqa: E501
data2 = get_data(f'{prefix}/{uuid}', 2)
# 闪电冷却时间 : {value3}秒
# REMOVE: data3 = [0, 0.2, 0.2, 0.2, 0.2, 0.2, 0.2, 0.2, 0.2, 0.2, 0.2, 0.2]# noqa: E501
data3 = get_data(f'{prefix}/{uuid}', 3)
# [被击时信息]
# 受魔法伤害时闪电触发几率 : {value4}%
# REMOVE: data4 = [0, 80, 80, 80, 80, 80, 80, 80, 80, 80, 80, 80]# noqa: E501
data4 = get_data(f'{prefix}/{uuid}', 4)
# 受物理伤害时闪电触发几率 : {value5}%
# REMOVE: data5 = [0, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42]# noqa: E501
data5 = get_data(f'{prefix}/{uuid}', 5)
# 闪电冷却时间 : {value6}秒
# REMOVE: data6 = [0, 0.25, 0.25, 0.25, 0.25, 0.25, 0.25, 0.25, 0.25, 0.25, 0.25, 0.25]# noqa: E501
data6 = get_data(f'{prefix}/{uuid}', 6)
# [被击时的感电效果]
# 感电攻击力 : {value7}
# REMOVE: data7 = [0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]# noqa: E501
data7 = get_data(f'{prefix}/{uuid}', 7)
# 感电几率 : {value8}%
# REMOVE: data8 = [0, 10, 10.7, 11.4, 12.1, 12.8, 13.4, 14.1, 14.8, 15.5, 16.2, 16.9]# noqa: E501
data8 = get_data(f'{prefix}/{uuid}', 8)
# 感电持续时间 : {value9}秒
# REMOVE: data9 = [0, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5]# noqa: E501
data9 = get_data(f'{prefix}/{uuid}', 9)
# [范围信息]
# 闪电大小比率 : {value10}%
# REMOVE: data10 = [0, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100]# noqa: E501
data10 = get_data(f'{prefix}/{uuid}', 10)
def getSkillCD(self, mode=None) -> float:
@@ -376,23 +346,17 @@ class Skill19(PassiveSkill):
hasUP = False
# 移动速度增加 : {value0}%
# REMOVE: data0 = [0, 20, 21, 22, 23, 24, 25]# noqa: E501
data0 = get_data(f'{prefix}/{uuid}', 0)
# 施放速度增加 : {value1}%
# REMOVE: data1 = [0, 25, 26, 27, 28, 29, 30]# noqa: E501
data1 = get_data(f'{prefix}/{uuid}', 1)
# 基本攻击力和技能攻击力增加率 : {value2}%
# REMOVE: data2 = [0, 5, 5, 5, 5, 5, 5]# noqa: E501
data2 = get_data(f'{prefix}/{uuid}', 2)
# [死亡时附加效果]
# 队员恢复效果适用范围 : {value3}px
# REMOVE: data3 = [0, 1600, 1600, 1600, 1600, 1600, 1600]# noqa: E501
data3 = get_data(f'{prefix}/{uuid}', 3)
# 队员生命值恢复量 : {value4}%
# REMOVE: data4 = [0, 10, 11, 12, 13, 14, 15]# noqa: E501
data4 = get_data(f'{prefix}/{uuid}', 4)
# 队员魔法值恢复量 : {value5}%
# REMOVE: data5 = [0, 10, 11, 12, 13, 14, 15]# noqa: E501
data5 = get_data(f'{prefix}/{uuid}', 5)
associate = [{'data': data2}]
@@ -421,29 +385,21 @@ class Skill20(PassiveSkill):
hasUP = True
# 蓄气时间上限 : {value0}秒
# REMOVE: data0 = [0, 0.3, 0.3, 0.3, 0.3, 0.3, 0.3, 0.3, 0.3, 0.3, 0.3, 0.3, 0.3, 0.3, 0.3, 0.3, 0.3, 0.3, 0.3, 0.3, 0.3, 0.3, 0.3, 0.3, 0.3, 0.3, 0.3, 0.3, 0.3, 0.3, 0.3, 0.3, 0.3, 0.3, 0.3, 0.3, 0.3, 0.3, 0.3, 0.3, 0.3, 0.3, 0.3, 0.3, 0.3, 0.3, 0.3, 0.3, 0.3, 0.3, 0.3, 0.3, 0.3, 0.3, 0.3, 0.3, 0.3, 0.3, 0.3, 0.3, 0.3, 0.3, 0.3, 0.3, 0.3, 0.3, 0.3, 0.3, 0.3, 0.3, 0.3]# noqa: E501
data0 = get_data(f'{prefix}/{uuid}', 0)
# 穿刺攻击力 : {value1}
# REMOVE: data1 = [0, 3121, 3121, 3121, 3121, 3121, 3121, 3121, 3121, 3121, 3121, 3121, 3121, 3121, 3121, 3121, 3121, 3121, 3121, 3121, 3121, 3121, 3121, 3121, 3121, 3121, 3121, 3121, 3121, 3121, 3121, 3121, 3121, 3121, 3121, 3121, 3121, 3121, 3121, 3121, 3121, 3121, 3121, 3121, 3121, 3121, 3121, 3121, 3121, 3121, 3121, 3121, 3121, 3121, 3121, 3121, 3121, 3121, 3121, 3121, 3121, 3121, 3121, 3121, 3121, 3121, 3121, 3121, 3121, 3121, 3121]# noqa: E501
data1 = get_data(f'{prefix}/{uuid}', 1)
# 最大蓄气时攻击力 : {value2}
# REMOVE: data2 = [0, 4161, 4161, 4161, 4161, 4161, 4161, 4161, 4161, 4161, 4161, 4161, 4161, 4161, 4161, 4161, 4161, 4161, 4161, 4161, 4161, 4161, 4161, 4161, 4161, 4161, 4161, 4161, 4161, 4161, 4161, 4161, 4161, 4161, 4161, 4161, 4161, 4161, 4161, 4161, 4161, 4161, 4161, 4161, 4161, 4161, 4161, 4161, 4161, 4161, 4161, 4161, 4161, 4161, 4161, 4161, 4161, 4161, 4161, 4161, 4161, 4161, 4161, 4161, 4161, 4161, 4161, 4161, 4161, 4161, 4161]# noqa: E501
data2 = get_data(f'{prefix}/{uuid}', 2)
hit2 = 1
# 穿刺敌人数量上限 : {value3}
# REMOVE: data3 = [0, 6032, 6032, 6032, 6032, 6032, 6032, 6032, 6032, 6032, 6032, 6032, 6032, 6032, 6032, 6032, 6032, 6032, 6032, 6032, 6032, 6032, 6032, 6032, 6032, 6032, 6032, 6032, 6032, 6032, 6032, 6032, 6032, 6032, 6032, 6032, 6032, 6032, 6032, 6032, 6032, 6032, 6032, 6032, 6032, 6032, 6032, 6032, 6032, 6032, 6032, 6032, 6032, 6032, 6032, 6032, 6032, 6032, 6032, 6032, 6032, 6032, 6032, 6032, 6032, 6032, 6032, 6032, 6032, 6032, 6032]# noqa: E501
data3 = get_data(f'{prefix}/{uuid}', 3)
# 最大蓄气时穿刺数量上限 : {value4}
# REMOVE: data4 = [0, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10]# noqa: E501
data4 = get_data(f'{prefix}/{uuid}', 4)
# 压制力 (4人队伍) : {value5}秒 ({value6}秒)
# REMOVE: data5 = [0, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16]# noqa: E501
data5 = get_data(f'{prefix}/{uuid}', 5)
# REMOVE: data6 = [0, 2.5, 2.5, 2.5, 2.5, 2.5, 2.5, 2.5, 2.5, 2.5, 2.5, 2.5, 2.5, 2.5, 2.5, 2.5, 2.5, 2.5, 2.5, 2.5, 2.5, 2.5, 2.5, 2.5, 2.5, 2.5, 2.5, 2.5, 2.5, 2.5, 2.5, 2.5, 2.5, 2.5, 2.5, 2.5, 2.5, 2.5, 2.5, 2.5, 2.5, 2.5, 2.5, 2.5, 2.5, 2.5, 2.5, 2.5, 2.5, 2.5, 2.5, 2.5, 2.5, 2.5, 2.5, 2.5, 2.5, 2.5, 2.5, 2.5, 2.5, 2.5, 2.5, 2.5, 2.5, 2.5, 2.5, 2.5, 2.5, 2.5, 2.5]# noqa: E501
data6 = get_data(f'{prefix}/{uuid}', 6)
# [范围信息]
# 大小比率 : {value7}%
# REMOVE: data7 = [0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]# noqa: E501
data7 = get_data(f'{prefix}/{uuid}', 7)
@@ -473,42 +429,30 @@ class Skill22(ActiveSkill):
hasUP = False
# 持续时间 : {value0}秒
# REMOVE: data0 = [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]# noqa: E501
data0 = get_data(f'{prefix}/{uuid}', 0)
# 基本攻击力和技能攻击力增加率 : {value1}%
# REMOVE: data1 = [0, 2, 4, 6, 8, 10, 12, 14, 16, 18, 20, 22, 24, 26, 28, 30, 32, 34, 36, 38, 40, 42, 44, 46, 48, 50, 52, 54, 56, 58, 60]# noqa: E501
data1 = get_data(f'{prefix}/{uuid}', 1)
# 攻击速度增加 : {value2}%
# REMOVE: data2 = [0, 5.3, 5.6, 5.9, 6.2, 6.5, 6.8, 7.1, 7.4, 7.7, 8, 8.3, 8.6, 8.9, 9.2, 9.5, 9.8, 10.1, 10.4, 10.7, 11, 11.3, 11.6, 11.9, 12.2, 12.5, 12.8, 13.1, 13.4, 13.7, 14]# noqa: E501
data2 = get_data(f'{prefix}/{uuid}', 2)
# 移动速度增加 : {value3}%
# REMOVE: data3 = [0, 16.6, 16.9, 17.2, 17.5, 17.8, 18.1, 18.4, 18.7, 19, 19.3, 19.6, 19.9, 20.2, 20.5, 20.8, 21.1, 21.4, 21.7, 22, 22.3, 22.6, 22.9, 23.2, 23.5, 23.8, 24.1, 24.4, 24.7, 25, 25.3]# noqa: E501
data3 = get_data(f'{prefix}/{uuid}', 3)
# 施放速度增加 : {value4}%
# REMOVE: data4 = [0, 18.3, 18.6, 18.9, 19.2, 19.5, 19.8, 20.1, 20.4, 20.7, 21, 21.3, 21.6, 21.9, 22.2, 22.5, 22.8, 23.1, 23.4, 23.7, 24, 24.3, 24.6, 24.9, 25.2, 25.5, 25.8, 26.1, 26.4, 26.7, 27]# noqa: E501
data4 = get_data(f'{prefix}/{uuid}', 4)
# 命中率增加 : {value5}%
# REMOVE: data5 = [0, 0.5, 0.8, 1.1, 1.4, 1.7, 2, 2.3, 2.6, 2.9, 3.2, 3.5, 3.8, 4.1, 4.4, 4.7, 5, 5.3, 5.6, 5.9, 6.2, 6.5, 6.8, 7.1, 7.4, 7.7, 8, 8.3, 8.6, 8.9, 9.2]# noqa: E501
data5 = get_data(f'{prefix}/{uuid}', 5)
# [技能附加信息]
# 基本攻击第3击冲击波攻击力 : {value6}
# REMOVE: data6 = [0, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256]# noqa: E501
data6 = get_data(f'{prefix}/{uuid}', 6)
# [空斩打]冲击波攻击力 : {value7}
# REMOVE: data7 = [0, 363, 363, 363, 363, 363, 363, 363, 363, 363, 363, 363, 363, 363, 363, 363, 363, 363, 363, 363, 363, 363, 363, 363, 363, 363, 363, 363, 363, 363, 363]# noqa: E501
data7 = get_data(f'{prefix}/{uuid}', 7)
# [落凤锤]冲击波攻击力 : {value8}
# REMOVE: data8 = [0, 2942, 2942, 2942, 2942, 2942, 2942, 2942, 2942, 2942, 2942, 2942, 2942, 2942, 2942, 2942, 2942, 2942, 2942, 2942, 2942, 2942, 2942, 2942, 2942, 2942, 2942, 2942, 2942, 2942, 2942]# noqa: E501
data8 = get_data(f'{prefix}/{uuid}', 8)
# [范围信息]
# 基本攻击第3击冲击波大小增加率 : {value9}%
# REMOVE: data9 = [0, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179]# noqa: E501
data9 = get_data(f'{prefix}/{uuid}', 9)
# [空斩打]冲击波大小增加率 : {value10}%
# REMOVE: data10 = [0, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179]# noqa: E501
data10 = get_data(f'{prefix}/{uuid}', 10)
# [落凤锤]冲击波大小增加率 : {value11}%
# REMOVE: data11 = [0, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179]# noqa: E501
data11 = get_data(f'{prefix}/{uuid}', 11)
# 圣光十字
@@ -537,35 +481,26 @@ class Skill26(ActiveSkill):
hasUP = True
# 光杖攻击力 : {value0}
# REMOVE: data0 = [0, 5250, 6125, 7000, 7875, 8750, 9625, 10500, 11375, 12250, 13125, 14000, 14875, 15750, 16625, 17500, 18375, 19250, 20125, 21000, 21875, 22750, 23625, 24500, 25375, 26250, 27125, 28000, 28875, 29750, 30625, 31500, 33250, 35000, 36750, 38500, 40250, 42000, 43750, 45500, 47250, 49000, 50750, 52500, 54250, 56000, 57750, 59500, 61250, 63000, 64750, 66500, 68250, 70000, 71750, 73500, 75250, 77000, 78750, 80500, 82250, 84000, 85750, 87500, 89250, 91000, 92750, 94500, 96250, 98000, 99750]# noqa: E501
data0 = get_data(f'{prefix}/{uuid}', 0)
hit0 = 1
# 光杖爆炸攻击力 : {value1}
# REMOVE: data1 = [0, 6958, 8118, 9278, 10437, 11597, 12757, 13916, 15076, 16236, 17395, 18555, 19715, 20874, 22034, 23194, 24353, 25513, 26673, 27832, 28992, 30152, 31311, 32471, 33631, 34790, 35950, 37110, 38269, 39429, 40589, 41748, 44068, 46387, 48706, 51026, 53345, 55664, 57984, 60303, 62622, 64942, 67261, 69580, 71900, 74219, 76538, 78858, 81177, 83496, 85816, 88135, 90454, 92774, 95093, 97412, 99732, 102051, 104370, 106690, 109009, 111328, 113648, 115967, 118286, 120606, 122925, 125244, 127564, 129883, 132202]# noqa: E501
data1 = get_data(f'{prefix}/{uuid}', 1)
hit1 = 1
# [增益效果]
# 持续时间 : {value2}秒
# REMOVE: data2 = [0, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15]# noqa: E501
data2 = get_data(f'{prefix}/{uuid}', 2)
# 攻击/移动/施放速度增加 : {value3}%
# REMOVE: data3 = [0, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5]# noqa: E501
data3 = get_data(f'{prefix}/{uuid}', 3)
# [学习守护恩赐后增益效果信息]
# 持续时间 : {value4}秒
# REMOVE: data4 = [0, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15]# noqa: E501
data4 = get_data(f'{prefix}/{uuid}', 4)
# 攻击/移动/施放速度增加 : {value5}%
# REMOVE: data5 = [0, 1.5, 1.7, 2, 2.2, 2.5, 2.7, 3, 3.2, 3.5, 3.7, 4, 4.2, 4.5, 4.7, 5, 5.2, 5.5, 5.7, 6, 6.2, 6.5, 6.7, 7, 7.2, 7.5, 7.7, 8, 8.2, 8.5, 8.7, 9, 9.5, 10, 10.5, 11, 11.5, 12, 12.5, 13, 13.5, 14, 14.5, 15, 15.5, 16, 16.5, 17, 17.5, 18, 18.5, 19, 19.5, 20, 20.5, 21, 21.5, 22, 22.5, 23, 23.5, 24, 24.5, 25, 25.5, 26, 26.5, 27, 27.5, 28, 28.5]# noqa: E501
data5 = get_data(f'{prefix}/{uuid}', 5)
# 压制力 (4人队伍) : {value6}秒 ({value7}秒)
# REMOVE: data6 = [0, 0.8, 0.8, 0.8, 0.8, 0.8, 0.8, 0.8, 0.8, 0.8, 0.8, 0.8, 0.8, 0.8, 0.8, 0.8, 0.8, 0.8, 0.8, 0.8, 0.8, 0.8, 0.8, 0.8, 0.8, 0.8, 0.8, 0.8, 0.8, 0.8, 0.8, 0.8, 0.8, 0.8, 0.8, 0.8, 0.8, 0.8, 0.8, 0.8, 0.8, 0.8, 0.8, 0.8, 0.8, 0.8, 0.8, 0.8, 0.8, 0.8, 0.8, 0.8, 0.8, 0.8, 0.8, 0.8, 0.8, 0.8, 0.8, 0.8, 0.8, 0.8, 0.8, 0.8, 0.8, 0.8, 0.8, 0.8, 0.8, 0.8, 0.8]# noqa: E501
data6 = get_data(f'{prefix}/{uuid}', 6)
# REMOVE: data7 = [0, 0.2, 0.2, 0.2, 0.2, 0.2, 0.2, 0.2, 0.2, 0.2, 0.2, 0.2, 0.2, 0.2, 0.2, 0.2, 0.2, 0.2, 0.2, 0.2, 0.2, 0.2, 0.2, 0.2, 0.2, 0.2, 0.2, 0.2, 0.2, 0.2, 0.2, 0.2, 0.2, 0.2, 0.2, 0.2, 0.2, 0.2, 0.2, 0.2, 0.2, 0.2, 0.2, 0.2, 0.2, 0.2, 0.2, 0.2, 0.2, 0.2, 0.2, 0.2, 0.2, 0.2, 0.2, 0.2, 0.2, 0.2, 0.2, 0.2, 0.2, 0.2, 0.2, 0.2, 0.2, 0.2, 0.2, 0.2, 0.2, 0.2, 0.2]# noqa: E501
data7 = get_data(f'{prefix}/{uuid}', 7)
# [范围信息]
# 光杖和魔法阵大小比率 : {value8}%
# REMOVE: data8 = [0, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100]# noqa: E501
data8 = get_data(f'{prefix}/{uuid}', 8)
# 圣光沁盾
@@ -592,23 +527,17 @@ class Skill27(ActiveSkill):
hasUP = True
# 盾壁的生命值 : {value0}
# REMOVE: data0 = [0, 3240, 3769, 4350, 4988, 5681, 6436, 7251, 8133, 9080, 10098, 11188, 12349, 13588, 14909, 16308, 17791, 19360, 21019, 22768, 24611, 26551, 28586, 30721, 32961, 35304, 37759, 40321, 42995, 45783, 48691, 51717, 54864, 58138, 61537, 65066, 68724, 72519, 76449, 80519, 84730, 89082, 93582, 98231, 103029, 107979, 113086, 118351, 123775, 129365, 135119, 141035, 147116, 153369, 159790, 166386, 173155, 180105, 187235, 194548, 202047, 167108, 170349, 173589, 176827, 180067, 183308, 186548, 189788, 193028, 196268]# noqa: E501
data0 = get_data(f'{prefix}/{uuid}', 0)
# 盾壁持续时间 : {value1}秒
# REMOVE: data1 = [0, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5]# noqa: E501
data1 = get_data(f'{prefix}/{uuid}', 1)
# 撞击攻击力 : {value2}
# REMOVE: data2 = [0, 14498, 16866, 19465, 22320, 25421, 28800, 32446, 36393, 40631, 45186, 50063, 55258, 60803, 66714, 72974, 79610, 86631, 94054, 101880, 110127, 118808, 127914, 137467, 147491, 157975, 168960, 180425, 192390, 204865, 217878, 231418, 245500, 260150, 275360, 291151, 307519, 324501, 342086, 360298, 379141, 398615, 418751, 439554, 461023, 483173, 506025, 529585, 553855, 578869, 604616, 631089, 658299, 686279, 715011, 744526, 774816, 805915, 837819, 870543, 904098, 747757, 762260, 776758, 791247, 805745, 820247, 834745, 849243, 863741, 878239]# noqa: E501
data2 = get_data(f'{prefix}/{uuid}', 2)
hit2 = 1
# 压制力 (4人队伍) : {value3}秒 ({value4}秒)
# REMOVE: data3 = [0, 0.8, 0.8, 0.8, 0.8, 0.8, 0.8, 0.8, 0.8, 0.8, 0.8, 0.8, 0.8, 0.8, 0.8, 0.8, 0.8, 0.8, 0.8, 0.8, 0.8, 0.8, 0.8, 0.8, 0.8, 0.8, 0.8, 0.8, 0.8, 0.8, 0.8, 0.8, 0.8, 0.8, 0.8, 0.8, 0.8, 0.8, 0.8, 0.8, 0.8, 0.8, 0.8, 0.8, 0.8, 0.8, 0.8, 0.8, 0.8, 0.8, 0.8, 0.8, 0.8, 0.8, 0.8, 0.8, 0.8, 0.8, 0.8, 0.8, 0.8, 0.8, 0.8, 0.8, 0.8, 0.8, 0.8, 0.8, 0.8, 0.8, 0.8]# noqa: E501
data3 = get_data(f'{prefix}/{uuid}', 3)
# REMOVE: data4 = [0, 0.2, 0.2, 0.2, 0.2, 0.2, 0.2, 0.2, 0.2, 0.2, 0.2, 0.2, 0.2, 0.2, 0.2, 0.2, 0.2, 0.2, 0.2, 0.2, 0.2, 0.2, 0.2, 0.2, 0.2, 0.2, 0.2, 0.2, 0.2, 0.2, 0.2, 0.2, 0.2, 0.2, 0.2, 0.2, 0.2, 0.2, 0.2, 0.2, 0.2, 0.2, 0.2, 0.2, 0.2, 0.2, 0.2, 0.2, 0.2, 0.2, 0.2, 0.2, 0.2, 0.2, 0.2, 0.2, 0.2, 0.2, 0.2, 0.2, 0.2, 0.2, 0.2, 0.2, 0.2, 0.2, 0.2, 0.2, 0.2, 0.2, 0.2]# noqa: E501
data4 = get_data(f'{prefix}/{uuid}', 4)
# [范围信息]
# 大小比率 : {value5}%
# REMOVE: data5 = [0, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100]# noqa: E501
data5 = get_data(f'{prefix}/{uuid}', 5)
# 双子沁盾
@@ -635,20 +564,15 @@ class Skill29(PassiveSkill):
hasUP = False
# 盾壁的生命值 : [圣光沁盾]的{value0}%
# REMOVE: data0 = [0, 120, 120, 120, 120, 120, 120, 120, 120, 120, 120, 120, 120, 120, 120, 120, 120, 120, 120, 120, 120, 120, 120, 120, 120, 120, 120, 120, 120, 120, 120, 120, 120, 120, 120, 120, 120, 120, 120, 120, 120, 120, 120, 120, 120, 120, 120, 120, 120, 120, 120, 120, 120, 120, 120, 120, 120, 120, 120, 120, 120, 120, 120, 120, 120, 120, 120, 120, 120, 120, 120]# noqa: E501
data0 = get_data(f'{prefix}/{uuid}', 0)
# 盾壁持续时间 : {value1}秒
# REMOVE: data1 = [0, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5]# noqa: E501
data1 = get_data(f'{prefix}/{uuid}', 1)
# 撞击攻击力 : {value2}%
# REMOVE: data2 = [0, 14498, 16865, 19465, 22320, 25421, 28799, 32446, 36393, 40630, 45185, 50063, 55258, 60802, 66713, 72973, 79609, 86630, 94054, 101880, 110127, 118808, 127914, 137467, 147490, 157975, 168960, 180424, 192389, 204865, 217877, 231418, 245499, 260150, 275359, 291150, 307519, 324500, 342086, 360298, 379141, 398614, 418751, 439553, 461023, 483173, 506025, 529584, 553855, 578868, 604616, 631088, 658299, 686279, 715011, 744526, 774815, 805914, 837819, 870542, 904098, 747757, 762259, 776757, 791246, 805744, 820247, 834745, 849243, 863741, 878239]# noqa: E501
data2 = get_data(f'{prefix}/{uuid}', 2)
# 爆炸攻击力 : {value3}%
# REMOVE: data3 = [0, 14498, 16865, 19465, 22320, 25421, 28799, 32446, 36393, 40630, 45185, 50063, 55258, 60802, 66713, 72973, 79609, 86630, 94054, 101880, 110127, 118808, 127914, 137467, 147490, 157975, 168960, 180424, 192389, 204865, 217877, 231418, 245499, 260150, 275359, 291150, 307519, 324500, 342086, 360298, 379141, 398614, 418751, 439553, 461023, 483173, 506025, 529584, 553855, 578868, 604616, 631088, 658299, 686279, 715011, 744526, 774815, 805914, 837819, 870542, 904098, 747757, 762259, 776757, 791246, 805744, 820247, 834745, 849243, 863741, 878239]# noqa: E501
data3 = get_data(f'{prefix}/{uuid}', 3)
# [范围信息]
# 大小比率 : {value4}%
# REMOVE: data4 = [0, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100]# noqa: E501
data4 = get_data(f'{prefix}/{uuid}', 4)
# 坚定信念
@@ -673,10 +597,8 @@ class Skill30(PassiveSkill):
hasUP = False
# 基本攻击力和转职技能攻击力增加率 : {value0}%
# REMOVE: data0 = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11.5, 13, 14.5, 16, 17.5, 19, 20.5, 22, 23.5, 25]# noqa: E501
data0 = get_data(f'{prefix}/{uuid}', 0)
# 魔法暴击率增加 : {value1}%
# REMOVE: data1 = [0, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40]# noqa: E501
data1 = get_data(f'{prefix}/{uuid}', 1)
associate = [{'data': data0}]
@@ -711,21 +633,16 @@ class Skill31(ActiveSkill):
vps = get_data(f'{prefix}/{uuid}', "vps") # noqa: E501
# 球体攻击力 : {value0}
# REMOVE: data0 = [0, 1832, 2017, 2205, 2388, 2577, 2760, 2948, 3132, 3320, 3506, 3692, 3878, 4065, 4247, 4435, 4624, 4806, 4993, 5179, 5365, 5551, 5737, 5922, 6108, 6294, 6482, 6666, 6854, 7039, 7224, 7409, 7598, 7780, 7967, 8154, 8339, 8526, 8711, 8898, 9082, 9269, 9456, 9641, 9828, 10015, 10200, 10385, 10572, 10759, 10943, 11130, 11318, 11500, 11687, 11872, 12059, 12243, 12432, 12615, 12803, 12989, 13175, 13359, 13547, 13733, 13919, 14104, 14292, 14476, 14661]# noqa: E501
data0 = get_data(f'{prefix}/{uuid}', 0)
hit0 = 15
# 球体多段攻击次数 : {value1}次
# REMOVE: data1 = [0, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15]# noqa: E501
data1 = get_data(f'{prefix}/{uuid}', 1)
# 眩晕持续时间 : {value2}秒
# REMOVE: data2 = [0, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6]# noqa: E501
data2 = get_data(f'{prefix}/{uuid}', 2)
# [范围信息]
# 球体大小比率 : {value3}%
# REMOVE: data3 = [0, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70]# noqa: E501
data3 = get_data(f'{prefix}/{uuid}', 3)
# 眩晕范围 : {value4}px
# REMOVE: data4 = [0, 300, 300, 300, 300, 300, 300, 300, 300, 300, 300, 300, 300, 300, 300, 300, 300, 300, 300, 300, 300, 300, 300, 300, 300, 300, 300, 300, 300, 300, 300, 300, 300, 300, 300, 300, 300, 300, 300, 300, 300, 300, 300, 300, 300, 300, 300, 300, 300, 300, 300, 300, 300, 300, 300, 300, 300, 300, 300, 300, 300, 300, 300, 300, 300, 300, 300, 300, 300, 300, 300]# noqa: E501
data4 = get_data(f'{prefix}/{uuid}', 4)
def vp_1(self):
@@ -820,20 +737,15 @@ class Skill32(PassiveSkill):
hasUP = False
# 球体爆炸攻击力 : {value0}
# REMOVE: data0 = [0, 25416, 27978, 30591, 33136, 35748, 38293, 40905, 43450, 46063, 48641, 51220, 53799, 56394, 58923, 61535, 64147, 66676, 69271, 71850, 74428, 77007, 79586, 82165, 84743, 87322, 89934, 92479, 95092, 97654, 100216, 102794, 105407, 107935, 110530, 113126, 115688, 118283, 120845, 123441, 126003, 128598, 131194, 133756, 136351, 138947, 141509, 144070, 146666, 149261, 151823, 154419, 157014, 159543, 162138, 164700, 167296, 169857, 172470, 175015, 177627, 180206, 182785, 185330, 187942, 190521, 193099, 195678, 198274, 200836, 203397]# noqa: E501
data0 = get_data(f'{prefix}/{uuid}', 0)
# 球体持续时间 : {value1}秒
# REMOVE: data1 = [0, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3]# noqa: E501
data1 = get_data(f'{prefix}/{uuid}', 1)
# 眩晕持续时间 : {value2}秒
# REMOVE: data2 = [0, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6]# noqa: E501
data2 = get_data(f'{prefix}/{uuid}', 2)
# [范围信息]
# 球体大小比率 : {value3}%
# REMOVE: data3 = [0, 90, 90, 90, 90, 90, 90, 90, 90, 90, 90, 90, 90, 90, 90, 90, 90, 90, 90, 90, 90, 90, 90, 90, 90, 90, 90, 90, 90, 90, 90, 90, 90, 90, 90, 90, 90, 90, 90, 90, 90, 90, 90, 90, 90, 90, 90, 90, 90, 90, 90, 90, 90, 90, 90, 90, 90, 90, 90, 90, 90, 90, 90, 90, 90, 90, 90, 90, 90, 90, 90]# noqa: E501
data3 = get_data(f'{prefix}/{uuid}', 3)
# 眩晕范围 : {value4}px
# REMOVE: data4 = [0, 300, 300, 300, 300, 300, 300, 300, 300, 300, 300, 300, 300, 300, 300, 300, 300, 300, 300, 300, 300, 300, 300, 300, 300, 300, 300, 300, 300, 300, 300, 300, 300, 300, 300, 300, 300, 300, 300, 300, 300, 300, 300, 300, 300, 300, 300, 300, 300, 300, 300, 300, 300, 300, 300, 300, 300, 300, 300, 300, 300, 300, 300, 300, 300, 300, 300, 300, 300, 300, 300]# noqa: E501
data4 = get_data(f'{prefix}/{uuid}', 4)
associate = [{'data': [0, 92.5 - 100], 'skills': ['圣光球']}]
@@ -863,25 +775,19 @@ class Skill33(ActiveSkill):
vps = get_data(f'{prefix}/{uuid}', "vps") # noqa: E501
# 光柱攻击力 : {value0}
# REMOVE: data0 = [0, 1470, 1619, 1771, 1919, 2067, 2219, 2367, 2514, 2662, 2814, 2962, 3110, 3262, 3410, 3561, 3711, 3859, 4007, 4153, 4306, 4454, 4604, 4754, 4903, 5053, 5202, 5349, 5497, 5648, 5797, 5947, 6096, 6247, 6395, 6541, 6694, 6842, 6993, 7142, 7292, 7441, 7590, 7740, 7886, 8036, 8182, 8333, 8481, 8631, 8782, 8930, 9082, 9229, 9378, 9527, 9677, 9826, 9976, 10127, 10275, 10427, 10574, 10723, 10872, 11019, 11170, 11318, 11470, 11618, 11766]# noqa: E501
data0 = get_data(f'{prefix}/{uuid}', 0)
hit0 = 1
# 光撞击地面攻击力 : {value1}
# REMOVE: data1 = [0, 2936, 3232, 3536, 3832, 4128, 4432, 4727, 5020, 5316, 5620, 5916, 6211, 6515, 6811, 7112, 7411, 7706, 8002, 8295, 8599, 8895, 9196, 9494, 9793, 10091, 10390, 10683, 10978, 11280, 11578, 11877, 12175, 12476, 12772, 13065, 13369, 13665, 13966, 14264, 14563, 14861, 15160, 15458, 15751, 16049, 16342, 16644, 16939, 17238, 17539, 17835, 18139, 18432, 18730, 19029, 19327, 19625, 19924, 20225, 20521, 20825, 21118, 21416, 21715, 22008, 22309, 22605, 22909, 23204, 23500]# noqa: E501
data1 = get_data(f'{prefix}/{uuid}', 1)
hit1 = 1
# 爆炸攻击力 : {value2}
# REMOVE: data2 = [0, 11209, 12338, 13500, 14628, 15757, 16918, 18047, 19164, 20293, 21454, 22583, 23711, 24873, 26001, 27152, 28291, 29420, 30549, 31666, 32828, 33956, 35107, 36246, 37386, 38525, 39665, 40782, 41911, 43061, 44201, 45341, 46480, 47631, 48759, 49877, 51038, 52167, 53317, 54457, 55596, 56736, 57875, 59015, 60132, 61272, 62390, 63540, 64669, 65808, 66959, 68087, 69249, 70366, 71506, 72645, 73785, 74924, 76064, 77214, 78343, 79504, 80622, 81762, 82901, 84019, 85169, 86298, 87459, 88588, 89716]# noqa: E501
data2 = get_data(f'{prefix}/{uuid}', 2)
hit2 = 1
# 压制力 (4人队伍) : {value3}秒 ({value4}秒)
# REMOVE: data3 = [0, 1.5, 1.5, 1.5, 1.5, 1.5, 1.5, 1.5, 1.5, 1.5, 1.5, 1.5, 1.5, 1.5, 1.5, 1.5, 1.5, 1.5, 1.5, 1.5, 1.5, 1.5, 1.5, 1.5, 1.5, 1.5, 1.5, 1.5, 1.5, 1.5, 1.5, 1.5, 1.5, 1.5, 1.5, 1.5, 1.5, 1.5, 1.5, 1.5, 1.5, 1.5, 1.5, 1.5, 1.5, 1.5, 1.5, 1.5, 1.5, 1.5, 1.5, 1.5, 1.5, 1.5, 1.5, 1.5, 1.5, 1.5, 1.5, 1.5, 1.5, 1.5, 1.5, 1.5, 1.5, 1.5, 1.5, 1.5, 1.5, 1.5, 1.5]# noqa: E501
data3 = get_data(f'{prefix}/{uuid}', 3)
# REMOVE: data4 = [0, 0.4, 0.4, 0.4, 0.4, 0.4, 0.4, 0.4, 0.4, 0.4, 0.4, 0.4, 0.4, 0.4, 0.4, 0.4, 0.4, 0.4, 0.4, 0.4, 0.4, 0.4, 0.4, 0.4, 0.4, 0.4, 0.4, 0.4, 0.4, 0.4, 0.4, 0.4, 0.4, 0.4, 0.4, 0.4, 0.4, 0.4, 0.4, 0.4, 0.4, 0.4, 0.4, 0.4, 0.4, 0.4, 0.4, 0.4, 0.4, 0.4, 0.4, 0.4, 0.4, 0.4, 0.4, 0.4, 0.4, 0.4, 0.4, 0.4, 0.4, 0.4, 0.4, 0.4, 0.4, 0.4, 0.4, 0.4, 0.4, 0.4, 0.4]# noqa: E501
data4 = get_data(f'{prefix}/{uuid}', 4)
# [范围信息]
# 光柱大小比率 : {value5}%
# REMOVE: data5 = [0, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100]# noqa: E501
data5 = get_data(f'{prefix}/{uuid}', 5)
def vp_1(self):
@@ -961,17 +867,13 @@ class Skill34(ActiveSkill):
hasUP = False
# 持续时间 : {value0}秒
# REMOVE: data0 = [0, 200, 200, 200, 200, 200, 200, 200, 200, 200, 200, 200]# noqa: E501
data0 = get_data(f'{prefix}/{uuid}', 0)
# 每分钟生命值恢复量增加 : {value1}
# REMOVE: data1 = [0, 3693.6, 3804.6, 3915, 4026, 4137, 4247.4, 4358.4, 4469.4, 4579.8, 4690.8, 4801.8]# noqa: E501
data1 = get_data(f'{prefix}/{uuid}', 1)
# 复活后生命值恢复量 : {value2}%
# REMOVE: data2 = [0, 25, 25.5, 26, 26.5, 27, 27.5, 28, 28.5, 29, 29.5, 30]# noqa: E501
data2 = get_data(f'{prefix}/{uuid}', 2)
# [范围信息]
# 队员选择范围 : {value3}px
# REMOVE: data3 = [0, 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1200]# noqa: E501
data3 = get_data(f'{prefix}/{uuid}', 3)
# 忏悔之锤
@@ -1002,23 +904,18 @@ class Skill35(ActiveSkill):
vps = get_data(f'{prefix}/{uuid}', "vps") # noqa: E501
# 巨锤攻击力 : {value0}
# REMOVE: data0 = [0, 15938, 17555, 19175, 20789, 22407, 24023, 25639, 27260, 28875, 30491, 32109, 33724, 35345, 36963, 38576, 40194, 41809, 43428, 45047, 46664, 48277, 49892, 51510, 53129, 54746, 56363, 57978, 59595, 61214, 62833, 64448, 66063, 67680, 69299, 70918, 72533, 74151, 75767, 77384, 79003, 80619, 82236, 83855, 85468, 87088, 88704, 90320, 91940, 93559, 95172, 96789, 98408, 100024, 101643, 103257, 104873, 106493, 108109, 109728, 111345, 112957, 114575, 116194, 117810, 119428, 121043, 122659, 124279, 125895, 127513]# noqa: E501
data0 = get_data(f'{prefix}/{uuid}', 0)
hit0 = 1
# 巨锤冲击波攻击力 : {value1}
# REMOVE: data1 = [0, 6631, 7303, 7977, 8649, 9322, 9994, 10667, 11341, 12013, 12685, 13358, 14030, 14704, 15378, 16049, 16722, 17394, 18067, 18741, 19413, 20085, 20757, 21430, 22103, 22776, 23449, 24121, 24793, 25467, 26140, 26812, 27484, 28157, 28830, 29504, 30176, 30849, 31521, 32194, 32867, 33540, 34212, 34886, 35557, 36231, 36903, 37576, 38250, 38923, 39594, 40267, 40941, 41613, 42287, 42958, 43630, 44304, 44977, 45650, 46323, 46993, 47666, 48340, 49013, 49686, 50357, 51030, 51704, 52376, 53049]# noqa: E501
data1 = get_data(f'{prefix}/{uuid}', 1)
hit1 = 1
# [忏悔效果]
# 忏悔几率 : {value2}%
# REMOVE: data2 = [0, 40, 42.1, 44.1, 46.2, 48.3, 50.3, 52.4, 54.5, 56.6, 58.6, 60.7, 62.8, 64.8, 66.9, 69, 71, 73.1, 75.2, 77.2, 79.3, 81.4, 83.4, 85.5, 87.6, 89.7, 91.7, 93.8, 95.9, 97.9, 100, 102.1, 104.1, 106.2, 108.3, 110.3, 112.4, 114.5, 116.6, 118.6, 120.7, 122.8, 124.8, 126.9, 129, 131, 133.1, 135.2, 137.2, 139.3, 141.4, 143.4, 145.5, 147.6, 149.7, 151.7, 153.8, 155.9, 157.9, 160, 162.1, 164.1, 166.2, 168.3, 170.3, 172.4, 174.5, 176.6, 178.6, 180.7, 182.8]# noqa: E501
data2 = get_data(f'{prefix}/{uuid}', 2)
# 忏悔持续时间 : {value3}秒
# REMOVE: data3 = [0, 8, 8.28, 8.55, 8.83, 9.1, 9.38, 9.66, 9.93, 10.21, 10.48, 10.76, 11.03, 11.31, 11.59, 11.86, 12.14, 12.41, 12.69, 12.97, 13.24, 13.52, 13.79, 14.07, 14.35, 14.62, 14.9, 15.17, 15.45, 15.72, 16, 16.28, 16.55, 16.83, 17.1, 17.38, 17.66, 17.93, 18.21, 18.48, 18.76, 19.03, 19.31, 19.59, 19.86, 20.14, 20.41, 20.69, 20.97, 21.24, 21.52, 21.79, 22.07, 22.35, 22.62, 22.9, 23.17, 23.45, 23.72, 24, 24.28, 24.55, 24.83, 25.1, 25.38, 25.66, 25.93, 26.21, 26.48, 26.76, 27.03]# noqa: E501
data3 = get_data(f'{prefix}/{uuid}', 3)
# [范围信息]
# 巨锤大小比率 : {value4}%
# REMOVE: data4 = [0, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100]# noqa: E501
data4 = get_data(f'{prefix}/{uuid}', 4)
def vp_1(self):
@@ -1083,26 +980,19 @@ class Skill36(ActiveSkill):
hasUP = True
# 生命值和魔法值恢复时间 : {value0}秒 
# REMOVE: data0 = [0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]# noqa: E501
data0 = get_data(f'{prefix}/{uuid}', 0)
# 生命值恢复量 : {value1}%
# REMOVE: data1 = [0, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35]# noqa: E501
data1 = get_data(f'{prefix}/{uuid}', 1)
# 魔法值恢复量 : {value2}%
# REMOVE: data2 = [0, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35]# noqa: E501
data2 = get_data(f'{prefix}/{uuid}', 2)
# 屏障生命值比率 : {value3}%
# REMOVE: data3 = [0, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23]# noqa: E501
data3 = get_data(f'{prefix}/{uuid}', 3)
# 屏障持续时间 : {value4}秒
# REMOVE: data4 = [0, 5.08, 5.2, 5.31, 5.42, 5.53, 5.64, 5.75, 5.86, 5.97, 6.08, 6.19]# noqa: E501
data4 = get_data(f'{prefix}/{uuid}', 4)
# [范围信息]
# 生命值和魔法值恢复范围 : {value5}px
# REMOVE: data5 = [0, 900, 900, 900, 900, 900, 900, 900, 900, 900, 900, 900]# noqa: E501
data5 = get_data(f'{prefix}/{uuid}', 5)
# 屏障适用范围 : {value6}px
# REMOVE: data6 = [0, 900, 900, 900, 900, 900, 900, 900, 900, 900, 900, 900]# noqa: E501
data6 = get_data(f'{prefix}/{uuid}', 6)
# 正义审判
@@ -1131,19 +1021,15 @@ class Skill37(ActiveSkill):
vps = get_data(f'{prefix}/{uuid}', "vps") # noqa: E501
# 光刃攻击力 : {value0}
# REMOVE: data0 = [0, 2252, 2482, 2711, 2939, 3169, 3397, 3626, 3855, 4082, 4309, 4543, 4771, 5000, 5229, 5456, 5683, 5917, 6143, 6374, 6599, 6830, 7056, 7288, 7515, 7746, 7973, 8201, 8430, 8659, 8886, 9113, 9342, 9571, 9799, 10026, 10260, 10487, 10716, 10945, 11173, 11400, 11631, 11860, 12090, 12316, 12547, 12772, 13003, 13232, 13463, 13687, 13917, 14146, 14375, 14606, 14833, 15064, 15290, 15520, 15746, 15980, 16207, 16435, 16664, 16893, 17120, 17351, 17578, 17809, 18036]# noqa: E501
data0 = get_data(f'{prefix}/{uuid}', 0)
hit0 = 16
# 光刃多段攻击次数 : {value1}次
# REMOVE: data1 = [0, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16]# noqa: E501
data1 = get_data(f'{prefix}/{uuid}', 1)
# 长矛爆炸攻击力 : {value2}
# REMOVE: data2 = [0, 36026, 39716, 43380, 47018, 50708, 54346, 58010, 61674, 65311, 68949, 72693, 76330, 79994, 83658, 87296, 90933, 94677, 98288, 101979, 105589, 109280, 112891, 116608, 120245, 123936, 127574, 131211, 134875, 138539, 142176, 145814, 149478, 153142, 156779, 160416, 164161, 167798, 171462, 175126, 178764, 182401, 186092, 189756, 193447, 197057, 200748, 204358, 208049, 211713, 215404, 218988, 222679, 226343, 230007, 233698, 237335, 241026, 244636, 248327, 251938, 255682, 259319, 262957, 266621, 270285, 273922, 277613, 281250, 284941, 288578]# noqa: E501
data2 = get_data(f'{prefix}/{uuid}', 2)
hit2 = 1
# [范围信息]
# 攻击范围比率 : {value3}%
# REMOVE: data3 = [0, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100]# noqa: E501
data3 = get_data(f'{prefix}/{uuid}', 3)
def vp_1(self):
@@ -1216,24 +1102,18 @@ class Skill38(PassiveSkill):
hasUP = False
# 基本攻击力和技能攻击力增加率 : {value0}%
# REMOVE: data0 = [0, 3.5, 5.5, 7.5, 9.5, 11.5, 13.5, 15.5, 17.5, 19.5, 21.5, 23.5, 25.5, 27.5, 29.5, 31.5, 33.5, 35.5, 37.5, 39.5, 41.5, 43.5, 45.5, 47.5, 49.5, 51.5, 53.5, 55.5, 57.5, 59.5, 61.5, 63.5, 65.5, 67.5, 69.5, 71.5, 73.5, 75.5, 77.5, 79.5, 81.5, 83.5, 85.5, 87.5, 89.5, 91.5, 93.5, 95.5, 97.5, 99.5, 101.5]# noqa: E501
data0 = get_data(f'{prefix}/{uuid}', 0)
# [光环效果]
# 力量、 智力增加 : {value1}
# REMOVE: data1 = [0, 40, 48, 58, 67, 77, 87, 98, 109, 120, 133, 144, 157, 171, 184, 198, 212, 226, 242, 258, 273, 290, 306, 323, 341, 359, 378, 397, 416, 436, 456, 476, 498, 518, 541, 562, 586, 609, 632, 654, 678, 702, 726, 750, 774, 798, 823, 848, 873, 898, 923]# noqa: E501
data1 = get_data(f'{prefix}/{uuid}', 1)
# 体力、 精神增加 : {value2}
# REMOVE: data2 = [0, 10, 29, 48, 67, 86, 105, 124, 143, 162, 181, 200, 219, 238, 257, 276, 295, 314, 333, 352, 371, 390, 409, 428, 447, 466, 489, 511, 534, 556, 579, 601, 624, 646, 669, 691, 714, 736, 759, 781, 804, 826, 849, 871, 894, 916, 939, 961, 984, 1006, 1029]# noqa: E501
data2 = get_data(f'{prefix}/{uuid}', 2)
# 攻击、 移动、 施放速度增加 : {value3}%
# REMOVE: data3 = [0, 4.2, 4.6, 5, 5.4, 5.8, 6.3, 6.7, 7.1, 7.5, 7.9, 8.3, 8.8, 9.2, 9.6, 10, 10.4, 10.8, 11.3, 11.7, 12.1, 12.5, 12.9, 13.3, 13.8, 14.2, 14.6, 15, 15.4, 15.8, 16.3, 16.7, 17.1, 17.5, 17.9, 18.3, 18.8, 19.2, 19.6, 20, 20.4, 20.8, 21.3, 21.7, 22.1, 22.5, 22.9, 23.3, 23.8, 24.2, 24.6]# noqa: E501
data3 = get_data(f'{prefix}/{uuid}', 3)
# 队员物理、 魔法、 独立攻击力增加 : {value4}
# REMOVE: data4 = [0, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73]# noqa: E501
data4 = get_data(f'{prefix}/{uuid}', 4)
# [范围信息]
# 光环范围 : {value5}px
# REMOVE: data5 = [0, 900, 900, 900, 900, 900, 900, 900, 900, 900, 900, 900, 900, 900, 900, 900, 900, 900, 900, 900, 900, 900, 900, 900, 900, 900, 900, 900, 900, 900, 900, 900, 900, 900, 900, 900, 900, 900, 900, 900, 900, 900, 900, 900, 900, 900, 900, 900, 900, 900, 900]# noqa: E501
data5 = get_data(f'{prefix}/{uuid}', 5)
associate = [{'data': data0}]
@@ -1271,34 +1151,25 @@ class Skill39(ActiveSkill):
hasUP = False
# 闪电和光属性长矛多段攻击力 : {value0}
# REMOVE: data0 = [0, 2318, 2856, 3393, 3931, 4468, 5004, 5543, 6081, 6619, 7157, 7692, 8230, 8769, 9307, 9844, 10382, 10919, 11454, 11996, 12532, 13069, 13608, 14144, 14682, 15221, 15758, 16296, 16832, 17370, 17908, 18443, 18985, 19521, 20058, 20597, 21133, 21669, 22209, 22747, 23283, 23821, 24359, 24898, 25436, 25971, 26509, 27047, 27583, 28124, 28661]# noqa: E501
data0 = get_data(f'{prefix}/{uuid}', 0)
hit0 = 12
# 闪电和光属性长矛多段攻击次数 : {value1}次
# REMOVE: data1 = [0, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12]# noqa: E501
data1 = get_data(f'{prefix}/{uuid}', 1)
# 光属性长矛爆炸攻击力 : {value2}
# REMOVE: data2 = [0, 64896, 79954, 95013, 110072, 125094, 140117, 155212, 170270, 185329, 200388, 215375, 230433, 245528, 260586, 275645, 290704, 305726, 320713, 335880, 350902, 365925, 381020, 396042, 411101, 426196, 441218, 456277, 471300, 486358, 501417, 516404, 531570, 546593, 561616, 576710, 591733, 606720, 621850, 636909, 651932, 666991, 682049, 697144, 712202, 727189, 742248, 757307, 772329, 787460, 802518]# noqa: E501
data2 = get_data(f'{prefix}/{uuid}', 2)
hit2 = 1
# [祝福效果信息]
# 持续时间 : {value3}秒
# REMOVE: data3 = [0, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33]# noqa: E501
data3 = get_data(f'{prefix}/{uuid}', 3)
# 力量增加 : {value4}
# REMOVE: data4 = [0, 52, 79, 106, 133, 161, 189, 218, 247, 276, 306, 336, 367, 398, 429, 461, 493, 526, 559, 592, 626, 660, 695, 730, 765, 801, 837, 874, 911, 948, 986, 1078, 1170, 1262, 1354, 1446, 1538, 1630, 1722, 1814, 1906, 1998, 2090, 2182, 2274, 2366, 2458, 2550, 2642, 2734, 2826]# noqa: E501
data4 = get_data(f'{prefix}/{uuid}', 4)
# 智力增加 : {value5}
# REMOVE: data5 = [0, 52, 79, 106, 133, 161, 189, 218, 247, 276, 306, 336, 367, 398, 429, 461, 493, 526, 559, 592, 626, 660, 695, 730, 765, 801, 837, 874, 911, 948, 986, 1078, 1170, 1262, 1354, 1446, 1538, 1630, 1722, 1814, 1906, 1998, 2090, 2182, 2274, 2366, 2458, 2550, 2642, 2734, 2826]# noqa: E501
data5 = get_data(f'{prefix}/{uuid}', 5)
# 攻击速度增加 : {value6}%
# REMOVE: data6 = [0, 5, 6.4, 7.6, 9, 10.3, 11.6, 12.9, 14.2, 15.5, 16.9, 18.2, 19.5, 20.8, 22.1, 23.4, 24.8, 26.1, 27.4, 28.7, 30, 31.3, 32.7, 34, 35.3, 36.6, 37.9, 39.2, 40.5, 41.9, 43.2, 44.5, 45.8, 47.1, 48.4, 49.8, 51.1, 52.4, 53.7, 55, 56.3, 57.6, 58.9, 60.2, 61.5, 62.8, 64.1, 65.4, 66.7, 68, 69.3]# noqa: E501
data6 = get_data(f'{prefix}/{uuid}', 6)
# 移动速度增加 : {value7}%
# REMOVE: data7 = [0, 5, 6.4, 7.6, 9, 10.3, 11.6, 12.9, 14.2, 15.5, 16.9, 18.2, 19.5, 20.8, 22.1, 23.4, 24.8, 26.1, 27.4, 28.7, 30, 31.3, 32.7, 34, 35.3, 36.6, 37.9, 39.2, 40.5, 41.9, 43.2, 44.5, 45.8, 47.1, 48.4, 49.8, 51.1, 52.4, 53.7, 55, 56.3, 57.6, 58.9, 60.2, 61.5, 62.8, 64.1, 65.4, 66.7, 68, 69.3]# noqa: E501
data7 = get_data(f'{prefix}/{uuid}', 7)
# 施放速度增加 : {value8}%
# REMOVE: data8 = [0, 5, 6.4, 7.6, 9, 10.3, 11.6, 12.9, 14.2, 15.5, 16.9, 18.2, 19.5, 20.8, 22.1, 23.4, 24.8, 26.1, 27.4, 28.7, 30, 31.3, 32.7, 34, 35.3, 36.6, 37.9, 39.2, 40.5, 41.9, 43.2, 44.5, 45.8, 47.1, 48.4, 49.8, 51.1, 52.4, 53.7, 55, 56.3, 57.6, 58.9, 60.2, 61.5, 62.8, 64.1, 65.4, 66.7, 68, 69.3]# noqa: E501
data8 = get_data(f'{prefix}/{uuid}', 8)
# 圣念
@@ -1345,21 +1216,16 @@ class Skill41(ActiveSkill):
vps = get_data(f'{prefix}/{uuid}', "vps") # noqa: E501
# 突进攻击力 : {value0}
# REMOVE: data0 = [0, 4879, 5370, 5867, 6362, 6857, 7352, 7845, 8341, 8835, 9330, 9827, 10323, 10815, 11311, 11806, 12301, 12796, 13289, 13785, 14279, 14775, 15271, 15767, 16259, 16755, 17250, 17746, 18241, 18733, 19230, 19721, 20217, 20714, 21209, 21702, 22197, 22692, 23187, 23682, 24176, 24673, 25165, 25662, 26158, 26653, 27146, 27641, 28136, 28631, 29126]# noqa: E501
data0 = get_data(f'{prefix}/{uuid}', 0)
hit0 = 3
# 突进多段攻击次数 : {value1}次
# REMOVE: data1 = [0, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3]# noqa: E501
data1 = get_data(f'{prefix}/{uuid}', 1)
# 终结攻击攻击力 : {value2}
# REMOVE: data2 = [0, 32458, 35726, 39029, 42323, 45617, 48911, 52188, 55491, 58776, 62070, 65373, 68675, 71944, 75246, 78540, 81835, 85129, 88405, 91708, 94994, 98288, 101590, 104893, 108161, 111464, 114758, 118052, 121346, 124623, 127926, 131194, 134497, 137799, 141093, 144370, 147664, 150958, 154253, 157547, 160832, 164135, 167412, 170714, 174017, 177311, 180588, 183882, 187176, 190470, 193764]# noqa: E501
data2 = get_data(f'{prefix}/{uuid}', 2)
hit2 = 1
# 突进距离 : {value3}px
# REMOVE: data3 = [0, 240, 240, 240, 240, 240, 240, 240, 240, 240, 240, 240, 240, 240, 240, 240, 240, 240, 240, 240, 240, 240, 240, 240, 240, 240, 240, 240, 240, 240, 240, 240, 240, 240, 240, 240, 240, 240, 240, 240, 240, 240, 240, 240, 240, 240, 240, 240, 240, 240, 240]# noqa: E501
data3 = get_data(f'{prefix}/{uuid}', 3)
# 光杖大小比率 : {value4}%
# REMOVE: data4 = [0, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100]# noqa: E501
data4 = get_data(f'{prefix}/{uuid}', 4)
def vp_1(self):
@@ -1436,23 +1302,18 @@ class Skill42(ActiveSkill):
vps = get_data(f'{prefix}/{uuid}', "vps") # noqa: E501
# 下落攻击力 : {value0}
# REMOVE: data0 = [0, 1835, 2021, 2208, 2392, 2580, 2764, 2948, 3135, 3319, 3510, 3694, 3882, 4066, 4253, 4437, 4625, 4810, 5000, 5184, 5368, 5557, 5742, 5930, 6114, 6303, 6487, 6676, 6860, 7048, 7232, 7419, 7603, 7794, 7978, 8162, 8350, 8534, 8721, 8905, 9093, 9277, 9467, 9651, 9839, 10023, 10210, 10394, 10582, 10766, 10953]# noqa: E501
data0 = get_data(f'{prefix}/{uuid}', 0)
hit0 = 1
# 撞击地面攻击力 : {value1}
# REMOVE: data1 = [0, 7615, 8385, 9163, 9927, 10704, 11468, 12231, 13009, 13773, 14565, 15328, 16106, 16869, 17647, 18411, 19189, 19959, 20744, 21508, 22271, 23056, 23827, 24604, 25368, 26153, 26916, 27701, 28465, 29242, 30006, 30784, 31547, 32339, 33103, 33866, 34644, 35408, 36185, 36949, 37727, 38490, 39282, 40046, 40823, 41587, 42365, 43128, 43906, 44669, 45447]# noqa: E501
data1 = get_data(f'{prefix}/{uuid}', 1)
hit1 = 1
# 爆炸攻击力 : {value2}
# REMOVE: data2 = [0, 21519, 23697, 25895, 28053, 30251, 32409, 34567, 36764, 38922, 41160, 43318, 45516, 47674, 49872, 52030, 54228, 56405, 58623, 60781, 62939, 65157, 67335, 69533, 71691, 73909, 76066, 78284, 80442, 82640, 84798, 86996, 89154, 91392, 93550, 95707, 97905, 100063, 102261, 104419, 106617, 108775, 111013, 113171, 115368, 117526, 119724, 121882, 124080, 126238, 128436]# noqa: E501
data2 = get_data(f'{prefix}/{uuid}', 2)
hit2 = 3
# 爆炸多段攻击次数 : {value3}次
# REMOVE: data3 = [0, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3]# noqa: E501
data3 = get_data(f'{prefix}/{uuid}', 3)
# [范围信息]
# 大小比率 : {value4}%
# REMOVE: data4 = [0, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100]# noqa: E501
data4 = get_data(f'{prefix}/{uuid}', 4)
def vp_1(self):
@@ -1535,22 +1396,17 @@ class Skill43(ActiveSkill):
vps = get_data(f'{prefix}/{uuid}', "vps") # noqa: E501
# 生命值恢复量 : {value0}%
# REMOVE: data0 = [0, 9, 9, 10, 10, 11, 11, 12, 12, 13, 13, 14, 14, 15, 15, 16, 16, 17, 17, 18, 18, 19, 19, 20, 20, 21, 21, 22, 22, 23, 23, 24, 24, 25, 25, 26, 26, 27, 27, 28, 28, 29, 29, 30, 30, 31, 31, 32, 32, 33, 33]# noqa: E501
data0 = get_data(f'{prefix}/{uuid}', 0)
# 爆炸攻击力 : {value1}
# REMOVE: data1 = [0, 10361, 10361, 11513, 11513, 12664, 12664, 13815, 13815, 14966, 14966, 16118, 16118, 17269, 17269, 18420, 18420, 19571, 19571, 20723, 20723, 21874, 21874, 23025, 23025, 24176, 24176, 25328, 25328, 26479, 26479, 27630, 27630, 28781, 28781, 29933, 29933, 31084, 31084, 32235, 32235, 33386, 33386, 34538, 34538, 35689, 35689, 36840, 36840, 37991, 37991]# noqa: E501
data1 = get_data(f'{prefix}/{uuid}', 1)
hit1 = 5
# 爆炸多段攻击次数 : {value2}次
# REMOVE: data2 = [0, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5]# noqa: E501
data2 = get_data(f'{prefix}/{uuid}', 2)
# 最终爆炸攻击力 : {value3}
# REMOVE: data3 = [0, 51807, 51807, 57563, 57563, 63319, 63319, 69075, 69075, 74832, 74832, 80588, 80588, 86344, 86344, 92100, 92100, 97857, 97857, 103613, 103613, 109369, 109369, 115126, 115126, 120882, 120882, 126638, 126638, 132394, 132394, 138151, 138151, 143907, 143907, 149663, 149663, 155420, 155420, 161176, 161176, 166932, 166932, 172688, 172688, 178445, 178445, 184201, 184201, 189957, 189957]# noqa: E501
data3 = get_data(f'{prefix}/{uuid}', 3)
hit3 = 1
# [范围信息]
# 魔法阵大小比率 : {value4}%
# REMOVE: data4 = [0, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100]# noqa: E501
data4 = get_data(f'{prefix}/{uuid}', 4)
def vp_1(self):
@@ -1635,28 +1491,21 @@ class Skill44(ActiveSkill):
vps = get_data(f'{prefix}/{uuid}', "vps") # noqa: E501
# 体力、 精神增加量 : {value0}
# REMOVE: data0 = [0, 150, 160, 170, 180, 190, 200, 210, 220, 230, 240, 250, 260, 270, 280, 290, 300, 310, 320, 330, 340, 350, 360, 370, 380, 390, 400, 410, 420, 430, 440, 450, 460, 470, 480, 490, 500, 510, 520, 530, 540, 550, 560, 570, 580, 590, 600, 610, 620, 630, 640]# noqa: E501
data0 = get_data(f'{prefix}/{uuid}', 0)
# 爆炸攻击力 : {value1}
# REMOVE: data1 = [0, 46661, 54100, 61540, 68978, 76417, 83856, 91295, 98734, 106172, 113612, 121050, 128489, 135929, 143367, 150805, 158246, 165683, 173122, 180560, 188000, 195439, 202877, 210317, 217755, 225194, 232634, 240072, 247511, 254951, 262389, 269828, 277266, 284706, 292145, 299583, 307023, 314461, 321900, 329340, 336778, 344217, 351656, 359094, 366533, 373971, 381411, 388850, 396288, 403728, 411166]# noqa: E501
data1 = get_data(f'{prefix}/{uuid}', 1)
hit1 = 1
# [获得增益时]
# 持续时间增加 : {value2}秒
# REMOVE: data2 = [0, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70]# noqa: E501
data2 = get_data(f'{prefix}/{uuid}', 2)
# 所受伤害减少率 : {value3}%
# REMOVE: data3 = [0, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20]# noqa: E501
data3 = get_data(f'{prefix}/{uuid}', 3)
# 所受伤害减少持续时间 : {value4}秒
# REMOVE: data4 = [0, 0.8, 0.8, 0.8, 0.8, 0.8, 0.8, 0.8, 0.8, 0.8, 0.8, 0.8, 0.8, 0.8, 0.8, 0.8, 0.8, 0.8, 0.8, 0.8, 0.8, 0.8, 0.8, 0.8, 0.8, 0.8, 0.8, 0.8, 0.8, 0.8, 0.8, 0.8, 0.8, 0.8, 0.8, 0.8, 0.8, 0.8, 0.8, 0.8, 0.8, 0.8, 0.8, 0.8, 0.8, 0.8, 0.8, 0.8, 0.8, 0.8, 0.8]# noqa: E501
data4 = get_data(f'{prefix}/{uuid}', 4)
# [范围信息]
# 队员选择范围 : {value5}px
# REMOVE: data5 = [0, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800]# noqa: E501
data5 = get_data(f'{prefix}/{uuid}', 5)
# 爆炸大小比率 : {value6}%
# REMOVE: data6 = [0, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100]# noqa: E501
data6 = get_data(f'{prefix}/{uuid}', 6)
def vp_1(self):
@@ -1744,43 +1593,33 @@ class Skill45(ActiveSkill):
hasUP = False
# 装备[惩罚之锤]后持续时间 : {value0}秒
# REMOVE: data0 = [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]# noqa: E501
data0 = get_data(f'{prefix}/{uuid}', 0)
# 基本攻击力和技能攻击力增加率 : {value1}%
# REMOVE: data1 = [0, 26, 28, 30, 32, 34, 36, 38, 40, 42, 44, 46, 48, 50, 52, 54, 56, 58, 60, 62, 64, 66, 68, 70, 72, 74, 76, 78, 80, 82, 84, 86, 88, 90, 92, 94, 96, 98, 100, 102, 104, 106, 108, 110, 112, 114, 116, 118, 120, 122, 124]# noqa: E501
data1 = get_data(f'{prefix}/{uuid}', 1)
# [基本攻击信息]
# [神圣冲击]光柱攻击力 : {value2}
# REMOVE: data2 = [0, 409, 409, 409, 409, 409, 409, 409, 409, 409, 409, 409, 409, 409, 409, 409, 409, 409, 409, 409, 409, 409, 409, 409, 409, 409, 409, 409, 409, 409, 409, 409, 409, 409, 409, 409, 409, 409, 409, 409, 409, 409, 409, 409, 409, 409, 409, 409, 409, 409, 409]# noqa: E501
data2 = get_data(f'{prefix}/{uuid}', 2)
hit2 = 1
# [神圣冲击]冲击波攻击力 : {value3}
# REMOVE: data3 = [0, 287, 287, 287, 287, 287, 287, 287, 287, 287, 287, 287, 287, 287, 287, 287, 287, 287, 287, 287, 287, 287, 287, 287, 287, 287, 287, 287, 287, 287, 287, 287, 287, 287, 287, 287, 287, 287, 287, 287, 287, 287, 287, 287, 287, 287, 287, 287, 287, 287, 287]# noqa: E501
data3 = get_data(f'{prefix}/{uuid}', 3)
hit3 = 1
# [神圣闪光]攻击力 : {value4}
# REMOVE: data4 = [0, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124]# noqa: E501
data4 = get_data(f'{prefix}/{uuid}', 4)
power4 = 1
hit4 = 3
# [神圣闪光]多段攻击次数 : {value5}次
# REMOVE: data5 = [0, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3]# noqa: E501
data5 = get_data(f'{prefix}/{uuid}', 5)
# [空斩打信息]
# [神圣冲击]光柱攻击力 : {value6}
# REMOVE: data6 = [0, 519, 519, 519, 519, 519, 519, 519, 519, 519, 519, 519, 519, 519, 519, 519, 519, 519, 519, 519, 519, 519, 519, 519, 519, 519, 519, 519, 519, 519, 519, 519, 519, 519, 519, 519, 519, 519, 519, 519, 519, 519, 519, 519, 519, 519, 519, 519, 519, 519, 519]# noqa: E501
data6 = get_data(f'{prefix}/{uuid}', 6)
power6 = 1
# [神圣冲击]冲击波攻击力 : {value7}
# REMOVE: data7 = [0, 363, 363, 363, 363, 363, 363, 363, 363, 363, 363, 363, 363, 363, 363, 363, 363, 363, 363, 363, 363, 363, 363, 363, 363, 363, 363, 363, 363, 363, 363, 363, 363, 363, 363, 363, 363, 363, 363, 363, 363, 363, 363, 363, 363, 363, 363, 363, 363, 363, 363]# noqa: E501
data7 = get_data(f'{prefix}/{uuid}', 7)
power7 = 1
# [落凤锤信息]
# [雷霆粉碎]攻击力 : {value8}
# REMOVE: data8 = [0, 2154, 2154, 2154, 2154, 2154, 2154, 2154, 2154, 2154, 2154, 2154, 2154, 2154, 2154, 2154, 2154, 2154, 2154, 2154, 2154, 2154, 2154, 2154, 2154, 2154, 2154, 2154, 2154, 2154, 2154, 2154, 2154, 2154, 2154, 2154, 2154, 2154, 2154, 2154, 2154, 2154, 2154, 2154, 2154, 2154, 2154, 2154, 2154, 2154, 2154]# noqa: E501
data8 = get_data(f'{prefix}/{uuid}', 8)
# [雷霆粉碎]冲击波攻击力 : {value9}
# REMOVE: data9 = [0, 8612, 8612, 8612, 8612, 8612, 8612, 8612, 8612, 8612, 8612, 8612, 8612, 8612, 8612, 8612, 8612, 8612, 8612, 8612, 8612, 8612, 8612, 8612, 8612, 8612, 8612, 8612, 8612, 8612, 8612, 8612, 8612, 8612, 8612, 8612, 8612, 8612, 8612, 8612, 8612, 8612, 8612, 8612, 8612, 8612, 8612, 8612, 8612, 8612, 8612]# noqa: E501
data9 = get_data(f'{prefix}/{uuid}', 9)
associate = [{'data': data1}]
@@ -1847,26 +1686,19 @@ class Skill46(ActiveSkill):
hasUP = False
# 神圣之力持续时间 : {value0}秒
# REMOVE: data0 = [0, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50]# noqa: E501
data0 = get_data(f'{prefix}/{uuid}', 0)
# 神圣之力积攒上限 : {value1}个
# REMOVE: data1 = [0, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5]# noqa: E501
data1 = get_data(f'{prefix}/{uuid}', 1)
# 每点神圣之力可增加的[荣誉祝福]增益效果增加率 : {value2}%
# REMOVE: data2 = [0, 2.4, 2.4, 2.4, 2.4, 2.4, 2.4, 2.4, 2.4, 2.4, 2.4, 2.4, 2.4, 2.4, 2.4, 2.4, 2.4, 2.4, 2.4, 2.4, 2.4, 2.4, 2.4, 2.4, 2.4, 2.4, 2.4, 2.4, 2.4, 2.4, 2.4, 2.4, 2.4, 2.4, 2.4, 2.4, 2.4, 2.4, 2.4, 2.4, 2.4, 2.4, 2.4, 2.4, 2.4, 2.4, 2.4, 2.4, 2.4, 2.4, 2.4]# noqa: E501
data2 = get_data(f'{prefix}/{uuid}', 2)
# [信仰效果]
# 持续时间 : {value3}秒
# REMOVE: data3 = [0, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55]# noqa: E501
data3 = get_data(f'{prefix}/{uuid}', 3)
# 1层信仰效果时神圣之力持续时间 : {value4}秒
# REMOVE: data4 = [0, 0.5, 0.5, 0.5, 0.5, 0.5, 0.5, 0.5, 0.5, 0.5, 0.5, 0.5, 0.5, 0.5, 0.5, 0.5, 0.5, 0.5, 0.5, 0.5, 0.5, 0.5, 0.5, 0.5, 0.5, 0.5, 0.5, 0.5, 0.5, 0.5, 0.5, 0.5, 0.5, 0.5, 0.5, 0.5, 0.5, 0.5, 0.5, 0.5, 0.5, 0.5, 0.5, 0.5, 0.5, 0.5, 0.5, 0.5, 0.5, 0.5, 0.5]# noqa: E501
data4 = get_data(f'{prefix}/{uuid}', 4)
# 2层信仰效果时神圣之力持续时间 : {value5}秒
# REMOVE: data5 = [0, 0.7, 0.7, 0.7, 0.7, 0.7, 0.7, 0.7, 0.7, 0.7, 0.7, 0.7, 0.7, 0.7, 0.7, 0.7, 0.7, 0.7, 0.7, 0.7, 0.7, 0.7, 0.7, 0.7, 0.7, 0.7, 0.7, 0.7, 0.7, 0.7, 0.7, 0.7, 0.7, 0.7, 0.7, 0.7, 0.7, 0.7, 0.7, 0.7, 0.7, 0.7, 0.7, 0.7, 0.7, 0.7, 0.7, 0.7, 0.7, 0.7, 0.7]# noqa: E501
data5 = get_data(f'{prefix}/{uuid}', 5)
# 3层信仰效果时神圣之力持续时间 : {value6}秒
# REMOVE: data6 = [0, 1.2, 1.2, 1.2, 1.2, 1.2, 1.2, 1.2, 1.2, 1.2, 1.2, 1.2, 1.2, 1.2, 1.2, 1.2, 1.2, 1.2, 1.2, 1.2, 1.2, 1.2, 1.2, 1.2, 1.2, 1.2, 1.2, 1.2, 1.2, 1.2, 1.2, 1.2, 1.2, 1.2, 1.2, 1.2, 1.2, 1.2, 1.2, 1.2, 1.2, 1.2, 1.2, 1.2, 1.2, 1.2, 1.2, 1.2, 1.2, 1.2, 1.2]# noqa: E501
data6 = get_data(f'{prefix}/{uuid}', 6)
# 信仰之翼 : 裁决
@@ -1902,14 +1734,11 @@ class Skill47(ActiveSkill):
def lv(self, value): ...
# 爆炸攻击力 : {value0}
# REMOVE: data0 = [0, 2592, 3194, 3795, 4396, 4997, 5598, 6199, 6800, 7402, 8003, 8604, 9205, 9806, 10407, 11009, 11610, 12211, 12812, 13413, 14014, 14615, 15217, 15818, 16419, 17020, 17621, 18222, 18823, 19425, 20026, 20627, 21228, 21829, 22430, 23031, 23633, 24234, 24835, 25436, 26037, 26638, 27239, 27841, 28442, 29043, 29644, 30245, 30846, 31448, 32049]# noqa: E501
data0 = get_data(f'{prefix}/{uuid}', 0)
hit0 = 24
# 爆炸多段攻击次数 : {value1}次
# REMOVE: data1 = [0, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24]# noqa: E501
data1 = get_data(f'{prefix}/{uuid}', 1)
# 终结爆炸攻击力 : {value2}
# REMOVE: data2 = [0, 186656, 229939, 273221, 316504, 359787, 403069, 446352, 489635, 532917, 576200, 619482, 662765, 706048, 749330, 792613, 835895, 879178, 922461, 965743, 1009026, 1052309, 1095591, 1138874, 1182156, 1225439, 1268722, 1312004, 1355287, 1398569, 1441852, 1485135, 1528417, 1571700, 1614983, 1658265, 1701548, 1744830, 1788113, 1831396, 1874678, 1917961, 1961243, 2004526, 2047809, 2091091, 2134374, 2177656, 2220939, 2264222, 2307504]# noqa: E501
data2 = get_data(f'{prefix}/{uuid}', 2)
hit2 = 1
@@ -1946,17 +1775,13 @@ class Skill48(ActiveSkill):
hasUP = False
# 信仰效果适用范围 : {value0}px
# REMOVE: data0 = [0, 900, 900, 900, 900, 900, 900, 900, 900, 900, 900, 900, 900, 900, 900, 900, 900, 900, 900, 900, 900, 900, 900, 900, 900, 900, 900, 900, 900, 900, 900, 900, 900, 900, 900, 900, 900, 900, 900, 900, 900, 900, 900, 900, 900, 900, 900, 900, 900, 900, 900]# noqa: E501
data0 = get_data(f'{prefix}/{uuid}', 0)
# 信仰效果持续时间增加 : {value1}秒
# REMOVE: data1 = [0, 12.5, 13, 13.5, 14, 14.5, 15, 15.5, 16, 16.5, 17, 17.5, 18, 18.5, 19, 19.5, 20, 20.5, 21, 21.5, 22, 22.5, 23, 23.5, 24, 24.5, 25, 25.5, 26, 26.5, 27, 27.5, 28, 28.5, 29, 29.5, 30, 30.5, 31, 31.5, 32, 32.5, 33, 33.5, 34, 34.5, 35, 35.5, 36, 36.5, 37]# noqa: E501
data1 = get_data(f'{prefix}/{uuid}', 1)
# 冲击波攻击力 : {value2}
# REMOVE: data2 = [0, 127608, 140553, 153500, 166445, 179391, 192336, 205284, 218228, 231176, 244120, 257065, 270012, 282958, 295902, 308850, 321794, 334741, 347686, 360633, 373578, 386523, 399470, 412415, 425360, 438308, 451252, 464198, 477144, 490090, 503036, 515983, 528925, 541874, 554819, 567765, 580711, 593657, 606601, 619547, 632493, 645439, 658385, 671333, 684276, 697221, 710169, 723113, 736061, 749006, 761950]# noqa: E501
data2 = get_data(f'{prefix}/{uuid}', 2)
hit2 = 1
# 爆炸攻击力 : {value3}
# REMOVE: data3 = [0, 85072, 93702, 102333, 110963, 119594, 128224, 136856, 145485, 154117, 162746, 171377, 180008, 188639, 197268, 205900, 214529, 223160, 231791, 240422, 249052, 257682, 266313, 274943, 283574, 292206, 300835, 309465, 318096, 326726, 335358, 343989, 352617, 361249, 369879, 378510, 387140, 395772, 404401, 413031, 421662, 430292, 438923, 447555, 456184, 464814, 473446, 482075, 490707, 499337, 507967]# noqa: E501
data3 = get_data(f'{prefix}/{uuid}', 3)
hit3 = 1
@@ -1996,14 +1821,11 @@ class Skill49(PassiveSkill):
hasUP = False
# 基本攻击力和转职技能攻击力增加率 : {value0}%
# REMOVE: data0 = [0, 20, 22, 24, 26, 28, 30, 32, 34, 36, 38, 40, 42, 44, 46, 48, 50, 52, 54, 56, 58, 60, 62, 64, 66, 68, 70, 72, 74, 76, 78, 80, 82, 84, 86, 88, 90, 92, 94, 96, 98, 100, 102, 104, 106, 108, 110, 112, 114, 116, 118]# noqa: E501
data0 = get_data(f'{prefix}/{uuid}', 0)
# 体力、 精神增加 : {value1}
# REMOVE: data1 = [0, 160, 170, 180, 190, 200, 210, 220, 230, 240, 250, 260, 270, 280, 290, 300, 310, 320, 330, 340, 350, 360, 370, 380, 390, 400, 410, 420, 430, 440, 450, 460, 470, 480, 490, 500, 510, 520, 530, 540, 550, 560, 570, 580, 590, 600, 610, 620, 630, 640, 650]# noqa: E501
data1 = get_data(f'{prefix}/{uuid}', 1)
# [胜利之矛]
# 矛的大小额外增加率 : {value2}%
# REMOVE: data2 = [0, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30]# noqa: E501
data2 = get_data(f'{prefix}/{uuid}', 2)
associate = [{'data': data0}]
@@ -2055,28 +1877,21 @@ class Skill50(ActiveSkill):
hasUP = False
# 审判攻击力 : {value0}
# REMOVE: data0 = [0, 73189, 73860, 74532, 75203, 75874, 76546, 77217, 77889, 78560, 79232, 79903, 80575, 81246, 81918, 82589, 83260, 83932, 84603, 85275, 85946, 86618, 87289, 87961, 88632, 89304, 89975, 90646, 91318, 91989, 92661, 93332, 94004, 94675, 95347, 96018, 96690, 97361, 98032, 98704, 99375, 100047, 100718, 101390, 102061, 102733, 103404, 104076, 104747, 105418, 106090]# noqa: E501
data0 = get_data(f'{prefix}/{uuid}', 0)
hit0 = 8
# 审判多段攻击次数 : {value1}次
# REMOVE: data1 = [0, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8]# noqa: E501
data1 = get_data(f'{prefix}/{uuid}', 1)
# 选择[天启之光]时效果
# 持续时间 : {value2}秒
# REMOVE: data2 = [0, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43]# noqa: E501
data2 = get_data(f'{prefix}/{uuid}', 2)
# 力量、 智力增加 : [天启之光]数值的{value3}%
# REMOVE: data3 = [0, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158]# noqa: E501
data3 = get_data(f'{prefix}/{uuid}', 3)
# 攻击、 移动、 施放速度增加 : [天启之光]数值的{value4}%
# REMOVE: data4 = [0, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100]# noqa: E501
data4 = get_data(f'{prefix}/{uuid}', 4)
# 选择[信仰之翼 : 裁决]时效果
# 持续时间 : {value5}秒
# REMOVE: data5 = [0, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20]# noqa: E501
data5 = get_data(f'{prefix}/{uuid}', 5)
# 力量、 智力增加 : [天启之光]数值的{value6}%
# REMOVE: data6 = [0, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73]# noqa: E501
data6 = get_data(f'{prefix}/{uuid}', 6)
File diff suppressed because it is too large Load Diff
@@ -4,6 +4,36 @@ from core.basic.character import Character
prefix = "priest_male/infighter/cn/skillDetail"
# 空斩打
# priest_male/infighter/3c5604bdbb0240b8f130f59ab40509c3
# f6a4ad30555b99b499c07835f87ce522/3c5604bdbb0240b8f130f59ab40509c3
# MIGRATION: character 中没有同名技能“空斩打”,暂不启用
# class Skill0(ActiveSkill):
# """
# 用巨兵向敌人发出攻击并使其浮空,发动时有霸体判定。\n
# 在[意念驱动]已施放状态下,将无法使用此技能。\n
# 转职为光明骑士后,技能类型变为独立攻击力。\n
# 转职为驱魔师后,可以蓄气攻击。\n
# """
# name = "空斩打"
# learnLv = 1
# masterLv = 10
# maxLv = 20
# cellPos = (5,1)
# position = 5
# rangeLv = 3
# cd = 2
# mp = [0, 0]
# uuid = "3c5604bdbb0240b8f130f59ab40509c3"
# 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)
# 虎袭
# priest_male/infighter/f2fb27162beb0b87a7cb9af7900e95f2
# f6a4ad30555b99b499c07835f87ce522/f2fb27162beb0b87a7cb9af7900e95f2
@@ -13,9 +43,10 @@ class Skill1(ActiveSkill):
若在前冲中按攻击键,则直接扔开抓住的敌人。 抓住的敌人只有在最后扔开时才有伤害判定,掷出的敌人会对撞到的敌人造成附加伤害。\n
抓取并掷出敌人时,若按攻击键,则可以给予敌人更多伤害。\n
抓取判定 : 可以抓取霸体和防御状态的敌人,但对无法抓取的敌人不适用抓取和控制效果。\n
转职为光明骑士时, 技能类型变为独立攻击力。
转职为光明骑士时,技能类型变为独立攻击力。\n
"""
name = "虎袭"
cellPos = (3,1)
learnLv = 1
masterLv = 60
maxLv = 70
@@ -39,6 +70,175 @@ class Skill1(ActiveSkill):
# 追加操作后的攻击力增加率 : {value4}%
data4 = get_data(f'{prefix}/{uuid}', 4)
# 后跳
# priest_male/infighter/7822d6d52e10964a6755f142c666b494
# f6a4ad30555b99b499c07835f87ce522/7822d6d52e10964a6755f142c666b494
# MIGRATION: character 中没有同名技能“后跳”,暂不启用
# class Skill2(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
# 基础精通
# priest_male/infighter/5a56514f35cf0270ae8d6c65f8fefd78
# f6a4ad30555b99b499c07835f87ce522/5a56514f35cf0270ae8d6c65f8fefd78
# MIGRATION: character 中没有同名技能“基础精通”,暂不启用
# class Skill3(PassiveSkill):
# """
# 增加基本攻击、 前冲攻击、 跳跃攻击、 [空斩打]的攻击力。\n
# 在决斗场中,增益/减益技能、 被动技能的技能攻击力增加效果对[基础精通]无影响。\n
# """
# name = "基础精通"
# learnLv = 1
# masterLv = 115
# maxLv = 200
# cellPos = (1,0)
# 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)
# 受身蹲伏
# priest_male/infighter/ce26c6b69d02a440a81b552bec94f03b
# f6a4ad30555b99b499c07835f87ce522/ce26c6b69d02a440a81b552bec94f03b
# MIGRATION: character 中没有同名技能“受身蹲伏”,暂不启用
# class Skill4(ActiveSkill):
# """
# 使自身在倒地状态下迅速起身并采取蹲伏姿势; 蹲伏状态下,自身会进入无敌状态,效果持续一定时间。\n
# """
# name = "受身蹲伏"
# learnLv = 1
# masterLv = 10
# 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)
# 技能连招
# priest_male/infighter/10b31c7e8cd2d60b9bcf3b1d3ada4b0a
# f6a4ad30555b99b499c07835f87ce522/10b31c7e8cd2d60b9bcf3b1d3ada4b0a
# MIGRATION: character 中没有同名技能“技能连招”,暂不启用
# class Skill5(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
# 防具精通
# priest_male/infighter/892ef624d8bf3d7fc045f84825fd6104
# f6a4ad30555b99b499c07835f87ce522/892ef624d8bf3d7fc045f84825fd6104
# MIGRATION: character 中没有同名技能“防具精通”,暂不启用
# class Skill6(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
# 缓慢愈合
# priest_male/infighter/1fadde0eece18649caddbca7bd58cc2f
# f6a4ad30555b99b499c07835f87ce522/1fadde0eece18649caddbca7bd58cc2f
# MIGRATION: character 中没有同名技能“缓慢愈合”,暂不启用
# class Skill7(ActiveSkill):
# """
# 选择一定范围内的队员恢复生命值。\n
# """
# name = "缓慢愈合"
# learnLv = 5
# masterLv = 60
# maxLv = 70
# cellPos = (4,2)
# position = 4
# rangeLv = 3
# cd = 8
# mp = [28, 308]
# uuid = "1fadde0eece18649caddbca7bd58cc2f"
# hasVP = False
# hasUP = True
# 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}px
# data2 = get_data(f'{prefix}/{uuid}', 2)
# 直拳冲击
# priest_male/infighter/faf9cd66281078b51be2ee0b0f6c5530
@@ -46,9 +246,10 @@ class Skill1(ActiveSkill):
class Skill7(ActiveSkill):
"""
向前方敌人发出强威力的直拳冲击,可以形成多段攻击; 最后一击有很高的伤害和暴击率。\n
转职成为蓝拳使者时, 才可以强制中断基本攻击动作, 并立即施放该技能。
转职成为蓝拳使者时,才可以强制中断基本攻击动作,并立即施放该技能。\n
"""
name = "直拳冲击"
cellPos = (6,2)
learnLv = 5
masterLv = 60
maxLv = 70
@@ -72,15 +273,43 @@ class Skill7(ActiveSkill):
# 最后一击的物理/魔法暴击率增加 : {value3}%
data3 = get_data(f'{prefix}/{uuid}', 3)
# 净化
# priest_male/infighter/d0cdaca82892e54097f22a1f60817048
# f6a4ad30555b99b499c07835f87ce522/d0cdaca82892e54097f22a1f60817048
# MIGRATION: character 中没有同名技能“净化”,暂不启用
# class Skill9(ActiveSkill):
# """
# 使一定范围内的队员消除异常状态。\n
# """
# name = "净化"
# learnLv = 10
# masterLv = 1
# maxLv = 11
# cellPos = (3,3)
# position = 3
# rangeLv = 5
# cd = 15
# mp = [22, 238]
# uuid = "d0cdaca82892e54097f22a1f60817048"
# hasVP = False
# hasUP = False
# custom = get_data(f'{prefix}/{uuid}', "custom") # noqa: E501
#
# # 消除异常状态数量 : {value0}个
# data0 = get_data(f'{prefix}/{uuid}', 0)
# # [范围信息]
# # [净化]适用范围 : {value1}px
# data1 = get_data(f'{prefix}/{uuid}', 1)
# 勾拳追击
# priest_male/infighter/d296043df164385a14cb973c8c7c4d07
# f6a4ad30555b99b499c07835f87ce522/d296043df164385a14cb973c8c7c4d07
class Skill9(ActiveSkill):
"""
向前方敌人发动前冲攻击后, 可以用上勾拳进行追击。
向前方敌人发动前冲攻击后,可以用上勾拳进行追击。\n
"""
name = "勾拳追击"
cellPos = (5,3)
learnLv = 10
masterLv = 60
maxLv = 70
@@ -99,6 +328,104 @@ class Skill9(ActiveSkill):
# 浮空力比率 : {value1}%
data1 = get_data(f'{prefix}/{uuid}', 1)
# 恶魔之手
# priest_male/infighter/ca75c965f20a150f99f54155a37400df
# f6a4ad30555b99b499c07835f87ce522/ca75c965f20a150f99f54155a37400df
# MIGRATION: character 中没有同名技能“恶魔之手”,暂不启用
# class Skill11(ActiveSkill):
# """
# 召唤出恶魔之手,使敌人受到伤害。\n
# 恶魔之手的伸手和握住各有攻击判定,握住时有一定几率使敌人进入束缚状态。\n
# 可以强制中断基本攻击动作,并立即施放该技能。\n
# 若在[魔化 : 末日守卫者]状态下施放该技能,则增加攻击力和冷却时间。\n
# """
# name = "恶魔之手"
# learnLv = 10
# masterLv = 60
# maxLv = 70
# cellPos = (7,3)
# position = 7
# rangeLv = 2
# cd = 6
# mp = [28, 308]
# uuid = "ca75c965f20a150f99f54155a37400df"
# 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)
# # 束缚持续时间 : {value3}秒
# data3 = get_data(f'{prefix}/{uuid}', 3)
# # - [魔化 : 末日守卫者]状态下施放时-
# # 攻击力增加率 : {value4}%
# data4 = get_data(f'{prefix}/{uuid}', 4)
# # 冷却时间增加率 : {value5}%
# data5 = get_data(f'{prefix}/{uuid}', 5)
# # [范围信息]
# # 手大小比率 : {value6}%
# data6 = get_data(f'{prefix}/{uuid}', 6)
# 强化 - 后跳
# priest_male/infighter/2b340542e776818b78f3212af184bd6b
# f6a4ad30555b99b499c07835f87ce522/2b340542e776818b78f3212af184bd6b
# MIGRATION: character 中没有同名技能“强化 - 后跳”,暂不启用
# 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)
# 跃翔
# priest_male/infighter/1fea5a626f15230237946a11a9d11582
# f6a4ad30555b99b499c07835f87ce522/1fea5a626f15230237946a11a9d11582
# MIGRATION: character 中没有同名技能“跃翔”,暂不启用
# 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)
# 俯冲
# priest_male/infighter/9dda3f4a849dba1a288dd65e116860f2
@@ -108,9 +435,10 @@ class Skill13(ActiveSkill):
低身快速向前移动,进入短暂的无敌状态\n
无法互相强制中断[摆动]和[俯冲]。\n
[俯冲]中再按跳跃键就可以停止移动。\n
只能在[意念驱动]已施放的状态下使用。
只能在[意念驱动]已施放的状态下使用。\n
"""
name = "俯冲"
cellPos = (6,4)
learnLv = 15
masterLv = 1
maxLv = 1
@@ -138,13 +466,14 @@ class Skill14(ActiveSkill):
抽身的同时快速向后退,并进入短时间的无敌状态。\n
无法强制中断[摆动]并立即施放[俯冲],也无法强制中断[俯冲]并立即施放[摆动]。\n
移动中再次按跳跃键,可以停止移动。\n
只能在[意念驱动]已施放的状态下使用。
只能在[意念驱动]已施放的状态下使用。\n
"""
name = "摆动"
cellPos = (3,4)
learnLv = 15
masterLv = 1
maxLv = 1
position = 6
position = 3
rangeLv = 1
cd = 0.7
mp = [1, 1]
@@ -156,6 +485,93 @@ class Skill14(ActiveSkill):
# 施放后无敌时间 : {value0}秒
data0 = get_data(f'{prefix}/{uuid}', 0)
# 化魔
# priest_male/infighter/2f5d03c7848effbc0a23f4df45d9ca46
# f6a4ad30555b99b499c07835f87ce522/2f5d03c7848effbc0a23f4df45d9ca46
# MIGRATION: character 中没有同名技能“化魔”,暂不启用
# class Skill16(ActiveSkill):
# """
# 在效果持续期间,将自身一定量的生命值转换成魔法值,若当前生命值少于施放技能所需的生命值,则无法使用此技能。\n
# - [转职为惩戒者后] -\n
# 施放其他技能时,可以施放[化魔]; 施放一次后,每隔一段时间自动施放。\n
# 使用单独的生命值消耗量和魔法值恢复量,并且发动[恶魔诅咒]技能。\n
# 当前生命值少于施放技能所需的生命值时,仍然会消耗剩余生命值发动技能; 生命值为1时,将不消耗生命值直接发动。\n
# 每次施放时,增加魔化状态的持续时间、 减少冷却时间,并且恢复一定量的恶魔能量。\n
# 在决斗场中,施放其他技能过程中无法使用该技能。\n
# """
# name = "化魔"
# learnLv = 15
# masterLv = 1
# maxLv = 11
# cellPos = (10,4)
# position = 10
# rangeLv = 5
# cd = 8
# mp = [0, 0]
# uuid = "2f5d03c7848effbc0a23f4df45d9ca46"
# 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)
# # 魔化状态持续时间增加 : {value3}秒
# data3 = get_data(f'{prefix}/{uuid}', 3)
# # 魔化状态冷却时间减少 : {value4}秒
# data4 = get_data(f'{prefix}/{uuid}', 4)
# # 生命值消耗 : {value5}
# data5 = get_data(f'{prefix}/{uuid}', 5)
# # 魔法值恢复 : {value6}
# data6 = get_data(f'{prefix}/{uuid}', 6)
# # [化魔]发动间隔 : {value7}秒
# data7 = get_data(f'{prefix}/{uuid}', 7)
# 落凤锤
# priest_male/infighter/45442bbbe33540b4deeec29437dae70c
# f6a4ad30555b99b499c07835f87ce522/45442bbbe33540b4deeec29437dae70c
# MIGRATION: character 中没有同名技能“落凤锤”,暂不启用
# class Skill17(ActiveSkill):
# """
# 跳跃后把巨兵砸向地面引发冲击波并使周围敌人受到一定伤害。\n
# 跳跃时可以移动,但蓝拳使者在[意念驱动]已施放状态下,无法使用此技能。\n
# 转职成为驱魔师时,增加20%的攻击力,增加冲击波范围、 跳跃高度和跳跃速度。\n
# 而且,下劈后可以强制中断动作并施放部分驱魔师巨兵系技能。\n
# - [可施放技能] -\n
# [疾风打]\n
# [星落打]\n
# [狂乱锤击]\n
# [疾空旋风破]\n
# [无双击]\n
# [逆鳞震]\n
# [逆龙七杀]\n
# """
# name = "落凤锤"
# learnLv = 15
# masterLv = 60
# maxLv = 70
# cellPos = (9,4)
# position = 9
# rangeLv = 2
# cd = 6
# mp = [28, 308]
# uuid = "45442bbbe33540b4deeec29437dae70c"
# hasVP = False
# hasUP = True
# custom = get_data(f'{prefix}/{uuid}', "custom") # noqa: E501
#
# # 巨兵打击攻击力 : {value0}%
# data0 = get_data(f'{prefix}/{uuid}', 0)
# # 冲击波范围 : {value1}px
# data1 = get_data(f'{prefix}/{uuid}', 1)
# # 冲击波攻击力 : {value2}%
# data2 = get_data(f'{prefix}/{uuid}', 2)
# # 转职成为驱魔师时,冲击波范围增加率 : {value3}%
# data3 = get_data(f'{prefix}/{uuid}', 3)
# 意念驱动
# priest_male/infighter/8f73f243041c2d27739fe7696f02bf9b
@@ -166,9 +582,10 @@ class Skill17(ActiveSkill):
站在[意念驱动]范围内时,可以增加暴击伤害、 物理暴击率和命中率,离开[意念驱动]范围一定时间后,效果会消失。\n
减少除[泯灭神击]、 [制裁 : 怒火疾风]、 [正义执行 : 雷米迪奥斯的圣座]外的技能冷却时间。\n
若插入巨兵后,按住技能键不放,则可以直接收回巨兵。\n
进入地下城时, 巨兵初始状态为插入地面; 在决斗场中, 巨兵初始状态为握在手中。
进入地下城时,巨兵初始状态为插入地面; 在决斗场中,巨兵初始状态为握在手中。\n
"""
name = "意念驱动"
cellPos = (2,4)
learnLv = 15
masterLv = 10
maxLv = 20
@@ -202,9 +619,10 @@ class Skill17(ActiveSkill):
# f6a4ad30555b99b499c07835f87ce522/da6e37c1e3f0e8867f70007d89c239ff
class Skill18(PassiveSkill):
"""
强化身体, 提升移动速度、 攻击速度和跳跃力。 并向外散放拳气, 使[基本攻击的上钩拳]、 [勾拳追击]、 [前冲攻击]可以向更低位置的敌人发动。
强化身体,提升移动速度、 攻击速度和跳跃力。 并向外散放拳气,使[基本攻击的上钩拳]、 [勾拳追击]、 [前冲攻击]可以向更低位置的敌人发动。\n
"""
name = "百炼成刚"
cellPos = (0,4)
learnLv = 15
masterLv = 1
maxLv = 1
@@ -228,9 +646,10 @@ class Skill18(PassiveSkill):
class Skill19(ActiveSkill):
"""
[俯冲]中向前方敌人发出直拳攻击,可以击飞敌人。\n
学习一定等级的[技巧精通]后, [摆动]中也可以发出攻击。
学习一定等级的[技巧精通]后,[摆动]中也可以发出攻击。\n
"""
name = "俯冲直拳"
cellPos = (7,5)
learnLv = 15
masterLv = 60
maxLv = 70
@@ -253,9 +672,10 @@ class Skill19(ActiveSkill):
class Skill20(ActiveSkill):
"""
[俯冲]中向前方敌人发出上勾拳攻击,可以使敌人浮空。\n
学习一定等级的[技巧精通]后, [摆动]中也可以发出攻击。
学习一定等级的[技巧精通]后,[摆动]中也可以发出攻击。\n
"""
name = "俯冲翔拳"
cellPos = (6,5)
learnLv = 15
masterLv = 60
maxLv = 70
@@ -291,9 +711,10 @@ class Skill21(PassiveSkill):
以下技能的特定动作变为霸体状态。\n
- [直拳冲击]、 [俯冲腹拳]、 [破碎之锤]、 [神圣组合拳]\n
使用以下技能命中时,根据原技能的攻击力附加一定比例的伤害。\n
- [俯冲直拳]、 [俯冲腹拳]、 [俯冲翔拳]、 [圣拳连击]
- [俯冲直拳]、 [俯冲腹拳]、 [俯冲翔拳]、 [圣拳连击]\n
"""
name = "技巧精通"
cellPos = (1,5)
learnLv = 20
masterLv = 10
maxLv = 20
@@ -351,9 +772,10 @@ class Skill21(PassiveSkill):
class Skill22(ActiveSkill):
"""
[俯冲]中向敌人腹部发出猛力拳击,可以使敌人进入较长时间的僵直状态,并有一定几率使其出现眩晕。\n
学习一定等级的[技巧精通]后, [摆动]中也可以发出攻击。
学习一定等级的[技巧精通]后,[摆动]中也可以发出攻击。\n
"""
name = "俯冲腹拳"
cellPos = (8,5)
learnLv = 20
masterLv = 60
maxLv = 70
@@ -373,6 +795,9 @@ class Skill22(ActiveSkill):
data1 = get_data(f'{prefix}/{uuid}', 1)
# 眩晕持续时间 : {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)
# 圣拳锤击
# priest_male/infighter/6a1d1f08a6572be420bb3a256c44c015
@@ -380,9 +805,10 @@ class Skill22(ActiveSkill):
class Skill23(ActiveSkill):
"""
用拳头猛烈捶击地面,使敌人受到伤害并引发冲击波。\n
只能在已施放[意念驱动]的状态下使用。
只能在已施放[意念驱动]的状态下使用。\n
"""
name = "圣拳锤击"
cellPos = (5,5)
learnLv = 20
masterLv = 60
maxLv = 70
@@ -405,6 +831,62 @@ class Skill23(ActiveSkill):
# 冲击波范围 : {value2}%
data2 = get_data(f'{prefix}/{uuid}', 2)
# 升天阵
# priest_male/infighter/b89c9ab317bc0a443f6497b7cca2f6a8
# f6a4ad30555b99b499c07835f87ce522/b89c9ab317bc0a443f6497b7cca2f6a8
# MIGRATION: character 中没有同名技能“升天阵”,暂不启用
# class Skill25(ActiveSkill):
# """
# 在前方布下升天阵,使阵内的敌人受到伤害的同时使其浮空。\n
# 转职成为驱魔师时,才可以强制中断基本攻击动作,并立即施放该技能; 增加20%的攻击力。\n
# [升天阵]可以把浮空的敌人聚集到阵的中心。\n
# """
# name = "升天阵"
# learnLv = 20
# masterLv = 60
# maxLv = 70
# cellPos = (10,5)
# position = 10
# rangeLv = 2
# cd = 5
# mp = [28, 308]
# uuid = "b89c9ab317bc0a443f6497b7cca2f6a8"
# hasVP = False
# hasUP = True
# 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}px
# data2 = get_data(f'{prefix}/{uuid}', 2)
# # 转职成为驱魔师时,攻击范围 : {value3}%
# data3 = get_data(f'{prefix}/{uuid}', 3)
# 暴击
# priest_male/infighter/fc1262c19f3d0477ee8eda47b8db8696
# f6a4ad30555b99b499c07835f87ce522/fc1262c19f3d0477ee8eda47b8db8696
# MIGRATION: character 中没有同名技能“暴击”,暂不启用
# class Skill26(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)
# 圣拳连击
# priest_male/infighter/3829c15bf5f520c13998a3479ba0ce7b
@@ -413,9 +895,10 @@ class Skill26(ActiveSkill):
"""
向前方敌人快速发出刺拳、 直拳、 摆拳三连击,可以使敌人受到极大伤害。\n
摆拳后可以直接使用[俯冲]或[摆动]。\n
技能等级越高, 敌人被摆拳击中后的僵直时间越长, 但只能在[意念驱动]已施放状态下使用。
技能等级越高,敌人被摆拳击中后的僵直时间越长,但只能在[意念驱动]已施放状态下使用。\n
"""
name = "圣拳连击"
cellPos = (5,6)
learnLv = 25
masterLv = 60
maxLv = 70
@@ -439,6 +922,9 @@ class Skill26(ActiveSkill):
# 摆拳攻击力 : {value3}%
data3 = get_data(f'{prefix}/{uuid}', 3)
hit3 = 1
# 压制力 (4人队伍) : {value4}秒 ({value5}秒)
data4 = get_data(f'{prefix}/{uuid}', 4)
data5 = get_data(f'{prefix}/{uuid}', 5)
# 急速闪避
# priest_male/infighter/dc1ffbe7bfcc6dc2be737951960da9ad
@@ -446,9 +932,10 @@ class Skill26(ActiveSkill):
class Skill27(PassiveSkill):
"""
使用除[幻影化身]之外的所有神击系技能时,大幅增加自身回避率。\n
使用[急速闪避]、 [俯冲]、 [摆动]成功回避敌人的攻击时, 增加自身的暴击率和命中率。
使用[急速闪避]、 [俯冲]、 [摆动]成功回避敌人的攻击时,增加自身的暴击率和命中率。\n
"""
name = "急速闪避"
cellPos = (9,6)
learnLv = 25
masterLv = 5
maxLv = 15
@@ -514,9 +1001,10 @@ class Skill28(ActiveSkill):
"""
用风一样的速度将拳头伸向远处攻击敌人。\n
施放技能后再按技能键或攻击键,可以发动抓取敌人的追加攻击。\n
只能在已施放[意念驱动]的状态下使用。
只能在已施放[意念驱动]的状态下使用。\n
"""
name = "瞬拳"
cellPos = (4,6)
learnLv = 25
masterLv = 60
maxLv = 70
@@ -535,9 +1023,12 @@ class Skill28(ActiveSkill):
# 追加攻击攻击力 : {value1}%
data1 = get_data(f'{prefix}/{uuid}', 1)
hit1 = 1
# [范围信息]
# 范围 : {value2}%
# 压制力 (4人队伍) : {value2}秒 ({value3}秒)
data2 = get_data(f'{prefix}/{uuid}', 2)
data3 = get_data(f'{prefix}/{uuid}', 3)
# [范围信息]
# 范围 : {value4}%
data4 = get_data(f'{prefix}/{uuid}', 4)
# 神圣反击
# priest_male/infighter/a6c8f69107f8c4f5d1a0c7a57d000290
@@ -545,9 +1036,10 @@ class Skill28(ActiveSkill):
class Skill29(ActiveSkill):
"""
施放后使自身进入祈祷状态,若此时受到正面攻击,则以向前重击的方式对敌人施展腹拳。\n
攻击力为自身掌握的[俯冲腹拳]与[神圣反击]原攻击力的总和。 被敌人攻击时, 自身伤害会有所减少, 且给予不死族、 恶魔、 精灵系列怪物125%的反击伤害。
攻击力为自身掌握的[俯冲腹拳]与[神圣反击]原攻击力的总和。 被敌人攻击时,自身伤害会有所减少,且给予不死族、 恶魔、 精灵系列怪物125%的反击伤害。\n
"""
name = "神圣反击"
cellPos = (2,7)
learnLv = 30
masterLv = 1
maxLv = 11
@@ -588,9 +1080,10 @@ class Skill29(ActiveSkill):
class Skill30(ActiveSkill):
"""
[摆动]后快速向前并以强威力的一拳捶击前方敌人,可以使命中的敌人撞上地面后弹至空中。\n
学习一定等级的[技巧精通]后, [俯冲]中也可以发出攻击。
学习一定等级的[技巧精通]后,[俯冲]中也可以发出攻击。\n
"""
name = "破碎之锤"
cellPos = (3,7)
learnLv = 30
masterLv = 60
maxLv = 70
@@ -629,9 +1122,10 @@ class Skill31(ActiveSkill):
"""
生成自身的影子分身并使其对已攻击的敌人进行追击。\n
只能在[意念驱动]已施放状态下使用,若发动中收回巨兵,则会终止技能效果。\n
使用该技能时, 无法强制中断当前进行的普通攻击动作。
使用该技能时,无法强制中断当前进行的普通攻击动作。\n
"""
name = "幻影化身"
cellPos = (7,8)
learnLv = 35
masterLv = 10
maxLv = 20
@@ -656,9 +1150,10 @@ class Skill32(ActiveSkill):
用极快的刺拳给予敌人多次伤害,最后再用锤击攻击前面的敌人。\n
连按攻击键就可以更快更多地发出刺拳。\n
在最后锤击后按攻击键,可以发动一次追加攻击。\n
只能在[意念驱动]已施放的状态下使用。
只能在[意念驱动]已施放的状态下使用。\n
"""
name = "刺拳猛击"
cellPos = (4,8)
learnLv = 35
masterLv = 60
maxLv = 70
@@ -711,9 +1206,10 @@ class Skill33(ActiveSkill):
快速旋转手臂吸附并控制周围敌人,造成多段伤害,最后发动强力拳击。\n
只能在[意念驱动]已施放的状态下使用。\n
可以在[俯冲]和[摆动]中使用。\n
在决斗场中不发动霸体护甲, 减少吸附敌人的力量和范围。
在决斗场中不发动霸体护甲,减少吸附敌人的力量和范围。\n
"""
name = "旋涡重拳"
cellPos = (2,8)
learnLv = 35
masterLv = 60
maxLv = 70
@@ -735,11 +1231,14 @@ class Skill33(ActiveSkill):
# 最后一击攻击力 : {value2}%
data2 = get_data(f'{prefix}/{uuid}', 2)
hit2 = 1
# [范围信息]
# 吸附x轴范围 : {value3}px
# 压制力 (4人队伍) : {value3}秒 ({value4}秒)
data3 = get_data(f'{prefix}/{uuid}', 3)
# 吸附y轴范围 : {value4}px
data4 = get_data(f'{prefix}/{uuid}', 4)
# [范围信息]
# 吸附x轴范围 : {value5}px
data5 = get_data(f'{prefix}/{uuid}', 5)
# 吸附y轴范围 : {value6}px
data6 = get_data(f'{prefix}/{uuid}', 6)
def vp_1(self):
"""
@@ -770,9 +1269,10 @@ class Skill34(ActiveSkill):
"""
先用左右摆拳攻击敌人,最后用强威力的直拳给予敌人猛烈一击。\n
直拳攻击后,可以立即连接[俯冲]、 [摆动]。\n
只能在已施放[意念驱动]的状态下使用。
只能在已施放[意念驱动]的状态下使用。\n
"""
name = "神圣组合拳"
cellPos = (6,9)
learnLv = 40
masterLv = 60
maxLv = 70
@@ -827,9 +1327,10 @@ class Skill35(ActiveSkill):
生成飓风圈吸附周围敌人并用连续的左右摆拳快速攻击敌人,最后的强威力上勾拳可以将敌人击飞。\n
施放技能时可前后移动。 若施放后连续按攻击键,则可以更快的攻击敌人。\n
攻击中可以前后移动,且连续按攻击键可以延长技能的持续时间,但只能在[意念驱动]已施放状态下使用。\n
决斗场中无法使用[干涸之泉]强制中断, 且按跳跃键无法立即发动最后一击。
决斗场中无法使用[干涸之泉]强制中断,且按跳跃键无法立即发动最后一击。\n
"""
name = "极速飓风拳"
cellPos = (5,10)
learnLv = 45
masterLv = 60
maxLv = 70
@@ -885,9 +1386,10 @@ class Skill35(ActiveSkill):
# f6a4ad30555b99b499c07835f87ce522/04883563896fe1adac7505c6146b5f59
class Skill36(PassiveSkill):
"""
增加[幻影化身]的分身数量, 但分身的攻击力将会低于该技能原有分身的攻击力。
增加[幻影化身]的分身数量,但分身的攻击力将会低于该技能原有分身的攻击力。\n
"""
name = "双重幻影"
cellPos = (7,10)
learnLv = 45
masterLv = 1
maxLv = 1
@@ -902,16 +1404,16 @@ class Skill36(PassiveSkill):
data0 = get_data(f'{prefix}/{uuid}', 0)
# 分身数增加量 : {value1}个
data1 = get_data(f'{prefix}/{uuid}', 1)
# TODO
# 干涸之泉
# priest_male/infighter/b8f4966608e4ebb3cc80ba4eac3649bb
# f6a4ad30555b99b499c07835f87ce522/b8f4966608e4ebb3cc80ba4eac3649bb
class Skill37(PassiveSkill):
"""
学习此技能后, 对敌人的攻击力增加, 且可强制中断当前技能并施放神击系技能。
学习此技能后,对敌人的攻击力增加,且可强制中断当前技能并施放神击系技能。\n
"""
name = "干涸之泉"
cellPos = (5,11)
learnLv = 48
masterLv = 40
maxLv = 50
@@ -934,9 +1436,10 @@ class Skill37(PassiveSkill):
class Skill38(ActiveSkill):
"""
聚集强大力量向前方敌人发出3次攻击,最后以极具威力的直拳击飞敌人。 最后一击可以蓄气。\n
只能在[意念驱动]已施放的状态下使用。
只能在[意念驱动]已施放的状态下使用。\n
"""
name = "泯灭神击"
cellPos = (2,11)
learnLv = 50
masterLv = 40
maxLv = 50
@@ -974,9 +1477,10 @@ class Skill39(ActiveSkill):
"""
使用双手快速攻击前方的多个敌人,最后强力下勾拳攻击敌人。 若施放后连续按攻击键,则可以更快地攻击敌人。\n
连击过程中按跳跃键可以立即施放最后一击。\n
只能在[意念驱动]已施放状态下使用。
只能在[意念驱动]已施放状态下使用。\n
"""
name = "破碎之拳"
cellPos = (4,12)
learnLv = 60
masterLv = 40
maxLv = 50
@@ -1039,9 +1543,10 @@ class Skill40(ActiveSkill):
"""
向上发出强力一拳。 可在[俯冲]和[摆动]中使用。\n
攻击敌人时会发生冲击波浮空敌人。\n
只能在[意念驱动]已施放状态下使用。
只能在[意念驱动]已施放状态下使用。\n
"""
name = "破坏之拳"
cellPos = (8,13)
learnLv = 70
masterLv = 40
maxLv = 50
@@ -1091,9 +1596,10 @@ class Skill40(ActiveSkill):
class Skill41(ActiveSkill):
"""
向前方发出强力一击,给敌人造成致命伤害。 若命中敌人,则会产生冲击波并对后排的敌人造成伤害。\n
仅能在[意念驱动]已施放状态下使用。
仅能在[意念驱动]已施放状态下使用。\n
"""
name = "仲裁怒击"
cellPos = (5,13)
learnLv = 75
masterLv = 40
maxLv = 50
@@ -1147,9 +1653,10 @@ class Skill41(ActiveSkill):
# f6a4ad30555b99b499c07835f87ce522/087d1068ff506d090710566608a17760
class Skill42(PassiveSkill):
"""
为了实现正义, 将身体锻炼到极致, 可以增加命中率、 基本攻击力和技能攻击力。
为了实现正义,将身体锻炼到极致,可以增加命中率、 基本攻击力和技能攻击力。\n
"""
name = "正义惩戒"
cellPos = (2,13)
learnLv = 75
masterLv = 40
maxLv = 50
@@ -1174,9 +1681,10 @@ class Skill43(ActiveSkill):
"""
使用上勾拳使敌人浮空,并且几乎在同一时间用拳头猛烈向下捶击,对敌人造成巨大的伤害。\n
[俯冲]、 [摆动]施放途中也能使用。\n
只有在施放[意念驱动]的状态下才能使用。
只有在施放[意念驱动]的状态下才能使用。\n
"""
name = "超重拳"
cellPos = (3,14)
learnLv = 80
masterLv = 40
maxLv = 50
@@ -1197,9 +1705,12 @@ class Skill43(ActiveSkill):
# 第2击攻击力 : {value1}%
data1 = get_data(f'{prefix}/{uuid}', 1)
hit1 = 1
# [范围信息]
# 范围: {value2}%
# 压制力 (4人队伍) : {value2}秒 ({value3}秒)
data2 = get_data(f'{prefix}/{uuid}', 2)
data3 = get_data(f'{prefix}/{uuid}', 3)
# [范围信息]
# 范围: {value4}%
data4 = get_data(f'{prefix}/{uuid}', 4)
def vp_1(self):
"""
@@ -1232,9 +1743,10 @@ class Skill44(ActiveSkill):
"""
用令人眼花缭乱的步伐快速移动并连续攻击周围敌人后,发动强力最后一击。\n
学习[干涸之泉]后,可以中断其他技能使用[制裁 : 怒火疾风],但无法中断[制裁 : 怒火疾风]并施放其它技能。\n
只能在已施放[意念驱动]的状态下使用。
只能在已施放[意念驱动]的状态下使用。\n
"""
name = "制裁 : 怒火疾风"
cellPos = (6,14)
learnLv = 85
masterLv = 40
maxLv = 50
@@ -1271,9 +1783,10 @@ class Skill45(PassiveSkill):
[俯冲腹拳]\n
- 成功命中敌人时,可取消施放后僵直连接[俯冲]、 [摆动]\n
[破碎之锤]\n
- 删除攻击敌人时产生的冲击波, 即使未攻击敌人, 捶地时也会插入巨兵, 发生神圣力爆炸
- 删除攻击敌人时产生的冲击波,即使未攻击敌人,捶地时也会插入巨兵,发生神圣力爆炸\n
"""
name = "绝对正义"
cellPos = (5,15)
learnLv = 95
masterLv = 40
maxLv = 50
@@ -1295,9 +1808,10 @@ class Skill46(ActiveSkill):
"""
将神圣之力注入拳头,对敌人进行致命攻击使敌人浮空,然后快速移动,将周围的敌人聚集到一处后,发动连续攻击。\n
最后用强力勾拳击飞敌人。\n
只能在[意念驱动]已施放状态下使用。
只能在[意念驱动]已施放状态下使用。\n
"""
name = "正义铁拳"
cellPos = (7,15)
learnLv = 95
masterLv = 40
maxLv = 50
@@ -1335,9 +1849,10 @@ class Skill47(ActiveSkill):
技能施放过程中无法利用[干涸之泉]强制中断并释放其他技能。\n
[三次觉醒技能]\n
使用三次觉醒技能时,与关联的技能共享冷却时间。\n
若关联的技能还在冷却中, 则无法使用三次觉醒技能。
若关联的技能还在冷却中,则无法使用三次觉醒技能。\n
"""
name = "正义执行 : 雷米迪奥斯的圣座"
cellPos = (5,16)
learnLv = 100
masterLv = 40
maxLv = 50
@@ -1356,8 +1871,10 @@ class Skill47(ActiveSkill):
hit0 = 1
# 第2击攻击力 : {value1}%
data1 = get_data(f'{prefix}/{uuid}', 1)
# 压制力 (4人队伍) : {value2}秒 ({value3}秒)
data2 = get_data(f'{prefix}/{uuid}', 2)
hit2 = 1
data3 = get_data(f'{prefix}/{uuid}', 3)
class classChange(Character):
def __init__(self, equVersion):
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
@@ -32,22 +32,22 @@ export default defineComponent({
!skillInfo.value
? []
: [
{ label: '技能等级', value: skillInfo.value?.attribute.level },
{ label: '技能等级', value: skillInfo.value?.attribute?.level ?? props.level },
{ label: '学习等级', value: skillInfo.value?.requiredLevel },
{ label: '等级上限', value: skillInfo.value?.maxLevel },
{
label: '冷却时间',
value: skillInfo.value?.attribute.coolTime
? `${skillInfo.value?.attribute.coolTime.toFixed(1)}秒`
value: skillInfo.value?.attribute?.coolTime
? `${skillInfo.value?.attribute?.coolTime.toFixed(1)}秒`
: undefined,
},
{
label: '施放时间',
value: !skillInfo.value?.attribute.castingTime
value: !skillInfo.value?.attribute?.castingTime
? '瞬发'
: `${skillInfo.value?.attribute.castingTime.toFixed(1)}秒`,
: `${skillInfo.value?.attribute?.castingTime.toFixed(1)}秒`,
},
{ label: '魔法值', value: skillInfo.value?.attribute.consumeMp },
{ label: '魔法值', value: skillInfo.value?.attribute?.consumeMp },
{
label: '消耗无色小晶块',
value: skillInfo.value?.consumeItem?.value
@@ -61,9 +61,9 @@ export default defineComponent({
const detail = computed(() => {
const items =
skillInfo.value?.attribute.optionDesc?.split('\n').filter((item) => !!item) ?? []
skillInfo.value?.attribute?.optionDesc?.split('\n').filter((item) => !!item) ?? []
const details = items?.map((a) => {
const beforeReplace = a.match(/^(.+?)\s*(\{value\d+\}.*)$/);
const beforeReplace = a.match(/^(.+?)\s*(\{value\d+\}.*)$/)
if (beforeReplace) {
a = `${beforeReplace[1]}<span class="skill_info_value">${beforeReplace[2]}</span>`
}
@@ -73,7 +73,7 @@ export default defineComponent({
const key = match.replace(/[{}]/g, '')
// Only access if key matches the expected pattern
if (/^value.+/.test(key)) {
const value = skillInfo.value?.attribute.optionValue[key as `value${string}`] ?? '-'
const value = skillInfo.value?.attribute?.optionValue[key as `value${string}`] ?? '-'
if (value) {
a = a.replace(match, `<span style="padding:0px 2px;color:#4AA256">${value}</span>`)
}
@@ -102,19 +102,17 @@ export default defineComponent({
<div class="skill_title">技能描述</div>
<div class="h-auto max-h-200px">
<div class="h-full overflow-y-auto bg-#161816 p-2px">
{desc.value?.map((item) =>
{desc.value?.map((item) => (
// item.startsWith('[') || item.startsWith('-') || item.startsWith('<') ? (
// <div class="min-h-10px">{item}</div>
// ) :
(
<div class="min-h-10px" style="white-space:pre-wrap;">
{item}
</div>
),
)}
))}
</div>
</div>
{(detail.value.length > 0 ) && (
{detail.value.length > 0 && (
<>
<div class="skill_title">技能属性</div>
<div class="flex-1 overflow-y-auto">
+503
View File
@@ -0,0 +1,503 @@
"""Merge OpenAPI-generated layouts into runtime character modules.
Skills are matched strictly by their constant ``name``. Runtime Skill class
identifiers and implementations are preserved; ``position`` and ``cellPos``
come from the generated class. Generated-only skills are retained as commented blocks.
The runtime header and profession-specific footer are preserved unchanged.
"""
from __future__ import annotations
import argparse
import ast
from dataclasses import dataclass
import os
from pathlib import Path
import re
import time
ROOT = Path(__file__).resolve().parents[1]
GENERATED_ROOT = ROOT / "backend" / "openapi" / "generate"
CHARACTER_ROOT = ROOT / "backend" / "core" / "character" / "GF"
@dataclass(frozen=True)
class SkillBlock:
class_name: str
skill_name: str
start: int
end: int
position: str | None
cell_pos: str | None
def _offsets(source: str) -> list[int]:
result = [0]
for line in source.splitlines(keepends=True):
result.append(result[-1] + len(line))
return result
def _skills(source: str, path: Path) -> list[SkillBlock]:
tree = ast.parse(source, filename=str(path))
offsets = _offsets(source)
result: list[SkillBlock] = []
for node in tree.body:
if not isinstance(node, ast.ClassDef) or not re.fullmatch(r"Skill\d+", node.name):
continue
name = None
position = None
cell_pos = None
for statement in node.body:
if not isinstance(statement, (ast.Assign, ast.AnnAssign)):
continue
targets = statement.targets if isinstance(statement, ast.Assign) else [statement.target]
if len(targets) != 1 or not isinstance(targets[0], ast.Name):
continue
if targets[0].id == "name" and isinstance(statement.value, ast.Constant):
name = statement.value.value
elif targets[0].id == "position":
position = ast.get_source_segment(source, statement.value)
elif targets[0].id == "cellPos":
cell_pos = ast.get_source_segment(source, statement.value)
if not isinstance(name, str) or node.end_lineno is None:
raise ValueError(f"{path}:{node.lineno}: invalid {node.name}")
result.append(
SkillBlock(
node.name,
name,
offsets[node.lineno - 1],
offsets[node.end_lineno],
position,
cell_pos,
)
)
return result
def _module_skill_bounds(source: str, path: Path) -> tuple[int, int]:
"""Return the code-only header end and profession-footer start offsets."""
tree = ast.parse(source, filename=str(path))
offsets = _offsets(source)
indexes = [
index
for index, node in enumerate(tree.body)
if isinstance(node, ast.ClassDef) and re.fullmatch(r"Skill\d+", node.name)
]
if not indexes:
raise ValueError(f"missing skills: {path}")
first_index, last_index = indexes[0], indexes[-1]
header_end = offsets[tree.body[first_index - 1].end_lineno] if first_index else 0
footer_start = (
offsets[tree.body[last_index + 1].lineno - 1]
if last_index + 1 < len(tree.body)
else len(source)
)
return header_end, footer_start
def _set_generated_field(block: str, field: str, value: str | None) -> str:
if value is None:
return block
assignment = re.compile(rf"(?m)^(\s*{re.escape(field)}\s*(?::[^=\n]+)?=\s*).*$")
if assignment.search(block):
return assignment.sub(rf"\g<1>{value}", block, count=1)
return re.sub(r"(?m)^(\s*name\s*=.*)$", rf"\g<1>\n {field} = {value}", block, count=1)
def _statement_key(statement: ast.stmt) -> str | None:
if isinstance(statement, (ast.Assign, ast.AnnAssign)):
targets = statement.targets if isinstance(statement, ast.Assign) else [statement.target]
if len(targets) == 1 and isinstance(targets[0], ast.Name):
return targets[0].id
return None
def _is_data_key(key: str | None) -> bool:
return bool(key and re.fullmatch(r"data\d+", key))
def _sync_generated_assignment(
runtime_block: str, generated_block: str, field: str
) -> str:
"""Replace all runtime definitions of one field with the generated one."""
runtime_class = ast.parse(runtime_block).body[0]
generated_class = ast.parse(generated_block).body[0]
if not isinstance(runtime_class, ast.ClassDef) or not isinstance(generated_class, ast.ClassDef):
return runtime_block
generated_statement = next(
(statement for statement in generated_class.body if _statement_key(statement) == field),
None,
)
if generated_statement is None:
return runtime_block
runtime_statements = [
statement for statement in runtime_class.body if _statement_key(statement) == field
]
runtime_lines = runtime_block.splitlines(keepends=True)
generated_lines = generated_block.splitlines(keepends=True)
generated_source = generated_lines[
generated_statement.lineno - 1:generated_statement.end_lineno
]
if runtime_statements:
insertion_line = runtime_statements[0].lineno - 1
for statement in sorted(runtime_statements, key=lambda item: item.lineno, reverse=True):
runtime_lines[statement.lineno - 1:statement.end_lineno] = []
else:
anchor = next(
(
statement
for key in ("custom", "hasUP", "hasVP", "uuid")
for statement in reversed(runtime_class.body)
if _statement_key(statement) == key
),
None,
)
insertion_line = anchor.end_lineno if anchor is not None else 1
generated_source = ["\n", *generated_source]
runtime_lines[insertion_line:insertion_line] = generated_source
return "".join(runtime_lines)
def _sync_generated_data(runtime_block: str, generated_block: str) -> str:
"""Rebuild dataN/hitN in numeric order using generated data definitions."""
runtime_class = ast.parse(runtime_block).body[0]
generated_class = ast.parse(generated_block).body[0]
if not isinstance(runtime_class, ast.ClassDef) or not isinstance(generated_class, ast.ClassDef):
return runtime_block
runtime_lines = runtime_block.splitlines(keepends=True)
generated_lines = generated_block.splitlines(keepends=True)
runtime_items = {
_statement_key(statement): (index, statement)
for index, statement in enumerate(runtime_class.body)
if _statement_key(statement)
}
generated_items = {
_statement_key(statement): (index, statement)
for index, statement in enumerate(generated_class.body)
if _statement_key(statement)
}
selected_statements = [
(index, statement, _statement_key(statement))
for index, statement in enumerate(runtime_class.body)
if _is_data_key(_statement_key(statement))
or re.fullmatch(r"hit\d+", _statement_key(statement) or "")
]
generated_data = {key: value for key, value in generated_items.items() if _is_data_key(key)}
if not selected_statements and not generated_data:
return runtime_block
def numeric_key(key: str) -> int:
return int(re.search(r"\d+$", key).group())
def segment(
lines: list[str], class_node: ast.ClassDef, index: int, statement: ast.stmt
) -> list[str]:
previous_end = class_node.body[index - 1].end_lineno if index else class_node.lineno
return lines[previous_end:statement.end_lineno]
# Remove every old dataN/hitN statement together with its leading comment
# trivia. They are re-emitted below in deterministic numeric order.
removals: list[tuple[int, int]] = []
for index, statement, _ in selected_statements:
previous_end = runtime_class.body[index - 1].end_lineno if index else runtime_class.lineno
removals.append((previous_end, statement.end_lineno))
if removals:
insertion_line = min(start for start, _ in removals)
else:
insertion_anchor = next(
(
statement
for statement in runtime_class.body
if _statement_key(statement) == "associate"
or isinstance(statement, (ast.FunctionDef, ast.AsyncFunctionDef))
),
None,
)
insertion_line = (
insertion_anchor.lineno - 1
if insertion_anchor is not None
else runtime_class.end_lineno
)
for start, end in sorted(removals, reverse=True):
runtime_lines[start:end] = []
data_keys = sorted(
set(generated_data) | {key for key in runtime_items if _is_data_key(key)},
key=numeric_key,
)
rebuilt: list[str] = []
emitted_hits: set[str] = set()
for data_key in data_keys:
source_items = generated_items if data_key in generated_data else runtime_items
source_lines = generated_lines if data_key in generated_data else runtime_block.splitlines(keepends=True)
source_class = generated_class if data_key in generated_data else runtime_class
index, statement = source_items[data_key]
rebuilt.extend(segment(source_lines, source_class, index, statement))
hit_key = f"hit{numeric_key(data_key)}"
if hit_key in runtime_items:
_, hit_statement = runtime_items[hit_key]
rebuilt.extend(runtime_block.splitlines(keepends=True)[hit_statement.lineno - 1:hit_statement.end_lineno])
emitted_hits.add(hit_key)
# Retain unusual hitN fields even when no matching dataN exists.
for hit_key in sorted(
(
key
for key in runtime_items
if re.fullmatch(r"hit\d+", key) and key not in emitted_hits
),
key=numeric_key,
):
_, hit_statement = runtime_items[hit_key]
rebuilt.extend(runtime_block.splitlines(keepends=True)[hit_statement.lineno - 1:hit_statement.end_lineno])
runtime_lines[insertion_line:insertion_line] = rebuilt
return "".join(runtime_lines)
def _sync_generated_comments(runtime_block: str, generated_block: str) -> str:
"""Sync generated docstrings and leading field comments into runtime code."""
runtime_class = ast.parse(runtime_block).body[0]
generated_class = ast.parse(generated_block).body[0]
if not isinstance(runtime_class, ast.ClassDef) or not isinstance(generated_class, ast.ClassDef):
return runtime_block
runtime_lines = runtime_block.splitlines(keepends=True)
generated_lines = generated_block.splitlines(keepends=True)
replacements: list[tuple[int, int, list[str]]] = []
# The generated API description is authoritative, but executable methods
# and assignments continue to come from the runtime implementation.
runtime_doc = runtime_class.body[0] if runtime_class.body and isinstance(runtime_class.body[0], ast.Expr) and isinstance(runtime_class.body[0].value, ast.Constant) and isinstance(runtime_class.body[0].value.value, str) else None
generated_doc = generated_class.body[0] if generated_class.body and isinstance(generated_class.body[0], ast.Expr) and isinstance(generated_class.body[0].value, ast.Constant) and isinstance(generated_class.body[0].value.value, str) else None
if runtime_doc is not None and generated_doc is not None:
replacements.append(
(runtime_doc.lineno - 1, runtime_doc.end_lineno, generated_lines[generated_doc.lineno - 1:generated_doc.end_lineno])
)
elif runtime_doc is None and generated_doc is not None:
# Insert the generated skill description immediately below the class
# declaration when the old runtime class had no docstring.
replacements.append(
(
runtime_class.lineno,
runtime_class.lineno,
generated_lines[generated_doc.lineno - 1:generated_doc.end_lineno],
)
)
generated_by_key = {_statement_key(statement): (index, statement) for index, statement in enumerate(generated_class.body) if _statement_key(statement)}
for runtime_index, runtime_statement in enumerate(runtime_class.body):
key = _statement_key(runtime_statement)
if key not in generated_by_key:
continue
generated_index, generated_statement = generated_by_key[key]
runtime_previous_end = runtime_class.body[runtime_index - 1].end_lineno if runtime_index else runtime_class.lineno
generated_previous_end = generated_class.body[generated_index - 1].end_lineno if generated_index else generated_class.lineno
generated_trivia = generated_lines[generated_previous_end:generated_statement.lineno - 1]
# Only replace trivia when it carries actual generated comments. Blank
# spacing alone should not disturb hand-formatted runtime code.
if any(line.lstrip().startswith("#") for line in generated_trivia):
replacements.append(
(runtime_previous_end, runtime_statement.lineno - 1, generated_trivia)
)
for start, end, replacement in sorted(replacements, reverse=True):
runtime_lines[start:end] = replacement
return "".join(runtime_lines)
def _append_missing_methods(
runtime_block: str, generated_block: str, method_names: set[str]
) -> str:
"""Append generated class methods that the runtime skill does not define."""
runtime_class = ast.parse(runtime_block).body[0]
generated_class = ast.parse(generated_block).body[0]
if not isinstance(runtime_class, ast.ClassDef) or not isinstance(generated_class, ast.ClassDef):
return runtime_block
existing = {
statement.name
for statement in runtime_class.body
if isinstance(statement, (ast.FunctionDef, ast.AsyncFunctionDef))
}
generated_lines = generated_block.splitlines(keepends=True)
additions: list[str] = []
for statement in generated_class.body:
if not isinstance(statement, (ast.FunctionDef, ast.AsyncFunctionDef)):
continue
if statement.name not in method_names or statement.name in existing:
continue
additions.extend(generated_lines[statement.lineno - 1:statement.end_lineno])
existing.add(statement.name)
if not additions:
return runtime_block
return runtime_block.rstrip() + "\n\n" + "".join(additions).rstrip() + "\n"
def _ensure_get_data_import(source: str) -> str:
if not re.search(r"(?m)^\s*data\d+\s*=\s*get_data\(", source):
return source
pattern = re.compile(r"(?m)^(from\s+core\.basic\.skill\s+import\s+)([^\n]+)$")
match = pattern.search(source)
if match is None:
raise ValueError("generated data requires a core.basic.skill import")
imports = [item.strip() for item in match.group(2).split(",")]
if "get_data" in imports:
return source
imports.append("get_data")
return source[:match.start()] + match.group(1) + ", ".join(imports) + source[match.end():]
def _sync_module_assignment(
runtime_source: str, generated_source: str, field: str
) -> str:
"""Make a module-level assignment match the generated module."""
runtime_tree = ast.parse(runtime_source)
generated_tree = ast.parse(generated_source)
generated_statement = next(
(
statement
for statement in generated_tree.body
if _statement_key(statement) == field
),
None,
)
if generated_statement is None:
return runtime_source
runtime_statements = [
statement
for statement in runtime_tree.body
if _statement_key(statement) == field
]
runtime_lines = runtime_source.splitlines(keepends=True)
generated_lines = generated_source.splitlines(keepends=True)
assignment = generated_lines[
generated_statement.lineno - 1:generated_statement.end_lineno
]
if runtime_statements:
insertion_line = runtime_statements[0].lineno - 1
for statement in sorted(runtime_statements, key=lambda item: item.lineno, reverse=True):
runtime_lines[statement.lineno - 1:statement.end_lineno] = []
replacement = assignment
else:
imports = [
statement
for statement in runtime_tree.body
if isinstance(statement, (ast.Import, ast.ImportFrom))
]
insertion_line = imports[-1].end_lineno if imports else 0
replacement = [*assignment, "\n"]
runtime_lines[insertion_line:insertion_line] = replacement
return "".join(runtime_lines)
def _comment(block: str, name: str) -> str:
lines = [f"# MIGRATION: character 中没有同名技能“{name}”,暂不启用\n"]
lines.extend("# " + line.rstrip() + "\n" if line.strip() else "#\n" for line in block.splitlines())
return "".join(lines)
def merge(generated_path: Path, character_path: Path) -> tuple[str, dict[str, int]]:
generated = generated_path.read_text(encoding="utf-8")
character = character_path.read_text(encoding="utf-8")
generated_skills = _skills(generated, generated_path)
character_skills = _skills(character, character_path)
if not generated_skills or not character_skills:
raise ValueError(f"missing skills: {generated_path} or {character_path}")
runtime = {skill.skill_name: skill for skill in character_skills}
if len(runtime) != len(character_skills):
raise ValueError(f"duplicate skill name: {character_path}")
character_header_end, character_footer_start = _module_skill_bounds(character, character_path)
generated_header_end, _ = _module_skill_bounds(generated, generated_path)
chunks = [character[:character_header_end].rstrip() + "\n\n"]
chunks.append(generated[generated_header_end:generated_skills[0].start])
cursor = generated_skills[0].start
matched = commented = 0
for index, generated_skill in enumerate(generated_skills):
if index:
chunks.append(generated[cursor:generated_skill.start])
runtime_skill = runtime.get(generated_skill.skill_name)
if runtime_skill is None:
chunks.append(_comment(generated[generated_skill.start:generated_skill.end], generated_skill.skill_name))
commented += 1
else:
block = character[runtime_skill.start:runtime_skill.end]
generated_block = generated[generated_skill.start:generated_skill.end]
block = _sync_generated_assignment(block, generated_block, "vps")
block = _sync_generated_data(block, generated_block)
block = _sync_generated_comments(block, generated_block)
block = _set_generated_field(block, "position", generated_skill.position)
block = _set_generated_field(block, "cellPos", generated_skill.cell_pos)
block = _append_missing_methods(block, generated_block, {"vp_1", "vp_2"})
chunks.append(block.rstrip() + "\n")
matched += 1
cursor = generated_skill.end
chunks.append("\n" + character[character_footer_start:].lstrip("\r\n"))
merged = "".join(chunks)
merged = "\n".join(line.rstrip() for line in merged.splitlines()) + "\n"
merged = _sync_module_assignment(merged, generated, "prefix")
merged = _ensure_get_data_import(merged)
return merged, {
"generated": len(generated_skills), "runtime": len(character_skills),
"matched": matched, "commented": commented,
"runtime_only": len(character_skills) - matched,
}
def _atomic_write(path: Path, content: str) -> None:
"""Write beside the target and atomically replace it on Windows.
Writing an already-open Python source file directly can intermittently
produce ``OSError: [Errno 22]`` on Windows. A sibling temporary file also
prevents a failed write from leaving a partially truncated module.
"""
temporary = path.with_name(f".{path.name}.{os.getpid()}.tmp")
try:
temporary.write_bytes(content.encode("utf-8"))
for attempt in range(3):
try:
os.replace(temporary, path)
return
except OSError:
if attempt == 2:
raise
time.sleep(0.1 * (attempt + 1))
except OSError as error:
raise OSError(
error.errno,
f"failed to replace {path} using temporary file {temporary}: {error.strerror}",
str(path),
) from error
finally:
temporary.unlink(missing_ok=True)
def main() -> int:
parser = argparse.ArgumentParser()
parser.add_argument("--check", action="store_true", help="validate without writing")
args = parser.parse_args()
totals = {key: 0 for key in ("files", "generated", "runtime", "matched", "commented", "runtime_only")}
for generated_path in sorted(GENERATED_ROOT.rglob("*.py")):
character_path = CHARACTER_ROOT / generated_path.relative_to(GENERATED_ROOT)
if not character_path.exists():
print(f"SKIP {generated_path.relative_to(GENERATED_ROOT)}: no runtime profession")
continue
output, stats = merge(generated_path, character_path)
ast.parse(output, filename=str(character_path))
if not args.check:
_atomic_write(character_path, output)
totals["files"] += 1
for key, value in stats.items():
totals[key] += value
print(f"{'CHECK' if args.check else 'WRITE'} {generated_path.relative_to(GENERATED_ROOT)}: "
f"matched={stats['matched']} commented={stats['commented']} runtime_only={stats['runtime_only']}")
print("TOTAL " + " ".join(f"{key}={value}" for key, value in totals.items()))
return 0
if __name__ == "__main__":
raise SystemExit(main())
+38
View File
@@ -0,0 +1,38 @@
"""Batch-remove every line containing ``# REMOVE`` from character modules."""
from __future__ import annotations
import argparse
import ast
from pathlib import Path
ROOT = Path(__file__).resolve().parents[1]
CHARACTER_ROOT = ROOT / "backend" / "core" / "character"
def main() -> int:
parser = argparse.ArgumentParser()
parser.add_argument("--check", action="store_true", help="report only; do not write")
args = parser.parse_args()
files = removed_total = 0
for path in sorted(CHARACTER_ROOT.rglob("*.py")):
source = path.read_text(encoding="utf-8")
lines = source.splitlines(keepends=True)
kept = [line for line in lines if "# REMOVE" not in line]
removed = len(lines) - len(kept)
if not removed:
continue
output = "".join(kept)
ast.parse(output, filename=str(path))
files += 1
removed_total += removed
print(f"{'CHECK' if args.check else 'WRITE'} {path.relative_to(ROOT)}: {removed}")
if not args.check:
path.write_text(output, encoding="utf-8", newline="\n")
print(f"TOTAL files={files} lines={removed_total}")
return 0
if __name__ == "__main__":
raise SystemExit(main())