From dd85b0845275980fa7f8fb9d5213e6a2789edc89 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E8=A5=BF=E7=93=9C=C2=B0?= Date: Wed, 30 Sep 2026 12:32:03 +0800 Subject: [PATCH] update --- backend/core/character/GF/archer/chimera.py | 11 +++++++++++ backend/core/character/GF/archer/muse.py | 1 + backend/core/character/GF/demonic_lancer/dragoon.py | 2 ++ .../core/character/GF/demonic_lancer/skirmisher.py | 2 ++ backend/core/character/GF/demonic_lancer/vanguard.py | 5 +++++ backend/core/character/GF/extra/creator.py | 1 + backend/core/character/GF/extra/dark_knight.py | 1 + .../character/GF/fighter_female/brawler_female.py | 4 ++++ .../character/GF/fighter_female/grappler_female.py | 1 + .../character/GF/fighter_female/nenmaster_female.py | 8 ++++++++ .../character/GF/fighter_female/striker_female.py | 1 + .../core/character/GF/fighter_male/brawler_male.py | 4 ++++ .../core/character/GF/fighter_male/nenmaster_male.py | 2 ++ backend/core/character/GF/gunblader/agent.py | 6 ++++++ .../core/character/GF/gunblader/trouble_shooter.py | 2 ++ .../character/GF/gunner_female/launcher_female.py | 3 +++ backend/core/character/GF/gunner_female/paramedic.py | 1 + .../core/character/GF/gunner_female/ranger_female.py | 1 + .../character/GF/gunner_female/spitfire_female.py | 1 + backend/core/character/GF/gunner_male/assault.py | 4 +++- .../core/character/GF/gunner_male/mechanic_male.py | 1 + backend/core/character/GF/imperialknight/breaker.py | 1 + backend/core/character/GF/knight/dragon_knight.py | 3 +++ backend/core/character/GF/mage_female/battle_mage.py | 1 + backend/core/character/GF/mage_female/summoner.py | 4 ++++ backend/core/character/GF/mage_female/witch.py | 1 + .../core/character/GF/mage_male/dimension_walker.py | 2 ++ backend/core/character/GF/mage_male/glacial_master.py | 1 + backend/core/character/GF/priest_female/inquistor.py | 1 + backend/core/character/GF/priest_female/mistress.py | 2 ++ backend/core/character/GF/priest_female/sorceress.py | 2 ++ .../core/character/GF/priest_male/crusader_male.py | 7 +++++++ .../core/character/GF/swordman_female/dark_templar.py | 5 +++++ .../core/character/GF/swordman_female/sword_master.py | 2 ++ backend/core/character/GF/swordman_female/vegabond.py | 1 + backend/core/character/GF/swordman_male/asura.py | 4 ++++ backend/core/character/GF/swordman_male/ghostblade.py | 4 ++++ .../core/character/GF/swordman_male/soul_bender.py | 5 +++++ .../core/character/GF/swordman_male/weapon_master.py | 3 +++ backend/core/character/GF/thief/kunoichi.py | 4 ++++ backend/core/character/GF/thief/rogue.py | 2 ++ backend/core/character/GF/thief/shadow_dancer.py | 9 +++++++++ 42 files changed, 125 insertions(+), 1 deletion(-) diff --git a/backend/core/character/GF/archer/chimera.py b/backend/core/character/GF/archer/chimera.py index bd4cf39a..e773b9b6 100644 --- a/backend/core/character/GF/archer/chimera.py +++ b/backend/core/character/GF/archer/chimera.py @@ -289,6 +289,7 @@ class Skill9(ActiveSkill): maxLv = 70 position = 2 rangeLv = 2 + # TOCHEK-STONE:基础 CD:Stone 为 5 秒,dcalc 为 10 秒;Stone 页面展示原值一半,回收利用 15% 另计。 cd = 10 #5 mp = [28, 165] uuid = "05a07505ea102d31540afdb1fbec491f" @@ -463,6 +464,7 @@ class Skill15(ActiveSkill): maxLv = 70 position = 4 rangeLv = 2 + # TOCHEK-STONE:基础 CD:Stone 为 5 秒,dcalc 为 10 秒;Stone 页面展示原值一半,回收利用 15% 另计。 cd = 10 mp = [45, 267] uuid = "3f4ddb4df24a9f78c7778568e80107dd" @@ -483,6 +485,7 @@ class Skill15(ActiveSkill): # 华丽回收 # archer/chimera/438e291ec31b6b831b0c8e33ff41f138 # b9cb48777665de22c006fabaf9a560b3/438e291ec31b6b831b0c8e33ff41f138 +# TOCHEK-STONE:基础类:Stone 为 PassiveSkill,dcalc 为 ActiveSkill;确认面板、关联与计算行为是否等价。 class Skill16(ActiveSkill): """ 利用奇美拉的遗物变形魔方来“回收利用”武器。 回收时可对周围的敌人造成伤害。\n @@ -580,6 +583,7 @@ class Skill19(ActiveSkill): maxLv = 70 position = 2 rangeLv = 2 + # TOCHEK-STONE:基础 CD:Stone 为 9 秒,dcalc 为 18 秒;Stone 页面展示原值一半,回收利用 15% 另计。 cd = 18 #9 mp = [87, 516] uuid = "683ecd07d9b89dbe9afee8570a3a828d" @@ -673,6 +677,7 @@ class Skill22(ActiveSkill): maxLv = 70 position = 3 rangeLv = 2 + # TOCHEK-STONE:基础 CD:Stone 为 7.5 秒,dcalc 为 15 秒;Stone 页面展示原值一半,回收利用 15% 另计。 cd = 15 #7.5 mp = [64, 379] uuid = "04c7b4361ca81f041e868169ff044252" @@ -738,6 +743,7 @@ class Skill24(ActiveSkill): maxLv = 70 position = 4 rangeLv = 2 + # TOCHEK-STONE:基础 CD:Stone 为 15 秒,dcalc 为 30 秒;Stone 页面展示原值一半,回收利用 15% 另计。 cd = 30 #15 mp = [175, 1036] uuid = "e862146efac2fce3de3a12f038f4116b" @@ -911,6 +917,7 @@ class Skill27(ActiveSkill): position = 4 rangeLv = 2 cube = 1 + # TOCHEK-STONE:基础 CD:Stone 为 20 秒,dcalc 为 40 秒;Stone 页面展示原值一半,回收利用 15% 另计。 cd = 40 #20 mp = [283, 1672] uuid = "61c8cb33dd20b4ff335e8deed70d3d9c" @@ -970,6 +977,7 @@ class Skill28(ActiveSkill): position = 3 rangeLv = 2 cube = 2 + # TOCHEK-STONE:基础 CD:Stone 为 45 秒,dcalc 为 90 秒;Stone 页面展示原值一半,回收利用 15% 另计。 cd = 90 #45 mp = [490, 2900] uuid = "38c485cc41f46a7959ae4336325aa45c" @@ -1140,6 +1148,7 @@ class Skill32(ActiveSkill): position = 3 rangeLv = 2 cube = 3 + # TOCHEK-STONE:基础 CD:Stone 为 40 秒,dcalc 为 80 秒;Stone 页面展示原值一半,回收利用 15% 另计。 cd = 80 #40 mp = [214, 959] uuid = "b39ccc3dadab9d94569430e39cdf7d60" @@ -1218,6 +1227,7 @@ class Skill34(ActiveSkill): position = 1 rangeLv = 2 cube = 3 + # TOCHEK-STONE:基础 CD:Stone 为 40 秒,dcalc 为 80 秒;Stone 页面展示原值一半,回收利用 15% 另计。 cd = 80 #40 mp = [989, 4441] uuid = "0dbdeaf846356f8b9380f8fbb8e97377" @@ -1277,6 +1287,7 @@ class Skill35(ActiveSkill): position = 1 rangeLv = 2 cube = 5 + # TOCHEK-STONE:基础 CD:Stone 为 45 秒,dcalc 为 90 秒;Stone 页面展示原值一半,回收利用 15% 另计。 cd = 90 mp = [1239, 5566] uuid = "56fca6cff74d828e92301a40cd2148b9" diff --git a/backend/core/character/GF/archer/muse.py b/backend/core/character/GF/archer/muse.py index fbd7050a..01c1a2ec 100644 --- a/backend/core/character/GF/archer/muse.py +++ b/backend/core/character/GF/archer/muse.py @@ -495,6 +495,7 @@ class Skill15(PassiveBufferSkill): # 魔力音波速度增加持续时间 : {value4}秒 data4 = get_data(f'{prefix}/{uuid}', 4) # 魔力音波攻击力 : {value5} x {value6} + # TOCHEK-STONE:Stone 对 data5 使用 1 级来源值 actual,无 game_bug;dcalc 直接读取 data5,核对成长是否等价。 data5 = get_data(f'{prefix}/{uuid}', 5) data6 = get_data(f'{prefix}/{uuid}', 6) # 每消耗1格神兽力,魔力音波攻击力增加率 : {value7}% diff --git a/backend/core/character/GF/demonic_lancer/dragoon.py b/backend/core/character/GF/demonic_lancer/dragoon.py index cedae731..fa5d9e6e 100644 --- a/backend/core/character/GF/demonic_lancer/dragoon.py +++ b/backend/core/character/GF/demonic_lancer/dragoon.py @@ -1438,10 +1438,12 @@ class Skill38(ActiveSkill): # 移动距离上限 : {value0}px data0 = get_data(f'{prefix}/{uuid}', 0) # 利刃风车多段攻击攻击力 : {value1}% X {value2} + # TOCHEK-STONE:Stone 的 data1 原值为占位符,actual 为 Lv1=3616、每级+3616×7/69;dcalc 直接读取 data1。 data1 = get_data(f'{prefix}/{uuid}', 1) hit1 = 11 data2 = get_data(f'{prefix}/{uuid}', 2) # 利刃风车爆炸攻击力 : {value3}% + # TOCHEK-STONE:Stone 的 data3 原值为占位符,actual 为 Lv1=76570、每级+76570×7/69;dcalc 直接读取 data3。 data3 = get_data(f'{prefix}/{uuid}', 3) hit3 = 1 # [范围信息] diff --git a/backend/core/character/GF/demonic_lancer/skirmisher.py b/backend/core/character/GF/demonic_lancer/skirmisher.py index e78c8186..c3e758b9 100644 --- a/backend/core/character/GF/demonic_lancer/skirmisher.py +++ b/backend/core/character/GF/demonic_lancer/skirmisher.py @@ -8,6 +8,7 @@ prefix = "demonic_lancer/skirmisher/cn/skillDetail" # 刺击 # demonic_lancer/skirmisher/9dda3f4a849dba1a288dd65e116860f2 # 3deb7be5f01953ac8b1ecaa1e25e0420/9dda3f4a849dba1a288dd65e116860f2 +# TOCHEK-STONE:技能集合:dcalc 有 4 个 Stone 当前职业文件未建模的技能 ID;逐项确认计算范围,不据此认定错误。 class Skill0(ActiveSkill): """ 向前方进行普通的刺击。 用枪头击打敌人时,可以造成更多的伤害。\n @@ -1236,6 +1237,7 @@ class Skill32(ActiveSkill): data12 = get_data(f'{prefix}/{uuid}', 12) # [流云幻灭]追加效果 # - 斗气长枪攻击力 +10% + # TOCHEK-STONE:dcalc 有额外 1.1 倍,Stone 当前规则没有;核对版本和 VP 条件。 skillRation = 1.1 # 风火燎原 diff --git a/backend/core/character/GF/demonic_lancer/vanguard.py b/backend/core/character/GF/demonic_lancer/vanguard.py index 9907cea0..51195718 100644 --- a/backend/core/character/GF/demonic_lancer/vanguard.py +++ b/backend/core/character/GF/demonic_lancer/vanguard.py @@ -8,6 +8,7 @@ prefix = "demonic_lancer/vanguard/cn/skillDetail" # 刺击 # demonic_lancer/vanguard/9dda3f4a849dba1a288dd65e116860f2 # 3deb7be5f01953ac8b1ecaa1e25e0420/9dda3f4a849dba1a288dd65e116860f2 +# TOCHEK-STONE:技能集合:dcalc 有 6 个 Stone 当前职业文件未建模的技能 ID;逐项确认计算范围,不据此认定错误。 class Skill0(ActiveSkill): """ 向前方进行普通的刺击。 用枪头击打敌人时,可以造成更多的伤害。\n @@ -536,12 +537,15 @@ class Skill17(ActiveSkill): # 后跳中使用时冷却时间 : {value0}秒 data0 = get_data(f'{prefix}/{uuid}', 0) # 接平x第一下 + # TOCHEK-STONE:Stone 无对应伤害原字段,下斩 actual 固定 423.82;dcalc 用 data1 计算,核对系数。 data1 = [(i * 1.091 * 1.051) for i in [0, 289.33]] hit1 = 1 # 接平x第二下 + # TOCHEK-STONE:Stone 无对应伤害原字段,横斩 actual 固定 501.72;dcalc 用 data2 计算,核对系数。 data2 = [(i * 1.091 * 1.051) for i in [0, 399.60]] hit2 = 0 # 接平x第三下 + # TOCHEK-STONE:Stone 无对应伤害原字段,强力横斩 actual 固定 618.36;dcalc 用 data3 计算,核对系数。 data3 = [(i * 1.091 * 1.051) for i in [0, 429.59]] hit3 = 0 @@ -720,6 +724,7 @@ class Skill22(ActiveSkill): # 战戟猛攻 # demonic_lancer/vanguard/92360eab6e1f378902018eca681ac629 # 3deb7be5f01953ac8b1ecaa1e25e0420/92360eab6e1f378902018eca681ac629 +# TOCHEK-STONE:基础类:Stone 为 PassiveSkill,dcalc 为 ActiveSkill;确认面板、关联与计算行为是否等价。 class Skill23(ActiveSkill): """ 突破极限,其他技能命中敌人后可以强制中断并施放[战戟猛攻],发动强力一击。(觉醒技能除外)\n diff --git a/backend/core/character/GF/extra/creator.py b/backend/core/character/GF/extra/creator.py index ff238437..7793bb46 100644 --- a/backend/core/character/GF/extra/creator.py +++ b/backend/core/character/GF/extra/creator.py @@ -18,6 +18,7 @@ class CreatorActiveSkill(ActiveSkill): # 烈火燎原 # extra/creator/527cdc3ecca985e18ef819d456532b26 # b522a95d819a5559b775deb9a490e49a/527cdc3ecca985e18ef819d456532b26 +# TOCHEK-STONE:技能集合:Stone 独有「觉醒之心」,核对是否属于 dcalc 的伤害计算范围。 class Skill0(CreatorActiveSkill): """ 从地表生成火焰攻击敌人。\n diff --git a/backend/core/character/GF/extra/dark_knight.py b/backend/core/character/GF/extra/dark_knight.py index d8ed3105..bdfd867d 100644 --- a/backend/core/character/GF/extra/dark_knight.py +++ b/backend/core/character/GF/extra/dark_knight.py @@ -41,6 +41,7 @@ class DarkKnightSkill(ActiveSkill): # 暗影斩 # extra/dark_knight/eb71e1d82d92c7e1d40500a0dcd77aa6 # 17e417b31686389eebff6d754c3401ea/eb71e1d82d92c7e1d40500a0dcd77aa6 +# TOCHEK-STONE:职业计算口径:Stone 仅单技能冷却并固定页面物理上下文;dcalc 有连招排列,需统一比较场景。 class Skill0(DarkKnightSkill): """ 凝聚力量并对前方敌人发出强力的暗属性斩击。\n diff --git a/backend/core/character/GF/fighter_female/brawler_female.py b/backend/core/character/GF/fighter_female/brawler_female.py index 0a23c008..c7c4e734 100644 --- a/backend/core/character/GF/fighter_female/brawler_female.py +++ b/backend/core/character/GF/fighter_female/brawler_female.py @@ -1219,6 +1219,7 @@ class Skill34(ActiveSkill): vps = get_data(f'{prefix}/{uuid}', "vps") # noqa: E501 # 罗网攻击力 : {value0}% + # TOCHEK-STONE:Stone 对 data0 使用 1 级来源值 actual,无 game_bug;dcalc 读取原 data0,核对等级成长。 data0 = get_data(f'{prefix}/{uuid}', 0) hit0 = 1 # 强制控制持续时间 : {value1}秒 @@ -1233,6 +1234,7 @@ class Skill34(ActiveSkill): data5 = get_data(f'{prefix}/{uuid}', 5) # [发动涂毒时附加中毒攻击力] # 罗网攻击时中毒攻击力 : {value6}% + # TOCHEK-STONE:Stone 对 data6 使用 1 级来源值 actual,无 game_bug;dcalc 读取原 data6,核对等级成长。 data6 = get_data(f'{prefix}/{uuid}', 6) hit6 = 1 dataType6 = EnumDamageType.ENCHANTPOISON @@ -1509,6 +1511,7 @@ class Skill38(ActiveSkill): # 生活用品攻击力 : {value0}% data0 = get_data(f'{prefix}/{uuid}', 0) + # TOCHEK-STONE:两段 hit:Stone 均为 50,dcalc 均为 25;先确认投掷模式一致。 hit0 = 25 # 生活用品多段攻击次数 : {value1}次 data1 = get_data(f'{prefix}/{uuid}', 1) @@ -1529,6 +1532,7 @@ class Skill38(ActiveSkill): # - [发动涂毒时附加中毒攻击力] - # 生活用品攻击时中毒攻击力 : {value8}% data8 = get_data(f'{prefix}/{uuid}', 8) + # TOCHEK-STONE:两段 hit:Stone 均为 50,dcalc 均为 25;先确认投掷模式一致。 hit8 = 25 # 炸药爆炸攻击时中毒攻击力 : {value9}% data9 = get_data(f'{prefix}/{uuid}', 9) diff --git a/backend/core/character/GF/fighter_female/grappler_female.py b/backend/core/character/GF/fighter_female/grappler_female.py index 0ab8d9d6..b45bf7c9 100644 --- a/backend/core/character/GF/fighter_female/grappler_female.py +++ b/backend/core/character/GF/fighter_female/grappler_female.py @@ -640,6 +640,7 @@ class Skill20(ActiveSkill): maxLv = 70 position = 3 rangeLv = 2 + # TOCHEK-STONE:基础 CD:Stone 为 8.47 秒,dcalc 为 8.5 秒;核对被动、VP、形态后的最终冷却。 cd = 8.5 mp = [30, 336] uuid = "c27418ae613c647527200a7ca17d97fd" diff --git a/backend/core/character/GF/fighter_female/nenmaster_female.py b/backend/core/character/GF/fighter_female/nenmaster_female.py index cd40fc85..c647fa39 100644 --- a/backend/core/character/GF/fighter_female/nenmaster_female.py +++ b/backend/core/character/GF/fighter_female/nenmaster_female.py @@ -710,6 +710,7 @@ class Skill22(ActiveSkill): # 基本攻击力和技能攻击力增加率 : {value2}% data2 = get_data(f'{prefix}/{uuid}', 2) # 属性攻击力增加率 : {value3}% + # TOCHEK-STONE:Stone 对 data3 使用固定 21 的 actual,无 game_bug;dcalc 读取原 data3,核对换装倍率。 data3 = get_data(f'{prefix}/{uuid}', 3) # 气玉弹 @@ -1232,21 +1233,27 @@ class Skill36(ActiveSkill): custom = get_data(f'{prefix}/{uuid}', 'custom') # noqa: E501 # 第1击攻击力 : {value0}% + # TOCHEK-STONE:Stone 对 data0 使用 1 级来源值 actual,无 game_bug;dcalc 读取原 data0,核对等级成长。 data0 = get_data(f'{prefix}/{uuid}', 0) hit0 = 1 # 第2击攻击力 : {value1}% + # TOCHEK-STONE:Stone 对 data1 使用 1 级来源值 actual,无 game_bug;dcalc 读取原 data1,核对等级成长。 data1 = get_data(f'{prefix}/{uuid}', 1) hit1 = 1 # 第3击攻击力 : {value2}% + # TOCHEK-STONE:Stone 对 data2 使用 1 级来源值 actual,无 game_bug;dcalc 读取原 data2,核对等级成长。 data2 = get_data(f'{prefix}/{uuid}', 2) hit2 = 1 # 第4击攻击力 : {value3}% + # TOCHEK-STONE:Stone 对 data3 使用 1 级来源值 actual,无 game_bug;dcalc 读取原 data3,核对等级成长。 data3 = get_data(f'{prefix}/{uuid}', 3) hit3 = 1 # 第5击攻击力 : {value4}% + # TOCHEK-STONE:Stone 对 data4 使用 1 级来源值 actual,无 game_bug;dcalc 读取原 data4,核对等级成长。 data4 = get_data(f'{prefix}/{uuid}', 4) hit4 = 1 # 前冲攻击力 : {value5}% + # TOCHEK-STONE:Stone 对 data5 使用 1 级来源值 actual,无 game_bug;dcalc 读取原 data5,核对等级成长。 data5 = get_data(f'{prefix}/{uuid}', 5) hit5 = 1 # 跳跃攻击力 : {value6}% @@ -1477,6 +1484,7 @@ class Skill41(ActiveSkill): # 小狂龙爆炸攻击力 : {value0}% data0 = get_data(f'{prefix}/{uuid}', 0) + # TOCHEK-STONE:静态 hit:Stone 为 5,dcalc 为 6;尚需排除形态、VP 与倍率补偿。 hit0 = 6 # 最后一击巨大狂龙爆炸攻击力 : {value1}% data1 = get_data(f'{prefix}/{uuid}', 1) diff --git a/backend/core/character/GF/fighter_female/striker_female.py b/backend/core/character/GF/fighter_female/striker_female.py index c735839b..0e11cc3a 100644 --- a/backend/core/character/GF/fighter_female/striker_female.py +++ b/backend/core/character/GF/fighter_female/striker_female.py @@ -1144,6 +1144,7 @@ class Skill33(ActiveSkill): # 连续踢击攻击力 : {value0}% data0 = get_data(f'{prefix}/{uuid}', 0) + # TOCHEK-STONE:静态 hit:Stone 为 16,dcalc 为 10;尚需排除形态、VP 与倍率补偿。 hit0 = 10 # 连续踢击多段攻击次数 : {value1}次 data1 = get_data(f'{prefix}/{uuid}', 1) diff --git a/backend/core/character/GF/fighter_male/brawler_male.py b/backend/core/character/GF/fighter_male/brawler_male.py index d72cc6e5..72d4c6dd 100644 --- a/backend/core/character/GF/fighter_male/brawler_male.py +++ b/backend/core/character/GF/fighter_male/brawler_male.py @@ -1025,6 +1025,7 @@ class Skill31(ActiveSkill): rangeLv = 2 # cd = 6 # 投掷CD + # TOCHEK-STONE:基础 CD:Stone 为 2.9 秒,dcalc 为 3 秒;核对被动、VP、形态后的最终冷却。 cd = 3 mp = [50, 420] uuid = '38612d8f2561edc2eb68d5057a837bfa' @@ -1198,6 +1199,7 @@ class Skill35(ActiveSkill): rangeLv = 2 # cd = 6 # 投掷cd + # TOCHEK-STONE:基础 CD:Stone 为 3.9 秒,dcalc 为 4 秒;核对被动、VP、形态后的最终冷却。 cd = 4 mp = [50, 420] uuid = 'bc11d28c04e01923a093d65752c55516' @@ -1829,9 +1831,11 @@ class Skill45(ActiveSkill): # 打击攻击力 : {value0}% data0 = get_data(f'{prefix}/{uuid}', 0) + # TOCHEK-STONE:对应两段静态 hit:Stone 为 5,dcalc 为 4;尚需排除形态、VP 与倍率补偿。 hit0 = 4 # 出血攻击力 : {value1}% data1 = get_data(f'{prefix}/{uuid}', 1) + # TOCHEK-STONE:对应两段静态 hit:Stone 为 5,dcalc 为 4;尚需排除形态、VP 与倍率补偿。 hit1 = 4 # 出血持续时间 : {value2}秒 data2 = get_data(f'{prefix}/{uuid}', 2) diff --git a/backend/core/character/GF/fighter_male/nenmaster_male.py b/backend/core/character/GF/fighter_male/nenmaster_male.py index 639a9bfe..5673a7d0 100644 --- a/backend/core/character/GF/fighter_male/nenmaster_male.py +++ b/backend/core/character/GF/fighter_male/nenmaster_male.py @@ -296,6 +296,7 @@ class Skill10(ActiveSkill): maxLv = 20 position = 4 rangeLv = 3 + # TOCHEK-STONE:基础 CD:Stone 为 12 秒,dcalc 为 7 秒;核对被动、VP、形态后的最终冷却。 cd = 7 mp = [6, 84] uuid = 'f2fb27162beb0b87a7cb9af7900e95f2' @@ -742,6 +743,7 @@ class Skill23(ActiveSkill): # 持续时间 : {value0}秒 data0 = get_data(f'{prefix}/{uuid}', 0) # 属性攻击力增加率 : {value1}% + # TOCHEK-STONE:Stone 对 data1 使用固定 21 的 actual,无 game_bug;dcalc 读取原 data1,核对属性攻击力倍率。 data1 = get_data(f'{prefix}/{uuid}', 1) # 魔法攻击力增加率 : {value2}% data2 = get_data(f'{prefix}/{uuid}', 2) diff --git a/backend/core/character/GF/gunblader/agent.py b/backend/core/character/GF/gunblader/agent.py index 50bd98b5..a6e8a2f5 100644 --- a/backend/core/character/GF/gunblader/agent.py +++ b/backend/core/character/GF/gunblader/agent.py @@ -50,6 +50,7 @@ class Skill1(ActiveSkill): maxLv = 70 position = 2 rangeLv = 2 + # TOCHEK-STONE:基础 CD:Stone 为 2 秒,dcalc 为 5 秒;核对被动、VP、形态后的最终冷却。 cd = 5 mp = [6, 40] uuid = '92360eab6e1f378902018eca681ac629' @@ -224,6 +225,7 @@ class Skill7(ActiveSkill): maxLv = 70 position = 2 rangeLv = 2 + # TOCHEK-STONE:基础 CD:Stone 为 3 秒,dcalc 为 4 秒;核对被动、VP、形态后的最终冷却。 cd = 4 mp = [20, 200] uuid = '1fadde0eece18649caddbca7bd58cc2f' @@ -320,6 +322,7 @@ class Skill10(ActiveSkill): maxLv = 70 position = 2 rangeLv = 2 + # TOCHEK-STONE:基础 CD:Stone 为 3 秒,dcalc 为 4.5 秒;核对被动、VP、形态后的最终冷却。 cd = 4.5 mp = [12, 125] uuid = 'd0cdaca82892e54097f22a1f60817048' @@ -438,6 +441,7 @@ class Skill14(ActiveSkill): maxLv = 70 position = 8 rangeLv = 2 + # TOCHEK-STONE:基础 CD:Stone 为 5 秒,dcalc 为 6 秒;核对被动、VP、形态后的最终冷却。 cd = 6 mp = [12, 500] uuid = '9dda3f4a849dba1a288dd65e116860f2' @@ -535,6 +539,7 @@ class Skill17(ActiveSkill): maxLv = 70 position = 0 rangeLv = 2 + # TOCHEK-STONE:基础 CD:Stone 为 25 秒,dcalc 为 10 秒;核对被动、VP、形态后的最终冷却。 cd = 10 mp = [23, 241] uuid = '0232c151ef3731c2dede51931a374723' @@ -1141,6 +1146,7 @@ class Skill32(ActiveSkill): # 压制力 (4人队伍) : {value1}秒 ({value2}秒) data1 = get_data(f'{prefix}/{uuid}', 1) data2 = get_data(f'{prefix}/{uuid}', 2) + # TOCHEK-STONE:对应段 power:Stone 为 1,dcalc 为 1.1;核对旧版额外 10% 是否应移除。 power0 = 1.1 # 以前记录的10%增加 # 终极锁定 diff --git a/backend/core/character/GF/gunblader/trouble_shooter.py b/backend/core/character/GF/gunblader/trouble_shooter.py index 8e1dc786..4940c15f 100644 --- a/backend/core/character/GF/gunblader/trouble_shooter.py +++ b/backend/core/character/GF/gunblader/trouble_shooter.py @@ -474,6 +474,7 @@ class Skill15(ActiveSkill): maxLv = 1 position = 6 rangeLv = 2 + # TOCHEK-STONE:基础 CD:Stone 为 4 秒,dcalc 为 5 秒;核对被动、VP、形态后的最终冷却。 cd = 5 mp = [150, 150] uuid = 'ade01c1d6afc8a05055225045e89fe49' @@ -1151,6 +1152,7 @@ class Skill31(ActiveSkill): # 压制力 (4人队伍) : {value4}秒 ({value5}秒) data4 = get_data(f'{prefix}/{uuid}', 4) data5 = get_data(f'{prefix}/{uuid}', 5) + # TOCHEK-STONE:首段 power:Stone 为 1,dcalc 为 1.15;核对旧版额外 15% 是否应移除。 power0 = 1.15 # 完美击球 diff --git a/backend/core/character/GF/gunner_female/launcher_female.py b/backend/core/character/GF/gunner_female/launcher_female.py index fff7c694..dba6bab5 100644 --- a/backend/core/character/GF/gunner_female/launcher_female.py +++ b/backend/core/character/GF/gunner_female/launcher_female.py @@ -294,6 +294,7 @@ class Skill9(ActiveSkill): # 重火器拔击 # gunner_female/launcher_female/1dad88963abdc96b091fcab185a8820d # 944b9aab492c15a8474f96947ceeb9e4/1dad88963abdc96b091fcab185a8820d +# TOCHEK-STONE:基础类:Stone 为 PassiveSkill,dcalc 为 ActiveSkill;确认面板、关联与计算行为是否等价。 class Skill10(ActiveSkill): """ 使重火器的拔出动作出现攻击判定,命中敌人后可以将敌人击退。\n @@ -586,6 +587,7 @@ class Skill19(ActiveSkill): data1 = get_data(f'{prefix}/{uuid}', 1) # 喷火攻击力 : {value2}% data2 = get_data(f'{prefix}/{uuid}', 2) + # TOCHEK-STONE:对应段 hit:Stone 为 15,dcalc 为 8;核对持续喷射次数与最终倍率。 hit2 = 8 # 敌人僵直时间增加率 : {value3}% data3 = get_data(f'{prefix}/{uuid}', 3) @@ -1081,6 +1083,7 @@ class Skill34(ActiveSkill): vps = get_data(f'{prefix}/{uuid}', "vps") # noqa: E501 # 爆弹攻击力 : {value0}% + # TOCHEK-STONE:对应段 Stone 为 8×0.6,dcalc 为 8×1;说明写有攻击力减少 40%,核对计算分支。 data0 = get_data(f'{prefix}/{uuid}', 0) hit0 = 8 # 爆弹攻击次数 : {value1}次 diff --git a/backend/core/character/GF/gunner_female/paramedic.py b/backend/core/character/GF/gunner_female/paramedic.py index 28b8b0a1..dfb9f11d 100644 --- a/backend/core/character/GF/gunner_female/paramedic.py +++ b/backend/core/character/GF/gunner_female/paramedic.py @@ -478,6 +478,7 @@ class Skill15(PassiveBufferSkill): # 技能冷却时间减少率 : {value5}% data5 = get_data(f'{prefix}/{uuid}', 5) # 激光攻击力 : {value6} X {value7} + # TOCHEK-STONE:Stone 对 data6 使用 1 级来源值 actual,无 game_bug;dcalc 读取原 data6,核对等级成长。 data6 = get_data(f'{prefix}/{uuid}', 6) data7 = get_data(f'{prefix}/{uuid}', 7) # 使用[军械强化 (进阶)]时的追加轰炸次数 : {value8}次 diff --git a/backend/core/character/GF/gunner_female/ranger_female.py b/backend/core/character/GF/gunner_female/ranger_female.py index d69deaf8..ccc5ec79 100644 --- a/backend/core/character/GF/gunner_female/ranger_female.py +++ b/backend/core/character/GF/gunner_female/ranger_female.py @@ -600,6 +600,7 @@ class Skill19(ActiveSkill): # 子弹攻击力 : {value0}% data0 = get_data(f'{prefix}/{uuid}', 0) + # TOCHEK-STONE:单段 hit:Stone 为 1,dcalc 为 2;核对当前版本实际段数。 hit0 = 2 # 暴击增加 : {value1}% data1 = get_data(f'{prefix}/{uuid}', 1) diff --git a/backend/core/character/GF/gunner_female/spitfire_female.py b/backend/core/character/GF/gunner_female/spitfire_female.py index 2b3fbdef..44ea106b 100644 --- a/backend/core/character/GF/gunner_female/spitfire_female.py +++ b/backend/core/character/GF/gunner_female/spitfire_female.py @@ -1121,6 +1121,7 @@ class Skill34(ActiveSkill): custom = get_data(f'{prefix}/{uuid}', 'custom') # noqa: E501 # 爆炸攻击力 : {value0} + # TOCHEK-STONE:Stone actual=data0÷3.5,且标记 game_bug;游戏显示与实际行为分别核对。 data0 = get_data(f'{prefix}/{uuid}', 0) hit0 = 1 # 子弹增益效果持续时间 : {value1}秒 diff --git a/backend/core/character/GF/gunner_male/assault.py b/backend/core/character/GF/gunner_male/assault.py index b9d54b24..d12dc50a 100644 --- a/backend/core/character/GF/gunner_male/assault.py +++ b/backend/core/character/GF/gunner_male/assault.py @@ -7,6 +7,7 @@ prefix = "gunner_male/assault/cn/skillDetail" # 膝撞 # gunner_male/assault/717f1e2104fe4b796f800352fa143ecc # afdf3b989339de478e85b614d274d1ef/717f1e2104fe4b796f800352fa143ecc +# TOCHEK-STONE:技能集合:dcalc 有 19 个 Stone 当前职业文件未建模的技能 ID;逐项确认计算范围,不据此认定错误。 class Skill0(ActiveSkill): """ 向敌人发出强威力的膝撞并使其浮空,发动的瞬间存在霸体判定。\n @@ -314,6 +315,7 @@ class Skill10(ActiveSkill): cellPos = (5,2) position = 5 rangeLv = 2 + # TOCHEK-STONE:基础 CD:Stone 为 5 秒,dcalc 为 6 秒;核对被动、VP、形态后的最终冷却。 cd = 6 mp = [17, 178] uuid = "e1003c1bd2566829cfed17bb4ce8d460" @@ -1086,6 +1088,7 @@ class Skill33(ActiveSkill): def setMode(self, mode): if mode == 'AT-SO步行者': + # TOCHEK-STONE:Stone VP2 保留搭乘与步行两种形态,dcalc 有形态门控;核对同一 VP2 输入和 Excel。 if self.vp == 2: self.skillRation *= 0 self.cdReduce *= 1 - 0.3 @@ -1883,4 +1886,3 @@ class classChange(Character): self.buff = 2.083 # TODO super().__init__(equVersion, __name__) - diff --git a/backend/core/character/GF/gunner_male/mechanic_male.py b/backend/core/character/GF/gunner_male/mechanic_male.py index b81f7dba..ab0e6d78 100644 --- a/backend/core/character/GF/gunner_male/mechanic_male.py +++ b/backend/core/character/GF/gunner_male/mechanic_male.py @@ -256,6 +256,7 @@ class Skill8(ActiveSkill): # 攻击力 : {value0}% data0 = get_data(f'{prefix}/{uuid}', 0) + # TOCHEK-STONE:Stone hit=2、actual=data0×2;dcalc hit=1。Stone 仅 actual、无 game_bug,先查 SkillData 转换与显示值。 hit0 = 1 # 持续时间 : {value1}秒 data1 = get_data(f'{prefix}/{uuid}', 1) diff --git a/backend/core/character/GF/imperialknight/breaker.py b/backend/core/character/GF/imperialknight/breaker.py index 219e894a..c348a38b 100644 --- a/backend/core/character/GF/imperialknight/breaker.py +++ b/backend/core/character/GF/imperialknight/breaker.py @@ -1016,6 +1016,7 @@ class Skill30(ActiveSkill): """ ... + # TOCHEK-STONE:Stone VP2 标记 game_bug、无 actual;核对 VP2 倍率与游戏行为。 def vp_2(self): """ [怒海冲击]\n diff --git a/backend/core/character/GF/knight/dragon_knight.py b/backend/core/character/GF/knight/dragon_knight.py index 346918cd..fb825dc4 100644 --- a/backend/core/character/GF/knight/dragon_knight.py +++ b/backend/core/character/GF/knight/dragon_knight.py @@ -594,6 +594,7 @@ class Skill19(ActiveSkill): maxLv = 1 position = 1 rangeLv = 2 + # TOCHEK-STONE:基础 CD:Stone 为 4 秒,dcalc 为 5 秒;核对被动、VP、形态后的最终冷却。 cd = 5 mp = [30, 30] uuid = '4c5271b0ecce120d7fc113f377fae76f' @@ -654,6 +655,7 @@ class Skill21(ActiveSkill): maxLv = 70 position = 1 rangeLv = 2 + # TOCHEK-STONE:基础 CD:Stone 为 4 秒,dcalc 为 5 秒;核对被动、VP、形态后的最终冷却。 cd = 5 mp = [30, 252] uuid = 'dde3b443bd5e61d90c34e5ee771e2c28' @@ -1261,6 +1263,7 @@ class Skill34(ActiveSkill): # 魔龙之力 # knight/dragon_knight/96bd070daacc6c1b81d9f24e6d77f48a # 0ee8fa5dc525c1a1f23fc6911e921e4a/96bd070daacc6c1b81d9f24e6d77f48a +# TOCHEK-STONE:基础类:Stone 为 PassiveSkill,dcalc 为 ActiveSkill;确认面板、关联与计算行为是否等价。 class Skill35(ActiveSkill): """ 释放体内流淌的魔龙之力。\n diff --git a/backend/core/character/GF/mage_female/battle_mage.py b/backend/core/character/GF/mage_female/battle_mage.py index 59fa53b1..9a5410d0 100644 --- a/backend/core/character/GF/mage_female/battle_mage.py +++ b/backend/core/character/GF/mage_female/battle_mage.py @@ -622,6 +622,7 @@ class Skill19(ActiveSkill): # 实战型替身草人 # mage_female/battle_mage/fc30c667a58e1dd54b5d214e04f4f23c # 3909d0b188e9c95311399f776e331da5/fc30c667a58e1dd54b5d214e04f4f23c +# TOCHEK-STONE:基础类:Stone 为 ActiveSkill,dcalc 为 PassiveSkill;确认面板、关联与计算行为是否等价。 class Skill20(PassiveSkill): """ 克服无数次危机后总结出的独门替身草人使用方法。\n diff --git a/backend/core/character/GF/mage_female/summoner.py b/backend/core/character/GF/mage_female/summoner.py index f604063a..ecbb47a6 100644 --- a/backend/core/character/GF/mage_female/summoner.py +++ b/backend/core/character/GF/mage_female/summoner.py @@ -36,6 +36,7 @@ class SummonSkill(ActiveSkill): # 魔法星弹 # mage_female/summoner/45442bbbe33540b4deeec29437dae70c # 3909d0b188e9c95311399f776e331da5/45442bbbe33540b4deeec29437dae70c +# TOCHEK-STONE:技能集合:dcalc 有 31 个 Stone 当前职业文件未建模的技能 ID;逐项确认计算范围,不据此认定错误。 class Skill0(ActiveSkill): """ 向前方敌人发射魔法星弹,可以用方向键调整魔法星弹的飞行方向。\n @@ -633,6 +634,7 @@ class Skill16(ActiveSkill): maxLv = 70 position = 4 rangeLv = 3 + # TOCHEK-STONE:基础 CD:Stone 为 3 秒,dcalc 为 1 秒;核对被动、VP、形态后的最终冷却。 cd = 1 mp = [15, 154] uuid = '3d8f3d438405d79f8d3ed68072674d1e' @@ -643,9 +645,11 @@ class Skill16(ActiveSkill): # 鞭挞攻击力 : {value0}% data0 = get_data(f'{prefix}/{uuid}', 0) # [绝对支配]第1击攻击力 : {value1}% + # TOCHEK-STONE:Stone 两段 actual 按 1 级来源值计算成长,且标记 game_bug;核对显示值与实际伤害。 data1 = get_data(f'{prefix}/{uuid}', 1) hit1 = 1 # [绝对支配]第2击攻击力 : {value2}% + # TOCHEK-STONE:Stone 两段 actual 按 1 级来源值计算成长,且标记 game_bug;核对显示值与实际伤害。 data2 = get_data(f'{prefix}/{uuid}', 2) hit2 = 1 # 敌人僵直时间增加比率 : {value3}% diff --git a/backend/core/character/GF/mage_female/witch.py b/backend/core/character/GF/mage_female/witch.py index a5fd470d..88e1543c 100644 --- a/backend/core/character/GF/mage_female/witch.py +++ b/backend/core/character/GF/mage_female/witch.py @@ -2406,6 +2406,7 @@ class Skill48(ActiveSkill): # 魔道学助手 # mage_female/witch/bda6ddc3adc54328a759a6203b68eeea # 3909d0b188e9c95311399f776e331da5/bda6ddc3adc54328a759a6203b68eeea +# TOCHEK-STONE:基础类:Stone 为 PassiveSkill,dcalc 为 ActiveSkill;确认面板、关联与计算行为是否等价。 class Skill49(ActiveSkill): """ 魔道学者经过长时间的研究,结合魔道学和法米利尔的能量制作了人造生命体——何蒙库鲁兹并将其当做自己的助手,大大增强特定技能的效果。\n diff --git a/backend/core/character/GF/mage_male/dimension_walker.py b/backend/core/character/GF/mage_male/dimension_walker.py index 26736865..85cc87e0 100644 --- a/backend/core/character/GF/mage_male/dimension_walker.py +++ b/backend/core/character/GF/mage_male/dimension_walker.py @@ -834,9 +834,11 @@ class Skill25(ActiveSkill): # 召唤持续时间 : {value1}秒 data1 = get_data(f'{prefix}/{uuid}', 1) # 近距离攻击力 : {value2} + # TOCHEK-STONE:Stone 对 data2 使用 1 级来源值 actual,无 game_bug;dcalc 读取原 data2,核对等级成长。 data2 = get_data(f'{prefix}/{uuid}', 2) hit2 = 1 # 远程攻击力 : {value3} + # TOCHEK-STONE:Stone 对 data3 使用 1 级来源值 actual,无 game_bug;dcalc 读取原 data3,核对等级成长。 data3 = get_data(f'{prefix}/{uuid}', 3) # 独立攻击力增加率 : {value4}% data4 = get_data(f'{prefix}/{uuid}', 4) diff --git a/backend/core/character/GF/mage_male/glacial_master.py b/backend/core/character/GF/mage_male/glacial_master.py index f136ce01..800d126c 100644 --- a/backend/core/character/GF/mage_male/glacial_master.py +++ b/backend/core/character/GF/mage_male/glacial_master.py @@ -726,6 +726,7 @@ class Skill23(ActiveSkill): data1 = get_data(f'{prefix}/{uuid}', 1) # [学习冰凝之魂后] # 大型长枪攻击力 : {value2}% + # TOCHEK-STONE:Stone 对 data2 使用 actual=data2×2,无 game_bug;dcalc 读取原 data2,核对最终段伤害。 data2 = get_data(f'{prefix}/{uuid}', 2) hit2 = 8 # 大型长枪多段攻击次数 : {value3}次 diff --git a/backend/core/character/GF/priest_female/inquistor.py b/backend/core/character/GF/priest_female/inquistor.py index 37d5d6e5..2f5a68b2 100644 --- a/backend/core/character/GF/priest_female/inquistor.py +++ b/backend/core/character/GF/priest_female/inquistor.py @@ -765,6 +765,7 @@ class Skill24(ActiveSkill): # 神焰伤害持续时间 : {value2}秒 data2 = get_data(f'{prefix}/{uuid}', 2) # 施放时攻击力 : {value3}% + # TOCHEK-STONE:Stone 对 data3 使用 1 级来源值 actual,无 game_bug;dcalc 读取原 data3,核对等级成长。 data3 = get_data(f'{prefix}/{uuid}', 3) hit3 = 1 # 除[火焰精华]之外的基本攻击和转职技能攻击力增加率 : {value4}% diff --git a/backend/core/character/GF/priest_female/mistress.py b/backend/core/character/GF/priest_female/mistress.py index df975789..4721ccbf 100644 --- a/backend/core/character/GF/priest_female/mistress.py +++ b/backend/core/character/GF/priest_female/mistress.py @@ -724,6 +724,7 @@ class Skill22(ActiveSkill): data11 = get_data(f'{prefix}/{uuid}', 11) # [消耗罪业层数时获得效果] # [通用] - 技能攻击力增加率 : {value12}% + # TOCHEK-STONE:Stone 对 data12 使用固定 7% actual(SkillData 为 2%),无 game_bug;dcalc 读取原 data12,核对倍率。 data12 = get_data(f'{prefix}/{uuid}', 12) # [欲望之手] - 罪业层数消耗量 : {value13} data13 = get_data(f'{prefix}/{uuid}', 13) @@ -1392,6 +1393,7 @@ class Skill35(ActiveSkill): # 智慧起源 : 原罪结晶 # priest_female/mistress/e5c09f9132a48dc1d695968592cc5878 # 0c1b401bb09241570d364420b3ba3fd7/e5c09f9132a48dc1d695968592cc5878 +# TOCHEK-STONE:基础类:Stone 为 PassiveSkill,dcalc 为 ActiveSkill;确认面板、关联与计算行为是否等价。 class Skill36(ActiveSkill): """ 领悟宇宙初始的智慧,增加基本攻击力和技能攻击力,并增加[原罪释放·净化]变身时间,魔化状态下攻击时,对周围进行光环攻击。\n diff --git a/backend/core/character/GF/priest_female/sorceress.py b/backend/core/character/GF/priest_female/sorceress.py index d679deed..6733aad8 100644 --- a/backend/core/character/GF/priest_female/sorceress.py +++ b/backend/core/character/GF/priest_female/sorceress.py @@ -931,6 +931,7 @@ class Skill28(ActiveSkill): data1 = get_data(f'{prefix}/{uuid}', 1) # 范围爆炸攻击力 : {value2}% data2 = get_data(f'{prefix}/{uuid}', 2) + # TOCHEK-STONE:Stone 特定形态另乘 1.4723/1.0783;核对 dcalc 相同形态。 hit2 = 0 # 范围多段攻击次数 : {value3} data3 = get_data(f'{prefix}/{uuid}', 3) @@ -1026,6 +1027,7 @@ class Skill29(ActiveSkill): # 神龙如意珠 # priest_female/sorceress/6e33d47e6622ce03b6defdd912140270 # 0c1b401bb09241570d364420b3ba3fd7/6e33d47e6622ce03b6defdd912140270 +# TOCHEK-STONE:基础类:Stone 为 PassiveSkill,dcalc 为 ActiveSkill;确认面板、关联与计算行为是否等价。 class Skill30(ActiveSkill): """ 吸收神龙的力量,攻击时造成额外的魔法伤害,并增加驱魔师的基本攻击和所有技能攻击力。\n diff --git a/backend/core/character/GF/priest_male/crusader_male.py b/backend/core/character/GF/priest_male/crusader_male.py index df2c6e2c..9b1bc196 100644 --- a/backend/core/character/GF/priest_male/crusader_male.py +++ b/backend/core/character/GF/priest_male/crusader_male.py @@ -656,6 +656,7 @@ class Skill20(ActiveSkill): # 最大蓄气时攻击力 : {value2} data2 = get_data(f'{prefix}/{uuid}', 2) # 穿刺敌人数量上限 : {value3} + # TOCHEK-STONE:Stone 描述修正标记 game_bug、无 actual;核对显示描述,不直接改伤害。 data3 = get_data(f'{prefix}/{uuid}', 3) # 最大蓄气时穿刺数量上限 : {value4} data4 = get_data(f'{prefix}/{uuid}', 4) @@ -1461,6 +1462,7 @@ class Skill39(ActiveBufferSkill): position = 6 rangeLv = 5 cube = 5 + # TOCHEK-STONE:基础 CD:Stone 为 135 秒,dcalc 为 160 秒;核对被动、VP、形态后的最终冷却。 cd = 160 mp = [1200, 10080] uuid = "dcb31a63ef58954f44ff2070c42a9a98" @@ -1824,17 +1826,22 @@ class Skill45(ActiveSkill): data1 = get_data(f'{prefix}/{uuid}', 1) # [基本攻击信息] # [神圣冲击]光柱攻击力 : {value2} + # TOCHEK-STONE:Stone 对 data2 使用 1 级来源值 actual,无 game_bug;dcalc 读取原 data2,核对等级成长。 data2 = get_data(f'{prefix}/{uuid}', 2) # [神圣冲击]冲击波攻击力 : {value3} + # TOCHEK-STONE:Stone 对 data3 使用 1 级来源值 actual,无 game_bug;dcalc 读取原 data3,核对等级成长。 data3 = get_data(f'{prefix}/{uuid}', 3) # [神圣闪光]攻击力 : {value4} + # TOCHEK-STONE:Stone 为缺失数据的三段平X另用固定 actual 213/256/332;dcalc 此处仍为神圣闪光 data4,核对缺失分段。 data4 = get_data(f'{prefix}/{uuid}', 4) # [神圣闪光]多段攻击次数 : {value5}次 data5 = get_data(f'{prefix}/{uuid}', 5) # [空斩打信息] # [神圣冲击]光柱攻击力 : {value6} + # TOCHEK-STONE:Stone 对 data6 使用 1 级来源值 actual,无 game_bug;dcalc 读取原 data6,核对等级成长。 data6 = get_data(f'{prefix}/{uuid}', 6) # [神圣冲击]冲击波攻击力 : {value7} + # TOCHEK-STONE:Stone 对 data7 使用 1 级来源值 actual,无 game_bug;dcalc 读取原 data7,核对等级成长。 data7 = get_data(f'{prefix}/{uuid}', 7) # [落凤锤信息] # [雷霆粉碎]攻击力 : {value8} diff --git a/backend/core/character/GF/swordman_female/dark_templar.py b/backend/core/character/GF/swordman_female/dark_templar.py index e3796434..cb8be96b 100644 --- a/backend/core/character/GF/swordman_female/dark_templar.py +++ b/backend/core/character/GF/swordman_female/dark_templar.py @@ -249,6 +249,7 @@ class Skill8(ActiveSkill): # 攻击力 : {value0}% data0 = get_data(f'{prefix}/{uuid}', 0) + # TOCHEK-STONE:对应段 hit:Stone 为 6,dcalc 为 3;核对是否另有二次计数。 hit0 = 3 # 剑气多段攻击次数 : {value1}次 data1 = get_data(f'{prefix}/{uuid}', 1) @@ -762,6 +763,7 @@ class Skill25(ActiveSkill): # 攻击力 : {value0}% X {value1}次 data0 = get_data(f'{prefix}/{uuid}', 0) + # TOCHEK-STONE:对应段 hit:Stone 为 9,dcalc 为 2;核对施放形态与最终总倍率。 hit0 = 2 data1 = get_data(f'{prefix}/{uuid}', 1) # [范围信息] @@ -899,6 +901,7 @@ class Skill29(ActiveSkill): # 斩击攻击力 : {value0}% X {value1}次 data0 = get_data(f'{prefix}/{uuid}', 0) + # TOCHEK-STONE:对应段 hit:Stone 为 2,dcalc 为 4;核对施放形态与最终总倍率。 hit0 = 4 data1 = get_data(f'{prefix}/{uuid}', 1) # [范围信息] @@ -1202,6 +1205,7 @@ class Skill36(ActiveSkill): position = 5 rangeLv = 5 cube = 5 + # TOCHEK-STONE:基础 CD:Stone 为 145 秒,dcalc 为 135 秒;核对被动、VP、形态后的最终冷却。 cd = 135 mp = [900, 7559] uuid = 'b3659936a9a74c4ed6f7faf07cca1f9e' @@ -1488,6 +1492,7 @@ class Skill42(ActiveSkill): position = 5 rangeLv = 5 cube = 10 + # TOCHEK-STONE:基础 CD:Stone 为 180 秒,dcalc 为 170 秒;核对被动、VP、形态后的最终冷却。 cd = 170 mp = [2500, 5000] uuid = '0fbb8de70002ad34f046c94c2cb3e863' diff --git a/backend/core/character/GF/swordman_female/sword_master.py b/backend/core/character/GF/swordman_female/sword_master.py index 437946e4..d53a91c7 100644 --- a/backend/core/character/GF/swordman_female/sword_master.py +++ b/backend/core/character/GF/swordman_female/sword_master.py @@ -800,6 +800,7 @@ class Skill24(PassiveSkill): data5 = get_data(f'{prefix}/{uuid}', 5) # [使用驭剑术时] # 强制中断技能时,技能攻击力增加率 : {value6}% + # TOCHEK-STONE:Stone 对 data6 使用 actual:Lv1=29、每级+0.5,无 game_bug;dcalc 读取原 data6,核对倍率。 data6 = get_data(f'{prefix}/{uuid}', 6) # [驭剑术]强制中断技能时,冷却时间减少率 : {value7}% data7 = get_data(f'{prefix}/{uuid}', 7) @@ -1156,6 +1157,7 @@ class Skill33(ActiveSkill): # 魔剑奥义 # swordman_female/sword_master/bb34e8854a93fd250347a1c64119f7ab # 1645c45aabb008c98406b3a16447040d/bb34e8854a93fd250347a1c64119f7ab +# TOCHEK-STONE:基础类:Stone 为 PassiveSkill,dcalc 为 ActiveSkill;确认面板、关联与计算行为是否等价。 class Skill34(ActiveSkill): """ 除基本攻击、 [浮空击]以及增益/减益类技能之外,使用其它技能攻击敌人时,有一定几率触发魔剑的属性效果。\n diff --git a/backend/core/character/GF/swordman_female/vegabond.py b/backend/core/character/GF/swordman_female/vegabond.py index bca5a50d..34e47666 100644 --- a/backend/core/character/GF/swordman_female/vegabond.py +++ b/backend/core/character/GF/swordman_female/vegabond.py @@ -852,6 +852,7 @@ class Skill28(ActiveSkill): maxLv = 70 position = 2 rangeLv = 2 + # TOCHEK-STONE:基础 CD:Stone 为 5 秒,dcalc 为 6 秒;核对被动、VP、形态后的最终冷却。 cd = 6 mp = [40, 300] uuid = "8572675ec6a1f50b6eff6a867376c2de" diff --git a/backend/core/character/GF/swordman_male/asura.py b/backend/core/character/GF/swordman_male/asura.py index 40ea81de..6d418bda 100644 --- a/backend/core/character/GF/swordman_male/asura.py +++ b/backend/core/character/GF/swordman_male/asura.py @@ -885,12 +885,15 @@ class Skill23(ActiveSkill): # 波动刻印数量上限 : {value4} data4 = get_data(f'{prefix}/{uuid}', 4) # 波动剑气第1击攻击力 : {value5} + # TOCHEK-STONE:Stone 对 data5 使用 1 级来源值 actual,无 game_bug;dcalc 读取原 data5,核对等级成长。 data5 = get_data(f'{prefix}/{uuid}', 5) hit5 = 1 # 波动剑气第2击攻击力 : {value6} + # TOCHEK-STONE:Stone 对 data6 使用 1 级来源值 actual,无 game_bug;dcalc 读取原 data6,核对等级成长。 data6 = get_data(f'{prefix}/{uuid}', 6) hit6 = 1 # 波动剑气第3击攻击力 : {value7} + # TOCHEK-STONE:Stone 对 data7 使用 1 级来源值 actual,无 game_bug;dcalc 读取原 data7,核对等级成长。 data7 = get_data(f'{prefix}/{uuid}', 7) hit7 = 1 @@ -1905,6 +1908,7 @@ class Skill43(ActiveSkill): # 雷神之息 # swordman_male/asura/949849d5791944973d60af7e2a7eefb0 # 41f1cdc2ff58bb5fdc287be0db2a8df3/949849d5791944973d60af7e2a7eefb0 +# TOCHEK-STONE:基础类:Stone 为 PassiveSkill,dcalc 为 ActiveSkill;确认面板、关联与计算行为是否等价。 class Skill44(ActiveSkill): """ 降下蕴含雷神气息的落雷,每隔一段时间攻击周围的敌人。\n diff --git a/backend/core/character/GF/swordman_male/ghostblade.py b/backend/core/character/GF/swordman_male/ghostblade.py index d27e8f21..90082fbc 100644 --- a/backend/core/character/GF/swordman_male/ghostblade.py +++ b/backend/core/character/GF/swordman_male/ghostblade.py @@ -9,6 +9,7 @@ prefix = "swordman_male/ghostblade/cn/skillDetail" # 鬼斩 # swordman_male/ghostblade/eb71e1d82d92c7e1d40500a0dcd77aa6 # 41f1cdc2ff58bb5fdc287be0db2a8df3/eb71e1d82d92c7e1d40500a0dcd77aa6 +# TOCHEK-STONE:技能集合:dcalc 有 19 个 Stone 当前职业文件未建模的技能 ID;逐项确认计算范围,不据此认定错误。 class Skill0(ActiveSkill): """ 把鬼神召唤到武器上,并向前方敌人发出强威力的暗属性斩击。\n @@ -483,6 +484,7 @@ class Skill15(ActiveSkill): cellPos = (8,4) position = 8 rangeLv = 2 + # TOCHEK-STONE:基础 CD:Stone 为 5 秒,dcalc 为 6 秒;核对被动、VP、形态后的最终冷却。 cd = 6 mp = [12, 120] uuid = "f2fb27162beb0b87a7cb9af7900e95f2" @@ -689,6 +691,7 @@ class Skill20(ActiveSkill): maxLv = 70 position = 2 rangeLv = 2 + # TOCHEK-STONE:基础 CD:Stone 为 5 秒,dcalc 为 6 秒;核对被动、VP、形态后的最终冷却。 cd = 6 mp = [20, 210] uuid = "38805520deffc10fac2e8f881ab7682b" @@ -1030,6 +1033,7 @@ class Skill30(ActiveSkill): # 鬼连击 : 极 # swordman_male/ghostblade/ebff277c02cc8b54c32635cd0d25f6f3 # 41f1cdc2ff58bb5fdc287be0db2a8df3/ebff277c02cc8b54c32635cd0d25f6f3 +# TOCHEK-STONE:基础类:Stone 为 PassiveSkill,dcalc 为 ActiveSkill;确认面板、关联与计算行为是否等价。 class Skill31(ActiveSkill): """ 学习后,鬼连击的最后一击后追加一次交叉斩击。\n diff --git a/backend/core/character/GF/swordman_male/soul_bender.py b/backend/core/character/GF/swordman_male/soul_bender.py index 8c127126..5545a95c 100644 --- a/backend/core/character/GF/swordman_male/soul_bender.py +++ b/backend/core/character/GF/swordman_male/soul_bender.py @@ -1104,18 +1104,23 @@ class Skill28(ActiveSkill): # 移动速度增加 : {value3}% data3 = get_data(f'{prefix}/{uuid}', 3) # 第1击攻击力 : {value4}% + # TOCHEK-STONE:Stone 对 data4 使用 1 级来源值 actual,无 game_bug;dcalc 读取原 data4,核对等级成长。 data4 = get_data(f'{prefix}/{uuid}', 4) hit4 = 1 # 第2击攻击力 : {value5}% + # TOCHEK-STONE:Stone 对 data5 使用 1 级来源值 actual,无 game_bug;dcalc 读取原 data5,核对等级成长。 data5 = get_data(f'{prefix}/{uuid}', 5) hit5 = 1 # 第3击攻击力 : {value6}% + # TOCHEK-STONE:Stone 对 data6 使用 1 级来源值 actual,无 game_bug;dcalc 读取原 data6,核对等级成长。 data6 = get_data(f'{prefix}/{uuid}', 6) hit6 = 1 # 第4击攻击力 : {value7}% + # TOCHEK-STONE:Stone 对 data7 使用 1 级来源值 actual,无 game_bug;dcalc 读取原 data7,核对等级成长。 data7 = get_data(f'{prefix}/{uuid}', 7) hit7 = 1 # 前冲攻击力 : {value8}% + # TOCHEK-STONE:Stone 对 data8 使用 1 级来源值 actual,无 game_bug;dcalc 读取原 data8,核对等级成长。 data8 = get_data(f'{prefix}/{uuid}', 8) # 物理防御力增加量 : {value9} data9 = get_data(f'{prefix}/{uuid}', 9) diff --git a/backend/core/character/GF/swordman_male/weapon_master.py b/backend/core/character/GF/swordman_male/weapon_master.py index d9fbf2c8..52fd3de6 100644 --- a/backend/core/character/GF/swordman_male/weapon_master.py +++ b/backend/core/character/GF/swordman_male/weapon_master.py @@ -760,6 +760,7 @@ class Skill19(PassiveSkill): # 太刀精通 # swordman_male/weapon_master/8f73f243041c2d27739fe7696f02bf9b # 41f1cdc2ff58bb5fdc287be0db2a8df3/8f73f243041c2d27739fe7696f02bf9b +# TOCHEK-STONE:基础类:Stone 为 PassiveSkill,dcalc 为 ActiveSkill;确认面板、关联与计算行为是否等价。 class Skill20(ActiveSkill): """ 装备太刀系武器时,增加攻击力和命中率。\n @@ -2235,10 +2236,12 @@ class Skill48(ActiveSkill): data10 = get_data(f'{prefix}/{uuid}', 10) # 75被动追加天剑部分 + # TOCHEK-STONE:Stone 流星之天剑 actual:Lv1=7109、每级+591,标记 game_bug;核对对应分段与实际成长。 dataplus0 = 0 hitplus0 = 3 powerplus0 = 1 # 75被动追加冲击波部分 + # TOCHEK-STONE:Stone 对落地冲击波归属标记 game_bug、无 actual;核对该分段归属。 dataplus1 = 0 hitplus1 = 3 powerplus1 = 1 diff --git a/backend/core/character/GF/thief/kunoichi.py b/backend/core/character/GF/thief/kunoichi.py index 9818f2dd..a4174e27 100644 --- a/backend/core/character/GF/thief/kunoichi.py +++ b/backend/core/character/GF/thief/kunoichi.py @@ -69,6 +69,7 @@ class Skill1(ActiveSkill): # 攻击力 : {value0}% data0 = get_data(f'{prefix}/{uuid}', 0) + # TOCHEK-STONE:静态 hit:Stone 为 2,dcalc 为 1;尚需排除形态、VP 与倍率补偿。 hit0 = 1 # 苦无投掷个数 : {value1}个 data1 = get_data(f'{prefix}/{uuid}', 1) @@ -1259,6 +1260,7 @@ class Skill34(ActiveSkill): self.hit1 = 1 self.skillRation *= self.ninpou + # TOCHEK-STONE:Stone VP1/VP2 标记 game_bug、无 actual;核对对应 VP 行为。 def vp_1(self): """ [火遁·炎天道]\n @@ -1274,6 +1276,7 @@ class Skill34(ActiveSkill): """ ... + # TOCHEK-STONE:Stone VP1/VP2 标记 game_bug、无 actual;核对对应 VP 行为。 def vp_2(self): """ [火遁·炎天道]\n @@ -1584,6 +1587,7 @@ class Skill39(PassiveSkill): # 毕方之印 # thief/kunoichi/2c9d9a36c8401bddff6cdb80fab8dc24 # ddc49e9ad1ff72a00b53c6cff5b1e920/2c9d9a36c8401bddff6cdb80fab8dc24 +# TOCHEK-STONE:基础类:Stone 为 PassiveSkill,dcalc 为 ActiveSkill;确认面板、关联与计算行为是否等价。 class Skill40(ActiveSkill): """ 引燃毕方之炎周围敌人的灵魂并产生爆炸,增加属性攻击力和魔法暴击率。\n diff --git a/backend/core/character/GF/thief/rogue.py b/backend/core/character/GF/thief/rogue.py index c4fbbd78..617a5820 100644 --- a/backend/core/character/GF/thief/rogue.py +++ b/backend/core/character/GF/thief/rogue.py @@ -1521,6 +1521,7 @@ class Skill37(ActiveSkill): # 死亡风暴 # thief/rogue/c77a417c43de80c4ce32c1ed405d174a # ddc49e9ad1ff72a00b53c6cff5b1e920/c77a417c43de80c4ce32c1ed405d174a +# TOCHEK-STONE:基础类:Stone 为 PassiveSkill,dcalc 为 ActiveSkill;确认面板、关联与计算行为是否等价。 class Skill38(ActiveSkill): """ 施放[剑刃风暴]时,由风暴中心向外呈环形投掷匕首。\n @@ -2087,6 +2088,7 @@ class Skill48(ActiveSkill): # 星光多段攻击力 : {value0}% data0 = get_data(f'{prefix}/{uuid}', 0) + # TOCHEK-STONE:静态 hit:Stone 为 8,dcalc 为 7;尚需排除形态、VP 与倍率补偿。 hit0 = 7 # 爆炸攻击力 : {value1}% data1 = get_data(f'{prefix}/{uuid}', 1) diff --git a/backend/core/character/GF/thief/shadow_dancer.py b/backend/core/character/GF/thief/shadow_dancer.py index 39058288..fbf5988c 100644 --- a/backend/core/character/GF/thief/shadow_dancer.py +++ b/backend/core/character/GF/thief/shadow_dancer.py @@ -1662,23 +1662,32 @@ class Skill43(ActiveSkill): # 射出匕首的冷却时间 : {value1}秒 data1 = get_data(f'{prefix}/{uuid}', 1) # 锁链匕首射出攻击力 : {value2}% + # TOCHEK-STONE:Stone 对 data2 的非终结伤害使用 1 级值按 7/69 成长,2 级起再×0.992;标记 game_bug。 data2 = get_data(f'{prefix}/{uuid}', 2) # 拉拽攻击力 : {value3}% + # TOCHEK-STONE:Stone 对 data3 的非终结伤害使用 1 级值按 7/69 成长,2 级起再×0.992;标记 game_bug。 data3 = get_data(f'{prefix}/{uuid}', 3) # 向前冲刺攻击力 : {value4}% + # TOCHEK-STONE:Stone 对 data4 仅修正详情成长,2 级起按 7/69 成长再×0.992;标记 game_bug。 data4 = get_data(f'{prefix}/{uuid}', 4) # 向后冲刺攻击力 : {value5}% + # TOCHEK-STONE:Stone 对 data5 仅修正详情成长,2 级起按 7/69 成长再×0.992;标记 game_bug。 data5 = get_data(f'{prefix}/{uuid}', 5) # 最后一击的撞击攻击力 : {value6}% + # TOCHEK-STONE:Stone 对 data6 的终结伤害在 2 级起×0.99;标记 game_bug。 data6 = get_data(f'{prefix}/{uuid}', 6) # 最后一击的终结攻击力 : {value7}% + # TOCHEK-STONE:Stone 对 data7 的终结伤害在 2 级起×0.99;标记 game_bug。 data7 = get_data(f'{prefix}/{uuid}', 7) # 对无法抓取的敌人施放的最后一击攻击力 : {value8}% + # TOCHEK-STONE:Stone 对 data8 的终结伤害在 2 级起×0.99;标记 game_bug。 data8 = get_data(f'{prefix}/{uuid}', 8) # 聚集敌人的多段攻击攻击力 : {value9}% x {value10} + # TOCHEK-STONE:Stone 对 data9 的非终结伤害使用 1 级值按 7/69 成长,2 级起再×0.992;标记 game_bug。 data9 = get_data(f'{prefix}/{uuid}', 9) data10 = get_data(f'{prefix}/{uuid}', 10) # 聚集敌人的最后一击攻击力 : {value11}% + # TOCHEK-STONE:Stone 对 data11 的非终结伤害使用 1 级值按 7/69 成长,2 级起再×0.992;标记 game_bug。 data11 = get_data(f'{prefix}/{uuid}', 11) # 把敌人束缚在地面的冷却时间 : {value12}秒 data12 = get_data(f'{prefix}/{uuid}', 12)