From 269d7b0bcfc1e3cd2e4513c453275cf556cc2108 Mon Sep 17 00:00:00 2001 From: sganggs Date: Tue, 6 Oct 2026 21:03:56 +0800 Subject: [PATCH] =?UTF-8?q?feedback5=20WY:=20=E5=8D=8E=E6=B3=95=E7=90=B3's?= =?UTF-8?q?=20granted=20trait=20stops=20at=20the=20data's=207=20/=2014=20l?= =?UTF-8?q?ayers=20per=20battle,=20not=2012=20/=2024=20(GitHub=20#175;=20f?= =?UTF-8?q?rom=20PR=20#192=20by=20@kukiC;=20the=20owner's=20decision=20of?= =?UTF-8?q?=202026-10-06)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit PRTS 卫戍协议:盟约 下半, 3月27日更新#2调整 (revision 439189): 「[Ⅳ阶]华法琳:赋予的特质的叠层上限从 初始12/精锐24 降低至 初始7/精锐14」 — a nerf; the current 参战干员 record says 至多7层 / 14层 and the client blackboard is 7 / 14. Research 02 Addendum 1 had read the line backwards, so the remake overrode garrison_95's cap to 12 / 24. Ported from PR #192 by @kukiC: GRANTED_CAP_OVERRIDE is removed from server/sim/content/garrisons/battle.js and from the client-result layer bound (server/match/fields.js layerAllowanceOf); a granted trait keeps its data cap like a native one. Tests from the PR: garrisons_battle (updated on purpose: the 7th cast reaches 7 / 14, the 8th adds nothing), feedback1-gaps (the bound with 华法琳 + 古米), playtest3 (both cards show 7 / 14); the first two fail without the fix. Docs: research 00 / 01 / 02 corrected (02-bonds.json's note; data/bonds.json regenerated offline — only miraShip.spec.layerGain changed), history 0.1.1's pointer, DESIGN §25.13.2 and the §25.10 table. Golden unchanged (no corpus battle casts 8 times in front of 华法琳). --- data/bonds.json | 2 +- docs/history/0.1.1.md | 2 +- docs/history/0.2.0.md | 27 ++++++++++++++++++++++++-- docs/research/00-INDEX.md | 4 ++-- docs/research/01-core-rules.md | 2 +- docs/research/02-bonds.json | 2 +- docs/research/02-bonds.md | 6 +++--- server/match/fields.js | 14 ++++++------- server/sim/content/garrisons/battle.js | 11 ++++------- test/content/garrisons_battle.test.js | 16 ++++++++++----- test/match/feedback1-gaps.test.js | 11 +++++++++++ test/ui/playtest3.test.js | 11 +++++++++++ 12 files changed, 77 insertions(+), 31 deletions(-) diff --git a/data/bonds.json b/data/bonds.json index 54a942e1..9729f8c2 100644 --- a/data/bonds.json +++ b/data/bonds.json @@ -1 +1 @@ -{"yanShip":{"bondId":"yanShip","name":"炎","identifier":1,"isCore":true,"bondType":"SEASON","bondOrder":2,"powerIdList":["yan","sui","lungmen","lee","lgd"],"iconId":"icon_yanShip","activeCount":3,"thresholds":[3,6,9],"maxCount":null,"thresholdTemplate":"count_threshold_upward","countMode":"BOARD","countsHand":false,"countsGoldenOnly":false,"activeType":"BATTLE","isActiveInDeck":false,"noStack":false,"weight":10,"maxInactiveBondCount":-1,"layerMilestones":[],"desc":"【炎】干员攻击力提升(受层数影响)\n<在场6名不同【炎】干员>战斗开始时召唤可自主行动的“炎佑”,其攻击力生命值分别为开战时【炎】干员攻击力生命值总和的30%,“炎佑”同时攻击3个目标,可使用“祛恶之焰”,攻击时附带攻击力一定比例的灼燃损伤且周围敌人受到一定比例的元素脆弱\n<在场9名不同【炎】干员>改为召唤2只“炎佑”,攻击力提升至1.5倍,受到的伤害-90%","descRaw":"【炎】干员<@ba.vup>攻击力提升<@autochess.gray>(受层数影响)\n<在场<@autochess.dgreen>6名不同【炎】干员>战斗开始时召唤可自主行动的<@ba.vup>“炎佑”,其攻击力生命值分别为开战时【炎】干员攻击力生命值总和的30%,“炎佑”同时攻击3个目标,可使用<@ba.vup>“祛恶之焰”,攻击时附带攻击力一定比例的灼燃损伤且周围敌人受到一定比例的元素脆弱\n<在场<@autochess.dgreen>9名不同【炎】干员>改为召唤2只<@ba.vup>“炎佑”,攻击力提升至<@ba.vup>1.5倍,受到的伤害<@ba.vup>-90%","effectId":"bondeffect_yan","effectName":"炎","effectDesc":"【炎】干员攻击力+{0:0%}(受层数影响)\n<在场6名不同【炎】干员>战斗开始时收集【炎】干员部分属性召唤“炎佑”(其攻击力和生命值为【炎】干员攻击力和生命值总和的30%);“炎佑”同时攻击3个目标,攻击附带20%攻击力的灼燃损伤,周围敌人受到20%的元素脆弱,周期性使用“祛恶之焰”\n<在场9名不同【炎】干员>改为召唤2只“炎佑”;“炎佑”攻击力提升至1.5倍,受到的伤害-90%","effectDescRaw":"【炎】干员攻击力<@ba.vup>+{0:0%}<@ba.acrem>(受层数影响)\n<在场<@ba.vup>6名不同【炎】干员>战斗开始时收集【炎】干员部分属性召唤“炎佑”(其攻击力和生命值为【炎】干员攻击力和生命值总和的30%);“炎佑”同时攻击3个目标,攻击附带20%<@ba.vup>攻击力的<@ba.vup>灼燃损伤,周围敌人受到20%的<@ba.vup>元素脆弱,周期性使用“祛恶之焰”\n<在场<@ba.vup>9名不同【炎】干员>改为召唤2只“炎佑”;“炎佑”攻击力提升至1.5倍,受到的伤害-90%","effectDescParams":[{"index":0,"format":"0%","base":"base_atk","perStack":"atk_per_stack"}],"bb":{"base_atk":0.23,"atk_per_stack":0.009,"power_bond_char_cnt":6,"ex_bond_char_cnt":9,"damage_resistance":0.9,"atk":1.5},"bbStr":{"key":"act1autochess_bond_eff_yan"},"buffs":[{"key":"env_gbuff_new","bb":{"base_atk":0.23,"atk_per_stack":0.009,"power_bond_char_cnt":6,"ex_bond_char_cnt":9,"damage_resistance":0.9,"atk":1.5},"bbStr":{"key":"act1autochess_bond_eff_yan"}}],"baseParams":["base_atk"],"perStackParams":["atk_per_stack"],"members":["chess_char_1_03_a","chess_char_2_04_a","chess_char_3_03_a","chess_char_3_04_a","chess_char_4_15_a","chess_char_4_17_a","chess_char_5_03_a","chess_char_5_12_a","chess_char_5_23_a","chess_char_6_03_a","chess_char_6_15_a"],"visibleMembers":["chess_char_1_03_a","chess_char_2_04_a","chess_char_3_03_a","chess_char_3_04_a","chess_char_4_17_a","chess_char_5_03_a","chess_char_5_12_a","chess_char_5_23_a","chess_char_6_03_a","chess_char_6_15_a"],"spec":{"tiers":[{"need":"3 distinct 炎 on board","effect":"炎 members (+调和 members) ATK x(1 + 0.23 + 0.009*L)."},{"need":"6 distinct","effect":"At battle start spawn 1 \"炎佑\" (enemy_9012_acloon template, allied flying ranged unit, not blockable, moves on its own). ATK = 0.30 x sum(ATK of 炎 operators on board at battle start), maxHP = 0.30 x sum(maxHP of those operators). Template: DEF 200, RES 0, BAT 2.5 s, ASPD 100, attack range radius 2.0 tiles, magic damage, hits up to 3 targets; every hit adds 灼燃损伤 (burn elemental damage) = 20% of its ATK and applies 元素脆弱 (elemental damage taken x1.2) to enemies within 0.8 tiles of the target. Skill \"祛恶之焰\": cooldown 15 s (first cast 15 s after spawn), channels a flame on one enemy in range dealing 60% ATK magic damage per second to it and to enemies within 1.0 tile, for up to 20 s."},{"need":"9 distinct","effect":"Spawn 2 炎佑 instead; each has ATK x1.5 and takes 90% less damage (damage_resistance 0.9)."}],"formulas":{"atkMultiplier":"1 + 0.23 + 0.009*L"},"caps":"none","layerGain":"Economy-driven: 惊蛰 获得时 +shop level (no activation needed); 小满 休整期结束 +1 per operator gained this round; 夕 +2 炎/奥术 per operator gained; 录武官 获得时 +6 炎 +3 奇迹; 星熊 获得时 +8 own bonds; 烛煌 获得时 +5 炎/维多利亚; 机变 \"诗怀雅的盟誓\" +10. Strategy 杜遥夜: first 2 manual refreshes each round prefer a 炎 operator.","howToPlay":"Buy many operators each round (every gain feeds 小满/夕), rush 6 炎 for the 炎佑 spike; 琳琅诗怀雅 / 诗怀雅 give early gold. 9 炎 is a late-game luxury.","assumed":["炎佑 base stats are replaced (not added) by the 30% sums","祛恶之焰 hit_duration=20 read as 20 one-second ticks","spawn point: centre of the player's board / near the objective","targets = 3 nearest enemies in range"]}},"sargonShip":{"bondId":"sargonShip","name":"萨尔贡","identifier":2,"isCore":true,"bondType":"SEASON","bondOrder":2,"powerIdList":["sargon"],"iconId":"icon_sargonShip","activeCount":3,"thresholds":[3,6],"maxCount":null,"thresholdTemplate":"count_threshold_upward","countMode":"BOARD","countsHand":false,"countsGoldenOnly":false,"activeType":"BATTLE","isActiveInDeck":false,"noStack":false,"weight":10,"maxInactiveBondCount":-1,"layerMilestones":[],"desc":"【萨尔贡】干员开启技能时,所有【萨尔贡】干员攻击速度提升(有上限),持续一定时间(受层数影响,每层持续时间独立计算)\n<在场6名不同【萨尔贡】干员>开启技能还会为所有【萨尔贡】干员提供等持续时间的攻击力(有上限)\n选择策略【娜仁图亚】时,<在场6名不同【萨尔贡】干员>的效果会有所改变","descRaw":"【萨尔贡】干员开启技能时,所有【萨尔贡】干员<@ba.vup>攻击速度提升(有上限),持续一定时间<@autochess.gray>(受层数影响,每层持续时间独立计算)\n<在场<@autochess.dgreen>6名不同【萨尔贡】干员>开启技能还会为所有【萨尔贡】干员提供等持续时间的<@ba.vup>攻击力(有上限)\n<@ba.acrem>选择策略【娜仁图亚】时,<在场6名不同【萨尔贡】干员>的效果会有所改变","effectId":"bondeffect_sargon","effectName":"萨尔贡","effectDesc":"【萨尔贡】干员开启技能时,所有【萨尔贡】干员攻击速度+12(至多+300),持续{0:0}秒(受层数影响)\n<在场6名不同【萨尔贡】干员>开启技能还会使所有【萨尔贡】干员攻击力+12%(至多+300%)\n选择策略【娜仁图亚】时,<在场6名不同【萨尔贡】干员>的效果会有所改变","effectDescRaw":"【萨尔贡】干员开启技能时,所有【萨尔贡】干员攻击速度+12(至多<@ba.vup>+300),持续<@ba.vup>{0:0}秒<@ba.acrem>(受层数影响)\n<在场<@ba.vup>6名不同【萨尔贡】干员>开启技能还会使所有【萨尔贡】干员攻击力+12%(至多<@ba.vup>+300%)\n<@ba.acrem>选择策略【娜仁图亚】时,<在场6名不同【萨尔贡】干员>的效果会有所改变","effectDescParams":[{"index":0,"format":"0","base":"base_time","perStack":"time_per_stack"}],"bb":{"base_time":5,"time_per_stack":0.22,"max_buff_stack_cnt":25,"base_attack_speed":12,"power_bond_char_cnt":6,"base_atk":0.12,"base_power_time":60,"power_time_per_stack":0,"filter_item_level":5},"bbStr":{"key":"act1autochess_bond_eff_sargon","invalid_in_band":"band_narant","valid_in_band":"band_narant"},"buffs":[{"key":"env_gbuff_new","bb":{"base_time":5,"time_per_stack":0.22,"max_buff_stack_cnt":25,"base_attack_speed":12,"power_bond_char_cnt":6,"base_atk":0.12},"bbStr":{"key":"act1autochess_bond_eff_sargon","invalid_in_band":"band_narant"}},{"key":"env_gbuff_new","bb":{"base_time":5,"time_per_stack":0.22,"max_buff_stack_cnt":25,"base_attack_speed":12,"power_bond_char_cnt":6,"base_power_time":60,"power_time_per_stack":0,"filter_item_level":5},"bbStr":{"key":"act2autochess_bond_eff_sargon[share]","valid_in_band":"band_narant"}}],"baseParams":["base_time"],"perStackParams":["time_per_stack"],"members":["chess_char_1_12_a","chess_char_2_06_a","chess_char_2_08_a","chess_char_3_06_a","chess_char_3_13_a","chess_char_4_05_a","chess_char_4_23_a","chess_char_4_24_a","chess_char_5_02_a","chess_char_5_18_a","chess_char_6_05_a","chess_char_6_06_a"],"visibleMembers":["chess_char_1_12_a","chess_char_2_06_a","chess_char_2_08_a","chess_char_3_06_a","chess_char_3_13_a","chess_char_4_23_a","chess_char_4_24_a","chess_char_5_02_a","chess_char_6_05_a","chess_char_6_06_a"],"spec":{"tiers":[{"need":"3 distinct","effect":"Whenever any 萨尔贡 member activates its skill, every 萨尔贡 member on the field gains one stack: ASPD +12 for (5 + 0.22*L) s. Each stack has its own timer; at most 25 concurrent stacks (=> +300 ASPD cap)."},{"need":"6 distinct","effect":"Each stack additionally gives ATK +12% (25 stacks => +300% cap), same duration."},{"need":"6 distinct AND strategy 娜仁图亚 (band_narant)","effect":"Replaces the 6-member effect: when a 萨尔贡 member activates its skill, operators on its 8 surrounding tiles also enjoy the effects of the equipment (tier <= V, filter_item_level 5) it carries, for 60 s (base_power_time 60, power_time_per_stack 0)."}],"formulas":{"stackDurationSec":"5 + 0.22*L","aspdPerStack":"12","atkPerStack(6)":"0.12","maxStacks":"25"},"caps":"25 stacks: +300 ASPD, +300% ATK","layerGain":"In battle on skill activation: 菲莱 +6 每次开技能, 百炼嘉维尔 +9 每次开技能, 莎草 +5 首次开技能, 缇缇 +1 萨尔贡/精准 per sleep/stun in range (<=24/battle); 艾丝黛尔 获得时 +2; 机变 \"缇缇的盟誓\" +10. Strategy 佩佩: after shop level 2/4/6 one special refresh preferring 萨尔贡.","howToPlay":"Fast-cycling skills (萨尔贡浓茶 / 黄沙罗盘 items) keep many stacks alive; L mainly extends duration, so stacks overlap more.","notes":["PRTS: the in-level UI shows twice the real duration (display bug); real duration is 5+0.22L."],"assumed":["When a 26th stack would be added, it replaces the stack with the shortest remaining time","stack granted to all 萨尔贡 members including the caster"]}},"victoriaShip":{"bondId":"victoriaShip","name":"维多利亚","identifier":3,"isCore":true,"bondType":"SEASON","bondOrder":2,"powerIdList":["victoria","glasgow"],"iconId":"icon_victoriaShip","activeCount":3,"thresholds":[3,6],"maxCount":null,"thresholdTemplate":"count_threshold_upward","countMode":"BOARD","countsHand":false,"countsGoldenOnly":false,"activeType":"BATTLE","isActiveInDeck":false,"noStack":false,"weight":10,"maxInactiveBondCount":-1,"layerMilestones":[{"layer":25,"mode":"every","effect":"bond_layer_added_reward_equip"}],"desc":"携带装备的【维多利亚】干员造成的伤害提升(受层数影响)\n<每叠加25层>获得1件带有随机效果的维式重锤\n<在场6名不同【维多利亚】干员>携带装备的【维多利亚】干员攻击力提升,携带进阶装备时额外提升","descRaw":"携带装备的【维多利亚】干员造成的<@ba.vup>伤害提升<@autochess.gray>(受层数影响)\n<每叠加<@autochess.dgreen>25层>获得1件带有随机效果的<@ba.vup>维式重锤\n<在场<@autochess.dgreen>6名不同【维多利亚】干员>携带装备的【维多利亚】干员<@ba.vup>攻击力提升,携带进阶装备时额外提升","effectId":"bondeffect_victoria","effectName":"维多利亚","effectDesc":"携带装备的【维多利亚】干员伤害提升至{0:0%}(受层数影响)\n<每叠加25层>获得一件带有随机特殊效果的维式重锤\n<在场6名不同【维多利亚】干员>【维多利亚】干员每携带1件装备攻击力+50%,携带进阶装备改为+80%","effectDescRaw":"<@ba.vup>携带装备的【维多利亚】干员伤害提升至<@ba.vup>{0:0%}<@ba.acrem>(受层数影响)\n<每叠加<@ba.vup>25层>获得一件带有随机特殊效果的维式重锤\n<在场<@ba.vup>6名不同【维多利亚】干员>【维多利亚】干员每携带1件装备攻击力<@ba.vup>+50%,携带进阶装备改为<@ba.vup>+80%","effectDescParams":[{"index":0,"format":"0%","base":"base_damage_scale","perStack":"damage_scale_per_stack"}],"bb":{"damage_scale_per_stack":0.008,"base_damage_scale":1.25,"power_bond_char_cnt":6,"atk_normal_equip":0.5,"atk_golden_equip":0.3,"layer":25,"count":1},"bbStr":{"key":"act1autochess_bond_eff_victoria","pool":"pool_equip_vict"},"buffs":[{"key":"env_gbuff_new","bb":{"damage_scale_per_stack":0.008,"base_damage_scale":1.25,"power_bond_char_cnt":6,"atk_normal_equip":0.5,"atk_golden_equip":0.3},"bbStr":{"key":"act1autochess_bond_eff_victoria"}},{"key":"bond_layer_added_reward_equip","bb":{"layer":25,"count":1},"bbStr":{"pool":"pool_equip_vict"}}],"baseParams":["base_damage_scale"],"perStackParams":["damage_scale_per_stack"],"members":["chess_char_1_06_a","chess_char_2_05_a","chess_char_2_10_a","chess_char_3_08_a","chess_char_4_07_a","chess_char_4_11_a","chess_char_5_03_a","chess_char_5_08_a","chess_char_6_07_a","chess_char_6_08_a"],"visibleMembers":["chess_char_1_06_a","chess_char_2_05_a","chess_char_2_10_a","chess_char_3_08_a","chess_char_4_07_a","chess_char_4_11_a","chess_char_5_03_a","chess_char_5_08_a","chess_char_6_07_a","chess_char_6_08_a"],"spec":{"tiers":[{"need":"3 distinct","effect":"维多利亚 members that carry >= 1 equipment: all damage dealt x(1.25 + 0.008*L)."},{"need":"every 25 layers (cumulative)","effect":"Gain 1 维式重锤 with a random special effect (pool_equip_vict)."},{"need":"6 distinct","effect":"维多利亚 members: ATK +50% per equipped item; an advanced (进阶/golden) item gives +80% instead (atk_normal_equip 0.5 + atk_golden_equip 0.3)."}],"formulas":{"damageMultiplier":"1.25 + 0.008*L (only if carrying equipment)","hammerPayouts":"floor(L/25)","atkPerItem(6)":"0.5 normal, 0.8 advanced"},"caps":"none","layerGain":"休整期结束: 薄绿 +2 per distinct tier of 维多利亚 on board, 维娜·维多利亚 +3 per distinct tier (and 奇迹 +2 per distinct tier of 奇迹), 刺玫 +1, 号角 +2 per distinct-tier operator of the highest-layer bond; in battle: 风笛 first 3 kills +2 维多利亚/远见/不屈; 烛煌 获得时 +5; 机变 \"风笛的盟誓\" +8. Strategy 哈洛德: from round 4 gain 1 维多利亚 operator every 2 rounds.","howToPlay":"Field 维多利亚 of as many different tiers as possible (T1..T6) for 薄绿/维娜; hand all equipment (incl. free hammers) to 维多利亚 carries; 蒸汽之心 copies all hammer effects.","assumed":["pool_equip_vict = uniform random among 灼燃/坚固/加速/战栗维式重锤 (normal grade)","hammer payout also counts layers added while the bond is inactive"]}},"kjeragShip":{"bondId":"kjeragShip","name":"谢拉格","identifier":4,"isCore":true,"bondType":"SEASON","bondOrder":2,"powerIdList":["kjerag","karlan"],"iconId":"icon_kjeragShip","activeCount":3,"thresholds":[3,6],"maxCount":null,"thresholdTemplate":"count_threshold_upward","countMode":"BOARD","countsHand":false,"countsGoldenOnly":false,"activeType":"BATTLE","isActiveInDeck":false,"noStack":false,"weight":10,"maxInactiveBondCount":-1,"layerMilestones":[],"desc":"【谢拉格】干员造成的伤害提升,对寒冷、冻结敌人获得额外提升(受层数影响)\n<在场6名不同【谢拉格】干员>战场上每25秒过一阵寒风使场上的敌人寒冷一定时间(受层数影响)","descRaw":"【谢拉格】干员造成的<@ba.vup>伤害提升,对<@ba.vup>寒冷、冻结敌人获得额外提升<@autochess.gray>(受层数影响)\n<在场<@autochess.dgreen>6名不同【谢拉格】干员>战场上每25秒过一阵寒风使场上的敌人寒冷一定时间<@autochess.gray>(受层数影响)","effectId":"bondeffect_kjerag","effectName":"谢拉格","effectDesc":"【谢拉格】干员伤害提升至125%,对寒冷和冻结敌人额外提升至{0:0%}(受层数影响)\n<在场6名不同【谢拉格】干员>战场上每25秒吹过一阵寒风使敌人寒冷{1:0}秒(受层数影响)","effectDescRaw":"【谢拉格】干员伤害提升至<@ba.vup>125%,对寒冷和冻结敌人额外提升至<@ba.vup>{0:0%}<@ba.acrem>(受层数影响)\n<在场<@ba.vup>6名不同【谢拉格】干员>战场上每25秒吹过一阵寒风使敌人寒冷<@ba.vup>{1:0}秒<@ba.acrem>(受层数影响)","effectDescParams":[{"index":0,"format":"0%","base":"base_ex_damage_scale","perStack":"ex_damage_scale_per_stack"},{"index":1,"format":"0","base":"bond_eff_kjerag[storm].base_time","perStack":"bond_eff_kjerag[storm].time_per_stack"}],"bb":{"base_damage_scale":1.25,"base_ex_damage_scale":1.35,"ex_damage_scale_per_stack":0.01,"power_bond_char_cnt":6,"bond_eff_kjerag[storm].interval":25,"bond_eff_kjerag[storm].base_time":20,"bond_eff_kjerag[storm].time_per_stack":0.1},"bbStr":{"key":"act1autochess_bond_eff_kjerag"},"buffs":[{"key":"env_gbuff_new","bb":{"base_damage_scale":1.25,"base_ex_damage_scale":1.35,"ex_damage_scale_per_stack":0.01,"power_bond_char_cnt":6,"bond_eff_kjerag[storm].interval":25,"bond_eff_kjerag[storm].base_time":20,"bond_eff_kjerag[storm].time_per_stack":0.1},"bbStr":{"key":"act1autochess_bond_eff_kjerag"}}],"baseParams":["base_ex_damage_scale","bond_eff_kjerag[storm].base_time"],"perStackParams":["ex_damage_scale_per_stack","bond_eff_kjerag[storm].time_per_stack"],"members":["chess_char_1_02_a","chess_char_2_03_a","chess_char_2_05_a","chess_char_3_11_a","chess_char_3_14_a","chess_char_3_20_a","chess_char_4_03_a","chess_char_4_13_a","chess_char_4_22_a","chess_char_5_14_a","chess_char_6_02_a","chess_char_6_19_a"],"visibleMembers":["chess_char_1_02_a","chess_char_2_05_a","chess_char_3_11_a","chess_char_3_14_a","chess_char_3_20_a","chess_char_4_13_a","chess_char_4_22_a","chess_char_5_14_a","chess_char_6_02_a","chess_char_6_19_a"],"spec":{"tiers":[{"need":"3 distinct","effect":"谢拉格 members deal damage x1.25; against enemies that are 寒冷 (cold) or 冻结 (frozen) x(1.35 + 0.01*L) instead."},{"need":"6 distinct","effect":"Every 25 s a cold wind applies 寒冷 to every enemy on the field for (20 + 0.1*L) s."}],"formulas":{"damageMultiplier":"1.25","damageMultiplierVsColdOrFrozen":"1.35 + 0.01*L","windIntervalSec":"25","windColdDurationSec":"20 + 0.1*L"},"caps":"none","layerGain":"In battle, freeze-driven: 初雪 and 银灰 - each enemy in range that becomes frozen: 50% chance +1; 凛御银灰 gives the 谢拉格 operator in front of it a 60% version (<=200/battle); 锏 部署时 +8 own active bonds (<=24/battle). 获得时: 角峰 +2, 崖心 +3 (hidden), 雪猎 +5, 灵知 +5, 锏 +8. 机变 \"银灰的盟誓\" +8. Strategy 休露丝: first 谢拉格 bought each round costs 1.","howToPlay":"Standard AK rule: applying 寒冷 to an already-cold enemy freezes it. The 6-member wind + cold-on-hit sources (谢拉格不融冰 12% 1.5 s cold) create constant freezes, so layers can reach hundreds per battle.","notes":["巴哈姆特: avoid lighting 3 奥术 alongside max-layer 谢拉格 (圣聆初雪 gets damage-capped)."],"assumed":["first wind at t = 25 s","wind re-applying cold on a cold enemy triggers freeze like any cold source"]}},"lateranoShip":{"bondId":"lateranoShip","name":"拉特兰","identifier":5,"isCore":true,"bondType":"SEASON","bondOrder":2,"powerIdList":["laterano"],"iconId":"icon_lateranoShip","activeCount":3,"thresholds":[3,6],"maxCount":null,"thresholdTemplate":"count_threshold_upward","countMode":"BOARD","countsHand":false,"countsGoldenOnly":false,"activeType":"BATTLE","isActiveInDeck":false,"noStack":false,"weight":10,"maxInactiveBondCount":-1,"layerMilestones":[],"desc":"【拉特兰】干员开启技能获得的弹药量提升(受层数影响)\n<在场6名不同【拉特兰】干员>【拉特兰】干员每消耗1发弹药,所有【拉特兰】干员攻击力提升(有上限)","descRaw":"【拉特兰】干员开启技能获得的<@ba.vup>弹药量提升<@autochess.gray>(受层数影响)\n<在场<@autochess.dgreen>6名不同【拉特兰】干员>【拉特兰】干员每消耗1发弹药,所有【拉特兰】干员<@ba.vup>攻击力提升(有上限)","effectId":"bondeffect_laterano","effectName":"拉特兰","effectDesc":"【拉特兰】干员开启技能时获得的弹药量+{0:0%}(受层数影响)\n<在场6名不同【拉特兰】干员>任意【拉特兰】干员每消耗1发弹药,全体【拉特兰】干员攻击力+4%,至多+200%","effectDescRaw":"【拉特兰】干员开启技能时获得的弹药量<@ba.vup>+{0:0%}<@ba.acrem>(受层数影响)\n<在场<@ba.vup>6名不同【拉特兰】干员>任意【拉特兰】干员每消耗1发弹药,全体【拉特兰】干员攻击力+4%,至多<@ba.vup>+200%","effectDescParams":[{"index":0,"format":"0%","base":"base_ammo_percent","perStack":"ammo_percent_per_stack"}],"bb":{"base_ammo_percent":0.05,"ammo_percent_per_stack":0.015,"power_bond_char_cnt":6,"atk_per_consume":0.04,"max_atk_for_consume":2},"bbStr":{"key":"act1autochess_bond_eff_laterano"},"buffs":[{"key":"env_gbuff_new","bb":{"base_ammo_percent":0.05,"ammo_percent_per_stack":0.015,"power_bond_char_cnt":6,"atk_per_consume":0.04,"max_atk_for_consume":2},"bbStr":{"key":"act1autochess_bond_eff_laterano"}}],"baseParams":["base_ammo_percent"],"perStackParams":["ammo_percent_per_stack"],"members":["chess_char_1_01_a","chess_char_2_01_a","chess_char_3_01_a","chess_char_3_07_a","chess_char_3_21_a","chess_char_4_01_a","chess_char_4_02_a","chess_char_5_01_a","chess_char_6_01_a","chess_char_6_09_a","chess_char_6_13_a"],"visibleMembers":["chess_char_1_01_a","chess_char_2_01_a","chess_char_3_01_a","chess_char_3_21_a","chess_char_4_01_a","chess_char_4_02_a","chess_char_5_01_a","chess_char_6_01_a","chess_char_6_09_a","chess_char_6_13_a"],"spec":{"tiers":[{"need":"3 distinct","effect":"When a 拉特兰 member activates a skill that grants ammo, ammo gained x(1 + 0.05 + 0.015*L), rounded down."},{"need":"6 distinct","effect":"Every ammo consumed by any 拉特兰 member: all 拉特兰 members ATK +4% (until battle end), max +200% (= 50 ammo)."}],"formulas":{"ammoMultiplier":"floor(baseAmmo * (1.05 + 0.015*L))","atkPerAmmo(6)":"0.04","atkCap(6)":"2.0"},"caps":"+200% ATK from the 6-member effect","layerGain":"Ammo consumption in battle: 圣约送葬人 each 7 bullets +7 拉特兰 (7 triggers => 49/battle) and +3 远见 (<=21/battle); 莫斯提马 ops in its 4 adjacent tiles each 6 ammo +1; 蕾缪安 each 10 bullets with 3 ops in its row +2 拉特兰/精准; 送葬人 first kill +3 精准/拉特兰. Prep: 空弦 进入休整期 +3 to self and front tile operator's active bonds. 机变 \"莫斯提马的盟誓\" +10. Strategy 潘格尼尼: after spending 55 gold gain a random elite T4+ 拉特兰.","howToPlay":"Only ammo-skill operators benefit from the 3-tier; the bond is weak until 6 (巴哈姆特: \"3人效果較差\").","assumed":["non-ammo skills unaffected","\"ammo consumed\" = each shot/bullet decrement"]}},"egirShip":{"bondId":"egirShip","name":"阿戈尔","identifier":6,"isCore":true,"bondType":"SEASON","bondOrder":2,"powerIdList":["egir","abyssal"],"iconId":"icon_egirShip","activeCount":3,"thresholds":[3,5],"maxCount":null,"thresholdTemplate":"count_threshold_upward","countMode":"BOARD","countsHand":false,"countsGoldenOnly":false,"activeType":"BATTLE","isActiveInDeck":false,"noStack":false,"weight":10,"maxInactiveBondCount":-1,"layerMilestones":[],"desc":"【阿戈尔】干员生命值提升(受层数影响)\n战斗开始时,【阿戈尔】干员会吞噬身前一格干员对其造成5000点物理伤害并获得其基础攻击力和阻挡数,使【阿戈尔】叠加等于被吞噬者等阶的盟约层数(【阿戈尔】之间优先更靠左和靠上的干员发起吞噬)\n<在场5名不同【阿戈尔】干员>前3名【阿戈尔】干员首次被击倒时立刻复活","descRaw":"【阿戈尔】干员<@ba.vup>生命值提升<@autochess.gray>(受层数影响)\n战斗开始时,【阿戈尔】干员会<@ba.vup>吞噬身前一格干员对其造成<@ba.vdown>5000点物理伤害并获得其<@ba.vup>基础攻击力和<@ba.vup>阻挡数,使【阿戈尔】叠加等于被吞噬者等阶的<@ba.vup>盟约层数<@autochess.gray>(【阿戈尔】之间优先更靠左和靠上的干员发起吞噬)\n<在场<@autochess.dgreen>5名不同【阿戈尔】干员>前3名【阿戈尔】干员首次被击倒时<@ba.vup>立刻复活","effectId":"bondeffect_egir","effectName":"阿戈尔","effectDesc":"【阿戈尔】干员生命值+{0:0%}(受层数影响)\n战斗开始时【阿戈尔】干员依次吞噬身前一格干员造成5000点物理伤害并获得其基础攻击力和阻挡数,并叠加等于被吞噬者等阶的盟约层数(【阿戈尔】之间优先更靠左和靠上的干员发起吞噬)\n<在场5名不同【阿戈尔】干员>前3名【阿戈尔】干员首次被击倒时立刻复活","effectDescRaw":"【阿戈尔】干员生命值<@ba.vup>+{0:0%}<@ba.acrem>(受层数影响)\n战斗开始时【阿戈尔】干员依次吞噬身前一格干员造成<@ba.vdown>5000点物理伤害并获得其<@ba.vup>基础攻击力和<@ba.vup>阻挡数,并叠加等于被吞噬者等阶的盟约层数<@ba.acrem>(【阿戈尔】之间优先更靠左和靠上的干员发起吞噬)\n<在场<@ba.vup>5名不同【阿戈尔】干员>前3名【阿戈尔】干员首次被击倒时<@ba.vup>立刻复活","effectDescParams":[{"index":0,"format":"0%","base":"base_max_hp","perStack":"max_hp_per_stack"}],"bb":{"base_max_hp":0.35,"max_hp_per_stack":0.01,"damage_value":5000,"power_bond_char_cnt":5,"max_free_respawn_cnt":3},"bbStr":{"key":"act1autochess_bond_eff_egir","bond_type":"bond_by_id","bond_id":"egirShip","bond_add_type":"by_charlevel"},"buffs":[{"key":"env_gbuff_new","bb":{"base_max_hp":0.35,"max_hp_per_stack":0.01,"damage_value":5000,"power_bond_char_cnt":5,"max_free_respawn_cnt":3},"bbStr":{"key":"act1autochess_bond_eff_egir","bond_type":"bond_by_id","bond_id":"egirShip","bond_add_type":"by_charlevel"}}],"baseParams":["base_max_hp"],"perStackParams":["max_hp_per_stack"],"members":["chess_char_1_04_a","chess_char_2_07_a","chess_char_3_05_a","chess_char_3_09_a","chess_char_4_09_a","chess_char_4_12_a","chess_char_5_05_a","chess_char_5_13_a","chess_char_6_04_a"],"visibleMembers":["chess_char_1_04_a","chess_char_2_07_a","chess_char_3_05_a","chess_char_3_09_a","chess_char_4_09_a","chess_char_4_12_a","chess_char_5_05_a","chess_char_5_13_a","chess_char_6_04_a"],"spec":{"tiers":[{"need":"3 distinct","effect":"阿戈尔 members maxHP x(1 + 0.35 + 0.01*L)."},{"need":"3 distinct (battle start)","effect":"Devour (吞噬): see algorithm."},{"need":"5 distinct","effect":"The first 3 阿戈尔 members to be knocked out, in knock-out order (the battle-start devour's food included; a member never knocked out takes none), each revive immediately on that first knock-out; a member takes at most one, and a save by its own kit / item / band revive is no knock-out (max_free_respawn_cnt 3; the owner's decision of 2026-10-05)."}],"algorithm":["Order: 阿戈尔 members sorted leftmost first, then topmost (\"更靠左和靠上\").","Each 阿戈尔 in order marks the unit on the tile directly in front of it (its facing direction) and also the front-tile unit of every 阿戈尔 it has marked (chain). It never marks itself, a unit it already marked, or a unit that marked it.","The marker immediately gains the base ATK of every unit it marked (a 最终加算: added after its ATK percentages, PRTS \"基础攻击力(最终加算)\") and their block counts.","After all marks are placed, each mark makes its target suffer one 5000-point physical 流失 (HP loss, source = the target itself; if it dies, the kill is credited to the marker), resolved in marking order. A target that dies cancels its remaining pending marks; a marker knocked out earlier in the pass still resolves its own marks (only the target's state cancels a mark).","Each devoured unit adds layers to 阿戈尔 equal to its tier (1-6), once per unit per battle.","(5-member tier) Revive is implemented as: when the unit leaves the field for any reason other than being moved, its next deployment has 0 redeploy time and 0 cost (PRTS). Devour layers: each devoured unit adds its tier once per battle (refreshes next round)."],"formulas":{"hpMultiplier":"1.35 + 0.01*L","devourDamage":"5000","layersPerDevoured":"tier of devoured unit"},"caps":"3 revives per battle","layerGain":"Devour (tier per devoured unit, every battle); 幽灵鲨 被击倒 +3; 归溟幽灵鲨 被击倒/替身切换 +5 阿戈尔 +5 不屈; 斯卡蒂 each 2 kills +1 阿戈尔/坚守/突袭; 海霓 first kill (enemy or ally) +3 阿戈尔/奥术; 机变 \"斯卡蒂的盟誓\" +8. Strategy 克莱门莎: an 阿戈尔 knocked out adds layers = its tier.","howToPlay":"Put cheap/high-tier fodder in front of 阿戈尔 carries: they steal base ATK and block, gain layers, and (5) revive. Tier-6 fodder gives +6 layers per battle.","assumed":["5000 physical 流失 ignores DEF and shields","marked allied units are operators of any player (devour hits allies): on a shared field a teammate's operator in front, standing or entering 联防 knocked out, is devoured too and the chain continues through a teammate's 阿戈尔 (the owner's decision of 2026-10-05: PRTS has no own-side limit)"]}},"siracusaShip":{"bondId":"siracusaShip","name":"叙拉古","identifier":7,"isCore":true,"bondType":"SEASON","bondOrder":2,"powerIdList":["siracusa","chiave"],"iconId":"icon_siracusaShip","activeCount":3,"thresholds":[3,6],"maxCount":null,"thresholdTemplate":"count_threshold_upward","countMode":"BOARD","countsHand":false,"countsGoldenOnly":false,"activeType":"BATTLE","isActiveInDeck":false,"noStack":false,"weight":10,"maxInactiveBondCount":-1,"layerMilestones":[],"desc":"【叙拉古】干员部署后攻击速度提升,持续一定时间(受层数影响)\n<在场6名不同【叙拉古】干员>【叙拉古】干员部署后进入等时长的隐匿状态,【叙拉古】干员隐匿状态下和脱离隐匿10秒内对敌人攻击时有3%的概率造成一定真实伤害(受层数影响)并恐惧3秒","descRaw":"【叙拉古】干员部署后<@ba.vup>攻击速度提升,持续一定时间<@autochess.gray>(受层数影响)\n<在场<@autochess.dgreen>6名不同【叙拉古】干员>【叙拉古】干员部署后进入等时长的隐匿状态,【叙拉古】干员隐匿状态下和脱离隐匿<@ba.vup>10秒内对敌人攻击时有<@ba.vup>3%的概率造成一定真实伤害<@autochess.gray>(受层数影响)并<@ba.vup>恐惧3秒","effectId":"bondeffect_siracusa","effectName":"叙拉古","effectDesc":"【叙拉古】干员部署后攻击速度+{0:0},持续{1:0}秒(受层数影响)\n<在场6名不同【叙拉古】干员>【叙拉古】干员部署后还会进入等时长的隐匿状态,【叙拉古】干员在隐匿状态和脱离隐匿10秒内对敌人攻击时有3%概率造成{2:0}(受层数影响)点真实伤害并恐惧目标3秒","effectDescRaw":"【叙拉古】干员部署后攻击速度<@ba.vup>+{0:0},持续<@ba.vup>{1:0}秒<@ba.acrem>(受层数影响)\n<在场<@ba.vup>6名不同【叙拉古】干员>【叙拉古】干员部署后还会进入等时长的隐匿状态,【叙拉古】干员在隐匿状态和脱离隐匿10秒内对敌人攻击时有3%概率造成<@ba.vup>{2:0}<@ba.acrem>(受层数影响)点真实伤害并<@ba.vup>恐惧目标3秒","effectDescParams":[{"index":0,"format":"0","base":"base_attack_speed","perStack":"attack_speed_per_stack"},{"index":1,"format":"0","base":"base_duration","perStack":"duration_per_stack"},{"index":2,"format":"0","base":"base_damage","perStack":"damage_per_stack"}],"bb":{"base_duration":32,"duration_per_stack":0.4,"base_attack_speed":25,"attack_speed_per_stack":0.8,"power_bond_char_cnt":6,"ex_bond_char_cnt":6,"end_duration":10,"prob":0.03,"base_damage":5000,"damage_per_stack":50,"fear":3},"bbStr":{"key":"act2autochess_bond_eff_siracusa"},"buffs":[{"key":"env_gbuff_new","bb":{"base_duration":32,"duration_per_stack":0.4,"base_attack_speed":25,"attack_speed_per_stack":0.8,"power_bond_char_cnt":6,"ex_bond_char_cnt":6,"end_duration":10,"prob":0.03,"base_damage":5000,"damage_per_stack":50,"fear":3},"bbStr":{"key":"act2autochess_bond_eff_siracusa"}}],"baseParams":["base_attack_speed","base_duration","base_damage"],"perStackParams":["attack_speed_per_stack","duration_per_stack","damage_per_stack"],"members":["chess_char_1_07_a","chess_char_1_08_a","chess_char_2_16_a","chess_char_3_15_a","chess_char_3_18_a","chess_char_3_19_a","chess_char_4_10_a","chess_char_4_16_a","chess_char_5_10_a","chess_char_5_20_a","chess_char_6_18_a"],"visibleMembers":["chess_char_1_07_a","chess_char_1_08_a","chess_char_2_16_a","chess_char_3_18_a","chess_char_3_19_a","chess_char_4_10_a","chess_char_4_16_a","chess_char_5_10_a","chess_char_5_20_a","chess_char_6_18_a"],"spec":{"tiers":[{"need":"3 distinct","effect":"After every deployment (incl. redeploy) a 叙拉古 member gains ASPD +(25 + 0.8*L) for (32 + 0.4*L) s."},{"need":"6 distinct","effect":"After deployment also 隐匿 (camouflage) for the same duration. While camouflaged and for 10 s after it ends, each normal damage instance (普通伤害 = attack type NORMAL: attacks, skill hits, drone attacks; not 溅射 / 持续 / 附加 — `bonds/core.js siracusaRolls`) it deals may add (5000 + 50*L) true damage (source = the operator) and 恐惧 (fear) 3 s. Nominal 3% chance, implemented as pseudo-random: all 叙拉古 members share one counter; attempt n since last proc succeeds with p = 0.00139*n (guaranteed at n = 720); counter resets on proc."}],"formulas":{"aspd":"25 + 0.8*L","durationSec":"32 + 0.4*L","procDamage":"5000 + 50*L","prdStep":"0.00139"},"caps":"none","layerGain":"Shop refresh-driven: 拉普兰德 first manual refresh each round +4 (works from bench); 安洁莉娜 休整期结束 +4 per refresh this round (<=12/round); 阿罗玛 +2 叙拉古/奥术 per refresh (<=6); 伺夜 first 3 kills +2 叙拉古 +1 奇迹; 荒芜拉普兰德 each kill +2 (elite: every 叙拉古 gets this, <=100/battle); 忍冬 获得时 +6 own bonds (x2/x3 with 投资人); 机变 \"德克萨斯的盟誓\" +10. Strategy 贾维: every 6 manual refreshes get a free 叙拉古 (<=2/round).","howToPlay":"Refresh a lot in prep (free refresh sources: 普罗旺斯, 德克萨斯, 缄默德克萨斯, 巫恋) to feed 拉普兰德/安洁莉娜; pair with 投资人 for 忍冬.","notes":["PRTS: the 10 s post-stealth window restarts if the operator's status effects or immunities change."],"assumed":["隐匿 = standard AK camouflage (not targeted by ranged enemies unless blocking)"]}},"kazimierzShip":{"bondId":"kazimierzShip","name":"卡西米尔","identifier":8,"isCore":true,"bondType":"SEASON","bondOrder":2,"powerIdList":["kazimierz","pinus"],"iconId":"icon_kazimierzShip","activeCount":3,"thresholds":[3,6],"maxCount":null,"thresholdTemplate":"count_threshold_upward","countMode":"BOARD","countsHand":false,"countsGoldenOnly":false,"activeType":"BATTLE","isActiveInDeck":false,"noStack":false,"weight":10,"maxInactiveBondCount":-1,"layerMilestones":[],"desc":"每次有干员部署时,【卡西米尔】干员攻击力+20%持续至战斗结束(上限受层数影响)\n<在场6名不同【卡西米尔】干员>【卡西米尔】干员阻挡敌人时每2秒对周围敌人造成120%攻击力真实伤害和0.1秒晕眩,未阻挡敌人时攻击附带30%攻击力的真实伤害","descRaw":"每次有干员部署时,【卡西米尔】干员攻击力<@ba.vup>+20%持续至战斗结束<@autochess.gray>(上限受层数影响)\n<在场<@autochess.dgreen>6名不同【卡西米尔】干员>【卡西米尔】干员阻挡敌人时每<@ba.vup>2秒对周围敌人造成<@ba.vup>120%攻击力真实伤害和<@ba.vup>0.1秒晕眩,未阻挡敌人时攻击附带<@ba.vup>30%攻击力的真实伤害","effectId":"bondeffect_kazimierz","effectName":"卡西米尔","effectDesc":"每次有干员部署时【卡西米尔】干员攻击力+20%(至多+{0:0%})(受层数影响)\n<在场6名不同【卡西米尔】干员>【卡西米尔】干员阻挡敌人时每2秒对周围敌人造成120%攻击力真实伤害和0.1秒晕眩,未阻挡敌人时攻击附带30%攻击力的真实伤害","effectDescRaw":"每次有干员部署时【卡西米尔】干员攻击力+20%(至多<@ba.vup>+{0:0%})<@ba.acrem>(受层数影响)\n<在场<@ba.vup>6名不同【卡西米尔】干员>【卡西米尔】干员阻挡敌人时每2秒对周围敌人造成<@ba.vup>120%攻击力真实伤害和<@ba.vup>0.1秒晕眩,未阻挡敌人时攻击附带<@ba.vup>30%攻击力的真实伤害","effectDescParams":[{"index":0,"format":"0%","base":"base_max_atk_when_born","perStack":"max_atk_when_born_per_stack"}],"bb":{"atk_when_born":0.2,"base_max_atk_when_born":0.5,"max_atk_when_born_per_stack":0.01,"damage_interval":2,"damage_atk_scale":1.2,"stun":0.1,"range_radius":0.8,"power_bond_char_cnt":6,"pure_atk_scale":0.3},"bbStr":{"key":"act2autochess_bond_eff_kazimierz"},"buffs":[{"key":"env_gbuff_new","bb":{"atk_when_born":0.2,"base_max_atk_when_born":0.5,"max_atk_when_born_per_stack":0.01,"damage_interval":2,"damage_atk_scale":1.2,"stun":0.1,"range_radius":0.8,"power_bond_char_cnt":6,"pure_atk_scale":0.3},"bbStr":{"key":"act2autochess_bond_eff_kazimierz"}}],"baseParams":["base_max_atk_when_born"],"perStackParams":["max_atk_when_born_per_stack"],"members":["chess_char_1_19_a","chess_char_2_12_a","chess_char_2_18_a","chess_char_3_12_a","chess_char_3_17_a","chess_char_4_19_a","chess_char_4_20_a","chess_char_5_19_a","chess_char_6_17_a","chess_char_6_19_a"],"visibleMembers":["chess_char_1_19_a","chess_char_2_12_a","chess_char_2_18_a","chess_char_3_12_a","chess_char_3_17_a","chess_char_4_19_a","chess_char_4_20_a","chess_char_5_19_a","chess_char_6_17_a","chess_char_6_19_a"],"spec":{"tiers":[{"need":"3 distinct","effect":"Every time any friendly operator is deployed (incl. redeploys) each 卡西米尔 member gains ATK +20% until battle end, capped at +(50 + 1*L)%."},{"need":"6 distinct","effect":"While blocking >= 1 enemy: every 2 s deals 120% ATK true damage to all enemies within radius 0.8 tiles and stuns them 0.1 s. While not blocking: each normal damage instance adds 30% ATK sourceless true damage."}],"formulas":{"atkPerDeploy":"0.20","atkCap":"0.50 + 0.01*L"},"caps":"ATK bonus cap 50%+1%/layer","layerGain":"Deploy-driven in battle: 砾 部署时 +1; 瑕光 部署时 +4 own active bonds (<=12/battle); 远牙 grants the right-most operator in its row \"部署时 +4 卡西米尔/精准 (<=24/battle)\"; 锏 部署时 +8 (<=24); 获得时: 野鬃 +2, 灰毫 +3 to highest-layer bond; 机变 \"玛恩纳的盟誓\" +12. Strategy 玛恩纳: +1 gold next round per 卡西米尔 bought (<=3).","howToPlay":"Maximise deploy events: low redeploy time (助力 -30%, 骑士戒律), operators that die/retreat and come back (砾 + 不屈). 巴哈姆特: do not light 坚守 (damage sharing keeps 砾 alive).","assumed":["initial auto-deployments at battle start also count as deploys","buff applies to members deployed later too (stored globally, capped)"]}},"preciShip":{"bondId":"preciShip","name":"精准","identifier":9,"isCore":false,"bondType":"REGULAR","bondOrder":2,"powerIdList":[],"iconId":"icon_preciShip","activeCount":2,"thresholds":[2,3],"maxCount":null,"thresholdTemplate":"count_threshold_upward","countMode":"BOARD","countsHand":false,"countsGoldenOnly":false,"activeType":"BATTLE","isActiveInDeck":false,"noStack":false,"weight":10,"maxInactiveBondCount":-1,"layerMilestones":[],"desc":"【精准】干员攻击力提升(受层数影响)\n<在场3名不同【精准】干员>生效范围变为【精准】干员和所有远程干员,且攻击无视一定的防御力和法术抗性","descRaw":"【精准】干员<@ba.vup>攻击力提升<@autochess.gray>(受层数影响)\n<在场<@autochess.dgreen>3名不同【精准】干员>生效范围变为【精准】干员和所有远程干员,且攻击无视一定的<@ba.vup>防御力和<@ba.vup>法术抗性","effectId":"bondeffect_preci","effectName":"精准","effectDesc":"【精准】干员攻击力+{0:0%}(受层数影响)\n<在场3名不同【精准】干员>生效范围变为所有【精准】干员和远程干员,且攻击无视30%防御力和法术抗性","effectDescRaw":"【精准】干员攻击力<@ba.vup>+{0:0%}<@ba.acrem>(受层数影响)\n<在场<@ba.vup>3名不同【精准】干员>生效范围变为所有【精准】干员和远程干员,且攻击无视<@ba.vup>30%防御力和法术抗性","effectDescParams":[{"index":0,"format":"0%","base":"base_atk","perStack":"atk_per_stack"}],"bb":{"base_atk":0.1,"atk_per_stack":0.012,"power_def_penetrate":0.3,"power_magic_resist_penetrate":0.3,"power_bond_char_cnt":3},"bbStr":{"key":"act1autochess_bond_eff_preci"},"buffs":[{"key":"env_gbuff_new","bb":{"base_atk":0.1,"atk_per_stack":0.012,"power_def_penetrate":0.3,"power_magic_resist_penetrate":0.3,"power_bond_char_cnt":3},"bbStr":{"key":"act1autochess_bond_eff_preci"}}],"baseParams":["base_atk"],"perStackParams":["atk_per_stack"],"members":["chess_char_1_09_a","chess_char_1_17_a","chess_char_2_01_a","chess_char_3_11_a","chess_char_4_06_a","chess_char_4_14_a","chess_char_4_20_a","chess_char_5_02_a","chess_char_6_01_a","chess_char_6_05_a","chess_char_6_08_a","chess_char_6_12_a"],"visibleMembers":["chess_char_1_09_a","chess_char_1_17_a","chess_char_2_01_a","chess_char_3_11_a","chess_char_4_06_a","chess_char_4_14_a","chess_char_4_20_a","chess_char_5_02_a","chess_char_6_01_a","chess_char_6_05_a","chess_char_6_08_a","chess_char_6_12_a"],"spec":{"tiers":[{"need":"2 distinct","effect":"精准 members ATK x(1 + 0.10 + 0.012*L)."},{"need":"3 distinct","effect":"Scope becomes 精准 members + every RANGED operator; affected units also ignore 30% of target DEF and 30% of target RES."}],"formulas":{"atkMultiplier":"1.10 + 0.012*L","defPenetrateRatio(3)":"0.3","resPenetrateRatio(3)":"0.3"},"layerGain":"Kill/skill/deploy in battle: 寒芒克洛丝 gives front operator \"开技能 +1 精准 (<=10/battle)\"; 远牙 grant (+4/deploy); 缇缇 +1 per sleep/stun; 蕾缪安, 送葬人; 莱恩哈特 休整期结束 +5 own active bonds; 获得时: 深靛 +2, 雪猎 +5. 机变 \"缇缇的盟誓\" +10.","assumed":["penetration = ratio ignore (like 无视 x% 防御)"]}},"swiftShip":{"bondId":"swiftShip","name":"迅捷","identifier":10,"isCore":false,"bondType":"REGULAR","bondOrder":2,"powerIdList":[],"iconId":"icon_swiftShip","activeCount":2,"thresholds":[2],"maxCount":null,"thresholdTemplate":"count_threshold_upward","countMode":"BOARD","countsHand":false,"countsGoldenOnly":false,"activeType":"BATTLE","isActiveInDeck":false,"noStack":false,"weight":10,"maxInactiveBondCount":-1,"layerMilestones":[{"layer":40,"mode":"reach","effect":"env_gbuff_new"}],"desc":"【迅捷】干员技能结束时有概率(受层数影响)立刻回复12点技力\n<达到40层>所有干员技能结束时有等概率额外回复15点技力","descRaw":"【迅捷】干员技能结束时有概率<@autochess.gray>(受层数影响)立刻回复<@ba.vup>12点技力\n<达到<@autochess.dgreen>40层>所有干员技能结束时有等概率额外回复<@ba.vup>15点技力","effectId":"bondeffect_swift","effectName":"迅捷","effectDesc":"【迅捷】干员技能结束时有{0:0%}概率(受层数影响)立刻回复12点技力\n<达到40层>所有干员技能结束时有等概率额外回复15点技力","effectDescRaw":"【迅捷】干员技能结束时有<@ba.vup>{0:0%}概率<@ba.acrem>(受层数影响)立刻回复<@ba.vup>12点技力\n<达到<@ba.vup>40层>所有干员技能结束时有等概率额外回复<@ba.vup>15点技力","effectDescParams":[{"index":0,"format":"0%","base":"base_prob","perStack":"prob_per_stack"}],"bb":{"base_prob":0.2,"prob_per_stack":0.0035,"power_bond_stack_cnt":40,"normal_sp":12,"power_sp":15},"bbStr":{"key":"act1autochess_bond_eff_swift"},"buffs":[{"key":"env_gbuff_new","bb":{"base_prob":0.2,"prob_per_stack":0.0035,"power_bond_stack_cnt":40,"normal_sp":12,"power_sp":15},"bbStr":{"key":"act1autochess_bond_eff_swift"}}],"baseParams":["base_prob"],"perStackParams":["prob_per_stack"],"members":["chess_char_1_01_a","chess_char_1_16_a","chess_char_1_19_a","chess_char_2_13_a","chess_char_2_19_a","chess_char_3_10_a","chess_char_3_18_a","chess_char_4_14_a","chess_char_5_14_a","chess_char_5_15_a","chess_char_5_22_a","chess_char_6_05_a","chess_char_6_10_a","chess_char_6_19_a"],"visibleMembers":["chess_char_1_01_a","chess_char_1_19_a","chess_char_2_13_a","chess_char_2_19_a","chess_char_3_10_a","chess_char_3_18_a","chess_char_4_14_a","chess_char_5_14_a","chess_char_5_15_a","chess_char_5_22_a","chess_char_6_05_a","chess_char_6_19_a"],"spec":{"tiers":[{"need":"2 distinct","effect":"When a 迅捷 member's skill ends: with p = min(1, 0.20 + 0.0035*L) immediately +12 SP."},{"need":"L >= 40","effect":"Every operator whose skill ends: with the same p, additionally +15 SP."}],"formulas":{"p":"min(1, 0.20 + 0.0035*L)","reaches100%AtL":"229"},"layerGain":"妮芙 休整期结束 +2 per operator on the bench; 蒂比 进入休整期 +2 own active bonds; 莱恩哈特 +5; 引星棘刺 +4 self & front; 获得时: 锡人/野鬃 +2, 忍冬 +6, 锏 +8. 机变 \"银灰的盟誓\" +8.","assumed":["迅捷 members roll both the 12 SP and the 15 SP independently"]}},"skillfulShip":{"bondId":"skillfulShip","name":"灵巧","identifier":11,"isCore":false,"bondType":"REGULAR","bondOrder":2,"powerIdList":[],"iconId":"icon_skillfulShip","activeCount":2,"thresholds":[2],"maxCount":null,"thresholdTemplate":"count_threshold_upward","countMode":"BOARD","countsHand":false,"countsGoldenOnly":false,"activeType":"BATTLE","isActiveInDeck":false,"noStack":false,"weight":10,"maxInactiveBondCount":-1,"layerMilestones":[{"layer":40,"mode":"reach","effect":"env_gbuff_new"}],"desc":"【灵巧】干员及周围4格干员攻击速度提升(受层数影响)\n<达到40层>生效范围变为【灵巧】干员周围8格","descRaw":"【灵巧】干员及周围4格干员<@ba.vup>攻击速度提升<@autochess.gray>(受层数影响)\n<达到<@autochess.dgreen>40层>生效范围变为【灵巧】干员周围8格","effectId":"bondeffect_skillful","effectName":"灵巧","effectDesc":"【灵巧】干员及周围4格的干员攻击速度+{0:0}(受层数影响)\n <达到40层>生效范围变为【灵巧】干员周围8格","effectDescRaw":"【灵巧】干员及周围4格的干员攻击速度<@ba.vup>+{0:0}<@ba.acrem>(受层数影响)\n <达到<@ba.vup>40层>生效范围变为【灵巧】干员周围8格","effectDescParams":[{"index":0,"format":"0","base":"base_attack_speed","perStack":"attack_speed_per_stack"}],"bb":{"base_attack_speed":10,"attack_speed_per_stack":1,"power_bond_stack_cnt":40},"bbStr":{"key":"act1autochess_bond_eff_skillful"},"buffs":[{"key":"env_gbuff_new","bb":{"base_attack_speed":10,"attack_speed_per_stack":1,"power_bond_stack_cnt":40},"bbStr":{"key":"act1autochess_bond_eff_skillful"}}],"baseParams":["base_attack_speed"],"perStackParams":["attack_speed_per_stack"],"members":["chess_char_1_14_a","chess_char_2_04_a","chess_char_2_13_a","chess_char_3_02_a","chess_char_3_13_a","chess_char_3_21_a","chess_char_4_11_a","chess_char_4_13_a","chess_char_4_21_a","chess_char_5_06_a","chess_char_5_16_a","chess_char_6_16_a"],"visibleMembers":["chess_char_1_14_a","chess_char_2_04_a","chess_char_2_13_a","chess_char_3_02_a","chess_char_3_13_a","chess_char_3_21_a","chess_char_4_11_a","chess_char_4_13_a","chess_char_4_21_a","chess_char_5_06_a","chess_char_6_16_a"],"spec":{"tiers":[{"need":"2 distinct","effect":"灵巧 members and operators on their 4 orthogonally adjacent tiles: ASPD +(10 + 1*L)."},{"need":"L >= 40","effect":"Area becomes the 8 surrounding tiles."}],"formulas":{"aspd":"10 + L"},"layerGain":"溯光星源 休整期结束 +2 灵巧/奥术 per 3 gold spent this round ; 断崖 +3 self & behind; 空弦 +3 self & front; 蒂比 +2; 获得时 灵知 +5. (act1 灵巧 also had a 20-layer shop reward; removed in act2.)","assumed":["a unit covered by several 灵巧 auras gets the bonus once"]}},"arcaneShip":{"bondId":"arcaneShip","name":"奥术","identifier":12,"isCore":false,"bondType":"REGULAR","bondOrder":2,"powerIdList":[],"iconId":"icon_arcaneShip","activeCount":2,"thresholds":[2,3],"maxCount":null,"thresholdTemplate":"count_threshold_upward","countMode":"BOARD","countsHand":false,"countsGoldenOnly":false,"activeType":"BATTLE","isActiveInDeck":false,"noStack":false,"weight":10,"maxInactiveBondCount":-1,"layerMilestones":[],"desc":"【奥术】干员造成法术伤害时使目标受到的法术伤害提升(受层数影响),持续3秒\n<在场3名不同【奥术】干员>【奥术】干员对生命值低于50%的敌人施加的伤害提升比例提升(受层数影响)","descRaw":"【奥术】干员造成法术伤害时使目标受到的法术伤害提升<@autochess.gray>(受层数影响),持续3秒\n<在场<@autochess.dgreen>3名不同【奥术】干员>【奥术】干员对生命值低于<@ba.vup>50%的敌人施加的伤害提升比例提升<@autochess.gray>(受层数影响)","effectId":"bondeffect_arcane","effectName":"奥术","effectDesc":"【奥术】干员造成法术伤害时使目标受到的法术伤害提升{0:0%}(受层数影响),持续3秒\n<在场3名不同【奥术】干员>【奥术】干员对生命值低于50%的敌人施加的伤害提升比例为{1:0%}(受层数影响)","effectDescRaw":"【奥术】干员造成法术伤害时使目标受到的法术伤害提升<@ba.vup>{0:0%}<@ba.acrem>(受层数影响),持续3秒\n<在场<@ba.vup>3名不同【奥术】干员>【奥术】干员对生命值低于50%的敌人施加的伤害提升比例为<@ba.vup>{1:0%}<@ba.acrem>(受层数影响)","effectDescParams":[{"index":0,"format":"0%","base":"base_damage_scale_show","perStack":"damage_scale_per_stack"},{"index":1,"format":"0%","base":"base_damage_scale_show_ex","perStack":"damage_scale_per_stack_show_ex"}],"bb":{"weak_duration":3,"base_damage_scale":1.2,"damage_scale_per_stack":0.01,"power_bond_char_cnt":3,"power_weak_scale":1.4,"hp_ratio":0.5,"base_damage_scale_show":0.2,"base_damage_scale_show_ex":0.68,"damage_scale_per_stack_show_ex":0.014},"bbStr":{"key":"act2autochess_bond_eff_arcane"},"buffs":[{"key":"env_gbuff_new","bb":{"weak_duration":3,"base_damage_scale":1.2,"damage_scale_per_stack":0.01,"power_bond_char_cnt":3,"power_weak_scale":1.4,"hp_ratio":0.5,"base_damage_scale_show":0.2,"base_damage_scale_show_ex":0.68,"damage_scale_per_stack_show_ex":0.014},"bbStr":{"key":"act2autochess_bond_eff_arcane"}}],"baseParams":["base_damage_scale_show","base_damage_scale_show_ex"],"perStackParams":["damage_scale_per_stack","damage_scale_per_stack_show_ex"],"members":["chess_char_1_17_a","chess_char_2_10_a","chess_char_2_15_a","chess_char_3_09_a","chess_char_4_02_a","chess_char_4_10_a","chess_char_5_07_a","chess_char_5_12_a","chess_char_6_02_a","chess_char_6_16_a"],"visibleMembers":["chess_char_1_17_a","chess_char_2_10_a","chess_char_3_09_a","chess_char_4_02_a","chess_char_4_10_a","chess_char_5_07_a","chess_char_5_12_a","chess_char_6_02_a","chess_char_6_16_a"],"spec":{"tiers":[{"need":"2 distinct","effect":"When an 奥术 member deals magic damage, the target takes magic damage x(1.20 + 0.01*L) (i.e. +(20+L)%) for 3 s. ONE instance per target whatever applies it: the strongest value wins, a weaker one resumes if it outlasts it; reapplying refreshes (corrected 2026-10-01: PRTS 作战机制 同名buff默认只表现出一个; 巴哈姆特 12316 the two players of a pair field compete for it)."},{"need":"3 distinct","effect":"Against enemies below 50% HP the multiplier is 1.4 x (1.20 + 0.01*L) = 1.68 + 0.014*L (i.e. +(68+1.4L)%)."}],"formulas":{"magicTakenMul":"1.20 + 0.01*L","magicTakenMulLowHp(3)":"1.4*(1.20 + 0.01*L)","hpThreshold":"0.5","durationSec":"3"},"layerGain":"夕 +2 per operator gained; 阿罗玛 +2 per refresh (<=6); 溯光星源 +2 per 3 gold spent; 海霓 first kill +3; 获得时: 深靛 +2, 协律 +4 (hidden). 机变 \"莫斯提马的盟誓\" +10.","assumed":["one instance per target, the strongest (the engine's default same-name rule; the two players of a pair field compete for it) — until v2.5 the remake kept one per player and they multiplied"]}},"steadShip":{"bondId":"steadShip","name":"坚守","identifier":13,"isCore":false,"bondType":"REGULAR","bondOrder":2,"powerIdList":[],"iconId":"icon_steadShip","activeCount":2,"thresholds":[2,3],"maxCount":null,"thresholdTemplate":"count_threshold_upward","countMode":"BOARD","countsHand":false,"countsGoldenOnly":false,"activeType":"BATTLE","isActiveInDeck":false,"noStack":false,"weight":10,"maxInactiveBondCount":-1,"layerMilestones":[],"desc":"所有干员生命值提升(受层数影响)\n<在场3名不同【坚守】干员>场上非【坚守】干员受到伤害时,所受伤害的40%由所有【坚守】干员平均承担。【坚守】干员受到伤害时,伤害来源将受到一定法术伤害(受层数影响,每0.2秒至多触发1次)和持续5秒的40%脆弱效果","descRaw":"所有干员<@ba.vup>生命值提升<@autochess.gray>(受层数影响)\n<在场<@autochess.dgreen>3名不同【坚守】干员>场上非【坚守】干员受到伤害时,所受伤害的<@ba.vup>40%由所有【坚守】干员<@ba.vup>平均承担。【坚守】干员受到伤害时,伤害来源将受到一定法术伤害<@autochess.gray>(受层数影响,每0.2秒至多触发1次)和持续<@ba.vup>5秒的<@ba.vup>40%脆弱效果","effectId":"bondeffect_stead","effectName":"坚守","effectDesc":"所有干员生命值+{0:0%}(受层数影响)\n<在场3名不同【坚守】干员>场上非【坚守】干员受到伤害时,所受伤害的40%由【坚守】干员平均承担;【坚守】干员受到伤害时,伤害来源受到{1:0}点法术伤害(受层数影响,每0.2秒至多触发1次)和持续5秒的40%的脆弱效果","effectDescRaw":"所有干员生命值<@ba.vup>+{0:0%}<@ba.acrem>(受层数影响)\n<在场<@ba.vup>3名不同【坚守】干员>场上非【坚守】干员受到伤害时,所受伤害的<@ba.vup>40%由【坚守】干员平均承担;【坚守】干员受到伤害时,伤害来源受到<@ba.vup>{1:0}点法术伤害<@ba.acrem>(受层数影响,每0.2秒至多触发1次)和持续5秒的<@ba.vup>40%的脆弱效果","effectDescParams":[{"index":0,"format":"0%","base":"base_max_hp","perStack":"max_hp_per_stack"},{"index":1,"format":"0","base":"base_damage_value","perStack":"damage_value_per_stack"}],"bb":{"base_max_hp":0.25,"max_hp_per_stack":0.012,"damage_resistance":0.4,"power_bond_char_cnt":3,"cd_duration":0.2,"weak[limit]":5,"damage_scale":1.4,"base_damage_value":850,"damage_value_per_stack":10},"bbStr":{"key":"act1autochess_bond_eff_stead"},"buffs":[{"key":"env_gbuff_new","bb":{"base_max_hp":0.25,"max_hp_per_stack":0.012,"damage_resistance":0.4,"power_bond_char_cnt":3,"cd_duration":0.2,"weak[limit]":5,"damage_scale":1.4,"base_damage_value":850,"damage_value_per_stack":10},"bbStr":{"key":"act1autochess_bond_eff_stead"}}],"baseParams":["base_max_hp","base_damage_value"],"perStackParams":["max_hp_per_stack","damage_value_per_stack"],"members":["chess_char_1_02_a","chess_char_1_10_a","chess_char_2_08_a","chess_char_2_17_a","chess_char_2_18_a","chess_char_3_05_a","chess_char_3_16_a","chess_char_4_01_a","chess_char_5_11_a","chess_char_6_03_a"],"visibleMembers":["chess_char_1_02_a","chess_char_1_10_a","chess_char_2_08_a","chess_char_2_17_a","chess_char_2_18_a","chess_char_3_05_a","chess_char_3_16_a","chess_char_4_01_a","chess_char_5_11_a","chess_char_6_03_a"],"spec":{"tiers":[{"need":"2 distinct","effect":"ALL operators maxHP x(1 + 0.25 + 0.012*L)."},{"need":"3 distinct","effect":"When a non-坚守 operator takes damage, 40% of that damage is taken instead by the 坚守 members, split evenly. When a 坚守 member takes damage, the damage source takes (850 + 10*L) sourceless magic damage and 脆弱 (damage taken x1.4) for 5 s; each 坚守 member can reflect at most once per 0.2 s."}],"formulas":{"hpMultiplier":"1.25 + 0.012*L","redirectRatio":"0.4","thornsDamage":"850 + 10*L","thornsCooldownSec":"0.2","fragile":"1.4 for 5 s"},"layerGain":"折桠 休整期结束 +4; 蛇屠箱 +1 per operator in same row; 斯卡蒂 kills; 获得时 角峰 +2; 机变 \"斯卡蒂的盟誓\" +8.","notes":["PRTS: thorns hit whatever the damage source is; sourceless damage can consume the thorns cooldown."]}},"deputShip":{"bondId":"deputShip","name":"助力","identifier":14,"isCore":false,"bondType":"REGULAR","bondOrder":2,"powerIdList":[],"iconId":"icon_deputShip","activeCount":2,"thresholds":[2,3],"maxCount":null,"thresholdTemplate":"count_threshold_upward","countMode":"BOARD","countsHand":false,"countsGoldenOnly":false,"activeType":"BATTLE","isActiveInDeck":false,"noStack":false,"weight":10,"maxInactiveBondCount":-1,"layerMilestones":[],"desc":"所有干员防御力提升(受层数影响),再部署时间减少\n休整期结束时,使当前所有已激活盟约层数+2\n<在场3名不同【助力】干员>改为层数+4","descRaw":"所有干员<@ba.vup>防御力提升<@autochess.gray>(受层数影响),<@ba.vup>再部署时间减少\n休整期结束时,使当前所有已激活盟约层数<@ba.vup>+2\n<在场<@autochess.dgreen>3名不同【助力】干员>改为层数<@ba.vup>+4","effectId":"bondeffect_deput","effectName":"助力","effectDesc":"所有干员防御力+{0:0%}(受层数影响),再部署时间-30%\n休整期结束时,使当前所有已激活的盟约层数+2\n<在场3名不同【助力】干员>改为层数+4","effectDescRaw":"所有干员防御力<@ba.vup>+{0:0%}<@ba.acrem>(受层数影响),再部署时间<@ba.vup>-30%\n休整期结束时,使当前所有已激活的盟约层数<@ba.vup>+2\n<在场<@ba.vup>3名不同【助力】干员>改为层数<@ba.vup>+4","effectDescParams":[{"index":0,"format":"0%","base":"base_def","perStack":"def_per_stack"}],"bb":{"base_def":0.15,"def_per_stack":0.012,"respawn_time":-0.3,"layer":2,"count":3,"more_layer":4},"bbStr":{"key":"act1autochess_bond_eff_deput","bond":"deputShip"},"buffs":[{"key":"env_gbuff_new","bb":{"base_def":0.15,"def_per_stack":0.012,"respawn_time":-0.3},"bbStr":{"key":"act1autochess_bond_eff_deput"}},{"key":"bond_activated_add_layer","bb":{"layer":2,"count":3,"more_layer":4},"bbStr":{"bond":"deputShip"}}],"baseParams":["base_def"],"perStackParams":["def_per_stack"],"members":["chess_char_1_06_a","chess_char_1_13_a","chess_char_2_14_a","chess_char_2_15_a","chess_char_3_15_a","chess_char_3_20_a","chess_char_4_03_a","chess_char_4_05_a","chess_char_4_21_a","chess_char_4_24_a","chess_char_5_16_a","chess_char_6_14_a","chess_char_6_20_a"],"visibleMembers":["chess_char_1_06_a","chess_char_1_13_a","chess_char_2_14_a","chess_char_3_20_a","chess_char_4_21_a","chess_char_4_24_a","chess_char_6_14_a","chess_char_6_20_a"],"spec":{"tiers":[{"need":"2 distinct","effect":"ALL operators DEF x(1 + 0.15 + 0.012*L); redeploy time -30%. At the end of every prep phase (休整期结束时) every currently active bond (incl. 助力) gets +2 layers."},{"need":"3 助力 (distinct name or elite state)","effect":"+4 layers instead of +2."}],"formulas":{"defMultiplier":"1.15 + 0.012*L","redeployTimeMul":"0.7","layersPerRound":"2 (4 at 3 members) to every active bond"},"layerGain":"波登可 +1 / 调香师 +2 to highest-layer bond at prep end (work from bench); 流明 +2 to active bonds of every bench operator; 纯烬艾雅法拉 +3 highest-layer bond per skill; its own +2/+4 per round.","howToPlay":"Cheap universal layer engine: activate as many bonds as possible so each gets +2/+4 every round (helps the hidden-round threshold)."}},"visiShip":{"bondId":"visiShip","name":"远见","identifier":15,"isCore":false,"bondType":"REGULAR","bondOrder":2,"powerIdList":[],"iconId":"icon_visiShip","activeCount":2,"thresholds":[2],"maxCount":null,"thresholdTemplate":"count_threshold_upward","countMode":"BOARD_AND_DECK","countsHand":true,"countsGoldenOnly":false,"activeType":"ALL","isActiveInDeck":false,"noStack":false,"weight":10,"maxInactiveBondCount":-1,"layerMilestones":[{"layer":10,"mode":"every","effect":"bond_layer_gain_coin"},{"layer":80,"mode":"first","effect":"bond_multi_layer_char_goods_price_bond_discount"},{"layer":150,"mode":"first","effect":"bond_multi_layer_char_goods_price_bond_discount"}],"desc":"<每叠加10层>获得一次2资金\n<首次达到80层>所有【远见】干员购买价格永久-1资金\n<首次达到150层>以上效果改为调度中心内所有干员的购买价格永久-1资金(整备区的【远见】干员也可用于激活盟约)","descRaw":"<每叠加<@autochess.dgreen>10层>获得一次<@ba.vup>2资金\n<首次达到<@autochess.dgreen>80层>所有【远见】干员购买价格<@ba.vup>永久-1资金\n<首次达到<@autochess.dgreen>150层>以上效果改为调度中心内所有干员的购买价格<@ba.vup>永久-1资金(整备区的【远见】干员也可用于激活盟约)","effectId":"bondeffect_visi","effectName":"远见","effectDesc":"<每叠加10层>获得一次2资金\n<首次到达80层>所有【远见】干员购买价格永久-1资金\n<首次到达150层>上述效果改为所有干员购买价格永久-1资金\n整备区的【远见】干员也可用于激活盟约","effectDescRaw":"<每叠加<@ba.vup>10层>获得一次<@ba.vup>2资金\n<首次到达<@ba.vup>80层>所有【远见】干员购买价格永久-1资金\n<首次到达<@ba.vup>150层>上述效果改为所有干员购买价格永久-1资金\n整备区的【远见】干员也可用于激活盟约","effectDescParams":[],"bb":{"layer":10,"count":2,"layer1":80,"discount":1,"layer2":150},"bbStr":{"bond":"visiShip"},"buffs":[{"key":"bond_layer_gain_coin","bb":{"layer":10,"count":2},"bbStr":{}},{"key":"bond_multi_layer_char_goods_price_bond_discount","bb":{"layer1":80,"discount":1,"layer2":150},"bbStr":{"bond":"visiShip"}}],"baseParams":[],"perStackParams":[],"members":["chess_char_1_11_a","chess_char_2_02_a","chess_char_3_03_a","chess_char_3_14_a","chess_char_4_04_a","chess_char_4_07_a","chess_char_5_01_a","chess_char_5_21_a","chess_char_6_12_a"],"visibleMembers":["chess_char_2_02_a","chess_char_3_03_a","chess_char_3_14_a","chess_char_4_04_a","chess_char_4_07_a","chess_char_5_01_a","chess_char_5_21_a","chess_char_6_12_a"],"spec":{"tiers":[{"need":"2 distinct (board + bench)","effect":"Each time cumulative L passes a multiple of 10: +2 gold."},{"need":"first time L >= 80","effect":"All 远见 operators' shop price permanently -1."},{"need":"first time L >= 150","effect":"Replaces the above: every operator in the shop permanently -1 (overrides, does not stack; 3/27 update)."}],"formulas":{"goldPayouts":"2 * floor(L/10)"},"layerGain":"寒檀 进入/结束休整期 +4 each; 伊内丝 +5 own active bonds; 赫默 +2; 圣约送葬人 +3 per 7 bullets (<=21/battle); 风笛 kills +2; 机变 \"风笛的盟誓\" +8.","assumed":["no floor but 0 (owner's decision 2026-10-04; a floor of 1 was assumed until 0.1.3)"]}},"miraShip":{"bondId":"miraShip","name":"奇迹","identifier":16,"isCore":false,"bondType":"REGULAR","bondOrder":2,"powerIdList":[],"iconId":"icon_miraShip","activeCount":2,"thresholds":[2],"maxCount":null,"thresholdTemplate":"count_threshold_upward","countMode":"BOARD_AND_DECK","countsHand":true,"countsGoldenOnly":false,"activeType":"ALL","isActiveInDeck":false,"noStack":false,"weight":10,"maxInactiveBondCount":-1,"layerMilestones":[{"layer":100,"mode":"every","effect":"bond_layer_gain_coin"}],"desc":"刷新调度中心时,有概率使下次刷新不消耗资金(受层数影响)\n<每叠加100层>获得20资金(整备区的【奇迹】干员也可用于激活盟约)","descRaw":"刷新调度中心时,有概率使下次刷新<@ba.vup>不消耗资金<@autochess.gray>(受层数影响)\n<每叠加<@autochess.dgreen>100层>获得<@ba.vup>20资金(整备区的【奇迹】干员也可用于激活盟约)","effectId":"bondeffect_mira","effectName":"奇迹","effectDesc":"刷新调度中心时,有{0:0%}(受层数影响)概率使下次刷新不消耗资金\n<每叠加100层>获得20资金\n整备区的【奇迹】干员也可用于激活盟约","effectDescRaw":"刷新调度中心时,有<@ba.vup>{0:0%}<@ba.acrem>(受层数影响)概率使下次刷新不消耗资金\n<每叠加<@ba.vup>100层>获得<@ba.vup>20资金\n整备区的【奇迹】干员也可用于激活盟约","effectDescParams":[{"index":0,"format":"0%","base":"baseprob","perStack":"prob"}],"bb":{"probk":0.3,"prob":0.003,"baseprob":0.18,"layer":100,"count":20},"bbStr":{},"buffs":[{"key":"bond_refresh_shop_next_free","bb":{"probk":0.3,"prob":0.003,"baseprob":0.18},"bbStr":{}},{"key":"bond_layer_gain_coin","bb":{"layer":100,"count":20},"bbStr":{}}],"baseParams":["baseprob"],"perStackParams":["prob"],"members":["chess_char_1_11_a","chess_char_2_11_a","chess_char_3_01_a","chess_char_3_19_a","chess_char_4_15_a","chess_char_4_26_a","chess_char_5_04_a","chess_char_5_15_a","chess_char_5_20_a","chess_char_5_23_a","chess_char_6_07_a"],"visibleMembers":["chess_char_2_11_a","chess_char_3_01_a","chess_char_3_19_a","chess_char_4_26_a","chess_char_5_15_a","chess_char_5_20_a","chess_char_5_23_a","chess_char_6_07_a"],"spec":{"tiers":[{"need":"2 distinct (board + bench)","effect":"After each shop refresh, if the player has 0 free refreshes: with p = 0.18 + 0.003*L gain 1 free refresh."},{"need":"every 100 layers","effect":"+20 gold."}],"formulas":{"p":"min(1, 0.18 + 0.003*L)","goldPayouts":"20 * floor(L/100)"},"layerGain":"维娜·维多利亚 +2 per distinct-tier 奇迹; 录武官 获得时 +3; 伺夜 kills +1; 引星棘刺 +4 self & front; 华法琳 (奇迹 member) gives the operator in front \"开技能时 +1 own active bonds\" (data: <=7/battle, elite +2 <=14; PRTS 3/27 patch note says cap raised to 12/24).","notes":["blackboard probk = 0.3: meaning unknown (not in any description) [UNKNOWN]."]}},"investShip":{"bondId":"investShip","name":"投资人","identifier":17,"isCore":false,"bondType":"REGULAR","bondOrder":2,"powerIdList":[],"iconId":"icon_investShip","activeCount":3,"thresholds":[3],"maxCount":null,"thresholdTemplate":"count_threshold_upward","countMode":"BOARD_AND_DECK","countsHand":true,"countsGoldenOnly":false,"activeType":"ALL","isActiveInDeck":false,"noStack":false,"weight":0,"maxInactiveBondCount":-1,"layerMilestones":[{"layer":100,"mode":"reach","effect":"bond_layer_char_garrison_bonus"}],"desc":"干员的“获得时”类特质每次触发2次\n<达到100层>“获得时”类特质每次触发3次(整备区的【投资人】干员也可用于激活盟约)","descRaw":"干员的“获得时”类特质每次<@ba.vup>触发2次\n<达到<@autochess.dgreen>100层>“获得时”类特质每次<@ba.vup>触发3次(整备区的【投资人】干员也可用于激活盟约)","effectId":"bondeffect_invest","effectName":"投资人","effectDesc":"干员的“获得时”类特质每次触发2次\n<达到100层>“获得时”类特质每次触发3次\n整备区的【投资人】干员也可用于激活盟约","effectDescRaw":"干员的“获得时”类特质每次触发2次\n<达到<@ba.vup>100层>“获得时”类特质每次触发3次\n整备区的【投资人】干员也可用于激活盟约","effectDescParams":[],"bb":{"layer":0,"count":2},"bbStr":{"event":"SERVER_GAIN"},"buffs":[{"key":"bond_layer_char_garrison_bonus","bb":{"layer":0,"count":2},"bbStr":{"event":"SERVER_GAIN"}},{"key":"bond_layer_char_garrison_bonus","bb":{"layer":100,"count":3},"bbStr":{"event":"SERVER_GAIN"}}],"baseParams":[],"perStackParams":[],"members":["chess_char_1_16_a","chess_char_2_19_a","chess_char_3_04_a","chess_char_5_14_a","chess_char_5_17_a"],"visibleMembers":["chess_char_2_19_a","chess_char_3_04_a","chess_char_5_14_a","chess_char_5_17_a"],"spec":{"tiers":[{"need":"3 distinct (board + bench)","effect":"Every \"获得时\" (SERVER_GAIN) trait of every operator triggers 2 times."},{"need":"L >= 100","effect":"Triggers 3 times."}],"formulas":{"gainTraitRepeat":"2 if L < 100 else 3"},"layerGain":"山 休整期结束 +1 per operator gained this round; 机变 \"诗怀雅的盟誓\" +10, \"银灰的盟誓\" +8; generic sources.","howToPlay":"Pair with high \"获得时 +N 自身所属盟约\" operators (忍冬 +6, 锏 +8, 星熊 +8, 雪猎 +5) - their layers double/triple."}},"raidShip":{"bondId":"raidShip","name":"突袭","identifier":18,"isCore":false,"bondType":"REGULAR","bondOrder":2,"powerIdList":[],"iconId":"icon_raidShip","activeCount":2,"thresholds":[2],"maxCount":null,"thresholdTemplate":"count_threshold_upward","countMode":"BOARD","countsHand":false,"countsGoldenOnly":false,"activeType":"BATTLE","isActiveInDeck":false,"noStack":false,"weight":10,"maxInactiveBondCount":-1,"layerMilestones":[{"layer":50,"mode":"reach","effect":"env_gbuff_new"}],"desc":"【突袭】干员10秒内未进行攻击或技能就绪时,若范围内没有敌人,则保留技力立即再部署至一名地面敌人周围,期间攻击力和生命值提升(受层数影响)\n<达到50层>所有干员攻击速度+50","descRaw":"【突袭】干员<@ba.vup>10秒内未进行攻击或技能就绪时,若范围内没有敌人,则保留技力立即<@ba.vup>再部署至一名地面敌人周围,期间<@ba.vup>攻击力和<@ba.vup>生命值提升<@autochess.gray>(受层数影响)\n<达到<@autochess.dgreen>50层>所有干员攻击速度<@ba.vup>+50","effectId":"bondeffect_raid","effectName":"突袭","effectDesc":"【突袭】干员10秒内未进行攻击或技能就绪时,若范围内没有敌人,则保留技力立即再部署至一名地面敌人周围,期间攻击力和生命值+{0:0%}(受层数影响)\n <达到50层>所有干员攻击速度+50","effectDescRaw":"【突袭】干员10秒内未进行攻击或技能就绪时,若范围内没有敌人,则保留技力立即再部署至一名地面敌人周围,期间攻击力和生命值<@ba.vup>+{0:0%}<@ba.acrem>(受层数影响)\n <达到<@ba.vup>50层>所有干员攻击速度<@ba.vup>+50","effectDescParams":[{"index":0,"format":"0%","base":"base_atk","perStack":"atk_per_stack"}],"bb":{"base_attack_speed":0,"attack_speed_per_stack":0,"base_atk":0.25,"atk_per_stack":0.01,"base_max_hp":0.25,"max_hp_per_stack":0.01,"power_bond_stack_cnt":50,"power_attack_speed":50,"no_attack_duration":10},"bbStr":{"key":"act1autochess_bond_eff_raid"},"buffs":[{"key":"env_gbuff_new","bb":{"base_attack_speed":0,"attack_speed_per_stack":0,"base_atk":0.25,"atk_per_stack":0.01,"base_max_hp":0.25,"max_hp_per_stack":0.01,"power_bond_stack_cnt":50,"power_attack_speed":50,"no_attack_duration":10},"bbStr":{"key":"act1autochess_bond_eff_raid"}}],"baseParams":["base_atk"],"perStackParams":["atk_per_stack"],"members":["chess_char_1_18_a","chess_char_2_09_a","chess_char_3_05_a","chess_char_3_12_a","chess_char_4_04_a","chess_char_4_16_a","chess_char_5_07_a","chess_char_6_15_a","chess_char_6_17_a"],"visibleMembers":["chess_char_1_18_a","chess_char_2_09_a","chess_char_3_05_a","chess_char_3_12_a","chess_char_4_04_a","chess_char_4_16_a","chess_char_5_07_a","chess_char_6_15_a","chess_char_6_17_a"],"spec":{"tiers":[{"need":"2 distinct","effect":"If a 突袭 member has not attacked for 10 s, or its skill is ready, and no enemy is in its range: it is immediately redeployed (keeping SP) onto a tile next to a ground enemy; while in that redeployed state its ATK and maxHP x(1 + 0.25 + 0.01*L)."},{"need":"L >= 50","effect":"ALL operators ASPD +50."}],"formulas":{"atkHpMultiplier":"1.25 + 0.01*L","idleSec":"10","aspdAll(L>=50)":"50"},"layerGain":"史尔特尔 部署时 +8 (<=50/battle); 休谟斯 each 2 kills +1; 瑕光 +4/deploy; 斯卡蒂; 伊内丝 +5; 机变 \"斯卡蒂的盟誓\" +8, \"德克萨斯的盟誓\" +10.","assumed":["target enemy = the ground enemy closest to the player's objective (its own field's; another field's only while its own has none) that the member can reach; landing tile = the nearest free deployable tile within 2 tiles of it from which the member's attack range covers it. No such tile for any of the 8 most advanced -> no jump; the poll looks again every 0.25 s (GitHub issue #51 - up to 0.1.1 the idle trigger landed out of reach and hopped every 10 s; DESIGN §22.2)","the buff lasts until the operator leaves the field"]}},"indomShip":{"bondId":"indomShip","name":"不屈","identifier":19,"isCore":false,"bondType":"REGULAR","bondOrder":2,"powerIdList":[],"iconId":"icon_indomShip","activeCount":2,"thresholds":[2,3],"maxCount":null,"thresholdTemplate":"count_threshold_upward","countMode":"BOARD","countsHand":false,"countsGoldenOnly":false,"activeType":"BATTLE","isActiveInDeck":false,"noStack":false,"weight":10,"maxInactiveBondCount":-1,"layerMilestones":[],"desc":"地面干员被击倒时,有概率立即重新部署(受层数影响)\n<在场3名不同【不屈】干员>地面干员被击倒时使场上所有干员技力+5","descRaw":"<@ba.vup>地面干员被击倒时,有概率立即<@ba.vup>重新部署<@autochess.gray>(受层数影响)\n<在场<@autochess.dgreen>3名不同【不屈】干员><@ba.vup>地面干员被击倒时使场上所有干员<@ba.vup>技力+5","effectId":"bondeffect_indom","effectName":"不屈","effectDesc":"地面干员被击倒时,有{0:0%}(受层数影响)概率立刻重新部署\n<在场3名不同【不屈】干员>地面干员被击倒时使场上所有干员技力+5","effectDescRaw":"<@ba.vup>地面干员被击倒时,有<@ba.vup>{0:0%}<@ba.acrem>(受层数影响)概率立刻重新部署\n<在场<@ba.vup>3名不同【不屈】干员><@ba.vup>地面干员被击倒时使场上所有干员技力<@ba.vup>+5","effectDescParams":[{"index":0,"format":"0%","base":"base_prob","perStack":"prob_per_stack"}],"bb":{"base_prob":0.18,"prob_per_stack":0.004,"power_bond_stack_cnt":0,"sp":5,"power_bond_char_cnt":3},"bbStr":{"key":"act1autochess_bond_eff_indom"},"buffs":[{"key":"env_gbuff_new","bb":{"base_prob":0.18,"prob_per_stack":0.004,"power_bond_stack_cnt":0,"sp":5,"power_bond_char_cnt":3},"bbStr":{"key":"act1autochess_bond_eff_indom"}}],"baseParams":["base_prob"],"perStackParams":["prob_per_stack"],"members":["chess_char_1_05_a","chess_char_1_20_a","chess_char_2_03_a","chess_char_2_12_a","chess_char_3_16_a","chess_char_4_07_a","chess_char_5_06_a","chess_char_5_13_a","chess_char_6_06_a"],"visibleMembers":["chess_char_1_20_a","chess_char_2_12_a","chess_char_3_16_a","chess_char_4_07_a","chess_char_5_06_a","chess_char_5_13_a","chess_char_6_06_a"],"spec":{"tiers":[{"need":"2 distinct","effect":"When a ground operator (地面干员 = melee position, on any tile) is knocked out / retreats / swaps 替身<->本体: with p = min(1, 0.18 + 0.004*L) it is redeployed at once (next deployment has 0 redeploy time and 0 cost). Also consumes a \"复活\" charge if it had one."},{"need":"3 distinct","effect":"When a ground (melee-position) operator is knocked out: every operator on the field +5 SP."}],"formulas":{"p":"min(1, 0.18 + 0.004*L)","reaches100%AtL":"205"},"layerGain":"雷蛇 休整期结束 +1; 砾 被击倒 +2; 归溟幽灵鲨 +5; 风笛 kills +2; 机变 \"风笛的盟誓\" +8."}},"maniShip":{"bondId":"maniShip","name":"调和","identifier":20,"isCore":false,"bondType":"REGULAR","bondOrder":1,"powerIdList":[],"iconId":"icon_maniShip","activeCount":1,"thresholds":[1],"maxCount":null,"thresholdTemplate":"count_threshold_upward","countMode":"BOARD","countsHand":false,"countsGoldenOnly":false,"activeType":"MANI","isActiveInDeck":false,"noStack":true,"weight":0,"maxInactiveBondCount":-1,"layerMilestones":[],"desc":"激活时使场上核心盟约的激活人数+1,【调和】干员享受已激活的核心盟约的效果","descRaw":"激活时使场上核心盟约的<@ba.vup>激活人数+1,【调和】干员享受已激活的核心盟约的效果","effectId":"bondeffect_mani","effectName":"调和","effectDesc":"激活时可以使场上核心盟约的激活人数+1,【调和】干员享受已激活的核心盟约的效果","effectDescRaw":"激活时可以使场上核心盟约的<@ba.vup>激活人数+1,【调和】干员<@ba.vup>享受已激活的核心盟约的效果","effectDescParams":[],"bb":{"count":1},"bbStr":{},"buffs":[{"key":"other_bond_add_trigger_cnt","bb":{"count":1},"bbStr":{}}],"baseParams":[],"perStackParams":[],"members":["chess_char_1_15_a","chess_char_6_11_a"],"visibleMembers":["chess_char_6_11_a"],"spec":{"tiers":[{"need":"1 调和 on board","effect":"Every core bond's member count +1; 调和 operators receive the effects of all active core bonds."}],"members":"缪尔赛思 (T6) and 盟约·辅助干员 (T1, hidden; given in round 1 by strategy Pith \"优等生\").","assumed":["+1 only for core bonds with >=1 real member","one +1 total no matter how many 调和 operators"]}},"emptyShip":{"bondId":"emptyShip","name":"协防干员","identifier":21,"isCore":false,"bondType":"REGULAR","bondOrder":2,"powerIdList":[],"iconId":"icon_emptyShip","activeCount":2,"thresholds":[2],"maxCount":null,"thresholdTemplate":"count_threshold_upward","countMode":"BOARD","countsHand":false,"countsGoldenOnly":false,"activeType":"BATTLE","isActiveInDeck":false,"noStack":true,"weight":0,"maxInactiveBondCount":-1,"layerMilestones":[],"desc":"所有干员受到的物理和法术伤害-20%,【协防干员】伤害提升至120%,精锐【协防】干员造成伤害提升至140%","descRaw":"所有干员受到的物理和法术伤害<@ba.vup>-20%,【协防干员】伤害提升至<@ba.vup>120%,精锐【协防】干员造成伤害提升至<@ba.vup>140%","effectId":"bondeffect_empty","effectName":"协防干员","effectDesc":"所有干员受到的物理和法术伤害-20%;【协防干员】伤害提升至120%,精锐【协防干员】造成伤害提升至140%","effectDescRaw":"所有干员受到的物理和法术伤害<@ba.vup>-20%;【协防干员】伤害提升至<@ba.vup>120%,精锐【协防干员】造成伤害提升至<@ba.vup>140%","effectDescParams":[],"bb":{"damage_resistance":0.2,"damage_scale_normal":1.2,"damage_scale_extra":1.4},"bbStr":{"key":"act1autochess_bond_eff_assis"},"buffs":[{"key":"env_gbuff_new","bb":{"damage_resistance":0.2,"damage_scale_normal":1.2,"damage_scale_extra":1.4},"bbStr":{"key":"act1autochess_bond_eff_assis"}}],"baseParams":[],"perStackParams":[],"members":["chess_char_1_15_a","chess_char_2_14_a","chess_char_3_10_a","chess_char_4_08_a","chess_char_4_25_a","chess_char_5_09_a","chess_char_5_10_a","chess_char_6_12_a"],"visibleMembers":["chess_char_2_14_a","chess_char_3_10_a","chess_char_4_25_a","chess_char_5_10_a","chess_char_6_12_a"],"spec":{"tiers":[{"need":"2 distinct","effect":"ALL operators take -20% physical and magic damage; 协防干员 members deal damage x1.2 (elite 协防 x1.4)."}],"meaning":"\"协防干员\" (assist operators) = fallback bond (constData.fallbackBondId). DIY/self-selected 6-star operators whose faction matches no core bond become 协防干员; some preset operators (调香师, 松果, 瑰盐, 魔王, 铃兰, 迷迭香, 盟约·辅助干员) are natively 协防.","formulas":{"damageTakenMul":"0.8","memberDamageMul":"1.2 (elite 1.4)"},"notes":["noStack=true: no layer-scaled effect, but layers are still counted (巴哈姆特)."]}},"soloShip":{"bondId":"soloShip","name":"独行","identifier":22,"isCore":false,"bondType":"REGULAR","bondOrder":2,"powerIdList":[],"iconId":"icon_soloShip","activeCount":1,"thresholds":[1],"maxCount":1,"thresholdTemplate":"count_threshold_downward","countMode":"BOARD","countsHand":false,"countsGoldenOnly":false,"activeType":"BATTLE","isActiveInDeck":false,"noStack":true,"weight":10,"maxInactiveBondCount":-1,"layerMilestones":[],"desc":"<在场1名【独行】干员>【独行】干员攻击力和生命值+60%,初始技力+15(在场2名及以上【独行】干员时失效)","descRaw":"<在场1名【独行】干员>【独行】干员攻击力和生命值<@ba.vup>+60%,初始技力<@ba.vup>+15(在场2名及以上【独行】干员时失效)","effectId":"bondeffect_solo","effectName":"独行","effectDesc":"<在场1名【独行】干员>【独行】干员攻击力和生命值+60%,初始技力+15(在场2名及以上【独行】干员时失效)","effectDescRaw":"<在场<@ba.vup>1名【独行】干员>【独行】干员攻击力和生命值<@ba.vup>+60%,初始技力<@ba.vup>+15<@ba.acrem>(在场2名及以上【独行】干员时失效)","effectDescParams":[],"bb":{"atk":0.6,"max_hp":0.6,"sp":15},"bbStr":{"key":"act2autochess_bond_eff_solo"},"buffs":[{"key":"env_gbuff_new","bb":{"atk":0.6,"max_hp":0.6,"sp":15},"bbStr":{"key":"act2autochess_bond_eff_solo"}}],"baseParams":[],"perStackParams":[],"members":["chess_char_1_08_a","chess_char_2_17_a","chess_char_3_17_a","chess_char_4_09_a","chess_char_4_18_a","chess_char_5_11_a"],"visibleMembers":["chess_char_1_08_a","chess_char_2_17_a","chess_char_3_17_a","chess_char_4_09_a","chess_char_4_18_a","chess_char_5_11_a"],"spec":{"tiers":[{"need":"exactly 1 distinct 独行 on board","effect":"That operator ATK +60%, maxHP +60%, +15 SP when deployed. Disabled when 2+ different 独行 operators are on the board."}],"formulas":{"atkMul":"1.6","hpMul":"1.6","spOnDeploy":"15"},"notes":["noStack=true"]}},"suntShip":{"bondId":"suntShip","name":"绝技","identifier":23,"isCore":false,"bondType":"REGULAR","bondOrder":2,"powerIdList":[],"iconId":"icon_suntShip","activeCount":2,"thresholds":[2,5],"maxCount":null,"thresholdTemplate":"count_threshold_upward_golden","countMode":"BOARD_ALL_CHESS","countsHand":false,"countsGoldenOnly":true,"activeType":"BATTLE","isActiveInDeck":false,"noStack":true,"weight":0,"maxInactiveBondCount":-1,"layerMilestones":[],"desc":"<在场2名精锐状态的干员>精锐状态的干员攻击力+30%\n<在场5名精锐状态的干员>精锐状态的干员技力消耗-30%\n(所有干员的精锐状态均可激活本盟约)","descRaw":"<在场<@autochess.dgreen>2名精锐状态的干员>精锐状态的干员攻击力<@ba.vup>+30%\n<在场<@autochess.dgreen>5名精锐状态的干员>精锐状态的干员技力消耗<@ba.vup>-30%\n<@ba.acrem>(所有干员的精锐状态均可激活本盟约)","effectId":"bondeffect_sunt","effectName":"绝技","effectDesc":"<在场2名精锐状态的干员>精锐状态的干员攻击力+30%\n<在场5名精锐状态的干员>精锐状态的干员技力消耗-30%\n(所有干员的精锐状态均可激活本盟约)","effectDescRaw":"<在场<@ba.vup>2名精锐状态的干员>精锐状态的干员攻击力<@ba.vup>+30%\n<在场<@ba.vup>5名精锐状态的干员>精锐状态的干员技力消耗<@ba.vup>-30%\n<@ba.acrem>(所有干员的精锐状态均可激活本盟约)","effectDescParams":[],"bb":{"power_char_cnt":2,"ex_char_cnt":5,"power_atk":0.3,"sp_ratio":0.7},"bbStr":{"key":"act2autochess_bond_eff_sunt"},"buffs":[{"key":"env_gbuff_new","bb":{"power_char_cnt":2,"ex_char_cnt":5,"power_atk":0.3,"sp_ratio":0.7},"bbStr":{"key":"act2autochess_bond_eff_sunt"}}],"baseParams":[],"perStackParams":[],"members":[],"visibleMembers":[],"spec":{"tiers":[{"need":"2 elite (精锐) operators on board (any operators, duplicates count)","effect":"All elite operators ATK +30%."},{"need":"5 elite operators on board","effect":"At battle start every elite operator and its summons have skill SP cost x0.7 (rounded down, may become 0)."}],"formulas":{"atkMul":"1.3","spCostMul":"floor(sp*0.7)"},"notes":["isHiddenCharList=true, chessIdList empty: no member operators; elites are not \"members\" of 绝技 (PRTS).","noStack=true"]}}} \ No newline at end of file +{"yanShip":{"bondId":"yanShip","name":"炎","identifier":1,"isCore":true,"bondType":"SEASON","bondOrder":2,"powerIdList":["yan","sui","lungmen","lee","lgd"],"iconId":"icon_yanShip","activeCount":3,"thresholds":[3,6,9],"maxCount":null,"thresholdTemplate":"count_threshold_upward","countMode":"BOARD","countsHand":false,"countsGoldenOnly":false,"activeType":"BATTLE","isActiveInDeck":false,"noStack":false,"weight":10,"maxInactiveBondCount":-1,"layerMilestones":[],"desc":"【炎】干员攻击力提升(受层数影响)\n<在场6名不同【炎】干员>战斗开始时召唤可自主行动的“炎佑”,其攻击力生命值分别为开战时【炎】干员攻击力生命值总和的30%,“炎佑”同时攻击3个目标,可使用“祛恶之焰”,攻击时附带攻击力一定比例的灼燃损伤且周围敌人受到一定比例的元素脆弱\n<在场9名不同【炎】干员>改为召唤2只“炎佑”,攻击力提升至1.5倍,受到的伤害-90%","descRaw":"【炎】干员<@ba.vup>攻击力提升<@autochess.gray>(受层数影响)\n<在场<@autochess.dgreen>6名不同【炎】干员>战斗开始时召唤可自主行动的<@ba.vup>“炎佑”,其攻击力生命值分别为开战时【炎】干员攻击力生命值总和的30%,“炎佑”同时攻击3个目标,可使用<@ba.vup>“祛恶之焰”,攻击时附带攻击力一定比例的灼燃损伤且周围敌人受到一定比例的元素脆弱\n<在场<@autochess.dgreen>9名不同【炎】干员>改为召唤2只<@ba.vup>“炎佑”,攻击力提升至<@ba.vup>1.5倍,受到的伤害<@ba.vup>-90%","effectId":"bondeffect_yan","effectName":"炎","effectDesc":"【炎】干员攻击力+{0:0%}(受层数影响)\n<在场6名不同【炎】干员>战斗开始时收集【炎】干员部分属性召唤“炎佑”(其攻击力和生命值为【炎】干员攻击力和生命值总和的30%);“炎佑”同时攻击3个目标,攻击附带20%攻击力的灼燃损伤,周围敌人受到20%的元素脆弱,周期性使用“祛恶之焰”\n<在场9名不同【炎】干员>改为召唤2只“炎佑”;“炎佑”攻击力提升至1.5倍,受到的伤害-90%","effectDescRaw":"【炎】干员攻击力<@ba.vup>+{0:0%}<@ba.acrem>(受层数影响)\n<在场<@ba.vup>6名不同【炎】干员>战斗开始时收集【炎】干员部分属性召唤“炎佑”(其攻击力和生命值为【炎】干员攻击力和生命值总和的30%);“炎佑”同时攻击3个目标,攻击附带20%<@ba.vup>攻击力的<@ba.vup>灼燃损伤,周围敌人受到20%的<@ba.vup>元素脆弱,周期性使用“祛恶之焰”\n<在场<@ba.vup>9名不同【炎】干员>改为召唤2只“炎佑”;“炎佑”攻击力提升至1.5倍,受到的伤害-90%","effectDescParams":[{"index":0,"format":"0%","base":"base_atk","perStack":"atk_per_stack"}],"bb":{"base_atk":0.23,"atk_per_stack":0.009,"power_bond_char_cnt":6,"ex_bond_char_cnt":9,"damage_resistance":0.9,"atk":1.5},"bbStr":{"key":"act1autochess_bond_eff_yan"},"buffs":[{"key":"env_gbuff_new","bb":{"base_atk":0.23,"atk_per_stack":0.009,"power_bond_char_cnt":6,"ex_bond_char_cnt":9,"damage_resistance":0.9,"atk":1.5},"bbStr":{"key":"act1autochess_bond_eff_yan"}}],"baseParams":["base_atk"],"perStackParams":["atk_per_stack"],"members":["chess_char_1_03_a","chess_char_2_04_a","chess_char_3_03_a","chess_char_3_04_a","chess_char_4_15_a","chess_char_4_17_a","chess_char_5_03_a","chess_char_5_12_a","chess_char_5_23_a","chess_char_6_03_a","chess_char_6_15_a"],"visibleMembers":["chess_char_1_03_a","chess_char_2_04_a","chess_char_3_03_a","chess_char_3_04_a","chess_char_4_17_a","chess_char_5_03_a","chess_char_5_12_a","chess_char_5_23_a","chess_char_6_03_a","chess_char_6_15_a"],"spec":{"tiers":[{"need":"3 distinct 炎 on board","effect":"炎 members (+调和 members) ATK x(1 + 0.23 + 0.009*L)."},{"need":"6 distinct","effect":"At battle start spawn 1 \"炎佑\" (enemy_9012_acloon template, allied flying ranged unit, not blockable, moves on its own). ATK = 0.30 x sum(ATK of 炎 operators on board at battle start), maxHP = 0.30 x sum(maxHP of those operators). Template: DEF 200, RES 0, BAT 2.5 s, ASPD 100, attack range radius 2.0 tiles, magic damage, hits up to 3 targets; every hit adds 灼燃损伤 (burn elemental damage) = 20% of its ATK and applies 元素脆弱 (elemental damage taken x1.2) to enemies within 0.8 tiles of the target. Skill \"祛恶之焰\": cooldown 15 s (first cast 15 s after spawn), channels a flame on one enemy in range dealing 60% ATK magic damage per second to it and to enemies within 1.0 tile, for up to 20 s."},{"need":"9 distinct","effect":"Spawn 2 炎佑 instead; each has ATK x1.5 and takes 90% less damage (damage_resistance 0.9)."}],"formulas":{"atkMultiplier":"1 + 0.23 + 0.009*L"},"caps":"none","layerGain":"Economy-driven: 惊蛰 获得时 +shop level (no activation needed); 小满 休整期结束 +1 per operator gained this round; 夕 +2 炎/奥术 per operator gained; 录武官 获得时 +6 炎 +3 奇迹; 星熊 获得时 +8 own bonds; 烛煌 获得时 +5 炎/维多利亚; 机变 \"诗怀雅的盟誓\" +10. Strategy 杜遥夜: first 2 manual refreshes each round prefer a 炎 operator.","howToPlay":"Buy many operators each round (every gain feeds 小满/夕), rush 6 炎 for the 炎佑 spike; 琳琅诗怀雅 / 诗怀雅 give early gold. 9 炎 is a late-game luxury.","assumed":["炎佑 base stats are replaced (not added) by the 30% sums","祛恶之焰 hit_duration=20 read as 20 one-second ticks","spawn point: centre of the player's board / near the objective","targets = 3 nearest enemies in range"]}},"sargonShip":{"bondId":"sargonShip","name":"萨尔贡","identifier":2,"isCore":true,"bondType":"SEASON","bondOrder":2,"powerIdList":["sargon"],"iconId":"icon_sargonShip","activeCount":3,"thresholds":[3,6],"maxCount":null,"thresholdTemplate":"count_threshold_upward","countMode":"BOARD","countsHand":false,"countsGoldenOnly":false,"activeType":"BATTLE","isActiveInDeck":false,"noStack":false,"weight":10,"maxInactiveBondCount":-1,"layerMilestones":[],"desc":"【萨尔贡】干员开启技能时,所有【萨尔贡】干员攻击速度提升(有上限),持续一定时间(受层数影响,每层持续时间独立计算)\n<在场6名不同【萨尔贡】干员>开启技能还会为所有【萨尔贡】干员提供等持续时间的攻击力(有上限)\n选择策略【娜仁图亚】时,<在场6名不同【萨尔贡】干员>的效果会有所改变","descRaw":"【萨尔贡】干员开启技能时,所有【萨尔贡】干员<@ba.vup>攻击速度提升(有上限),持续一定时间<@autochess.gray>(受层数影响,每层持续时间独立计算)\n<在场<@autochess.dgreen>6名不同【萨尔贡】干员>开启技能还会为所有【萨尔贡】干员提供等持续时间的<@ba.vup>攻击力(有上限)\n<@ba.acrem>选择策略【娜仁图亚】时,<在场6名不同【萨尔贡】干员>的效果会有所改变","effectId":"bondeffect_sargon","effectName":"萨尔贡","effectDesc":"【萨尔贡】干员开启技能时,所有【萨尔贡】干员攻击速度+12(至多+300),持续{0:0}秒(受层数影响)\n<在场6名不同【萨尔贡】干员>开启技能还会使所有【萨尔贡】干员攻击力+12%(至多+300%)\n选择策略【娜仁图亚】时,<在场6名不同【萨尔贡】干员>的效果会有所改变","effectDescRaw":"【萨尔贡】干员开启技能时,所有【萨尔贡】干员攻击速度+12(至多<@ba.vup>+300),持续<@ba.vup>{0:0}秒<@ba.acrem>(受层数影响)\n<在场<@ba.vup>6名不同【萨尔贡】干员>开启技能还会使所有【萨尔贡】干员攻击力+12%(至多<@ba.vup>+300%)\n<@ba.acrem>选择策略【娜仁图亚】时,<在场6名不同【萨尔贡】干员>的效果会有所改变","effectDescParams":[{"index":0,"format":"0","base":"base_time","perStack":"time_per_stack"}],"bb":{"base_time":5,"time_per_stack":0.22,"max_buff_stack_cnt":25,"base_attack_speed":12,"power_bond_char_cnt":6,"base_atk":0.12,"base_power_time":60,"power_time_per_stack":0,"filter_item_level":5},"bbStr":{"key":"act1autochess_bond_eff_sargon","invalid_in_band":"band_narant","valid_in_band":"band_narant"},"buffs":[{"key":"env_gbuff_new","bb":{"base_time":5,"time_per_stack":0.22,"max_buff_stack_cnt":25,"base_attack_speed":12,"power_bond_char_cnt":6,"base_atk":0.12},"bbStr":{"key":"act1autochess_bond_eff_sargon","invalid_in_band":"band_narant"}},{"key":"env_gbuff_new","bb":{"base_time":5,"time_per_stack":0.22,"max_buff_stack_cnt":25,"base_attack_speed":12,"power_bond_char_cnt":6,"base_power_time":60,"power_time_per_stack":0,"filter_item_level":5},"bbStr":{"key":"act2autochess_bond_eff_sargon[share]","valid_in_band":"band_narant"}}],"baseParams":["base_time"],"perStackParams":["time_per_stack"],"members":["chess_char_1_12_a","chess_char_2_06_a","chess_char_2_08_a","chess_char_3_06_a","chess_char_3_13_a","chess_char_4_05_a","chess_char_4_23_a","chess_char_4_24_a","chess_char_5_02_a","chess_char_5_18_a","chess_char_6_05_a","chess_char_6_06_a"],"visibleMembers":["chess_char_1_12_a","chess_char_2_06_a","chess_char_2_08_a","chess_char_3_06_a","chess_char_3_13_a","chess_char_4_23_a","chess_char_4_24_a","chess_char_5_02_a","chess_char_6_05_a","chess_char_6_06_a"],"spec":{"tiers":[{"need":"3 distinct","effect":"Whenever any 萨尔贡 member activates its skill, every 萨尔贡 member on the field gains one stack: ASPD +12 for (5 + 0.22*L) s. Each stack has its own timer; at most 25 concurrent stacks (=> +300 ASPD cap)."},{"need":"6 distinct","effect":"Each stack additionally gives ATK +12% (25 stacks => +300% cap), same duration."},{"need":"6 distinct AND strategy 娜仁图亚 (band_narant)","effect":"Replaces the 6-member effect: when a 萨尔贡 member activates its skill, operators on its 8 surrounding tiles also enjoy the effects of the equipment (tier <= V, filter_item_level 5) it carries, for 60 s (base_power_time 60, power_time_per_stack 0)."}],"formulas":{"stackDurationSec":"5 + 0.22*L","aspdPerStack":"12","atkPerStack(6)":"0.12","maxStacks":"25"},"caps":"25 stacks: +300 ASPD, +300% ATK","layerGain":"In battle on skill activation: 菲莱 +6 每次开技能, 百炼嘉维尔 +9 每次开技能, 莎草 +5 首次开技能, 缇缇 +1 萨尔贡/精准 per sleep/stun in range (<=24/battle); 艾丝黛尔 获得时 +2; 机变 \"缇缇的盟誓\" +10. Strategy 佩佩: after shop level 2/4/6 one special refresh preferring 萨尔贡.","howToPlay":"Fast-cycling skills (萨尔贡浓茶 / 黄沙罗盘 items) keep many stacks alive; L mainly extends duration, so stacks overlap more.","notes":["PRTS: the in-level UI shows twice the real duration (display bug); real duration is 5+0.22L."],"assumed":["When a 26th stack would be added, it replaces the stack with the shortest remaining time","stack granted to all 萨尔贡 members including the caster"]}},"victoriaShip":{"bondId":"victoriaShip","name":"维多利亚","identifier":3,"isCore":true,"bondType":"SEASON","bondOrder":2,"powerIdList":["victoria","glasgow"],"iconId":"icon_victoriaShip","activeCount":3,"thresholds":[3,6],"maxCount":null,"thresholdTemplate":"count_threshold_upward","countMode":"BOARD","countsHand":false,"countsGoldenOnly":false,"activeType":"BATTLE","isActiveInDeck":false,"noStack":false,"weight":10,"maxInactiveBondCount":-1,"layerMilestones":[{"layer":25,"mode":"every","effect":"bond_layer_added_reward_equip"}],"desc":"携带装备的【维多利亚】干员造成的伤害提升(受层数影响)\n<每叠加25层>获得1件带有随机效果的维式重锤\n<在场6名不同【维多利亚】干员>携带装备的【维多利亚】干员攻击力提升,携带进阶装备时额外提升","descRaw":"携带装备的【维多利亚】干员造成的<@ba.vup>伤害提升<@autochess.gray>(受层数影响)\n<每叠加<@autochess.dgreen>25层>获得1件带有随机效果的<@ba.vup>维式重锤\n<在场<@autochess.dgreen>6名不同【维多利亚】干员>携带装备的【维多利亚】干员<@ba.vup>攻击力提升,携带进阶装备时额外提升","effectId":"bondeffect_victoria","effectName":"维多利亚","effectDesc":"携带装备的【维多利亚】干员伤害提升至{0:0%}(受层数影响)\n<每叠加25层>获得一件带有随机特殊效果的维式重锤\n<在场6名不同【维多利亚】干员>【维多利亚】干员每携带1件装备攻击力+50%,携带进阶装备改为+80%","effectDescRaw":"<@ba.vup>携带装备的【维多利亚】干员伤害提升至<@ba.vup>{0:0%}<@ba.acrem>(受层数影响)\n<每叠加<@ba.vup>25层>获得一件带有随机特殊效果的维式重锤\n<在场<@ba.vup>6名不同【维多利亚】干员>【维多利亚】干员每携带1件装备攻击力<@ba.vup>+50%,携带进阶装备改为<@ba.vup>+80%","effectDescParams":[{"index":0,"format":"0%","base":"base_damage_scale","perStack":"damage_scale_per_stack"}],"bb":{"damage_scale_per_stack":0.008,"base_damage_scale":1.25,"power_bond_char_cnt":6,"atk_normal_equip":0.5,"atk_golden_equip":0.3,"layer":25,"count":1},"bbStr":{"key":"act1autochess_bond_eff_victoria","pool":"pool_equip_vict"},"buffs":[{"key":"env_gbuff_new","bb":{"damage_scale_per_stack":0.008,"base_damage_scale":1.25,"power_bond_char_cnt":6,"atk_normal_equip":0.5,"atk_golden_equip":0.3},"bbStr":{"key":"act1autochess_bond_eff_victoria"}},{"key":"bond_layer_added_reward_equip","bb":{"layer":25,"count":1},"bbStr":{"pool":"pool_equip_vict"}}],"baseParams":["base_damage_scale"],"perStackParams":["damage_scale_per_stack"],"members":["chess_char_1_06_a","chess_char_2_05_a","chess_char_2_10_a","chess_char_3_08_a","chess_char_4_07_a","chess_char_4_11_a","chess_char_5_03_a","chess_char_5_08_a","chess_char_6_07_a","chess_char_6_08_a"],"visibleMembers":["chess_char_1_06_a","chess_char_2_05_a","chess_char_2_10_a","chess_char_3_08_a","chess_char_4_07_a","chess_char_4_11_a","chess_char_5_03_a","chess_char_5_08_a","chess_char_6_07_a","chess_char_6_08_a"],"spec":{"tiers":[{"need":"3 distinct","effect":"维多利亚 members that carry >= 1 equipment: all damage dealt x(1.25 + 0.008*L)."},{"need":"every 25 layers (cumulative)","effect":"Gain 1 维式重锤 with a random special effect (pool_equip_vict)."},{"need":"6 distinct","effect":"维多利亚 members: ATK +50% per equipped item; an advanced (进阶/golden) item gives +80% instead (atk_normal_equip 0.5 + atk_golden_equip 0.3)."}],"formulas":{"damageMultiplier":"1.25 + 0.008*L (only if carrying equipment)","hammerPayouts":"floor(L/25)","atkPerItem(6)":"0.5 normal, 0.8 advanced"},"caps":"none","layerGain":"休整期结束: 薄绿 +2 per distinct tier of 维多利亚 on board, 维娜·维多利亚 +3 per distinct tier (and 奇迹 +2 per distinct tier of 奇迹), 刺玫 +1, 号角 +2 per distinct-tier operator of the highest-layer bond; in battle: 风笛 first 3 kills +2 维多利亚/远见/不屈; 烛煌 获得时 +5; 机变 \"风笛的盟誓\" +8. Strategy 哈洛德: from round 4 gain 1 维多利亚 operator every 2 rounds.","howToPlay":"Field 维多利亚 of as many different tiers as possible (T1..T6) for 薄绿/维娜; hand all equipment (incl. free hammers) to 维多利亚 carries; 蒸汽之心 copies all hammer effects.","assumed":["pool_equip_vict = uniform random among 灼燃/坚固/加速/战栗维式重锤 (normal grade)","hammer payout also counts layers added while the bond is inactive"]}},"kjeragShip":{"bondId":"kjeragShip","name":"谢拉格","identifier":4,"isCore":true,"bondType":"SEASON","bondOrder":2,"powerIdList":["kjerag","karlan"],"iconId":"icon_kjeragShip","activeCount":3,"thresholds":[3,6],"maxCount":null,"thresholdTemplate":"count_threshold_upward","countMode":"BOARD","countsHand":false,"countsGoldenOnly":false,"activeType":"BATTLE","isActiveInDeck":false,"noStack":false,"weight":10,"maxInactiveBondCount":-1,"layerMilestones":[],"desc":"【谢拉格】干员造成的伤害提升,对寒冷、冻结敌人获得额外提升(受层数影响)\n<在场6名不同【谢拉格】干员>战场上每25秒过一阵寒风使场上的敌人寒冷一定时间(受层数影响)","descRaw":"【谢拉格】干员造成的<@ba.vup>伤害提升,对<@ba.vup>寒冷、冻结敌人获得额外提升<@autochess.gray>(受层数影响)\n<在场<@autochess.dgreen>6名不同【谢拉格】干员>战场上每25秒过一阵寒风使场上的敌人寒冷一定时间<@autochess.gray>(受层数影响)","effectId":"bondeffect_kjerag","effectName":"谢拉格","effectDesc":"【谢拉格】干员伤害提升至125%,对寒冷和冻结敌人额外提升至{0:0%}(受层数影响)\n<在场6名不同【谢拉格】干员>战场上每25秒吹过一阵寒风使敌人寒冷{1:0}秒(受层数影响)","effectDescRaw":"【谢拉格】干员伤害提升至<@ba.vup>125%,对寒冷和冻结敌人额外提升至<@ba.vup>{0:0%}<@ba.acrem>(受层数影响)\n<在场<@ba.vup>6名不同【谢拉格】干员>战场上每25秒吹过一阵寒风使敌人寒冷<@ba.vup>{1:0}秒<@ba.acrem>(受层数影响)","effectDescParams":[{"index":0,"format":"0%","base":"base_ex_damage_scale","perStack":"ex_damage_scale_per_stack"},{"index":1,"format":"0","base":"bond_eff_kjerag[storm].base_time","perStack":"bond_eff_kjerag[storm].time_per_stack"}],"bb":{"base_damage_scale":1.25,"base_ex_damage_scale":1.35,"ex_damage_scale_per_stack":0.01,"power_bond_char_cnt":6,"bond_eff_kjerag[storm].interval":25,"bond_eff_kjerag[storm].base_time":20,"bond_eff_kjerag[storm].time_per_stack":0.1},"bbStr":{"key":"act1autochess_bond_eff_kjerag"},"buffs":[{"key":"env_gbuff_new","bb":{"base_damage_scale":1.25,"base_ex_damage_scale":1.35,"ex_damage_scale_per_stack":0.01,"power_bond_char_cnt":6,"bond_eff_kjerag[storm].interval":25,"bond_eff_kjerag[storm].base_time":20,"bond_eff_kjerag[storm].time_per_stack":0.1},"bbStr":{"key":"act1autochess_bond_eff_kjerag"}}],"baseParams":["base_ex_damage_scale","bond_eff_kjerag[storm].base_time"],"perStackParams":["ex_damage_scale_per_stack","bond_eff_kjerag[storm].time_per_stack"],"members":["chess_char_1_02_a","chess_char_2_03_a","chess_char_2_05_a","chess_char_3_11_a","chess_char_3_14_a","chess_char_3_20_a","chess_char_4_03_a","chess_char_4_13_a","chess_char_4_22_a","chess_char_5_14_a","chess_char_6_02_a","chess_char_6_19_a"],"visibleMembers":["chess_char_1_02_a","chess_char_2_05_a","chess_char_3_11_a","chess_char_3_14_a","chess_char_3_20_a","chess_char_4_13_a","chess_char_4_22_a","chess_char_5_14_a","chess_char_6_02_a","chess_char_6_19_a"],"spec":{"tiers":[{"need":"3 distinct","effect":"谢拉格 members deal damage x1.25; against enemies that are 寒冷 (cold) or 冻结 (frozen) x(1.35 + 0.01*L) instead."},{"need":"6 distinct","effect":"Every 25 s a cold wind applies 寒冷 to every enemy on the field for (20 + 0.1*L) s."}],"formulas":{"damageMultiplier":"1.25","damageMultiplierVsColdOrFrozen":"1.35 + 0.01*L","windIntervalSec":"25","windColdDurationSec":"20 + 0.1*L"},"caps":"none","layerGain":"In battle, freeze-driven: 初雪 and 银灰 - each enemy in range that becomes frozen: 50% chance +1; 凛御银灰 gives the 谢拉格 operator in front of it a 60% version (<=200/battle); 锏 部署时 +8 own active bonds (<=24/battle). 获得时: 角峰 +2, 崖心 +3 (hidden), 雪猎 +5, 灵知 +5, 锏 +8. 机变 \"银灰的盟誓\" +8. Strategy 休露丝: first 谢拉格 bought each round costs 1.","howToPlay":"Standard AK rule: applying 寒冷 to an already-cold enemy freezes it. The 6-member wind + cold-on-hit sources (谢拉格不融冰 12% 1.5 s cold) create constant freezes, so layers can reach hundreds per battle.","notes":["巴哈姆特: avoid lighting 3 奥术 alongside max-layer 谢拉格 (圣聆初雪 gets damage-capped)."],"assumed":["first wind at t = 25 s","wind re-applying cold on a cold enemy triggers freeze like any cold source"]}},"lateranoShip":{"bondId":"lateranoShip","name":"拉特兰","identifier":5,"isCore":true,"bondType":"SEASON","bondOrder":2,"powerIdList":["laterano"],"iconId":"icon_lateranoShip","activeCount":3,"thresholds":[3,6],"maxCount":null,"thresholdTemplate":"count_threshold_upward","countMode":"BOARD","countsHand":false,"countsGoldenOnly":false,"activeType":"BATTLE","isActiveInDeck":false,"noStack":false,"weight":10,"maxInactiveBondCount":-1,"layerMilestones":[],"desc":"【拉特兰】干员开启技能获得的弹药量提升(受层数影响)\n<在场6名不同【拉特兰】干员>【拉特兰】干员每消耗1发弹药,所有【拉特兰】干员攻击力提升(有上限)","descRaw":"【拉特兰】干员开启技能获得的<@ba.vup>弹药量提升<@autochess.gray>(受层数影响)\n<在场<@autochess.dgreen>6名不同【拉特兰】干员>【拉特兰】干员每消耗1发弹药,所有【拉特兰】干员<@ba.vup>攻击力提升(有上限)","effectId":"bondeffect_laterano","effectName":"拉特兰","effectDesc":"【拉特兰】干员开启技能时获得的弹药量+{0:0%}(受层数影响)\n<在场6名不同【拉特兰】干员>任意【拉特兰】干员每消耗1发弹药,全体【拉特兰】干员攻击力+4%,至多+200%","effectDescRaw":"【拉特兰】干员开启技能时获得的弹药量<@ba.vup>+{0:0%}<@ba.acrem>(受层数影响)\n<在场<@ba.vup>6名不同【拉特兰】干员>任意【拉特兰】干员每消耗1发弹药,全体【拉特兰】干员攻击力+4%,至多<@ba.vup>+200%","effectDescParams":[{"index":0,"format":"0%","base":"base_ammo_percent","perStack":"ammo_percent_per_stack"}],"bb":{"base_ammo_percent":0.05,"ammo_percent_per_stack":0.015,"power_bond_char_cnt":6,"atk_per_consume":0.04,"max_atk_for_consume":2},"bbStr":{"key":"act1autochess_bond_eff_laterano"},"buffs":[{"key":"env_gbuff_new","bb":{"base_ammo_percent":0.05,"ammo_percent_per_stack":0.015,"power_bond_char_cnt":6,"atk_per_consume":0.04,"max_atk_for_consume":2},"bbStr":{"key":"act1autochess_bond_eff_laterano"}}],"baseParams":["base_ammo_percent"],"perStackParams":["ammo_percent_per_stack"],"members":["chess_char_1_01_a","chess_char_2_01_a","chess_char_3_01_a","chess_char_3_07_a","chess_char_3_21_a","chess_char_4_01_a","chess_char_4_02_a","chess_char_5_01_a","chess_char_6_01_a","chess_char_6_09_a","chess_char_6_13_a"],"visibleMembers":["chess_char_1_01_a","chess_char_2_01_a","chess_char_3_01_a","chess_char_3_21_a","chess_char_4_01_a","chess_char_4_02_a","chess_char_5_01_a","chess_char_6_01_a","chess_char_6_09_a","chess_char_6_13_a"],"spec":{"tiers":[{"need":"3 distinct","effect":"When a 拉特兰 member activates a skill that grants ammo, ammo gained x(1 + 0.05 + 0.015*L), rounded down."},{"need":"6 distinct","effect":"Every ammo consumed by any 拉特兰 member: all 拉特兰 members ATK +4% (until battle end), max +200% (= 50 ammo)."}],"formulas":{"ammoMultiplier":"floor(baseAmmo * (1.05 + 0.015*L))","atkPerAmmo(6)":"0.04","atkCap(6)":"2.0"},"caps":"+200% ATK from the 6-member effect","layerGain":"Ammo consumption in battle: 圣约送葬人 each 7 bullets +7 拉特兰 (7 triggers => 49/battle) and +3 远见 (<=21/battle); 莫斯提马 ops in its 4 adjacent tiles each 6 ammo +1; 蕾缪安 each 10 bullets with 3 ops in its row +2 拉特兰/精准; 送葬人 first kill +3 精准/拉特兰. Prep: 空弦 进入休整期 +3 to self and front tile operator's active bonds. 机变 \"莫斯提马的盟誓\" +10. Strategy 潘格尼尼: after spending 55 gold gain a random elite T4+ 拉特兰.","howToPlay":"Only ammo-skill operators benefit from the 3-tier; the bond is weak until 6 (巴哈姆特: \"3人效果較差\").","assumed":["non-ammo skills unaffected","\"ammo consumed\" = each shot/bullet decrement"]}},"egirShip":{"bondId":"egirShip","name":"阿戈尔","identifier":6,"isCore":true,"bondType":"SEASON","bondOrder":2,"powerIdList":["egir","abyssal"],"iconId":"icon_egirShip","activeCount":3,"thresholds":[3,5],"maxCount":null,"thresholdTemplate":"count_threshold_upward","countMode":"BOARD","countsHand":false,"countsGoldenOnly":false,"activeType":"BATTLE","isActiveInDeck":false,"noStack":false,"weight":10,"maxInactiveBondCount":-1,"layerMilestones":[],"desc":"【阿戈尔】干员生命值提升(受层数影响)\n战斗开始时,【阿戈尔】干员会吞噬身前一格干员对其造成5000点物理伤害并获得其基础攻击力和阻挡数,使【阿戈尔】叠加等于被吞噬者等阶的盟约层数(【阿戈尔】之间优先更靠左和靠上的干员发起吞噬)\n<在场5名不同【阿戈尔】干员>前3名【阿戈尔】干员首次被击倒时立刻复活","descRaw":"【阿戈尔】干员<@ba.vup>生命值提升<@autochess.gray>(受层数影响)\n战斗开始时,【阿戈尔】干员会<@ba.vup>吞噬身前一格干员对其造成<@ba.vdown>5000点物理伤害并获得其<@ba.vup>基础攻击力和<@ba.vup>阻挡数,使【阿戈尔】叠加等于被吞噬者等阶的<@ba.vup>盟约层数<@autochess.gray>(【阿戈尔】之间优先更靠左和靠上的干员发起吞噬)\n<在场<@autochess.dgreen>5名不同【阿戈尔】干员>前3名【阿戈尔】干员首次被击倒时<@ba.vup>立刻复活","effectId":"bondeffect_egir","effectName":"阿戈尔","effectDesc":"【阿戈尔】干员生命值+{0:0%}(受层数影响)\n战斗开始时【阿戈尔】干员依次吞噬身前一格干员造成5000点物理伤害并获得其基础攻击力和阻挡数,并叠加等于被吞噬者等阶的盟约层数(【阿戈尔】之间优先更靠左和靠上的干员发起吞噬)\n<在场5名不同【阿戈尔】干员>前3名【阿戈尔】干员首次被击倒时立刻复活","effectDescRaw":"【阿戈尔】干员生命值<@ba.vup>+{0:0%}<@ba.acrem>(受层数影响)\n战斗开始时【阿戈尔】干员依次吞噬身前一格干员造成<@ba.vdown>5000点物理伤害并获得其<@ba.vup>基础攻击力和<@ba.vup>阻挡数,并叠加等于被吞噬者等阶的盟约层数<@ba.acrem>(【阿戈尔】之间优先更靠左和靠上的干员发起吞噬)\n<在场<@ba.vup>5名不同【阿戈尔】干员>前3名【阿戈尔】干员首次被击倒时<@ba.vup>立刻复活","effectDescParams":[{"index":0,"format":"0%","base":"base_max_hp","perStack":"max_hp_per_stack"}],"bb":{"base_max_hp":0.35,"max_hp_per_stack":0.01,"damage_value":5000,"power_bond_char_cnt":5,"max_free_respawn_cnt":3},"bbStr":{"key":"act1autochess_bond_eff_egir","bond_type":"bond_by_id","bond_id":"egirShip","bond_add_type":"by_charlevel"},"buffs":[{"key":"env_gbuff_new","bb":{"base_max_hp":0.35,"max_hp_per_stack":0.01,"damage_value":5000,"power_bond_char_cnt":5,"max_free_respawn_cnt":3},"bbStr":{"key":"act1autochess_bond_eff_egir","bond_type":"bond_by_id","bond_id":"egirShip","bond_add_type":"by_charlevel"}}],"baseParams":["base_max_hp"],"perStackParams":["max_hp_per_stack"],"members":["chess_char_1_04_a","chess_char_2_07_a","chess_char_3_05_a","chess_char_3_09_a","chess_char_4_09_a","chess_char_4_12_a","chess_char_5_05_a","chess_char_5_13_a","chess_char_6_04_a"],"visibleMembers":["chess_char_1_04_a","chess_char_2_07_a","chess_char_3_05_a","chess_char_3_09_a","chess_char_4_09_a","chess_char_4_12_a","chess_char_5_05_a","chess_char_5_13_a","chess_char_6_04_a"],"spec":{"tiers":[{"need":"3 distinct","effect":"阿戈尔 members maxHP x(1 + 0.35 + 0.01*L)."},{"need":"3 distinct (battle start)","effect":"Devour (吞噬): see algorithm."},{"need":"5 distinct","effect":"The first 3 阿戈尔 members to be knocked out, in knock-out order (the battle-start devour's food included; a member never knocked out takes none), each revive immediately on that first knock-out; a member takes at most one, and a save by its own kit / item / band revive is no knock-out (max_free_respawn_cnt 3; the owner's decision of 2026-10-05)."}],"algorithm":["Order: 阿戈尔 members sorted leftmost first, then topmost (\"更靠左和靠上\").","Each 阿戈尔 in order marks the unit on the tile directly in front of it (its facing direction) and also the front-tile unit of every 阿戈尔 it has marked (chain). It never marks itself, a unit it already marked, or a unit that marked it.","The marker immediately gains the base ATK of every unit it marked (a 最终加算: added after its ATK percentages, PRTS \"基础攻击力(最终加算)\") and their block counts.","After all marks are placed, each mark makes its target suffer one 5000-point physical 流失 (HP loss, source = the target itself; if it dies, the kill is credited to the marker), resolved in marking order. A target that dies cancels its remaining pending marks; a marker knocked out earlier in the pass still resolves its own marks (only the target's state cancels a mark).","Each devoured unit adds layers to 阿戈尔 equal to its tier (1-6), once per unit per battle.","(5-member tier) Revive is implemented as: when the unit leaves the field for any reason other than being moved, its next deployment has 0 redeploy time and 0 cost (PRTS). Devour layers: each devoured unit adds its tier once per battle (refreshes next round)."],"formulas":{"hpMultiplier":"1.35 + 0.01*L","devourDamage":"5000","layersPerDevoured":"tier of devoured unit"},"caps":"3 revives per battle","layerGain":"Devour (tier per devoured unit, every battle); 幽灵鲨 被击倒 +3; 归溟幽灵鲨 被击倒/替身切换 +5 阿戈尔 +5 不屈; 斯卡蒂 each 2 kills +1 阿戈尔/坚守/突袭; 海霓 first kill (enemy or ally) +3 阿戈尔/奥术; 机变 \"斯卡蒂的盟誓\" +8. Strategy 克莱门莎: an 阿戈尔 knocked out adds layers = its tier.","howToPlay":"Put cheap/high-tier fodder in front of 阿戈尔 carries: they steal base ATK and block, gain layers, and (5) revive. Tier-6 fodder gives +6 layers per battle.","assumed":["5000 physical 流失 ignores DEF and shields","marked allied units are operators of any player (devour hits allies): on a shared field a teammate's operator in front, standing or entering 联防 knocked out, is devoured too and the chain continues through a teammate's 阿戈尔 (the owner's decision of 2026-10-05: PRTS has no own-side limit)"]}},"siracusaShip":{"bondId":"siracusaShip","name":"叙拉古","identifier":7,"isCore":true,"bondType":"SEASON","bondOrder":2,"powerIdList":["siracusa","chiave"],"iconId":"icon_siracusaShip","activeCount":3,"thresholds":[3,6],"maxCount":null,"thresholdTemplate":"count_threshold_upward","countMode":"BOARD","countsHand":false,"countsGoldenOnly":false,"activeType":"BATTLE","isActiveInDeck":false,"noStack":false,"weight":10,"maxInactiveBondCount":-1,"layerMilestones":[],"desc":"【叙拉古】干员部署后攻击速度提升,持续一定时间(受层数影响)\n<在场6名不同【叙拉古】干员>【叙拉古】干员部署后进入等时长的隐匿状态,【叙拉古】干员隐匿状态下和脱离隐匿10秒内对敌人攻击时有3%的概率造成一定真实伤害(受层数影响)并恐惧3秒","descRaw":"【叙拉古】干员部署后<@ba.vup>攻击速度提升,持续一定时间<@autochess.gray>(受层数影响)\n<在场<@autochess.dgreen>6名不同【叙拉古】干员>【叙拉古】干员部署后进入等时长的隐匿状态,【叙拉古】干员隐匿状态下和脱离隐匿<@ba.vup>10秒内对敌人攻击时有<@ba.vup>3%的概率造成一定真实伤害<@autochess.gray>(受层数影响)并<@ba.vup>恐惧3秒","effectId":"bondeffect_siracusa","effectName":"叙拉古","effectDesc":"【叙拉古】干员部署后攻击速度+{0:0},持续{1:0}秒(受层数影响)\n<在场6名不同【叙拉古】干员>【叙拉古】干员部署后还会进入等时长的隐匿状态,【叙拉古】干员在隐匿状态和脱离隐匿10秒内对敌人攻击时有3%概率造成{2:0}(受层数影响)点真实伤害并恐惧目标3秒","effectDescRaw":"【叙拉古】干员部署后攻击速度<@ba.vup>+{0:0},持续<@ba.vup>{1:0}秒<@ba.acrem>(受层数影响)\n<在场<@ba.vup>6名不同【叙拉古】干员>【叙拉古】干员部署后还会进入等时长的隐匿状态,【叙拉古】干员在隐匿状态和脱离隐匿10秒内对敌人攻击时有3%概率造成<@ba.vup>{2:0}<@ba.acrem>(受层数影响)点真实伤害并<@ba.vup>恐惧目标3秒","effectDescParams":[{"index":0,"format":"0","base":"base_attack_speed","perStack":"attack_speed_per_stack"},{"index":1,"format":"0","base":"base_duration","perStack":"duration_per_stack"},{"index":2,"format":"0","base":"base_damage","perStack":"damage_per_stack"}],"bb":{"base_duration":32,"duration_per_stack":0.4,"base_attack_speed":25,"attack_speed_per_stack":0.8,"power_bond_char_cnt":6,"ex_bond_char_cnt":6,"end_duration":10,"prob":0.03,"base_damage":5000,"damage_per_stack":50,"fear":3},"bbStr":{"key":"act2autochess_bond_eff_siracusa"},"buffs":[{"key":"env_gbuff_new","bb":{"base_duration":32,"duration_per_stack":0.4,"base_attack_speed":25,"attack_speed_per_stack":0.8,"power_bond_char_cnt":6,"ex_bond_char_cnt":6,"end_duration":10,"prob":0.03,"base_damage":5000,"damage_per_stack":50,"fear":3},"bbStr":{"key":"act2autochess_bond_eff_siracusa"}}],"baseParams":["base_attack_speed","base_duration","base_damage"],"perStackParams":["attack_speed_per_stack","duration_per_stack","damage_per_stack"],"members":["chess_char_1_07_a","chess_char_1_08_a","chess_char_2_16_a","chess_char_3_15_a","chess_char_3_18_a","chess_char_3_19_a","chess_char_4_10_a","chess_char_4_16_a","chess_char_5_10_a","chess_char_5_20_a","chess_char_6_18_a"],"visibleMembers":["chess_char_1_07_a","chess_char_1_08_a","chess_char_2_16_a","chess_char_3_18_a","chess_char_3_19_a","chess_char_4_10_a","chess_char_4_16_a","chess_char_5_10_a","chess_char_5_20_a","chess_char_6_18_a"],"spec":{"tiers":[{"need":"3 distinct","effect":"After every deployment (incl. redeploy) a 叙拉古 member gains ASPD +(25 + 0.8*L) for (32 + 0.4*L) s."},{"need":"6 distinct","effect":"After deployment also 隐匿 (camouflage) for the same duration. While camouflaged and for 10 s after it ends, each normal damage instance (普通伤害 = attack type NORMAL: attacks, skill hits, drone attacks; not 溅射 / 持续 / 附加 — `bonds/core.js siracusaRolls`) it deals may add (5000 + 50*L) true damage (source = the operator) and 恐惧 (fear) 3 s. Nominal 3% chance, implemented as pseudo-random: all 叙拉古 members share one counter; attempt n since last proc succeeds with p = 0.00139*n (guaranteed at n = 720); counter resets on proc."}],"formulas":{"aspd":"25 + 0.8*L","durationSec":"32 + 0.4*L","procDamage":"5000 + 50*L","prdStep":"0.00139"},"caps":"none","layerGain":"Shop refresh-driven: 拉普兰德 first manual refresh each round +4 (works from bench); 安洁莉娜 休整期结束 +4 per refresh this round (<=12/round); 阿罗玛 +2 叙拉古/奥术 per refresh (<=6); 伺夜 first 3 kills +2 叙拉古 +1 奇迹; 荒芜拉普兰德 each kill +2 (elite: every 叙拉古 gets this, <=100/battle); 忍冬 获得时 +6 own bonds (x2/x3 with 投资人); 机变 \"德克萨斯的盟誓\" +10. Strategy 贾维: every 6 manual refreshes get a free 叙拉古 (<=2/round).","howToPlay":"Refresh a lot in prep (free refresh sources: 普罗旺斯, 德克萨斯, 缄默德克萨斯, 巫恋) to feed 拉普兰德/安洁莉娜; pair with 投资人 for 忍冬.","notes":["PRTS: the 10 s post-stealth window restarts if the operator's status effects or immunities change."],"assumed":["隐匿 = standard AK camouflage (not targeted by ranged enemies unless blocking)"]}},"kazimierzShip":{"bondId":"kazimierzShip","name":"卡西米尔","identifier":8,"isCore":true,"bondType":"SEASON","bondOrder":2,"powerIdList":["kazimierz","pinus"],"iconId":"icon_kazimierzShip","activeCount":3,"thresholds":[3,6],"maxCount":null,"thresholdTemplate":"count_threshold_upward","countMode":"BOARD","countsHand":false,"countsGoldenOnly":false,"activeType":"BATTLE","isActiveInDeck":false,"noStack":false,"weight":10,"maxInactiveBondCount":-1,"layerMilestones":[],"desc":"每次有干员部署时,【卡西米尔】干员攻击力+20%持续至战斗结束(上限受层数影响)\n<在场6名不同【卡西米尔】干员>【卡西米尔】干员阻挡敌人时每2秒对周围敌人造成120%攻击力真实伤害和0.1秒晕眩,未阻挡敌人时攻击附带30%攻击力的真实伤害","descRaw":"每次有干员部署时,【卡西米尔】干员攻击力<@ba.vup>+20%持续至战斗结束<@autochess.gray>(上限受层数影响)\n<在场<@autochess.dgreen>6名不同【卡西米尔】干员>【卡西米尔】干员阻挡敌人时每<@ba.vup>2秒对周围敌人造成<@ba.vup>120%攻击力真实伤害和<@ba.vup>0.1秒晕眩,未阻挡敌人时攻击附带<@ba.vup>30%攻击力的真实伤害","effectId":"bondeffect_kazimierz","effectName":"卡西米尔","effectDesc":"每次有干员部署时【卡西米尔】干员攻击力+20%(至多+{0:0%})(受层数影响)\n<在场6名不同【卡西米尔】干员>【卡西米尔】干员阻挡敌人时每2秒对周围敌人造成120%攻击力真实伤害和0.1秒晕眩,未阻挡敌人时攻击附带30%攻击力的真实伤害","effectDescRaw":"每次有干员部署时【卡西米尔】干员攻击力+20%(至多<@ba.vup>+{0:0%})<@ba.acrem>(受层数影响)\n<在场<@ba.vup>6名不同【卡西米尔】干员>【卡西米尔】干员阻挡敌人时每2秒对周围敌人造成<@ba.vup>120%攻击力真实伤害和<@ba.vup>0.1秒晕眩,未阻挡敌人时攻击附带<@ba.vup>30%攻击力的真实伤害","effectDescParams":[{"index":0,"format":"0%","base":"base_max_atk_when_born","perStack":"max_atk_when_born_per_stack"}],"bb":{"atk_when_born":0.2,"base_max_atk_when_born":0.5,"max_atk_when_born_per_stack":0.01,"damage_interval":2,"damage_atk_scale":1.2,"stun":0.1,"range_radius":0.8,"power_bond_char_cnt":6,"pure_atk_scale":0.3},"bbStr":{"key":"act2autochess_bond_eff_kazimierz"},"buffs":[{"key":"env_gbuff_new","bb":{"atk_when_born":0.2,"base_max_atk_when_born":0.5,"max_atk_when_born_per_stack":0.01,"damage_interval":2,"damage_atk_scale":1.2,"stun":0.1,"range_radius":0.8,"power_bond_char_cnt":6,"pure_atk_scale":0.3},"bbStr":{"key":"act2autochess_bond_eff_kazimierz"}}],"baseParams":["base_max_atk_when_born"],"perStackParams":["max_atk_when_born_per_stack"],"members":["chess_char_1_19_a","chess_char_2_12_a","chess_char_2_18_a","chess_char_3_12_a","chess_char_3_17_a","chess_char_4_19_a","chess_char_4_20_a","chess_char_5_19_a","chess_char_6_17_a","chess_char_6_19_a"],"visibleMembers":["chess_char_1_19_a","chess_char_2_12_a","chess_char_2_18_a","chess_char_3_12_a","chess_char_3_17_a","chess_char_4_19_a","chess_char_4_20_a","chess_char_5_19_a","chess_char_6_17_a","chess_char_6_19_a"],"spec":{"tiers":[{"need":"3 distinct","effect":"Every time any friendly operator is deployed (incl. redeploys) each 卡西米尔 member gains ATK +20% until battle end, capped at +(50 + 1*L)%."},{"need":"6 distinct","effect":"While blocking >= 1 enemy: every 2 s deals 120% ATK true damage to all enemies within radius 0.8 tiles and stuns them 0.1 s. While not blocking: each normal damage instance adds 30% ATK sourceless true damage."}],"formulas":{"atkPerDeploy":"0.20","atkCap":"0.50 + 0.01*L"},"caps":"ATK bonus cap 50%+1%/layer","layerGain":"Deploy-driven in battle: 砾 部署时 +1; 瑕光 部署时 +4 own active bonds (<=12/battle); 远牙 grants the right-most operator in its row \"部署时 +4 卡西米尔/精准 (<=24/battle)\"; 锏 部署时 +8 (<=24); 获得时: 野鬃 +2, 灰毫 +3 to highest-layer bond; 机变 \"玛恩纳的盟誓\" +12. Strategy 玛恩纳: +1 gold next round per 卡西米尔 bought (<=3).","howToPlay":"Maximise deploy events: low redeploy time (助力 -30%, 骑士戒律), operators that die/retreat and come back (砾 + 不屈). 巴哈姆特: do not light 坚守 (damage sharing keeps 砾 alive).","assumed":["initial auto-deployments at battle start also count as deploys","buff applies to members deployed later too (stored globally, capped)"]}},"preciShip":{"bondId":"preciShip","name":"精准","identifier":9,"isCore":false,"bondType":"REGULAR","bondOrder":2,"powerIdList":[],"iconId":"icon_preciShip","activeCount":2,"thresholds":[2,3],"maxCount":null,"thresholdTemplate":"count_threshold_upward","countMode":"BOARD","countsHand":false,"countsGoldenOnly":false,"activeType":"BATTLE","isActiveInDeck":false,"noStack":false,"weight":10,"maxInactiveBondCount":-1,"layerMilestones":[],"desc":"【精准】干员攻击力提升(受层数影响)\n<在场3名不同【精准】干员>生效范围变为【精准】干员和所有远程干员,且攻击无视一定的防御力和法术抗性","descRaw":"【精准】干员<@ba.vup>攻击力提升<@autochess.gray>(受层数影响)\n<在场<@autochess.dgreen>3名不同【精准】干员>生效范围变为【精准】干员和所有远程干员,且攻击无视一定的<@ba.vup>防御力和<@ba.vup>法术抗性","effectId":"bondeffect_preci","effectName":"精准","effectDesc":"【精准】干员攻击力+{0:0%}(受层数影响)\n<在场3名不同【精准】干员>生效范围变为所有【精准】干员和远程干员,且攻击无视30%防御力和法术抗性","effectDescRaw":"【精准】干员攻击力<@ba.vup>+{0:0%}<@ba.acrem>(受层数影响)\n<在场<@ba.vup>3名不同【精准】干员>生效范围变为所有【精准】干员和远程干员,且攻击无视<@ba.vup>30%防御力和法术抗性","effectDescParams":[{"index":0,"format":"0%","base":"base_atk","perStack":"atk_per_stack"}],"bb":{"base_atk":0.1,"atk_per_stack":0.012,"power_def_penetrate":0.3,"power_magic_resist_penetrate":0.3,"power_bond_char_cnt":3},"bbStr":{"key":"act1autochess_bond_eff_preci"},"buffs":[{"key":"env_gbuff_new","bb":{"base_atk":0.1,"atk_per_stack":0.012,"power_def_penetrate":0.3,"power_magic_resist_penetrate":0.3,"power_bond_char_cnt":3},"bbStr":{"key":"act1autochess_bond_eff_preci"}}],"baseParams":["base_atk"],"perStackParams":["atk_per_stack"],"members":["chess_char_1_09_a","chess_char_1_17_a","chess_char_2_01_a","chess_char_3_11_a","chess_char_4_06_a","chess_char_4_14_a","chess_char_4_20_a","chess_char_5_02_a","chess_char_6_01_a","chess_char_6_05_a","chess_char_6_08_a","chess_char_6_12_a"],"visibleMembers":["chess_char_1_09_a","chess_char_1_17_a","chess_char_2_01_a","chess_char_3_11_a","chess_char_4_06_a","chess_char_4_14_a","chess_char_4_20_a","chess_char_5_02_a","chess_char_6_01_a","chess_char_6_05_a","chess_char_6_08_a","chess_char_6_12_a"],"spec":{"tiers":[{"need":"2 distinct","effect":"精准 members ATK x(1 + 0.10 + 0.012*L)."},{"need":"3 distinct","effect":"Scope becomes 精准 members + every RANGED operator; affected units also ignore 30% of target DEF and 30% of target RES."}],"formulas":{"atkMultiplier":"1.10 + 0.012*L","defPenetrateRatio(3)":"0.3","resPenetrateRatio(3)":"0.3"},"layerGain":"Kill/skill/deploy in battle: 寒芒克洛丝 gives front operator \"开技能 +1 精准 (<=10/battle)\"; 远牙 grant (+4/deploy); 缇缇 +1 per sleep/stun; 蕾缪安, 送葬人; 莱恩哈特 休整期结束 +5 own active bonds; 获得时: 深靛 +2, 雪猎 +5. 机变 \"缇缇的盟誓\" +10.","assumed":["penetration = ratio ignore (like 无视 x% 防御)"]}},"swiftShip":{"bondId":"swiftShip","name":"迅捷","identifier":10,"isCore":false,"bondType":"REGULAR","bondOrder":2,"powerIdList":[],"iconId":"icon_swiftShip","activeCount":2,"thresholds":[2],"maxCount":null,"thresholdTemplate":"count_threshold_upward","countMode":"BOARD","countsHand":false,"countsGoldenOnly":false,"activeType":"BATTLE","isActiveInDeck":false,"noStack":false,"weight":10,"maxInactiveBondCount":-1,"layerMilestones":[{"layer":40,"mode":"reach","effect":"env_gbuff_new"}],"desc":"【迅捷】干员技能结束时有概率(受层数影响)立刻回复12点技力\n<达到40层>所有干员技能结束时有等概率额外回复15点技力","descRaw":"【迅捷】干员技能结束时有概率<@autochess.gray>(受层数影响)立刻回复<@ba.vup>12点技力\n<达到<@autochess.dgreen>40层>所有干员技能结束时有等概率额外回复<@ba.vup>15点技力","effectId":"bondeffect_swift","effectName":"迅捷","effectDesc":"【迅捷】干员技能结束时有{0:0%}概率(受层数影响)立刻回复12点技力\n<达到40层>所有干员技能结束时有等概率额外回复15点技力","effectDescRaw":"【迅捷】干员技能结束时有<@ba.vup>{0:0%}概率<@ba.acrem>(受层数影响)立刻回复<@ba.vup>12点技力\n<达到<@ba.vup>40层>所有干员技能结束时有等概率额外回复<@ba.vup>15点技力","effectDescParams":[{"index":0,"format":"0%","base":"base_prob","perStack":"prob_per_stack"}],"bb":{"base_prob":0.2,"prob_per_stack":0.0035,"power_bond_stack_cnt":40,"normal_sp":12,"power_sp":15},"bbStr":{"key":"act1autochess_bond_eff_swift"},"buffs":[{"key":"env_gbuff_new","bb":{"base_prob":0.2,"prob_per_stack":0.0035,"power_bond_stack_cnt":40,"normal_sp":12,"power_sp":15},"bbStr":{"key":"act1autochess_bond_eff_swift"}}],"baseParams":["base_prob"],"perStackParams":["prob_per_stack"],"members":["chess_char_1_01_a","chess_char_1_16_a","chess_char_1_19_a","chess_char_2_13_a","chess_char_2_19_a","chess_char_3_10_a","chess_char_3_18_a","chess_char_4_14_a","chess_char_5_14_a","chess_char_5_15_a","chess_char_5_22_a","chess_char_6_05_a","chess_char_6_10_a","chess_char_6_19_a"],"visibleMembers":["chess_char_1_01_a","chess_char_1_19_a","chess_char_2_13_a","chess_char_2_19_a","chess_char_3_10_a","chess_char_3_18_a","chess_char_4_14_a","chess_char_5_14_a","chess_char_5_15_a","chess_char_5_22_a","chess_char_6_05_a","chess_char_6_19_a"],"spec":{"tiers":[{"need":"2 distinct","effect":"When a 迅捷 member's skill ends: with p = min(1, 0.20 + 0.0035*L) immediately +12 SP."},{"need":"L >= 40","effect":"Every operator whose skill ends: with the same p, additionally +15 SP."}],"formulas":{"p":"min(1, 0.20 + 0.0035*L)","reaches100%AtL":"229"},"layerGain":"妮芙 休整期结束 +2 per operator on the bench; 蒂比 进入休整期 +2 own active bonds; 莱恩哈特 +5; 引星棘刺 +4 self & front; 获得时: 锡人/野鬃 +2, 忍冬 +6, 锏 +8. 机变 \"银灰的盟誓\" +8.","assumed":["迅捷 members roll both the 12 SP and the 15 SP independently"]}},"skillfulShip":{"bondId":"skillfulShip","name":"灵巧","identifier":11,"isCore":false,"bondType":"REGULAR","bondOrder":2,"powerIdList":[],"iconId":"icon_skillfulShip","activeCount":2,"thresholds":[2],"maxCount":null,"thresholdTemplate":"count_threshold_upward","countMode":"BOARD","countsHand":false,"countsGoldenOnly":false,"activeType":"BATTLE","isActiveInDeck":false,"noStack":false,"weight":10,"maxInactiveBondCount":-1,"layerMilestones":[{"layer":40,"mode":"reach","effect":"env_gbuff_new"}],"desc":"【灵巧】干员及周围4格干员攻击速度提升(受层数影响)\n<达到40层>生效范围变为【灵巧】干员周围8格","descRaw":"【灵巧】干员及周围4格干员<@ba.vup>攻击速度提升<@autochess.gray>(受层数影响)\n<达到<@autochess.dgreen>40层>生效范围变为【灵巧】干员周围8格","effectId":"bondeffect_skillful","effectName":"灵巧","effectDesc":"【灵巧】干员及周围4格的干员攻击速度+{0:0}(受层数影响)\n <达到40层>生效范围变为【灵巧】干员周围8格","effectDescRaw":"【灵巧】干员及周围4格的干员攻击速度<@ba.vup>+{0:0}<@ba.acrem>(受层数影响)\n <达到<@ba.vup>40层>生效范围变为【灵巧】干员周围8格","effectDescParams":[{"index":0,"format":"0","base":"base_attack_speed","perStack":"attack_speed_per_stack"}],"bb":{"base_attack_speed":10,"attack_speed_per_stack":1,"power_bond_stack_cnt":40},"bbStr":{"key":"act1autochess_bond_eff_skillful"},"buffs":[{"key":"env_gbuff_new","bb":{"base_attack_speed":10,"attack_speed_per_stack":1,"power_bond_stack_cnt":40},"bbStr":{"key":"act1autochess_bond_eff_skillful"}}],"baseParams":["base_attack_speed"],"perStackParams":["attack_speed_per_stack"],"members":["chess_char_1_14_a","chess_char_2_04_a","chess_char_2_13_a","chess_char_3_02_a","chess_char_3_13_a","chess_char_3_21_a","chess_char_4_11_a","chess_char_4_13_a","chess_char_4_21_a","chess_char_5_06_a","chess_char_5_16_a","chess_char_6_16_a"],"visibleMembers":["chess_char_1_14_a","chess_char_2_04_a","chess_char_2_13_a","chess_char_3_02_a","chess_char_3_13_a","chess_char_3_21_a","chess_char_4_11_a","chess_char_4_13_a","chess_char_4_21_a","chess_char_5_06_a","chess_char_6_16_a"],"spec":{"tiers":[{"need":"2 distinct","effect":"灵巧 members and operators on their 4 orthogonally adjacent tiles: ASPD +(10 + 1*L)."},{"need":"L >= 40","effect":"Area becomes the 8 surrounding tiles."}],"formulas":{"aspd":"10 + L"},"layerGain":"溯光星源 休整期结束 +2 灵巧/奥术 per 3 gold spent this round ; 断崖 +3 self & behind; 空弦 +3 self & front; 蒂比 +2; 获得时 灵知 +5. (act1 灵巧 also had a 20-layer shop reward; removed in act2.)","assumed":["a unit covered by several 灵巧 auras gets the bonus once"]}},"arcaneShip":{"bondId":"arcaneShip","name":"奥术","identifier":12,"isCore":false,"bondType":"REGULAR","bondOrder":2,"powerIdList":[],"iconId":"icon_arcaneShip","activeCount":2,"thresholds":[2,3],"maxCount":null,"thresholdTemplate":"count_threshold_upward","countMode":"BOARD","countsHand":false,"countsGoldenOnly":false,"activeType":"BATTLE","isActiveInDeck":false,"noStack":false,"weight":10,"maxInactiveBondCount":-1,"layerMilestones":[],"desc":"【奥术】干员造成法术伤害时使目标受到的法术伤害提升(受层数影响),持续3秒\n<在场3名不同【奥术】干员>【奥术】干员对生命值低于50%的敌人施加的伤害提升比例提升(受层数影响)","descRaw":"【奥术】干员造成法术伤害时使目标受到的法术伤害提升<@autochess.gray>(受层数影响),持续3秒\n<在场<@autochess.dgreen>3名不同【奥术】干员>【奥术】干员对生命值低于<@ba.vup>50%的敌人施加的伤害提升比例提升<@autochess.gray>(受层数影响)","effectId":"bondeffect_arcane","effectName":"奥术","effectDesc":"【奥术】干员造成法术伤害时使目标受到的法术伤害提升{0:0%}(受层数影响),持续3秒\n<在场3名不同【奥术】干员>【奥术】干员对生命值低于50%的敌人施加的伤害提升比例为{1:0%}(受层数影响)","effectDescRaw":"【奥术】干员造成法术伤害时使目标受到的法术伤害提升<@ba.vup>{0:0%}<@ba.acrem>(受层数影响),持续3秒\n<在场<@ba.vup>3名不同【奥术】干员>【奥术】干员对生命值低于50%的敌人施加的伤害提升比例为<@ba.vup>{1:0%}<@ba.acrem>(受层数影响)","effectDescParams":[{"index":0,"format":"0%","base":"base_damage_scale_show","perStack":"damage_scale_per_stack"},{"index":1,"format":"0%","base":"base_damage_scale_show_ex","perStack":"damage_scale_per_stack_show_ex"}],"bb":{"weak_duration":3,"base_damage_scale":1.2,"damage_scale_per_stack":0.01,"power_bond_char_cnt":3,"power_weak_scale":1.4,"hp_ratio":0.5,"base_damage_scale_show":0.2,"base_damage_scale_show_ex":0.68,"damage_scale_per_stack_show_ex":0.014},"bbStr":{"key":"act2autochess_bond_eff_arcane"},"buffs":[{"key":"env_gbuff_new","bb":{"weak_duration":3,"base_damage_scale":1.2,"damage_scale_per_stack":0.01,"power_bond_char_cnt":3,"power_weak_scale":1.4,"hp_ratio":0.5,"base_damage_scale_show":0.2,"base_damage_scale_show_ex":0.68,"damage_scale_per_stack_show_ex":0.014},"bbStr":{"key":"act2autochess_bond_eff_arcane"}}],"baseParams":["base_damage_scale_show","base_damage_scale_show_ex"],"perStackParams":["damage_scale_per_stack","damage_scale_per_stack_show_ex"],"members":["chess_char_1_17_a","chess_char_2_10_a","chess_char_2_15_a","chess_char_3_09_a","chess_char_4_02_a","chess_char_4_10_a","chess_char_5_07_a","chess_char_5_12_a","chess_char_6_02_a","chess_char_6_16_a"],"visibleMembers":["chess_char_1_17_a","chess_char_2_10_a","chess_char_3_09_a","chess_char_4_02_a","chess_char_4_10_a","chess_char_5_07_a","chess_char_5_12_a","chess_char_6_02_a","chess_char_6_16_a"],"spec":{"tiers":[{"need":"2 distinct","effect":"When an 奥术 member deals magic damage, the target takes magic damage x(1.20 + 0.01*L) (i.e. +(20+L)%) for 3 s. ONE instance per target whatever applies it: the strongest value wins, a weaker one resumes if it outlasts it; reapplying refreshes (corrected 2026-10-01: PRTS 作战机制 同名buff默认只表现出一个; 巴哈姆特 12316 the two players of a pair field compete for it)."},{"need":"3 distinct","effect":"Against enemies below 50% HP the multiplier is 1.4 x (1.20 + 0.01*L) = 1.68 + 0.014*L (i.e. +(68+1.4L)%)."}],"formulas":{"magicTakenMul":"1.20 + 0.01*L","magicTakenMulLowHp(3)":"1.4*(1.20 + 0.01*L)","hpThreshold":"0.5","durationSec":"3"},"layerGain":"夕 +2 per operator gained; 阿罗玛 +2 per refresh (<=6); 溯光星源 +2 per 3 gold spent; 海霓 first kill +3; 获得时: 深靛 +2, 协律 +4 (hidden). 机变 \"莫斯提马的盟誓\" +10.","assumed":["one instance per target, the strongest (the engine's default same-name rule; the two players of a pair field compete for it) — until v2.5 the remake kept one per player and they multiplied"]}},"steadShip":{"bondId":"steadShip","name":"坚守","identifier":13,"isCore":false,"bondType":"REGULAR","bondOrder":2,"powerIdList":[],"iconId":"icon_steadShip","activeCount":2,"thresholds":[2,3],"maxCount":null,"thresholdTemplate":"count_threshold_upward","countMode":"BOARD","countsHand":false,"countsGoldenOnly":false,"activeType":"BATTLE","isActiveInDeck":false,"noStack":false,"weight":10,"maxInactiveBondCount":-1,"layerMilestones":[],"desc":"所有干员生命值提升(受层数影响)\n<在场3名不同【坚守】干员>场上非【坚守】干员受到伤害时,所受伤害的40%由所有【坚守】干员平均承担。【坚守】干员受到伤害时,伤害来源将受到一定法术伤害(受层数影响,每0.2秒至多触发1次)和持续5秒的40%脆弱效果","descRaw":"所有干员<@ba.vup>生命值提升<@autochess.gray>(受层数影响)\n<在场<@autochess.dgreen>3名不同【坚守】干员>场上非【坚守】干员受到伤害时,所受伤害的<@ba.vup>40%由所有【坚守】干员<@ba.vup>平均承担。【坚守】干员受到伤害时,伤害来源将受到一定法术伤害<@autochess.gray>(受层数影响,每0.2秒至多触发1次)和持续<@ba.vup>5秒的<@ba.vup>40%脆弱效果","effectId":"bondeffect_stead","effectName":"坚守","effectDesc":"所有干员生命值+{0:0%}(受层数影响)\n<在场3名不同【坚守】干员>场上非【坚守】干员受到伤害时,所受伤害的40%由【坚守】干员平均承担;【坚守】干员受到伤害时,伤害来源受到{1:0}点法术伤害(受层数影响,每0.2秒至多触发1次)和持续5秒的40%的脆弱效果","effectDescRaw":"所有干员生命值<@ba.vup>+{0:0%}<@ba.acrem>(受层数影响)\n<在场<@ba.vup>3名不同【坚守】干员>场上非【坚守】干员受到伤害时,所受伤害的<@ba.vup>40%由【坚守】干员平均承担;【坚守】干员受到伤害时,伤害来源受到<@ba.vup>{1:0}点法术伤害<@ba.acrem>(受层数影响,每0.2秒至多触发1次)和持续5秒的<@ba.vup>40%的脆弱效果","effectDescParams":[{"index":0,"format":"0%","base":"base_max_hp","perStack":"max_hp_per_stack"},{"index":1,"format":"0","base":"base_damage_value","perStack":"damage_value_per_stack"}],"bb":{"base_max_hp":0.25,"max_hp_per_stack":0.012,"damage_resistance":0.4,"power_bond_char_cnt":3,"cd_duration":0.2,"weak[limit]":5,"damage_scale":1.4,"base_damage_value":850,"damage_value_per_stack":10},"bbStr":{"key":"act1autochess_bond_eff_stead"},"buffs":[{"key":"env_gbuff_new","bb":{"base_max_hp":0.25,"max_hp_per_stack":0.012,"damage_resistance":0.4,"power_bond_char_cnt":3,"cd_duration":0.2,"weak[limit]":5,"damage_scale":1.4,"base_damage_value":850,"damage_value_per_stack":10},"bbStr":{"key":"act1autochess_bond_eff_stead"}}],"baseParams":["base_max_hp","base_damage_value"],"perStackParams":["max_hp_per_stack","damage_value_per_stack"],"members":["chess_char_1_02_a","chess_char_1_10_a","chess_char_2_08_a","chess_char_2_17_a","chess_char_2_18_a","chess_char_3_05_a","chess_char_3_16_a","chess_char_4_01_a","chess_char_5_11_a","chess_char_6_03_a"],"visibleMembers":["chess_char_1_02_a","chess_char_1_10_a","chess_char_2_08_a","chess_char_2_17_a","chess_char_2_18_a","chess_char_3_05_a","chess_char_3_16_a","chess_char_4_01_a","chess_char_5_11_a","chess_char_6_03_a"],"spec":{"tiers":[{"need":"2 distinct","effect":"ALL operators maxHP x(1 + 0.25 + 0.012*L)."},{"need":"3 distinct","effect":"When a non-坚守 operator takes damage, 40% of that damage is taken instead by the 坚守 members, split evenly. When a 坚守 member takes damage, the damage source takes (850 + 10*L) sourceless magic damage and 脆弱 (damage taken x1.4) for 5 s; each 坚守 member can reflect at most once per 0.2 s."}],"formulas":{"hpMultiplier":"1.25 + 0.012*L","redirectRatio":"0.4","thornsDamage":"850 + 10*L","thornsCooldownSec":"0.2","fragile":"1.4 for 5 s"},"layerGain":"折桠 休整期结束 +4; 蛇屠箱 +1 per operator in same row; 斯卡蒂 kills; 获得时 角峰 +2; 机变 \"斯卡蒂的盟誓\" +8.","notes":["PRTS: thorns hit whatever the damage source is; sourceless damage can consume the thorns cooldown."]}},"deputShip":{"bondId":"deputShip","name":"助力","identifier":14,"isCore":false,"bondType":"REGULAR","bondOrder":2,"powerIdList":[],"iconId":"icon_deputShip","activeCount":2,"thresholds":[2,3],"maxCount":null,"thresholdTemplate":"count_threshold_upward","countMode":"BOARD","countsHand":false,"countsGoldenOnly":false,"activeType":"BATTLE","isActiveInDeck":false,"noStack":false,"weight":10,"maxInactiveBondCount":-1,"layerMilestones":[],"desc":"所有干员防御力提升(受层数影响),再部署时间减少\n休整期结束时,使当前所有已激活盟约层数+2\n<在场3名不同【助力】干员>改为层数+4","descRaw":"所有干员<@ba.vup>防御力提升<@autochess.gray>(受层数影响),<@ba.vup>再部署时间减少\n休整期结束时,使当前所有已激活盟约层数<@ba.vup>+2\n<在场<@autochess.dgreen>3名不同【助力】干员>改为层数<@ba.vup>+4","effectId":"bondeffect_deput","effectName":"助力","effectDesc":"所有干员防御力+{0:0%}(受层数影响),再部署时间-30%\n休整期结束时,使当前所有已激活的盟约层数+2\n<在场3名不同【助力】干员>改为层数+4","effectDescRaw":"所有干员防御力<@ba.vup>+{0:0%}<@ba.acrem>(受层数影响),再部署时间<@ba.vup>-30%\n休整期结束时,使当前所有已激活的盟约层数<@ba.vup>+2\n<在场<@ba.vup>3名不同【助力】干员>改为层数<@ba.vup>+4","effectDescParams":[{"index":0,"format":"0%","base":"base_def","perStack":"def_per_stack"}],"bb":{"base_def":0.15,"def_per_stack":0.012,"respawn_time":-0.3,"layer":2,"count":3,"more_layer":4},"bbStr":{"key":"act1autochess_bond_eff_deput","bond":"deputShip"},"buffs":[{"key":"env_gbuff_new","bb":{"base_def":0.15,"def_per_stack":0.012,"respawn_time":-0.3},"bbStr":{"key":"act1autochess_bond_eff_deput"}},{"key":"bond_activated_add_layer","bb":{"layer":2,"count":3,"more_layer":4},"bbStr":{"bond":"deputShip"}}],"baseParams":["base_def"],"perStackParams":["def_per_stack"],"members":["chess_char_1_06_a","chess_char_1_13_a","chess_char_2_14_a","chess_char_2_15_a","chess_char_3_15_a","chess_char_3_20_a","chess_char_4_03_a","chess_char_4_05_a","chess_char_4_21_a","chess_char_4_24_a","chess_char_5_16_a","chess_char_6_14_a","chess_char_6_20_a"],"visibleMembers":["chess_char_1_06_a","chess_char_1_13_a","chess_char_2_14_a","chess_char_3_20_a","chess_char_4_21_a","chess_char_4_24_a","chess_char_6_14_a","chess_char_6_20_a"],"spec":{"tiers":[{"need":"2 distinct","effect":"ALL operators DEF x(1 + 0.15 + 0.012*L); redeploy time -30%. At the end of every prep phase (休整期结束时) every currently active bond (incl. 助力) gets +2 layers."},{"need":"3 助力 (distinct name or elite state)","effect":"+4 layers instead of +2."}],"formulas":{"defMultiplier":"1.15 + 0.012*L","redeployTimeMul":"0.7","layersPerRound":"2 (4 at 3 members) to every active bond"},"layerGain":"波登可 +1 / 调香师 +2 to highest-layer bond at prep end (work from bench); 流明 +2 to active bonds of every bench operator; 纯烬艾雅法拉 +3 highest-layer bond per skill; its own +2/+4 per round.","howToPlay":"Cheap universal layer engine: activate as many bonds as possible so each gets +2/+4 every round (helps the hidden-round threshold)."}},"visiShip":{"bondId":"visiShip","name":"远见","identifier":15,"isCore":false,"bondType":"REGULAR","bondOrder":2,"powerIdList":[],"iconId":"icon_visiShip","activeCount":2,"thresholds":[2],"maxCount":null,"thresholdTemplate":"count_threshold_upward","countMode":"BOARD_AND_DECK","countsHand":true,"countsGoldenOnly":false,"activeType":"ALL","isActiveInDeck":false,"noStack":false,"weight":10,"maxInactiveBondCount":-1,"layerMilestones":[{"layer":10,"mode":"every","effect":"bond_layer_gain_coin"},{"layer":80,"mode":"first","effect":"bond_multi_layer_char_goods_price_bond_discount"},{"layer":150,"mode":"first","effect":"bond_multi_layer_char_goods_price_bond_discount"}],"desc":"<每叠加10层>获得一次2资金\n<首次达到80层>所有【远见】干员购买价格永久-1资金\n<首次达到150层>以上效果改为调度中心内所有干员的购买价格永久-1资金(整备区的【远见】干员也可用于激活盟约)","descRaw":"<每叠加<@autochess.dgreen>10层>获得一次<@ba.vup>2资金\n<首次达到<@autochess.dgreen>80层>所有【远见】干员购买价格<@ba.vup>永久-1资金\n<首次达到<@autochess.dgreen>150层>以上效果改为调度中心内所有干员的购买价格<@ba.vup>永久-1资金(整备区的【远见】干员也可用于激活盟约)","effectId":"bondeffect_visi","effectName":"远见","effectDesc":"<每叠加10层>获得一次2资金\n<首次到达80层>所有【远见】干员购买价格永久-1资金\n<首次到达150层>上述效果改为所有干员购买价格永久-1资金\n整备区的【远见】干员也可用于激活盟约","effectDescRaw":"<每叠加<@ba.vup>10层>获得一次<@ba.vup>2资金\n<首次到达<@ba.vup>80层>所有【远见】干员购买价格永久-1资金\n<首次到达<@ba.vup>150层>上述效果改为所有干员购买价格永久-1资金\n整备区的【远见】干员也可用于激活盟约","effectDescParams":[],"bb":{"layer":10,"count":2,"layer1":80,"discount":1,"layer2":150},"bbStr":{"bond":"visiShip"},"buffs":[{"key":"bond_layer_gain_coin","bb":{"layer":10,"count":2},"bbStr":{}},{"key":"bond_multi_layer_char_goods_price_bond_discount","bb":{"layer1":80,"discount":1,"layer2":150},"bbStr":{"bond":"visiShip"}}],"baseParams":[],"perStackParams":[],"members":["chess_char_1_11_a","chess_char_2_02_a","chess_char_3_03_a","chess_char_3_14_a","chess_char_4_04_a","chess_char_4_07_a","chess_char_5_01_a","chess_char_5_21_a","chess_char_6_12_a"],"visibleMembers":["chess_char_2_02_a","chess_char_3_03_a","chess_char_3_14_a","chess_char_4_04_a","chess_char_4_07_a","chess_char_5_01_a","chess_char_5_21_a","chess_char_6_12_a"],"spec":{"tiers":[{"need":"2 distinct (board + bench)","effect":"Each time cumulative L passes a multiple of 10: +2 gold."},{"need":"first time L >= 80","effect":"All 远见 operators' shop price permanently -1."},{"need":"first time L >= 150","effect":"Replaces the above: every operator in the shop permanently -1 (overrides, does not stack; 3/27 update)."}],"formulas":{"goldPayouts":"2 * floor(L/10)"},"layerGain":"寒檀 进入/结束休整期 +4 each; 伊内丝 +5 own active bonds; 赫默 +2; 圣约送葬人 +3 per 7 bullets (<=21/battle); 风笛 kills +2; 机变 \"风笛的盟誓\" +8.","assumed":["no floor but 0 (owner's decision 2026-10-04; a floor of 1 was assumed until 0.1.3)"]}},"miraShip":{"bondId":"miraShip","name":"奇迹","identifier":16,"isCore":false,"bondType":"REGULAR","bondOrder":2,"powerIdList":[],"iconId":"icon_miraShip","activeCount":2,"thresholds":[2],"maxCount":null,"thresholdTemplate":"count_threshold_upward","countMode":"BOARD_AND_DECK","countsHand":true,"countsGoldenOnly":false,"activeType":"ALL","isActiveInDeck":false,"noStack":false,"weight":10,"maxInactiveBondCount":-1,"layerMilestones":[{"layer":100,"mode":"every","effect":"bond_layer_gain_coin"}],"desc":"刷新调度中心时,有概率使下次刷新不消耗资金(受层数影响)\n<每叠加100层>获得20资金(整备区的【奇迹】干员也可用于激活盟约)","descRaw":"刷新调度中心时,有概率使下次刷新<@ba.vup>不消耗资金<@autochess.gray>(受层数影响)\n<每叠加<@autochess.dgreen>100层>获得<@ba.vup>20资金(整备区的【奇迹】干员也可用于激活盟约)","effectId":"bondeffect_mira","effectName":"奇迹","effectDesc":"刷新调度中心时,有{0:0%}(受层数影响)概率使下次刷新不消耗资金\n<每叠加100层>获得20资金\n整备区的【奇迹】干员也可用于激活盟约","effectDescRaw":"刷新调度中心时,有<@ba.vup>{0:0%}<@ba.acrem>(受层数影响)概率使下次刷新不消耗资金\n<每叠加<@ba.vup>100层>获得<@ba.vup>20资金\n整备区的【奇迹】干员也可用于激活盟约","effectDescParams":[{"index":0,"format":"0%","base":"baseprob","perStack":"prob"}],"bb":{"probk":0.3,"prob":0.003,"baseprob":0.18,"layer":100,"count":20},"bbStr":{},"buffs":[{"key":"bond_refresh_shop_next_free","bb":{"probk":0.3,"prob":0.003,"baseprob":0.18},"bbStr":{}},{"key":"bond_layer_gain_coin","bb":{"layer":100,"count":20},"bbStr":{}}],"baseParams":["baseprob"],"perStackParams":["prob"],"members":["chess_char_1_11_a","chess_char_2_11_a","chess_char_3_01_a","chess_char_3_19_a","chess_char_4_15_a","chess_char_4_26_a","chess_char_5_04_a","chess_char_5_15_a","chess_char_5_20_a","chess_char_5_23_a","chess_char_6_07_a"],"visibleMembers":["chess_char_2_11_a","chess_char_3_01_a","chess_char_3_19_a","chess_char_4_26_a","chess_char_5_15_a","chess_char_5_20_a","chess_char_5_23_a","chess_char_6_07_a"],"spec":{"tiers":[{"need":"2 distinct (board + bench)","effect":"After each shop refresh, if the player has 0 free refreshes: with p = 0.18 + 0.003*L gain 1 free refresh."},{"need":"every 100 layers","effect":"+20 gold."}],"formulas":{"p":"min(1, 0.18 + 0.003*L)","goldPayouts":"20 * floor(L/100)"},"layerGain":"维娜·维多利亚 +2 per distinct-tier 奇迹; 录武官 获得时 +3; 伺夜 kills +1; 引星棘刺 +4 self & front; 华法琳 (奇迹 member) gives the operator in front \"开技能时 +1 own active bonds\" (data: <=7/battle, elite +2 <=14 — the 3/27 update lowered it from 12/24, PRTS 下半 3月27日更新#2; Addendum 1).","notes":["blackboard probk = 0.3: meaning unknown (not in any description) [UNKNOWN]."]}},"investShip":{"bondId":"investShip","name":"投资人","identifier":17,"isCore":false,"bondType":"REGULAR","bondOrder":2,"powerIdList":[],"iconId":"icon_investShip","activeCount":3,"thresholds":[3],"maxCount":null,"thresholdTemplate":"count_threshold_upward","countMode":"BOARD_AND_DECK","countsHand":true,"countsGoldenOnly":false,"activeType":"ALL","isActiveInDeck":false,"noStack":false,"weight":0,"maxInactiveBondCount":-1,"layerMilestones":[{"layer":100,"mode":"reach","effect":"bond_layer_char_garrison_bonus"}],"desc":"干员的“获得时”类特质每次触发2次\n<达到100层>“获得时”类特质每次触发3次(整备区的【投资人】干员也可用于激活盟约)","descRaw":"干员的“获得时”类特质每次<@ba.vup>触发2次\n<达到<@autochess.dgreen>100层>“获得时”类特质每次<@ba.vup>触发3次(整备区的【投资人】干员也可用于激活盟约)","effectId":"bondeffect_invest","effectName":"投资人","effectDesc":"干员的“获得时”类特质每次触发2次\n<达到100层>“获得时”类特质每次触发3次\n整备区的【投资人】干员也可用于激活盟约","effectDescRaw":"干员的“获得时”类特质每次触发2次\n<达到<@ba.vup>100层>“获得时”类特质每次触发3次\n整备区的【投资人】干员也可用于激活盟约","effectDescParams":[],"bb":{"layer":0,"count":2},"bbStr":{"event":"SERVER_GAIN"},"buffs":[{"key":"bond_layer_char_garrison_bonus","bb":{"layer":0,"count":2},"bbStr":{"event":"SERVER_GAIN"}},{"key":"bond_layer_char_garrison_bonus","bb":{"layer":100,"count":3},"bbStr":{"event":"SERVER_GAIN"}}],"baseParams":[],"perStackParams":[],"members":["chess_char_1_16_a","chess_char_2_19_a","chess_char_3_04_a","chess_char_5_14_a","chess_char_5_17_a"],"visibleMembers":["chess_char_2_19_a","chess_char_3_04_a","chess_char_5_14_a","chess_char_5_17_a"],"spec":{"tiers":[{"need":"3 distinct (board + bench)","effect":"Every \"获得时\" (SERVER_GAIN) trait of every operator triggers 2 times."},{"need":"L >= 100","effect":"Triggers 3 times."}],"formulas":{"gainTraitRepeat":"2 if L < 100 else 3"},"layerGain":"山 休整期结束 +1 per operator gained this round; 机变 \"诗怀雅的盟誓\" +10, \"银灰的盟誓\" +8; generic sources.","howToPlay":"Pair with high \"获得时 +N 自身所属盟约\" operators (忍冬 +6, 锏 +8, 星熊 +8, 雪猎 +5) - their layers double/triple."}},"raidShip":{"bondId":"raidShip","name":"突袭","identifier":18,"isCore":false,"bondType":"REGULAR","bondOrder":2,"powerIdList":[],"iconId":"icon_raidShip","activeCount":2,"thresholds":[2],"maxCount":null,"thresholdTemplate":"count_threshold_upward","countMode":"BOARD","countsHand":false,"countsGoldenOnly":false,"activeType":"BATTLE","isActiveInDeck":false,"noStack":false,"weight":10,"maxInactiveBondCount":-1,"layerMilestones":[{"layer":50,"mode":"reach","effect":"env_gbuff_new"}],"desc":"【突袭】干员10秒内未进行攻击或技能就绪时,若范围内没有敌人,则保留技力立即再部署至一名地面敌人周围,期间攻击力和生命值提升(受层数影响)\n<达到50层>所有干员攻击速度+50","descRaw":"【突袭】干员<@ba.vup>10秒内未进行攻击或技能就绪时,若范围内没有敌人,则保留技力立即<@ba.vup>再部署至一名地面敌人周围,期间<@ba.vup>攻击力和<@ba.vup>生命值提升<@autochess.gray>(受层数影响)\n<达到<@autochess.dgreen>50层>所有干员攻击速度<@ba.vup>+50","effectId":"bondeffect_raid","effectName":"突袭","effectDesc":"【突袭】干员10秒内未进行攻击或技能就绪时,若范围内没有敌人,则保留技力立即再部署至一名地面敌人周围,期间攻击力和生命值+{0:0%}(受层数影响)\n <达到50层>所有干员攻击速度+50","effectDescRaw":"【突袭】干员10秒内未进行攻击或技能就绪时,若范围内没有敌人,则保留技力立即再部署至一名地面敌人周围,期间攻击力和生命值<@ba.vup>+{0:0%}<@ba.acrem>(受层数影响)\n <达到<@ba.vup>50层>所有干员攻击速度<@ba.vup>+50","effectDescParams":[{"index":0,"format":"0%","base":"base_atk","perStack":"atk_per_stack"}],"bb":{"base_attack_speed":0,"attack_speed_per_stack":0,"base_atk":0.25,"atk_per_stack":0.01,"base_max_hp":0.25,"max_hp_per_stack":0.01,"power_bond_stack_cnt":50,"power_attack_speed":50,"no_attack_duration":10},"bbStr":{"key":"act1autochess_bond_eff_raid"},"buffs":[{"key":"env_gbuff_new","bb":{"base_attack_speed":0,"attack_speed_per_stack":0,"base_atk":0.25,"atk_per_stack":0.01,"base_max_hp":0.25,"max_hp_per_stack":0.01,"power_bond_stack_cnt":50,"power_attack_speed":50,"no_attack_duration":10},"bbStr":{"key":"act1autochess_bond_eff_raid"}}],"baseParams":["base_atk"],"perStackParams":["atk_per_stack"],"members":["chess_char_1_18_a","chess_char_2_09_a","chess_char_3_05_a","chess_char_3_12_a","chess_char_4_04_a","chess_char_4_16_a","chess_char_5_07_a","chess_char_6_15_a","chess_char_6_17_a"],"visibleMembers":["chess_char_1_18_a","chess_char_2_09_a","chess_char_3_05_a","chess_char_3_12_a","chess_char_4_04_a","chess_char_4_16_a","chess_char_5_07_a","chess_char_6_15_a","chess_char_6_17_a"],"spec":{"tiers":[{"need":"2 distinct","effect":"If a 突袭 member has not attacked for 10 s, or its skill is ready, and no enemy is in its range: it is immediately redeployed (keeping SP) onto a tile next to a ground enemy; while in that redeployed state its ATK and maxHP x(1 + 0.25 + 0.01*L)."},{"need":"L >= 50","effect":"ALL operators ASPD +50."}],"formulas":{"atkHpMultiplier":"1.25 + 0.01*L","idleSec":"10","aspdAll(L>=50)":"50"},"layerGain":"史尔特尔 部署时 +8 (<=50/battle); 休谟斯 each 2 kills +1; 瑕光 +4/deploy; 斯卡蒂; 伊内丝 +5; 机变 \"斯卡蒂的盟誓\" +8, \"德克萨斯的盟誓\" +10.","assumed":["target enemy = the ground enemy closest to the player's objective (its own field's; another field's only while its own has none) that the member can reach; landing tile = the nearest free deployable tile within 2 tiles of it from which the member's attack range covers it. No such tile for any of the 8 most advanced -> no jump; the poll looks again every 0.25 s (GitHub issue #51 - up to 0.1.1 the idle trigger landed out of reach and hopped every 10 s; DESIGN §22.2)","the buff lasts until the operator leaves the field"]}},"indomShip":{"bondId":"indomShip","name":"不屈","identifier":19,"isCore":false,"bondType":"REGULAR","bondOrder":2,"powerIdList":[],"iconId":"icon_indomShip","activeCount":2,"thresholds":[2,3],"maxCount":null,"thresholdTemplate":"count_threshold_upward","countMode":"BOARD","countsHand":false,"countsGoldenOnly":false,"activeType":"BATTLE","isActiveInDeck":false,"noStack":false,"weight":10,"maxInactiveBondCount":-1,"layerMilestones":[],"desc":"地面干员被击倒时,有概率立即重新部署(受层数影响)\n<在场3名不同【不屈】干员>地面干员被击倒时使场上所有干员技力+5","descRaw":"<@ba.vup>地面干员被击倒时,有概率立即<@ba.vup>重新部署<@autochess.gray>(受层数影响)\n<在场<@autochess.dgreen>3名不同【不屈】干员><@ba.vup>地面干员被击倒时使场上所有干员<@ba.vup>技力+5","effectId":"bondeffect_indom","effectName":"不屈","effectDesc":"地面干员被击倒时,有{0:0%}(受层数影响)概率立刻重新部署\n<在场3名不同【不屈】干员>地面干员被击倒时使场上所有干员技力+5","effectDescRaw":"<@ba.vup>地面干员被击倒时,有<@ba.vup>{0:0%}<@ba.acrem>(受层数影响)概率立刻重新部署\n<在场<@ba.vup>3名不同【不屈】干员><@ba.vup>地面干员被击倒时使场上所有干员技力<@ba.vup>+5","effectDescParams":[{"index":0,"format":"0%","base":"base_prob","perStack":"prob_per_stack"}],"bb":{"base_prob":0.18,"prob_per_stack":0.004,"power_bond_stack_cnt":0,"sp":5,"power_bond_char_cnt":3},"bbStr":{"key":"act1autochess_bond_eff_indom"},"buffs":[{"key":"env_gbuff_new","bb":{"base_prob":0.18,"prob_per_stack":0.004,"power_bond_stack_cnt":0,"sp":5,"power_bond_char_cnt":3},"bbStr":{"key":"act1autochess_bond_eff_indom"}}],"baseParams":["base_prob"],"perStackParams":["prob_per_stack"],"members":["chess_char_1_05_a","chess_char_1_20_a","chess_char_2_03_a","chess_char_2_12_a","chess_char_3_16_a","chess_char_4_07_a","chess_char_5_06_a","chess_char_5_13_a","chess_char_6_06_a"],"visibleMembers":["chess_char_1_20_a","chess_char_2_12_a","chess_char_3_16_a","chess_char_4_07_a","chess_char_5_06_a","chess_char_5_13_a","chess_char_6_06_a"],"spec":{"tiers":[{"need":"2 distinct","effect":"When a ground operator (地面干员 = melee position, on any tile) is knocked out / retreats / swaps 替身<->本体: with p = min(1, 0.18 + 0.004*L) it is redeployed at once (next deployment has 0 redeploy time and 0 cost). Also consumes a \"复活\" charge if it had one."},{"need":"3 distinct","effect":"When a ground (melee-position) operator is knocked out: every operator on the field +5 SP."}],"formulas":{"p":"min(1, 0.18 + 0.004*L)","reaches100%AtL":"205"},"layerGain":"雷蛇 休整期结束 +1; 砾 被击倒 +2; 归溟幽灵鲨 +5; 风笛 kills +2; 机变 \"风笛的盟誓\" +8."}},"maniShip":{"bondId":"maniShip","name":"调和","identifier":20,"isCore":false,"bondType":"REGULAR","bondOrder":1,"powerIdList":[],"iconId":"icon_maniShip","activeCount":1,"thresholds":[1],"maxCount":null,"thresholdTemplate":"count_threshold_upward","countMode":"BOARD","countsHand":false,"countsGoldenOnly":false,"activeType":"MANI","isActiveInDeck":false,"noStack":true,"weight":0,"maxInactiveBondCount":-1,"layerMilestones":[],"desc":"激活时使场上核心盟约的激活人数+1,【调和】干员享受已激活的核心盟约的效果","descRaw":"激活时使场上核心盟约的<@ba.vup>激活人数+1,【调和】干员享受已激活的核心盟约的效果","effectId":"bondeffect_mani","effectName":"调和","effectDesc":"激活时可以使场上核心盟约的激活人数+1,【调和】干员享受已激活的核心盟约的效果","effectDescRaw":"激活时可以使场上核心盟约的<@ba.vup>激活人数+1,【调和】干员<@ba.vup>享受已激活的核心盟约的效果","effectDescParams":[],"bb":{"count":1},"bbStr":{},"buffs":[{"key":"other_bond_add_trigger_cnt","bb":{"count":1},"bbStr":{}}],"baseParams":[],"perStackParams":[],"members":["chess_char_1_15_a","chess_char_6_11_a"],"visibleMembers":["chess_char_6_11_a"],"spec":{"tiers":[{"need":"1 调和 on board","effect":"Every core bond's member count +1; 调和 operators receive the effects of all active core bonds."}],"members":"缪尔赛思 (T6) and 盟约·辅助干员 (T1, hidden; given in round 1 by strategy Pith \"优等生\").","assumed":["+1 only for core bonds with >=1 real member","one +1 total no matter how many 调和 operators"]}},"emptyShip":{"bondId":"emptyShip","name":"协防干员","identifier":21,"isCore":false,"bondType":"REGULAR","bondOrder":2,"powerIdList":[],"iconId":"icon_emptyShip","activeCount":2,"thresholds":[2],"maxCount":null,"thresholdTemplate":"count_threshold_upward","countMode":"BOARD","countsHand":false,"countsGoldenOnly":false,"activeType":"BATTLE","isActiveInDeck":false,"noStack":true,"weight":0,"maxInactiveBondCount":-1,"layerMilestones":[],"desc":"所有干员受到的物理和法术伤害-20%,【协防干员】伤害提升至120%,精锐【协防】干员造成伤害提升至140%","descRaw":"所有干员受到的物理和法术伤害<@ba.vup>-20%,【协防干员】伤害提升至<@ba.vup>120%,精锐【协防】干员造成伤害提升至<@ba.vup>140%","effectId":"bondeffect_empty","effectName":"协防干员","effectDesc":"所有干员受到的物理和法术伤害-20%;【协防干员】伤害提升至120%,精锐【协防干员】造成伤害提升至140%","effectDescRaw":"所有干员受到的物理和法术伤害<@ba.vup>-20%;【协防干员】伤害提升至<@ba.vup>120%,精锐【协防干员】造成伤害提升至<@ba.vup>140%","effectDescParams":[],"bb":{"damage_resistance":0.2,"damage_scale_normal":1.2,"damage_scale_extra":1.4},"bbStr":{"key":"act1autochess_bond_eff_assis"},"buffs":[{"key":"env_gbuff_new","bb":{"damage_resistance":0.2,"damage_scale_normal":1.2,"damage_scale_extra":1.4},"bbStr":{"key":"act1autochess_bond_eff_assis"}}],"baseParams":[],"perStackParams":[],"members":["chess_char_1_15_a","chess_char_2_14_a","chess_char_3_10_a","chess_char_4_08_a","chess_char_4_25_a","chess_char_5_09_a","chess_char_5_10_a","chess_char_6_12_a"],"visibleMembers":["chess_char_2_14_a","chess_char_3_10_a","chess_char_4_25_a","chess_char_5_10_a","chess_char_6_12_a"],"spec":{"tiers":[{"need":"2 distinct","effect":"ALL operators take -20% physical and magic damage; 协防干员 members deal damage x1.2 (elite 协防 x1.4)."}],"meaning":"\"协防干员\" (assist operators) = fallback bond (constData.fallbackBondId). DIY/self-selected 6-star operators whose faction matches no core bond become 协防干员; some preset operators (调香师, 松果, 瑰盐, 魔王, 铃兰, 迷迭香, 盟约·辅助干员) are natively 协防.","formulas":{"damageTakenMul":"0.8","memberDamageMul":"1.2 (elite 1.4)"},"notes":["noStack=true: no layer-scaled effect, but layers are still counted (巴哈姆特)."]}},"soloShip":{"bondId":"soloShip","name":"独行","identifier":22,"isCore":false,"bondType":"REGULAR","bondOrder":2,"powerIdList":[],"iconId":"icon_soloShip","activeCount":1,"thresholds":[1],"maxCount":1,"thresholdTemplate":"count_threshold_downward","countMode":"BOARD","countsHand":false,"countsGoldenOnly":false,"activeType":"BATTLE","isActiveInDeck":false,"noStack":true,"weight":10,"maxInactiveBondCount":-1,"layerMilestones":[],"desc":"<在场1名【独行】干员>【独行】干员攻击力和生命值+60%,初始技力+15(在场2名及以上【独行】干员时失效)","descRaw":"<在场1名【独行】干员>【独行】干员攻击力和生命值<@ba.vup>+60%,初始技力<@ba.vup>+15(在场2名及以上【独行】干员时失效)","effectId":"bondeffect_solo","effectName":"独行","effectDesc":"<在场1名【独行】干员>【独行】干员攻击力和生命值+60%,初始技力+15(在场2名及以上【独行】干员时失效)","effectDescRaw":"<在场<@ba.vup>1名【独行】干员>【独行】干员攻击力和生命值<@ba.vup>+60%,初始技力<@ba.vup>+15<@ba.acrem>(在场2名及以上【独行】干员时失效)","effectDescParams":[],"bb":{"atk":0.6,"max_hp":0.6,"sp":15},"bbStr":{"key":"act2autochess_bond_eff_solo"},"buffs":[{"key":"env_gbuff_new","bb":{"atk":0.6,"max_hp":0.6,"sp":15},"bbStr":{"key":"act2autochess_bond_eff_solo"}}],"baseParams":[],"perStackParams":[],"members":["chess_char_1_08_a","chess_char_2_17_a","chess_char_3_17_a","chess_char_4_09_a","chess_char_4_18_a","chess_char_5_11_a"],"visibleMembers":["chess_char_1_08_a","chess_char_2_17_a","chess_char_3_17_a","chess_char_4_09_a","chess_char_4_18_a","chess_char_5_11_a"],"spec":{"tiers":[{"need":"exactly 1 distinct 独行 on board","effect":"That operator ATK +60%, maxHP +60%, +15 SP when deployed. Disabled when 2+ different 独行 operators are on the board."}],"formulas":{"atkMul":"1.6","hpMul":"1.6","spOnDeploy":"15"},"notes":["noStack=true"]}},"suntShip":{"bondId":"suntShip","name":"绝技","identifier":23,"isCore":false,"bondType":"REGULAR","bondOrder":2,"powerIdList":[],"iconId":"icon_suntShip","activeCount":2,"thresholds":[2,5],"maxCount":null,"thresholdTemplate":"count_threshold_upward_golden","countMode":"BOARD_ALL_CHESS","countsHand":false,"countsGoldenOnly":true,"activeType":"BATTLE","isActiveInDeck":false,"noStack":true,"weight":0,"maxInactiveBondCount":-1,"layerMilestones":[],"desc":"<在场2名精锐状态的干员>精锐状态的干员攻击力+30%\n<在场5名精锐状态的干员>精锐状态的干员技力消耗-30%\n(所有干员的精锐状态均可激活本盟约)","descRaw":"<在场<@autochess.dgreen>2名精锐状态的干员>精锐状态的干员攻击力<@ba.vup>+30%\n<在场<@autochess.dgreen>5名精锐状态的干员>精锐状态的干员技力消耗<@ba.vup>-30%\n<@ba.acrem>(所有干员的精锐状态均可激活本盟约)","effectId":"bondeffect_sunt","effectName":"绝技","effectDesc":"<在场2名精锐状态的干员>精锐状态的干员攻击力+30%\n<在场5名精锐状态的干员>精锐状态的干员技力消耗-30%\n(所有干员的精锐状态均可激活本盟约)","effectDescRaw":"<在场<@ba.vup>2名精锐状态的干员>精锐状态的干员攻击力<@ba.vup>+30%\n<在场<@ba.vup>5名精锐状态的干员>精锐状态的干员技力消耗<@ba.vup>-30%\n<@ba.acrem>(所有干员的精锐状态均可激活本盟约)","effectDescParams":[],"bb":{"power_char_cnt":2,"ex_char_cnt":5,"power_atk":0.3,"sp_ratio":0.7},"bbStr":{"key":"act2autochess_bond_eff_sunt"},"buffs":[{"key":"env_gbuff_new","bb":{"power_char_cnt":2,"ex_char_cnt":5,"power_atk":0.3,"sp_ratio":0.7},"bbStr":{"key":"act2autochess_bond_eff_sunt"}}],"baseParams":[],"perStackParams":[],"members":[],"visibleMembers":[],"spec":{"tiers":[{"need":"2 elite (精锐) operators on board (any operators, duplicates count)","effect":"All elite operators ATK +30%."},{"need":"5 elite operators on board","effect":"At battle start every elite operator and its summons have skill SP cost x0.7 (rounded down, may become 0)."}],"formulas":{"atkMul":"1.3","spCostMul":"floor(sp*0.7)"},"notes":["isHiddenCharList=true, chessIdList empty: no member operators; elites are not \"members\" of 绝技 (PRTS).","noStack=true"]}}} \ No newline at end of file diff --git a/docs/history/0.1.1.md b/docs/history/0.1.1.md index e677e0ee..c91bb32d 100644 --- a/docs/history/0.1.1.md +++ b/docs/history/0.1.1.md @@ -309,7 +309,7 @@ Where: `ui/gameLogic.js morphPairings / HARMONY_BOND / harmonyMembers`, `ui/deta - **调和's +1 explained** (issue #1: "一些不考虑整备区的盟约计算人数时也会把整备区的干员算进去" — the +1 read as a miscount; §21.11 had left "调和's +1 raises 在场 for core bonds without a member row"). The rule is unchanged (§6.3; one +1 total, research 02 §2.1 [ASSUMED]). **Now** a bond state whose count holds the +1 carries `harmony: 1` (`computeBonds`) and both views send it — m.private `bonds[]` and m.public `players[].bonds[]` entries `{ …, harmony? }` (absent otherwise; not in the battle input, `bondSnapshot`) — so the client never re-derives the rule. The popup says 在场 n(含调和 +1) and a 调和 row heads its member list, naming the 调和 operators on that board (`harmonyMembers`: 缪尔赛思, Pith's 盟约·辅助干员; a tap opens the first one's card; with that board not on screen "调和已激活:核心盟约激活人数 +1") — for your own strip and a teammate's (§20.15: the entry from m.public, the operators from the field on screen). The strip disc's and the card chip's titles add (含调和 +1). - **Bots skip strategies built around a switched-off bond**: in 标准 the bot took 潘格尼尼 (【定制铳械】 an elite <拉特兰>), 克莱门莎 (<阿戈尔>) or 玛恩纳 (<卡西米尔>) in 5 of 200 solo and 23 of 800 co-op picks (seeds 1–200). bands.json `bondIds` holds a band's tie, read from its own data at build time (`tools/build-data.mjs` through `shared/bandBonds.js`; `GameData.bandBondIds` and the client read the field) — the bond names in <…> of its text (the official note "在部分干员缺席时体验可能不完整" among them; a bracketed item or enemy adds nothing) and the bond ids / bond pools of its blackboards (`bond`, `bond_id`; `pool` → choices.json `pools[pool].bond`, 潘格尼尼's pool_char_later) — nine bands are tied (杜遥夜 炎, 佩佩 / 娜仁图亚 萨尔贡, 哈洛德 维多利亚, 休露丝 谢拉格, 潘格尼尼 拉特兰, 克莱门莎 阿戈尔, 玛恩纳 卡西米尔, 贾维 叙拉古). `botPickBand` weighs a band tied to a bond of `gd.modeInactiveBonds` 0 — one rng draw per pick, the default band when every offered band is excluded: 0 of 200 and 0 of 800 in 标准, while the other modes keep exactly the earlier picks (绝境: 5 / 200, 23 / 800). `tools/botbench.mjs --band` still forces any band. - **The strategy draft marks them 本局禁用** for human players (the owner's follow-up): a band whose `bondIds` meet the mode's inactive bonds (`gameLogic.bandOffBonds`, the same field and rule as the bot — a test pins the two in every mode) carries a 本局禁用 tag on its card and, in the detail pane, "本局禁用【拉特兰】盟约,此策略效果可能无法发挥" with the bond struck through (§21.7's look); it stays selectable — the official game lets you pick it. -- **Found on the way — the client-result layer bound** (`match/fields.js layerAllowanceOf / validateClientResult`): with the bots' new picks the full-match suite's coop/FUNNY/107 (4 humans on AI 托管) reached a 6-谢拉格 freeze board at R12 (初雪 + 银灰: garrison_28, 50 % +1 per freeze in range, no per-battle cap in the data; 凛御银灰 hands out a 60 % +2) whose honest +112 谢拉格 layers passed the flat 60 + 4·12 = 108, so the server rejected the client and re-simulated (SP_VERIFY=all agrees with the client on all 57 battles of that match). Uncapped traits are common (菲莱 / 百炼嘉维尔 per skill, 斯卡蒂 per 2 kills, 莫斯提马 per 6 bullets …) and capped ones reach 100–200 (史尔特尔, 荒芜拉普兰德), so the flat bound now adds, per bond, what the player's IN_BATTLE layer 特质 can add to it — each trait of its units and each one their ADD_BOND traits hand out (once per operator), on the bonds it names, up to the cap the sim applies (`max_add_count_per_battle`, the handed-out 华法琳 trait's `GRANTED_CAP_OVERRIDE`); a trait without a cap — or a 魔王, whose +extra counts toward none — leaves its bonds bounded only by the 999 room. A forged gain on any other bond meets the flat bound as before. +- **Found on the way — the client-result layer bound** (`match/fields.js layerAllowanceOf / validateClientResult`): with the bots' new picks the full-match suite's coop/FUNNY/107 (4 humans on AI 托管) reached a 6-谢拉格 freeze board at R12 (初雪 + 银灰: garrison_28, 50 % +1 per freeze in range, no per-battle cap in the data; 凛御银灰 hands out a 60 % +2) whose honest +112 谢拉格 layers passed the flat 60 + 4·12 = 108, so the server rejected the client and re-simulated (SP_VERIFY=all agrees with the client on all 57 battles of that match). Uncapped traits are common (菲莱 / 百炼嘉维尔 per skill, 斯卡蒂 per 2 kills, 莫斯提马 per 6 bullets …) and capped ones reach 100–200 (史尔特尔, 荒芜拉普兰德), so the flat bound now adds, per bond, what the player's IN_BATTLE layer 特质 can add to it — each trait of its units and each one their ADD_BOND traits hand out (once per operator), on the bonds it names, up to the cap the sim applies (`max_add_count_per_battle`, the handed-out 华法琳 trait's `GRANTED_CAP_OVERRIDE` — removed in 0.2.0, §25.13.2); a trait without a cap — or a 魔王, whose +extra counts toward none — leaves its bonds bounded only by the 999 room. A forged gain on any other bond meets the flat bound as before. - Normative lines rewritten with it: §6.3 (`harmony` in the views), §6.6 (the band pick), §8.2 / §8.3 (`bonds[]` entries `harmony?`), §14 / §20.12 (the layer bound), §21.11 (its 调和 note). - Tests: `test/ui/feedback1-gaps.test.js`, `test/match/feedback1-gaps.test.js`; opt-in `test/ui/feedback1-gaps.e2e.test.js` (`SP_E2E=1`; 1920×1080, 844×390, 756×366; `SP_E2E_OUT` moves the screenshots). diff --git a/docs/history/0.2.0.md b/docs/history/0.2.0.md index a95a4029..c9af355c 100644 --- a/docs/history/0.2.0.md +++ b/docs/history/0.2.0.md @@ -22,7 +22,8 @@ rules (GitHub #181, #187 / #170, follow-ups) → §25.7; WE2, data / match / UI what stays [ASSUMED] and the questions left to the owner → §25.10. The closing additions: the owner's decisions of 2026-10-06 (望's stock, skill triggers through summon areas, the 突袭 landing, GitHub #148) and the items the sources settled (泥岩's 闭锁; 忍冬, 深靛, 阿) → §25.11; release packaging and the asset manifest (the 自选 voices, the summons -with no Spine model) → §25.12; round 18 — 拟态物质 at the copy cap (GitHub #207) → §25.13. +with no Spine model) → §25.12; round 18 — 拟态物质 at the copy cap (GitHub #207), 华法琳's 7 / 14 (GitHub #175, PR #192) +→ §25.13. Decisions of the owner: 2026-10-04 — the server stays on plain `node:http` + `ws`, no web framework (§25.1); 2026-10-05 — the 补位 plan (§25.3); the 自选编队 rules, the collab operators out of the pool, ISW-A refused (§25.4); @@ -31,7 +32,8 @@ Chinese by default with an English switch, official English game texts, PR #70's enemy in range, 纯烬艾雅法拉 S1 at full SP, 伺夜 S1 only with his pack on the field (§25.5); 2026-10-06 — a chess the player does not own shows as its stand-in everywhere (the owner's recall of the official mode, §25.3); the enemy damage frame kept (§25.7.2); 望's placed 棋子 count in her stock, skills that act through summons cast on an enemy in a summon's area, -a melee 突袭 member lands where it can block (§25.11). +a melee 突袭 member lands where it can block (§25.11); 华法琳's granted trait at the data's 7 / 14, replacing the 12 / 24 +lock (§25.13.2). ### 25.1 Refactor and tooling: the big files split, golden results, lint, types, import boundaries (refactor plan; owner's decision of 2026-10-04: no web framework) — `server/http/`, `server/match/match/`, `server/match/player/`, `server/sim/battle/`, `content/enemies/`, `kits/ops/`, `public/js/ui/gameLogic/`, `render/fx/`, `render/app/`, `screens/game/`, `tools/golden.mjs`, `tools/check-imports.mjs`, `eslint.config.js`, `jsconfig.json` @@ -659,6 +661,7 @@ its tile, §18.1; §25.9.2). Where a 0.1.4 change met 0.2.0 work: | 望's placed 棋子 take and return her stock, so S1 / S2 keep cycling (§25.11.1) | the owner, 2026-10-06 (deliberate deviation from 「不消耗持有数量」) | | Skills that act through summons cast on an enemy in a summon's area: 麦哲伦 S1, 令 S3, 电弧 S2 / S3 (§25.11.2) | the owner, 2026-10-06 (the larger-range rule) | | A melee 突袭 member lands on a tile where it can block before one where it cannot (GitHub #148, §25.11.3) | the owner, 2026-10-06 | +| 华法琳's granted trait stops at the data's 7 / 14 (PRTS 3/27: lowered from 12 / 24; GitHub #175, PR #192, §25.13.2) | the owner, 2026-10-06 (replaces the 12 / 24 lock) | Settled by the sources in W5V, no longer questions: 泥岩 S3's dormancy is 闭锁 — she lets go and blocks nobody (PRTS, §25.11.4); 阿 S2 / S3 keep the data's DEFAULT, 忍冬 S2's and 深靛 S1's notes are what the kits do (§25.11.5). @@ -853,3 +856,23 @@ ported PR credits its author there and here. report — an elite and 2 normal 溯光星源, normal and golden item: nothing granted, no other operator, consumed; 2 copies with the pool drained: nothing; 2 copies with copies left: the elite), `test/match/bot-smarter.test.js` (no bot carrier on a pair whose pool is out). Docs: docs/META.md (built-ins, the bots' items), research 04 / 06. + +#### 25.13.2 华法琳's granted trait stops at the data's 7 / 14 layers (GitHub #175; PR #192 by @kukiC; the owner's decision of 2026-10-06) — `server/sim/content/garrisons/battle.js`, `server/match/fields.js layerAllowanceOf` + +- **Seen** (GitHub #175): the card says 至多7层, but the operator in front of 华法琳 gained up to 12 layers per bond in a + battle (the elite: 24). The cause was the remake's own override `GRANTED_CAP_OVERRIDE` (12 / 24 for garrison_95_a / + _b, in the battle and in the server's client-result layer bound), taken from research 02 Addendum 1. Also in 0.1.4. +- **Official**: PRTS 卫戍协议:盟约 下半, 3月27日更新#2调整 (revision 439189): 「[Ⅳ阶]华法琳:赋予的特质的叠层上限从 初始12/精锐24 + 降低至 初始7/精锐14」 — a nerf; the current 参战干员 record (下半/PRTS盟约记录) says 至多7层 / 14层, and the client + blackboard (`max_add_count_per_battle` 7 / 14) carries it with the other 3/27 numbers. The official notice 8584 says + only 「调整每场战斗至多获得的层数」. Addendum 1 had read the PRTS line backwards (7 / 14 raised to 12 / 24). +- **Decision**: the owner's decision of 2026-10-06 — follow the current page and the data: 7 / 14 (it replaces the + earlier 12 / 24 lock). +- **Now** (ported from PR #192 by @kukiC): the override is gone; a granted trait keeps its data cap like a native one — + the 7th cast in front of 华法琳 reaches 7 (elite: 14) and later casts add nothing; the client-result bound counts the + handed-out trait at the same cap. Research 00 / 01 / 02 corrected (02-bonds.json's note, copied into + data/bonds.json `miraShip.spec.layerGain`, regenerated offline — the only data change). +- Golden: unchanged (no corpus battle casts 8 times in front of 华法琳). Tests (from PR #192): + `test/content/garrisons_battle.test.js` (updated on purpose: the cap is the data's 7 / 14 — the 7th cast reaches it, + the 8th adds nothing), `test/match/feedback1-gaps.test.js` (the client-result bound with 华法琳 + 古米: 60 + 4·3 + + 2 × cap passes, one more is refused), `test/ui/playtest3.test.js` (both cards show 至多7层 / 至多14层). diff --git a/docs/research/00-INDEX.md b/docs/research/00-INDEX.md index dcfd98a0..18d375b8 100644 --- a/docs/research/00-INDEX.md +++ b/docs/research/00-INDEX.md @@ -11,7 +11,7 @@ Tags: **[DATA]** client game data · **[VERIFIED]** official or wiki rule text, | File | What it holds | Key machine paths | |---|---|---| | `01-core-rules.md` / `01-core-data.json` | Modes, round schedule and timers, economy, shop, merging, LP, Final Assault and Hidden Core, 40 strategies (bands), 机变 choice events, scoring and tips. **Addendum A1–A5** has the verified rules, the ban rule and the enemy-multiplier table. | `modes`, `rounds`, `shopLevels`, `bands`, `choiceEvents`, `choiceAndEnemyEffects`, **`_criticAddendum`** (income, freeze, hand, bandDraft, bannedOperators, enemyStatMultipliers, specialPhase…) | -| `02-bonds.md` / `02-bonds.json` | All 23 bonds (8 core, 15 add-on): activation, layer formulas, tier effects, layer sources and readers, band/choice/item interactions. Addendum: 华法琳 cap 12/24, ban interplay. | `bonds[*]`, `layerGarrisons`, `layerScalingGarrisons`, `bondGrantingItems` | +| `02-bonds.md` / `02-bonds.json` | All 23 bonds (8 core, 15 add-on): activation, layer formulas, tier effects, layer sources and readers, band/choice/item interactions. Addendum: 华法琳 cap 7/14 (corrected 2026-10-06), ban interplay. | `bonds[*]`, `layerGarrisons`, `layerScalingGarrisons`, `bondGrantingItems` | | `03-operators.md` / `03-operators.json` | 133 chess ×2 (normal/elite): stats at the tier's status, range grids, the default skill with blackboard, talents, module, 特质 (garrison) blackboards, tokens, distribution. Addendum: **skill-trigger correction**, summons and hand, deploy rules, DIY. | `chess[*].stats/rangeGrid/skill/talents/garrisons/module`, `tokensUsedByPool`, `skillTriggerDataList` | | `04-items.md` / `04-items.json` | 56 equipment ×2 + 3 Arts: effects, formulas, merge, sources, 变形同构体 table, VI-tier combos. Addendum: **items can't be sold**, 机变 item card formats. | `items[*]`, `itemSources`, `bondGrantTable_for_变形同构体` | | `05-enemies-levels.md` / `05-enemies.json` / `05-maps.json` | Stage terrains (8 active), 38 wave templates with routes, 326 enemies, special-enemy pools, generation algorithm, bosses, bounties, LP rules. Addendum: DP, hidden-core thresholds, multi FUNNY rounds, stat scaling. | `05-maps.json: stages, roundLevels`; `05-enemies.json: enemies, specialEntries, bosses, bountyEffects, generation, _criticAddendum` | @@ -131,7 +131,7 @@ The server draws a disabled bond set **D**: **3 core + 4 add-on** in NORMAL/HARD | TANK skill rule | 03: any skill index | **Skill 1 only** | | 联防 partner rule | 01: fewest leaks | Meaningless; **highest LP, then seat** [ASSUMED] | | FUNNY income bonus | 01: +2 | **None** (official intro shows 4 at R1 in 标准) | -| 华法琳 granted cap | data 7/14 vs patch 12/24 | **12/24** (official 3/27 notice) | +| 华法琳 granted cap | data 7/14 vs patch 12/24 | **7/14** (the PRTS 3/27 note lowers 12/24 to 7/14; first misread, corrected 2026-10-06 — GitHub #175) | ## 8. Remaining open questions, with recommended defaults diff --git a/docs/research/01-core-rules.md b/docs/research/01-core-rules.md index 96ff6117..b395b1b7 100644 --- a/docs/research/01-core-rules.md +++ b/docs/research/01-core-rules.md @@ -930,6 +930,6 @@ Machine-readable copy: `01-core-data.json → _criticAddendum.enemyStatMultiplie - [ASSUMED] 道具补给 tier windows: R3 I–IV, R6 II–V, R9 III–VI, R11 IV–VI. Solo draws 3 cards from the same pools. ### A5. Other resolved items -- The **华法琳** granted-trait cap should be **12 / 24 per battle**. The official 3/27 notice changed it and PRTS lists 7/14 → 12/24. The client data still shows 7/14, even though the other 3/27 changes (奇迹 18 %, 远见 80/150, 商业包装方案 8/7) are already in it. See 02. +- The **华法琳** granted-trait cap is the data's **7 / 14 per battle**. The official 3/27 notice adjusted it and PRTS lists 初始12/精锐24 降低至 初始7/精锐14 — the numbers the client data carries with the other 3/27 changes (奇迹 18 %, 远见 80/150, 商业包装方案 8/7). Corrected 2026-10-06 (GitHub #175): this line first read the PRTS note backwards as 7/14 → 12/24. See 02 Addendum 1. - ~~The skill auto-cast rows with `skillIndex` 0 mean skill 1 only (BWIKI "重装职业干员 技能1,受到伤害后自动释放").~~ Superseded by user playtest #6 (DESIGN §20): the class rows apply to **every MANUAL skill** of the class and never to an AUTO skill (PRTS 卫戍协议/帮助 names whole classes; the 阵法术师 row must cover 薄绿's default S2, a phalanx that never attacks with its skill off); a MANUAL skill with its own 技能范围 (not an attack-range change) uses SKILL_RANGE; automatic operations have a 3 s cooldown. See 03 C1. - Asset URLs: 40 random URLs from `07-assets.json` were re-checked on 2026-09-27; 40/40 returned `200`. diff --git a/docs/research/02-bonds.json b/docs/research/02-bonds.json index 02c13d0d..ef772e4c 100644 --- a/docs/research/02-bonds.json +++ b/docs/research/02-bonds.json @@ -7601,7 +7601,7 @@ "p": "min(1, 0.18 + 0.003*L)", "goldPayouts": "20 * floor(L/100)" }, - "layerGain": "维娜·维多利亚 +2 per distinct-tier 奇迹; 录武官 获得时 +3; 伺夜 kills +1; 引星棘刺 +4 self & front; 华法琳 (奇迹 member) gives the operator in front \"开技能时 +1 own active bonds\" (data: <=7/battle, elite +2 <=14; PRTS 3/27 patch note says cap raised to 12/24).", + "layerGain": "维娜·维多利亚 +2 per distinct-tier 奇迹; 录武官 获得时 +3; 伺夜 kills +1; 引星棘刺 +4 self & front; 华法琳 (奇迹 member) gives the operator in front \"开技能时 +1 own active bonds\" (data: <=7/battle, elite +2 <=14 — the 3/27 update lowered it from 12/24, PRTS 下半 3月27日更新#2; Addendum 1).", "notes": [ "blackboard probk = 0.3: meaning unknown (not in any description) [UNKNOWN]." ] diff --git a/docs/research/02-bonds.md b/docs/research/02-bonds.md index 43cecd58..9a0b0699 100644 --- a/docs/research/02-bonds.md +++ b/docs/research/02-bonds.md @@ -842,7 +842,7 @@ Members (9 chess, 8 in current shop pool; by tier in shop: {'2': 1, '3': 2, '4': - **[2 distinct (board + bench)]** After each shop refresh, if the player has 0 free refreshes: with p = 0.18 + 0.003*L gain 1 free refresh. - **[every 100 layers]** +20 gold. - Formulas: `p = min(1, 0.18 + 0.003*L)`; `goldPayouts = 20 * floor(L/100)` -- How layers are gained: 维娜·维多利亚 +2 per distinct-tier 奇迹; 录武官 获得时 +3; 伺夜 kills +1; 引星棘刺 +4 self & front; 华法琳 (奇迹 member) gives the operator in front "开技能时 +1 own active bonds" (data: <=7/battle, elite +2 <=14; PRTS 3/27 patch note says cap raised to 12/24). +- How layers are gained: 维娜·维多利亚 +2 per distinct-tier 奇迹; 录武官 获得时 +3; 伺夜 kills +1; 引星棘刺 +4 self & front; 华法琳 (奇迹 member) gives the operator in front "开技能时 +1 own active bonds" (data: <=7/battle, elite +2 <=14 — the 3/27 update lowered it from 12/24, PRTS 下半 3月27日更新#2; Addendum 1). - Note: blackboard probk = 0.3: meaning unknown (not in any description) [UNKNOWN]. - Garrisons that explicitly add layers to this bond: `garrison_54`, `garrison_153`, `garrison_156`, `garrison_157` (see section 4; plus the generic ones) @@ -1325,7 +1325,7 @@ Bond items for 变形同构体 (`chess_item_6_09_e`, "携带者获得额外盟 ## 8. Open questions / discrepancies -1. 华法琳 granted-trait cap: data garrison_95 = 7 (elite 14) per battle, PRTS 3/27 patch note says 12/24. Recommend the patch-note value if we want "latest official"; data value otherwise. +1. 华法琳 granted-trait cap: data garrison_95 = 7 (elite 14) per battle; the PRTS 3/27 patch note lowers it from 12/24 to 7/14, so the data value is the latest official one (resolved: Addendum 1, corrected 2026-10-06). 2. 调和 +1: applies to every core bond or only those with >=1 real member on board? (assumed the latter). 3. 奇迹 blackboard `probk` 0.3 has no known meaning. 4. `pool_equip_vict` content (assumed the 4 special 维式重锤). @@ -1341,7 +1341,7 @@ Bond items for 变形同构体 (`chess_item_6_09_e`, "携带者获得额外盟 Written 2026-09-27 by the completeness critic. Sources: the official 3/27 notice (`ak.hypergryph.com/news/8584`), PRTS `卫戍协议:盟约_下半` 更新记录, BWIKI `盟约` / `盟约/S.W.E.E.P.报告`, and the screenshot `i.meee.com.tw/9H7Kugy.png`. -1. **§8 Q1 (华法琳 cap): resolved → use 12 per battle normal, 24 elite.** The official 3/27 notice says "调整每场战斗至多获得的层数". PRTS gives the numbers: "付与的特质的叠层上限从初始7/精锐14提升至初始12/精锐24". The client data (`garrison_72_*` → `garrison_95_*`, `max_add_count_per_battle` 7/14) was not updated for this line, although it already carries the other 3/27 changes: 奇迹 `baseprob` 0.18, 远见 80/150, 商业包装方案 8/7. Override `max_add_count_per_battle` to 12/24. +1. **§8 Q1 (华法琳 cap): resolved → the data's 7 per battle normal, 14 elite (corrected 2026-10-06, GitHub #175).** The official 3/27 notice says only "调整每场战斗至多获得的层数". PRTS `卫戍协议:盟约 下半`, 3月27日更新#2 (revision 439189), gives the numbers: "[Ⅳ阶]华法琳:赋予的特质的叠层上限从 初始12/精锐24 降低至 初始7/精锐14" — a nerf. The current 参战干员 record says 至多7层 / 14层, and the client data (`garrison_72_*` → `garrison_95_*`, `max_add_count_per_battle` 7/14) carries it with the other 3/27 changes (奇迹 `baseprob` 0.18, 远见 80/150, 商业包装方案 8/7). This addendum first read the line backwards (7/14 raised to 12/24), and until 0.2.0 the remake overrode the cap to 12/24 (`GRANTED_CAP_OVERRIDE`, removed with PR #192 by @kukiC: DESIGN §25.13.2). The 12/24 above is the pre-3/27 number. 2. **Per-match incomplete bonds (new, verified).** See 01 Addendum A2. - Each match disables a random set D: 3 core + 4 add-on in NORMAL+; the static list + 1 add-on in FUNNY. - Every operator whose bonds are **all** in D leaves the pool. diff --git a/server/match/fields.js b/server/match/fields.js index f26e14c2..307c085d 100644 --- a/server/match/fields.js +++ b/server/match/fields.js @@ -32,7 +32,6 @@ import { TICK, SNAPSHOT_EVERY } from '../sim/constants.js'; import { layerGainRoom } from '../../shared/constants.js'; import { uniteLeft } from '../sim/spec.js'; -import { GRANTED_CAP_OVERRIDE } from '../sim/content/garrisons/battle.js'; import { diyTokenOwner } from '../../shared/diy.js'; export const MAX_TICKS_PER_INTERVAL = 8; @@ -589,8 +588,8 @@ function layerBondsOf(p, gd) { * §21.26): the traits of its units (garrisons with `bond_add_count` / `bond_add_count_multi`) and the ones their ADD_BOND * traits hand out (`give_garrison_id`, counted for every operator of the player — "所有【X】" reaches them all), each on * the bonds it names (`bond_by_id` ids; `bond_self` / `bond_actived_maxstack`: every bond of the player's snapshot and - * units), up to the per-battle cap the sim applies (content/garrisons/battle.js: `max_add_count_per_battle`, the handed-out - * 华法琳 trait's GRANTED_CAP_OVERRIDE). A trait the data gives no cap (初雪 / 银灰's freeze trait, 菲莱 / 百炼嘉维尔's per-skill + * units), up to the per-battle cap the sim applies (content/garrisons/battle.js: `max_add_count_per_battle` — a handed-out + * trait's too, 华法琳's 7 / 14, GitHub #175). A trait the data gives no cap (初雪 / 银灰's freeze trait, 菲莱 / 百炼嘉维尔's per-skill * 萨尔贡, 斯卡蒂's per-kill …) — or a 魔王, whose +extra on every trait gain counts toward no cap — leaves its bonds bounded * only by the room under 999 (Infinity here): such boards legitimately gain hundreds of layers a battle. * @returns {Map} bondId → extra allowance (Infinity: uncapped) @@ -602,23 +601,22 @@ function layerAllowanceOf(p, gd) { const lineup = new Set(Object.keys(p.bonds && typeof p.bonds === 'object' ? p.bonds : {})); for (const u of units) for (const b of gd.chess(u.chessId)?.bonds || []) lineup.add(b); let extra = false; - const credit = (g, times, handedOut) => { + const credit = (g, times) => { const bb = g.bb || {}; if (Number.isFinite(bb.extra_cnt)) { extra = true; return; } if (!Number.isFinite(bb.bond_add_count) && !Number.isFinite(bb.bond_add_count_multi)) return; const s = g.bbStr || {}; const bonds = s.bond_type === 'bond_by_id' ? String(s.bond_id ?? '').split(',').map((x) => x.trim()).filter((x) => gd.bond(x)) : [...lineup]; - const override = handedOut ? GRANTED_CAP_OVERRIDE[g.garrisonId] : undefined; - const cap = override ?? (Number(bb.max_add_count_per_battle) > 0 ? Number(bb.max_add_count_per_battle) : Infinity); + const cap = Number(bb.max_add_count_per_battle) > 0 ? Number(bb.max_add_count_per_battle) : Infinity; for (const b of bonds) out.set(b, (out.get(b) || 0) + cap * times); }; for (const u of units) { for (const gid of gd.chess(u.chessId)?.garrisonIds || []) { const g = gd.garrison(gid); if (!g || g.eventType !== 'IN_BATTLE') continue; - if (g.effectKey !== 'ADD_BOND') { credit(g, 1, false); continue; } + if (g.effectKey !== 'ADD_BOND') { credit(g, 1); continue; } const given = gd.garrison(g.bbStr?.give_garrison_id); - if (given && given.eventType === 'IN_BATTLE') credit(given, units.length, true); + if (given && given.eventType === 'IN_BATTLE') credit(given, units.length); } } if (extra) for (const b of out.keys()) out.set(b, Infinity); diff --git a/server/sim/content/garrisons/battle.js b/server/sim/content/garrisons/battle.js index 527871f7..122205b8 100644 --- a/server/sim/content/garrisons/battle.js +++ b/server/sim/content/garrisons/battle.js @@ -5,8 +5,9 @@ // // ADD_BOND grants `give_garrison_id` to other operators before the first deployment (targets parsed from // the text: 身前一格 / 身前一格【X】/ 自身和身前一格 / 同一行最右边 / 所有【X】). A unit owns a garrison id -// at most once (耀骑士临光 already carries the 144/159 it grants to itself). The 华法琳-granted trait -// (garrison_95) is capped 12 / 24 per battle instead of the data's 7 / 14 (research 02 Addendum 1). +// at most once (耀骑士临光 already carries the 144/159 it grants to itself). A granted trait keeps +// its data cap like a native one: 华法琳's garrison_95 stops at 7 / 14 layers per battle (PRTS 下半 +// 3月27日更新#2: 「从 初始12/精锐24 降低至 初始7/精锐14」; GitHub #175, PR #192 by @kukiC). // layer events act1autochess_gar_event_useskill (skillStart) · _selfkillenemy (kill, every check_cnt) · // _selfdead (death 'killed'; texts with 替身 also on every substitute ⇄ body swap, read from the // dollkeeper flag unit.trait.doll) · _consume_ammo (ammoUsed; range_id 0-1 self, 1-1 front tile, @@ -43,9 +44,6 @@ import * as S from '../support/index.js'; import { mitigate } from '../../damage.js'; import { frontOf } from '../../dir.js'; -/** 华法琳's granted trait: per-battle cap override (research 02 Addendum 1: PRTS 3/27 "初始7/精锐14 → 初始12/精锐24"). */ -export const GRANTED_CAP_OVERRIDE = Object.freeze({ garrison_95_a: 12, garrison_95_b: 24 }); - const ids = (s) => String(s ?? '').split(',').map((x) => x.trim()).filter(Boolean); const EMPTY = Object.freeze([]); /** Status keys for check_ab_flag values used by the data (16 = 冻结). */ @@ -68,8 +66,7 @@ export function install(battle) { if (set.has(g.garrisonId)) return null; set.add(g.garrisonId); const bb = g.bb || {}; - const override = grantedBy ? GRANTED_CAP_OVERRIDE[g.garrisonId] : undefined; - const cap = override ?? (S.num(bb.max_add_count_per_battle, 0) > 0 ? S.num(bb.max_add_count_per_battle) : Infinity); + const cap = S.num(bb.max_add_count_per_battle, 0) > 0 ? S.num(bb.max_add_count_per_battle) : Infinity; const it = { unit, g, gid: g.garrisonId, key: g.effectKey, bb, bbStr: g.bbStr || {}, grantedBy, cap, capKey: `gar:${g.garrisonId}:${unit.id}`, cnt: 0, k: -1, diff --git a/test/content/garrisons_battle.test.js b/test/content/garrisons_battle.test.js index 56bcdc93..a4f5f83c 100644 --- a/test/content/garrisons_battle.test.js +++ b/test/content/garrisons_battle.test.js @@ -5,13 +5,12 @@ import { test } from 'node:test'; import assert from 'node:assert/strict'; import { makeBattle, chessRec, enemyRec, checkInvariants } from '../helpers/battleHarness.js'; import { getData } from '../../server/data.js'; -import { GRANTED_CAP_OVERRIDE } from '../../server/sim/content/garrisons/battle.js'; const D = getData({ log: { warn() {}, error() {}, info() {} } }); const GR = (gid) => D.garrisons[gid]; const ids = (s) => String(s ?? '').split(',').map((x) => x.trim()).filter(Boolean); const num = (v, d = 0) => (Number.isFinite(+v) && v !== '' && v != null ? +v : d); -const capOf = (gid) => GRANTED_CAP_OVERRIDE[gid] ?? (num(GR(gid).bb.max_add_count_per_battle) > 0 ? num(GR(gid).bb.max_add_count_per_battle) : Infinity); +const capOf = (gid) => (num(GR(gid).bb.max_add_count_per_battle) > 0 ? num(GR(gid).bb.max_add_count_per_battle) : Infinity); /** IN_BATTLE garrison ids carried by visible chess, and the ids those grant. */ const VISIBLE_IDS = new Set(); @@ -358,8 +357,10 @@ test('缇缇 125 + S2 封护 (GitHub #162): every 0.25 s sleep pulse of the ward // --------------------------------------------------------------------------------------------------------------------- // ADD_BOND grants -test('ADD_BOND 华法琳 72: the front operator gets garrison_95 (own active bonds +1 / +2), cap overridden to 12 / 24', () => { - for (const [gid, per, cap] of [['garrison_72_a', 1, 12], ['garrison_72_b', 2, 24]]) { +// PRTS 卫戍协议:盟约 下半, 3月27日更新#2: 「[Ⅳ阶]华法琳:赋予的特质的叠层上限从 初始12/精锐24 降低至 初始7/精锐14」 — the +// data's 7 / 14 (GitHub #175; from PR #192 by @kukiC) +test('ADD_BOND 华法琳 72: the front operator gets garrison_95 (own active bonds +1 / +2), capped at the data\'s 7 / 14 (GitHub #175)', () => { + for (const [gid, per, cap] of [['garrison_72_a', 1, 7], ['garrison_72_b', 2, 14]]) { const give = GR(gid).bbStr.give_garrison_id; const h = battle({ units: [{ id: 'warfarin', g: [gid], row: 10, col: 4 }, { id: 'front', row: 10, col: 5, bonds: ['yanShip', 'kjeragShip', 'egirShip'] }, { id: 'side', row: 11, col: 4, bonds: ['yanShip'] }], @@ -369,8 +370,13 @@ test('ADD_BOND 华法琳 72: the front operator gets garrison_95 (own active bon assert.equal(num(GR(give).bb.bond_add_count), per); skill(h, f); assert.deepEqual(gains(h), { yanShip: per, kjeragShip: per }); + assert.equal(num(GR(give).bb.max_add_count_per_battle), cap, `${give}: the data cap`); + for (let i = 1; i < 7; i++) skill(h, f); + assert.deepEqual(gains(h), { yanShip: cap, kjeragShip: cap }, `${gid}: the seventh activation reaches the cap`); + skill(h, f); + assert.deepEqual(gains(h), { yanShip: cap, kjeragShip: cap }, `${gid}: the eighth adds no layers`); for (let i = 0; i < 30; i++) skill(h, f); - assert.deepEqual(gains(h), { yanShip: cap, kjeragShip: cap }, `${gid}: 12/24 override, not the data's 7/14`); + assert.deepEqual(gains(h), { yanShip: cap, kjeragShip: cap }, `${gid}: later activations stay capped`); skill(h, h.unit('warfarin')); skill(h, h.unit('side')); assert.equal(gains(h).yanShip, cap, '华法琳 herself / other operators do not carry the trait'); diff --git a/test/match/feedback1-gaps.test.js b/test/match/feedback1-gaps.test.js index 0389306e..4d73d7b1 100644 --- a/test/match/feedback1-gaps.test.js +++ b/test/match/feedback1-gaps.test.js @@ -229,6 +229,17 @@ describe('§21.26 found on the way — the client-result layer bound reads the l const check = (s, gains, opts = { gd }) => { const v = validateClientResult(s, res(gains), opts); return v.ok ? 'ok' : v.reason; }; const SEED_107_R12 = ['chess_char_1_06_b', 'chess_char_4_14_a', 'chess_char_4_13_a', 'chess_char_3_14_a', 'chess_char_3_11_a', 'chess_char_4_22_a', 'chess_char_3_20_a', 'chess_char_5_14_b']; + // GitHub #175 (from PR #192 by @kukiC): the handed-out 华法琳 trait counts at the data cap, 7 / 14 + test('华法琳\'s handed-out trait allows its data cap of 7 / 14 (GitHub #175)', () => { + for (const [id, cap] of [['chess_char_4_26_a', 7], ['chess_char_4_26_b', 14]]) { + const s = spec(3, [id, 'chess_char_1_10_a']); // 华法琳 + 古米 + // a handed-out trait is counted once per operator of the player (2 here), on top of the flat 60 + 4·round + const bound = 60 + 4 * 3 + 2 * cap; + assert.equal(check(s, { steadShip: bound }), 'ok'); + assert.equal(check(s, { steadShip: bound + 1 }), 'layer bound'); + } + }); + test('an uncapped freeze trait leaves 谢拉格 bounded only by 999: the honest +112 passes; a bond without such a trait keeps 60 + 4·round', () => { const s = spec(12, SEED_107_R12, { kjeragShip: { count: 6, active: true, tier: 2, layers: 39 }, swiftShip: { count: 2, active: true, tier: 1, layers: 0 } }); assert.equal(check(s, { kjeragShip: 112 }), 'ok', 'the board of coop/FUNNY/107 R12'); diff --git a/test/ui/playtest3.test.js b/test/ui/playtest3.test.js index 83e71346..6cb6f932 100644 --- a/test/ui/playtest3.test.js +++ b/test/ui/playtest3.test.js @@ -269,6 +269,17 @@ describe('3: the temp overflow row (临时整备区)', () => { // ---- 8: the operator's own effect first -------------------------------------------------------------------------------- describe('8: 特质 right under the detail card\'s header', () => { + // GitHub #175 (from PR #192 by @kukiC): the card's 7 / 14 is the cap the battle applies + test('华法琳\'s normal and elite cards show the 7 / 14 layer caps (GitHub #175)', async () => { + await data.loadAll('chess', 'garrisons', 'assets', 'bonds', 'items'); + for (const [id, cap] of [['chess_char_4_26_a', 7], ['chess_char_4_26_b', 14]]) { + const blocks = ChessDetail({ chess: data.lookup('chess', id), piece: null, editable: false, bonds: [], loadout: null }); + const block = blocks.find((b) => b.key === 'garrison'); + const rich = [...walk(block.type(block.props))].find((n) => n.props?.text != null); + assert.match(rich.props.text, new RegExp(`每场战斗至多${cap}层`)); + } + }); + test('the block order', () => { assert.deepEqual(CHESS_SECTIONS, ['head', 'garrison', 'trait', 'stats', 'skill', 'module', 'equip', 'talents', 'actions']); });