From 8038dc80b0e001972de5af5d21de1d70132cdd4a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E8=A5=BF=E7=93=9C=C2=B0?= Date: Sun, 9 Aug 2026 02:16:06 +0800 Subject: [PATCH] =?UTF-8?q?new:=E6=B7=BB=E5=8A=A0=E5=8F=AC=E5=94=A4?= =?UTF-8?q?=E5=B8=88?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../core/character/GF/mage_female/summoner.py | 1539 +++++++---------- backend/core/character/adventure.py | 2 +- backend/openapi | 2 +- 3 files changed, 663 insertions(+), 880 deletions(-) diff --git a/backend/core/character/GF/mage_female/summoner.py b/backend/core/character/GF/mage_female/summoner.py index 70e4e831..fc90f09b 100644 --- a/backend/core/character/GF/mage_female/summoner.py +++ b/backend/core/character/GF/mage_female/summoner.py @@ -1,167 +1,181 @@ # 3909d0b188e9c95311399f776e331da5 -from core.basic.skill import PassiveSkill, ActiveSkill, get_data +from core.basic.skill import PassiveSkill, ActiveSkill, get_data, _get_skill_damage_suffixes from core.basic.character import Character prefix = "mage_female/summoner/cn/skillDetail" +from enum import Enum + +class EnumDataType(Enum): + A = '附灵' + """附灵""" + + D = '秒伤' + """秒伤""" class SummonSkill(ActiveSkill): - """将 Excel 的 20 秒木桩次数换算为每秒伤害。""" + mode = [EnumDataType.A, EnumDataType.D] - def getSkillData(self, lv: int = 0): - data = super().getSkillData(lv) - mode = getattr(self, 'currentMode', '') or '秒伤' - return data / 20 if mode.startswith('秒伤') else data + def setMode(self, mode): + for i in _get_skill_damage_suffixes(self.__class__): + dataType = getattr(self, f'dataType{i}', None) + print(mode, dataType) + if mode != dataType: + setattr(self, f'power{i}', 0) + elif mode == EnumDataType.D: + power = getattr(self, f'power{i}', 1) + setattr(self, f'power{i}', power / 20) def getSkillCD(self, mode=None): - mode = mode or '秒伤' - if mode.startswith('秒伤'): + if mode == EnumDataType.D: return 1.0 + else: + self.cd = getattr(self, 'dule', {}).get('cd', getattr(self, 'cd', 0)) return super().getSkillCD(mode) # 魔法星弹 # mage_female/summoner/45442bbbe33540b4deeec29437dae70c # 3909d0b188e9c95311399f776e331da5/45442bbbe33540b4deeec29437dae70c -class Skill0(ActiveSkill): - """ - 向前方敌人发射魔法星弹,可以用方向键调整魔法星弹的飞行方向。\n - """ +# class Skill0(ActiveSkill): +# """ +# 向前方敌人发射魔法星弹,可以用方向键调整魔法星弹的飞行方向。\n +# """ - name = '魔法星弹' - cellPos = (4,1) - learnLv = 1 - masterLv = 60 - maxLv = 70 - position = 4 - rangeLv = 2 - cd = 0.5 - mp = [8, 91] - uuid = '45442bbbe33540b4deeec29437dae70c' - hasVP = False - hasUP = False - custom = get_data(f'{prefix}/{uuid}', 'custom') # noqa: E501 +# name = '魔法星弹' +# cellPos = (4,1) +# learnLv = 1 +# masterLv = 60 +# maxLv = 70 +# position = 4 +# rangeLv = 2 +# cd = 0.5 +# mp = [8, 91] +# uuid = '45442bbbe33540b4deeec29437dae70c' +# hasVP = False +# hasUP = False +# custom = get_data(f'{prefix}/{uuid}', 'custom') # noqa: E501 - # 飞行距离 : {value0}px - data0 = get_data(f'{prefix}/{uuid}', 0) - # 攻击力 : {value1} - data1 = get_data(f'{prefix}/{uuid}', 1) - hit1 = 1 - # 基本穿刺力 : {value2}% - data2 = get_data(f'{prefix}/{uuid}', 2) - # [范围信息] - # 攻击范围扩大率 : {value3}% - data3 = get_data(f'{prefix}/{uuid}', 3) +# # 飞行距离 : {value0}px +# data0 = get_data(f'{prefix}/{uuid}', 0) +# # 攻击力 : {value1} +# data1 = get_data(f'{prefix}/{uuid}', 1) +# hit1 = 1 +# # 基本穿刺力 : {value2}% +# data2 = get_data(f'{prefix}/{uuid}', 2) +# # [范围信息] +# # 攻击范围扩大率 : {value3}% +# data3 = get_data(f'{prefix}/{uuid}', 3) # 天击 # mage_female/summoner/01c3a2fb793d293a25ed8dc7a0d70c1a # 3909d0b188e9c95311399f776e331da5/01c3a2fb793d293a25ed8dc7a0d70c1a -class Skill1(ActiveSkill): - """ - 用武器向上击打敌人并使其浮空,若发动时按住上下方向键,则能向一旁侧滑后再返回攻击。\n - 转职为魔道学者后,技能类型变为独立攻击力。\n - """ +# class Skill1(ActiveSkill): +# """ +# 用武器向上击打敌人并使其浮空,若发动时按住上下方向键,则能向一旁侧滑后再返回攻击。\n +# 转职为魔道学者后,技能类型变为独立攻击力。\n +# """ - name = '天击' - cellPos = (6,1) - learnLv = 1 - masterLv = 10 - maxLv = 20 - position = 6 - rangeLv = 3 - cd = 2 - uuid = '01c3a2fb793d293a25ed8dc7a0d70c1a' - hasVP = False - hasUP = False - custom = get_data(f'{prefix}/{uuid}', 'custom') # noqa: E501 +# name = '天击' +# cellPos = (6,1) +# learnLv = 1 +# masterLv = 10 +# maxLv = 20 +# position = 6 +# rangeLv = 3 +# cd = 2 +# uuid = '01c3a2fb793d293a25ed8dc7a0d70c1a' +# hasVP = False +# hasUP = False +# custom = get_data(f'{prefix}/{uuid}', 'custom') # noqa: E501 - # 攻击力 : {value0}% - data0 = get_data(f'{prefix}/{uuid}', 0) - hit0 = 1 - # [天击]攻击速度增加 : {value1}% - data1 = get_data(f'{prefix}/{uuid}', 1) - # 浮空力比率 : {value2}% - data2 = get_data(f'{prefix}/{uuid}', 2) +# # 攻击力 : {value0}% +# data0 = get_data(f'{prefix}/{uuid}', 0) +# hit0 = 1 +# # [天击]攻击速度增加 : {value1}% +# data1 = get_data(f'{prefix}/{uuid}', 1) +# # 浮空力比率 : {value2}% +# data2 = get_data(f'{prefix}/{uuid}', 2) # 后跳 # mage_female/summoner/7822d6d52e10964a6755f142c666b494 # 3909d0b188e9c95311399f776e331da5/7822d6d52e10964a6755f142c666b494 -class Skill2(ActiveSkill): - """ - 使自身向后方小跳并避开敌人的攻击。\n - """ +# class Skill2(ActiveSkill): +# """ +# 使自身向后方小跳并避开敌人的攻击。\n +# """ - name = '后跳' - cellPos = (3,0) - learnLv = 1 - masterLv = 1 - maxLv = 1 - position = 3 - rangeLv = 1 - mp = [1, 1] - uuid = '7822d6d52e10964a6755f142c666b494' - hasVP = False - hasUP = False - custom = get_data(f'{prefix}/{uuid}', 'custom') # noqa: E501 +# name = '后跳' +# cellPos = (3,0) +# learnLv = 1 +# masterLv = 1 +# maxLv = 1 +# position = 3 +# rangeLv = 1 +# mp = [1, 1] +# uuid = '7822d6d52e10964a6755f142c666b494' +# hasVP = False +# hasUP = False +# custom = get_data(f'{prefix}/{uuid}', 'custom') # noqa: E501 # 基础精通 # mage_female/summoner/5a56514f35cf0270ae8d6c65f8fefd78 # 3909d0b188e9c95311399f776e331da5/5a56514f35cf0270ae8d6c65f8fefd78 -class Skill3(PassiveSkill): - """ - 增加基本攻击、 前冲攻击、 跳跃攻击、 [天击]的攻击力。\n - 在决斗场中,增益/减益技能、 被动技能的技能攻击力增加效果对[基础精通]无影响。\n - """ +# class Skill3(PassiveSkill): +# """ +# 增加基本攻击、 前冲攻击、 跳跃攻击、 [天击]的攻击力。\n +# 在决斗场中,增益/减益技能、 被动技能的技能攻击力增加效果对[基础精通]无影响。\n +# """ - name = '基础精通' - cellPos = (1,0) - learnLv = 1 - masterLv = 115 - maxLv = 200 - position = 1 - rangeLv = 1 - uuid = '5a56514f35cf0270ae8d6c65f8fefd78' - icon = '$common/$uuid' - hasVP = False - hasUP = False - custom = get_data(f'{prefix}/{uuid}', 'custom') # noqa: E501 +# name = '基础精通' +# cellPos = (1,0) +# learnLv = 1 +# masterLv = 115 +# maxLv = 200 +# position = 1 +# rangeLv = 1 +# uuid = '5a56514f35cf0270ae8d6c65f8fefd78' +# icon = '$common/$uuid' +# hasVP = False +# hasUP = False +# custom = get_data(f'{prefix}/{uuid}', 'custom') # noqa: E501 - # 基本攻击力变化率 : {value0}% - data0 = get_data(f'{prefix}/{uuid}', 0) - # 前冲攻击力变化率 : {value1}% - data1 = get_data(f'{prefix}/{uuid}', 1) - # 跳跃攻击力变化率 : {value2}% - data2 = get_data(f'{prefix}/{uuid}', 2) +# # 基本攻击力变化率 : {value0}% +# data0 = get_data(f'{prefix}/{uuid}', 0) +# # 前冲攻击力变化率 : {value1}% +# data1 = get_data(f'{prefix}/{uuid}', 1) +# # 跳跃攻击力变化率 : {value2}% +# data2 = get_data(f'{prefix}/{uuid}', 2) # 受身蹲伏 # mage_female/summoner/ce26c6b69d02a440a81b552bec94f03b # 3909d0b188e9c95311399f776e331da5/ce26c6b69d02a440a81b552bec94f03b -class Skill4(ActiveSkill): - """ - 使自身在倒地状态下迅速起身并采取蹲伏姿势; 蹲伏状态下,自身会进入无敌状态,效果持续一定时间。\n - """ +# class Skill4(ActiveSkill): +# """ +# 使自身在倒地状态下迅速起身并采取蹲伏姿势; 蹲伏状态下,自身会进入无敌状态,效果持续一定时间。\n +# """ - name = '受身蹲伏' - cellPos = (2,0) - learnLv = 1 - masterLv = 10 - maxLv = 20 - position = 2 - rangeLv = 1 - cd = 5 - mp = [1, 1] - uuid = 'ce26c6b69d02a440a81b552bec94f03b' - hasVP = False - hasUP = False - custom = get_data(f'{prefix}/{uuid}', 'custom') # noqa: E501 +# name = '受身蹲伏' +# cellPos = (2,0) +# learnLv = 1 +# masterLv = 10 +# maxLv = 20 +# position = 2 +# rangeLv = 1 +# cd = 5 +# mp = [1, 1] +# uuid = 'ce26c6b69d02a440a81b552bec94f03b' +# 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) +# # 蹲伏姿势最短无敌时间 : {value0}秒 +# data0 = get_data(f'{prefix}/{uuid}', 0) +# # 蹲伏姿势最长无敌时间 : {value1}秒 +# data1 = get_data(f'{prefix}/{uuid}', 1) +# # 起身时霸体时间 : {value2}秒 +# data2 = get_data(f'{prefix}/{uuid}', 2) # 技能连招 # mage_female/summoner/10b31c7e8cd2d60b9bcf3b1d3ada4b0a @@ -200,133 +214,133 @@ class Skill4(ActiveSkill): # 防具精通 # mage_female/summoner/892ef624d8bf3d7fc045f84825fd6104 # 3909d0b188e9c95311399f776e331da5/892ef624d8bf3d7fc045f84825fd6104 -class Skill5(PassiveSkill): - """ - 穿戴防具时,可以增加各种属性。\n - 穿戴的防具越多,效果越强; 可根据转职,增加不同的属性种类及数值。\n - """ +# class Skill5(PassiveSkill): +# """ +# 穿戴防具时,可以增加各种属性。\n +# 穿戴的防具越多,效果越强; 可根据转职,增加不同的属性种类及数值。\n +# """ - name = '防具精通' - cellPos = (0,1) - learnLv = 1 - masterLv = 1 - maxLv = 1 - position = 0 - rangeLv = 1 - uuid = '892ef624d8bf3d7fc045f84825fd6104' - hasVP = False - hasUP = False - custom = get_data(f'{prefix}/{uuid}', 'custom') # noqa: E501 +# name = '防具精通' +# cellPos = (0,1) +# learnLv = 1 +# masterLv = 1 +# maxLv = 1 +# position = 0 +# rangeLv = 1 +# uuid = '892ef624d8bf3d7fc045f84825fd6104' +# hasVP = False +# hasUP = False +# custom = get_data(f'{prefix}/{uuid}', 'custom') # noqa: E501 # 龙牙 # mage_female/summoner/717f1e2104fe4b796f800352fa143ecc # 3909d0b188e9c95311399f776e331da5/717f1e2104fe4b796f800352fa143ecc -class Skill6(ActiveSkill): - """ - 用武器用力击刺敌人使其进入较长时间的僵直状态。\n - """ +# class Skill6(ActiveSkill): +# """ +# 用武器用力击刺敌人使其进入较长时间的僵直状态。\n +# """ - name = '龙牙' - cellPos = (1,2) - learnLv = 5 - masterLv = 60 - maxLv = 70 - position = 1 - rangeLv = 2 - cd = 2 - mp = [14, 140] - uuid = '717f1e2104fe4b796f800352fa143ecc' - hasVP = False - hasUP = False - custom = get_data(f'{prefix}/{uuid}', 'custom') # noqa: E501 +# name = '龙牙' +# cellPos = (1,2) +# learnLv = 5 +# masterLv = 60 +# maxLv = 70 +# position = 1 +# rangeLv = 2 +# cd = 2 +# mp = [14, 140] +# uuid = '717f1e2104fe4b796f800352fa143ecc' +# hasVP = False +# hasUP = False +# custom = get_data(f'{prefix}/{uuid}', 'custom') # noqa: E501 - # 攻击力 : {value0}% - data0 = get_data(f'{prefix}/{uuid}', 0) - hit0 = 1 - # [龙牙]攻击速度增加 : {value1}% - data1 = get_data(f'{prefix}/{uuid}', 1) +# # 攻击力 : {value0}% +# data0 = get_data(f'{prefix}/{uuid}', 0) +# hit0 = 1 +# # [龙牙]攻击速度增加 : {value1}% +# data1 = get_data(f'{prefix}/{uuid}', 1) # 杰克爆弹 # mage_female/summoner/9cb6f9ed646fa87f9b7680a42ce83d1a # 3909d0b188e9c95311399f776e331da5/9cb6f9ed646fa87f9b7680a42ce83d1a -class Skill7(ActiveSkill): - """ - 向前方发射火属性的杰克爆弹。 杰克爆弹与敌人碰撞后会引发爆炸。\n - 长按技能键蓄气后发动时,增加杰克爆弹的体积和射程。\n - 在决斗场中,蓄气时间越长,攻击力越高。\n - """ +# class Skill7(ActiveSkill): +# """ +# 向前方发射火属性的杰克爆弹。 杰克爆弹与敌人碰撞后会引发爆炸。\n +# 长按技能键蓄气后发动时,增加杰克爆弹的体积和射程。\n +# 在决斗场中,蓄气时间越长,攻击力越高。\n +# """ - name = '杰克爆弹' - cellPos = (6,2) - learnLv = 5 - masterLv = 60 - maxLv = 70 - position = 6 - rangeLv = 2 - cd = 1 - mp = [18, 175] - uuid = '9cb6f9ed646fa87f9b7680a42ce83d1a' - hasVP = False - hasUP = False - custom = get_data(f'{prefix}/{uuid}', 'custom') # noqa: E501 +# name = '杰克爆弹' +# cellPos = (6,2) +# learnLv = 5 +# masterLv = 60 +# maxLv = 70 +# position = 6 +# rangeLv = 2 +# cd = 1 +# mp = [18, 175] +# uuid = '9cb6f9ed646fa87f9b7680a42ce83d1a' +# hasVP = False +# hasUP = False +# custom = get_data(f'{prefix}/{uuid}', 'custom') # noqa: E501 - # 最大蓄气时间 : {value0}秒 - data0 = get_data(f'{prefix}/{uuid}', 0) - # 爆炸攻击力 : {value1} ~ {value2}% - data1 = get_data(f'{prefix}/{uuid}', 1) - hit1 = 1 - data2 = get_data(f'{prefix}/{uuid}', 2) - # 射程 : {value3} ~ {value4}px - data3 = get_data(f'{prefix}/{uuid}', 3) - data4 = get_data(f'{prefix}/{uuid}', 4) - # [范围信息] - # 杰克爆弹大小 : {value5} ~ {value6}% - data5 = get_data(f'{prefix}/{uuid}', 5) - data6 = get_data(f'{prefix}/{uuid}', 6) - # 爆炸大小 : {value7} ~ {value8} - data7 = get_data(f'{prefix}/{uuid}', 7) - data8 = get_data(f'{prefix}/{uuid}', 8) +# # 最大蓄气时间 : {value0}秒 +# data0 = get_data(f'{prefix}/{uuid}', 0) +# # 爆炸攻击力 : {value1} ~ {value2}% +# data1 = get_data(f'{prefix}/{uuid}', 1) +# hit1 = 1 +# data2 = get_data(f'{prefix}/{uuid}', 2) +# # 射程 : {value3} ~ {value4}px +# data3 = get_data(f'{prefix}/{uuid}', 3) +# data4 = get_data(f'{prefix}/{uuid}', 4) +# # [范围信息] +# # 杰克爆弹大小 : {value5} ~ {value6}% +# data5 = get_data(f'{prefix}/{uuid}', 5) +# data6 = get_data(f'{prefix}/{uuid}', 6) +# # 爆炸大小 : {value7} ~ {value8} +# data7 = get_data(f'{prefix}/{uuid}', 7) +# data8 = get_data(f'{prefix}/{uuid}', 8) # 光电鳗 # mage_female/summoner/78bd107acd474518b606be1e4fd38239 # 3909d0b188e9c95311399f776e331da5/78bd107acd474518b606be1e4fd38239 -class Skill8(ActiveSkill): - """ - 发射光属性电鳗,使触碰到的敌人受到伤害。 电鳗会在施放技能位置周围旋转并散开。\n - 长按技能键蓄气后发动时,增加光电鳗的体积和持续时间。\n - 在决斗场中,蓄气时间越长,攻击力越高。\n - """ +# class Skill8(ActiveSkill): +# """ +# 发射光属性电鳗,使触碰到的敌人受到伤害。 电鳗会在施放技能位置周围旋转并散开。\n +# 长按技能键蓄气后发动时,增加光电鳗的体积和持续时间。\n +# 在决斗场中,蓄气时间越长,攻击力越高。\n +# """ - name = '光电鳗' - cellPos = (5,2) - learnLv = 5 - masterLv = 60 - maxLv = 70 - position = 5 - rangeLv = 2 - cd = 2 - mp = [20, 168] - uuid = '78bd107acd474518b606be1e4fd38239' - hasVP = False - hasUP = False - custom = get_data(f'{prefix}/{uuid}', 'custom') # noqa: E501 +# name = '光电鳗' +# cellPos = (5,2) +# learnLv = 5 +# masterLv = 60 +# maxLv = 70 +# position = 5 +# rangeLv = 2 +# cd = 2 +# mp = [20, 168] +# uuid = '78bd107acd474518b606be1e4fd38239' +# 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} ~ {value3}% - data2 = get_data(f'{prefix}/{uuid}', 2) - hit2 = 3 - data3 = get_data(f'{prefix}/{uuid}', 3) - # 持续时间 : {value4} ~ {value5}秒 - data4 = get_data(f'{prefix}/{uuid}', 4) - data5 = get_data(f'{prefix}/{uuid}', 5) - # [范围信息] - # 光电鳗大小 : {value6} ~ {value7}% - data6 = get_data(f'{prefix}/{uuid}', 6) - data7 = get_data(f'{prefix}/{uuid}', 7) +# # 光电鳗数量 : {value0}个 +# data0 = get_data(f'{prefix}/{uuid}', 0) +# # 最大蓄气时间 : {value1}秒 +# data1 = get_data(f'{prefix}/{uuid}', 1) +# # 攻击力 : {value2} ~ {value3}% +# data2 = get_data(f'{prefix}/{uuid}', 2) +# hit2 = 3 +# data3 = get_data(f'{prefix}/{uuid}', 3) +# # 持续时间 : {value4} ~ {value5}秒 +# data4 = get_data(f'{prefix}/{uuid}', 4) +# data5 = get_data(f'{prefix}/{uuid}', 5) +# # [范围信息] +# # 光电鳗大小 : {value6} ~ {value7}% +# data6 = get_data(f'{prefix}/{uuid}', 6) +# data7 = get_data(f'{prefix}/{uuid}', 7) # 契约召唤 : 赫德尔 # mage_female/summoner/a5fa08f5d509e6ff2ebc68856a470b5a @@ -347,6 +361,7 @@ class Skill9(SummonSkill): rangeLv = 2 cd = 10 mp = [65, 672] + dule = {'cd': 8, 'mp': [13, 134]} uuid = 'a5fa08f5d509e6ff2ebc68856a470b5a' hasVP = False hasUP = False @@ -372,67 +387,45 @@ class Skill9(SummonSkill): data8 = get_data(f'{prefix}/{uuid}', 8) # 棒暴击攻击力 : {value9}% data9 = get_data(f'{prefix}/{uuid}', 9) - hit9 = 1 - power9 = 4 #TODO:CHECK + hit9 = 1 * 4 + dataType9 = EnumDataType.D # 重击攻击力 : {value10}% data10 = get_data(f'{prefix}/{uuid}', 10) - hit10 = 1 - power10 = 6 #TODO:CHECK + hit10 = 1 * 6 + dataType10 = EnumDataType.D # 重击眩晕几率 : {value11}% data11 = get_data(f'{prefix}/{uuid}', 11) # 投掷石头攻击力 : {value12}% data12 = get_data(f'{prefix}/{uuid}', 12) - hit12 = 1 - power12 = 6 #TODO:CHECK + hit12 = 1 * 6 + dataType12 = EnumDataType.D # 3连投攻击力 : {value13}% data13 = get_data(f'{prefix}/{uuid}', 13) - hit13 = 3 - power13 = 4 #TODO:CHECK + hit13 = 3 * 4 + dataType13 = EnumDataType.D # 扩散投攻击力 : {value14}% data14 = get_data(f'{prefix}/{uuid}', 14) - hit14 = 5 - power14 = 4 #TODO:CHECK + hit14 = 5 * 4 + dataType14 = EnumDataType.D # 爆弹撞击攻击力 : {value15}% data15 = get_data(f'{prefix}/{uuid}', 15) - hit15 = 1 - power15 = 3 #TODO:CHECK + hit15 = 1 * 3 + dataType15 = EnumDataType.D # 爆弹爆炸攻击力 : {value16}% data16 = get_data(f'{prefix}/{uuid}', 16) - hit16 = 1 - power16 = 3 #TODO:CHECK + hit16 = 1 * 3 + dataType16 = EnumDataType.D # 棒暴击多段攻击力 : {value17}% data17 = get_data(f'{prefix}/{uuid}', 17) - hit17 = 0 + hit17 = 3 + dataType17 = EnumDataType.A # 棒暴击最后一击攻击力 : {value18}% data18 = get_data(f'{prefix}/{uuid}', 18) - hit18 = 0 + hit18 = 1 + dataType18 = EnumDataType.A # 在一个地图内可召唤的契约召唤兽数量上限 : {value19} data19 = get_data(f'{prefix}/{uuid}', 19) - mode = ['秒伤', '附灵'] - - def setMode(self, mode): - if mode == '秒伤': - self.hit9 = self.hit10 = self.hit12 = self.hit15 = self.hit16 = 1 - self.hit13 = 3 - self.hit14 = 5 - self.power9 = 4 #TODO:CHECK - self.power10 = self.power12 = 6 #TODO:CHECK - self.power13 = self.power14 = 4 #TODO:CHECK - self.power15 = self.power16 = 3 #TODO:CHECK - self.hit17 = 0 - self.hit18 = 0 - elif mode == '附灵': - self.hit9 = self.hit10 = self.hit12 = self.hit13 = self.hit14 = self.hit15 = self.hit16 = 0 - self.hit17 = 3 - self.hit18 = 1 - self.cd = 8 - - def getSkillCD(self, mode=None): - if mode == '秒伤': - return 1.0 - return super().getSkillCD(mode) - # 魔法护盾 # mage_female/summoner/dcd536f1674630f01fc9667bb202b851 # 3909d0b188e9c95311399f776e331da5/dcd536f1674630f01fc9667bb202b851 @@ -511,12 +504,13 @@ class Skill12(ActiveSkill): maxLv = 20 position = 7 rangeLv = 3 - cd = [30, 29, 28, 27, 26, 25, 24, 23, 22, 21, 20, 19, 18, 17, 16, 15, 14, 13, 12, 11] mp = [20, 70] uuid = '0969cd4054d93da07708108c0cc1c4b5' hasVP = False hasUP = False custom = get_data(f'{prefix}/{uuid}', 'custom') # noqa: E501 + cdList = get_data(f'{prefix}/{uuid}', "cdList") + damage = False # 瞬移后僵直时间 : {value0}秒 data0 = get_data(f'{prefix}/{uuid}', 0) @@ -568,8 +562,8 @@ class Skill13(ActiveSkill): data0 = get_data(f'{prefix}/{uuid}', 0) # 攻击力 : {value1} ~ {value2}% data1 = get_data(f'{prefix}/{uuid}', 1) - hit1 = 1 data2 = get_data(f'{prefix}/{uuid}', 2) + hit2 = 1 # 持续时间 : {value3} ~ {value4}秒 data3 = get_data(f'{prefix}/{uuid}', 3) data4 = get_data(f'{prefix}/{uuid}', 4) @@ -620,8 +614,8 @@ class Skill14(ActiveSkill): data0 = get_data(f'{prefix}/{uuid}', 0) # 攻击力 : {value1} ~ {value2}% data1 = get_data(f'{prefix}/{uuid}', 1) - hit1 = 2 data2 = get_data(f'{prefix}/{uuid}', 2) + hit2 = 1 # 射程 : {value3} ~ {value4}px data3 = get_data(f'{prefix}/{uuid}', 3) data4 = get_data(f'{prefix}/{uuid}', 4) @@ -659,13 +653,12 @@ class Skill15(ActiveSkill): # 鞭挞攻击力 : {value0}% data0 = get_data(f'{prefix}/{uuid}', 0) - hit0 = 1.7157 # [绝对支配]第1击攻击力 : {value1}% data1 = get_data(f'{prefix}/{uuid}', 1) - hit1 = 0 + hit1 = 1 # [绝对支配]第2击攻击力 : {value2}% data2 = get_data(f'{prefix}/{uuid}', 2) - hit2 = 0 + hit2 = 1 # 敌人僵直时间增加比率 : {value3}% data3 = get_data(f'{prefix}/{uuid}', 3) # 增益效果持续时间 : {value4}秒 @@ -698,243 +691,243 @@ class Skill15(ActiveSkill): # 强化 - 后跳 # mage_female/summoner/2b340542e776818b78f3212af184bd6b # 3909d0b188e9c95311399f776e331da5/2b340542e776818b78f3212af184bd6b -class Skill16(PassiveSkill): - """ - 施放技能期间、 被击或倒地的状态下,可以施放无敌状态的[后跳]。\n - 该能力适用与[后跳]不同的冷却时间,并且不受冷却时间减少效果的影响。\n - 根据施放情况的不同(强制中断技能和被敌人攻击),进入不同冷却时间。\n - 无法强制中断觉醒技能和跳跃超过一定高度的技能。\n - """ +# class Skill16(PassiveSkill): +# """ +# 施放技能期间、 被击或倒地的状态下,可以施放无敌状态的[后跳]。\n +# 该能力适用与[后跳]不同的冷却时间,并且不受冷却时间减少效果的影响。\n +# 根据施放情况的不同(强制中断技能和被敌人攻击),进入不同冷却时间。\n +# 无法强制中断觉醒技能和跳跃超过一定高度的技能。\n +# """ - name = '强化 - 后跳' - cellPos = (4,0) - learnLv = 10 - masterLv = 1 - maxLv = 1 - position = 4 - rangeLv = 1 - cd = 30 - uuid = '2b340542e776818b78f3212af184bd6b' - hasVP = False - hasUP = False - custom = get_data(f'{prefix}/{uuid}', 'custom') # noqa: E501 +# name = '强化 - 后跳' +# cellPos = (4,0) +# learnLv = 10 +# masterLv = 1 +# maxLv = 1 +# position = 4 +# rangeLv = 1 +# cd = 30 +# uuid = '2b340542e776818b78f3212af184bd6b' +# 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) +# # 强制中断技能时的冷却时间 : {value0}秒 +# data0 = get_data(f'{prefix}/{uuid}', 0) +# # 被击或倒地期间施放时的冷却时间 : {value1}秒 +# data1 = get_data(f'{prefix}/{uuid}', 1) # 跃翔 # mage_female/summoner/1fea5a626f15230237946a11a9d11582 # 3909d0b188e9c95311399f776e331da5/1fea5a626f15230237946a11a9d11582 -class Skill17(ActiveSkill): - """ - 增加自身20%的跳跃力,效果持续一定时间。\n - 效果持续期间内,再次按技能键可以结束。\n - """ +# class Skill17(ActiveSkill): +# """ +# 增加自身20%的跳跃力,效果持续一定时间。\n +# 效果持续期间内,再次按技能键可以结束。\n +# """ - name = '跃翔' - cellPos = (6,0) - learnLv = 10 - masterLv = 1 - maxLv = 1 - 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 +# name = '跃翔' +# cellPos = (6,0) +# learnLv = 10 +# masterLv = 1 +# maxLv = 1 +# 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) +# # 持续时间 : {value0}秒 +# data0 = get_data(f'{prefix}/{uuid}', 0) # 落花掌 # mage_female/summoner/8c2379737c5acc935c1731f67f607655 # 3909d0b188e9c95311399f776e331da5/8c2379737c5acc935c1731f67f607655 -class Skill18(ActiveSkill): - """ - 向前方敌人发出猛力一掌,击飞敌人。\n - 若蓄气后发动,则可以增加前进距离; 若攻击时按住向后方向键,则可以原地攻击。\n - 被击飞的敌人可对被撞击的敌人造成伤害。 蓄气达最大值后攻击敌人,可以使撞到墙壁的敌人受到附加伤害并向上弹开。\n - 转职为战斗法师后,才可以强制中断当前动作,并立即施放该技能。\n - """ +# class Skill18(ActiveSkill): +# """ +# 向前方敌人发出猛力一掌,击飞敌人。\n +# 若蓄气后发动,则可以增加前进距离; 若攻击时按住向后方向键,则可以原地攻击。\n +# 被击飞的敌人可对被撞击的敌人造成伤害。 蓄气达最大值后攻击敌人,可以使撞到墙壁的敌人受到附加伤害并向上弹开。\n +# 转职为战斗法师后,才可以强制中断当前动作,并立即施放该技能。\n +# """ - name = '落花掌' - cellPos = (9,4) - learnLv = 15 - masterLv = 60 - maxLv = 70 - position = 9 - rangeLv = 2 - cd = 3 - mp = [20, 210] - uuid = '8c2379737c5acc935c1731f67f607655' - hasVP = False - hasUP = True - custom = get_data(f'{prefix}/{uuid}', 'custom') # noqa: E501 +# name = '落花掌' +# cellPos = (9,4) +# learnLv = 15 +# masterLv = 60 +# maxLv = 70 +# position = 9 +# rangeLv = 2 +# cd = 3 +# mp = [20, 210] +# uuid = '8c2379737c5acc935c1731f67f607655' +# hasVP = False +# hasUP = True +# custom = get_data(f'{prefix}/{uuid}', 'custom') # noqa: E501 - # 攻击力 : {value0}% - data0 = get_data(f'{prefix}/{uuid}', 0) - hit0 = 1 - # 间接撞击攻击力 : {value1}% - data1 = get_data(f'{prefix}/{uuid}', 1) - hit1 = 0 - # 落花掌攻击速度增加 : {value2}% - data2 = get_data(f'{prefix}/{uuid}', 2) - # 击飞力比率 : {value3}% - data3 = get_data(f'{prefix}/{uuid}', 3) - # 最大蓄气时间 : {value4}秒 - data4 = get_data(f'{prefix}/{uuid}', 4) +# # 攻击力 : {value0}% +# data0 = get_data(f'{prefix}/{uuid}', 0) +# hit0 = 1 +# # 间接撞击攻击力 : {value1}% +# data1 = get_data(f'{prefix}/{uuid}', 1) +# hit1 = 0 +# # 落花掌攻击速度增加 : {value2}% +# data2 = get_data(f'{prefix}/{uuid}', 2) +# # 击飞力比率 : {value3}% +# data3 = get_data(f'{prefix}/{uuid}', 3) +# # 最大蓄气时间 : {value4}秒 +# data4 = get_data(f'{prefix}/{uuid}', 4) # 精灵召唤 : 亚德炎 # mage_female/summoner/ade01c1d6afc8a05055225045e89fe49 # 3909d0b188e9c95311399f776e331da5/ade01c1d6afc8a05055225045e89fe49 -class Skill19(ActiveSkill): - """ - 从周围的火属性物体中召唤出火之精灵亚德炎,使其协助自身攻击敌人。\n - 若召唤者死亡,则召唤出的精灵会消失。\n - """ +# class Skill19(ActiveSkill): +# """ +# 从周围的火属性物体中召唤出火之精灵亚德炎,使其协助自身攻击敌人。\n +# 若召唤者死亡,则召唤出的精灵会消失。\n +# """ - name = '精灵召唤 : 亚德炎' - cellPos = (1,4) - learnLv = 15 - masterLv = 60 - maxLv = 70 - position = 1 - rangeLv = 2 - cd = 10 - mp = [33, 346] - uuid = 'ade01c1d6afc8a05055225045e89fe49' - hasVP = False - hasUP = True - custom = get_data(f'{prefix}/{uuid}', 'custom') # noqa: E501 +# name = '精灵召唤 : 亚德炎' +# cellPos = (1,4) +# learnLv = 15 +# masterLv = 60 +# maxLv = 70 +# position = 1 +# rangeLv = 2 +# cd = 10 +# mp = [33, 346] +# uuid = 'ade01c1d6afc8a05055225045e89fe49' +# 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} - data2 = get_data(f'{prefix}/{uuid}', 2) - # 攻击冷却时间 : {value3}秒 - data3 = get_data(f'{prefix}/{uuid}', 3) - # 近身攻击力 : {value4}% - data4 = get_data(f'{prefix}/{uuid}', 4) +# # 精灵存在时间 : {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) # 精灵召唤 : 冰奈斯 # mage_female/summoner/ff171dc487807bb9aa28900ca9a46b41 # 3909d0b188e9c95311399f776e331da5/ff171dc487807bb9aa28900ca9a46b41 -class Skill20(ActiveSkill): - """ - 从周围的冰属性物体中召唤出冰之精灵冰奈斯,使其协助自身攻击敌人。\n - 召唤出的冰奈斯可以恢复召唤师的生命值。 (在决斗场中无效)\n - 若召唤者死亡,则召唤出的精灵会消失。\n - """ +# class Skill20(ActiveSkill): +# """ +# 从周围的冰属性物体中召唤出冰之精灵冰奈斯,使其协助自身攻击敌人。\n +# 召唤出的冰奈斯可以恢复召唤师的生命值。 (在决斗场中无效)\n +# 若召唤者死亡,则召唤出的精灵会消失。\n +# """ - name = '精灵召唤 : 冰奈斯' - cellPos = (0,4) - learnLv = 15 - masterLv = 60 - maxLv = 70 - position = 0 - rangeLv = 2 - cd = 10 - mp = [33, 346] - uuid = 'ff171dc487807bb9aa28900ca9a46b41' - hasVP = False - hasUP = True - custom = get_data(f'{prefix}/{uuid}', 'custom') # noqa: E501 +# name = '精灵召唤 : 冰奈斯' +# cellPos = (0,4) +# learnLv = 15 +# masterLv = 60 +# maxLv = 70 +# position = 0 +# rangeLv = 2 +# cd = 10 +# mp = [33, 346] +# uuid = 'ff171dc487807bb9aa28900ca9a46b41' +# 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} - 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) - # 远程攻击冰冻持续时间 : {value8}秒 - data8 = get_data(f'{prefix}/{uuid}', 8) +# # 存在时间 : {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) +# # 远程攻击冰冻持续时间 : {value8}秒 +# data8 = get_data(f'{prefix}/{uuid}', 8) # 精灵召唤 : 瑟冥特克 # mage_female/summoner/547ab2b2bd860d3e37355a9cfbc1077c # 3909d0b188e9c95311399f776e331da5/547ab2b2bd860d3e37355a9cfbc1077c -class Skill21(ActiveSkill): - """ - 从周围的暗属性物体中召唤出暗之精灵瑟冥特克,使其协助自身攻击敌人。\n - 若召唤者死亡,则召唤出的精灵会消失。\n - """ +# class Skill21(ActiveSkill): +# """ +# 从周围的暗属性物体中召唤出暗之精灵瑟冥特克,使其协助自身攻击敌人。\n +# 若召唤者死亡,则召唤出的精灵会消失。\n +# """ - name = '精灵召唤 : 瑟冥特克' - cellPos = (3,4) - learnLv = 15 - masterLv = 60 - maxLv = 70 - position = 3 - rangeLv = 2 - cd = 10 - mp = [33, 346] - uuid = '547ab2b2bd860d3e37355a9cfbc1077c' - hasVP = False - hasUP = True - custom = get_data(f'{prefix}/{uuid}', 'custom') # noqa: E501 +# name = '精灵召唤 : 瑟冥特克' +# cellPos = (3,4) +# learnLv = 15 +# masterLv = 60 +# maxLv = 70 +# position = 3 +# rangeLv = 2 +# cd = 10 +# mp = [33, 346] +# uuid = '547ab2b2bd860d3e37355a9cfbc1077c' +# 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} - data2 = get_data(f'{prefix}/{uuid}', 2) - # 攻击冷却时间 : {value3}秒 - data3 = get_data(f'{prefix}/{uuid}', 3) - # 近身攻击力 : {value4}% - data4 = get_data(f'{prefix}/{uuid}', 4) +# # 精灵存在时间 : {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) # 精灵召唤 : 雷沃斯 # mage_female/summoner/506e7ed77d517419a6e1c437a2cedb17 # 3909d0b188e9c95311399f776e331da5/506e7ed77d517419a6e1c437a2cedb17 -class Skill22(ActiveSkill): - """ - 从周围的光属性物体中召唤出光之精灵雷沃斯,使其协助自身攻击敌人。\n - 若召唤者死亡,则召唤出的精灵会消失。\n - """ +# class Skill22(ActiveSkill): +# """ +# 从周围的光属性物体中召唤出光之精灵雷沃斯,使其协助自身攻击敌人。\n +# 若召唤者死亡,则召唤出的精灵会消失。\n +# """ - name = '精灵召唤 : 雷沃斯' - cellPos = (2,4) - learnLv = 15 - masterLv = 60 - maxLv = 70 - position = 2 - rangeLv = 2 - cd = 10 - mp = [33, 346] - uuid = '506e7ed77d517419a6e1c437a2cedb17' - hasVP = False - hasUP = True - custom = get_data(f'{prefix}/{uuid}', 'custom') # noqa: E501 +# name = '精灵召唤 : 雷沃斯' +# cellPos = (2,4) +# learnLv = 15 +# masterLv = 60 +# maxLv = 70 +# position = 2 +# rangeLv = 2 +# cd = 10 +# mp = [33, 346] +# uuid = '506e7ed77d517419a6e1c437a2cedb17' +# 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} - 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) +# # 精灵存在时间 : {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) # 驱散魔法 # mage_female/summoner/9bff7f2559e003766fee2853dca00631 @@ -952,12 +945,13 @@ class Skill23(ActiveSkill): maxLv = 20 position = 8 rangeLv = 3 - cd = [20, 19.5, 19.1, 18.6, 18.1, 17.6, 17.2, 16.7, 16.2, 15.7, 15.3, 14.8, 14.3, 13.8, 13.4, 12.9, 12.4, 11.9, 11.5, 11] mp = [30, 126] uuid = '9bff7f2559e003766fee2853dca00631' hasVP = False hasUP = False custom = get_data(f'{prefix}/{uuid}', 'custom') # noqa: E501 + cdList = get_data(f'{prefix}/{uuid}', "cdList") + damage = False # 减益效果数量上限 : {value0}个 data0 = get_data(f'{prefix}/{uuid}', 0) @@ -1002,6 +996,7 @@ class Skill24(ActiveSkill): hasVP = False hasUP = False custom = get_data(f'{prefix}/{uuid}', 'custom') # noqa: E501 + damage = False # 持续时间 : {value0}秒 data0 = get_data(f'{prefix}/{uuid}', 0) @@ -1080,7 +1075,7 @@ class Skill26(PassiveSkill): associate = [ { - 'data': data0, + 'data': data3, 'type': '*skillDamage', 'skills': [ '契约召唤 : 赫德尔', @@ -1251,7 +1246,6 @@ class Skill31(ActiveSkill): # 攻击力 : {value0}% data0 = get_data(f'{prefix}/{uuid}', 0) hit0 = 1 - power0 = 1 / 1.03 #TODO:CHECK # 灼伤几率 : {value1}% data1 = get_data(f'{prefix}/{uuid}', 1) # 灼伤时间 : {value2}秒 @@ -1328,6 +1322,7 @@ class Skill32(SummonSkill): rangeLv = 2 cd = 10 mp = [90, 881] + dule = {'cd': 10, 'mp': [18, 176]} uuid = 'c77a417c43de80c4ce32c1ed405d174a' hasVP = False hasUP = True @@ -1345,16 +1340,16 @@ class Skill32(SummonSkill): data4 = get_data(f'{prefix}/{uuid}', 4) # 撕咬的近身攻击力 : {value5}% data5 = get_data(f'{prefix}/{uuid}', 5) - hit5 = 1 - power5 = 8.25 #TODO:CHECK + hit5 = 1 * 8.25 + dataType5 = EnumDataType.D # 火焰球攻击力 : {value6}% data6 = get_data(f'{prefix}/{uuid}', 6) - hit6 = 1 - power6 = 16.25 #TODO:CHECK + hit6 = 1 * 16.25 + dataType6 = EnumDataType.D # 火焰龙息攻击力 : {value7}% data7 = get_data(f'{prefix}/{uuid}', 7) - hit7 = 1 - power7 = 7 #TODO:CHECK + hit7 = 1 * 7 + dataType7 = EnumDataType.D # 灼伤几率 : {value8}% data8 = get_data(f'{prefix}/{uuid}', 8) # 灼伤持续时间 : {value9}秒 @@ -1363,7 +1358,8 @@ class Skill32(SummonSkill): data10 = get_data(f'{prefix}/{uuid}', 10) # 龙威多段攻击力 : {value11}% data11 = get_data(f'{prefix}/{uuid}', 11) - hit11 = 0 + hit11 = 5 + dataType11 = EnumDataType.A # 龙威多段攻击次数 : {value12}次 data12 = get_data(f'{prefix}/{uuid}', 12) # 在一个地图内可召唤的契约召唤兽数量上限 : {value13} @@ -1375,25 +1371,6 @@ class Skill32(SummonSkill): # 学习[心灵感应]后,龙威范围比率 : {value16}% data16 = get_data(f'{prefix}/{uuid}', 16) - mode = ['秒伤', '附灵'] - - def setMode(self, mode): - if mode == '秒伤': - self.hit5 = self.hit6 = self.hit7 = 1 - self.power5 = 8.25 #TODO:CHECK - self.power6 = 16.25 #TODO:CHECK - self.power7 = 7 #TODO:CHECK - self.hit11 = 0 - elif mode == '附灵': - self.hit5 = self.hit6 = self.hit7 = 0 - self.hit11 = 5 - self.cd = 10 - - def getSkillCD(self, mode=None): - if mode == '秒伤': - return 1.0 - return super().getSkillCD(mode) - # 召唤解除 # mage_female/summoner/2e2b7efe778656690f9c8cb6e47c3932 # 3909d0b188e9c95311399f776e331da5/2e2b7efe778656690f9c8cb6e47c3932 @@ -1420,25 +1397,25 @@ class Skill33(ActiveSkill): # 暴击 # mage_female/summoner/fc1262c19f3d0477ee8eda47b8db8696 # 3909d0b188e9c95311399f776e331da5/fc1262c19f3d0477ee8eda47b8db8696 -class Skill34(PassiveSkill): - """ - 集中精神,提升物理/魔法暴击率。\n - """ +# class Skill34(PassiveSkill): +# """ +# 集中精神,提升物理/魔法暴击率。\n +# """ - name = '暴击' - cellPos = (5,0) - learnLv = 20 - masterLv = 10 - maxLv = 20 - position = 5 - rangeLv = 3 - uuid = 'fc1262c19f3d0477ee8eda47b8db8696' - hasVP = False - hasUP = False - custom = get_data(f'{prefix}/{uuid}', 'custom') # noqa: E501 +# name = '暴击' +# cellPos = (5,0) +# learnLv = 20 +# masterLv = 10 +# maxLv = 20 +# 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) +# # 物理/魔法暴击率增加 : {value0}% +# data0 = get_data(f'{prefix}/{uuid}', 0) # 契约召唤 : 桑德尔 # mage_female/summoner/e49e57b2e8fbeceb0a2c56a0c63fe6c5 @@ -1460,6 +1437,7 @@ class Skill35(SummonSkill): rangeLv = 2 cd = 10 mp = [120, 965] + dule = {'cd': 12, 'mp': [24, 193]} uuid = 'e49e57b2e8fbeceb0a2c56a0c63fe6c5' hasVP = False hasUP = True @@ -1475,15 +1453,16 @@ class Skill35(SummonSkill): data3 = get_data(f'{prefix}/{uuid}', 3) # 挥刀攻击力 : {value4}% data4 = get_data(f'{prefix}/{uuid}', 4) - hit4 = 1 - power4 = 13 #TODO:CHECK + hit4 = 1 * 13 + dataType4 = EnumDataType.D # 直刺攻击力 : {value5}% data5 = get_data(f'{prefix}/{uuid}', 5) - hit5 = 1 - power5 = 9 #TODO:CHECK + hit5 = 1 * 9 + dataType5 = EnumDataType.D # 剑气攻击力 : {value6}% data6 = get_data(f'{prefix}/{uuid}', 6) - hit6 = 0 + hit6 = 1 + dataType6 = EnumDataType.A # 庇护光环物理/魔法防御力增加率 : {value7}% data7 = get_data(f'{prefix}/{uuid}', 7) # 在一个地图内可召唤的契约召唤兽数量上限 : {value8} @@ -1495,24 +1474,6 @@ class Skill35(SummonSkill): # 学到[心灵感应]后,剑气大小比率 : {value11}% data11 = get_data(f'{prefix}/{uuid}', 11) - mode = ['秒伤', '附灵'] - - def setMode(self, mode): - if mode == '秒伤': - self.hit4 = self.hit5 = 1 - self.power4 = 13 #TODO:CHECK - self.power5 = 9 #TODO:CHECK - self.hit6 = 0 - elif mode == '附灵': - self.hit4 = self.hit5 = 0 - self.hit6 = 1 - self.cd = 12 - - def getSkillCD(self, mode=None): - if mode == '秒伤': - return 1.0 - return super().getSkillCD(mode) - # 魔力印记 # mage_female/summoner/92360eab6e1f378902018eca681ac629 # 3909d0b188e9c95311399f776e331da5/92360eab6e1f378902018eca681ac629 @@ -1548,9 +1509,7 @@ class Skill36(ActiveSkill): data3 = get_data(f'{prefix}/{uuid}', 3) def getSkillCD(self, mode=None): - if mode == '秒伤': - return 1.0 - return super().getSkillCD(mode) + return 1.0 # 绝对支配 # mage_female/summoner/c381973d97e2e906ea53ba2add33d49c @@ -1577,6 +1536,8 @@ class Skill37(PassiveSkill): # [鞭挞]增益效果持续时间增加 : {value0}秒 data0 = get_data(f'{prefix}/{uuid}', 0) + associate = [{'data': data0, 'type': '+cd', 'skills': ['鞭挞'], 'ratio': 1}] + # 契约召唤 : 袄索 # mage_female/summoner/e4c354a89c337310aeb7041d5e742828 # 3909d0b188e9c95311399f776e331da5/e4c354a89c337310aeb7041d5e742828 @@ -1601,6 +1562,7 @@ class Skill38(SummonSkill): rangeLv = 2 cd = 10 mp = [180, 1500] + dule = {'cd': 15, 'mp': [36, 300]} uuid = 'e4c354a89c337310aeb7041d5e742828' hasVP = False hasUP = True @@ -1641,16 +1603,17 @@ class Skill38(SummonSkill): data15 = get_data(f'{prefix}/{uuid}', 15) # 穿刺攻击力 : {value16}% data16 = get_data(f'{prefix}/{uuid}', 16) - hit16 = 1 - power16 = 16 #TODO:CHECK + hit16 = 1 * 16 + dataType16 = EnumDataType.D # 吐蚀攻击力 : {value17}% x {value18} data17 = get_data(f'{prefix}/{uuid}', 17) - hit17 = 6 - power17 = 5 #TODO:CHECK + hit17 = 6 * 5 + dataType17 = EnumDataType.D data18 = get_data(f'{prefix}/{uuid}', 18) # 喷吐蚀块攻击力 : {value19}% data19 = get_data(f'{prefix}/{uuid}', 19) - hit19 = 0 + hit19 = 1 + dataType19 = EnumDataType.A # 在一个地图内可召唤的契约召唤兽数量上限 : {value20} data20 = get_data(f'{prefix}/{uuid}', 20) # 压制力 (4人队伍) : {value21}秒 ({value22}秒) @@ -1662,24 +1625,6 @@ class Skill38(SummonSkill): # 学习[逆月],被蚀蚕食的袄索的攻击范围比率 : {value24}% data24 = get_data(f'{prefix}/{uuid}', 24) - mode = ['秒伤', '附灵'] - - def setMode(self, mode): - if mode == '秒伤': - self.hit16 = 1 - self.power16 = 16 #TODO:CHECK - self.hit17 = 6 - self.power17 = 5 #TODO:CHECK - self.hit19 = 0 - elif mode == '附灵': - self.hit16 = self.hit17 = 0 - self.hit19 = 1 - self.cd = 15 - - def getSkillCD(self, mode=None): - if mode == '秒伤': - return 1.0 - return super().getSkillCD(mode) # 精灵召唤 : 亡魂默克尔 # mage_female/summoner/6a1d1f08a6572be420bb3a256c44c015 @@ -1703,6 +1648,7 @@ class Skill39(SummonSkill): rangeLv = 2 cd = 10 mp = [168, 1411] + dule = {'cd': 15, 'mp': [33, 282]} uuid = '6a1d1f08a6572be420bb3a256c44c015' hasVP = False hasUP = True @@ -1718,12 +1664,12 @@ class Skill39(SummonSkill): data3 = get_data(f'{prefix}/{uuid}', 3) # 暗黑镰刀斩击攻击力 : {value4}% data4 = get_data(f'{prefix}/{uuid}', 4) - hit4 = 1 - power4 = 14.95 #TODO:CHECK + hit4 = 1 * 13 + dataType4 = EnumDataType.D # 暗黑镰刀下斩攻击力 : {value5}% data5 = get_data(f'{prefix}/{uuid}', 5) - hit5 = 1 - power5 = 14.95 #TODO:CHECK + hit5 = 1 * 13 + dataType5 = EnumDataType.D # 死亡爆炸攻击力 : {value6}% data6 = get_data(f'{prefix}/{uuid}', 6) # 死亡爆炸诅咒几率 : {value7}% @@ -1734,13 +1680,14 @@ class Skill39(SummonSkill): data9 = get_data(f'{prefix}/{uuid}', 9) # 暗黑雾攻击力 : {value10}% data10 = get_data(f'{prefix}/{uuid}', 10) - hit10 = 4 - power10 = 6.9 #TODO:CHECK + hit10 = 4 * 6 + dataType10 = EnumDataType.D # 暗黑雾多段攻击次数 : {value11}次 data11 = get_data(f'{prefix}/{uuid}', 11) # 黑雾攻击力 : {value12}% data12 = get_data(f'{prefix}/{uuid}', 12) - hit12 = 0 + hit12 = 6 + dataType12 = EnumDataType.A # 黑雾多段攻击次数 : {value13}次 data13 = get_data(f'{prefix}/{uuid}', 13) # 在一个地图内可召唤的高级精灵数量上限 : {value14} @@ -1749,25 +1696,6 @@ class Skill39(SummonSkill): # 学习[蚀月附灵]后黑雾攻击范围比率 : {value15}% data15 = get_data(f'{prefix}/{uuid}', 15) - mode = ['秒伤', '附灵'] - - def setMode(self, mode): - if mode == '秒伤': - self.hit4 = self.hit5 = 1 - self.power4 = self.power5 = 14.95 #TODO:CHECK - self.hit10 = 4 - self.power10 = 6.9 #TODO:CHECK - self.hit12 = 0 - elif mode == '附灵': - self.hit4 = self.hit5 = self.hit10 = 0 - self.hit12 = 6 - self.power12 = 1.15 #TODO:CHECK - self.cd = 15 - - def getSkillCD(self, mode=None): - if mode == '秒伤': - return 1.0 - return super().getSkillCD(mode) # 精灵召唤 : 极光格雷林 # mage_female/summoner/a2d943797daca862a6f321aca6ac9bfa @@ -1791,6 +1719,7 @@ class Skill40(SummonSkill): rangeLv = 2 cd = 10 mp = [168, 1411] + dule = {'cd': 15, 'mp': [33, 282]} uuid = 'a2d943797daca862a6f321aca6ac9bfa' hasVP = False hasUP = True @@ -1806,16 +1735,16 @@ class Skill40(SummonSkill): data3 = get_data(f'{prefix}/{uuid}', 3) # 闪电攻击力 : {value4}% data4 = get_data(f'{prefix}/{uuid}', 4) - hit4 = 2 - power4 = 36.8 #TODO:CHECK + hit4 = 2 * 32 + dataType4 = EnumDataType.D # 闪电感电几率 : {value5}% data5 = get_data(f'{prefix}/{uuid}', 5) # 闪电感电持续时间 : {value6}秒 data6 = get_data(f'{prefix}/{uuid}', 6) # 闪电3连发攻击力 : {value7}% data7 = get_data(f'{prefix}/{uuid}', 7) - hit7 = 3 - power7 = 18.4 #TODO:CHECK + hit7 = 3 * 16 + dataType7 = EnumDataType.D # 闪电3连发感电几率 : {value8}% data8 = get_data(f'{prefix}/{uuid}', 8) # 闪电3连发感电持续时间 : {value9}秒 @@ -1832,33 +1761,14 @@ class Skill40(SummonSkill): data14 = get_data(f'{prefix}/{uuid}', 14) # 天雷攻击力 : {value15}% data15 = get_data(f'{prefix}/{uuid}', 15) - hit15 = 0 + hit15 = 1 + dataType15 = EnumDataType.A # 在一个地图内可召唤的高级精灵数量上限 : {value16} data16 = get_data(f'{prefix}/{uuid}', 16) # [范围信息] # 学习[蚀月附灵]后,落雷范围比率 : {value17}% data17 = get_data(f'{prefix}/{uuid}', 17) - mode = ['秒伤', '附灵'] - - def setMode(self, mode): - if mode == '秒伤': - self.hit4 = 2 - self.power4 = 36.8 #TODO:CHECK - self.hit7 = 3 - self.power7 = 18.4 #TODO:CHECK - self.hit15 = 0 - elif mode == '附灵': - self.hit4 = self.hit7 = 0 - self.hit15 = 1 - self.power15 = 1.15 #TODO:CHECK - self.cd = 15 - - def getSkillCD(self, mode=None): - if mode == '秒伤': - return 1.0 - return super().getSkillCD(mode) - # 精灵召唤 : 冰影阿奎利斯 # mage_female/summoner/c7bf7ccab413009640e65ca6f2f0263a # 3909d0b188e9c95311399f776e331da5/c7bf7ccab413009640e65ca6f2f0263a @@ -1880,6 +1790,7 @@ class Skill41(SummonSkill): rangeLv = 2 cd = 10 mp = [168, 1411] + dule = {'cd': 15, 'mp': [33, 282]} uuid = 'c7bf7ccab413009640e65ca6f2f0263a' hasVP = False hasUP = True @@ -1897,12 +1808,12 @@ class Skill41(SummonSkill): data4 = get_data(f'{prefix}/{uuid}', 4) # 落冰攻击力 : {value5}% data5 = get_data(f'{prefix}/{uuid}', 5) - hit5 = 3 - power5 = 16.1 #TODO:CHECK + hit5 = 3 * 14 + dataType5 = EnumDataType.D # 冰息攻击力 : {value6}% data6 = get_data(f'{prefix}/{uuid}', 6) - hit6 = 1 - power6 = 12.65 #TODO:CHECK + hit6 = 1 * 11 + dataType6 = EnumDataType.D # 冰息冰冻几率 : {value7}% data7 = get_data(f'{prefix}/{uuid}', 7) # 死亡爆炸攻击力 : {value8}% @@ -1913,13 +1824,14 @@ class Skill41(SummonSkill): data10 = get_data(f'{prefix}/{uuid}', 10) # 冰导弹攻击力 : {value11}% data11 = get_data(f'{prefix}/{uuid}', 11) - hit11 = 3 - power11 = 4.6 #TODO:CHECK + hit11 = 3 * 4 + dataType11 = EnumDataType.D # 冰导弹多段攻击次数 : {value12}次 data12 = get_data(f'{prefix}/{uuid}', 12) # 七重冰导弹攻击力 : {value13}% data13 = get_data(f'{prefix}/{uuid}', 13) - hit13 = 0 + hit13 = 7 + dataType13 = EnumDataType.A # 七重冰导弹多段攻击次数 : {value14}次 data14 = get_data(f'{prefix}/{uuid}', 14) # 冰导弹,七重冰导弹冰冻几率 : {value15}% @@ -1934,27 +1846,6 @@ class Skill41(SummonSkill): # 学习[蚀月附灵]后,七重冰导弹大小比率 : {value19}% data19 = get_data(f'{prefix}/{uuid}', 19) - mode = ['秒伤', '附灵'] - - def setMode(self, mode): - if mode == '秒伤': - self.hit5 = 3 - self.power5 = 16.1 #TODO:CHECK - self.hit6 = 1 - self.power6 = 12.65 #TODO:CHECK - self.hit11 = 3 - self.power11 = 4.6 #TODO:CHECK - self.hit13 = 0 - elif mode == '附灵': - self.hit5 = self.hit6 = self.hit11 = 0 - self.hit13 = 7 - self.power13 = 1.15 #TODO:CHECK - self.cd = 15 - - def getSkillCD(self, mode=None): - if mode == '秒伤': - return 1.0 - return super().getSkillCD(mode) # 精灵召唤 : 火焰赫瑞克 # mage_female/summoner/1b1cfab062e0768bcc889e33e1f30dbf @@ -1978,6 +1869,7 @@ class Skill42(SummonSkill): rangeLv = 2 cd = 10 mp = [168, 1411] + dule = {'cd': 15, 'mp': [33, 282]} uuid = '1b1cfab062e0768bcc889e33e1f30dbf' hasVP = False hasUP = True @@ -1993,28 +1885,32 @@ class Skill42(SummonSkill): data3 = get_data(f'{prefix}/{uuid}', 3) # 火焰剑上斩攻击力 : {value4}% data4 = get_data(f'{prefix}/{uuid}', 4) - hit4 = 1 - power4 = 17.25 #TODO:CHECK + hit4 = 1 * 15 + dataType4 = EnumDataType.D # 火焰下重斩攻击力 : {value5}% data5 = get_data(f'{prefix}/{uuid}', 5) - hit5 = 1 - power5 = 12.65 #TODO:CHECK + hit5 = 1 * 11 + dataType5 = EnumDataType.D # 火焰下重斩剑气攻击力 : {value6}% data6 = get_data(f'{prefix}/{uuid}', 6) - hit6 = 1 - power6 = 12.65 #TODO:CHECK + hit6 = 1 * 11 + dataType6 = EnumDataType.D # 火焰爆剑术第1击攻击力 : {value7}% data7 = get_data(f'{prefix}/{uuid}', 7) - hit7 = 0 + hit7 = 1 + dataType7 = EnumDataType.A # 火焰爆剑术第2击攻击力 : {value8}% data8 = get_data(f'{prefix}/{uuid}', 8) - hit8 = 0 + hit8 = 1 + dataType8 = EnumDataType.A # 火焰爆剑术第3击攻击力 : {value9}% data9 = get_data(f'{prefix}/{uuid}', 9) - hit9 = 0 + hit9 = 1 + dataType9 = EnumDataType.A # 火焰爆剑术爆炸攻击力 : {value10}% data10 = get_data(f'{prefix}/{uuid}', 10) - hit10 = 0 + hit10 = 3 + dataType10 = EnumDataType.A # 死亡爆炸攻击力 : {value11}% data11 = get_data(f'{prefix}/{uuid}', 11) # 死亡爆炸灼伤几率 : {value12}% @@ -2027,27 +1923,6 @@ class Skill42(SummonSkill): # 学习[蚀月附灵]后,火焰爆剑术范围比率 : {value15}% data15 = get_data(f'{prefix}/{uuid}', 15) - mode = ['秒伤', '附灵'] - - def setMode(self, mode): - if mode == '秒伤': - self.hit4 = self.hit5 = self.hit6 = 1 - self.power4 = 17.25 #TODO:CHECK - self.power5 = self.power6 = 12.65 #TODO:CHECK - self.hit7 = self.hit8 = self.hit9 = self.hit10 = 0 - elif mode == '附灵': - self.hit4 = self.hit5 = self.hit6 = 0 - self.hit7 = 1 - self.hit8 = 1 - self.hit9 = 1 - self.hit10 = 3 - self.power7 = self.power8 = self.power9 = self.power10 = 1.15 #TODO:CHECK - self.cd = 15 - - def getSkillCD(self, mode=None): - if mode == '秒伤': - return 1.0 - return super().getSkillCD(mode) # 召唤兽狂化 # mage_female/summoner/ecc23c980ea71450c0ad0c3fd232f329 @@ -2103,6 +1978,7 @@ class Skill44(SummonSkill): cube = 1 cd = 10 mp = [300, 2520] + dule = {'cd': 20, 'mp': [60, 504], 'cube': 1} uuid = 'fc7a3f4c2852c832a2f20af63d5d212f' hasVP = True hasUP = True @@ -2123,22 +1999,22 @@ class Skill44(SummonSkill): data5 = get_data(f'{prefix}/{uuid}', 5) # 杖攻击的攻击力 : {value6}% data6 = get_data(f'{prefix}/{uuid}', 6) - hit6 = 1 - power6 = 4 #TODO:CHECK + hit6 = 1 * 4 + dataType6 = EnumDataType.D # 冰冻针刺攻击力 : {value7}% data7 = get_data(f'{prefix}/{uuid}', 7) - hit7 = 10 - power7 = 3 #TODO:CHECK + hit7 = 10 * 3 + dataType7 = EnumDataType.D # 冰冻针刺冰冻几率 : 5% # 冰冻针刺冰冻持续时间 : 3秒 # 火球攻击力 : {value8}% data8 = get_data(f'{prefix}/{uuid}', 8) - hit8 = 1 - power8 = 11 #TODO:CHECK + hit8 = 1 * 11 + dataType8 = EnumDataType.D # 冰柱攻击力 : {value9}% data9 = get_data(f'{prefix}/{uuid}', 9) - hit9 = 1 - power9 = 9 #TODO:CHECK + hit9 = 1 * 9 + dataType9 = EnumDataType.D # 寒冰柱冰冻几率 : {value10}% data10 = get_data(f'{prefix}/{uuid}', 10) # 寒冰柱冰冻持续时间 : {value11}秒 @@ -2149,10 +2025,12 @@ class Skill44(SummonSkill): data13 = get_data(f'{prefix}/{uuid}', 13) # 陨石冲击攻击力 : {value14}% data14 = get_data(f'{prefix}/{uuid}', 14) - hit14 = 0 + hit14 = 1 + dataType14 = EnumDataType.A # 陨石冲击爆炸攻击力 : {value15}% data15 = get_data(f'{prefix}/{uuid}', 15) - hit15 = 0 + hit15 = 1 + dataType15 = EnumDataType.A # 在一个地图内可召唤的契约召唤兽数量上限 : {value16} data16 = get_data(f'{prefix}/{uuid}', 16) # [范围信息] @@ -2161,25 +2039,6 @@ class Skill44(SummonSkill): mode = ['秒伤', '附灵'] - def setMode(self, mode): - if mode == '秒伤': - self.hit6 = self.hit8 = self.hit9 = 1 - self.hit7 = 10 - self.power6 = 4 #TODO:CHECK - self.power7 = 3 #TODO:CHECK - self.power8 = 11 #TODO:CHECK - self.power9 = 9 #TODO:CHECK - self.hit14 = self.hit15 = 0 - elif mode == '附灵': - self.hit6 = self.hit7 = self.hit8 = self.hit9 = 0 - self.hit14 = 1 - self.hit15 = 1 - self.cd = 20 - - def getSkillCD(self, mode=None): - if mode == '秒伤': - return 1.0 - return super().getSkillCD(mode) def vp_1(self): """ @@ -2225,6 +2084,7 @@ class Skill45(SummonSkill): cube = 1 cd = 20 mp = [360, 3024] + dule = {'cd': 30, 'mp': [72, 604], 'cube': 1} uuid = '128b9ddef2262f40723deae4407bdb42' hasVP = True hasUP = True @@ -2247,23 +2107,24 @@ class Skill45(SummonSkill): data6 = get_data(f'{prefix}/{uuid}', 6) # 元素之触攻击力 : {value7}% data7 = get_data(f'{prefix}/{uuid}', 7) - hit7 = 1 - power7 = 11.96 #TODO:CHECK + hit7 = 1 * 9 + dataType7 = EnumDataType.D # 波刃攻击力 : {value8}% data8 = get_data(f'{prefix}/{uuid}', 8) - hit8 = 2 - power8 = 6.37 #TODO:CHECK + hit8 = 2 * 5 + dataType8 = EnumDataType.D # 闪电攻击力 : {value9}% data9 = get_data(f'{prefix}/{uuid}', 9) - hit9 = 3 - power9 = 3.9 #TODO:CHECK + hit9 = 3 * 3 + dataType9 = EnumDataType.D # 激光攻击力 : {value10}% data10 = get_data(f'{prefix}/{uuid}', 10) - hit10 = 4 - power10 = 2.6 #TODO:CHECK + hit10 = 4 * 2 + dataType10 = EnumDataType.D # 超高密度镭射光攻击力 : {value11}% data11 = get_data(f'{prefix}/{uuid}', 11) - hit11 = 0 + hit11 = 8 + dataType11 = EnumDataType.A # 超高密度镭射光多段攻击次数 : {value12}次 data12 = get_data(f'{prefix}/{uuid}', 12) # 周围每个己方精灵增加的攻击力比率 : 15% @@ -2276,42 +2137,21 @@ class Skill45(SummonSkill): # 学习[蚀月附灵]后,激光大小比率 : {value15}% data15 = get_data(f'{prefix}/{uuid}', 15) - mode = ['秒伤', '秒伤(无终结)', '附灵'] - def setMode(self, mode): - if mode == '秒伤': - self.hit7 = 1 - self.power7 = 11.96 #TODO:CHECK - self.hit8 = 2 - self.power8 = 6.37 #TODO:CHECK - self.hit9 = 3 - self.power9 = 3.9 #TODO:CHECK - self.hit10 = 4 - self.power10 = 2.6 #TODO:CHECK - self.hit11 = 0 - elif mode == '秒伤(无终结)': - self.hit7 = 1 - self.power7 = 13.13 #TODO:CHECK - self.hit8 = 2 - self.power8 = 6.5 #TODO:CHECK - self.hit9 = 3 - self.power9 = 4.55 #TODO:CHECK - self.hit10 = 4 - self.power10 = 2.6 #TODO:CHECK - self.hit11 = 0 - elif mode == '附灵': - self.hit7 = self.hit8 = self.hit9 = self.hit10 = 0 - self.hit11 = 8 - self.power11 = 1.3 #TODO:CHECK - self.cd = 30 - - def getSkillCD(self, mode=None): - if mode == '秒伤': - return 1.0 - return super().getSkillCD(mode) + if self.vp == 1: + self.hit7 = 1 * 10.1 + self.hit8 = 2 * 5 + self.hit9 = 3 * 3.5 + self.hit10 = 4 * 2 + else: + self.hit7 = 1 * 9 + self.hit8 = 2 * 5 + self.hit9 = 3 * 3 + self.hit10 = 4 * 2 + super().setMode(mode) # 自身强化 - skillDamage = 1.0 + skillDamage = 1.3 associate = [{'type': '*skillDamage', 'data': data13, 'skills': ['精灵召唤 : 亡魂默克尔', '精灵召唤 : 极光格雷林', '精灵召唤 : 冰影阿奎利斯', '精灵召唤 : 火焰赫瑞克']}] @@ -2403,7 +2243,7 @@ class Skill47(ActiveSkill): - 单次攻击力 -50%\n """ self.cd = 15 - self.power0 *= 0.5 + self.skillRation *= 0.5 def vp_2(self): """ @@ -2440,6 +2280,7 @@ class Skill48(SummonSkill): cube = 2 cd = 10 mp = [420, 3528] + dule = {'cd': 40, 'mp': [84, 705], 'cube': 1} uuid = 'ef896bbdc68660c22b6e60502044d690' hasVP = True hasUP = True @@ -2458,54 +2299,42 @@ class Skill48(SummonSkill): data4 = get_data(f'{prefix}/{uuid}', 4) # 横劈攻击力 : {value5}% data5 = get_data(f'{prefix}/{uuid}', 5) - hit5 = 1 - power5 = 9.5 #TODO:CHECK + hit5 = 1 * 9.5 + dataType5 = EnumDataType.D # 愤怒突进攻击力 : {value6}% data6 = get_data(f'{prefix}/{uuid}', 6) - hit6 = 1 - power6 = 6 #TODO:CHECK + hit6 = 1 * 6 + dataType6 = EnumDataType.D # 咆哮攻击力 : {value7}% data7 = get_data(f'{prefix}/{uuid}', 7) - hit7 = 1 - power7 = 6 #TODO:CHECK + hit7 = 1 * 6 + dataType7 = EnumDataType.D # 狂暴愤怒横劈攻击力 : {value8}% data8 = get_data(f'{prefix}/{uuid}', 8) - hit8 = 0 + hit8 = 1 + dataType8 = EnumDataType.A # 狂暴愤怒下劈攻击力 : {value9}% data9 = get_data(f'{prefix}/{uuid}', 9) - hit9 = 0 + hit9 = 1 + dataType9 = EnumDataType.A # 狂暴愤怒冲击波攻击力 : {value10}% data10 = get_data(f'{prefix}/{uuid}', 10) - hit10 = 0 + hit10 = 1 + dataType10 = EnumDataType.A # [范围信息] # 学到[心灵感应]后,狂暴愤怒范围比率 : {value11}% data11 = get_data(f'{prefix}/{uuid}', 11) - mode = ['秒伤', '秒伤(无终结)', '附灵'] + # def setMode(self, mode): + # if self.vp == 1: + # self.hit5 = 1 * 10.8 + # self.hit6 = 1 * 6 + # self.hit7 = 1 * 6.8 + # else: + # self.hit5 = 1 * 9.5 + # self.hit6 = 1 * 6 + # self.hit7 = 1 * 6 - def setMode(self, mode): - if mode == '秒伤': - self.hit5 = self.hit6 = self.hit7 = 1 - self.power5 = 9.5 #TODO:CHECK - self.power6 = self.power7 = 6 #TODO:CHECK - self.hit8 = self.hit9 = self.hit10 = 0 - elif mode == '秒伤(无终结)': - self.hit5 = self.hit6 = self.hit7 = 1 - self.power5 = 10.8 #TODO:CHECK - self.power6 = 6 #TODO:CHECK - self.power7 = 6.8 #TODO:CHECK - self.hit8 = self.hit9 = self.hit10 = 0 - elif mode == '附灵': - self.hit5 = self.hit6 = self.hit7 = 0 - self.hit8 = 1 - self.hit9 = 1 - self.hit10 = 1 - self.cd = 40 - - def getSkillCD(self, mode=None): - if mode == '秒伤': - return 1.0 - return super().getSkillCD(mode) def vp_1(self): """ @@ -2552,7 +2381,7 @@ class Skill49(PassiveSkill): # 施放速度增加 : {value1}% data1 = get_data(f'{prefix}/{uuid}', 1) - associate = [{'data': data0, 'type': '*skillDamage'}] + associate = [{'data': data0}] # 契约召唤 : 征服者卡西利亚斯 # mage_female/summoner/0b8db1e10b3abbd24d38564e708675d5 @@ -2593,51 +2422,32 @@ class Skill50(SummonSkill): data5 = get_data(f'{prefix}/{uuid}', 5) # 夜冥流 · 不动剑攻击力 : {value6}% data6 = get_data(f'{prefix}/{uuid}', 6) - hit6 = 1 - power6 = 13.2 #TODO:CHECK + hit6 = 1 * 16.2 + dataType6 = EnumDataType.D # 夜冥流 · 疾风剑攻击力 : {value7}% data7 = get_data(f'{prefix}/{uuid}', 7) - hit7 = 1 - power7 = 9.5 #TODO:CHECK + hit7 = 1 * 10.2 + dataType7 = EnumDataType.D # 夜冥流 · 残心剑攻击力 : {value8}% data8 = get_data(f'{prefix}/{uuid}', 8) - hit8 = 1 - power8 = 7.1 #TODO:CHECK + hit8 = 1 * 8.1 + dataType8 = EnumDataType.D # 必杀剑 · 千鬼杀斩击攻击力 : {value9}% data9 = get_data(f'{prefix}/{uuid}', 9) - hit9 = 0 # 必杀剑 · 千鬼杀剑气攻击力 : {value10}% data10 = get_data(f'{prefix}/{uuid}', 10) - hit10 = 0 # 剑气多段攻击次数 : {value11}次 data11 = get_data(f'{prefix}/{uuid}', 11) # 必杀剑 · 狱冥天地攻击力 : {value12}% data12 = get_data(f'{prefix}/{uuid}', 12) - mode = ['秒伤', '秒伤(无终结)', '附灵'] - def setMode(self, mode): - if mode == '秒伤': - self.hit6 = self.hit7 = self.hit8 = 1 - self.power6 = 13.2 #TODO:CHECK - self.power7 = 9.5 #TODO:CHECK - self.power8 = 7.1 #TODO:CHECK - self.hit9 = self.hit10 = 0 - elif mode == '秒伤(无终结)': - self.hit6 = self.hit7 = self.hit8 = 1 - self.power6 = 16.2 #TODO:CHECK - self.power7 = 10.2 #TODO:CHECK - self.power8 = 8.1 #TODO:CHECK - self.hit9 = self.hit10 = 0 - elif mode == '附灵': - self.hit6 = self.hit7 = self.hit8 = 0 - self.hit9 = 1 - self.hit10 = 5 + mode = '秒伤' + super().setMode(mode) def getSkillCD(self, mode=None): - if mode == '秒伤': - return 1.0 - return super().getSkillCD(mode) + return 1.0 + # 必杀剑·千鬼杀 # mage_female/summoner/4c3e0c5955661f7bbc1ed6a6d3bb7803 @@ -2664,13 +2474,13 @@ class Skill51(ActiveSkill): custom = get_data(f'{prefix}/{uuid}', 'custom') # noqa: E501 # [必杀剑·千鬼杀]的攻击力数值与[契约召唤 : 征服者卡西利亚斯]一致。 - data9 = Skill50.data9 - hit9 = 1 - data10 = Skill50.data10 - hit10 = 5 + hit0 = 1 + hit1 = 5 def getSkillData(self, lv: int = 0): source = self.char.GetSkillByName('契约召唤 : 征服者卡西利亚斯') + self.data0 = source.data9 + self.data1 = source.data10 return super().getSkillData(source.lv) # 支配之环 @@ -2720,6 +2530,7 @@ class Skill53(ActiveSkill): cube = 2 cd = 24 mp = [360, 3024] + dule = {'cd': 10, 'mp': [72, 604]} uuid = 'e9a1a1cce5aeaac5414a98a625e7285c' hasVP = True hasUP = False @@ -2753,7 +2564,6 @@ class Skill53(ActiveSkill): - 冷却时间 : 10秒\n 精灵界传送后,强化首次施放的上级精灵的[蚀月附灵]追加操作模式\n """ - self.cd = 10 def vp_2(self): """ @@ -3017,6 +2827,7 @@ class Skill58(SummonSkill): cube = 5 cd = 180 mp = [2000, 6400] + dule = {'cd': 10, 'mp': [400, 1280]} uuid = 'd89f26862e348a801b30bb9fd7125db5' hasVP = False hasUP = False @@ -3030,45 +2841,46 @@ class Skill58(SummonSkill): data2 = get_data(f'{prefix}/{uuid}', 2) # 基本攻击第1击攻击力 : {value3}% data3 = get_data(f'{prefix}/{uuid}', 3) - hit3 = 1 - power3 = 4.6 #TODO:CHECK + hit3 = 1 * 4.6 + dataType3 = EnumDataType.D # 基本攻击第1击冷却时间 : {value4}秒 data4 = get_data(f'{prefix}/{uuid}', 4) # 基本攻击第2击攻击力 : {value5}% data5 = get_data(f'{prefix}/{uuid}', 5) - hit5 = 1 - power5 = 3.795 #TODO:CHECK + hit5 = 1 * 3.795 + dataType5 = EnumDataType.D # 基本攻击第2击冷却时间 : {value6}秒 data6 = get_data(f'{prefix}/{uuid}', 6) # 蚀击突进攻击力 : {value7}% data7 = get_data(f'{prefix}/{uuid}', 7) - hit7 = 1 - power7 = 4.6 #TODO:CHECK + hit7 = 1 * 4.6 + dataType7 = EnumDataType.D # 蚀击第1击攻击力 : {value8}% data8 = get_data(f'{prefix}/{uuid}', 8) - hit8 = 1 - power8 = 4.6 #TODO:CHECK + hit8 = 1 * 4.6 + dataType8 = EnumDataType.D # 蚀击第2击攻击力 : {value9}% data9 = get_data(f'{prefix}/{uuid}', 9) - hit9 = 1 - power9 = 4.6 #TODO:CHECK + hit9 = 1 * 4.6 + dataType9 = EnumDataType.D # 蚀击冷却时间 : {value10}秒 data10 = get_data(f'{prefix}/{uuid}', 10) # 蚀握突进多段攻击力 : {value11}% data11 = get_data(f'{prefix}/{uuid}', 11) - hit11 = 4 - power11 = 3.335 #TODO:CHECK + hit11 = 4 * 3.335 + dataType11 = EnumDataType.D # 蚀握突进多段攻击次数 : {value12}次 data12 = get_data(f'{prefix}/{uuid}', 12) # 蚀握抓取攻击力 : {value13}% data13 = get_data(f'{prefix}/{uuid}', 13) - hit13 = 1 - power13 = 3.335 #TODO:CHECK + hit13 = 1 * 3.335 + dataType13 = EnumDataType.D # 蚀握冷却时间 : {value14}秒 data14 = get_data(f'{prefix}/{uuid}', 14) # 蚀旋攻击力 : {value15}% data15 = get_data(f'{prefix}/{uuid}', 15) - hit15 = 0 + hit15 = 3 + dataType15 = EnumDataType.A # 蚀旋多段攻击次数 : {value16}次 data16 = get_data(f'{prefix}/{uuid}', 16) # 召唤结束时冲击波攻击力 : {value17}% @@ -3083,36 +2895,8 @@ class Skill58(SummonSkill): data21 = get_data(f'{prefix}/{uuid}', 21) # 自身强化 - skillDamage = 1.0 + skillDamage = 1.15 - mode = ['秒伤', '秒伤(无终结)', '附灵'] - - def setMode(self, mode): - if mode == '秒伤': - self.hit3 = self.hit5 = self.hit7 = self.hit8 = self.hit9 = self.hit13 = 1 - self.power3 = self.power7 = self.power8 = self.power9 = 4.6 #TODO:CHECK - self.power5 = 3.795 #TODO:CHECK - self.hit11 = 4 - self.power11 = self.power13 = 3.335 #TODO:CHECK - self.hit15 = 0 - elif mode == '秒伤(无终结)': - self.hit3 = self.hit5 = self.hit7 = self.hit8 = self.hit9 = self.hit13 = 1 - self.power3 = 5.75 #TODO:CHECK - self.power5 = 4.6 #TODO:CHECK - self.power7 = self.power8 = self.power9 = 6.555 #TODO:CHECK - self.hit11 = 4 - self.power11 = self.power13 = 3.565 #TODO:CHECK - self.hit15 = 0 - elif mode == '附灵': - self.hit3 = self.hit5 = self.hit7 = self.hit8 = self.hit9 = self.hit11 = self.hit13 = 0 - self.hit15 = 3 - self.power15 = 1.15 #TODO:CHECK - self.cd = 10 - - def getSkillCD(self, mode=None): - if mode == '秒伤': - return 1.0 - return super().getSkillCD(mode) # 咒令 : 逆月之蚀 # mage_female/summoner/3b712691fcaaaa80438e5e31b6451884 @@ -3144,33 +2928,34 @@ class Skill59(ActiveSkill): # 蚀下落攻击力 : {value0}% data0 = get_data(f'{prefix}/{uuid}', 0) hit0 = 1 - power0 = 1.15 #TODO:CHECK # 蚀啃噬攻击力 : {value1} data1 = get_data(f'{prefix}/{uuid}', 1) hit1 = 5 - power1 = 1.15 #TODO:CHECK # 蚀啃噬多段攻击次数 : {value2}次 data2 = get_data(f'{prefix}/{uuid}', 2) # 蚀回归攻击力 : {value3}% data3 = get_data(f'{prefix}/{uuid}', 3) hit3 = 7 - power3 = 1.15 #TODO:CHECK # 蚀回归多段攻击次数 : {value4}次 data4 = get_data(f'{prefix}/{uuid}', 4) # 下劈攻击力 : {value5}% data5 = get_data(f'{prefix}/{uuid}', 5) hit5 = 1 - power5 = 1.15 #TODO:CHECK # 压制力 (4人队伍) : {value6}秒 ({value7}秒) data6 = get_data(f'{prefix}/{uuid}', 6) data7 = get_data(f'{prefix}/{uuid}', 7) # 自身强化 - skillDamage = 1.0 + skillDamage = 1.15 - def skillInfo(self, mode: str | None = None): - self.lv = self.char.GetSkillByName('传说召唤 : 逆月者拉莫斯').lv - return super().skillInfo(mode) + @property + def lv(self): + """技能等级""" + return self.char.GetSkillByName("传说召唤 : 逆月者拉莫斯").lv + + @lv.setter + def lv(self, value): + ... # 逆月 # mage_female/summoner/10834437b54f67c4c27f92eaabd59bb1 @@ -3237,16 +3022,14 @@ class Skill61(ActiveSkill): # 蚀多段攻击力 : {value0}% data0 = get_data(f'{prefix}/{uuid}', 0) hit0 = 9 - power0 = 1.3 #TODO:CHECK # 蚀多段攻击次数 : {value1}次 data1 = get_data(f'{prefix}/{uuid}', 1) # 蚀爆炸攻击力 : {value2}% data2 = get_data(f'{prefix}/{uuid}', 2) hit2 = 1 - power2 = 1.3 #TODO:CHECK # 自身强化 - skillDamage = 1.0 + skillDamage = 1.3 # 魔月·德拉里昂 # mage_female/summoner/efdf4a86b626b8887a145dea6f46a4fe @@ -3297,11 +3080,11 @@ class classChange(Character): self.jobId = '3909d0b188e9c95311399f776e331da5' self.jobGrowId = '618326026de1a1f1cfba5dbd0b8396e7' - self.武器选项 = ['魔杖', '法杖', '矛', '棍棒'] # TODO - self.输出类型选项 = ['魔法百分比'] # TODO - self.输出类型 = '魔法百分比' # TODO - self.防具精通属性 = ['智力'] # TODO + self.武器选项 = ['魔杖', '法杖', '矛', '棍棒'] + self.输出类型选项 = ['魔法百分比'] + self.输出类型 = '魔法百分比' + self.防具精通属性 = ['智力'] self.防具类型 = '布甲' - self.buff = 1.86 # TODO + self.buff = 1.86 super().__init__(equVersion, __name__) diff --git a/backend/core/character/adventure.py b/backend/core/character/adventure.py index 8aec6188..0a3a23f6 100644 --- a/backend/core/character/adventure.py +++ b/backend/core/character/adventure.py @@ -93,7 +93,7 @@ adv = [ 'title': '魔法师(女)', 'children': [ {'id': 0, 'name': 'elementalist', 'title': '知源·元素师', 'open': True, 'class': 'GF.mage_female.elementalist'}, - {'id': 1, 'name': 'summoner', 'title': '知源·召唤师', 'open': False}, + {'id': 1, 'name': 'summoner', 'title': '知源·召唤师', 'open': True, 'class': 'GF.mage_female.summoner'}, {'id': 2, 'name': 'battle_mage', 'title': '知源·战斗法师', 'open': True, 'class': 'GF.mage_female.battle_mage'}, {'id': 3, 'name': 'witch', 'title': '知源·魔道学者', 'open': True, 'class': 'GF.mage_female.witch'}, { diff --git a/backend/openapi b/backend/openapi index 6390891d..966f7397 160000 --- a/backend/openapi +++ b/backend/openapi @@ -1 +1 @@ -Subproject commit 6390891da584c105f9457d0706a35fd3f2efc040 +Subproject commit 966f7397547659b7fa524e5a2604d3f52518e499