From e47b098d4363081c2ced2fcf2008fa5066404d49 Mon Sep 17 00:00:00 2001 From: sganggs Date: Wed, 7 Oct 2026 01:39:50 +0800 Subject: [PATCH 01/11] =?UTF-8?q?feedback5=20CB1:=20a=20pair=20of=20colds?= =?UTF-8?q?=20on=20an=20enemy=20becomes=20the=20freeze,=20no=20cold=20is?= =?UTF-8?q?=20left=20=E2=80=94=20the=20=E8=B0=A2=E6=8B=89=E6=A0=BC=20wind?= =?UTF-8?q?=20no=20longer=20freezes=20for=20good=20from=2051=20layers=20on?= =?UTF-8?q?=20(community=20reports=20=E3=80=8C=E8=B0=A2=E6=8B=89=E6=A0=BC?= =?UTF-8?q?=E7=9B=9F=E7=BA=A6=E5=86=B0=E5=86=BB=E6=97=B6=E9=97=B4=E6=B2=A1?= =?UTF-8?q?=E6=9C=89=E9=9A=8F=E5=B1=82=E6=95=B0=E6=AD=A3=E7=A1=AE=E6=88=90?= =?UTF-8?q?=E9=95=BF=E3=80=8D=20and=20=E3=80=8C=E2=80=A6=E8=A2=AB=E5=9C=A8?= =?UTF-8?q?=E6=97=A0=E6=B3=95=E8=A2=AB=E4=BB=BB=E4=BD=95=E5=B9=B2=E5=91=98?= =?UTF-8?q?=E6=94=BB=E5=87=BB=E5=88=B0=E7=9A=84=E5=9C=B0=E6=96=B9=E6=B0=B8?= =?UTF-8?q?=E6=8E=A7=E3=80=8D,=20items=207=20and=208)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit PRTS 术语释义 寒冷 「友方寒冷始终需要两两一对产生友方冻结,持续时间取双方之中最高」, 异常效果 COLD 「在特定条件下转变为冻结」: applyStatus kept the older cold on for as long as the freeze, so every later cold froze again; the wind (every 25 s, 20 + 0.1 x layers s of cold) froze an enemy anywhere for the rest of the battle once its cold outlasted 25 s, never below. Now the pair turns into the freeze (max of the two, as before) and leaves no cold on an enemy; a cold on an operator (敌方寒冷) keeps the old rule. The wind alone now freezes 20 + 0.1 x L s of every 50 s from 51 layers (all of it from 300). Tests: test/sim/feedback5-kjerag-cold.test.js (fails on the parent); feedback3-cold-freeze and 灵知 S2 (kits_t4) updated to the pairing. Docs: SIM.md cold row, design/engine.md. Golden: every scenario where a second cold met an enemy still cold (灵知, 初雪, 雪猎, 耶拉, 圣聆初雪, 凛御银灰, items, the 谢拉格 wind) — the pair no longer leaves a cold: roster-005 / 009 / 010 / 012 / 014 / 015 / 016 / 018 / 026 / 029 / 031 / 036 / 040 / 042 / 046 / 047 / 049; bond-egirShip-high, bond-indomShip-low, bond-kjeragShip-high, bond-maniShip-high, bond-raidShip-low, bond-steadShip-high, bond-suntShip-low; boss-boss_2-pair / boss_3-pair / boss_4-pair / boss_6-pair, hidden-boss_8-pair / boss_10-pair; matches solo-HARD-1, solo-ABYSS-1, coop3-ABYSS-5, coop4-FUNNY-6, coop4-ABYSS-7. --- docs/SIM.md | 2 +- docs/design/engine.md | 2 +- server/sim/battle/status.js | 16 +- test/content/kits_t4.test.js | 5 +- test/golden/bonds.json | 102 +++--- test/golden/fields.json | 404 ++++++++++----------- test/golden/matches.json | 54 +-- test/golden/roster.json | 471 ++++++++++++------------- test/sim/feedback3-cold-freeze.test.js | 17 +- test/sim/feedback5-kjerag-cold.test.js | 86 +++++ 10 files changed, 624 insertions(+), 535 deletions(-) create mode 100644 test/sim/feedback5-kjerag-cold.test.js diff --git a/docs/SIM.md b/docs/SIM.md index 41662235..54f8c767 100644 --- a/docs/SIM.md +++ b/docs/SIM.md @@ -600,7 +600,7 @@ of coverage per 3 s), kept because the current wording no longer says so (feedba |---|---|---| | `stun` | cannot act / move; **a stunned operator blocks nothing** (its blocked enemies are released: taken over by another operator in contact with room, else they walk on — §1.2 Blocking) | – | | `freeze` | stun; **enemies** also RES −15 | – | -| `cold` | ASPD −30; a 2nd cold while cold ⇒ `freeze` for max(remaining cold, the incoming cold after 抵抗) — PRTS 术语释义 寒冷 「持续时间取双方之中最高」 (`COLD_FREEZE_DURATION` 3 s only when neither side has a duration; unless frozen-immune). [ASSUMED] the one catalogue cold uses that 友方 sentence for an enemy-applied cold too | – | +| `cold` | ASPD −30; a 2nd cold while cold ⇒ `freeze` for max(remaining cold, the incoming cold after 抵抗) — PRTS 术语释义 寒冷 「持续时间取双方之中最高」 (`COLD_FREEZE_DURATION` 3 s only when neither side has a duration; unless frozen-immune). On an enemy (友方寒冷) the pair becomes that freeze and no cold is left — 「两两一对产生友方冻结」, so a lone cold on a frozen enemy waits for a partner (0.2.0; the 谢拉格 wind no longer freezes for good); on an operator (敌方寒冷) the longer cold stays on with the freeze. [ASSUMED] the one catalogue cold uses the 友方 max for an enemy-applied cold too | – | | `sleep` | 无敌且无法行动: inactive, untargetable, **takes no damage** (unless the attacker profile has `hitSleep` or the damage `ignoreSleep`), blocks nothing; PRTS 异常效果 SLEEPING = 无法行动+无敌+**不可阻挡**: an enemy asleep **cannot be blocked and takes no block slot** — its blocker lets go at once (the slot frees for the next enemy), it stays where it is, and when it wakes it is blocked again only by a blocker with room, else it walks on (DESIGN §24.9) | – | | `slow` | moveMul 1 − value (*strongest*) | default 0.5 | | `sluggish` (停顿) | moveMul 0.2 | – | diff --git a/docs/design/engine.md b/docs/design/engine.md index d663a7d0..7e12458b 100644 --- a/docs/design/engine.md +++ b/docs/design/engine.md @@ -82,7 +82,7 @@ Base stats (from data): `maxHp, atk, def, res` (0–100), `aspd` (100 base), `ba - `mods` keys (all optional, additive within a key): `atkFlat, atkPct, atkFinal (最终加算: after the percentages), atkMul, defFlat, defPct, defMul, hpFlat, hpPct, hpMul, resFlat, resMul, aspd, batPct, blockCnt, rangeExtend (tiles), moveMul, dmgDealtMul (multiplicative, e.g. 1.2), dmgTakenMul, physTakenMul, artsTakenMul, trueTakenMul, defIgnoreFlat, defIgnorePct, resIgnoreFlat, resIgnorePct, dodgePhys, dodgeArts, healingDealtMul, healingTakenMul, spRecoveryFlat, spRecoveryMul, maxTargets (+n), shield (absorbs damage; consumed)`. - `flags`: `stun, freeze, sleep, silence (no skills), disarm (no attacks), stealth (untargetable by enemies/ops unless blocked or revealed — an operator's radius area damage skips it too, `Battle.foesInRadius`, PRTS 作战机制 §AOE伤害判定, §21.19, and so do an enemy's area effects and buff auras unless the 隐匿 ally blocks that enemy, `targeting.js areaSelectable` / `auraSelectable`, §22.12; an enemy's 隐匿 returns only 3 s after a block ends, or after its PRTS page's "(解除阻挡N秒后恢复)" — `stealthOff` buffs, `targeting.js enemyStealthed`, §22.8; an enemy's b.snap stealth bit is set only while its 隐匿 is on, §21.4), camou (an ally's 迷彩: like stealth for enemy targeting and on screen, but not 隐匿 for 隐匿 conditions — 叙拉古, 家族徽章; §20.2 — and an enemy's splash and other area effects still hit it, ba.camou "无法躲避溅射类攻击", §22.12), liftoff (an ally's 起飞, 蒂比's skills: it blocks flyers only and has 对地规避 — no ground enemy selects it, so no selected damage or status of one lands, while what selects nobody still does: `ignoreSelect` / 无来源 — 无视无法选择 abilities, direct picks, flying units' blasts, a debuff's ticks; it stays a ground unit on its tile; `targeting.js evadesGround`, §21.22), invulnerable, unblockable, levitate, fear (enemy: cannot attack, unblockable, runs to random tiles of the ±45° fan away from the source; no source or itself as source = inside its own tile — `fear.js`, §20.4), taunt (+aggro), cold, noHeal (no heals from others: 禁疗 summons and 孤立 units; an HP-regen attribute still applies — PRTS 安洁莉娜 备注), healFree (禁疗 that stops the unit's own heals too, shown as the status 'healFree': 史尔特尔's 余烬 sets it with noHeal — only an HP-regen attribute and her S3's "无视禁疗" start heal pass, §22.7), isolated (孤立: no friendly selector picks it — no heal, buff, aura or talent of an ally, `Battle.allySelectable`; §20.3)`. -- **Status catalogue** (`buffs.js`, keys used by content): `stun`, `freeze` (stun + res −15), `cold` (aspd −30; a second cold while cold ⇒ freeze 3 s unless immune), `sleep` (stun; ends on damage? no: in AK sleep = untargetable & unable to act; keep AK: untargetable & inactive), `slow` (moveMul), `bind` (moveMul 0), `fragile` (dmgTakenMul), `artsFragile` (artsTakenMul), `silence`, `fear` (the 恐惧 walk, `fear.js`), `burnGauge`/`necrosis`/`neural` element gauges (see damage), `stealth`, `camou` (迷彩, its own keys: 忍冬 S3 `vulpis:camou` until her next cast, 寒芒克洛丝 S1), `reveal`. +- **Status catalogue** (`buffs.js`, keys used by content): `stun`, `freeze` (stun + res −15), `cold` (aspd −30; a second cold while cold ⇒ freeze for the longer of the two unless immune — on an enemy the pair becomes the freeze, no cold left; SIM.md), `sleep` (stun; ends on damage? no: in AK sleep = untargetable & unable to act; keep AK: untargetable & inactive), `slow` (moveMul), `bind` (moveMul 0), `fragile` (dmgTakenMul), `artsFragile` (artsTakenMul), `silence`, `fear` (the 恐惧 walk, `fear.js`), `burnGauge`/`necrosis`/`neural` element gauges (see damage), `stealth`, `camou` (迷彩, its own keys: 忍冬 S3 `vulpis:camou` until her next cast, 寒芒克洛丝 S1), `reveal`. - Immunities from enemy data (`stunImmune`, `silenceImmune`, `sleepImmune`, `frozenImmune`, `levitateImmune`) are honoured by `applyStatus`; a unit both `invulnerable` and `untargetable` (a 重生, a 永久无敌 leader part) takes no status from the other side at all (PRTS 无敌 "无法被不同阵营选中", §21.19). Flag `selfBound` = 自缚 (守墓石像's 转换模式, the 自缚 leaders) beside its `noMove`: 余 S2 never teleports such a unit (束缚 sets `noMove` only). - Same-named debuffs on an enemy (奥术's arts damage taken, 灵知 坚冰, the 莱恩哈特 / 缄默德克萨斯 RES cuts): one instance per target whoever applies it, the strongest wins (`Battle.applyStrongest`; PRTS 作战机制 "同名buff…只能表现出一个" — strongest rather than latest [ASSUMED], §20.10). PRTS 盟约记录's current 奥术 note fits this under the default overlap; an equal re-hit refreshes the instance (an earlier PRTS wording forbade re-applying while one's own lasts) [ASSUMED, slightly stronger] (§21.7). diff --git a/server/sim/battle/status.js b/server/sim/battle/status.js index 6c9e03c2..b4aeefb0 100644 --- a/server/sim/battle/status.js +++ b/server/sim/battle/status.js @@ -135,7 +135,8 @@ export class BattleStatus { * handlers may cancel it or change `duration` / `value`. Official rules (buffs.js STATUS): 抵抗 (the `resist` status) * shortens the RESIST_STATUSES by its value (default half; applied after `beforeStatus`; `resistApplied` skips that * pass — the cold-on-cold 冻结 below already used post-抵抗 lengths). A second 寒冷 while 寒冷 remains applies 冻结 for - * max(remaining, this cold after 抵抗) (PRTS 术语释义 寒冷 「持续时间取双方之中最高」). 浮空 and 缚地 last half as long on units + * max(remaining, this cold after 抵抗) (PRTS 术语释义 寒冷 「持续时间取双方之中最高」); on an enemy (友方寒冷) the pair turns into + * that 冻结 and no 寒冷 is left (「两两一对产生友方冻结」). 浮空 and 缚地 last half as long on units * heavier than LEVITATE_HALF_WEIGHT (current massLevel); 冻结's RES cut hits enemies only; 麻痹 adds stacks; "同名效果取最高" * statuses (`valued`) keep the strongest value — a weaker application only extends past the stronger one's end (it * then resumes); `stackAs` = the value such an application competes with instead of its own (its effect stays @@ -193,11 +194,22 @@ export class BattleStatus { const prev = target.findBuff('cold'); const spans = [prev.timeLeft, duration].filter((t) => t === Infinity || (Number.isFinite(t) && t > 0)); const freezeFor = spans.length ? Math.max(...spans) : COLD_FREEZE_DURATION; - this.applyStatus(target, 'freeze', { + const froze = this.applyStatus(target, 'freeze', { duration: freezeFor, source: opts.source, force: opts.force, ...(spans.length ? { resistApplied: true } : {}), }); if (!target.alive) return false; + // 友方寒冷 — every cold on an enemy: the operators', summons', items', the 谢拉格 wind's — "始终需要两两一对产生友方冻结" + // (PRTS 术语释义 寒冷; 异常效果 COLD "在特定条件下转变为冻结"): the pair BECOMES the 冻结, so neither cold is left and a + // later single cold on the frozen enemy is a 寒冷 that needs its own partner. Until 0.2.0 the older cold stayed on, + // extended to the freeze's length, so any cold before it ran out froze again: the 谢拉格 wind alone (every 25 s, + // 20 + 0.1 × layers s of cold) froze an enemy for the rest of the battle from 51 layers on — wherever it stood — + // and never below (community reports of 2026-10-06 「谢拉格盟约冰冻时间没有随层数正确成长」, 「…被在无法被任何干员攻击 + // 到的地方永控」). A 敌方 cold (on an operator) keeps the old rule: PRTS 「…施加的敌方寒冷会变为敌方冻结」 names no pairing. + if (froze && target.side === 'enemy') { + this.removeBuff(target, 'cold'); + return true; + } } const source = opts.source ?? null; let entered = true; diff --git a/test/content/kits_t4.test.js b/test/content/kits_t4.test.js index 3a0b1c41..2f32ad02 100644 --- a/test/content/kits_t4.test.js +++ b/test/content/kits_t4.test.js @@ -503,7 +503,10 @@ test('灵知 S2: 130 % ATK arts + 2.5 s cold to all in range; fully charged cast assert.ok(h.runUntil(() => u.skill.activations >= 2, 20)); const starts = noisy(h, 'skillStart').filter((c) => c.unit === u).map((c) => c.t); const colds = (T) => noisy(h, 'statusApplied').filter((c) => c.source === u && c.status === 'cold' && c.duration === bb.cold && c.t === T).length; - assert.equal(colds(starts[0]), 4, 'charged: two colds on each of the two enemies'); + const freezes = (T) => noisy(h, 'statusApplied').filter((c) => c.source === u && c.status === 'freeze' && c.t === T).length; + // charged: two colds on each of the two enemies — each enemy's pair becomes one freeze (友方寒冷 「两两一对」, since 0.2.0) + assert.equal(colds(starts[0]), 2, 'charged: the first cold on each enemy lands as a cold'); + assert.equal(freezes(starts[0]), 2, 'charged: the second cold on each enemy turns the pair into a freeze'); assert.equal(colds(starts[1]), 2, 'single charge: one cold each'); // normal attacks chill for 1 s assert.ok(noisy(h, 'statusApplied').some((c) => c.source === u && c.status === 'cold' && c.duration === t0.cold)); diff --git a/test/golden/bonds.json b/test/golden/bonds.json index 95378549..5ad4c2f4 100644 --- a/test/golden/bonds.json +++ b/test/golden/bonds.json @@ -243,10 +243,10 @@ ["p1",8,"op","chess_char_4_14_b",1,"uniequip_002_lionhd",1626,1,1,0,0,0,0,0,0] ], "enemies": {"enemy_1229_darmy":[10,10,0,5798,104509],"enemy_1229_darmy_2":[7,7,0,8508,95800],"enemy_9007_acelem":[2,2,0,10581,179159]}, - "hooks": [1,29,2671,203,203,334,349,251,20,21,28,28,0,5846,650,12,19,0,1,20,4,2,0], - "events": {"atk":219,"deploy":10,"die":21,"dmg":349,"engage":4,"fx":38,"layer":4,"skill":56,"spawn":27,"status":180}, + "hooks": [1,29,2671,203,203,334,349,251,20,21,28,28,0,5846,612,12,19,0,1,20,4,2,0], + "events": {"atk":219,"deploy":10,"die":21,"dmg":349,"engage":4,"fx":38,"layer":4,"skill":56,"spawn":27,"status":210}, "fx": {"beam":2,"blink":1,"burst":2,"devour":4,"dilemma":2,"frostNova":21,"garrison":4,"swordStorm":2}, - "snaps": "dc07ebd5 330dc59a 16c11ec4 31534930 ee6a45b0 f5e9f95f 655d90e7 99850742 f75e1c85" + "snaps": "d3a47c30 c8110c29 933f2d47 a0510d0a 49445559 4fb97afa 601a7be9 0887f162 abf05606" }, "bond-emptyShip-low": { "about": "协防干员 low: tier 1 layers 1; chess_char_4_01_a chess_char_4_04_a chess_char_2_14_a chess_char_3_10_a chess_char_3_20_a chess_char_3_21_a chess_char_4_02_a chess_char_4_06_a", @@ -339,28 +339,28 @@ "rngDraws": 12, "errors": {"count":0,"kinds":[]}, "players": { - "p1": {"killed":18,"total":18,"perfect":true,"leaks":0,"leaksUncounted":0,"coins":0,"dmg":86976,"bossDmg":0,"heal":1522,"deaths":3,"layerGains":{"indomShip":2}} + "p1": {"killed":18,"total":18,"perfect":true,"leaks":0,"leaksUncounted":0,"coins":0,"dmg":86976,"bossDmg":0,"heal":1545,"deaths":3,"layerGains":{"indomShip":2}} }, "units": [ ["p1",1,"op","chess_char_1_20_a",1,null,1056.4,1,5,0,438,1142,0,26,0], ["p1",2,"op","chess_char_4_11_a",1,null,0,0,6,0,0,3002,0,0,1], ["p1",3,"op","chess_char_2_12_a",1,null,1107,1,34,1,410,1107,0,11,2], - ["p1",4,"op","chess_char_4_09_a",1,null,1978.85,1,9,7,40660,159,0,13,1], + ["p1",4,"op","chess_char_4_09_a",1,null,1978.85,1,9,8,39718,159,0,13,1], ["p1",5,"op","chess_char_4_10_a",1,null,1288,1,7,4,23229,0,0,17,1], - ["p1",6,"op","chess_char_4_12_a",2,null,1754,1,10,0,0,1522,1522,0,0], - ["p1",7,"op","chess_char_4_13_a",1,null,0,0,11,2,6857,1587,0,14,2], - ["p1",8,"op","chess_char_4_14_a",1,null,1276,1,4,4,15382,0,0,12,5], + ["p1",6,"op","chess_char_4_12_a",2,null,1754,1,10,0,0,1545,1545,0,0], + ["p1",7,"op","chess_char_4_13_a",1,null,0,0,11,1,7242,1587,0,14,2], + ["p1",8,"op","chess_char_4_14_a",1,null,1276,1,4,4,15938,0,0,12,5], ["p1",9,"token","token_10041_cathy_catsld",null,null,100,1,12,0,0,0,0,0,null], ["p1",10,"token","token_10041_cathy_catsld",null,null,100,1,13,0,0,0,0,0,null], ["-","~1","device","trap_1105_accrate",null,null,100,1,1,0,0,0,0,0,null], ["-","~2","device","trap_1105_accrate",null,null,100,1,2,0,0,0,0,0,null], ["-","~3","device","trap_1105_accrate",null,null,100,1,3,0,0,0,0,0,null] ], - "enemies": {"enemy_1158_divman":[15,15,0,2017,57024],"enemy_1160_hvyslr":[2,2,0,5010,23040],"enemy_1161_tidmag":[1,1,0,1491,6912]}, - "hooks": [1,32,2070,168,168,255,260,1042,21,21,12,12,0,6047,106,8,18,0,1,21,1,0,3], - "events": {"atk":215,"deploy":11,"die":21,"dmg":260,"engage":6,"fx":25,"layer":1,"skill":24,"spawn":31,"status":77}, + "enemies": {"enemy_1158_divman":[15,15,0,2052,57024],"enemy_1160_hvyslr":[2,2,0,4999,23040],"enemy_1161_tidmag":[1,1,0,1491,6912]}, + "hooks": [1,32,2070,171,171,262,267,1058,21,21,12,12,0,6047,103,8,18,0,1,21,1,0,3], + "events": {"atk":220,"deploy":11,"die":21,"dmg":267,"engage":6,"fx":25,"layer":1,"skill":24,"spawn":31,"status":88}, "fx": {"dilemma":1,"dodge":3,"explosion":5,"frostNova":2,"garrison":1,"levitate":7,"overclock":1,"shield":2,"slippery":1,"splash":2}, - "snaps": "01da0610 a11d4743 dacec57c 0fe89241 8359f8a8 3545ad4d 1d9e9ae3" + "snaps": "50aa73ae 0df6cf78 0121335c ab457333 b3f5b1ca 57fd8a43 2ad35d9b" }, "bond-indomShip-high": { "about": "不屈 high: tier 2 layers 999; chess_char_1_20_b chess_char_3_16_b chess_char_4_23_b chess_char_5_01_b chess_char_2_12_b chess_char_4_24_b chess_char_4_25_b chess_char_4_26_b", @@ -643,10 +643,10 @@ ["p1","~1","token","token_10015_dusk_drgn",null,null,0,0,12,2,1851,1997,0,6,null] ], "enemies": {"enemy_1267_nhpbr_2":[11,11,0,2576,69696],"enemy_1270_nhstlk_2":[4,4,0,0,73728],"enemy_1272_nhtank_2":[2,2,0,2135,34560]}, - "hooks": [1,26,2174,71,71,122,122,15,18,18,30,30,0,7789,1582,4,17,0,1,18,0,0,0], - "events": {"atk":75,"deploy":9,"die":18,"dmg":122,"engage":6,"fx":41,"heal":15,"skill":60,"spawn":26,"status":20}, + "hooks": [1,26,2174,71,71,122,122,15,18,18,30,30,0,7789,1580,4,17,0,1,18,0,0,0], + "events": {"atk":75,"deploy":9,"die":18,"dmg":122,"engage":6,"fx":41,"heal":15,"skill":60,"spawn":26,"status":22}, "fx": {"coldWind":2,"frostNova":3,"healAoe":4,"strike":9,"summon":1,"volley":9,"zone":13}, - "snaps": "90b7f22d b531ce35 48e44416 2d2a66ef cc7313d5 4d9e3653 54155731 bb5542b9" + "snaps": "90b7f22d b531ce35 fbce9828 6d380cb9 987fb042 7ad0629c b4438ae2 c77be816" }, "bond-lateranoShip-low": { "about": "拉特兰 low: tier 1 layers 1; chess_char_3_06_a chess_char_3_05_a chess_char_1_01_a chess_char_2_01_a chess_char_3_01_a chess_char_3_08_a chess_char_3_09_a chess_char_3_10_a", @@ -774,31 +774,31 @@ "total": 23, "unspawned": 0, "bossHpLeft": null, - "rngDraws": 182, + "rngDraws": 183, "errors": {"count":0,"kinds":[]}, - "players": {"p1":{"killed":23,"total":23,"perfect":true,"leaks":0,"leaksUncounted":0,"coins":0,"dmg":169484,"bossDmg":0,"heal":674,"deaths":0,"layerGains":{}}}, + "players": {"p1":{"killed":23,"total":23,"perfect":true,"leaks":0,"leaksUncounted":0,"coins":0,"dmg":169484,"bossDmg":0,"heal":918,"deaths":0,"layerGains":{}}}, "units": [ - ["p1",1,"op","chess_char_5_19_b",2,"uniequip_002_mlynar",3907,1,5,2,22094,0,0,16,2], - ["p1",2,"op","chess_char_5_17_b",1,"uniequip_002_f12yin",2738,1,7,3,24,0,0,22,1], - ["p1",3,"op","chess_char_6_11_b",2,"uniequip_002_mlyss",1893,1,8,1,19652,0,0,64,2], - ["p1",4,"op","chess_char_1_03_a",1,null,1041,1,11,2,20886,0,0,32,1], - ["p1",5,"op","chess_char_2_04_a",1,null,977,1,12,1,17220,0,0,42,2], - ["p1",6,"op","chess_char_5_15_b",1,"uniequip_002_thorn2",1170,1,4,7,49407,0,0,13,6], - ["p1",7,"op","chess_char_5_20_b",2,"uniequip_002_aglina",1382,1,6,0,4497,0,0,11,2], - ["p1",8,"op","chess_char_5_21_b",1,"uniequip_002_sntlla",1629,1,10,2,26696,0,0,80,2], - ["p1",9,"token","token_10030_mlyss_wtrman",null,null,1041,1,9,4,4734,350,350,32,1], + ["p1",1,"op","chess_char_5_19_b",2,"uniequip_002_mlynar",3907,1,5,2,20760,0,0,16,2], + ["p1",2,"op","chess_char_5_17_b",1,"uniequip_002_f12yin",2738,1,7,6,26,0,0,24,1], + ["p1",3,"op","chess_char_6_11_b",2,"uniequip_002_mlyss",1893,1,8,2,20088,0,0,63,2], + ["p1",4,"op","chess_char_1_03_a",1,null,1041,1,11,0,20718,0,0,32,1], + ["p1",5,"op","chess_char_2_04_a",1,null,977,1,12,0,17111,0,0,42,2], + ["p1",6,"op","chess_char_5_15_b",1,"uniequip_002_thorn2",1170,1,4,7,49511,0,0,13,6], + ["p1",7,"op","chess_char_5_20_b",2,"uniequip_002_aglina",1382,1,6,0,6235,0,0,12,2], + ["p1",8,"op","chess_char_5_21_b",1,"uniequip_002_sntlla",1629,1,10,1,26296,0,0,78,2], + ["p1",9,"token","token_10030_mlyss_wtrman",null,null,1041,1,9,4,4735,350,350,32,1], ["-","~1","device","trap_1105_accrate",null,null,100,1,1,0,0,0,0,0,null], ["-","~2","device","trap_1105_accrate",null,null,100,1,2,0,0,0,0,0,null], ["-","~3","device","trap_1105_accrate",null,null,100,1,3,0,0,0,0,0,null], - ["p1","~1","token","token_10030_mlyss_wtrman",null,null,280.96,0,24,1,2110,1084,324,12,null], - ["p1","~2","token","token_10030_mlyss_wtrman",null,null,1041,0,33,0,1962,0,0,12,null], - ["p1","~3","token","token_10030_mlyss_wtrman",null,null,1041,1,39,0,203,0,0,3,null] + ["p1","~1","token","token_10030_mlyss_wtrman",null,null,770.53,0,24,1,2110,594,324,12,null], + ["p1","~2","token","token_10030_mlyss_wtrman",null,null,1041,0,33,0,1692,0,0,12,null], + ["p1","~3","token","token_10030_mlyss_wtrman",null,null,1041,1,39,0,203,245,245,3,null] ], - "enemies": {"enemy_1288_duskls":[11,11,0,210,63415],"enemy_1288_duskls_2":[7,7,0,0,48419],"enemy_1292_duskld":[5,5,0,1224,57650]}, - "hooks": [1,38,2463,282,321,531,531,506,23,25,19,15,0,11343,240,30,23,0,1,53,0,0,0], - "events": {"atk":345,"deploy":12,"die":25,"dmg":531,"engage":12,"fx":192,"skill":34,"spawn":38,"status":429}, - "fx": {"aoe":2,"copy":1,"crit":4,"dp":2,"ember":23,"iceSpike":64,"palsy":2,"sleep":3,"split":3,"weightless":2,"zone":86}, - "snaps": "d611730f 72f36081 20e513c9 9b1492ea 30a7bcff a2282bf5 ab6d9c8c 510e3001 1eb34354" + "enemies": {"enemy_1288_duskls":[11,11,0,210,63415],"enemy_1288_duskls_2":[7,7,0,0,48419],"enemy_1292_duskld":[5,5,0,979,57650]}, + "hooks": [1,38,2463,281,322,534,534,690,23,25,19,15,0,11343,224,30,23,0,1,53,0,0,0], + "events": {"atk":343,"deploy":12,"die":25,"dmg":534,"engage":12,"fx":203,"skill":34,"spawn":38,"status":433}, + "fx": {"aoe":2,"copy":1,"crit":5,"dp":2,"ember":23,"iceSpike":64,"palsy":3,"sleep":3,"split":3,"weightless":2,"zone":95}, + "snaps": "d611730f 371d975e 057c8cdc 79f3b478 b676e20c 91c8a53e 752b45c3 88c89b4b 878332b3" }, "bond-miraShip-low": { "about": "奇迹 low: tier 1 layers 1; chess_char_4_01_a chess_char_2_11_a chess_char_3_18_a chess_char_3_01_a chess_char_3_17_a chess_char_3_20_a chess_char_3_21_a chess_char_4_02_a", @@ -964,14 +964,14 @@ "round": 5, "seed": 806507299, "waveId": "act1autochess_05", - "time": 53.63, - "ticks": 1609, + "time": 52.03, + "ticks": 1561, "reason": "cleared", "killed": 17, "total": 17, "unspawned": 0, "bossHpLeft": null, - "rngDraws": 18, + "rngDraws": 19, "errors": {"count":0,"kinds":[]}, "players": { "p1": { @@ -983,28 +983,28 @@ "coins": 0, "dmg": 126144, "bossDmg": 0, - "heal": 2433, + "heal": 3118, "deaths": 0, "layerGains": {"preciShip":4,"raidShip":1} } }, "units": [ ["p1",1,"op","chess_char_4_17_a",1,null,2849,1,3,0,0,0,0,0,0], - ["p1",2,"op","chess_char_4_18_a",1,null,4573.65,1,5,2,16944,46,33,15,2], + ["p1",2,"op","chess_char_4_18_a",1,null,3805.4,1,5,2,17633,1500,718,14,3], ["p1",3,"op","chess_char_2_09_a",1,null,2047.24,1,17,3,21927,0,0,26,1], ["p1",4,"op","chess_char_4_19_a",2,null,1274.82,1,9,1,20722,285,0,27,1], ["p1",5,"op","chess_char_1_18_a",1,null,3101.37,1,14,5,40597,4523,2400,48,3], - ["p1",6,"op","chess_char_4_13_a",1,null,1587,1,4,1,9843,0,0,15,4], + ["p1",6,"op","chess_char_4_13_a",1,null,1587,1,4,1,9154,0,0,14,4], ["p1",7,"op","chess_char_4_14_a",1,null,1276,1,6,0,0,0,0,0,0], ["p1",8,"op","chess_char_4_20_a",2,null,1217,1,8,5,16110,0,0,15,0], ["-","~1","device","trap_1105_accrate",null,null,100,1,1,0,0,0,0,0,null], ["-","~2","device","trap_1105_accrate",null,null,100,1,2,0,0,0,0,0,null] ], - "enemies": {"enemy_1116_liprr":[11,11,0,229,69696],"enemy_1116_liprr_2":[4,4,0,812,34560],"enemy_1118_lidbox_2":[2,2,0,19,21888]}, - "hooks": [1,30,1609,188,188,223,219,80,17,20,11,11,0,4826,251,18,17,0,1,17,2,0,7], - "events": {"atk":202,"deploy":11,"die":20,"dmg":205,"engage":6,"fx":47,"heal":49,"layer":2,"skill":24,"spawn":27,"status":68}, - "fx": {"aoe":3,"blink":3,"dodge":7,"flame":1,"frostNova":4,"garrison":2,"garrisonGrant":1,"liberate":2,"phase":11,"riposte":7,"rockslide":2,"shieldBreak":4}, - "snaps": "0d70c7b9 c3f43a03 eb2f3dd4 ab905094 8c230eb4 44f76984" + "enemies": {"enemy_1116_liprr":[11,11,0,216,69696],"enemy_1116_liprr_2":[4,4,0,812,34560],"enemy_1118_lidbox_2":[2,2,0,1487,21888]}, + "hooks": [1,30,1561,189,189,224,220,81,17,20,12,12,0,4733,233,18,17,0,1,17,2,0,7], + "events": {"atk":204,"deploy":11,"die":20,"dmg":206,"engage":6,"fx":49,"heal":51,"layer":2,"skill":26,"spawn":27,"status":74}, + "fx": {"aoe":3,"blink":3,"dodge":7,"flame":1,"frostNova":4,"garrison":2,"garrisonGrant":1,"liberate":3,"phase":11,"riposte":7,"rockslide":3,"shieldBreak":4}, + "snaps": "0d70c7b9 c3f43a03 eb2f3dd4 82cb8790 8ef743dc 84dbbce3" }, "bond-raidShip-high": { "about": "突袭 high: tier 1 layers 999; chess_char_4_17_b chess_char_4_18_b chess_char_2_09_b chess_char_4_19_b chess_char_1_18_b chess_char_4_14_b chess_char_4_20_b chess_char_4_21_b", @@ -1434,10 +1434,10 @@ ["-","~2","device","trap_1105_accrate",null,null,100,1,2,0,0,0,0,0,null] ], "enemies": {"enemy_1251_lysyta_2":[19,19,0,79,70042],"enemy_1252_lysytb_2":[7,7,0,2316,72576],"enemy_1329_cbshld_2":[4,4,0,2771,59904]}, - "hooks": [1,40,3191,225,240,377,391,51,30,30,56,53,0,14185,60,5,30,0,1,30,0,1,0], - "events": {"atk":263,"deploy":8,"die":30,"dmg":391,"engage":4,"fx":159,"heal":51,"skill":109,"spawn":40,"status":124}, + "hooks": [1,40,3191,225,240,377,391,51,30,30,56,53,0,14185,56,5,30,0,1,30,0,1,0], + "events": {"atk":263,"deploy":8,"die":30,"dmg":391,"engage":4,"fx":159,"heal":51,"skill":109,"spawn":40,"status":125}, "fx": {"aoe":9,"burst":1,"counter":8,"displace":32,"heal":34,"iceSpike":34,"ripple":16,"shadowWeave":20,"soul":1,"stealth":4}, - "snaps": "b3fec5d9 59ebb356 f6c49df8 b0ccf7af 62c8dda5 b2395e6d c9ac5b2d ba1a3b30 8fdcb250 a569e923 bef004e5" + "snaps": "b3fec5d9 59ebb356 f6c49df8 b0ccf7af 62c8dda5 3a863bbd 50ac1c3d 43f23780 24dda360 7d2392b3 1893caf5" }, "bond-suntShip-low": { "about": "绝技 low: tier 1 layers 1; chess_char_1_02_b chess_char_4_17_a chess_char_4_18_a chess_char_4_16_a chess_char_1_01_b chess_char_4_12_a chess_char_4_13_a chess_char_4_14_a", @@ -1472,10 +1472,10 @@ ["-","~3","device","trap_1105_accrate",null,null,100,1,3,0,0,0,0,0,null] ], "enemies": {"enemy_1249_lysdb_2":[5,5,0,604,34560],"enemy_1251_lysyta":[15,15,0,182,47520],"enemy_1328_cbjedi":[1,1,0,1214,11520]}, - "hooks": [1,32,1676,172,172,236,227,6,23,22,14,13,20,6028,526,14,21,0,1,23,0,0,0], - "events": {"atk":172,"deploy":8,"die":22,"dmg":223,"engage":6,"fx":47,"heal":1,"skill":29,"spawn":32,"status":95}, + "hooks": [1,32,1676,172,172,236,227,6,23,22,14,13,20,6028,516,14,21,0,1,23,0,0,0], + "events": {"atk":172,"deploy":8,"die":22,"dmg":223,"engage":6,"fx":47,"heal":1,"skill":29,"spawn":32,"status":100}, "fx": {"block":4,"explosion":3,"frostNova":6,"rockslide":1,"shieldBreak":9,"swordRain":12,"swordStorm":2,"thorns":10}, - "snaps": "241cb7e7 200c57ef 750b6538 d28f7020 aabda1e3 274206d2" + "snaps": "a178d904 2983cdc8 139d44ee 251a06de abba8bb0 de2ac2c1" }, "bond-suntShip-high": { "about": "绝技 high: tier 2 layers 999; chess_char_1_02_b chess_char_1_04_b chess_char_4_19_a chess_char_1_01_b chess_char_1_03_b chess_char_1_06_b chess_char_4_20_a chess_char_4_21_a", diff --git a/test/golden/fields.json b/test/golden/fields.json index 35fc2c3b..13850933 100644 --- a/test/golden/fields.json +++ b/test/golden/fields.json @@ -145,7 +145,7 @@ "rngDraws": 861, "errors": {"count":0,"kinds":[]}, "players": { - "p1": {"killed":7,"total":8,"perfect":true,"leaks":0,"leaksUncounted":0,"coins":0,"dmg":591887,"bossDmg":312274,"heal":19641,"deaths":0,"layerGains":{}}, + "p1": {"killed":7,"total":8,"perfect":true,"leaks":0,"leaksUncounted":0,"coins":0,"dmg":591887,"bossDmg":312274,"heal":19990,"deaths":0,"layerGains":{}}, "p2": {"killed":0,"total":0,"perfect":false,"leaks":1,"leaksUncounted":0,"coins":0,"dmg":878330,"bossDmg":361136,"heal":6843,"deaths":1,"layerGains":{}} }, "units": [ @@ -153,10 +153,10 @@ ["p1",2,"op","chess_char_4_01_b",2,"uniequip_002_rmixer",5482.35,1,11,0,723,12906,183,34,1], ["p1",3,"op","chess_char_5_14_b",1,"none",1994,1,7,0,26692,1028,261,54,14], ["p1",4,"op","chess_char_5_17_b",1,"uniequip_002_f12yin",2738,1,13,0,13640,0,0,80,1], - ["p1",5,"op","chess_char_5_15_b",1,"uniequip_002_thorn2",1170,1,1,0,59962,0,1515,33,6], + ["p1",5,"op","chess_char_5_15_b",1,"uniequip_002_thorn2",1170,1,1,0,59962,0,1824,33,6], ["p1",6,"op","chess_char_5_20_b",2,"uniequip_002_aglina",2418.5,1,3,0,72626,0,0,43,4], ["p1",7,"op","chess_char_5_21_b",1,"uniequip_002_sntlla",2769.3,1,17,0,28364,0,0,57,3], - ["p1",8,"op","chess_char_5_22_b",1,"uniequip_002_nymph",1611,1,19,4,174454,2047,1463,57,21], + ["p1",8,"op","chess_char_5_22_b",1,"uniequip_002_nymph",1611,1,19,4,174454,2396,1503,57,21], ["p1",9,"op","chess_char_5_23_b",1,"uniequip_002_reckpr",1610,1,5,0,0,0,16175,20,3], ["p1",10,"op","chess_char_4_02_b",2,"uniequip_002_mostma",1695,1,15,0,38923,1393,44,40,2], ["p2",11,"op","chess_char_4_11_b",1,"uniequip_002_cathy",599.39,1,12,0,0,3929,1201,0,2], @@ -172,11 +172,11 @@ ["p2",21,"token","token_10041_cathy_catsld",null,null,100,1,21,0,0,0,0,0,null], ["p2",22,"token","token_10041_cathy_catsld",null,null,100,1,22,0,0,0,0,0,null] ], - "enemies": {"enemy_1005_yokai_2":[6,6,0,3187,62190],"enemy_1430_lrrook":[2,1,1,0,734721],"enemy_9017_achunt":[2,0,0,30243,676506]}, - "hooks": [1,46,6000,1359,1379,2883,2933,5284,9,22,136,129,20,37832,1034,0,10,1,1,9,0,12,0], - "events": {"atk":1384,"deploy":36,"die":21,"dmg":2925,"engage":17,"fx":608,"heal":50,"leak":1,"skill":265,"spawn":32,"status":505}, + "enemies": {"enemy_1005_yokai_2":[6,6,0,3536,62190],"enemy_1430_lrrook":[2,1,1,0,734721],"enemy_9017_achunt":[2,0,0,30243,676506]}, + "hooks": [1,46,6000,1360,1380,2884,2934,5316,9,22,136,129,20,37832,1031,0,10,1,1,9,0,12,0], + "events": {"atk":1385,"deploy":36,"die":21,"dmg":2926,"engage":17,"fx":608,"heal":52,"leak":1,"skill":265,"spawn":32,"status":510}, "fx": {"aoe":38,"appear":2,"blink":13,"burst":12,"catShield":1,"charge":6,"counter":20,"crit":105,"dilemma":3,"disappear":2,"explosion":17,"frostNova":26,"garrisonGrant":1,"iceSpike":53,"overclock":2,"pull":3,"quadShot":2,"ripple":20,"sentry":5,"sermon":1,"shadowWeave":10,"shield":5,"soul":6,"sp":8,"stealth":8,"swordRain":91,"swordStorm":10,"tornado":4,"tornadoPulse":16,"weightless":4,"zone":114}, - "snaps": "8c0abe54 9b607288 336a3889 ab855b37 55a7f144 2239f0b8 855b08a6 d6883aa1 06da7541 da586a98 f0803d88 8d33a16a c1c54b58 68e1874e a0524730 737daaf0 ebd64be9 ec096e18 d99e1d14 bf343ba5" + "snaps": "8c0abe54 9b607288 1caf7332 0a2c806b 7150cfeb d45d0ed9 229f0fc6 ef6d1f81 e2e85ea0 26f10b0b 0c82b27e 47c4ad4c df8430ce d95002b8 6dd882d2 f5a00286 2fc6c867 1819614e fccc3872 e186462f" }, "boss-boss_2-solo": { "about": "假想敌:铳 solo pool 3000000: chess_char_4_17_b chess_char_4_18_b chess_char_4_23_b chess_char_4_19_b chess_char_4_22_b chess_char_4_20_b chess_char_4_21_b chess_char_4_24_b chess_char_4_25_b chess_char_4_26_b", @@ -285,8 +285,8 @@ "enemy_9021_acduml": [1,0,0,0,3967611], "enemy_9023_acdums": [9,9,0,8178,90] }, - "hooks": [1,62,6000,1512,1512,3171,3572,2628,22,35,63,56,376,44379,1588,4,22,0,1,22,0,1,0], - "events": {"atk":1661,"deploy":36,"die":35,"dmg":3271,"engage":16,"fx":1035,"heal":306,"skill":119,"spawn":60,"status":513}, + "hooks": [1,62,6000,1512,1512,3171,3572,2628,22,35,63,56,376,44379,1584,4,22,0,1,22,0,1,0], + "events": {"atk":1661,"deploy":36,"die":35,"dmg":3271,"engage":16,"fx":1035,"heal":306,"skill":119,"spawn":60,"status":519}, "fx": { "airstrike": 135, "appear": 1, @@ -325,7 +325,7 @@ "tide": 5, "wanted": 3 }, - "snaps": "b5e578c7 08019f4b 2414497e e8ccf404 0a757964 27f19ffa dc979221 9a9cddad 37887448 9597c3ad 3331f98b 22dca952 01026ee5 afe32a6d 65ca8fec ed617f42 3ed37aad 2975ad94 80313e62 c870870c" + "snaps": "b5e578c7 08019f4b 2414497e e8ccf404 0a757964 a1e1a108 766c49bb 42a0f7bf 4ab4ee92 baafc50f 71374321 d99741b8 6939e25f 11cb9d37 e4d4d272 1455437c d6d6385b 0fde215a 7209ff54 add76416" }, "boss-boss_3-solo": { "about": "假想敌:管 solo pool 2000000: chess_char_5_08_b chess_char_5_11_b chess_char_5_05_b chess_char_5_06_b chess_char_5_13_b chess_char_5_07_b chess_char_5_02_b chess_char_5_03_b chess_char_5_10_b chess_char_5_12_b", @@ -390,81 +390,81 @@ "time": 200, "ticks": 6000, "reason": "forced", - "killed": 9, + "killed": 10, "total": 14, "unspawned": 0, - "bossHpLeft": 7601883, - "rngDraws": 496, + "bossHpLeft": 7418083, + "rngDraws": 723, "errors": {"count":0,"kinds":[]}, "players": { - "p1": {"killed":9,"total":14,"perfect":false,"leaks":3,"leaksUncounted":0,"coins":0,"dmg":832066,"bossDmg":272991,"heal":24644,"deaths":21,"layerGains":{}}, - "p2": {"killed":0,"total":0,"perfect":false,"leaks":2,"leaksUncounted":0,"coins":0,"dmg":815098,"bossDmg":525125,"heal":3151,"deaths":24,"layerGains":{}} + "p1": {"killed":10,"total":14,"perfect":false,"leaks":2,"leaksUncounted":0,"coins":0,"dmg":946762,"bossDmg":312073,"heal":31167,"deaths":17,"layerGains":{}}, + "p2": {"killed":0,"total":0,"perfect":false,"leaks":2,"leaksUncounted":0,"coins":0,"dmg":980778,"bossDmg":669844,"heal":5569,"deaths":17,"layerGains":{}} }, "units": [ - ["p1",1,"op","chess_char_5_19_b",2,"uniequip_002_mlynar",0,0,51,3,138264,7838,24,22,1], - ["p1",2,"op","chess_char_4_01_b",2,"uniequip_002_rmixer",0,0,5,0,16815,6179,893,10,1], - ["p1",3,"op","chess_char_5_14_b",1,"none",0,0,62,0,49407,10951,912,3,8], - ["p1",4,"op","chess_char_5_17_b",1,"uniequip_002_f12yin",0,0,59,0,4545,12126,187,2,1], - ["p1",5,"op","chess_char_5_15_b",1,"uniequip_002_thorn2",751.16,1,66,2,302889,4343,4325,83,13], - ["p1",6,"op","chess_char_5_20_b",2,"uniequip_002_aglina",0,0,60,1,81029,10790,504,39,4], - ["p1",7,"op","chess_char_5_21_b",1,"uniequip_002_sntlla",0,0,19,0,91590,2005,24,110,3], - ["p1",8,"op","chess_char_5_22_b",1,"uniequip_002_nymph",0,0,56,2,61149,3914,692,30,11], - ["p1",9,"op","chess_char_5_23_b",1,"uniequip_002_reckpr",0,0,57,0,0,4410,17059,32,3], - ["p1",10,"op","chess_char_4_02_b",2,"uniequip_002_mostma",0,0,15,0,86379,2071,24,36,2], - ["p2",11,"op","chess_char_4_11_b",1,"uniequip_002_cathy",0,0,50,0,0,6877,135,0,1], - ["p2",12,"op","chess_char_4_04_b",1,"uniequip_002_ines",1827.12,1,68,0,125101,9355,115,125,6], - ["p2",13,"op","chess_char_4_07_b",1,"uniequip_002_bpipe",0,0,65,0,26395,7425,67,37,9], - ["p2",14,"op","chess_char_4_16_b",2,"uniequip_002_texas2",0,0,63,0,103636,9247,100,151,6], - ["p2",15,"op","chess_char_4_09_b",1,"uniequip_002_mizuki",0,0,55,0,185661,6408,233,40,4], - ["p2",16,"op","chess_char_4_06_b",1,"uniequip_002_kroos2",0,0,58,0,114013,3511,389,114,2], - ["p2",17,"op","chess_char_4_10_b",1,"uniequip_002_aroma",0,0,14,0,0,3417,24,0,0], - ["p2",18,"op","chess_char_4_12_b",2,"uniequip_002_glady",0,0,64,0,61768,6768,1277,69,4], - ["p2",19,"op","chess_char_4_13_b",1,"uniequip_002_gnosis",0,0,61,0,53260,4339,361,56,16], - ["p2",20,"op","chess_char_4_14_b",1,"uniequip_002_lionhd",0,0,67,1,145265,3703,451,68,13], + ["p1",1,"op","chess_char_5_19_b",2,"uniequip_002_mlynar",0,0,51,1,157727,7838,24,25,1], + ["p1",2,"op","chess_char_4_01_b",2,"uniequip_002_rmixer",344.1,1,60,0,15997,10807,1125,12,2], + ["p1",3,"op","chess_char_5_14_b",1,"none",815.82,1,59,0,49358,8415,1413,7,9], + ["p1",4,"op","chess_char_5_17_b",1,"uniequip_002_f12yin",1557.9,1,55,0,12446,18483,997,15,2], + ["p1",5,"op","chess_char_5_15_b",1,"uniequip_002_thorn2",804.59,1,63,1,358541,4299,4795,86,18], + ["p1",6,"op","chess_char_5_20_b",2,"uniequip_002_aglina",270.47,1,58,1,77324,10496,548,39,4], + ["p1",7,"op","chess_char_5_21_b",1,"uniequip_002_sntlla",0,0,19,0,93116,2214,24,125,4], + ["p1",8,"op","chess_char_5_22_b",1,"uniequip_002_nymph",1147.01,1,67,5,75514,2539,464,41,13], + ["p1",9,"op","chess_char_5_23_b",1,"uniequip_002_reckpr",0,0,56,0,0,4347,21753,37,3], + ["p1",10,"op","chess_char_4_02_b",2,"uniequip_002_mostma",0,0,15,1,106739,2280,24,43,2], + ["p2",11,"op","chess_char_4_11_b",1,"uniequip_002_cathy",0,0,50,0,0,6878,136,0,1], + ["p2",12,"op","chess_char_4_04_b",1,"uniequip_002_ines",528.54,1,49,1,191489,6393,467,208,7], + ["p2",13,"op","chess_char_4_07_b",1,"uniequip_002_bpipe",1821.75,1,62,0,29931,5595,163,42,10], + ["p2",14,"op","chess_char_4_16_b",2,"uniequip_002_texas2",1222.07,1,61,0,98187,8045,120,158,6], + ["p2",15,"op","chess_char_4_09_b",1,"uniequip_002_mizuki",0,0,54,0,197024,6565,199,42,4], + ["p2",16,"op","chess_char_4_06_b",1,"uniequip_002_kroos2",0,0,57,0,178520,3774,652,160,3], + ["p2",17,"op","chess_char_4_10_b",1,"uniequip_002_aroma",1983,1,65,0,0,3629,120,0,0], + ["p2",18,"op","chess_char_4_12_b",2,"uniequip_002_glady",2232,1,68,0,60857,5981,2197,68,4], + ["p2",19,"op","chess_char_4_13_b",1,"uniequip_002_gnosis",1875.83,1,64,0,60481,3154,1052,66,20], + ["p2",20,"op","chess_char_4_14_b",1,"uniequip_002_lionhd",1194.87,1,66,0,164289,2521,464,69,14], ["p2",21,"token","token_10041_cathy_catsld",null,null,100,1,21,0,0,0,0,0,null], ["p2",22,"token","token_10041_cathy_catsld",null,null,100,1,22,0,0,0,0,0,null] ], - "enemies": {"enemy_1010_demon":[4,4,0,1913,200612],"enemy_1438_dspred":[10,5,5,22724,648434],"enemy_1521_dslily":[1,0,0,93299,798117]}, - "hooks": [1,66,6000,1002,1068,2527,2646,4783,54,61,108,107,10,27478,1110,16,15,5,1,57,0,24,2], - "events": {"atk":1226,"deploy":51,"die":56,"dmg":2639,"engage":17,"fx":653,"heal":160,"leak":5,"skill":215,"spawn":37,"status":755}, + "enemies": {"enemy_1010_demon":[4,4,0,1913,200612],"enemy_1438_dspred":[10,6,4,20172,745010],"enemy_1521_dslily":[1,0,0,94369,981917]}, + "hooks": [1,66,6000,1206,1271,2953,3079,6871,44,50,127,126,12,31139,1047,20,15,4,1,45,0,28,5], + "events": {"atk":1435,"deploy":51,"die":46,"dmg":3070,"engage":17,"fx":778,"heal":172,"leak":4,"skill":253,"spawn":37,"status":915}, "fx": { - "aoe": 21, + "aoe": 25, "appear": 9, "blink": 2, - "burst": 24, - "charge": 9, - "counter": 10, - "crit": 44, + "burst": 28, + "charge": 10, + "counter": 12, + "crit": 70, "dilemma": 4, "disappear": 9, "displace": 28, - "dodge": 2, - "explosion": 13, - "frostNova": 16, + "dodge": 5, + "explosion": 14, + "frostNova": 20, "grow": 1, - "iceSpike": 88, + "iceSpike": 96, "overclock": 1, - "pull": 4, - "quadShot": 2, - "ripple": 9, - "rockfall": 11, - "sentry": 4, - "sermon": 1, - "shadowWeave": 5, - "shield": 3, - "soul": 3, - "sp": 9, - "stealth": 6, - "swordRain": 40, + "pull": 3, + "quadShot": 3, + "ripple": 14, + "rockfall": 16, + "sentry": 2, + "sermon": 2, + "shadowWeave": 4, + "shield": 6, + "soul": 4, + "sp": 14, + "stealth": 7, + "swordRain": 33, "swordStorm": 6, "tentacle": 6, "tide": 5, "tornado": 4, "tornadoPulse": 20, "weightless": 4, - "zone": 230 + "zone": 291 }, - "snaps": "9d889e0e f29df90d 7a4bf6fc 19fe1302 bbe35359 e3aae426 3f978616 3d9f6e1d dcc49f9b e2e26bac eaf0159e 0d0a2271 04949e73 baad20e5 dca9ced6 a4351d0b b4846197 afc80a44 a6e80893 96d194a3" + "snaps": "9d889e0e 2aa8b0fc 4b2e8efe 3a3c3335 76401bbc e8cb8ca7 f65dfe04 aaebcccb 230682b6 b3a35bad 5f6d205f 59ffd5f8 f32e1239 5317e329 4b391d96 9fdff2de 4327b8af 25366f9c cfa1a030 f723ad32" }, "boss-boss_4-solo": { "about": "盐风主教昆图斯 solo pool 4200000: chess_char_4_17_b chess_char_4_18_b chess_char_4_23_b chess_char_4_19_b chess_char_4_22_b chess_char_4_20_b chess_char_4_21_b chess_char_4_24_b chess_char_4_25_b chess_char_4_26_b", @@ -670,83 +670,83 @@ "killed": 4, "total": 6, "unspawned": 0, - "bossHpLeft": 6660590, - "rngDraws": 559, + "bossHpLeft": 6954318, + "rngDraws": 552, "errors": {"count":0,"kinds":[]}, "players": { - "p1": {"killed":4,"total":6,"perfect":false,"leaks":1,"leaksUncounted":0,"coins":0,"dmg":1051226,"bossDmg":642651,"heal":3896,"deaths":5,"layerGains":{}}, - "p2": {"killed":0,"total":0,"perfect":false,"leaks":1,"leaksUncounted":0,"coins":0,"dmg":1151422,"bossDmg":656759,"heal":1055,"deaths":12,"layerGains":{}} + "p1": {"killed":4,"total":6,"perfect":false,"leaks":1,"leaksUncounted":0,"coins":0,"dmg":847634,"bossDmg":395229,"heal":818,"deaths":7,"layerGains":{}}, + "p2": {"killed":0,"total":0,"perfect":false,"leaks":1,"leaksUncounted":0,"coins":0,"dmg":1162932,"bossDmg":610453,"heal":1435,"deaths":14,"layerGains":{}} }, "units": [ - ["p1",1,"op","chess_char_5_19_b",2,"uniequip_002_mlynar",3907,1,3,2,107043,0,0,26,3], + ["p1",1,"op","chess_char_5_19_b",2,"uniequip_002_mlynar",3907,1,3,2,137783,0,0,32,2], ["p1",2,"op","chess_char_4_01_b",2,"uniequip_002_rmixer",3537,1,1,0,0,0,0,0,0], - ["p1",3,"op","chess_char_5_14_b",1,"none",1994,1,5,0,38065,0,0,0,13], - ["p1",4,"op","chess_char_5_17_b",1,"uniequip_002_f12yin",4654.6,1,11,0,2464,0,0,3,1], - ["p1",5,"op","chess_char_5_15_b",1,"uniequip_002_thorn2",1170,1,7,2,332249,0,1482,73,12], - ["p1",6,"op","chess_char_5_20_b",2,"uniequip_002_aglina",1382,1,13,0,198299,0,0,75,6], - ["p1",7,"op","chess_char_5_21_b",1,"uniequip_002_sntlla",0,0,15,0,28901,1629,0,50,2], - ["p1",8,"op","chess_char_5_22_b",1,"uniequip_002_nymph",0,0,47,0,287701,3222,0,85,28], - ["p1",9,"op","chess_char_5_23_b",1,"uniequip_002_reckpr",0,0,49,0,2900,3220,2414,4,1], - ["p1",10,"op","chess_char_4_02_b",2,"uniequip_002_mostma",1695,1,9,0,53605,0,0,40,2], - ["p2",11,"op","chess_char_4_11_b",1,"uniequip_002_cathy",2644,1,46,0,0,12182,281,0,1], - ["p2",12,"op","chess_char_4_04_b",1,"uniequip_002_ines",0,0,41,0,136097,9003,729,279,6], + ["p1",3,"op","chess_char_5_14_b",1,"none",1994,1,5,0,55921,0,0,0,14], + ["p1",4,"op","chess_char_5_17_b",1,"uniequip_002_f12yin",4654.6,1,11,0,0,0,0,0,1], + ["p1",5,"op","chess_char_5_15_b",1,"uniequip_002_thorn2",1170,1,7,0,262312,0,0,69,10], + ["p1",6,"op","chess_char_5_20_b",2,"uniequip_002_aglina",1382,1,13,0,182427,0,0,73,6], + ["p1",7,"op","chess_char_5_21_b",1,"uniequip_002_sntlla",1629,1,55,2,34515,1629,0,47,2], + ["p1",8,"op","chess_char_5_22_b",1,"uniequip_002_nymph",0,0,56,0,121284,4833,0,40,12], + ["p1",9,"op","chess_char_5_23_b",1,"uniequip_002_reckpr",0,0,57,0,1934,5648,818,2,1], + ["p1",10,"op","chess_char_4_02_b",2,"uniequip_002_mostma",1695,1,9,0,51458,0,0,38,2], + ["p2",11,"op","chess_char_4_11_b",1,"uniequip_002_cathy",2644,1,43,0,0,12182,281,0,1], + ["p2",12,"op","chess_char_4_04_b",1,"uniequip_002_ines",0,0,50,0,185732,9124,851,264,6], ["p2",13,"op","chess_char_4_07_b",1,"uniequip_002_bpipe",2383,1,6,0,0,0,0,0,0], - ["p2",14,"op","chess_char_4_16_b",2,"uniequip_002_texas2",1619,1,43,0,57804,9849,44,187,5], - ["p2",15,"op","chess_char_4_09_b",1,"uniequip_002_mizuki",2777.6,1,14,0,239542,0,0,118,6], - ["p2",16,"op","chess_char_4_06_b",1,"uniequip_002_kroos2",1561,1,8,0,456796,0,0,132,2], + ["p2",14,"op","chess_char_4_16_b",2,"uniequip_002_texas2",0,0,58,0,61676,11022,256,126,7], + ["p2",15,"op","chess_char_4_09_b",1,"uniequip_002_mizuki",2777.6,1,14,0,215990,0,0,116,6], + ["p2",16,"op","chess_char_4_06_b",1,"uniequip_002_kroos2",1561,1,8,0,472573,0,0,132,2], ["p2",17,"op","chess_char_4_10_b",1,"uniequip_002_aroma",1664,1,12,0,0,0,0,0,0], - ["p2",18,"op","chess_char_4_12_b",2,"uniequip_002_glady",0,0,48,0,37231,4464,0,91,4], - ["p2",19,"op","chess_char_4_13_b",1,"uniequip_002_gnosis",0,0,44,0,120920,3978,0,113,27], - ["p2",20,"op","chess_char_4_14_b",1,"uniequip_002_lionhd",1626,1,52,0,103033,3252,0,33,6], + ["p2",18,"op","chess_char_4_12_b",2,"uniequip_002_glady",2232,1,52,0,34831,2232,0,103,4], + ["p2",19,"op","chess_char_4_13_b",1,"uniequip_002_gnosis",0,0,48,0,93427,3978,0,86,22], + ["p2",20,"op","chess_char_4_14_b",1,"uniequip_002_lionhd",0,0,40,0,98701,3299,47,36,7], ["p2",21,"token","token_10041_cathy_catsld",null,null,100,1,21,0,0,0,0,0,null], ["p2",22,"token","token_10041_cathy_catsld",null,null,100,1,22,0,0,0,0,0,null] ], "enemies": { - "enemy_10028_vtswd": [5,5,0,0,0], - "enemy_10029_vtshld": [2,2,0,0,0], - "enemy_10030_vtwand": [1,1,0,0,0], - "enemy_10085_hllevi_2": [2,0,2,0,702625], - "enemy_1010_demon": [4,4,0,15134,200612], - "enemy_9032_aclionk": [1,0,0,35665,1299410] + "enemy_10028_vtswd": [3,3,0,0,0], + "enemy_10029_vtshld": [3,3,0,0,0], + "enemy_10030_vtwand": [5,5,0,0,0], + "enemy_10085_hllevi_2": [2,0,2,0,804272], + "enemy_1010_demon": [4,4,0,13032,200612], + "enemy_9032_aclionk": [1,0,0,40914,1005682] }, - "hooks": [1,50,6000,1291,1314,2325,2345,811,29,33,125,123,0,36836,1303,4,15,2,1,25,0,5,0], - "events": {"atk":1354,"deploy":35,"die":31,"dmg":2324,"engage":14,"fx":616,"heal":20,"leak":2,"skill":248,"spawn":37,"status":889}, + "hooks": [1,57,6000,1150,1168,2101,2112,1078,36,40,105,103,0,33986,1087,3,18,2,1,29,0,2,0], + "events": {"atk":1223,"deploy":39,"die":38,"dmg":2065,"engage":13,"fx":576,"heal":2,"leak":2,"skill":208,"spawn":40,"status":1110}, "fx": { - "aoe": 48, + "aoe": 32, "appear": 4, "blink": 2, - "burst": 5, - "crit": 75, + "burst": 2, + "crit": 80, "dilemma": 6, "disappear": 4, "displace": 19, - "equip": 9, - "explosion": 6, - "frostNova": 27, + "equip": 16, + "explosion": 7, + "frostNova": 22, "garrisonGrant": 1, - "iceSpike": 44, + "iceSpike": 40, "overclock": 1, "pull": 4, "quadShot": 2, "revive": 2, "ripple": 18, "sentry": 3, - "shadowWeave": 2, + "shadowWeave": 3, "shield": 1, - "soul": 5, - "sp": 18, + "soul": 2, + "sp": 11, "stealth": 6, - "sword": 4, - "swordRain": 21, - "swordStorm": 5, - "telegraph": 14, + "sword": 2, + "swordRain": 38, + "swordStorm": 7, + "telegraph": 18, "tornado": 4, "tornadoPulse": 20, - "vest": 2, + "vest": 3, "weightless": 6, - "zone": 228 + "zone": 190 }, - "snaps": "5feb83ed f13ed3b4 56be9cfd 39b0aa8a e95d527f 3acb6fe4 5cf64994 3a284512 941757f8 a04e88b3 04d5b3e2 1390b339 3e94c413 ad43bd42 f1b1463c af767763 1630b47b 0444ec4e 3be9c125 022e8e64" + "snaps": "8a1f8d78 5887f6a8 75e7640c ee72be7c 45aaf338 72646e9d 5400e843 875b0bdd a5255fb2 4f28c0d0 da0a87a1 653af3cb 41cc724c ce76236e 751fd07f 20c538c4 0edfbcee 916abbd9 6371a2f1 9937cd28" }, "boss-boss_6-solo": { "about": "阿利斯泰尔,帝国余晖 solo pool 3980000: chess_char_4_17_b chess_char_4_18_b chess_char_4_23_b chess_char_4_19_b chess_char_4_22_b chess_char_4_20_b chess_char_4_21_b chess_char_4_24_b chess_char_4_25_b chess_char_4_26_b", @@ -928,89 +928,91 @@ "killed": 13, "total": 18, "unspawned": 0, - "bossHpLeft": 12749411, - "rngDraws": 469, + "bossHpLeft": 12721869, + "rngDraws": 595, "errors": {"count":0,"kinds":[]}, "players": { - "p1": {"killed":13,"total":18,"perfect":false,"leaks":2,"leaksUncounted":0,"coins":0,"dmg":1782144,"bossDmg":862264,"heal":34974,"deaths":19,"layerGains":{}}, - "p2": {"killed":0,"total":0,"perfect":false,"leaks":2,"leaksUncounted":0,"coins":0,"dmg":1063494,"bossDmg":787168,"heal":3526,"deaths":23,"layerGains":{}} + "p1": {"killed":13,"total":18,"perfect":false,"leaks":2,"leaksUncounted":0,"coins":0,"dmg":1807554,"bossDmg":894991,"heal":43213,"deaths":18,"layerGains":{}}, + "p2": {"killed":0,"total":0,"perfect":false,"leaks":1,"leaksUncounted":0,"coins":0,"dmg":973750,"bossDmg":782556,"heal":3433,"deaths":25,"layerGains":{}} }, "units": [ - ["p1",1,"op","chess_char_5_19_b",2,"uniequip_002_mlynar",0,0,73,2,70060,30258,344,15,1], - ["p1",2,"op","chess_char_4_01_b",2,"uniequip_002_rmixer",5411.15,1,78,0,6068,12135,463,20,2], - ["p1",3,"op","chess_char_5_14_b",1,"none",0,0,82,0,47436,18275,3606,26,11], - ["p1",4,"op","chess_char_5_17_b",1,"uniequip_002_f12yin",5476,1,88,0,43232,18483,434,21,3], - ["p1",5,"op","chess_char_5_15_b",1,"uniequip_002_thorn2",161.56,1,79,2,719512,4898,9898,98,11], - ["p1",6,"op","chess_char_5_20_b",2,"uniequip_002_aglina",2764,1,93,1,69538,10605,41,18,2], - ["p1",7,"op","chess_char_5_21_b",1,"uniequip_002_sntlla",2053.18,1,83,1,288400,7730,9,2,1], - ["p1",8,"op","chess_char_5_22_b",1,"uniequip_002_nymph",1084.8,1,72,1,524208,5369,9,40,13], - ["p1",9,"op","chess_char_5_23_b",1,"uniequip_002_reckpr",3220,1,90,0,0,11772,20169,18,2], - ["p1",10,"op","chess_char_4_02_b",2,"uniequip_002_mostma",0,0,80,1,13692,10170,0,9,1], - ["p2",11,"op","chess_char_4_11_b",1,"uniequip_002_cathy",0,0,75,0,0,7525,137,0,2], - ["p2",12,"op","chess_char_4_04_b",1,"uniequip_002_ines",2149,1,84,2,27393,10756,5,74,5], - ["p2",13,"op","chess_char_4_07_b",1,"uniequip_002_bpipe",4170.25,1,92,1,15991,9948,1608,6,3], - ["p2",14,"op","chess_char_4_16_b",2,"uniequip_002_texas2",1619,1,87,0,78679,12401,119,22,8], - ["p2",15,"op","chess_char_4_09_b",1,"uniequip_002_mizuki",0,0,67,0,126046,8396,309,30,3], - ["p2",16,"op","chess_char_4_06_b",1,"uniequip_002_kroos2",0,0,71,1,301353,3122,0,77,1], - ["p2",17,"op","chess_char_4_10_b",1,"uniequip_002_aroma",0,0,20,0,52829,6922,264,53,2], - ["p2",18,"op","chess_char_4_12_b",2,"uniequip_002_glady",2232,1,86,0,42669,2582,350,30,3], - ["p2",19,"op","chess_char_4_13_b",1,"uniequip_002_gnosis",0,0,63,2,356112,4467,489,68,20], - ["p2",20,"op","chess_char_4_14_b",1,"uniequip_002_lionhd",0,0,64,1,62422,3497,245,25,4], + ["p1",1,"op","chess_char_5_19_b",2,"uniequip_002_mlynar",5080.92,1,77,2,48613,25521,344,19,2], + ["p1",2,"op","chess_char_4_01_b",2,"uniequip_002_rmixer",8067.66,1,76,0,378,9736,453,3,2], + ["p1",3,"op","chess_char_5_14_b",1,"none",3988,1,86,1,48666,12855,2175,24,9], + ["p1",4,"op","chess_char_5_17_b",1,"uniequip_002_f12yin",0,0,83,0,35959,29785,8006,59,3], + ["p1",5,"op","chess_char_5_15_b",1,"uniequip_002_thorn2",89.23,1,80,2,849513,4961,12341,98,11], + ["p1",6,"op","chess_char_5_20_b",2,"uniequip_002_aglina",0,0,70,1,72754,10765,201,19,2], + ["p1",7,"op","chess_char_5_21_b",1,"uniequip_002_sntlla",3258,1,89,1,288403,6516,0,12,1], + ["p1",8,"op","chess_char_5_22_b",1,"uniequip_002_nymph",0,0,72,1,98794,6444,0,9,5], + ["p1",9,"op","chess_char_5_23_b",1,"uniequip_002_reckpr",3220,1,90,0,0,11772,19693,17,2], + ["p1",10,"op","chess_char_4_02_b",2,"uniequip_002_mostma",801.14,1,79,2,364473,10638,0,24,2], + ["p2",11,"op","chess_char_4_11_b",1,"uniequip_002_cathy",0,0,73,0,0,6071,137,0,1], + ["p2",12,"op","chess_char_4_04_b",1,"uniequip_002_ines",0,0,82,1,8212,12720,5,56,4], + ["p2",13,"op","chess_char_4_07_b",1,"uniequip_002_bpipe",4170.25,1,92,0,1799,9948,1608,2,2], + ["p2",14,"op","chess_char_4_16_b",2,"uniequip_002_texas2",974.55,1,88,0,92340,16538,16,44,9], + ["p2",15,"op","chess_char_4_09_b",1,"uniequip_002_mizuki",0,0,67,0,77253,8291,204,21,3], + ["p2",16,"op","chess_char_4_06_b",1,"uniequip_002_kroos2",0,0,85,2,597129,3122,0,130,2], + ["p2",17,"op","chess_char_4_10_b",1,"uniequip_002_aroma",0,0,20,0,56567,7585,264,58,2], + ["p2",18,"op","chess_char_4_12_b",2,"uniequip_002_glady",0,0,2,0,27214,2956,724,13,2], + ["p2",19,"op","chess_char_4_13_b",1,"uniequip_002_gnosis",0,0,64,0,27451,4162,184,37,11], + ["p2",20,"op","chess_char_4_14_b",1,"uniequip_002_lionhd",0,0,65,3,85785,3543,291,33,6], ["p2",21,"token","token_10041_cathy_catsld",null,null,100,1,21,0,0,0,0,0,null], ["p2",22,"token","token_10041_cathy_catsld",null,null,100,1,22,0,0,0,0,0,null] ], "enemies": { - "enemy_10027_vtsk": [6,1,4,138886,892170], + "enemy_10027_vtsk": [6,1,3,136990,777594], "enemy_1005_yokai": [4,4,0,0,1600], - "enemy_1229_darmy_2": [8,8,0,3486,294231], - "enemy_9013_acstmk_2": [1,0,0,45577,1650589], - "enemy_9014_acstma": [5,4,0,2385,30898], - "enemy_9015_acstmb": [2,1,0,8977,5739], - "enemy_9016_acstmr": [8,7,0,0,41] + "enemy_1229_darmy_2": [8,8,0,3462,294231], + "enemy_9013_acstmk_2": [1,0,0,48118,1678131], + "enemy_9014_acstma": [4,3,0,2847,23452], + "enemy_9015_acstmb": [3,2,0,12510,31442], + "enemy_9016_acstmr": [8,7,0,0,40] }, - "hooks": [1,91,6000,753,753,2602,2727,3433,67,73,98,95,6,20855,903,13,34,4,1,71,0,4,11], - "events": {"atk":855,"deploy":57,"die":69,"dmg":2724,"engage":17,"fx":566,"heal":95,"leak":4,"skill":193,"spawn":56,"status":571}, + "hooks": [1,90,6000,770,773,2560,2726,4023,68,73,81,79,3,18733,553,15,34,3,1,69,0,3,5], + "events": {"atk":856,"deploy":56,"die":70,"dmg":2725,"engage":17,"fx":600,"heal":101,"leak":3,"skill":160,"spawn":56,"status":553}, "fx": { - "aoe": 37, - "appear": 8, + "aoe": 23, + "appear": 9, "beam": 48, "blink": 13, - "burst": 4, - "charge": 9, - "counter": 6, - "crit": 44, + "burst": 3, + "charge": 8, + "counter": 3, + "crit": 83, "dilemma": 3, - "disappear": 8, - "dodge": 11, + "disappear": 9, + "dodge": 5, "explode": 6, - "explosion": 4, - "frostNova": 20, - "iceSpike": 2, - "overclock": 2, - "phase": 3, - "pull": 2, - "quadShot": 1, + "explosion": 6, + "frostNova": 11, + "iceSpike": 12, + "overclock": 1, + "palsy": 1, + "phase": 2, + "pull": 1, + "quadShot": 2, "revive": 2, - "sentry": 4, + "ripple": 9, + "sentry": 5, "sermon": 2, - "shadowWeave": 8, + "shadowWeave": 7, "shell": 8, - "shield": 4, + "shield": 5, "slippery": 2, - "soul": 4, - "sp": 9, - "spGain": 2, - "stealth": 5, + "soul": 3, + "sp": 7, + "spGain": 4, + "stealth": 4, "summon": 4, - "swordRain": 67, - "swordStorm": 8, + "swordRain": 77, + "swordStorm": 9, "telegraph": 6, - "tornado": 3, - "tornadoPulse": 11, + "tornado": 2, + "tornadoPulse": 6, "weightless": 2, - "zone": 184 + "zone": 187 }, - "snaps": "1b4d1c90 5e89ae3a 18b0277b 718ea4d9 fb14ee3f 2c5d7b5a 90a9e918 535d6535 ff46bb00 d6a87ebe a53bce20 63043c57 e1656d7b 7fb55cb8 8d7c7ef0 ced6863b 72e4c7b9 574e2998 fcaf465c 0ac59845" + "snaps": "1b4d1c90 5e89ae3a 18b0277b 5cb9694e 563cd78d c2934649 005a2898 7c68af78 029a7b80 184cf32b 943adc62 cc001f13 527719ca e6dd0c82 6bc82008 833dee21 e6dd7990 4c3331ac 7e1c1ac9 63fe7c16" }, "hidden-boss_8-solo": { "about": "假想敌:胄 solo pool 7200000: chess_char_4_17_b chess_char_4_18_b chess_char_4_23_b chess_char_4_19_b chess_char_4_22_b chess_char_4_20_b chess_char_4_21_b chess_char_4_24_b chess_char_4_25_b chess_char_4_26_b", @@ -1238,63 +1240,63 @@ "killed": 12, "total": 12, "unspawned": 0, - "bossHpLeft": 14505955, + "bossHpLeft": 14514907, "rngDraws": 1001, "errors": {"count":0,"kinds":[]}, "players": { - "p1": {"killed":12,"total":12,"perfect":true,"leaks":0,"leaksUncounted":0,"coins":0,"dmg":358279,"bossDmg":203660,"heal":4886,"deaths":1,"layerGains":{}}, - "p2": {"killed":0,"total":0,"perfect":true,"leaks":0,"leaksUncounted":0,"coins":0,"dmg":670269,"bossDmg":490385,"heal":8820,"deaths":8,"layerGains":{}} + "p1": {"killed":12,"total":12,"perfect":true,"leaks":0,"leaksUncounted":0,"coins":0,"dmg":346799,"bossDmg":192179,"heal":7749,"deaths":1,"layerGains":{}}, + "p2": {"killed":0,"total":0,"perfect":true,"leaks":0,"leaksUncounted":0,"coins":0,"dmg":672798,"bossDmg":492915,"heal":11159,"deaths":9,"layerGains":{}} }, "units": [ ["p1",1,"op","chess_char_5_19_b",2,"uniequip_002_mlynar",3907,1,5,0,0,0,0,0,0], ["p1",2,"op","chess_char_4_01_b",2,"uniequip_002_rmixer",3537,1,9,0,0,0,0,0,0], ["p1",3,"op","chess_char_5_14_b",1,"none",3489.5,1,15,0,0,0,0,0,0], - ["p1",4,"op","chess_char_5_17_b",1,"uniequip_002_f12yin",2738,1,17,1,24417,1893,995,40,1], - ["p1",5,"op","chess_char_5_15_b",1,"uniequip_002_thorn2",1989,1,11,2,129281,0,2712,20,4], - ["p1",6,"op","chess_char_5_20_b",2,"uniequip_002_aglina",1382,1,19,1,62301,949,20,64,6], - ["p1",7,"op","chess_char_5_21_b",1,"uniequip_002_sntlla",1629,1,51,2,105321,2848,231,226,6], + ["p1",4,"op","chess_char_5_17_b",1,"uniequip_002_f12yin",2738,1,17,1,25170,3309,1064,43,1], + ["p1",5,"op","chess_char_5_15_b",1,"uniequip_002_thorn2",1989,1,11,2,129900,0,4692,23,4], + ["p1",6,"op","chess_char_5_20_b",2,"uniequip_002_aglina",1382,1,19,1,55889,2234,47,55,5], + ["p1",7,"op","chess_char_5_21_b",1,"uniequip_002_sntlla",1629,1,51,2,96780,3045,165,224,6], ["p1",8,"op","chess_char_5_22_b",1,"uniequip_002_nymph",1611,1,3,0,0,0,0,0,0], - ["p1",9,"op","chess_char_5_23_b",1,"uniequip_002_reckpr",1610,1,7,0,0,0,929,2,1], - ["p1",10,"op","chess_char_4_02_b",2,"uniequip_002_mostma",1695,1,13,0,36960,0,0,30,3], + ["p1",9,"op","chess_char_5_23_b",1,"uniequip_002_reckpr",1610,1,7,0,0,0,1782,5,1], + ["p1",10,"op","chess_char_4_02_b",2,"uniequip_002_mostma",1695,1,13,0,39060,0,0,30,3], ["p2",11,"op","chess_char_4_11_b",1,"uniequip_002_cathy",2644,1,6,0,0,0,0,0,0], - ["p2",12,"op","chess_char_4_04_b",1,"uniequip_002_ines",2149,1,54,0,113346,5807,112,174,5], - ["p2",13,"op","chess_char_4_07_b",1,"uniequip_002_bpipe",0,0,49,0,4,5859,855,2,2], - ["p2",14,"op","chess_char_4_16_b",2,"uniequip_002_texas2",1619,1,50,0,42778,7059,344,190,5], - ["p2",15,"op","chess_char_4_09_b",1,"uniequip_002_mizuki",1268.93,1,18,5,204995,2254,745,84,5], - ["p2",16,"op","chess_char_4_06_b",1,"uniequip_002_kroos2",1561,1,12,3,160077,0,0,271,4], - ["p2",17,"op","chess_char_4_10_b",1,"uniequip_002_aroma",1449.33,1,20,0,9408,888,673,8,2], - ["p2",18,"op","chess_char_4_12_b",2,"uniequip_002_glady",1532.27,1,22,0,50178,6810,6090,122,4], - ["p2",19,"op","chess_char_4_13_b",1,"uniequip_002_gnosis",1989,1,4,1,30075,0,0,34,11], - ["p2",20,"op","chess_char_4_14_b",1,"uniequip_002_lionhd",1626,1,8,1,59410,0,0,24,6], + ["p2",12,"op","chess_char_4_04_b",1,"uniequip_002_ines",1833,1,54,0,116137,6315,304,175,6], + ["p2",13,"op","chess_char_4_07_b",1,"uniequip_002_bpipe",0,0,49,1,5,6299,1295,3,2], + ["p2",14,"op","chess_char_4_16_b",2,"uniequip_002_texas2",1619,1,50,0,42662,6465,215,190,5], + ["p2",15,"op","chess_char_4_09_b",1,"uniequip_002_mizuki",1220.93,1,18,5,206421,2492,935,84,5], + ["p2",16,"op","chess_char_4_06_b",1,"uniequip_002_kroos2",1561,1,12,2,158871,0,0,271,4], + ["p2",17,"op","chess_char_4_10_b",1,"uniequip_002_aroma",0,0,20,1,9409,2333,669,8,2], + ["p2",18,"op","chess_char_4_12_b",2,"uniequip_002_glady",1082.27,1,22,0,50178,9340,7741,122,4], + ["p2",19,"op","chess_char_4_13_b",1,"uniequip_002_gnosis",1989,1,4,0,29445,0,0,33,11], + ["p2",20,"op","chess_char_4_14_b",1,"uniequip_002_lionhd",1626,1,8,1,59670,0,0,24,6], ["p2",21,"token","token_10041_cathy_catsld",null,null,100,1,23,0,0,0,0,0,null], ["p2",22,"token","token_10041_cathy_catsld",null,null,100,1,24,0,0,0,0,0,null], ["-","~1","device","trap_1105_accrate",null,null,100,1,1,0,0,0,0,0,null], ["-","~2","device","trap_1105_accrate",null,null,100,1,2,0,0,0,0,0,null] ], "enemies": { - "enemy_1402_tgshd_2": [2,2,0,6652,173864], - "enemy_9010_acpupp": [2,2,0,1619,160520], - "enemy_9021_acduml_2": [1,0,0,0,694045], - "enemy_9022_acdumm": [1,0,0,877,0], - "enemy_9023_acdums": [12,12,0,19360,120] + "enemy_1402_tgshd_2": [2,2,0,6382,173864], + "enemy_9010_acpupp": [2,2,0,3305,160520], + "enemy_9021_acduml_2": [1,0,0,0,685093], + "enemy_9022_acdumm": [1,0,0,478,0], + "enemy_9023_acdums": [12,12,0,25367,120] }, - "hooks": [1,52,6000,1110,1260,2516,2697,5451,25,27,65,62,0,30164,1499,5,18,0,1,27,0,7,1], - "events": {"atk":1215,"deploy":32,"die":27,"dmg":2691,"engage":14,"fx":1023,"heal":31,"skill":127,"spawn":42,"status":602}, + "hooks": [1,52,6000,1112,1251,2553,2739,6646,26,28,65,62,0,29342,1408,5,18,0,1,28,0,10,1], + "events": {"atk":1219,"deploy":32,"die":28,"dmg":2728,"engage":14,"fx":1022,"heal":62,"skill":127,"spawn":42,"status":678}, "fx": { "beam": 13, "blink": 2, - "burst": 7, + "burst": 10, "charge": 2, - "crit": 135, + "crit": 134, "dilemma": 5, "dodge": 1, "ember": 2, - "explode": 195, + "explode": 193, "explosion": 6, - "expose": 200, + "expose": 204, "frostNova": 11, "garrisonGrant": 1, - "iceSpike": 190, + "iceSpike": 188, "levitate": 5, "phase": 33, "pull": 4, @@ -1306,17 +1308,17 @@ "shieldBreak": 1, "slippery": 2, "splash": 2, - "stealth": 5, + "stealth": 6, "summon": 8, - "swordRain": 37, + "swordRain": 34, "swordStorm": 5, "telegraph": 2, "tornado": 4, "tornadoPulse": 20, - "weightless": 6, + "weightless": 5, "zone": 76 }, - "snaps": "069c7e32 c7501279 b8a16379 183de18f 603028d5 6047bb6b 7dcf828f 66417d52 af439cf5 e7cd47f0 519c8da9 23a57b78 b6a29491 1afdf228 1f1c2f89 87c303a4 5772dcce 1ee11042 d00caaad 4e17c1ae" + "snaps": "a3593c93 c847b4db 7f678463 5e6c4adc 440fa339 af66975a 04f5e663 339a5416 48eed9ec 52fbaf9f 2ff8a867 807c080f 69fe32b4 a011a225 6fcea5e1 7e1ca6c9 26a350a7 a58c49e5 44c326ce 4923cd91" }, "hidden-boss_10-solo": { "about": "假想敌:管 solo pool 7600000: chess_char_4_17_b chess_char_4_18_b chess_char_4_23_b chess_char_4_19_b chess_char_4_22_b chess_char_4_20_b chess_char_4_21_b chess_char_4_24_b chess_char_4_25_b chess_char_4_26_b", diff --git a/test/golden/matches.json b/test/golden/matches.json index e2f8e487..a6e19d08 100644 --- a/test/golden/matches.json +++ b/test/golden/matches.json @@ -296,7 +296,7 @@ "title": {"id":"comment_2","name":"不朽盟约","picId":"comment_icon_2","text":"激活的盟约层数总和最高"}, "trophies": 0, "reward": 340, - "stats": {"activatedLayers":268,"bossDamage":685284,"dmgDealt":2273515,"gold":140,"itemsEquipped":16,"kills":391,"leaks":26,"lpLost":17,"merges":3,"perfectRounds":10,"refreshes":15}, + "stats": {"activatedLayers":268,"bossDamage":685284,"dmgDealt":2251076,"gold":140,"itemsEquipped":16,"kills":391,"leaks":26,"lpLost":17,"merges":3,"perfectRounds":10,"refreshes":15}, "lineup": ["6_12_a@12,5[5_01_e_a+5_02_e_a]","5_10_a@12,7[4_07_e_a+5_02_e_b]","4_14_a@11,8","3_11_a@10,3","5_14_a@9,4[3_08_e_a+3_11_e_a]","1_08_a@9,5[1_01_e_a+4_05_e_a]","6_02_a@9,6","4_10_a@9,8[4_08_e_a+4_10_e_b]"], "bonds": ["arcaneShip 1/30","deputShip 0/14","emptyShip 1/10","kazimierzShip 0/16","kjeragShip 1/51","preciShip 2/50","sargonShip 0/8","siracusaShip 1/79","soloShip 1/15","steadShip 0/21","swiftShip 1/33","visiShip 1/0"] } @@ -418,7 +418,7 @@ }, { "round": 11, - "ai_0": [1,1,12,0,0,5,8,"e69c468d",176,"arcaneShip 1/20, deputShip 1/12, emptyShip 1/8, kazimierzShip 0/8, kjeragShip 1/32, preciShip 1/28, sargonShip 0/8, siracusaShip 1/63, soloShip 1/13, steadShip 0/17, swiftShip 0/8",19,34,15,97] + "ai_0": [1,1,12,0,0,5,8,"e69c468d",176,"arcaneShip 1/20, deputShip 1/12, emptyShip 1/8, kazimierzShip 0/8, kjeragShip 1/32, preciShip 1/28, sargonShip 0/8, siracusaShip 1/63, soloShip 1/13, steadShip 0/17, swiftShip 0/8",18,34,16,97] }, { "round": 12, @@ -436,7 +436,7 @@ "title": {"id":"comment_4","name":"精英云集","picId":"comment_icon_4","text":"晋升精锐次数最多"}, "trophies": 0, "reward": 255, - "stats": {"activatedLayers":0,"bossDamage":0,"dmgDealt":1653111,"gold":109,"itemsEquipped":10,"kills":228,"leaks":56,"lpLost":36,"merges":2,"perfectRounds":7,"refreshes":9}, + "stats": {"activatedLayers":0,"bossDamage":0,"dmgDealt":1632814,"gold":109,"itemsEquipped":10,"kills":227,"leaks":57,"lpLost":36,"merges":2,"perfectRounds":7,"refreshes":9}, "lineup": [], "bonds": ["arcaneShip 0/22","deputShip 0/14","emptyShip 0/10","kazimierzShip 0/8","kjeragShip 0/39","preciShip 0/35","sargonShip 0/8","siracusaShip 0/67","soloShip 0/15","steadShip 0/17","swiftShip 0/8"] } @@ -737,8 +737,8 @@ "combat": "client", "boost": null, "setup": {"stageId":"act2autochess_m03","bossId":"boss_4","hiddenBossId":"boss_9","factions":["FLY","TIMES","REFLECTION"]}, - "end": {"victory":false,"roundsPassed":11,"hiddenReached":false,"hiddenCleared":false,"reason":"eliminated","teamLp":null,"bossPoolLeft":null,"virtualMs":114200}, - "rng": {"setup":25,"shop":540,"waves":0,"draft":75,"bots":24787,"meta":17}, + "end": {"victory":false,"roundsPassed":11,"hiddenReached":false,"hiddenCleared":false,"reason":"eliminated","teamLp":null,"bossPoolLeft":null,"virtualMs":113850}, + "rng": {"setup":25,"shop":533,"waves":0,"draft":75,"bots":23950,"meta":17}, "errors": {"engine":0,"logged":0,"sim":0,"dispatcher":0}, "rounds": [ { @@ -791,26 +791,26 @@ }, { "round": 9, - "ai_0": [1,9,12,0,6,4,8,"6d558be7",161,"deputShip 2/32, indomShip 1/4, kazimierzShip 0/2, kjeragShip 1/32, skillfulShip 1/51, soloShip 1/16, steadShip 1/22, suntShip 1/4, swiftShip 0/20",66,69,3,81], + "ai_0": [1,11,12,0,6,4,8,"78fb0821",160,"deputShip 2/32, indomShip 1/4, kazimierzShip 0/2, kjeragShip 1/31, skillfulShip 1/51, soloShip 1/16, steadShip 1/22, suntShip 1/4, swiftShip 0/20",68,69,1,81], "ai_1": [1,23,12,0,0,4,8,"ad1959de",111,"deputShip 2/35, kazimierzShip 0/7, skillfulShip 1/22, soloShip 1/16, suntShip 1/16, swiftShip 0/21, victoriaShip 1/22",40,54,14,73], "ai_2": [1,8,12,0,0,4,8,"e0957cd2",127,"deputShip 0/10, miraShip 1/3, siracusaShip 2/78, soloShip 1/22, suntShip 1/6, swiftShip 1/18, yanShip 0/1",51,59,8,75] }, { "round": 10, - "ai_0": [1,6,18,0,0,5,8,"7365b613",209,"deputShip 2/36, indomShip 1/8, kazimierzShip 0/2, kjeragShip 1/43, miraShip 1/4, skillfulShip 1/57, soloShip 1/20, steadShip 1/33, suntShip 1/8, swiftShip 0/20",15,18,3,99], + "ai_0": [1,9,18,0,0,5,8,"7365b613",217,"deputShip 2/36, indomShip 1/8, kazimierzShip 0/2, kjeragShip 1/51, miraShip 1/4, skillfulShip 1/57, soloShip 1/20, steadShip 1/33, suntShip 1/8, swiftShip 0/20",16,18,2,99], "ai_1": [1,13,12,0,0,5,8,"8f07e1d3",124,"deputShip 2/40, indomShip 1/5, kazimierzShip 0/7, skillfulShip 1/26, soloShip 1/20, suntShip 0/16, swiftShip 0/21, victoriaShip 1/33",4,18,14,85], "ai_2": [0,0,12,0,0,5,0,"811c9dc5",0,"deputShip 0/10, miraShip 0/6, siracusaShip 0/86, soloShip 0/22, suntShip 0/6, swiftShip 0/23, yanShip 0/1",6,18,12,86] }, { "round": 11, - "ai_0": [1,3,12,0,1,5,8,"3d2ea997",260,"deputShip 2/40, indomShip 0/8, kazimierzShip 0/2, kjeragShip 1/59, miraShip 1/8, siracusaShip 0/6, skillfulShip 1/69, soloShip 1/24, steadShip 1/44, suntShip 1/12, swiftShip 0/26, visiShip 1/4",22,25,3,111], + "ai_0": [0,0,12,0,0,5,0,"811c9dc5",0,"deputShip 0/40, indomShip 0/8, kazimierzShip 0/2, kjeragShip 0/62, miraShip 0/8, siracusaShip 0/6, skillfulShip 0/69, soloShip 0/24, steadShip 0/44, suntShip 0/12, swiftShip 0/26, visiShip 0/4",10,25,15,111], "ai_1": [1,3,12,0,0,5,8,"ec0a9e7a",133,"deputShip 1/46, indomShip 1/11, kazimierzShip 0/7, maniShip 1/2, skillfulShip 1/28, soloShip 0/20, suntShip 0/16, swiftShip 0/21, victoriaShip 2/46",8,25,17,98], "ai_2": [0,0,0,0,0,5,0,"811c9dc5",0,"deputShip 0/10, miraShip 0/6, siracusaShip 0/86, soloShip 0/22, suntShip 0/6, swiftShip 0/23, yanShip 0/1",null,null,null,86] }, { "round": 12, - "ai_0": [0,0,13,0,0,6,0,"811c9dc5",0,"deputShip 0/44, indomShip 0/8, kazimierzShip 0/2, kjeragShip 0/65, miraShip 0/12, siracusaShip 0/6, skillfulShip 0/81, soloShip 0/28, steadShip 0/55, suntShip 0/16, swiftShip 0/26, visiShip 0/8",14,57,43,125], - "ai_1": [0,0,12,0,0,6,0,"811c9dc5",0,"deputShip 0/48, indomShip 0/17, kazimierzShip 0/7, maniShip 0/4, skillfulShip 0/30, soloShip 0/20, suntShip 0/16, swiftShip 0/21, victoriaShip 0/67",11,57,46,109], + "ai_0": [0,0,0,0,0,5,0,"811c9dc5",0,"deputShip 0/40, indomShip 0/8, kazimierzShip 0/2, kjeragShip 0/62, miraShip 0/8, siracusaShip 0/6, skillfulShip 0/69, soloShip 0/24, steadShip 0/44, suntShip 0/12, swiftShip 0/26, visiShip 0/4",null,null,null,111], + "ai_1": [0,0,12,0,0,6,0,"811c9dc5",0,"deputShip 0/48, indomShip 0/21, kazimierzShip 0/7, maniShip 0/4, skillfulShip 0/30, soloShip 0/20, suntShip 0/16, swiftShip 0/21, victoriaShip 0/71",15,57,42,110], "ai_2": [0,0,0,0,0,5,0,"811c9dc5",0,"deputShip 0/10, miraShip 0/6, siracusaShip 0/86, soloShip 0/22, suntShip 0/6, swiftShip 0/23, yanShip 0/1",null,null,null,86] } ], @@ -818,16 +818,16 @@ "ai_0": { "alive": false, "victory": false, - "roundsPassed": 11, - "eliminatedRound": 12, + "roundsPassed": 10, + "eliminatedRound": 11, "lp": 0, "bandId": "band_chiave", "title": {"id":"comment_4","name":"精英云集","picId":"comment_icon_4","text":"晋升精锐次数最多"}, "trophies": 2, - "reward": 255, - "stats": {"activatedLayers":0,"bossDamage":0,"dmgDealt":3504686,"gold":125,"itemsEquipped":16,"kills":270,"leaks":70,"lpLost":30,"merges":4,"perfectRounds":3,"refreshes":14}, + "reward": 213, + "stats": {"activatedLayers":0,"bossDamage":0,"dmgDealt":2632416,"gold":111,"itemsEquipped":16,"kills":247,"leaks":36,"lpLost":24,"merges":4,"perfectRounds":3,"refreshes":14}, "lineup": [], - "bonds": ["deputShip 0/44","indomShip 0/8","kazimierzShip 0/2","kjeragShip 0/65","miraShip 0/12","siracusaShip 0/6","skillfulShip 0/81","soloShip 0/28","steadShip 0/55","suntShip 0/16","swiftShip 0/26","visiShip 0/8"] + "bonds": ["deputShip 0/40","indomShip 0/8","kazimierzShip 0/2","kjeragShip 0/62","miraShip 0/8","siracusaShip 0/6","skillfulShip 0/69","soloShip 0/24","steadShip 0/44","suntShip 0/12","swiftShip 0/26","visiShip 0/4"] }, "ai_1": { "alive": false, @@ -839,9 +839,9 @@ "title": {"id":"comment_6","name":"挥金如土","picId":"comment_icon_6","text":"消耗资金最多"}, "trophies": 2, "reward": 255, - "stats": {"activatedLayers":0,"bossDamage":0,"dmgDealt":2183297,"gold":109,"itemsEquipped":9,"kills":242,"leaks":108,"lpLost":52,"merges":3,"perfectRounds":5,"refreshes":18}, + "stats": {"activatedLayers":0,"bossDamage":0,"dmgDealt":2309671,"gold":110,"itemsEquipped":10,"kills":246,"leaks":104,"lpLost":52,"merges":3,"perfectRounds":5,"refreshes":18}, "lineup": [], - "bonds": ["deputShip 0/48","indomShip 0/17","kazimierzShip 0/7","maniShip 0/4","skillfulShip 0/30","soloShip 0/20","suntShip 0/16","swiftShip 0/21","victoriaShip 0/67"] + "bonds": ["deputShip 0/48","indomShip 0/21","kazimierzShip 0/7","maniShip 0/4","skillfulShip 0/30","soloShip 0/20","suntShip 0/16","swiftShip 0/21","victoriaShip 0/71"] }, "ai_2": { "alive": false, @@ -934,35 +934,35 @@ "ai_0": [1,26,12,0,0,4,8,"fc454676",166,"deputShip 1/47, kjeragShip 0/2, preciShip 2/39, sargonShip 1/42, steadShip 1/38",30,30,0,74], "ai_1": [1,45,12,0,0,4,8,"e1506142",83,"deputShip 2/48, emptyShip 1/4, preciShip 0/4, sargonShip 0/2, siracusaShip 1/31, steadShip 0/4",28,30,2,70], "ai_2": [1,28,12,0,0,4,8,"6965081a",70,"sargonShip 0/8, siracusaShip 1/58, swiftShip 1/12, visiShip 1/0, yanShip 0/1",30,30,0,72], - "ai_3": [1,31,13,0,0,4,8,"5f784848",153,"deputShip 1/16, emptyShip 1/12, kjeragShip 1/30, preciShip 1/72, siracusaShip 0/3, swiftShip 1/23, yanShip 0/1",30,30,0,76] + "ai_3": [1,31,13,0,0,4,8,"5f784848",158,"deputShip 1/16, emptyShip 1/12, kjeragShip 1/35, preciShip 1/72, siracusaShip 0/3, swiftShip 1/23, yanShip 0/1",30,30,0,76] }, { "round": 10, "ai_0": [1,26,12,0,0,5,8,"2b6a123a",256,"deputShip 1/53, kjeragShip 0/2, preciShip 2/79, sargonShip 1/76, steadShip 1/48",29,29,0,86], "ai_1": [1,45,12,0,0,5,8,"5bcc6998",105,"deputShip 2/58, emptyShip 1/8, preciShip 0/4, sargonShip 0/2, siracusaShip 1/39, steadShip 0/4",29,29,0,82], "ai_2": [1,28,12,0,0,5,8,"fe139ef2",72,"sargonShip 0/8, siracusaShip 2/60, swiftShip 1/12, visiShip 1/0, yanShip 0/1",29,29,0,83], - "ai_3": [1,31,12,0,0,5,8,"9ce217c6",163,"deputShip 1/18, emptyShip 0/12, kjeragShip 2/34, preciShip 1/81, siracusaShip 0/3, swiftShip 1/30, yanShip 0/1",29,29,0,88] + "ai_3": [1,31,12,0,0,5,8,"9ce217c6",168,"deputShip 1/18, emptyShip 0/12, kjeragShip 2/39, preciShip 1/81, siracusaShip 0/3, swiftShip 1/30, yanShip 0/1",29,29,0,88] }, { "round": 11, "ai_0": [1,26,12,0,0,5,8,"5c1d4d08",288,"deputShip 1/55, kjeragShip 0/2, preciShip 1/87, sargonShip 1/88, steadShip 1/58",28,28,0,99], "ai_1": [1,45,12,0,0,5,8,"6ceb3315",133,"deputShip 2/68, emptyShip 1/15, preciShip 0/4, sargonShip 0/2, siracusaShip 1/50, steadShip 0/4",10,28,18,94], "ai_2": [1,28,12,0,0,5,8,"8321f307",124,"emptyShip 1/0, sargonShip 0/8, siracusaShip 2/100, swiftShip 1/24, yanShip 0/1",28,28,0,95], - "ai_3": [1,31,12,0,0,5,7,"5e2bfa81",195,"deputShip 0/18, emptyShip 0/12, kjeragShip 2/68, preciShip 1/92, siracusaShip 0/3, swiftShip 1/35, visiShip 1/0, yanShip 0/1",28,28,0,98] + "ai_3": [1,31,12,0,0,5,7,"5e2bfa81",202,"deputShip 0/18, emptyShip 0/12, kjeragShip 2/75, preciShip 1/92, siracusaShip 0/3, swiftShip 1/35, visiShip 1/0, yanShip 0/1",28,28,0,98] }, { "round": 12, "ai_0": [1,26,12,0,0,6,8,"934bb983",406,"deputShip 1/57, emptyShip 1/2, kjeragShip 0/2, preciShip 1/137, sargonShip 1/142, steadShip 1/68",46,46,0,111], "ai_1": [1,45,12,0,0,6,8,"d4b1958d",155,"deputShip 2/78, emptyShip 1/19, preciShip 0/4, sargonShip 0/2, siracusaShip 1/58, steadShip 0/4",20,46,26,104], "ai_2": [1,28,12,0,0,6,8,"696f5ca3",164,"emptyShip 1/0, sargonShip 0/8, siracusaShip 2/140, swiftShip 1/24, yanShip 0/1",46,46,0,106], - "ai_3": [1,31,12,0,0,6,8,"2e3cd509",247,"deputShip 0/18, emptyShip 0/12, kjeragShip 2/108, preciShip 2/99, siracusaShip 0/3, swiftShip 1/40, visiShip 1/0, yanShip 0/1",46,46,0,110] + "ai_3": [1,31,12,0,0,6,8,"2e3cd509",249,"deputShip 0/18, emptyShip 0/12, kjeragShip 2/110, preciShip 2/99, siracusaShip 0/3, swiftShip 1/40, visiShip 1/0, yanShip 0/1",46,46,0,110] }, { "round": 13, "ai_0": [1,26,12,0,0,6,8,"2df19066",460,"deputShip 1/59, emptyShip 1/4, kjeragShip 0/7, preciShip 2/155, sargonShip 1/164, steadShip 1/78",32,32,0,126], "ai_1": [1,45,12,0,2,6,8,"9346fb5a",177,"deputShip 1/86, emptyShip 1/21, preciShip 1/6, sargonShip 0/2, siracusaShip 1/64, steadShip 0/4",32,32,0,115], "ai_2": [1,28,12,0,0,6,8,"0236b2a3",238,"emptyShip 1/0, sargonShip 0/8, siracusaShip 2/214, swiftShip 1/24, yanShip 0/1",32,32,0,117], - "ai_3": [1,31,12,0,0,6,7,"ceba29b5",265,"deputShip 0/18, emptyShip 0/12, kjeragShip 1/116, preciShip 2/104, siracusaShip 0/3, swiftShip 1/45, yanShip 0/1",32,32,0,124] + "ai_3": [1,31,12,0,0,6,7,"ceba29b5",267,"deputShip 0/18, emptyShip 0/12, kjeragShip 1/118, preciShip 2/104, siracusaShip 0/3, swiftShip 1/45, yanShip 0/1",32,32,0,124] } ], "players": { @@ -976,7 +976,7 @@ "title": {"id":"comment_2","name":"不朽盟约","picId":"comment_icon_2","text":"激活的盟约层数总和最高"}, "trophies": 3, "reward": 250, - "stats": {"activatedLayers":482,"bossDamage":190683,"dmgDealt":1852681,"gold":140,"itemsEquipped":25,"kills":319,"leaks":0,"lpLost":0,"merges":5,"perfectRounds":13,"refreshes":21}, + "stats": {"activatedLayers":482,"bossDamage":190683,"dmgDealt":1852680,"gold":140,"itemsEquipped":25,"kills":318,"leaks":0,"lpLost":0,"merges":5,"perfectRounds":13,"refreshes":21}, "lineup": ["6_08_a@11,6[3_03_e_a+3_02_e_a]","6_12_a@11,7[4_08_e_a+6_07_e_b]","2_14_b@10,3","2_17_b@10,4[4_02_e_b+5_01_e_a]","2_08_a@9,3[4_04_e_a+1_01_e_b]","6_06_a@9,4[3_08_e_a+3_01_e_b]","1_06_b@9,8","5_02_b@9,9[5_02_e_a+3_06_e_b]"], "bonds": ["deputShip 1/61","emptyShip 1/6","kjeragShip 0/7","preciShip 2/157","sargonShip 1/170","steadShip 1/88"] }, @@ -1004,7 +1004,7 @@ "title": {"id":"comment_5","name":"万事俱备","picId":"comment_icon_5","text":"装备配发数量最多"}, "trophies": 3, "reward": 250, - "stats": {"activatedLayers":260,"bossDamage":308467,"dmgDealt":1912652,"gold":127,"itemsEquipped":20,"kills":291,"leaks":0,"lpLost":0,"merges":3,"perfectRounds":13,"refreshes":16}, + "stats": {"activatedLayers":260,"bossDamage":308611,"dmgDealt":1898918,"gold":127,"itemsEquipped":20,"kills":291,"leaks":0,"lpLost":0,"merges":3,"perfectRounds":13,"refreshes":16}, "lineup": ["4_25_a@12,3","1_07_b@11,7[1_01_e_a+1_05_e_a]","5_20_a@11,8[3_02_e_a+2_01_e_b]","6_18_a@10,3[2_01_e_b+4_03_e_b]","4_10_a@10,7[4_03_e_b]","3_18_b@9,4[3_07_e_b+3_11_e_a]","6_05_a@9,8","2_16_b@9,9[5_01_e_a+4_02_e_a]"], "bonds": ["sargonShip 0/8","siracusaShip 2/236","swiftShip 1/24","yanShip 0/1"] }, @@ -1018,9 +1018,9 @@ "title": {"id":"comment_1","name":"卫戍之星","picId":"comment_icon_1","text":"对敌方领袖造成伤害最高(仅胜利时)"}, "trophies": 3, "reward": 250, - "stats": {"activatedLayers":311,"bossDamage":567817,"dmgDealt":2252972,"gold":138,"itemsEquipped":36,"kills":300,"leaks":1,"lpLost":0,"merges":3,"perfectRounds":12,"refreshes":23}, + "stats": {"activatedLayers":313,"bossDamage":567673,"dmgDealt":2238531,"gold":138,"itemsEquipped":36,"kills":300,"leaks":1,"lpLost":0,"merges":3,"perfectRounds":12,"refreshes":23}, "lineup": ["3_20_b@12,8[5_02_e_b+6_03_e_a]","6_14_a@11,3","4_13_b@11,6[5_02_e_b+4_07_e_a]","6_01_a@11,7[3_11_e_a+3_04_e_a]","4_14_a@11,8[4_03_e_a+1_02_e_a]","4_22_a@10,8[4_04_e_b+4_02_e_a]","3_11_b@9,8[4_09_e_a+3_07_e_a]","5_14_a@9,9[4_06_e_b+2_01_e_b]"], - "bonds": ["deputShip 1/20","emptyShip 0/12","kjeragShip 1/120","preciShip 2/117","siracusaShip 0/3","swiftShip 1/54","yanShip 0/1"] + "bonds": ["deputShip 1/20","emptyShip 0/12","kjeragShip 1/122","preciShip 2/117","siracusaShip 0/3","swiftShip 1/54","yanShip 0/1"] } } }, @@ -1148,7 +1148,7 @@ "title": null, "trophies": 1, "reward": 149, - "stats": {"activatedLayers":0,"bossDamage":0,"dmgDealt":699220,"gold":62,"itemsEquipped":2,"kills":58,"leaks":39,"lpLost":31,"merges":1,"perfectRounds":3,"refreshes":5}, + "stats": {"activatedLayers":0,"bossDamage":0,"dmgDealt":699073,"gold":62,"itemsEquipped":2,"kills":58,"leaks":39,"lpLost":31,"merges":1,"perfectRounds":3,"refreshes":5}, "lineup": [], "bonds": ["arcaneShip 0/2","kazimierzShip 0/29","kjeragShip 0/7","preciShip 0/2","sargonShip 0/8","siracusaShip 0/12","skillfulShip 0/5","steadShip 0/2","swiftShip 0/19"] }, diff --git a/test/golden/roster.json b/test/golden/roster.json index c76666f8..8b113218 100644 --- a/test/golden/roster.json +++ b/test/golden/roster.json @@ -263,7 +263,7 @@ "bossHpLeft": null, "rngDraws": 333, "errors": {"count":0,"kinds":[]}, - "players": {"p1":{"killed":83,"total":84,"perfect":false,"leaks":1,"leaksUncounted":0,"coins":10,"dmg":306697,"bossDmg":0,"heal":36881,"deaths":0,"layerGains":{}}}, + "players": {"p1":{"killed":83,"total":84,"perfect":false,"leaks":1,"leaksUncounted":0,"coins":10,"dmg":306642,"bossDmg":0,"heal":36881,"deaths":0,"layerGains":{}}}, "units": [ ["p1",1,"op","chess_char_2_07_b",1,"uniequip_002_ghost",2664.2,1,2,0,0,1707,1318,0,0], ["p1",2,"op","chess_char_2_08_b",1,"uniequip_002_bubble",3373,1,4,0,49,1818,0,0,1], @@ -273,7 +273,7 @@ ["p1",6,"op","chess_char_2_19_a",1,null,1021.2,1,11,1,14957,1523,407,26,3], ["p1",7,"op","chess_char_2_01_b",1,"uniequip_002_excu",2146,1,12,20,36079,4183,0,22,1], ["p1",8,"op","chess_char_2_02_b",1,"uniequip_002_silent",1614,1,1,0,0,0,9257,28,5], - ["p1",9,"op","chess_char_2_04_b",1,"uniequip_002_grabds",1270,1,3,10,38233,2115,0,53,3], + ["p1",9,"op","chess_char_2_04_b",1,"uniequip_002_grabds",1270,1,3,11,38178,2115,0,53,3], ["p1",10,"op","chess_char_2_05_b",1,"uniequip_002_harold",1971.2,1,5,0,0,0,11159,39,2], ["p1",11,"op","chess_char_2_06_b",0,"uniequip_002_papyrs",1639,1,7,0,0,0,12883,28,13], ["p1",12,"op","chess_char_2_10_b",1,"uniequip_002_rockr",1406,1,9,5,34936,810,0,113,2], @@ -295,10 +295,10 @@ "enemy_1509_mousek": [1,1,0,7102,17600], "enemy_2010_csdcr": [1,1,0,1896,9600] }, - "hooks": [1,102,4200,702,702,1650,1643,1107,83,89,36,35,0,28577,142,53,84,0,1,83,0,0,0], - "events": {"atk":917,"bounty":5,"deploy":18,"die":89,"dmg":1602,"engage":7,"fx":66,"heal":122,"skill":71,"spawn":97,"status":441}, + "hooks": [1,102,4200,702,702,1652,1645,1107,83,89,36,35,0,28577,136,54,84,0,1,83,0,0,0], + "events": {"atk":918,"bounty":5,"deploy":18,"die":89,"dmg":1604,"engage":7,"fx":66,"heal":122,"skill":71,"spawn":97,"status":450}, "fx": {"counter":2,"explode":3,"expose":9,"overload":2,"phase":1,"shield":9,"shieldBreak":16,"sleep":7,"summon":5,"telegraph":6,"zone":6}, - "snaps": "de0d6fce aa9dbd18 e5f78211 369608f9 eaf0206b 8ca00225 879ade74 10585017 e8565d0c e354c612 a50e5370 07ad00b4 54071507 c18f3d28" + "snaps": "de0d6fce aa9dbd18 e5f78211 c3f8e3b0 fc442302 346c83ec 4da051b4 9d39a0c9 efa79e92 54d1dd58 06b88f9e cb39df32 d9ec3ead dc7c90a2" }, "roster-006": { "about": "pass 0 band 3: chess_char_2_17_b chess_char_2_18_b chess_char_3_06_a chess_char_2_13_b chess_char_2_16_b chess_char_3_02_a chess_char_3_03_a chess_char_3_04_a chess_char_3_05_a chess_char_2_14_b chess_char_2_19_b chess_char_3_01_a", @@ -583,10 +583,10 @@ "enemy_1513_dekght_2": [1,1,0,7576,43200], "enemy_2034_sythef": [1,1,0,0,8640] }, - "hooks": [1,188,4672,722,722,1306,1290,0,173,173,63,62,0,21799,117,7,171,0,1,180,0,0,0], - "events": {"atk":902,"bounty":6,"deploy":15,"die":173,"dmg":1290,"engage":11,"fx":175,"skill":125,"spawn":186,"status":246}, + "hooks": [1,188,4672,722,722,1306,1290,0,173,173,63,62,0,21799,116,7,171,0,1,180,0,0,0], + "events": {"atk":902,"bounty":6,"deploy":15,"die":173,"dmg":1290,"engage":11,"fx":175,"skill":125,"spawn":186,"status":247}, "fx": {"camouflage":2,"crit":20,"displace":31,"dp":5,"explode":3,"phase":1,"ripple":8,"shadowWeave":27,"shield":2,"stealth":4,"summon":51,"telegraph":3,"volley":9,"wolfShadow":4,"wolfShadowLost":4,"zone":1}, - "snaps": "666c3952 c12e8ac5 b8465c85 181aac73 83f4c6bc 379cc6b1 d6d1dfd4 0a0a30bb 6118cee8 f3f3b09c 65b7bb7b 26dd48c1 7c715892 2ad50871 51e66f5d 1dc394a0" + "snaps": "666c3952 c12e8ac5 b8465c85 181aac73 83f4c6bc 379cc6b1 d6d1dfd4 0a0a30bb 6118cee8 9c29b924 1cd619f9 c6e68683 5682d37c b55b14bf 4f198fe7 7f77580e" }, "roster-010": { "about": "pass 0 band 4: chess_char_4_17_a chess_char_4_18_a chess_char_4_11_a chess_char_4_19_a chess_char_4_07_a chess_char_4_16_a chess_char_4_09_a chess_char_4_10_a chess_char_4_12_a chess_char_4_13_a chess_char_4_14_a chess_char_4_20_a token_10041_cathy_catsld token_10041_cathy_catsld", @@ -600,28 +600,28 @@ "time": 170, "ticks": 5100, "reason": "timeout", - "killed": 34, + "killed": 33, "total": 102, "unspawned": 0, "bossHpLeft": null, - "rngDraws": 78, + "rngDraws": 73, "errors": {"count":0,"kinds":[]}, "players": { - "p1": {"killed":34,"total":102,"perfect":false,"leaks":68,"leaksUncounted":0,"coins":6,"dmg":370675,"bossDmg":0,"heal":1763,"deaths":21,"layerGains":{"preciShip":8}} + "p1": {"killed":33,"total":102,"perfect":false,"leaks":69,"leaksUncounted":0,"coins":6,"dmg":366687,"bossDmg":0,"heal":1763,"deaths":21,"layerGains":{"preciShip":8}} }, "units": [ - ["p1",1,"op","chess_char_4_17_a",1,null,0,0,5,0,1650,2849,0,12,0], + ["p1",1,"op","chess_char_4_17_a",1,null,0,0,5,0,875,2849,0,10,0], ["p1",2,"op","chess_char_4_18_a",1,null,0,0,6,0,1816,4317,1450,3,3], - ["p1",3,"op","chess_char_4_11_a",1,null,2144,1,128,0,484,2969,0,1,1], - ["p1",4,"op","chess_char_4_19_a",2,null,0,0,95,0,12345,3120,0,20,1], + ["p1",3,"op","chess_char_4_11_a",1,null,2144,1,128,0,1453,2969,0,3,1], + ["p1",4,"op","chess_char_4_19_a",2,null,0,0,95,1,13411,3120,0,38,1], ["p1",5,"op","chess_char_4_07_a",1,null,0,0,76,0,1661,3476,0,2,1], - ["p1",6,"op","chess_char_4_16_a",2,null,278.08,1,132,0,85549,5952,0,32,5], - ["p1",7,"op","chess_char_4_09_a",1,null,0,0,11,1,36286,1336,0,21,1], - ["p1",8,"op","chess_char_4_10_a",1,null,0,0,108,1,30861,4894,0,20,1], + ["p1",6,"op","chess_char_4_16_a",2,null,329.53,1,132,0,79303,5900,0,32,5], + ["p1",7,"op","chess_char_4_09_a",1,null,0,0,11,2,36262,1336,0,22,1], + ["p1",8,"op","chess_char_4_10_a",1,null,0,0,108,1,27479,4894,0,19,1], ["p1",9,"op","chess_char_4_12_a",2,null,0,0,112,0,21666,3821,313,16,1], - ["p1",10,"op","chess_char_4_13_a",1,null,0,0,98,2,28597,3174,0,48,4], - ["p1",11,"op","chess_char_4_14_a",1,null,0,0,94,12,110972,2552,0,22,2], - ["p1",12,"op","chess_char_4_20_a",2,null,0,0,4,4,38788,1217,0,13,1], + ["p1",10,"op","chess_char_4_13_a",1,null,0,0,98,1,26215,3174,0,47,4], + ["p1",11,"op","chess_char_4_14_a",1,null,0,0,94,11,125806,2552,0,23,2], + ["p1",12,"op","chess_char_4_20_a",2,null,0,0,4,4,30739,1217,0,13,1], ["p1",13,"token","token_10041_cathy_catsld",null,null,100,1,17,0,0,0,0,0,null], ["p1",14,"token","token_10041_cathy_catsld",null,null,100,1,16,0,0,0,0,0,null], ["-","~1","device","trap_1105_accrate",null,null,100,1,1,0,0,0,0,0,null], @@ -630,26 +630,26 @@ ], "enemies": { "enemy_10034_cnvsax": [1,1,0,344,42998], - "enemy_1005_yokai": [24,12,12,0,54735], - "enemy_1005_yokai_2": [27,4,18,6358,69536], - "enemy_1005_yokai_3": [6,0,5,18350,83393], + "enemy_1005_yokai": [24,12,12,0,54033], + "enemy_1005_yokai_2": [27,4,18,6035,70708], + "enemy_1005_yokai_3": [6,0,5,17572,84191], "enemy_10083_hlbird": [1,1,0,0,6450], - "enemy_10144_xdelk_2": [1,0,1,2974,31667], - "enemy_1050_lslime": [1,0,1,9009,21335], - "enemy_1158_divman": [1,1,0,305,14189], - "enemy_1174_duholy_2": [1,0,1,1192,4347], + "enemy_10144_xdelk_2": [1,0,1,2974,31393], + "enemy_1050_lslime": [1,0,1,8977,20242], + "enemy_1158_divman": [1,1,0,457,14189], + "enemy_1174_duholy_2": [1,0,1,2284,4214], "enemy_1204_msfhu_2": [1,1,0,0,6], - "enemy_1267_nhpbr_2": [1,0,1,240,21861], - "enemy_1269_nhfly": [33,14,19,823,16096], + "enemy_1267_nhpbr_2": [1,0,1,240,22940], + "enemy_1269_nhfly": [33,13,20,661,11330], "enemy_1321_wdarft": [1,0,1,0,0], - "enemy_1422_lrsldr_2": [1,0,1,0,4062], + "enemy_1422_lrsldr_2": [1,0,1,0,3993], "enemy_1516_jakill": [1,0,1,81,0], "enemy_2034_sythef_2": [1,0,1,0,0] }, - "hooks": [1,130,5100,423,423,1014,982,222,55,117,21,22,0,7786,429,11,102,62,1,170,2,0,23], - "events": {"atk":520,"bounty":3,"deploy":25,"die":55,"dmg":898,"engage":12,"fx":160,"heal":5,"layer":2,"leak":62,"skill":44,"spawn":119,"status":287}, - "fx": {"block":9,"catShield":2,"charge":1,"dilemma":1,"dodge":23,"explode":16,"explosion":2,"featherArrow":1,"flame":1,"frostNova":4,"garrison":2,"garrisonGrant":1,"overclock":1,"phase":1,"pull":1,"riposte":1,"rockslide":3,"shieldBreak":5,"slippery":1,"summon":11,"swordRain":48,"swordStorm":5,"telegraph":2,"thorns":6,"tornado":1,"tornadoPulse":5,"undying":6}, - "snaps": "57fe2e2f 9740eab7 bc769df4 4b11e270 22996d81 de0a7802 8a9b54fe 11b5d7b3 27f8d1f7 407381fb 454bf8fe fb11d7df adcdf5d5 fac269bf c684cb06 d99688cd 0cfb92e2" + "hooks": [1,130,5100,442,442,1047,1020,222,54,117,21,22,0,7912,379,12,102,63,1,184,2,0,24], + "events": {"atk":535,"bounty":3,"deploy":25,"die":54,"dmg":936,"engage":12,"fx":154,"heal":5,"layer":2,"leak":63,"skill":44,"spawn":119,"status":346}, + "fx": {"block":3,"catShield":2,"charge":1,"dilemma":1,"dodge":24,"explode":15,"explosion":2,"featherArrow":1,"flame":1,"frostNova":4,"garrison":2,"garrisonGrant":1,"overclock":1,"phase":1,"pull":1,"riposte":2,"rockslide":3,"shieldBreak":5,"slippery":1,"summon":11,"swordRain":48,"swordStorm":5,"telegraph":2,"thorns":5,"tornado":1,"tornadoPulse":5,"undying":6}, + "snaps": "1467400e 4a5478e6 1d307c32 273fdcd9 459aae5d b5e975d0 8af52b0a cadb4b65 aeccf446 43f385e3 dcfeb25d c6fffd03 f510862f f4a6e040 6bd8ba33 f76b67c9 ba9879a2" }, "roster-011": { "about": "pass 0 band 5: chess_char_4_23_a chess_char_4_01_b chess_char_4_22_a chess_char_4_04_b chess_char_4_07_b chess_char_4_09_b chess_char_4_21_a chess_char_4_24_a chess_char_4_25_a chess_char_4_26_a chess_char_4_02_b chess_char_4_06_b", @@ -720,31 +720,31 @@ "round": 10, "seed": 1517795683, "waveId": "act1autochess_h03", - "time": 162.6, - "ticks": 4878, + "time": 161.47, + "ticks": 4844, "reason": "cleared", "killed": 99, "total": 100, "unspawned": 0, "bossHpLeft": null, - "rngDraws": 187, + "rngDraws": 194, "errors": {"count":0,"kinds":[]}, "players": { - "p1": {"killed":99,"total":100,"perfect":false,"leaks":1,"leaksUncounted":0,"coins":10,"dmg":983916,"bossDmg":0,"heal":22157,"deaths":7,"layerGains":{"preciShip":8}} + "p1": {"killed":99,"total":100,"perfect":false,"leaks":1,"leaksUncounted":0,"coins":10,"dmg":985546,"bossDmg":0,"heal":21845,"deaths":7,"layerGains":{"preciShip":8}} }, "units": [ - ["p1",1,"op","chess_char_4_17_b",1,"uniequip_002_hsguma",3046.73,1,7,0,184,466,0,20,0], - ["p1",2,"op","chess_char_4_18_b",1,"uniequip_002_mudrok",6104,1,9,4,57534,2092,2092,32,7], + ["p1",1,"op","chess_char_4_17_b",1,"uniequip_002_hsguma",3430.24,1,7,1,184,83,0,20,0], + ["p1",2,"op","chess_char_4_18_b",1,"uniequip_002_mudrok",6104,1,9,4,50229,1721,1721,31,6], ["p1",3,"op","chess_char_4_11_b",1,"uniequip_002_cathy",2644,1,124,0,2731,3521,0,3,1], - ["p1",4,"op","chess_char_4_19_b",2,"uniequip_002_flamtl",0,0,104,4,45091,4236,0,45,3], - ["p1",5,"op","chess_char_4_22_b",2,"uniequip_002_svrash",2169,1,122,10,105064,5538,0,27,3], - ["p1",6,"op","chess_char_4_16_b",2,"uniequip_002_texas2",1619,1,113,3,4767,5745,362,24,3], + ["p1",4,"op","chess_char_4_19_b",2,"uniequip_002_flamtl",0,0,104,3,52099,4236,0,53,4], + ["p1",5,"op","chess_char_4_22_b",2,"uniequip_002_svrash",2219,1,122,9,101389,5488,0,26,3], + ["p1",6,"op","chess_char_4_16_b",2,"uniequip_002_texas2",1619,1,113,2,4659,5745,362,27,3], ["p1",7,"op","chess_char_4_10_b",1,"uniequip_002_aroma",1664,1,4,0,0,0,0,0,0], - ["p1",8,"op","chess_char_4_12_b",2,"uniequip_002_glady",2232,1,5,2,6911,557,557,14,2], - ["p1",9,"op","chess_char_4_13_b",1,"uniequip_002_gnosis",1989,1,11,20,187170,2441,0,92,38], - ["p1",10,"op","chess_char_4_14_b",1,"uniequip_002_lionhd",1576,1,13,44,488221,7756,0,57,23], - ["p1",11,"op","chess_char_4_20_b",2,"uniequip_002_fartth",0,0,6,12,86244,1419,0,28,5], - ["p1",12,"op","chess_char_4_21_b",1,"uniequip_002_plosis",1534,1,14,0,0,9049,19146,96,2], + ["p1",8,"op","chess_char_4_12_b",2,"uniequip_002_glady",2232,1,5,2,8753,557,557,14,2], + ["p1",9,"op","chess_char_4_13_b",1,"uniequip_002_gnosis",1989,1,11,22,185454,2255,0,90,38], + ["p1",10,"op","chess_char_4_14_b",1,"uniequip_002_lionhd",1526,1,13,43,489267,8101,0,55,23], + ["p1",11,"op","chess_char_4_20_b",2,"uniequip_002_fartth",0,0,6,13,90781,1419,0,28,5], + ["p1",12,"op","chess_char_4_21_b",1,"uniequip_002_plosis",1484,1,14,0,0,9049,19206,94,2], ["p1",13,"token","token_10041_cathy_catsld",null,null,100,1,17,0,0,0,0,0,null], ["p1",14,"token","token_10041_cathy_catsld",null,null,100,1,16,0,0,0,0,0,null], ["-","~1","device","trap_1105_accrate",null,null,100,0,1,0,0,0,0,0,null], @@ -760,19 +760,19 @@ "enemy_1183_mlasrt": [1,1,0,988,7488], "enemy_1207_sfji_2": [1,1,0,0,16128], "enemy_1208_msfji_2": [4,4,0,0,120], - "enemy_1267_nhpbr": [45,45,0,12545,233280], - "enemy_1267_nhpbr_2": [24,24,0,8150,152064], + "enemy_1267_nhpbr": [45,45,0,12900,233280], + "enemy_1267_nhpbr_2": [24,24,0,7500,152064], "enemy_1270_nhstlk": [1,1,0,0,13824], - "enemy_1270_nhstlk_2": [15,15,0,6817,276480], + "enemy_1270_nhstlk_2": [15,15,0,6314,276480], "enemy_1325_cbgpro_2": [1,1,0,0,5299], "enemy_1425_lrcmra_2": [1,1,0,718,28800], - "enemy_1525_blkswb": [1,0,1,11702,37587], - "enemy_2050_smsha": [1,1,0,1902,46080] + "enemy_1525_blkswb": [1,0,1,11126,39216], + "enemy_2050_smsha": [1,1,0,2630,46080] }, - "hooks": [1,122,4878,469,469,1415,1416,521,107,110,87,86,0,15601,1813,20,100,1,1,122,1,0,1], - "events": {"atk":626,"bounty":5,"deploy":19,"die":109,"dmg":1408,"engage":10,"fx":238,"heal":213,"layer":1,"leak":1,"skill":175,"spawn":117,"status":929}, - "fx": {"beam":6,"blink":2,"displace":4,"dodge":1,"explode":4,"explosion":23,"featherArrow":5,"flame":3,"frostNova":38,"garrison":1,"garrisonGrant":1,"healField":2,"overclock":1,"palsy":1,"pull":2,"revive":4,"riposte":1,"rockslide":7,"shieldBreak":8,"slash":23,"summon":1,"swordRain":9,"swordStorm":3,"telegraph":4,"tornado":2,"tornadoPulse":10,"truesilver":3,"zone":69}, - "snaps": "a9c24b01 43e8c4cb 9f57bc24 f59bb440 6678caa3 a8a8f019 00aa512d 0d1483f9 3218befc 941b711a 42e275ff 71560683 48d17a97 d73abc3a cd6e4828 23a7c2fb ed427a58" + "hooks": [1,122,4844,474,474,1410,1409,514,107,110,87,86,0,15791,1515,23,100,1,1,121,1,0,2], + "events": {"atk":621,"bounty":5,"deploy":19,"die":109,"dmg":1401,"engage":10,"fx":242,"heal":206,"layer":1,"leak":1,"skill":175,"spawn":117,"status":1119}, + "fx": {"beam":6,"blink":2,"block":1,"displace":8,"dodge":2,"explode":4,"explosion":23,"featherArrow":5,"flame":4,"frostNova":38,"garrison":1,"garrisonGrant":1,"healField":2,"overclock":1,"palsy":1,"pull":2,"revive":4,"riposte":2,"rockslide":6,"shieldBreak":8,"slash":23,"summon":1,"swordRain":6,"swordStorm":3,"telegraph":4,"tornado":2,"tornadoPulse":10,"truesilver":3,"zone":69}, + "snaps": "a9c24b01 82cf2fda dbf7ac00 19d6e0fe bf0d6eef 39844f92 381970eb 0fff21ed d568b845 7e0b3bed 79bdef09 a61efdea d3ec023b 3898ceb9 a9d144b1 f7530a04 cdd5419c" }, "roster-013": { "about": "pass 0 band 5: chess_char_4_23_b chess_char_5_08_a chess_char_5_01_a chess_char_5_05_a chess_char_5_06_a chess_char_5_07_a chess_char_4_24_b chess_char_4_25_b chess_char_4_26_b chess_char_5_02_a chess_char_5_03_a chess_char_5_10_a", @@ -854,43 +854,29 @@ "round": 12, "seed": 2531322120, "waveId": "act1autochess_h05", - "time": 204.3, - "ticks": 6129, + "time": 206, + "ticks": 6180, "reason": "cleared", - "killed": 51, - "total": 185, + "killed": 20, + "total": 183, "unspawned": 0, "bossHpLeft": null, - "rngDraws": 567, + "rngDraws": 449, "errors": {"count":0,"kinds":[]}, - "players": { - "p1": { - "killed": 51, - "total": 185, - "perfect": false, - "leaks": 134, - "leaksUncounted": 0, - "coins": 4, - "dmg": 1560619, - "bossDmg": 0, - "heal": 32465, - "deaths": 24, - "layerGains": {"visiShip":6} - } - }, + "players": {"p1":{"killed":20,"total":183,"perfect":false,"leaks":163,"leaksUncounted":0,"coins":2,"dmg":889891,"bossDmg":0,"heal":29726,"deaths":26,"layerGains":{}}}, "units": [ - ["p1",1,"op","chess_char_5_11_a",1,null,0,0,5,1,1864,4882,3905,9,5], - ["p1",2,"op","chess_char_5_19_a",2,null,3241,1,212,9,152036,7808,592,23,2], - ["p1",3,"op","chess_char_5_13_a",1,null,0,0,10,3,92327,10927,79,46,1], - ["p1",4,"op","chess_char_5_14_a",1,null,652.64,1,219,4,61878,9661,1002,35,10], - ["p1",5,"op","chess_char_5_01_b",1,"uniequip_002_excu2",0,0,86,4,66227,6269,1641,21,1], - ["p1",6,"op","chess_char_5_17_a",1,null,0,0,218,7,124864,36272,8820,138,10], - ["p1",7,"op","chess_char_5_12_a",0,null,1404,1,8,0,60260,0,0,35,29], - ["p1",8,"op","chess_char_5_15_a",1,null,926,1,12,2,406206,1445,4381,145,9], - ["p1",9,"op","chess_char_5_20_a",2,null,1108,1,108,1,94209,1714,3,36,4], - ["p1",10,"op","chess_char_5_21_a",1,null,1279,1,4,13,339470,737,737,166,4], - ["p1",11,"op","chess_char_5_22_a",1,null,0,0,6,7,160285,1405,168,45,12], - ["p1",12,"op","chess_char_5_23_a",1,null,0,0,107,0,0,7087,10986,21,1], + ["p1",1,"op","chess_char_5_11_a",1,null,0,0,5,0,469,3802,3338,5,4], + ["p1",2,"op","chess_char_5_19_a",2,null,3241,1,218,0,37260,7534,444,6,2], + ["p1",3,"op","chess_char_5_13_a",1,null,0,0,10,2,58668,8264,0,35,1], + ["p1",4,"op","chess_char_5_14_a",1,null,0,0,114,4,48647,10502,1132,26,8], + ["p1",5,"op","chess_char_5_01_b",1,"uniequip_002_excu2",0,0,81,4,60076,6362,1734,19,1], + ["p1",6,"op","chess_char_5_17_a",1,null,480.81,1,217,1,83279,39281,8016,124,13], + ["p1",7,"op","chess_char_5_12_a",0,null,1404,1,8,1,59404,0,0,35,28], + ["p1",8,"op","chess_char_5_15_a",1,null,0,0,12,0,83530,929,1446,23,1], + ["p1",9,"op","chess_char_5_20_a",2,null,1108,1,106,1,87526,1714,3,40,5], + ["p1",10,"op","chess_char_5_21_a",1,null,1279,1,4,5,291216,737,737,138,3], + ["p1",11,"op","chess_char_5_22_a",1,null,0,0,6,2,78821,1237,0,33,7], + ["p1",12,"op","chess_char_5_23_a",1,null,0,0,88,0,0,7513,12724,23,1], ["-","~1","device","trap_1105_accrate",null,null,100,1,1,0,0,0,0,0,null], ["-","~2","device","trap_1105_accrate",null,null,100,0,2,0,0,0,0,0,null], ["-","~3","device","trap_1105_accrate",null,null,100,1,3,0,0,0,0,0,null], @@ -899,25 +885,24 @@ "enemies": { "enemy_10043_sailor": [1,1,0,669,16423], "enemy_10094_crstf": [1,1,0,0,11944], - "enemy_1017_defdrn": [1,0,1,0,10071], - "enemy_1069_icebrk_2": [1,0,1,0,15229], - "enemy_1161_tidmag_2": [1,0,1,12415,11694], - "enemy_1195_sfyin_2": [1,1,0,0,9257], - "enemy_1196_msfyin_2": [2,1,1,0,4], - "enemy_1208_msfji_2": [1,1,0,0,30], - "enemy_1249_lysdb_2": [60,18,42,30292,670766], - "enemy_1251_lysyta": [63,21,42,10017,295860], - "enemy_1254_lypa_2": [48,7,41,31479,468808], - "enemy_1272_nhtank": [1,0,1,5484,12228], - "enemy_1329_cbshld": [1,0,1,0,5092], - "enemy_1430_lrrook": [1,0,1,0,19588], - "enemy_1539_reid": [1,0,1,0,4273], - "enemy_2085_skzjxd": [1,0,1,0,9354] + "enemy_1017_defdrn": [1,0,1,0,6239], + "enemy_1069_icebrk_2": [1,0,1,0,16301], + "enemy_1161_tidmag_2": [1,0,1,11852,2630], + "enemy_1195_sfyin_2": [1,0,1,0,6574], + "enemy_1208_msfji_2": [1,0,1,0,13], + "enemy_1249_lysdb_2": [60,7,53,24574,343032], + "enemy_1251_lysyta": [63,11,52,6185,168650], + "enemy_1254_lypa_2": [48,0,48,39336,293445], + "enemy_1272_nhtank": [1,0,1,6475,4555], + "enemy_1329_cbshld": [1,0,1,933,904], + "enemy_1430_lrrook": [1,0,1,0,15119], + "enemy_1539_reid": [1,0,1,0,698], + "enemy_2085_skzjxd": [1,0,1,0,3363] }, - "hooks": [1,219,6129,799,886,3979,4042,4646,76,211,88,88,7,26282,1036,81,185,134,1,87,1,9,16], - "events": {"atk":1230,"bounty":2,"deploy":31,"die":77,"dmg":4035,"engage":12,"fx":457,"heal":135,"layer":1,"leak":134,"skill":176,"spawn":201,"status":1437}, - "fx": {"aoe":27,"burst":9,"charge":2,"crit":28,"dodge":16,"dollEnd":1,"extraAttack":5,"garrison":1,"healAoe":5,"iceSpike":120,"shieldBreak":60,"soul":4,"sp":32,"substitute":2,"summon":2,"swap":1,"weightless":4,"zone":138}, - "snaps": "bf21e0f5 3127df41 9086c44e e773be1d 8b80858c 9ca69e63 6c5963b5 b4e19101 8272fb69 6f024a31 d6c775bd 67a40b49 35fcf10a 641a27b7 811b4739 7119dc1c 9bde3e28 5a1395ec 99293181 98401046 6e8892ef" + "hooks": [1,218,6180,578,654,2296,2306,4217,47,211,74,72,6,19379,736,65,183,163,1,51,0,5,13], + "events": {"atk":877,"bounty":1,"deploy":32,"die":48,"dmg":2306,"engage":12,"fx":270,"heal":84,"leak":163,"skill":146,"spawn":199,"status":1640}, + "fx": {"aoe":20,"burst":5,"charge":1,"crit":22,"dodge":13,"dollEnd":1,"extraAttack":5,"healAoe":4,"iceSpike":91,"shieldBreak":59,"sp":24,"substitute":1,"summon":1,"weightless":5,"zone":18}, + "snaps": "0c6e2f80 95800065 20cb7b80 783d1082 74566cbc ccbe7467 23fbc179 18f74c84 94bb63cc dc5f013b 369b14d8 42807c39 f9a82de0 ed240414 3e383e70 6173621d 08bebe99 e7f94634 75c14e4c 24c64c62 3dbcec0f" }, "roster-015": { "about": "pass 0 band 6: chess_char_5_08_b chess_char_5_11_b chess_char_5_05_b chess_char_5_06_b chess_char_5_13_b chess_char_5_14_b chess_char_5_07_b chess_char_5_02_b chess_char_5_03_b chess_char_5_10_b chess_char_5_12_b chess_char_5_15_b", @@ -928,14 +913,14 @@ "round": 12, "seed": 1904822123, "waveId": "act1autochess_h05", - "time": 183.23, - "ticks": 5497, + "time": 179.1, + "ticks": 5373, "reason": "cleared", "killed": 107, "total": 107, "unspawned": 0, "bossHpLeft": null, - "rngDraws": 201, + "rngDraws": 190, "errors": {"count":0,"kinds":[]}, "players": { "p1": { @@ -945,35 +930,35 @@ "leaks": 0, "leaksUncounted": 0, "coins": 12, - "dmg": 1872086, + "dmg": 1870582, "bossDmg": 0, - "heal": 63172, + "heal": 58266, "deaths": 0, "layerGains": {"indomShip":20} } }, "units": [ - ["p1",1,"op","chess_char_5_08_b",2,"uniequip_002_horn",2775,1,8,6,206410,9109,0,67,4], - ["p1",2,"op","chess_char_5_11_b",1,"uniequip_002_demkni",4784.8,1,6,0,0,10980,14010,0,82], - ["p1",3,"op","chess_char_5_05_b",2,"uniequip_002_ulpia",12103.52,1,141,40,669044,46931,26451,48,6], - ["p1",4,"op","chess_char_5_06_b",2,"uniequip_002_etlchi",3447,1,11,3,33114,492,95,12,3], - ["p1",5,"op","chess_char_5_13_b",1,"uniequip_002_ghost2",3372.8,1,12,0,4965,13475,0,3,1], - ["p1",6,"op","chess_char_5_14_b",1,"none",1994,1,13,15,330944,4270,211,29,43], - ["p1",7,"op","chess_char_5_07_b",2,"uniequip_002_surtr",1,0,113,21,295600,49599,7139,72,4], - ["p1",8,"op","chess_char_5_02_b",2,"uniequip_002_titi",1439,1,4,1,144,0,1420,1,1], + ["p1",1,"op","chess_char_5_08_b",2,"uniequip_002_horn",2775,1,8,7,178894,9109,0,69,4], + ["p1",2,"op","chess_char_5_11_b",1,"uniequip_002_demkni",4784.8,1,6,0,0,10740,13921,0,76], + ["p1",3,"op","chess_char_5_05_b",2,"uniequip_002_ulpia",12573,1,143,41,690794,40597,23803,46,6], + ["p1",4,"op","chess_char_5_06_b",2,"uniequip_002_etlchi",3447,1,11,2,31094,0,0,11,3], + ["p1",5,"op","chess_char_5_13_b",1,"uniequip_002_ghost2",2032.8,1,12,1,5832,13587,0,4,1], + ["p1",6,"op","chess_char_5_14_b",1,"none",1994,1,13,16,299056,6135,285,33,41], + ["p1",7,"op","chess_char_5_07_b",2,"uniequip_002_surtr",2680,1,139,21,319123,50064,7665,77,4], + ["p1",8,"op","chess_char_5_02_b",2,"uniequip_002_titi",1439,1,4,0,0,0,0,0,0], ["p1",9,"op","chess_char_5_03_b",2,"uniequip_002_blaze2",1472,1,5,0,0,0,0,0,0], - ["p1",10,"op","chess_char_5_10_b",2,"uniequip_002_lisa",1480,1,15,2,41253,19601,1393,50,4], + ["p1",10,"op","chess_char_5_10_b",2,"uniequip_002_lisa",1480,1,15,0,44115,18392,1375,45,4], ["p1",11,"op","chess_char_5_12_b",0,"uniequip_002_dusk",714.8,1,7,0,18142,0,0,3,3], - ["p1",12,"op","chess_char_5_15_b",1,"uniequip_002_thorn2",1170,1,10,19,270272,2066,12009,6,4], + ["p1",12,"op","chess_char_5_15_b",1,"uniequip_002_thorn2",1170,1,10,19,280833,2066,10774,5,4], ["-","~1","device","trap_1105_accrate",null,null,100,0,1,0,0,0,0,0,null], ["-","~2","device","trap_1105_accrate",null,null,100,0,2,0,0,0,0,0,null], ["-","~3","device","trap_1105_accrate",null,null,100,0,3,0,0,0,0,0,null], - ["p1","~1","token","token_10015_dusk_drgn",null,null,1174.62,0,45,0,2197,1266,444,5,null], + ["p1","~1","token","token_10015_dusk_drgn",null,null,1329.59,0,45,0,2698,1111,444,5,null], ["p1","~1","token","token_10039_ulpia_block",null,null,3500,0,57,0,0,0,0,0,null], ["p1","~2","token","token_10039_ulpia_block",null,null,3500,0,79,0,0,0,0,0,null], ["p1","~3","token","token_10039_ulpia_block",null,null,3500,0,100,0,0,0,0,0,null], - ["p1","~4","token","token_10039_ulpia_block",null,null,3500,0,128,0,0,0,0,0,null], - ["p1","~5","token","token_10039_ulpia_block",null,null,3500,1,142,0,0,0,0,0,null] + ["p1","~4","token","token_10039_ulpia_block",null,null,3500,0,119,0,0,0,0,0,null], + ["p1","~5","token","token_10039_ulpia_block",null,null,3500,1,144,0,0,0,0,0,null] ], "enemies": { "enemy_10044_wintun": [1,1,0,0,13997], @@ -985,20 +970,20 @@ "enemy_1196_msfyin": [1,1,0,0,2], "enemy_1209_sfden": [1,1,0,0,21773], "enemy_1210_msfden": [1,1,0,0,35], - "enemy_1267_nhpbr_2": [36,36,0,24635,307930], - "enemy_1270_nhstlk_2": [27,27,0,22894,671846], - "enemy_1272_nhtank_2": [1,1,0,1200,23328], + "enemy_1267_nhpbr_2": [36,36,0,24310,307930], + "enemy_1270_nhstlk_2": [27,27,0,16438,671846], + "enemy_1272_nhtank_2": [1,1,0,750,23328], "enemy_1329_cbshld_2": [1,1,0,1845,20218], "enemy_1433_dsbasi": [1,1,0,287,6687], "enemy_2001_duckmi": [1,1,0,0,27994], "enemy_2085_skzjxd_2": [1,1,0,0,20218], - "enemy_5601_entlec": [3,3,0,0,7520], - "enemy_9006_actoxi": [30,30,0,11581,699840] + "enemy_5601_entlec": [3,3,0,0,6016], + "enemy_9006_actoxi": [30,30,0,12401,699840] }, - "hooks": [1,143,5497,380,380,2062,3029,5753,110,122,155,153,0,15642,4518,51,110,0,1,298,2,0,0], - "events": {"atk":455,"bounty":6,"deploy":30,"die":122,"dmg":2079,"engage":11,"fx":411,"heal":1621,"layer":2,"skill":308,"spawn":131,"status":682}, - "fx": {"anchor":6,"aoe":47,"candle":3,"ember":4,"garrison":2,"healAoe":82,"overload":4,"revive":3,"sp":102,"substitute":1,"summon":3,"swap":1,"telegraph":1,"teleport":9,"zone":143}, - "snaps": "2bf25774 dfb68eff 39246999 1c893ab8 bcda21da 8882e149 e2674282 dd69a9e4 3e191b04 85e6cc63 5add3e4d d2855d2a 16b81889 7c3966c7 513c6d91 92343fa9 a5c0b344 09da1f62 2136eea1" + "hooks": [1,144,5373,377,377,2030,2998,5742,110,122,146,144,0,15316,4330,52,110,0,1,314,2,0,0], + "events": {"atk":452,"bounty":6,"deploy":31,"die":122,"dmg":2047,"engage":10,"fx":396,"heal":1563,"layer":2,"skill":290,"spawn":131,"status":702}, + "fx": {"anchor":6,"aoe":45,"candle":3,"ember":4,"garrison":2,"healAoe":76,"overload":4,"revive":4,"sp":94,"substitute":1,"summon":3,"swap":1,"telegraph":1,"teleport":9,"zone":143}, + "snaps": "2bf25774 16aa2b64 27a71ffa 5e393a97 e6d9b68b 41108a96 f582a4dd d7ec51e9 4d1c15a2 403d31a0 c76db5d3 cfdd76f9 caa22ecb f165cb8f 8db4971d 8f1bb9d6 5fc89f37 e3b1f4a0" }, "roster-016": { "about": "pass 0 band 6: chess_char_5_19_b chess_char_6_03_a chess_char_6_06_a chess_char_5_17_b chess_char_5_20_b chess_char_5_21_b chess_char_5_22_b chess_char_5_23_b chess_char_6_01_a chess_char_6_02_a chess_char_6_04_a chess_char_6_05_a token_10017_skadi2_dedant", @@ -1012,40 +997,40 @@ "time": 230, "ticks": 6900, "reason": "timeout", - "killed": 79, + "killed": 80, "total": 126, "unspawned": 0, "bossHpLeft": null, - "rngDraws": 568, + "rngDraws": 567, "errors": {"count":0,"kinds":[]}, "players": { "p1": { - "killed": 79, + "killed": 80, "total": 126, "perfect": false, - "leaks": 47, + "leaks": 46, "leaksUncounted": 0, "coins": 6, - "dmg": 3625965, + "dmg": 3733651, "bossDmg": 0, - "heal": 73726, + "heal": 73282, "deaths": 12, "layerGains": {"preciShip":2} } }, "units": [ - ["p1",1,"op","chess_char_5_19_b",2,"uniequip_002_mlynar",3907,1,155,9,319089,12578,505,57,4], - ["p1",2,"op","chess_char_6_03_a",2,null,3649.5,1,153,1,63347,9646,3389,40,2], - ["p1",3,"op","chess_char_6_06_a",2,null,2223,1,141,9,376232,17794,732,73,2], - ["p1",4,"op","chess_char_5_17_b",1,"uniequip_002_f12yin",2738,1,74,6,134249,34756,12617,295,2], - ["p1",5,"op","chess_char_5_20_b",2,"uniequip_002_aglina",1382,1,10,0,114705,1182,705,42,5], - ["p1",6,"op","chess_char_5_21_b",1,"uniequip_002_sntlla",1629,1,84,0,216022,2324,401,113,3], - ["p1",7,"op","chess_char_5_22_b",1,"uniequip_002_nymph",1611,1,1,1,42732,1056,1056,11,4], - ["p1",8,"op","chess_char_5_23_b",1,"uniequip_002_reckpr",1610,1,3,0,0,2485,51822,72,4], - ["p1",9,"op","chess_char_6_01_a",2,null,1158,1,106,30,645243,1291,81,72,3], - ["p1",10,"op","chess_char_6_02_a",2,null,1687,1,7,20,1384858,7686,498,74,3], - ["p1",11,"op","chess_char_6_04_a",2,null,1161.9,1,130,1,64654,8281,903,0,3], - ["p1",12,"op","chess_char_6_05_a",2,null,1215,1,59,2,264834,2542,1017,68,5], + ["p1",1,"op","chess_char_5_19_b",2,"uniequip_002_mlynar",0,0,151,11,348850,12691,619,63,4], + ["p1",2,"op","chess_char_6_03_a",2,null,3649.5,1,153,1,71975,11338,3884,50,2], + ["p1",3,"op","chess_char_6_06_a",2,null,1916.3,1,141,8,368228,17680,709,73,2], + ["p1",4,"op","chess_char_5_17_b",1,"uniequip_002_f12yin",2738,1,74,2,137893,32787,10333,296,2], + ["p1",5,"op","chess_char_5_20_b",2,"uniequip_002_aglina",1382,1,10,0,113999,1182,705,42,5], + ["p1",6,"op","chess_char_5_21_b",1,"uniequip_002_sntlla",1629,1,84,0,214489,2324,401,113,3], + ["p1",7,"op","chess_char_5_22_b",1,"uniequip_002_nymph",1611,1,1,1,44034,1149,1149,11,4], + ["p1",8,"op","chess_char_5_23_b",1,"uniequip_002_reckpr",1610,1,3,0,0,2594,52988,73,4], + ["p1",9,"op","chess_char_6_01_a",2,null,1158,1,106,30,662662,1291,81,72,3], + ["p1",10,"op","chess_char_6_02_a",2,null,1687,1,7,24,1449626,7686,498,74,3], + ["p1",11,"op","chess_char_6_04_a",2,null,1099.73,1,130,1,60462,8281,897,0,3], + ["p1",12,"op","chess_char_6_05_a",2,null,1215,1,59,1,261433,2542,1017,68,5], ["p1",13,"token","token_10017_skadi2_dedant",null,null,100,0,13,0,0,0,0,0,null], ["p1","~1","token","token_10017_skadi2_dedant",null,null,100,0,60,0,0,0,0,0,null], ["p1","~2","token","token_10017_skadi2_dedant",null,null,100,0,131,0,0,0,0,0,null], @@ -1054,24 +1039,24 @@ "enemies": { "enemy_10045_parrot": [1,0,1,0,44064], "enemy_10098_crhro": [1,0,1,4685,94997], - "enemy_10124_uashld_2": [12,0,10,34007,659017], + "enemy_10124_uashld_2": [12,0,9,35487,756461], "enemy_1019_jshoot_2": [1,1,0,1861,16718], - "enemy_1043_zomsbr": [72,54,18,618,974327], - "enemy_1061_zomshd": [30,18,12,24836,1664045], + "enemy_1043_zomsbr": [72,55,17,618,987403], + "enemy_1061_zomshd": [30,18,12,22866,1663715], "enemy_1072_dlancer": [1,1,0,2738,37150], "enemy_1165_duhond": [1,1,0,0,17337], "enemy_1196_msfyin_2": [1,1,0,0,3], "enemy_1209_sfden_2": [1,0,1,0,40185], - "enemy_1273_stmgun_2": [1,1,0,30037,111451], + "enemy_1273_stmgun_2": [1,1,0,30319,111451], "enemy_1355_mrfly": [1,1,0,0,37150], - "enemy_1433_dsbasi_2": [1,1,0,134,35293], + "enemy_1433_dsbasi_2": [1,1,0,266,35293], "enemy_2001_duckmi_2": [1,0,1,0,9483], "enemy_9006_actoxi": [1,0,1,0,2384] }, - "hooks": [1,154,6900,951,1017,7281,7430,78804,91,140,40,36,17,35845,1032,57,126,45,1,102,1,7,6], - "events": {"atk":2283,"bounty":3,"deploy":28,"die":95,"dmg":7385,"engage":10,"fx":552,"heal":121,"layer":1,"leak":45,"skill":76,"spawn":142,"status":2410}, - "fx": {"aoe":8,"bombard":17,"bombardShell":17,"burst":7,"crit":50,"dodge":6,"explode":40,"firewall":2,"garrison":1,"iceSpike":90,"lightning":148,"lock":17,"lure":3,"revive":1,"snow":82,"soul":1,"sp":1,"storm":5,"talent":2,"telegraph":8,"tide":3,"wanted":38,"weightless":5}, - "snaps": "ee17d257 d832b8ac 2ca210aa 3cd3fc22 022376cf a362140e 0ca09d66 1f446040 29245222 70bfb33a 2b4ce12f 51a65ad5 1216d2fa f2d3b899 86e068de 5a0bbda6 1bb53622 0ef45b3c a98167d6 5245239e eac46280 b7e2f8ef 905be587" + "hooks": [1,153,6900,969,1035,7452,7615,78690,92,139,40,36,17,35774,997,55,126,43,1,105,1,8,6], + "events": {"atk":2352,"bounty":3,"deploy":27,"die":96,"dmg":7570,"engage":10,"fx":545,"heal":125,"layer":1,"leak":43,"skill":76,"spawn":142,"status":2467}, + "fx": {"aoe":8,"bombard":17,"bombardShell":17,"burst":8,"crit":45,"dodge":6,"explode":40,"firewall":2,"garrison":1,"iceSpike":90,"lightning":149,"lock":17,"lure":3,"revive":1,"snow":77,"soul":1,"sp":1,"storm":5,"talent":2,"telegraph":8,"tide":3,"wanted":39,"weightless":5}, + "snaps": "ee17d257 0b59b0ad 461e2113 7b451cff 2577f834 8be9cc35 3ffeca47 5e06511e 1860fdbb 7b09c7c0 d2d4efde 8268795c 3507fca1 be45a01f c967bd92 81b91a75 d190894b a282905b 18b49a06 fba2f221 078e9b35 63404055 d4790410" }, "roster-017": { "about": "pass 0 band 6: chess_char_6_15_a chess_char_6_19_a chess_char_6_07_a chess_char_6_17_a chess_char_6_08_a chess_char_6_09_a chess_char_6_11_a chess_char_6_12_a chess_char_6_13_a chess_char_6_14_a chess_char_6_16_a chess_char_6_18_a", @@ -1223,10 +1208,10 @@ "enemy_2002_bearmi_2": [1,1,0,0,18248], "enemy_9008_acbunn": [1,1,0,2434,19907] }, - "hooks": [1,146,5863,543,543,1347,1516,3220,125,132,42,38,32,26310,394,7,122,0,1,125,11,5,0], + "hooks": [1,146,5863,543,543,1347,1516,3220,125,132,42,38,32,26310,393,7,122,0,1,125,11,5,0], "events": {"atk":634,"bounty":6,"deploy":22,"die":132,"dmg":1435,"engage":13,"fx":264,"heal":169,"layer":11,"skill":80,"spawn":146,"status":444}, "fx": {"beam":5,"bombard":32,"bombardShell":32,"burst":5,"camouflage":2,"copy":1,"dp":5,"garrison":8,"lightning":99,"link":1,"lock":32,"lure":3,"scorchBurst":9,"snow":7,"split":5,"storm":7,"summon":2,"talent":1,"tide":5,"wanted":3}, - "snaps": "d98f113c d0331366 be0cebae 241fe6f7 134c6492 39edc9da 96df2aaa b5e300fe 865fba99 4cc163f0 3748edd7 acc90429 29160015 97e57a26 cabd46be 14cde004 c11ac045 97b93efb 317c26e6 835a5563" + "snaps": "d98f113c d0331366 be0cebae 241fe6f7 134c6492 39edc9da 96df2aaa b5e300fe 865fba99 4cc163f0 3748edd7 acc90429 29160015 97e57a26 80da508e ac4ff014 573be495 bd2534ab 4d574a76 d8940f53" }, "roster-019": { "about": "pass 0 band 7: chess_char_6_15_b chess_char_6_19_b chess_char_5_01_b chess_char_5_05_b chess_char_6_17_b chess_char_6_13_b chess_char_6_14_b chess_char_6_16_b chess_char_6_18_b chess_char_6_20_b chess_char_5_02_b chess_char_5_03_b", @@ -1675,10 +1660,10 @@ "enemy_1513_dekght_2": [1,0,1,3473,1400], "enemy_9010_acpupp": [1,0,1,0,1540] }, - "hooks": [1,98,4200,354,354,1421,1482,9,34,91,28,28,0,8507,30,36,73,56,1,38,0,0,0], - "events": {"atk":413,"bounty":3,"deploy":22,"die":35,"dmg":1480,"engage":14,"fx":22,"heal":9,"leak":56,"skill":56,"spawn":90,"status":57}, + "hooks": [1,98,4200,354,354,1421,1482,9,34,91,28,28,0,8507,22,36,73,56,1,38,0,0,0], + "events": {"atk":413,"bounty":3,"deploy":22,"die":35,"dmg":1480,"engage":14,"fx":22,"heal":9,"leak":56,"skill":56,"spawn":90,"status":64}, "fx": {"dp":3,"explode":3,"liberate":1,"phase":1,"revive":4,"shield":2,"sp":2,"strike":1,"summon":2,"telegraph":2,"wolfShadowLost":1}, - "snaps": "b048220b 78ebd5ff 0274759f 0c8cd24d 1366fed1 15a201b9 b5ba8640 4392779a 3960fa36 ca328f1c 3007dd06 fb8e1623 2149ac25 f795894d" + "snaps": "eabc0c84 cc18ecdc 1266ee58 d2db745d d594c101 9c126fe9 207f1030 2cde0f2a d36f3786 a951fe8c 1df07ff6 2a7a28d7 440f50c1 e202f4c9" }, "roster-027": { "about": "pass 1 band 4: chess_char_3_06_b chess_char_3_12_b chess_char_3_02_b chess_char_3_03_b chess_char_3_04_b chess_char_3_05_b chess_char_3_21_a chess_char_3_01_b chess_char_3_08_b chess_char_3_09_b chess_char_3_10_b chess_char_3_11_b", @@ -1836,10 +1821,10 @@ "enemy_1439_dslntf": [6,3,3,4567,120118], "enemy_2002_bearmi_2": [1,1,0,759,8800] }, - "hooks": [1,105,4653,480,480,970,1641,1116,84,92,46,46,0,21734,812,34,85,8,1,84,1,6,1], - "events": {"atk":522,"bounty":2,"deploy":18,"die":84,"dmg":1634,"engage":10,"fx":40,"heal":461,"layer":1,"leak":8,"skill":95,"spawn":101,"status":156}, + "hooks": [1,105,4653,480,480,970,1641,1116,84,92,46,46,0,21734,799,34,85,8,1,84,1,6,1], + "events": {"atk":522,"bounty":2,"deploy":18,"die":84,"dmg":1634,"engage":10,"fx":40,"heal":461,"layer":1,"leak":8,"skill":95,"spawn":101,"status":161}, "fx": {"block":7,"burst":6,"dodge":1,"dp":4,"explode":1,"expose":1,"garrison":1,"garrisonGrant":1,"phase":1,"riposte":1,"shieldBreak":7,"swordRain":4,"zone":5}, - "snaps": "d1a66fbb 1e4c3412 50d5a220 3784873e 6539fb5a bdd13149 d2820e1d d735f45a 37cfa9b8 74ac8ddf 06761a36 b8c522af acbe6cc7 8997fdb6 b88a5f31 188ece1c" + "snaps": "d1a66fbb f513fce3 35366acd a782585a 1cca88b7 c32c1c35 458327b9 d931e85e 38eb4f6c cfceb593 3ec13b33 ce0eedf2 24ee3292 0929683f fe812890 3b791131" }, "roster-030": { "about": "pass 1 band 5: chess_char_4_23_a chess_char_4_01_b chess_char_4_22_a chess_char_4_04_b chess_char_4_07_b chess_char_4_09_b chess_char_4_21_a chess_char_4_24_a chess_char_4_25_a chess_char_4_26_a chess_char_4_02_b chess_char_4_06_b", @@ -1944,10 +1929,10 @@ "enemy_1422_lrsldr_2": [42,41,1,2292,380136], "enemy_1539_reid": [1,0,1,8576,22046] }, - "hooks": [1,97,5700,1078,1078,1163,1151,137,75,80,197,195,0,16515,2425,65,76,5,1,82,1,0,8], - "events": {"atk":1138,"bounty":3,"deploy":19,"die":75,"dmg":1132,"engage":10,"fx":86,"heal":129,"layer":1,"leak":5,"skill":395,"spawn":92,"status":425}, + "hooks": [1,97,5700,1078,1078,1163,1151,137,75,80,197,195,0,16515,2327,65,76,5,1,82,1,0,8], + "events": {"atk":1138,"bounty":3,"deploy":19,"die":75,"dmg":1132,"engage":10,"fx":86,"heal":129,"layer":1,"leak":5,"skill":395,"spawn":92,"status":441}, "fx": {"block":4,"charge":4,"displace":19,"dodge":8,"dp":13,"explode":5,"garrison":1,"garrisonGrant":1,"riposte":8,"shieldBreak":19,"swordRain":2,"undying":2}, - "snaps": "70957ea7 36fd6b81 23e9087d a0b5a79c cb653e95 722d5669 f8ba6998 ada30e6b e80f6fd0 aeb2879d c3c7b39d 32bc4a65 a331c230 18d087c5 ebeb5a3e 2d4d3845 02913253 fa5c64c9 0bb2c539" + "snaps": "730da2d7 e62de60c e4c4d91d c4464ef1 a44140d8 9b7046af 90d1a66e b98375b3 a7652051 fbee1ff0 c8f7dbfa 6dd66c53 717d69bb 2f0a9d8b 6a37cfc6 a6969565 4ab435d5 94c5c337 a51f5bdf" }, "roster-032": { "about": "pass 1 band 5: chess_char_4_23_b chess_char_5_08_a chess_char_5_01_a chess_char_5_05_a chess_char_5_06_a chess_char_5_07_a chess_char_4_24_b chess_char_4_25_b chess_char_4_26_b chess_char_5_02_a chess_char_5_03_a chess_char_5_10_a", @@ -2246,10 +2231,10 @@ "enemy_1415_mmkabi_2": [1,0,1,0,32288], "enemy_2003_rockman": [1,0,1,754,8238] }, - "hooks": [1,157,6439,572,572,1129,1384,9501,82,147,54,54,56,23633,4137,23,130,65,1,82,2,3,0], + "hooks": [1,157,6439,572,572,1129,1384,9501,82,147,54,54,56,23633,4135,23,130,65,1,82,2,3,0], "events": {"atk":610,"bounty":2,"deploy":24,"die":82,"dmg":1170,"engage":9,"fx":573,"heal":427,"layer":2,"leak":65,"skill":108,"spawn":145,"status":888}, "fx": {"airstrike":10,"aoe":2,"burst":3,"displace":1,"explode":15,"expose":399,"frostNova":17,"garrison":2,"healField":15,"link":1,"phase":1,"snow":39,"sunBurst":2,"talent":4,"telegraph":2,"wanted":60}, - "snaps": "be0b8d25 65cf7068 aae945a9 a2feb25b fd8c7ff1 2e470c92 28260fed 2b667bed 1c9681b5 628079ff d1761514 6b5d6117 c83e5a61 26f42978 6cbef302 227b9b5b 9dd1a92a 0c196291 0cea88b3 9fa2969e 38025878 80eefbaf" + "snaps": "be0b8d25 65cf7068 a5291f22 63afe50f 0d51c8f5 ac39274e 104a6fe8 e1222668 89bc2254 99fedc4a 410b6c3d fcf2d1d2 d5bda8bc bebc019d ca3900fb 1aed202e ec90b597 dfa5c698 1c06e4ba 3f7afdb3 f1515ca1 a65d3ade" }, "roster-037": { "about": "pass 1 band 7: chess_char_6_06_b chess_char_6_15_b chess_char_6_07_b chess_char_6_04_b chess_char_6_05_b chess_char_6_08_b chess_char_6_09_b chess_char_6_11_b chess_char_6_12_b chess_char_6_13_b chess_char_6_14_b chess_char_6_16_b token_10017_skadi2_dedant token_10030_mlyss_wtrman", @@ -2456,47 +2441,47 @@ "time": 170, "ticks": 5100, "reason": "timeout", - "killed": 27, + "killed": 26, "total": 65, "unspawned": 0, "bossHpLeft": null, - "rngDraws": 300, + "rngDraws": 280, "errors": {"count":0,"kinds":[]}, - "players": {"p1":{"killed":27,"total":65,"perfect":false,"leaks":38,"leaksUncounted":0,"coins":4,"dmg":532691,"bossDmg":0,"heal":2131,"deaths":24,"layerGains":{}}}, + "players": {"p1":{"killed":26,"total":65,"perfect":false,"leaks":39,"leaksUncounted":0,"coins":2,"dmg":518926,"bossDmg":0,"heal":1130,"deaths":25,"layerGains":{}}}, "units": [ - ["p1",1,"op","chess_char_4_01_a",1,null,0,0,3,0,2694,2638,0,47,1], - ["p1",2,"op","chess_char_4_17_a",2,null,0,0,6,0,10584,2849,0,16,1], - ["p1",3,"op","chess_char_4_18_a",2,null,0,0,8,1,15145,3440,573,17,1], - ["p1",4,"op","chess_char_4_04_a",2,null,0,0,94,2,31268,7040,0,24,4], - ["p1",5,"op","chess_char_4_07_a",2,null,0,0,83,0,6702,7655,0,9,1], - ["p1",6,"op","chess_char_4_16_a",1,null,857.6,1,96,3,66532,8961,1097,21,9], - ["p1",7,"op","chess_char_4_09_a",2,null,969.81,1,87,0,19950,1702,0,21,1], - ["p1",8,"op","chess_char_3_19_b",1,"none",0,0,4,7,61423,1648,0,72,1], - ["p1",9,"op","chess_char_3_21_b",1,"uniequip_004_archet",0,0,95,6,166061,3180,0,86,9], - ["p1",10,"op","chess_char_4_02_a",1,null,0,0,86,2,57313,2856,0,16,1], - ["p1",11,"op","chess_char_4_12_a",1,null,0,0,11,4,37850,2214,460,36,1], - ["p1",12,"op","chess_char_4_13_a",2,null,0,0,76,2,57168,3174,0,61,1], - ["p1",13,"token","token_10028_vigil_wolf",null,null,1026,0,5,0,0,2515,0,0,null], + ["p1",1,"op","chess_char_4_01_a",1,null,0,0,3,0,2428,2638,0,46,1], + ["p1",2,"op","chess_char_4_17_a",2,null,0,0,6,0,12763,2849,0,19,1], + ["p1",3,"op","chess_char_4_18_a",2,null,0,0,8,0,17529,3440,573,18,1], + ["p1",4,"op","chess_char_4_04_a",2,null,0,0,94,2,25834,7040,0,19,4], + ["p1",5,"op","chess_char_4_07_a",2,null,0,0,83,0,15765,7632,0,18,1], + ["p1",6,"op","chess_char_4_16_a",1,null,922.33,1,96,1,54471,7800,0,20,8], + ["p1",7,"op","chess_char_4_09_a",2,null,0,0,15,0,21707,1336,0,22,1], + ["p1",8,"op","chess_char_3_19_b",1,"none",0,0,4,3,51861,1648,0,61,1], + ["p1",9,"op","chess_char_3_21_b",1,"uniequip_004_archet",0,0,95,9,185226,3180,0,91,10], + ["p1",10,"op","chess_char_4_02_a",1,null,0,0,86,4,56749,2856,0,15,1], + ["p1",11,"op","chess_char_4_12_a",1,null,0,0,89,4,38365,4065,557,38,1], + ["p1",12,"op","chess_char_4_13_a",2,null,0,0,74,3,36228,3174,0,59,1], + ["p1",13,"token","token_10028_vigil_wolf",null,null,0,0,5,0,0,3541,0,0,null], ["-","~1","device","trap_1105_accrate",null,null,100,1,1,0,0,0,0,0,null], ["-","~2","device","trap_1105_accrate",null,null,100,1,2,0,0,0,0,0,null] ], "enemies": { - "enemy_1005_yokai": [24,12,12,0,46985], - "enemy_1005_yokai_2": [27,10,13,8037,87836], - "enemy_1005_yokai_3": [6,1,4,18726,244901], + "enemy_1005_yokai": [24,12,12,0,49267], + "enemy_1005_yokai_2": [27,10,12,7677,86315], + "enemy_1005_yokai_3": [6,1,4,20566,237116], "enemy_10065_ftzlc": [1,1,0,0,16339], - "enemy_10162_mnctpt": [1,0,1,6996,48110], - "enemy_1119_vofsd": [1,1,0,170,47298], + "enemy_10162_mnctpt": [1,0,1,6114,39162], + "enemy_1119_vofsd": [1,0,1,1104,45721], "enemy_1196_msfyin_2": [1,1,0,0,3], - "enemy_1254_lypa_2": [1,0,1,9283,32765], - "enemy_1367_dseed": [1,0,1,0,2300], - "enemy_1517_xi": [1,0,1,6203,6145], + "enemy_1254_lypa_2": [1,0,1,8996,35711], + "enemy_1367_dseed": [1,0,1,0,2836], + "enemy_1517_xi": [1,0,1,5983,6446], "enemy_9016_acstmr": [1,1,0,0,8] }, - "hooks": [1,95,5100,640,640,1007,1043,323,53,86,31,31,21,9432,318,15,65,33,1,63,0,2,21], - "events": {"atk":725,"bounty":2,"deploy":28,"die":53,"dmg":1036,"engage":12,"fx":105,"heal":2,"leak":33,"skill":62,"spawn":80,"status":184}, - "fx": {"beam":4,"block":1,"buff":2,"burst":2,"coldWind":1,"dodge":21,"dp":1,"explode":1,"iceSpike":1,"overclock":1,"overload":1,"palsy":1,"revive":3,"ripple":1,"rockfall":1,"sentry":6,"shadowWeave":14,"shield":7,"shieldBreak":7,"stone":1,"swordStorm":9,"telegraph":3,"volley":9,"wake":1,"wolfShadow":2,"wolfShadowLost":3,"zone":1}, - "snaps": "b82d753d 9cf4ba99 fcad021b 654db731 bb6a3dff 378d28e1 47603a0d 144d6b03 599f2544 522197cf 268e0f04 30a6df9f d0f8683b 3c7d6f84 a71a9576 12b08084 610181fa" + "hooks": [1,95,5100,625,625,1014,1053,834,53,86,31,31,18,8193,215,15,65,33,1,64,0,2,6], + "events": {"atk":711,"bounty":1,"deploy":28,"die":53,"dmg":1046,"engage":12,"fx":94,"heal":1,"leak":33,"skill":62,"spawn":80,"status":253}, + "fx": {"beam":4,"block":3,"buff":2,"burst":2,"coldWind":1,"dodge":6,"dp":1,"explode":1,"liberate":1,"overclock":1,"overload":1,"palsy":2,"phase":1,"revive":3,"ripple":1,"rockfall":1,"sentry":6,"shadowWeave":13,"shield":7,"shieldBreak":7,"stone":1,"swordStorm":8,"telegraph":3,"volley":10,"wake":1,"wolfShadow":2,"wolfShadowLost":4,"zone":1}, + "snaps": "f3440ee2 7da3be75 c96f2794 c9817d86 f4e4f99b 9be69905 48a68fda e1005cd1 ac1c74e4 d687c55f a47b29fc 90d6b228 4659af45 9df1748d 2e40f293 8372ceaf ff38b29e" }, "roster-041": { "about": "pass 2 band 5: chess_char_4_23_a chess_char_4_01_b chess_char_4_19_a chess_char_4_22_a chess_char_4_04_b chess_char_4_07_b chess_char_4_09_b chess_char_4_20_a chess_char_4_24_a chess_char_4_25_a chess_char_4_02_b chess_char_4_12_b", @@ -2592,8 +2577,8 @@ ["p1",5,"op","chess_char_4_22_b",1,"uniequip_002_svrash",3339.7,1,11,2,31438,7676,6053,35,1], ["p1",6,"op","chess_char_5_01_a",2,null,1449.42,1,62,6,66359,12108,5886,69,1], ["p1",7,"op","chess_char_4_16_b",1,"none",0,0,73,5,113136,7804,113,104,6], - ["p1",8,"op","chess_char_4_13_b",2,"uniequip_004_gnosis",2553.2,1,8,6,33004,0,0,44,3], - ["p1",9,"op","chess_char_4_20_b",1,"none",1844.7,1,9,23,165646,585,0,76,3], + ["p1",8,"op","chess_char_4_13_b",2,"uniequip_004_gnosis",2553.2,1,8,6,32856,0,0,44,3], + ["p1",9,"op","chess_char_4_20_b",1,"none",1844.7,1,9,23,165794,585,0,76,3], ["p1",10,"op","chess_char_4_24_b",2,"none",2571.4,1,12,6,140507,8058,960,35,4], ["p1",11,"op","chess_char_4_25_b",1,"uniequip_002_cetsyr",2172.3,1,4,0,8037,0,0,0,3], ["p1",12,"op","chess_char_5_02_a",1,null,1570.4,1,6,6,87816,0,12759,34,3], @@ -2613,10 +2598,10 @@ "enemy_1512_mcmstr": [1,1,0,2655,92160], "enemy_9008_acbunn": [1,1,0,1362,13824] }, - "hooks": [1,78,5063,542,542,1250,1266,1564,67,65,28,26,13,15442,1900,41,59,0,1,71,50,1,7], - "events": {"atk":664,"bounty":4,"deploy":17,"die":65,"dmg":1122,"engage":9,"fx":199,"heal":158,"layer":50,"skill":54,"spawn":73,"status":259}, + "hooks": [1,78,5063,542,542,1258,1274,1564,67,65,28,26,13,15442,1879,41,59,0,1,71,50,1,7], + "events": {"atk":664,"bounty":4,"deploy":17,"die":65,"dmg":1122,"engage":9,"fx":199,"heal":158,"layer":50,"skill":54,"spawn":73,"status":279}, "fx": {"aoe":3,"bombard":5,"bombardShell":5,"burst":1,"coldWind":3,"devour":4,"displace":6,"dodge":7,"explode":24,"extraAttack":16,"garrison":26,"garrisonGrant":1,"iceSpike":3,"link":3,"mote":29,"overload":1,"revive":1,"reweave":3,"riposte":4,"shieldBreak":1,"sleepGuard":3,"snow":1,"swordStorm":6,"telegraph":2,"zone":41}, - "snaps": "67d55f36 e622c3d8 e36adfeb 763fcfa5 375a7e2b b69b100f df1bc154 b58eb927 02d8eb73 91b09dc3 c7f53fed 82a339b6 4cc733b6 535d696f 8d432b83 e7e50110 cc72c539" + "snaps": "55232c7e d103e74e 35ee8359 c5aea4db cda60e84 982377b5 9243ddfa 50ac64f9 98bdd65d aa75ace9 cb05c653 000cbdd0 e277adf4 cfdf83ad 37a0cded ebd65942 17ea802f" }, "roster-043": { "about": "pass 2 band 5: chess_char_5_08_a chess_char_5_11_a chess_char_5_05_a chess_char_5_06_a chess_char_5_13_a chess_char_5_14_a chess_char_5_07_a chess_char_5_17_a chess_char_5_03_a chess_char_5_10_a chess_char_5_12_a chess_char_5_15_a", @@ -2824,44 +2809,44 @@ "total": 134, "unspawned": 0, "bossHpLeft": null, - "rngDraws": 77, + "rngDraws": 64, "errors": {"count":0,"kinds":[]}, "players": { - "p1": {"killed":1,"total":134,"perfect":false,"leaks":133,"leaksUncounted":0,"coins":2,"dmg":278704,"bossDmg":0,"heal":5192,"deaths":24,"layerGains":{"swiftShip":8}} + "p1": {"killed":1,"total":134,"perfect":false,"leaks":133,"leaksUncounted":0,"coins":2,"dmg":257071,"bossDmg":0,"heal":5192,"deaths":24,"layerGains":{"swiftShip":8}} }, "units": [ - ["p1",1,"op","chess_char_6_03_b",1,"uniequip_002_yu",0,0,3,1,24356,8643,754,5,1], - ["p1",2,"op","chess_char_6_15_a",1,null,0,0,72,0,6623,4417,0,10,0], - ["p1",3,"op","chess_char_6_19_a",1,null,0,0,4,0,10791,2168,0,10,0], + ["p1",1,"op","chess_char_6_03_b",1,"uniequip_002_yu",0,0,3,1,20615,8643,754,4,1], + ["p1",2,"op","chess_char_6_15_a",1,null,0,0,72,0,6391,4417,0,10,0], + ["p1",3,"op","chess_char_6_19_a",1,null,0,0,4,0,9801,2168,0,9,0], ["p1",4,"op","chess_char_6_17_a",1,null,0,0,148,0,38543,8769,0,17,4], ["p1",5,"op","chess_char_6_14_a",1,null,0,0,73,0,0,3705,999,3,0], ["p1",6,"op","chess_char_6_16_a",1,null,2272,1,164,0,4509,7705,280,8,1], - ["p1",7,"op","chess_char_6_18_a",1,null,0,0,6,0,20425,1142,0,10,1], + ["p1",7,"op","chess_char_6_18_a",1,null,0,0,6,0,15980,1142,0,8,1], ["p1",8,"op","chess_char_6_20_a",1,null,0,0,160,0,0,7787,2653,6,0], ["p1",9,"op","chess_char_6_01_b",1,"uniequip_002_lemuen",0,0,10,0,17547,1734,234,8,1], - ["p1",10,"op","chess_char_6_02_b",1,"uniequip_002_sbell2",0,0,11,0,58315,3844,0,0,0], + ["p1",10,"op","chess_char_6_02_b",1,"uniequip_002_sbell2",0,0,11,0,55711,3844,0,0,0], ["p1",11,"op","chess_char_6_04_b",1,"none",1468,1,165,0,0,6232,272,0,0], - ["p1",12,"op","chess_char_6_05_b",1,"uniequip_004_pasngr",0,0,2,0,97595,1592,0,19,1], + ["p1",12,"op","chess_char_6_05_b",1,"uniequip_004_pasngr",0,0,2,0,87974,1592,0,17,1], ["p1",13,"token","token_10017_skadi2_dedant",null,null,100,0,13,0,0,0,0,0,null], ["p1","~1","token","token_10017_skadi2_dedant",null,null,100,0,63,0,0,0,0,0,null], ["p1","~2","token","token_10017_skadi2_dedant",null,null,100,1,166,0,0,0,0,0,null] ], "enemies": { "enemy_10031_cnvsld": [1,1,0,649,26748], - "enemy_1010_demon_2": [1,0,1,0,13481], - "enemy_10122_uacann_2": [39,0,39,46810,35443], - "enemy_1062_rager_2": [1,0,1,3103,26992], - "enemy_1169_duphlx_2": [1,0,1,199,6282], + "enemy_1010_demon_2": [1,0,1,0,10967], + "enemy_10122_uacann_2": [39,0,39,50469,35443], + "enemy_1062_rager_2": [1,0,1,227,25078], + "enemy_1169_duphlx_2": [1,0,1,199,7061], "enemy_1209_sfden": [1,0,1,0,0], - "enemy_1267_nhpbr_2": [87,0,87,6184,180702], + "enemy_1267_nhpbr_2": [87,0,87,5401,162951], "enemy_1305_mhslim": [1,0,1,0,0], - "enemy_1439_dslntf": [1,0,1,793,2556], + "enemy_1439_dslntf": [1,0,1,793,2324], "enemy_2034_sythef_2": [1,0,1,0,0] }, - "hooks": [1,165,6669,226,226,503,516,740,25,162,9,9,5,4004,335,15,134,133,1,26,1,1,0], - "events": {"atk":332,"bounty":1,"deploy":31,"die":29,"dmg":507,"engage":8,"fx":167,"heal":18,"layer":1,"leak":133,"skill":18,"spawn":149,"status":425}, - "fx": {"blessing":1,"blink":2,"burst":1,"camouflage":2,"displace":1,"explode":71,"garrison":1,"garrisonGrant":2,"link":1,"snow":7,"sunBurst":3,"talent":2,"telegraph":2,"zone":71}, - "snaps": "fd8ace00 3735d1a0 ac4c99f8 c5d4ca9a 8fded089 880882c7 e721adb9 0ae8c4ec e7907ddb 600d4aaf 8ba41e7f 29e57375 d2a53406 bc57a24b 0f0f5742 e95912b1 d765e411 ac479235 f1961017 bebbcde2 d00f5670 5d45684c ab83875e" + "hooks": [1,165,6669,214,214,490,501,738,25,162,9,9,5,3979,292,15,134,133,1,26,1,1,0], + "events": {"atk":306,"bounty":1,"deploy":31,"die":29,"dmg":492,"engage":8,"fx":171,"heal":18,"layer":1,"leak":133,"skill":18,"spawn":149,"status":431}, + "fx": {"blessing":1,"blink":2,"burst":1,"camouflage":2,"displace":1,"explode":73,"garrison":1,"garrisonGrant":2,"link":1,"snow":7,"sunBurst":3,"talent":2,"telegraph":2,"zone":73}, + "snaps": "fd8ace00 fcfea560 af966357 02e124b8 9eb42b0f 12c1cf4b 0b313f20 b2f4d61d 0417ba33 59404637 2b7b9a78 7ee52bb1 bc9b262c d516c721 f682e39f 788bf12e bb82d2a1 07957c24 ea34ffbd f2bb4c93 0ad01373 97abd79a dfd0e3e6" }, "roster-047": { "about": "pass 2 band 7: chess_char_6_06_b chess_char_6_15_b chess_char_6_07_b chess_char_6_17_b chess_char_6_08_b chess_char_6_09_b chess_char_6_11_b chess_char_6_12_b chess_char_6_13_b chess_char_6_14_b chess_char_6_16_b chess_char_6_18_b token_10030_mlyss_wtrman", @@ -2917,10 +2902,10 @@ "enemy_1389_winbab_2": [48,15,33,57170,111670], "enemy_1525_blkswb": [1,0,1,5082,26880] }, - "hooks": [1,177,6433,727,719,831,938,109,80,172,14,14,75,10563,695,44,142,88,1,84,0,0,0], - "events": {"atk":733,"bounty":3,"deploy":32,"die":84,"dmg":851,"engage":12,"fx":60,"heal":25,"leak":88,"skill":28,"spawn":163,"status":184}, + "hooks": [1,177,6433,727,719,831,938,109,80,172,14,14,75,10563,691,44,142,88,1,84,0,0,0], + "events": {"atk":733,"bounty":3,"deploy":32,"die":84,"dmg":851,"engage":12,"fx":60,"heal":25,"leak":88,"skill":28,"spawn":163,"status":186}, "fx": {"airstrike":28,"anchor":1,"appear":1,"blink":1,"copy":1,"disappear":1,"ember":1,"explode":2,"garrisonGrant":2,"heal":2,"link":1,"revive":4,"strike":6,"summon":2,"summonStun":2,"sunBurst":1,"sword":2,"telegraph":1,"zone":1}, - "snaps": "ece6325d ebbd3de9 c30df90e c4d61bb2 41fcca4e b3fabbed 541936cc eeae23cc c91ba48e a0707ced 20d4a4b0 1e2150d5 d64ab61e 1953ff8e da366ef1 4588488a addb27dd 6d3d4315 5c129040 686ecf85 99045431 e018ab35" + "snaps": "ece6325d ebbd3de9 c30df90e b4f15c1c 94019924 1c9ec2f7 c9e16f6a ac507052 9ad73a7c 3b7cd673 730a9416 a0799dfb ffa923b0 8032fa00 126b697f b6f261e8 322ee407 3a29c4a7 db6b7ac2 4a24c1db 43f3735b 51aab483" }, "roster-048": { "about": "pass 2 band 7: chess_char_6_19_b chess_char_5_13_b chess_char_6_20_b chess_char_5_12_b chess_char_5_20_b chess_char_6_05_b", @@ -2994,19 +2979,19 @@ "time": 190, "ticks": 5700, "reason": "timeout", - "killed": 30, + "killed": 26, "total": 64, "unspawned": 0, "bossHpLeft": null, "rngDraws": 0, "errors": {"count":0,"kinds":[]}, - "players": {"p1":{"killed":30,"total":64,"perfect":false,"leaks":34,"leaksUncounted":0,"coins":6,"dmg":450522,"bossDmg":0,"heal":0,"deaths":5,"layerGains":{}}}, + "players": {"p1":{"killed":26,"total":64,"perfect":false,"leaks":38,"leaksUncounted":0,"coins":6,"dmg":397892,"bossDmg":0,"heal":0,"deaths":5,"layerGains":{}}}, "units": [ - ["p1",1,"op","chess_char_4_23_b",2,"none",0,0,1,0,31824,2661,0,25,1], - ["p1",2,"op","chess_char_3_04_b",1,"none",1089.53,1,59,1,23113,7740,0,115,0], - ["p1",3,"op","chess_char_4_09_b",1,"none",0,0,3,15,139467,2586,0,18,2], + ["p1",1,"op","chess_char_4_23_b",2,"none",0,0,1,0,0,2661,0,0,0], + ["p1",2,"op","chess_char_3_04_b",1,"none",634.61,1,59,0,15163,8142,0,114,0], + ["p1",3,"op","chess_char_4_09_b",1,"none",0,0,3,13,133573,2586,0,17,2], ["p1",4,"op","chess_char_3_21_b",2,"none",0,0,4,3,77261,2783,0,95,3], - ["p1",5,"op","chess_char_4_13_b",1,"none",1884,1,63,7,178856,1884,0,94,25] + ["p1",5,"op","chess_char_4_13_b",1,"none",1884,1,63,7,171895,1884,0,94,25] ], "enemies": { "enemy_1005_yokai": [1,1,0,0,1327], @@ -3016,16 +3001,16 @@ "enemy_1196_msfyin": [2,2,0,0,4], "enemy_1251_lysyta": [1,1,0,0,4562], "enemy_1355_mrfly": [1,0,1,0,8092], - "enemy_1381_winman": [27,15,12,53,167907], - "enemy_1381_winman_2": [15,5,10,0,85793], - "enemy_1387_winshd": [12,3,6,1516,112953], - "enemy_1513_dekght": [1,0,1,8384,50033], - "enemy_9009_acfort": [1,0,1,7699,20555] + "enemy_1381_winman": [27,13,14,0,152262], + "enemy_1381_winman_2": [15,5,10,0,81542], + "enemy_1387_winshd": [12,1,7,1516,109710], + "enemy_1513_dekght": [1,0,1,8536,22469], + "enemy_9009_acfort": [1,0,0,8003,20555] }, - "hooks": [1,71,5700,396,396,1837,1837,0,35,66,31,32,0,3909,790,5,64,31,1,37,0,0,0], - "events": {"atk":461,"bounty":3,"deploy":7,"die":35,"dmg":1836,"engage":5,"fx":46,"leak":31,"skill":66,"spawn":69,"status":292}, - "fx": {"coin":8,"dilemma":2,"explode":2,"frostNova":25,"jungleSoul":1,"revive":2,"shield":1,"shieldBreak":1,"summon":1,"telegraph":3}, - "snaps": "3f2254f6 76b714eb 68b544c1 a849f2de a211d880 6cba6fce d113ba1d fc04f6f9 7682f0c2 4aba683d bde49088 1630bd13 e619d9ab 8bedd714 2669b6cc 475135ba da92f818 e0d13cba 9707c4aa" + "hooks": [1,71,5700,368,368,1846,1846,0,31,64,30,31,0,3909,700,3,64,33,1,33,0,0,0], + "events": {"atk":426,"bounty":3,"deploy":7,"die":31,"dmg":1845,"engage":4,"fx":45,"leak":33,"skill":64,"spawn":69,"status":400}, + "fx": {"coin":8,"dilemma":2,"explode":2,"frostNova":25,"revive":2,"shield":1,"shieldBreak":1,"summon":1,"telegraph":3}, + "snaps": "dbdcc7a8 deeec1e0 6b4aaf78 7f474f9b 836175f8 8ff60cee a465078d 3d192f08 523d318c b83304a9 630e2c10 c11b4545 273a72af f27e02ba 0f250330 50e2513f b9527a94 9f64281c 390d4ff0" } } } diff --git a/test/sim/feedback3-cold-freeze.test.js b/test/sim/feedback3-cold-freeze.test.js index 59c50ab2..a92d24f1 100644 --- a/test/sim/feedback3-cold-freeze.test.js +++ b/test/sim/feedback3-cold-freeze.test.js @@ -1,6 +1,7 @@ // A second 寒冷 used to apply a fixed 3 s 冻结 (COLD_FREEZE_DURATION) whatever the two colds lasted. -// PRTS 术语释义 寒冷 (id ba.cold): 友方寒冷 pairs into 友方冻结, 「持续时间取双方之中最高」. The cold that remains is -// already max(remaining, incoming) via addBuff refresh 'extend'; the freeze in the same moment must match it. +// PRTS 术语释义 寒冷 (id ba.cold): 友方寒冷 pairs into 友方冻结, 「持续时间取双方之中最高」 — max(remaining, incoming). Since +// 0.2.0 the pair BECOMES the freeze (「两两一对产生友方冻结」, 异常效果 COLD 「转变为冻结」): no cold is left on the enemy +// (until then the older cold stayed on for as long as the freeze — test/sim/feedback5-kjerag-cold.test.js). // 抵抗 shortens the incoming duration before that max. A frozen-immune enemy still gets no freeze. // [ASSUMED] the engine's one cold uses that 友方 sentence for an enemy-applied cold too (PRTS states the max on // the 友方 line only). gamedata_const ba.cold names the freeze and not its length. @@ -28,8 +29,8 @@ test('cold 10s then immediately another cold 1s → freeze lasts about 10s, not const e = h.enemy('enemy_dummy'); h.b.applyStatus(e, 'cold', { duration: 10 }); h.b.applyStatus(e, 'cold', { duration: 1 }); - close(e.findBuff('cold').timeLeft, 10, 1e-6, 'the shorter cold does not replace the longer one'); - close(e.findBuff('freeze').timeLeft, 10, 1e-6, 'freeze'); + assert.equal(e.findBuff('cold'), null, 'the pair became the freeze: no cold left'); + close(e.findBuff('freeze').timeLeft, 10, 1e-6, 'freeze: the longer cold, not the shorter one'); assert.equal(e.s.res, 15, 'frozen: RES −15'); h.run(3.2); assert.ok(e.s.flags.freeze, 'still frozen past the old fixed 3 s'); @@ -44,7 +45,7 @@ test('cold 1s then cold 8s → freeze lasts about 8s, not 3', () => { const e = h.enemy('enemy_dummy'); h.b.applyStatus(e, 'cold', { duration: 1 }); h.b.applyStatus(e, 'cold', { duration: 8 }); - close(e.findBuff('cold').timeLeft, 8, 1e-6); + assert.equal(e.findBuff('cold'), null); close(e.findBuff('freeze').timeLeft, 8, 1e-6); h.run(3.2); assert.ok(e.s.flags.freeze, 'still frozen past 3 s'); @@ -61,7 +62,7 @@ test('a shorter second cold does not shorten a longer remaining cold\'s freeze', const remain = e.findBuff('cold').timeLeft; assert.ok(remain > 3.5 && remain < 4.5, `about 4 s left, got ${remain}`); h.b.applyStatus(e, 'cold', { duration: 1 }); - close(e.findBuff('cold').timeLeft, remain, 1e-6, 'cold'); + assert.equal(e.findBuff('cold'), null, 'both colds became the freeze'); close(e.findBuff('freeze').timeLeft, remain, 1e-6, 'freeze follows the remaining cold, not 1 s and not 3 s'); h.run(3.2); assert.ok(e.s.flags.freeze, 'a 1 s or 3 s freeze would have ended'); @@ -76,8 +77,8 @@ test('抵抗 still shortens the incoming duration before the max', () => { h.b.applyStatus(e, 'cold', { duration: 2 }); h.b.applyStatus(e, 'resist', { value: 0.5 }); h.b.applyStatus(e, 'cold', { duration: 10 }); - // incoming 10 × (1 − 0.5) = 5, remaining 2 → both cold and freeze are 5, not 10 and not 2.5 - close(e.findBuff('cold').timeLeft, 5, 1e-6, 'cold'); + // incoming 10 × (1 − 0.5) = 5, remaining 2 → the freeze is 5, not 10 and not 2.5 (and no cold is left) + assert.equal(e.findBuff('cold'), null, 'cold'); close(e.findBuff('freeze').timeLeft, 5, 1e-6, 'freeze'); const freeze = h.hooksOf('statusApplied').filter((c) => c.target === e && c.status === 'freeze'); assert.equal(freeze.length, 1); diff --git a/test/sim/feedback5-kjerag-cold.test.js b/test/sim/feedback5-kjerag-cold.test.js new file mode 100644 index 00000000..96d67035 --- /dev/null +++ b/test/sim/feedback5-kjerag-cold.test.js @@ -0,0 +1,86 @@ +// Community reports of 2026-10-06 「谢拉格盟约冰冻时间没有随层数正确成长」 and 「谢拉格盟约冰冻敌人有概率在未受到后续干员施加 +// 寒冷的情况下,被在无法被任何干员攻击到的地方永控」 (items 7 / 8): the 6-member wind (every 25 s, 寒冷 20 + 0.1 × layers s, +// data/bonds.json kjeragShip) froze an enemy for the rest of the battle from 51 layers on and never below: a second cold +// froze for max(remaining, incoming) and the older cold stayed on for as long, so the next gust always found a cold. +// PRTS 术语释义 寒冷: 「友方寒冷始终需要两两一对产生友方冻结,持续时间取双方之中最高」; 异常效果 COLD 「在特定条件下转变为冻结」 — +// the pair becomes the freeze, no cold is left. A 敌方 cold (on an operator) keeps the old rule. + +import { test } from 'node:test'; +import assert from 'node:assert/strict'; +import { makeBattle, enemyRec } from '../helpers/battleHarness.js'; +import { hasGeneratedData } from '../../server/sim/simdata.js'; + +const REAL = { skip: !hasGeneratedData() }; +const close = (a, b, eps, msg = '') => assert.ok(Math.abs(a - b) <= eps, `${msg} expected ${b} ± ${eps}, got ${a}`); + +/** One harmless enemy parked at the gate, out of every operator's reach; 谢拉格 6 at `layers`; seconds frozen per window. */ +function windTimeline(layers, until = 200) { + const h = makeBattle({ + units: [{ chessId: 'chess_char_4_22_a', row: 11, col: 3 }], + bonds: { kjeragShip: { count: 6, layers, active: true, tier: 2 } }, + enemies: [{ key: 'enemy_park', time: 0, route: 0 }], + defs: { enemies: { enemy_park: enemyRec({ key: 'enemy_park', hp: 1e9, atk: 0, speed: 0.00001 }) } }, + timeLimit: until, seed: 1, hooks: ['statusApplied'], + }); + const frozenAt = []; + while (!h.b.finished && h.b.time < until - 0.1) { + h.step(); + const e = h.b.enemies[0]; + frozenAt.push([h.b.time, !!(e && e.s.flags.freeze), !!(e && e.findBuff('cold'))]); + } + const frozenBetween = (t0, t1) => frozenAt.filter(([t, f]) => t >= t0 && t < t1 && f).length * h.TICK; + return { h, frozenAt, frozenBetween, at: (t) => frozenAt.find(([x]) => x >= t) }; +} + +test('谢拉格 wind alone: below 50 layers it never freezes (each 20 + 0.1·L s cold ends before the next gust)', REAL, () => { + const { frozenBetween } = windTimeline(40, 160); + assert.equal(frozenBetween(0, 160), 0); +}); + +test('谢拉格 wind alone at 60 layers: frozen 26 s out of every 50 s, not for the rest of the battle', REAL, () => { + const { frozenBetween, at } = windTimeline(60); + // gust 1 (25 s): cold 26 s; gust 2 (50 s): the pair → 26 s freeze, no cold left; gust 3 (75 s): a lone cold, still frozen + // to 76 s; gust 4 (100 s): the pair again … + close(frozenBetween(50, 100), 26, 0.2, 'the first freeze lasts the wind cold'); + assert.equal(at(80)[1], false, 'free at 80 s (the parent kept it frozen from 50 s to the end)'); + assert.equal(at(80)[2], true, 'with gust 3\'s lone cold on it'); + assert.equal(at(101)[1], true, 'gust 4 pairs that cold: frozen again'); + close(frozenBetween(100, 150), 26, 0.2); +}); + +test('谢拉格 wind alone: the frozen share grows with the layers (60 → 26 s, 200 → 40 s per 50 s), all of it from 300 on', REAL, () => { + close(windTimeline(60).frozenBetween(100, 150), 26, 0.2, '60 layers'); + close(windTimeline(200).frozenBetween(100, 150), 40, 0.2, '200 layers'); + close(windTimeline(300).frozenBetween(100, 150), 50, 0.2, '300 layers: 50 s of cold covers the 50 s cycle'); +}); + +test('友方寒冷: the pair becomes the freeze; a lone cold on a frozen enemy is a cold and does not extend the freeze', () => { + const h = makeBattle({ + defs: { enemies: { enemy_dummy: enemyRec({ key: 'enemy_dummy', hp: 1e6, speed: 0 }) } }, + enemies: [{ key: 'enemy_dummy', pos: [11, 8] }], content: 'none', autoFinish: false, timeLimit: 60, hooks: ['statusApplied'], + }); + h.step(); + const e = h.enemy('enemy_dummy'); + h.b.applyStatus(e, 'cold', { duration: 6 }); + h.b.applyStatus(e, 'cold', { duration: 4 }); + close(e.findBuff('freeze').timeLeft, 6, 1e-6, 'max of the pair'); + assert.equal(e.findBuff('cold'), null, 'no cold left'); + h.run(1); + h.b.applyStatus(e, 'cold', { duration: 10 }); + close(e.findBuff('freeze').timeLeft, 5, 0.05, 'a third cold does not freeze again (it has no partner)'); + close(e.findBuff('cold').timeLeft, 10, 1e-6, 'it waits as a cold'); + h.b.applyStatus(e, 'cold', { duration: 2 }); + close(e.findBuff('freeze').timeLeft, 10, 1e-6, 'a fourth one pairs with it: max(10, 2)'); + assert.equal(e.findBuff('cold'), null); + assert.equal(h.hooksOf('statusApplied').filter((c) => c.status === 'freeze').length, 2, 'two pairs, two freezes'); +}); + +test('敌方寒冷 on an operator keeps the old rule: the freeze and the longer cold both stay', () => { + const h = makeBattle({ units: [{ chessId: 'chess_char_1_02_a', row: 10, col: 4 }], content: 'none', autoFinish: false, timeLimit: 60 }); + h.step(); + const u = h.unit('chess_char_1_02_a'); + h.b.applyStatus(u, 'cold', { duration: 6 }); + h.b.applyStatus(u, 'cold', { duration: 4 }); + close(u.findBuff('freeze').timeLeft, 6, 1e-6); + close(u.findBuff('cold').timeLeft, 6, 1e-6); +}); From 4fd8d431e20a8ed344e007ec6063d630b5db8652 Mon Sep 17 00:00:00 2001 From: sganggs Date: Wed, 7 Oct 2026 01:41:11 +0800 Subject: [PATCH 02/11] =?UTF-8?q?feedback5=20CB1:=20=E7=83=9B=E7=85=8C's?= =?UTF-8?q?=20=E7=BB=9D=E5=A4=84=E9=87=8D=E7=87=83=20and=20=E5=9D=9A?= =?UTF-8?q?=E5=9B=BA=E7=BB=B4=E5=BC=8F=E9=87=8D=E9=94=A4's=20lock=20both?= =?UTF-8?q?=20work,=20one=20after=20the=20other=20=E2=80=94=20pinned=20(co?= =?UTF-8?q?mmunity=20report=20=E3=80=8C=E7=BB=B4=E5=A4=9A=E5=88=A9?= =?UTF-8?q?=E4=BA=9A=E7=9A=84=E9=94=81=E8=A1=80=E9=94=A4=E5=92=8C=E7=83=9B?= =?UTF-8?q?=E7=85=8C=E7=9A=84=E9=94=81=E8=A1=80=E5=8F=AA=E7=94=9F=E6=95=88?= =?UTF-8?q?=E4=BA=86=E4=B8=80=E4=B8=AA=E3=80=8D,=20item=205)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Measured: 烛煌 carrying the hammer, a lethal hit every 2 s — 倒地 at the first (the talent, kit fatal −50, 「次数不限」), the lock at the hit that breaks the 6000 barrier while she is 倒地 (PRIO_REVIVE −100: consumable savers run last, items header, DESIGN §21.21), death 8 s later; without the hammer she falls at the second. The lock never shows when she is not killed while 倒地 (the talent takes every lethal hit outside 【重燃】). [ASSUMED] order, no source gives one — an owner question. No product change; golden unchanged. Test: test/content/feedback5-blaze-hammer.test.js. --- test/content/feedback5-blaze-hammer.test.js | 44 +++++++++++++++++++++ 1 file changed, 44 insertions(+) create mode 100644 test/content/feedback5-blaze-hammer.test.js diff --git a/test/content/feedback5-blaze-hammer.test.js b/test/content/feedback5-blaze-hammer.test.js new file mode 100644 index 00000000..3be057d8 --- /dev/null +++ b/test/content/feedback5-blaze-hammer.test.js @@ -0,0 +1,44 @@ +// Community report of 2026-10-06 「维多利亚的锁血锤和烛煌的锁血只生效了一个」 (item 5): both work, one after the other. On +// 烛煌's lethal hit her talent 绝处重燃 (kit `fatal` −50: 倒地, 6000 barrier, PRTS 备注 「次数不限」 outside 【重燃】) comes first; +// 坚固维式重锤's once-per-deployment 不死 lock (PRIO_REVIVE −100: consumable savers run last, so a talent's own undying never +// wastes the charge — items/battle.js header, DESIGN §21.21 / §22) waits for a lethal hit while she is 倒地, then holds her +// at 1 HP for 8 s. [ASSUMED] that order (no source gives one; the official autochess hammer buff is not in the client's +// buff templates). + +import { test } from 'node:test'; +import assert from 'node:assert/strict'; +import { makeBattle, enemyRec } from '../helpers/battleHarness.js'; +import { hasGeneratedData } from '../../server/sim/simdata.js'; + +const REAL = { skip: !hasGeneratedData() }; + +/** 烛煌 (elite) carrying `items`, hit for 3000 true damage every 2 s by a far enemy; the timeline of her savers. */ +function run(items) { + const h = makeBattle({ + units: [{ chessId: 'chess_char_5_03_b', row: 9, col: 4, items }], + enemies: [{ key: 'enemy_far', time: 0, route: 0 }], + defs: { enemies: { enemy_far: enemyRec({ key: 'enemy_far', hp: 1e9, atk: 0, bat: 99, speed: 0.0001 }) } }, + timeLimit: 120, seed: 3, + }); + const u = h.unit('chess_char_5_03_b'); + const out = { downedAt: null, lockAt: null, deathAt: null }; + h.b.every(2, () => { const e = h.b.enemies.find((x) => x.alive); if (e && u.alive) h.b.dealDamage(e, u, { amount: 3000, type: 'true', canDodge: false }); }); + h.b.on('death', (c) => { if (c.unit === u && out.deathAt == null) out.deathAt = h.b.time; }, { priority: -1000 }); + h.step(); // the battle-start deployment + while (!h.b.finished && h.b.time < 60 && u.alive) { + h.step(); + if (out.downedAt == null && u.mem.downed) out.downedAt = h.b.time; + if (out.lockAt == null && u.mem.undyingUntil != null) out.lockAt = h.b.time; + } + return out; +} + +test('烛煌 + 坚固维式重锤: 绝处重燃 on the first lethal hit, the lock on the next one while 倒地, death 8 s later', REAL, () => { + const w = run(['chess_item_3_09_e_a']); + assert.ok(w.downedAt != null && w.downedAt < 2.1, `倒地 at the first lethal hit (2 s), got ${w.downedAt}`); + assert.ok(w.lockAt != null && w.lockAt > 7.9 && w.lockAt < 8.1, `the lock at the hit that breaks the barrier (8 s), got ${w.lockAt}`); + assert.ok(Math.abs(w.deathAt - 16) < 0.1, `8 s of 不死, then the next lethal hit (16 s), got ${w.deathAt}`); + const bare = run([]); + assert.equal(bare.lockAt, null); + assert.ok(Math.abs(bare.deathAt - 8) < 0.1, `without the hammer she falls at 8 s, got ${bare.deathAt}`); +}); From a3a0ddd2bef7df040f54ae89710eaaf4c05a0a8c Mon Sep 17 00:00:00 2001 From: sganggs Date: Wed, 7 Oct 2026 01:56:43 +0800 Subject: [PATCH 03/11] =?UTF-8?q?feedback5=20CB1:=20a=20=E5=A4=8D=E6=B4=BB?= =?UTF-8?q?=20(=E5=9F=83=E8=8A=92=E5=8A=A0=E5=BE=B7's=20=E5=91=BD=E7=BB=93?= =?UTF-8?q?=E4=B9=8B=E7=A7=98,=20M3=E8=8C=A7=E7=94=B2)=20is=20a=20knock-ou?= =?UTF-8?q?t=20and=20an=20immediate=20free=20redeploy=20=E2=80=94=20?= =?UTF-8?q?=E7=A0=BE's=20and=20=E7=91=95=E5=85=89's=20=E8=A2=AB=E5=87=BB?= =?UTF-8?q?=E5=80=92=E6=97=B6=20/=20=E9=83=A8=E7=BD=B2=E6=97=B6=20layers?= =?UTF-8?q?=20fire=20on=20every=20revive=20(community=20report=20=E3=80=8C?= =?UTF-8?q?=E5=8D=A1=E8=A5=BF=E7=B1=B3=E5=B0=94=E5=92=8C=E8=89=BE=E8=8A=92?= =?UTF-8?q?=E5=8A=A0=E5=BE=B7=E7=AD=96=E7=95=A5=E4=BC=BC=E4=B9=8E=E6=9C=89?= =?UTF-8?q?BUG=EF=BC=9A=E5=83=8F=E7=A0=BE=E5=92=8C=E7=91=95=E5=85=89?= =?UTF-8?q?=E8=BF=99=E7=A7=8D=E6=AD=BB=E4=BA=A1=E5=92=8C=E9=83=A8=E7=BD=B2?= =?UTF-8?q?=E7=9A=84=E5=8F=A0=E5=B1=82=E6=95=88=E6=9E=9C=E2=80=A6=E6=97=A0?= =?UTF-8?q?=E6=B3=95=E8=A7=A6=E5=8F=91=E3=80=8D,=20items=209=20/=2037)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit PRTS 卫戍协议:盟约 下半/PRTS盟约记录, 埃芒加德 and M3茧甲 备注: "“复活”的实现方式为:受益者因移动之外的原因退场时下次部署的 再部署时间和费用归零". Both revived in place as `fatal` savers, so the operator was never knocked out nor deployed again: 砾 (<部署时> 卡西米尔 +1, <被击倒时> 不屈 +2), 瑕光 (<部署时> +4, 12 per battle), the 卡西米尔 bond's per-deployment ATK, 克莱门莎 / 卡莱莎 and every other 被击倒时 / 部署时 effect skipped the first 3 knock-outs (measured: only the 4th, real death stacked). Now items/battle.js reviveNow, a `death` hook (M3茧甲 PRIO_RESPAWN 13, 埃芒加德 PRIO_BAND_REVIVE 12, ahead of 阿戈尔 5 at 11 and 不屈 at 10): the knock-out stands and the operator redeploys at once, free, where it lies (full HP, SP reset, a new deployment for 坚固维式重锤's lock — revivedInPlace and the `revives` counter are gone). The ctx carries `revivedBy`, so 阿戈尔 5 still does not count such a knock-out as the member's first (the owner's decision of 2026-10-05: an operator's own revive uses no slot; 埃芒加德 [ASSUMED] alike, unchanged). 淬羽赫默 S3 keeps its place right after the hammer's lock (PRIO_REVIVE − 0.5). Tests: test/content/feedback5-revive-redeploy.test.js (fails on the parent); bands / bonds_core / feedback1f-hammer / op_lessng / op_zuole / docs-consistency updated to the redeploy. Docs: SIM.md (fatal, death), design/engine.md (fatal, death), PLAYING.md (复活), research 04 (M3茧甲). Golden: the battles with M3茧甲 or 埃芒加德 whose operators fell — a revive is now a knock-out (deaths count, kill events, redeploy, SP reset, 被击倒时 / 部署时 effects): roster-012 / 026 / 033 / 040 / 047, boss-boss_6-pair, hidden-boss_8-pair / boss_9-pair, standin-07; matches solo-NORMAL-1, solo-HARD-1, solo-ABYSS-1. --- docs/PLAYING.md | 1 + docs/SIM.md | 4 +- docs/design/engine.md | 4 +- docs/research/04-items.md | 2 +- server/sim/content/bands/battle.js | 24 +- server/sim/content/bonds/core.js | 14 +- server/sim/content/items/battle.js | 65 +++-- server/sim/content/kits/ops/op-slent2.js | 10 +- test/content/bands.test.js | 13 +- test/content/bonds_core.test.js | 17 +- test/content/feedback1f-hammer.test.js | 3 +- .../content/feedback5-revive-redeploy.test.js | 80 ++++++ test/content/op_lessng.test.js | 3 +- test/content/op_zuole.test.js | 3 +- test/docs-consistency.test.js | 11 +- test/golden/fields.json | 234 ++++++++--------- test/golden/matches.json | 40 +-- test/golden/roster.json | 238 +++++++++--------- test/golden/standins.json | 42 ++-- 19 files changed, 464 insertions(+), 344 deletions(-) create mode 100644 test/content/feedback5-revive-redeploy.test.js diff --git a/docs/PLAYING.md b/docs/PLAYING.md index 19b12245..29f02be4 100644 --- a/docs/PLAYING.md +++ b/docs/PLAYING.md @@ -81,6 +81,7 @@ - **生命回复不是治疗**(与官方一致):吟游者的特性(魔王、浊心斯卡蒂及其海嗣)、调香师的天赋、瑕光二技能、铃兰三技能、锡人炼金单元给友军的「每秒恢复生命」是提高对方的**生命回复速度**,不是治疗:收割者 / 不屈者 / 武者(如隐德来希、圣约送葬人、折桠)这类「无法被友方治疗」的干员和处于禁疗的干员也能吃到,治疗量加成(如「受到的治疗效果提升」)也不会放大它;铃兰三技能开启后的第一秒没有回复。直接治疗(医疗干员的治疗、技能的「恢复…生命」)仍然对这些干员无效。 - **元素损伤条**在单位自己的血条正下方:左边是元素图标,白条是剩余的元素值,只有真正爆发时才会耗尽;爆发后条变成元素的颜色、图标闪烁,在冷却期间慢慢回满(这段时间不会再积累元素损伤)。 - **敌人**:远程敌人的射程按官方从干员的碰撞体积(半径 0.25 格)算起,比数据上的攻击范围半径远 0.25 格——例如萨卡兹枯朽战车(射程 2.2)能打到中心 2.45 格以内、站在低地的干员。没被阻挡的远程敌人每次攻击都会站定、播完攻击动作,两次攻击之间才继续前进。它的第一下攻击就是「秽蚀轰击」(在目标处留下半径 1.7、持续 10 秒的污染区:低地每秒 50、高台 25 点真实伤害,同名不叠加),被阻挡时普通攻击伤害翻倍。“萨科塔之翼”等血量第一次低于一半时会在原地小范围乱飞 5 秒(官方叫「恐惧」);叙拉古、妮芙等干员造成的恐惧会让敌人朝远离干员的方向逃跑。隐匿的敌人只有被阻挡(或被揭示)时才能被选为攻击目标,溅射、技能的圆形范围伤害也打不到没被挡住的隐匿敌人(和官方一样);阻挡解除后 3 秒内它仍然可以被选中(官方页面注明 0 秒或 1 秒的敌人按页面),之后才重新隐匿:深池逐火战士每次被击倒后先重生 1 秒,然后变成继续往前走的隐匿「余烬」(需要 5 次伤害击倒,护卫的「火灰」10 次),一般要用干员挡住它才能选中(挡住时它不再半透明;被阻挡时被击倒的,重生结束后约 2 秒内也能用远程或范围伤害补刀),10 秒内没打掉就满血站起来;敌人重生时身上的减速、恐惧等状态会被清空、技能冷却从头开始,被恐惧的逐火战士变成余烬后也能被挡住;转译基底·α 原始形态受到的伤害全部无效,受到第 4 次物理伤害、第 4 次法术伤害或被阻挡时花 2 秒变成寻仇者、特战术师或幽灵,之后才能被击倒。 +- **复活**(策略「埃芒加德」的前 3 次、M3茧甲)与官方一致:算作一次被击倒,紧接着在倒下的位置免费立即再部署——干员「被击倒时」和「部署时」的效果都会触发(例如砾的不屈 / 卡西米尔层数、瑕光的层数、卡西米尔盟约的部署攻击力),技力和身上的增益像普通再部署一样重置。 - **策略「鸭爵」(“神秘顾客”)**:从第 5 回合起,你和队友的每场作战(**最终攻势和隐秘核心也算**,联防不另外替换)有 0–2 名地面敌人(不含领袖及其部件、悬赏敌人)被替换为特殊版本的鸭爵、高普尼克、流泪小子或圆仔,出现在被替换敌人的时间和路线上(两人同场的领袖战里,各自只替换走向自己保护目标点的敌人);击倒者获得 1 资金(联防中的队友也算),漏进保护目标点照常扣 1 点目标生命值。鸭爵和圆仔**不攻击、无法被阻挡**:鸭爵受到伤害后移动速度 +300%;圆仔始终面向我方干员较多的一侧,来自正面的物理 / 法术伤害 −80%。流泪小子隐匿(被阻挡时才能被选中),攻击使目标晕眩 3.5 秒;高普尼克免疫晕眩、冻结和浮空。 - 右上角 🔍▶▶ 可以查看本回合即将来袭的敌人(预览区),左上角 🔍 查看本局信息(禁用盟约、禁用干员、策略)。 diff --git a/docs/SIM.md b/docs/SIM.md index 54f8c767..03e18828 100644 --- a/docs/SIM.md +++ b/docs/SIM.md @@ -774,11 +774,11 @@ registration order. `battle.off(handle)` / `battle.off(name, fn)` / `battle.offO | `damaged` | `{ source, target, amount, type, dmg, credit }` | after application (`amount` may be 0 when shielded); element fills too (with their source); 无来源: `source` null, `credit` set | | `hpDamage` | `{ source, target, amount, dmg, credit }` | a damage instance after shields, before the HP loss (§4; not a 流失): lower `amount` only (a raise is ignored) — HP floors / reductions ordered after a barrier (kits/ops/op-huang.js, op-zuole.js) | | `heal` | `{ source, target, amount, opts }` | mutable `amount` | -| `fatal` | `{ unit, source, credit, dmg, amount, prevented }` | HP would reach 0 — set `prevented` (substitutes, kit savers, 不死 / 复活 items, 埃芒加德; 不屈 is a `death` hook). Fired by every HP loss of a unit without a boss pool — hits of any type, element bursts, 无来源 damage, `loseHp` 流失. Order: kits' own savers (10 … −60) → items' 不死 (坚固维式重锤 — once per deployment: `items/battle.js deploymentOf`, a key every deploy changes and an in-place 复活 changes too; one battle-level hook holds the running windows (`holdsUndying`), so a window outlasts a lend, DESIGN §21.21 — the lock `PRIO_REVIVE` −100 after the substitutes (−100, registered first), the running windows `PRIO_UNDYING_HELD` −99 before them: a 傀儡师 holding 不死 does not switch, PRTS 分支特性信息 傀儡师 "未持有不死的情况下", DESIGN §22.11) → 淬羽赫默 S3's 不死 (−100.5: PRTS 衍生生命 "无畏者协议提供的不死效果仅在目标没有不死效果时才会触发"; its running windows held at −99 like the hammer's) → items' 复活 (M3茧甲, `PRIO_RESPAWN` −101: PRTS "复活" acts on a knock-out, which a 不死 prevents) → 埃芒加德 (−110); both 复活 revive in place and call `revivedInPlace` (a new deployment for the lock) | +| `fatal` | `{ unit, source, credit, dmg, amount, prevented }` | HP would reach 0 — set `prevented` (substitutes, kit savers, 不死 items; the 复活 — M3茧甲, 埃芒加德 — and 不屈 are `death` hooks). Fired by every HP loss of a unit without a boss pool — hits of any type, element bursts, 无来源 damage, `loseHp` 流失. Order: kits' own savers (10 … −60) → items' 不死 (坚固维式重锤 — once per deployment: `items/battle.js deploymentOf`, a key every deploy changes (a 复活's redeploy too); one battle-level hook holds the running windows (`holdsUndying`), so a window outlasts a lend, DESIGN §21.21 — the lock `PRIO_REVIVE` −100 after the substitutes (−100, registered first), the running windows `PRIO_UNDYING_HELD` −99 before them: a 傀儡师 holding 不死 does not switch, PRTS 分支特性信息 傀儡师 "未持有不死的情况下", DESIGN §22.11) → 淬羽赫默 S3's 不死 (−100.5: PRTS 衍生生命 "无畏者协议提供的不死效果仅在目标没有不死效果时才会触发"; its running windows held at −99 like the hammer's). The 复活 act on the knock-out after this step (PRTS "复活" acts on a knock-out, which a 不死 prevents): `death`, below | | `dollSwitch` | `{ unit, reason, done }` | content switches a 傀儡师 to its <替身> now (归溟幽灵鲨 S2 "技能结束后立刻切换为<替身>": no lethal HP loss); its trait does it unless it already is one or is not on the field, and sets `done` | | `dollSwap` | `{ unit, form }` | a 傀儡师 starts a switch — to its <替身> (`form` `'doll'`) or back to its <本体> (`null`); not when it is knocked out as the 替身 (不屈 rolls on it: "切换<替身>与<本体>时") | | `kill` | `{ killer, victim }` | victim HP reached 0 (a handler may revive by restoring HP) | -| `death` | `{ unit, reason:'killed'|'leak'|'retreat'|'merchant'|'expired'|'forcedExit', killer, dying }` | unit removed (`'forcedExit'`: an operator entering 联防 knocked out, §1.1; `dying`: a `retreat` that plays the death animation — 史尔特尔's 余烬, 骑士戒律 + 竞技旗) | +| `death` | `{ unit, reason:'killed'|'leak'|'retreat'|'merchant'|'expired'|'forcedExit', killer, dying, revivedBy? }` | unit removed (`'forcedExit'`: an operator entering 联防 knocked out, §1.1; `dying`: a `retreat` that plays the death animation — 史尔特尔's 余烬, 骑士戒律 + 竞技旗). Revives of a knock-out redeploy the operator inside it, free, where it lies — PRTS "“复活”的实现方式为:受益者因移动之外的原因退场时下次部署的再部署时间和费用归零", so the 被击倒时 and 部署时 effects both run: M3茧甲 (`PRIO_RESPAWN` 13) → 埃芒加德 (`PRIO_BAND_REVIVE` 12) — `items/battle.js reviveNow`, which sets `revivedBy` ('item' / 'band'; 阿戈尔 5 does not count such a knock-out as the member's first) — → 阿戈尔 5 (11) → 不屈 (10); until 0.2.0 the two 复活 were `fatal` savers that kept the unit standing | | `skillStart` / `skillEnd` | `{ unit, skill, reason }` | mutate `skill.ammoLeft` / `skill.timeLeft` in skillStart (bullets added there raise `skill.ammoMax`, the ammo bar's full mark) | | `ammoUsed` | `{ unit, left, skill }` | per ammo consumed | | `spGain` | `{ unit, amount, reason:'time'|'attack'|'hurt'|'init'|…, skill }` | mutable `amount` (time gains fire every tick) | diff --git a/docs/design/engine.md b/docs/design/engine.md index 7e12458b..533a3640 100644 --- a/docs/design/engine.md +++ b/docs/design/engine.md @@ -100,9 +100,9 @@ Base stats (from data): `maxHp, atk, def, res` (0–100), `aspd` (100 base), `ba | `hit` | `{ source, target, dmg }` | before mitigation; mutate `dmg` (DamageInfo) | | `damaged` | `{ source, target, amount, type, dmg }` | after application | | `heal` | `{ source, target, amount }` | before application (mutable amount) | -| `fatal` | `{ unit, source, credit, dmg, amount, prevented }` | HP would reach 0 — fired by every HP loss of a unit without a boss pool (hits of any type, element bursts, 无来源 damage, `loseHp`); set `prevented`. Order: kits' own savers (10 … −60) → items' 不死 (坚固维式重锤, once per deployment) `PRIO_REVIVE` −100 → items' 复活 (M3茧甲) `PRIO_RESPAWN` −101 → 埃芒加德 −110; the two 复活 revive in place and open a new deployment for the lock (§21.21); a running 坚固 window's hook sits at `PRIO_UNDYING_HELD` −99, before a 傀儡师's switch to its 替身 (−100, ahead of the lock — a 本体 holding 不死 does not switch, §22.11) | +| `fatal` | `{ unit, source, credit, dmg, amount, prevented }` | HP would reach 0 — fired by every HP loss of a unit without a boss pool (hits of any type, element bursts, 无来源 damage, `loseHp`); set `prevented`. Order: kits' own savers (10 … −60) → items' 不死 (坚固维式重锤, once per deployment) `PRIO_REVIVE` −100; a running 坚固 window's hook sits at `PRIO_UNDYING_HELD` −99, before a 傀儡师's switch to its 替身 (−100, ahead of the lock — a 本体 holding 不死 does not switch, §22.11). The 复活 are no `fatal` savers since 0.2.0: they answer the knock-out (`death`, below) | | `kill` | `{ killer, victim }` | victim hp reached 0; a `killed` ability that keeps the enemy alive (a knock-out into a 重生 / form change, §21.4) hides it from every later handler, the kill count, credit and the bounty | -| `death` | `{ unit }` | unit removed (ops may redeploy later); the `die` event and the death hooks fire only on removal | +| `death` | `{ unit }` | unit removed (ops may redeploy later); the `die` event and the death hooks fire only on removal. Knock-out revives redeploy the operator at once inside it, free, where it lies (PRTS "“复活”的实现方式为:…下次部署的再部署时间和费用归零": the 被击倒时 and 部署时 effects both run): items' 复活 (M3茧甲) `PRIO_RESPAWN` 13 → 埃芒加德 `PRIO_BAND_REVIVE` 12 (both `items/battle.js reviveNow`, ctx `revivedBy`) → 阿戈尔 5's first-knock-out revive 11 → 不屈 10 | | `skillStart` / `skillEnd` | `{ unit, skill }` | | | `ammoUsed` | `{ unit, left }` | per ammo consumed | | `spGain` | `{ unit, amount }` | mutable | diff --git a/docs/research/04-items.md b/docs/research/04-items.md index 97805f6c..6e92c1ee 100644 --- a/docs/research/04-items.md +++ b/docs/research/04-items.md @@ -215,7 +215,7 @@ Param names below are the keys of `items[].normal.params` / `items[].golden.para params: `hp_ratio=0.7/0.4`; buff keys: `env_gbuff_new_with_verify` - **护盾无人机** (`chess_item_4_11_e_a`, TIV, 2) - Each heal the carrier performs: prob chance to give the healed target 1 shield layer (max max_stack_cnt layers; 1 layer blocks one instance of damage). params: `prob=0.1/0.15, max_stack_cnt=1.0`; buff keys: `env_gbuff_new_with_verify` -- **M3茧甲** (`chess_item_4_12_e_a`, TIV, 3) - When the carrier is defeated during the battle phase: revive immediately in place at full HP [ASSUMED full HP] up to max_respawn_cnt times per battle. +- **M3茧甲** (`chess_item_4_12_e_a`, TIV, 3) - When the carrier is defeated during the battle phase: revive immediately at full HP up to max_respawn_cnt times per battle — PRTS 备注 "“复活”的实现方式为:受益者因移动之外的原因退场时下次部署的再部署时间和费用归零": since 0.2.0 the knock-out stands and the carrier redeploys at once, free, where it lies (its 被击倒时 and 部署时 effects run; in place before). params: `max_respawn_cnt=1.0/2.0`; buff keys: `env_gbuff_new_with_verify` ### SP - 技力 SP gain diff --git a/server/sim/content/bands/battle.js b/server/sim/content/bands/battle.js index 2f11d47e..77a02cc3 100644 --- a/server/sim/content/bands/battle.js +++ b/server/sim/content/bands/battle.js @@ -7,8 +7,12 @@ // act1autochess_band2_buff 阿米娅 众志合一 ≥ value_i active bonds (highest i) ⇒ every operator ATK +atk_i, // HP +max_hp_i (直接乘算 — support directMods —, bonds snapshot at combat start) // act1autochess_band28_buff 埃芒加德 命结之秘 the first max_respawn_cnt operator knock-downs of the battle revive at -// once at full HP (runs after every other death saver, items included; -// a new deployment for 坚固维式重锤's lock — items revivedInPlace) +// once — PRTS 备注 "“复活”的实现方式为:受益者因移动之外的原因退场时下次部署 +// 的再部署时间和费用归零": the knock-out stands (被击倒时 effects run) and the +// operator redeploys at once, free, where it lies (部署时 effects run, SP +// reset): items reviveNow, a `death` hook after M3茧甲's and before 阿戈尔 +// 5 / 不屈 (in place until 0.2.0, community report 「…砾和瑕光这种死亡和部 +// 署的叠层效果,如果有艾芒加德的3次复活似乎是无法触发」) // act1autochess_band13_buff 克莱门莎 崇高牺牲 a operator knocked down ⇒ +its tier (等阶) layers // (bond_add_type by_charlevel; no "已激活" in the text ⇒ requireActive false) // act1autochess_band16_buff 大帝 加急调派 "每次部署后再部署时间减少50%": every deployment of an operator stacks one @@ -37,12 +41,15 @@ import { num, buffsOf, bandRecord, isOp, onField, isElite, tierOf, unitBonds, activeBondIds, playerOps, passiveBuff, fxOn, matchBands, gainLayers, alliesAround, N4, baseChessId, isGroundOp, directMods, } from '../support/index.js'; -import { weaknessRetype, addShieldLayer, PRIO_REVIVE, revivedInPlace } from '../items/battle.js'; +import { weaknessRetype, addShieldLayer, PRIO_RESPAWN, reviveNow } from '../items/battle.js'; import { spawnMapChar } from '../tokens.js'; export const AMEDIC_BAND = 'band_amedic'; -/** 'fatal' priority of 埃芒加德: after the operators' own items (PRIO_REVIVE / PRIO_RESPAWN) and every talent / skill saver. */ -export const PRIO_BAND_REVIVE = PRIO_REVIVE - 10; +/** + * 'death' priority of 埃芒加德's revive: a knock-out (so after every `fatal` saver — kits', 坚固维式重锤's 不死), after the + * operator's own M3茧甲 (PRIO_RESPAWN 13), before 阿戈尔 5's first-knock-out revive (11) and 不屈 (10). + */ +export const PRIO_BAND_REVIVE = PRIO_RESPAWN - 1; const keyOf = (bandId, part = '') => `band:${bandId}${part ? `:${part}` : ''}`; const deployedOps = (battle, pid) => playerOps(battle, pid, { fieldOnly: true }); @@ -68,13 +75,10 @@ const BY_KEY = { const max = Math.floor(num(p.max_respawn_cnt, 3)); if (!(max > 0)) return; let used = 0; - battle.on('fatal', (c) => { + battle.on('death', (c) => { const u = c.unit; - if (c.prevented || used >= max || !isOp(u) || u.ownerId !== ps.playerId || !u.alive) return; + if (used >= max || !isOp(u) || u.ownerId !== ps.playerId || !reviveNow(battle, c, 'band')) return; used++; - c.prevented = true; - u.hp = u.s.maxHp; - revivedInPlace(u); // in place for PRTS's 0-time / 0-cost redeploy: a new deployment for 坚固维式重锤's lock (items) fxOn(battle, 'revive', u, keyOf(bandId), bandId, { left: max - used }); }, { priority: PRIO_BAND_REVIVE }); }, diff --git a/server/sim/content/bonds/core.js b/server/sim/content/bonds/core.js index 34baa1df..dc37388a 100644 --- a/server/sim/content/bonds/core.js +++ b/server/sim/content/bonds/core.js @@ -424,7 +424,7 @@ function devour(battle, pid, bb, members) { const amount = num(bb.damage_value, 0); const layered = new Set(); // a target knocked out during the pass = off the field, or in another deployment than when the marks were placed (items - // deploymentOf: the 5-tier revive and 不屈 redeploy it, 埃芒加德 / M3茧甲 revive it in place) — a revived member was + // deploymentOf: the 5-tier revive, 不屈 and the 复活 of 埃芒加德 / M3茧甲 redeploy it) — a revived member was // standing again when its pending marks used to knock it out a second time and spend every revive at t = 0 (GitHub #33) const dep = new Map(); for (const [, t] of marks) if (!dep.has(t)) dep.set(t, items.deploymentOf(t)); @@ -457,10 +457,12 @@ function installEgir(battle, pid, bb, members) { // other, so the eaten food usually takes them at t = 0 and survivors = uneaten members + 3. A member takes at most one // slot, on its first knock-out ('killed') in the battle: its later knock-outs never take one, and a first knock-out // after the 3 are gone stays down. However many members mark it, its pending marks are cancelled once it is knocked - // out (devour), so a multi-devoured member spends one slot at most. Its own saver acts first: every kit, item or band - // revive that prevents or replaces the knock-out is a `fatal` hook (斯卡蒂's DRE-Y −50, kit savers 10 … −60, 坚固维式 - // 重锤 PRIO_REVIVE −100, M3茧甲 PRIO_RESPAWN −101, 埃芒加德 −110), so the unit is never knocked out and no slot is used — - // the slot waits for its first real knock-out [ASSUMED for 埃芒加德, a band: as M3茧甲, the item revive the owner named]. + // out (devour), so a multi-devoured member spends one slot at most. Its own saver acts first: a kit or item saver that + // prevents the knock-out is a `fatal` hook (斯卡蒂's DRE-Y −50, kit savers 10 … −60, 坚固维式重锤 PRIO_REVIVE −100), so the + // unit is never knocked out and no slot is used; a 复活 (M3茧甲 13, 埃芒加德 12 — items reviveNow, a knock-out and a free + // redeploy since 0.2.0) answers the knock-out before this hook and marks it `revivedBy`: that knock-out is not the + // member's first either — the slot waits for its first unanswered knock-out (the owner's decision of 2026-10-05: an + // operator's own revive uses no slot; [ASSUMED] for 埃芒加德, a band, as for M3茧甲, the item revive the owner named). // An operator entering 联防 down (FORCED_EXIT) is not knocked out either; a 调和 member counts like any other. Each // battle (normal, 联防, boss) counts its own. PRTS: the knocked-out unit's next deployment has 0 redeploy time and 0 // cost, i.e. it IS knocked out (被击倒 triggers, 克莱门莎, 幽灵鲨 … fire) and redeploys at once where it lies (the @@ -478,7 +480,7 @@ function installEgir(battle, pid, bb, members) { let revives = 0; battle.on('death', (c) => { const u = c.unit; - if (c.reason !== 'killed' || !memberOps.has(u) || knockedOut.has(u)) return; + if (c.reason !== 'killed' || c.revivedBy || !memberOps.has(u) || knockedOut.has(u)) return; knockedOut.add(u); if (revives >= max || u.alive || u.removed) return; if (!battle.redeploy(u, { free: true })) return; diff --git a/server/sim/content/items/battle.js b/server/sim/content/items/battle.js index 8874e265..e88da4e8 100644 --- a/server/sim/content/items/battle.js +++ b/server/sim/content/items/battle.js @@ -23,12 +23,15 @@ // use 10 … −60) never wastes a charge: 坚固维式重锤's lock (异常效果 不死, once per deployment — deploymentOf) at // PRIO_REVIVE −100 and its running windows, held by one battle-level hook, at PRIO_UNDYING_HELD −99 — before a 傀儡师's // switch to its 替身 (professions.js, −100: PRTS 分支特性信息 傀儡师 "受到足以致命的伤害且未持有不死的情况下"), while the -// lock itself still comes after that switch (as in 0.1.1); then the M3茧甲 revive at PRIO_RESPAWN −101 — PRTS -// 卫戍协议:盟约 下半/PRTS盟约记录 备注 "“复活”的实现方式为:受益者因移动之外的原因退场时下次部署的再部署时间和费用归零": a -// revive acts on a knock-out, which a 不死 prevents, so the lock always comes first whatever the equip order (player -// report F1 after 0.1.0: with the 茧甲 equipped first the revive ran first and the first lethal hit showed no lock); -// 埃芒加德's band revive follows (bands/battle.js PRIO_BAND_REVIVE −110). Both revives stand in place for that redeploy, -// so each opens a new deployment for the lock (revivedInPlace). +// lock itself still comes after that switch (as in 0.1.1). The 复活 — M3茧甲 here, 埃芒加德's band (bands/battle.js) — +// act on the knock-out itself: PRTS 卫戍协议:盟约 下半/PRTS盟约记录 备注 "“复活”的实现方式为:受益者因移动之外的原因退场时下 +// 次部署的再部署时间和费用归零" — the unit IS knocked out (its `death` hooks, every 被击倒时 effect, run) and its next +// deployment, at once, free, where it lies, is a deployment like any other (部署时 effects, SP reset, a new lock): a +// `death` hook at PRIO_RESPAWN 13, then 埃芒加德 12 (PRIO_BAND_REVIVE), ahead of 阿戈尔 5's first-knock-out revive (11) +// and 不屈 (10) — reviveNow. A 不死 prevents the knock-out, so the lock always comes first whatever the equip order (player +// report F1 after 0.1.0: with the 茧甲 equipped first the revive ran first and the first lethal hit showed no lock). Until +// 0.2.0 both revived in place (`fatal` savers at −101 / −110): no 被击倒时 / 部署时 effect fired (community report +// 「像砾和瑕光这种死亡和部署的叠层效果,如果有艾芒加德的3次复活似乎是无法触发」). // 骑士戒律's free in-skill undying runs early (20). Flat damage reduction 'hit' −10 (after the other damage modifiers). // Proc damage dealt by items carries the tag 'item' and never re-triggers item procs. // @@ -69,8 +72,11 @@ const ENEMY_RECORD = /^enemy_/; export const PRIO_REVIVE = -100; /** A running 坚固 window (不死 held): before a 傀儡师's switch to its 替身 at −100 — see header. */ export const PRIO_UNDYING_HELD = PRIO_REVIVE + 1; -/** The items' 复活 (M3茧甲): acts on a knock-out, so after every 不死 (PRIO_REVIVE) — see header. */ -export const PRIO_RESPAWN = PRIO_REVIVE - 1; +/** + * 'death' priority of the items' 复活 (M3茧甲): it acts on the knock-out, so after every `fatal` saver (不死 included) — + * before 埃芒加德 (12), 阿戈尔 5's revive (11) and 不屈 (10). See header and reviveNow. + */ +export const PRIO_RESPAWN = 13; const PRIO_FREE_UNDYING = 20; /** Stat keys of a stat buff → mods (直接乘算, see header). */ @@ -238,16 +244,30 @@ function hammerState(battle, rt, u) { // 娜仁图亚's 60 s lend) follows the same rule as an owner. /** - * The deployment `u` is in: every deploy bumps `deploySeq` (the redeploy after a knock-out, a 突袭 retreat + redeploy - * [ASSUMED a deployment], 阿戈尔's 立刻复活), and an in-place 复活 (M3茧甲, 埃芒加德: revivedInPlace) opens a new one too - * [ASSUMED] — PRTS (M3茧甲 / 埃芒加德 / 阿戈尔 备注) "“复活”的实现方式为:受益者因移动之外的原因退场时下次部署的再部署时间和 - * 费用归零": officially a revive is a 0-time / 0-cost redeploy; the remake keeps the unit standing instead. - * Also read by 阿戈尔's devour (bonds/core.js): a unit whose deployment changed during the pass was knocked out. + * The deployment `u` is in: every deploy bumps `deploySeq` — the redeploy after a knock-out, a 突袭 retreat + redeploy + * [ASSUMED a deployment], 阿戈尔's 立刻复活 and every 复活 (M3茧甲, 埃芒加德: reviveNow — PRTS "“复活”的实现方式为:受益者因移动 + * 之外的原因退场时下次部署的再部署时间和费用归零", a 0-time / 0-cost redeploy; in place until 0.2.0, when an extra counter + * opened the new deployment). Also read by 阿戈尔's devour (bonds/core.js): a unit whose deployment changed during the + * pass was knocked out. */ -export function deploymentOf(u) { return `${u.deploySeq}:${u.mem.revives | 0}`; } +export function deploymentOf(u) { return `${u.deploySeq}`; } -/** An in-place 复活 (M3茧甲, 埃芒加德) happened: a new deployment for the once-per-deployment lock (deploymentOf). */ -export function revivedInPlace(u) { if (u && u.mem) u.mem.revives = (u.mem.revives | 0) + 1; } +/** + * A 复活 answering a knock-out — call from a `death` hook (M3茧甲 PRIO_RESPAWN, 埃芒加德 PRIO_BAND_REVIVE). PRTS 备注 + * "“复活”的实现方式为:受益者因移动之外的原因退场时下次部署的再部署时间和费用归零": the operator was knocked out (this death; + * its 被击倒时 effects run) and redeploys at once, free, where it lies (Battle.redeploy: full HP, SP reset, `deploy` — + * its 部署时 effects run). True when it stands again; the ctx then carries `revivedBy`, so 阿戈尔 5 does not count the + * knock-out as the member's first (the owner's decision of 2026-10-05: an operator's own revive uses no slot; 埃芒加德 + * [ASSUMED] alike, DESIGN §24.3). A redeploy that cannot happen (its tile taken) spends nothing [ASSUMED]. + * @param {object} battle @param {{ unit: object, reason: string, revivedBy?: string }} c the `death` ctx @param {string} by + */ +export function reviveNow(battle, c, by) { + const u = c && c.unit; + if (!u || c.reason !== 'killed' || c.revivedBy || !isOp(u) || u.alive || u.removed) return false; + if (!battle.redeploy(u, { free: true })) return false; + c.revivedBy = by; + return true; +} /** * Does `u` hold 坚固维式重锤's 不死 right now — a window started in this deployment that has not run out? The window lives @@ -602,21 +622,18 @@ const BY_ITEM = { if (addShieldLayer(battle, c.target, SHIELD_KEY, cap)) fxOn(battle, 'shield', c.target, 'item:chess_item_4_11_e', rec.id); }); }, - // M3茧甲: knocked down in battle ⇒ revive at full HP (max_respawn_cnt per battle), in place — PRTS's form (退场, then a - // 0-time / 0-cost redeploy) is not modelled, but it counts as a new deployment for 坚固维式重锤's lock (revivedInPlace) + // M3茧甲: knocked down in battle ⇒ 立刻复活 (max_respawn_cnt per battle) — PRTS's form: the knock-out stands (its + // 被击倒时 effects run) and the carrier redeploys at once, free, where it lies (reviveNow; in place until 0.2.0) chess_item_4_12_e(battle, u, rec, S) { const p = bp(rec, 'act1autochess_equip_acarm068_global_buff'); const max = p ? Math.floor(num(p.max_respawn_cnt, 1)) : 0; if (!(max > 0)) return; let used = 0; - S.on('fatal', (c) => { - if (c.unit !== u || c.prevented || used >= max) return; + S.on('death', (c) => { + if (c.unit !== u || used >= max || !reviveNow(battle, c, 'item')) return; used++; - c.prevented = true; - u.hp = u.s.maxHp; - revivedInPlace(u); fxOn(battle, 'revive', u, 'item:chess_item_4_12_e', rec.id, { left: max - used }); - }, PRIO_RESPAWN); // after the hammer's 不死 lock, whatever the equip order (header) + }, PRIO_RESPAWN); // a knock-out: after every 不死 (the hammer's lock), whatever the equip order (header) }, // 催泪瓦斯: on attack prob ⇒ 1 麻痹 stack chess_item_5_01_e(battle, u, rec, S) { diff --git a/server/sim/content/kits/ops/op-slent2.js b/server/sim/content/kits/ops/op-slent2.js index 56efaac8..b42972a1 100644 --- a/server/sim/content/kits/ops/op-slent2.js +++ b/server/sim/content/kits/ops/op-slent2.js @@ -55,13 +55,13 @@ // once per cast the first operator of her range taking lethal damage (not its own — CheckEntitySuicide; not while it already // holds 不死 — "_dontConsumeWhenUndeadable") keeps ≥ 1 HP and holds 不死 for grave_duration s (slent2_shallow_grave, buff // flag `undying`; it outlasts her leaving). Order of the `fatal` step (items/battle.js): after the kits' own savers, a -// 傀儡师's switch and 坚固维式重锤's lock (PRIO_REVIVE −100), before the 复活 (PRIO_RESPAWN −101); the window it opens is -// held like the hammer's (PRIO_UNDYING_HELD −99). +// 傀儡师's switch and 坚固维式重锤's lock (PRIO_REVIVE −100) — the 复活 (M3茧甲, 埃芒加德) act on the knock-out after the +// whole `fatal` step; the window it opens is held like the hammer's (PRIO_UNDYING_HELD −99). // Statuses: none applied to enemies. Damage: arts normal attacks only. import { num, up, traitBb, moduleBb, talentBb, skillRec, once, holdProtect } from '../shared/tier1.js'; import { releaseSkillSummon } from '../../tokens.js'; -import { holdsUndying, PRIO_UNDYING_HELD, PRIO_REVIVE, PRIO_RESPAWN } from '../../items/battle.js'; +import { holdsUndying, PRIO_UNDYING_HELD, PRIO_REVIVE } from '../../items/battle.js'; import { absoluteRangeKeys } from '../../../targeting.js'; import { COLS } from '../../../constants.js'; @@ -79,8 +79,8 @@ const REGEN_IV = 1; export const MAXHP_KEY = 'slent2:maxhp'; /** S3's 不死 (slent2_shallow_grave). */ export const GRAVE_KEY = 'slent2:grave'; -/** S3's place in the `fatal` step: after the items' 不死 lock (−100), before their 复活 (−101) — see the header. */ -const PRIO_GRAVE = (PRIO_REVIVE + PRIO_RESPAWN) / 2; +/** S3's place in the `fatal` step: right after the items' 不死 lock (−100) — see the header. */ +const PRIO_GRAVE = PRIO_REVIVE - 0.5; /** 夜灯's area when its record carries no grid: its tile and the 8 around (x-4). */ const X4 = Object.freeze([[1, -1], [1, 0], [1, 1], [0, -1], [0, 0], [0, 1], [-1, -1], [-1, 0], [-1, 1]]); /** 【莱茵生命】 (character_table groupId "rhine": every member, so a 自选 pick counts too). */ diff --git a/test/content/bands.test.js b/test/content/bands.test.js index 7fb879d7..40e9f070 100644 --- a/test/content/bands.test.js +++ b/test/content/bands.test.js @@ -8,7 +8,7 @@ import { makeMatch, give, giveItem, DATA } from '../match/harness.js'; import { createRegistry } from '../../server/match/effectsMeta.js'; import { hasBattlePart, amedicCharsFor, PRIO_BAND_REVIVE } from '../../server/sim/content/bands/battle.js'; import { bandMetaHandler, duckReplace } from '../../server/sim/content/bands/meta.js'; -import { PRIO_REVIVE } from '../../server/sim/content/items/battle.js'; +import { PRIO_RESPAWN } from '../../server/sim/content/items/battle.js'; import * as bands from '../../server/sim/content/bands.js'; const QUIET = { warn() {}, error() {}, info() {} }; @@ -532,9 +532,12 @@ test('阿米娅 众志合一: 3 / 4 / ≥ 5 active bonds ⇒ every operator ATK cover('band_amiya'); }); -test('埃芒加德 命结之秘: the first 3 knock-downs of the battle revive at full HP (after the operators\' own revive items)', () => { +test('埃芒加德 命结之秘: the first 3 knock-downs of the battle revive at full HP (after the operators\' own revive items) — a knock-out and a free redeploy', () => { const ops = { t_op: op('t_op'), t_b: op('t_b') }; const h = fight({ band: 'band_ermengard', ops, units: [{ chessId: 't_op', row: 10, col: 4, items: [A('4_12')] }, { chessId: 't_b', row: 11, col: 4 }], foes: [[10, 9]] }); + const log = []; + h.b.on('death', (c) => log.push(['death', c.unit.defId, c.revivedBy ?? null]), { priority: -1000 }); + h.b.on('deploy', (c) => { if (!c.initial && c.unit.side === 'ally') log.push(['deploy', c.unit.defId]); }, { priority: -1000 }); h.step(1); const [a, b] = [h.unit('t_op'), h.unit('t_b')]; const kill = (u) => h.b.dealDamage(foe(h), u, { amount: 1e6, type: 'true' }); @@ -543,9 +546,13 @@ test('埃芒加德 命结之秘: the first 3 knock-downs of the battle revive at kill(a); kill(b); kill(b); // band revives 1, 2, 3 assert.ok(a.alive && b.alive); close(b.hp, 2000, 'full HP'); + // PRTS 备注 "“复活”的实现方式为:受益者因移动之外的原因退场时下次部署的再部署时间和费用归零": each revive is a knock-out + // (death hooks — 被击倒时 effects) and an immediate free redeploy where it lies (deploy hooks — 部署时 effects) + assert.deepEqual(log.filter((x) => x[0] === 'death').map((x) => x.slice(1)), [['t_op', 'item'], ['t_op', 'band'], ['t_b', 'band'], ['t_b', 'band']]); + assert.deepEqual(log.filter((x) => x[0] === 'deploy').map((x) => x[1]), ['t_op', 't_op', 't_b', 't_b'], 'each knock-out redeployed at once'); kill(a); assert.equal(a.alive, false, '4th knock-down of the band: dies'); - assert.ok(PRIO_BAND_REVIVE < PRIO_REVIVE); + assert.ok(PRIO_BAND_REVIVE < PRIO_RESPAWN, 'the band after the item revive (both death hooks, after every fatal saver)'); cover('band_ermengard'); }); diff --git a/test/content/bonds_core.test.js b/test/content/bonds_core.test.js index d0492fa0..a5d4bb27 100644 --- a/test/content/bonds_core.test.js +++ b/test/content/bonds_core.test.js @@ -542,7 +542,7 @@ test('阿戈尔 5: a member devoured by several 阿戈尔 spends one slot at mos checkInvariants(t.b); }); -test('阿戈尔 5: an operator\'s own save uses no slot (斯卡蒂\'s DRE-Y, M3茧甲, 埃芒加德 [ASSUMED for the band]); the slot waits for its first real knock-out', () => { +test('阿戈尔 5: an operator\'s own save or revive uses no slot (斯卡蒂\'s DRE-Y, M3茧甲, 埃芒加德 [ASSUMED for the band]); the slot waits for its first unanswered knock-out', () => { // 斯卡蒂 (elite, module DRE-Y by default) enters 联防 at half HP in front of 乌尔比安: his mark is lethal, DRE-Y saves her // (PRTS: once per deployment, full HP with max HP −60 %) — no knock-out, so no slot const SKADI = 'chess_char_3_05_b', ULPIA = 'chess_char_5_05_a', GHOST = 'chess_char_2_07_a', HN = 'chess_char_3_09_a', DEEP = 'chess_char_1_04_a'; @@ -568,20 +568,23 @@ test('阿戈尔 5: an operator\'s own save uses no slot (斯卡蒂\'s DRE-Y, M3 const list = [['g0_a', ['egirShip']], ['g1_a', ['egirShip']], ['g2_a', ['egirShip']], ['g3_a', ['egirShip']], ['g4_a', ['egirShip']]]; const units = (it = {}) => list.map(([chessId], i) => ({ chessId, row: 9 + (i % 2) * 3, col: 3 + i, items: it[i] })); const killed = (b, id) => { const u = b.unit(id); b.b.dealDamage(null, u, { amount: 1e9, type: 'true' }); return u; }; - // M3茧甲 (an item 复活, in place): g0 is saved, the 3 slots go to g1, g2, g3; g4 stays down + // M3茧甲 (an item 复活 — since 0.2.0 PRTS's form: a knock-out answered by a free redeploy, items reviveNow): g0 is knocked + // out and back at once, the 3 slots go to g1, g2, g3; g4 stays down const hi = makeBattle({ defs: defsOf(list), autoFinish: false, timeLimit: 60, hooks: ['death', 'deploy'], units: units({ 0: ['chess_item_4_12_e_a'] }), bonds: { egirShip: bondOn(5, 0, null, [3, 5]) } }); hi.step(1); const g0 = killed(hi, 'g0_a'); - assert.ok(g0.alive && hi.hooksOf('death').filter((c) => c.unit === g0).length === 0, 'item: saved in place (no knock-out)'); - assert.deepEqual(['g1_a', 'g2_a', 'g3_a', 'g4_a'].map((id) => killed(hi, id).alive), [true, true, true, false], 'item: three slots left after the save'); + assert.ok(g0.alive && hi.hooksOf('death').filter((c) => c.unit === g0 && c.reason === 'killed').length === 1, 'item: knocked out and revived'); + assert.equal(hi.hooksOf('death').find((c) => c.unit === g0).revivedBy, 'item'); + assert.deepEqual(['g1_a', 'g2_a', 'g3_a', 'g4_a'].map((id) => killed(hi, id).alive), [true, true, true, false], 'item: three slots left after the revive'); checkInvariants(hi.b); - // 埃芒加德 (命结之秘: the battle's first 3 knock-downs revive in place — its own count, unchanged): g0, g1, g2 saved by it; - // the 阿戈尔 slots then go to g3, g4 and g0's first real knock-out; g1's real one finds none + // 埃芒加德 (命结之秘: the battle's first 3 knock-downs revive at once — its own count, unchanged): g0, g1, g2 revived by it; + // the 阿戈尔 slots then go to g3, g4 and g0's next knock-out (its first unanswered one); g1's finds none const hb = makeBattle({ defs: defsOf(list), autoFinish: false, timeLimit: 60, hooks: ['death', 'deploy'], units: units(), bandId: 'band_ermengard', bonds: { egirShip: bondOn(5, 0, null, [3, 5]) } }); hb.step(1); for (const id of ['g0_a', 'g1_a', 'g2_a']) { const u = killed(hb, id); - assert.ok(u.alive && hb.hooksOf('death').filter((c) => c.unit === u).length === 0, `band: ${id} saved in place`); + const deaths = hb.hooksOf('death').filter((c) => c.unit === u); + assert.ok(u.alive && deaths.length === 1 && deaths[0].revivedBy === 'band', `band: ${id} knocked out and revived by the band`); } assert.deepEqual(hb.eventsOf('fx').filter((x) => x[1] === 'revive' && x[4] && x[4].left != null).map((x) => x[4].left), [2, 1, 0], '埃芒加德 spent its 3'); assert.deepEqual(['g3_a', 'g4_a', 'g0_a', 'g1_a'].map((id) => killed(hb, id).alive), [true, true, true, false], 'band: the 阿戈尔 slots are untouched'); diff --git a/test/content/feedback1f-hammer.test.js b/test/content/feedback1f-hammer.test.js index b99b52d1..74e2ff3c 100644 --- a/test/content/feedback1f-hammer.test.js +++ b/test/content/feedback1f-hammer.test.js @@ -156,7 +156,8 @@ test('F1 坚固维式重锤 in front of an 阿戈尔: the battle-start devour sp }); test('F1 坚固维式重锤 + M3茧甲: the lock comes before the revive whatever the equip order (PRTS: a revive acts on 退场)', () => { - assert.ok(PRIO_RESPAWN < PRIO_REVIVE && PRIO_RESPAWN > PRIO_BAND_REVIVE, 'revive items: after every 不死, before 埃芒加德'); + // revive items: a `death` hook (after every 不死 — a fatal saver), before 埃芒加德's + assert.ok(Number.isFinite(PRIO_REVIVE) && PRIO_RESPAWN > PRIO_BAND_REVIVE, 'revive items before 埃芒加德'); for (const items of [[M3, HAMMER], [HAMMER, M3]]) { const c = carrier(items); const log = fxLog(c.h, c.u); diff --git a/test/content/feedback5-revive-redeploy.test.js b/test/content/feedback5-revive-redeploy.test.js new file mode 100644 index 00000000..0203b936 --- /dev/null +++ b/test/content/feedback5-revive-redeploy.test.js @@ -0,0 +1,80 @@ +// Community report of 2026-10-06 (items 9 / 37) 「卡西米尔和艾芒加德策略似乎有BUG:像砾和瑕光这种死亡和部署的叠层效果,如果有 +// 艾芒加德的3次复活似乎是无法触发…只有最后一次真的死了没站起来才叠层了」: 埃芒加德's 命结之秘 (and M3茧甲) revived in place — a +// `fatal` saver — so no 被击倒时 and no 部署时 effect fired. PRTS (卫戍协议:盟约 下半/PRTS盟约记录, 埃芒加德 and M3茧甲 备注): +// "“复活”的实现方式为:受益者因移动之外的原因退场时下次部署的再部署时间和费用归零" — the knock-out stands and the operator +// redeploys at once, free: items/battle.js reviveNow, a `death` hook. + +import { test } from 'node:test'; +import assert from 'node:assert/strict'; +import { makeBattle, enemyRec } from '../helpers/battleHarness.js'; +import { hasGeneratedData } from '../../server/sim/simdata.js'; + +const REAL = { skip: !hasGeneratedData() }; +const GRAVEL = 'chess_char_2_12_a'; // 砾: <部署时>已激活的【卡西米尔】+1, <被击倒时>已激活的【不屈】+2 +const BLEMISH = 'chess_char_3_12_a'; // 瑕光: <部署时>自身已激活的盟约 +4 (每场作战至多12层) + +function setup({ band = 'band_ermengard', items = {} } = {}) { + const h = makeBattle({ + units: [{ chessId: GRAVEL, row: 9, col: 4, items: items[GRAVEL] }, { chessId: BLEMISH, row: 11, col: 4, items: items[BLEMISH] }], + bonds: { + kazimierzShip: { count: 3, layers: 1, active: true, tier: 1 }, + indomShip: { count: 2, layers: 1, active: true, tier: 1 }, + raidShip: { count: 2, layers: 1, active: true, tier: 1 }, + }, + bandId: band, + enemies: [{ key: 'enemy_far', time: 0, route: 0 }], + defs: { enemies: { enemy_far: enemyRec({ key: 'enemy_far', hp: 1e9, atk: 0, bat: 99, speed: 0.0001 }) } }, + timeLimit: 120, seed: 3, + }); + const gains = []; + h.b.on('layerGain', (c) => gains.push([c.source?.defId, c.bondId, c.n]), { priority: -1000 }); + h.step(); + const kill = (id) => { const u = h.unit(id); h.b.dealDamage(h.b.enemies[0], u, { amount: 1e7, type: 'true', canDodge: false }); return u; }; + const sum = (id, bond) => gains.filter(([s, b]) => s === id && b === bond).reduce((a, [, , n]) => a + n, 0); + return { h, kill, sum, gains }; +} + +test('埃芒加德: each of the 3 revives is a knock-out and a deployment — 砾 gains 不屈 +2 and 卡西米尔 +1 every time', REAL, () => { + const { h, kill, sum } = setup(); + assert.equal(sum(GRAVEL, 'kazimierzShip'), 1, 'the battle-start deployment'); + for (let i = 1; i <= 3; i++) { + const u = kill(GRAVEL); + assert.ok(u.alive, `revive ${i}: standing again`); + assert.equal(sum(GRAVEL, 'indomShip'), 2 * i, `revive ${i}: <被击倒时> 不屈 +2 (the parent: 0 until the 4th)`); + assert.equal(sum(GRAVEL, 'kazimierzShip'), 1 + i, `revive ${i}: <部署时> 卡西米尔 +1`); + h.run(0.5); + } + assert.deepEqual(h.eventsOf('fx').filter((e) => e[1] === 'revive' && e[4] && e[4].left != null).map((e) => e[4].left), [2, 1, 0], 'the band\'s 3'); +}); + +test('埃芒加德: 瑕光\'s <部署时> +4 to her own active bonds fires on a revive, up to its 12 per battle', REAL, () => { + const { kill, sum } = setup(); + assert.equal(sum(BLEMISH, 'kazimierzShip'), 4); + kill(BLEMISH); + assert.equal(sum(BLEMISH, 'kazimierzShip'), 8, 'first revive'); + assert.equal(sum(BLEMISH, 'raidShip'), 8); + kill(BLEMISH); + assert.equal(sum(BLEMISH, 'kazimierzShip'), 12, 'second revive: the cap'); + kill(BLEMISH); + assert.equal(sum(BLEMISH, 'kazimierzShip'), 12, 'third revive: still 12 (max_add_count_per_battle)'); +}); + +test('埃芒加德: a revive resets the operator like a redeploy (SP back to its initial value, a new deployment)', REAL, () => { + const { h, kill } = setup(); + const u = h.unit(BLEMISH); + u.skill.gainSp(3, 'test'); + const seq = u.deploySeq; + assert.ok(u.skill.sp > u.skill.initSp + 1e-6, `SP charged (${u.skill.sp})`); + kill(BLEMISH); + assert.ok(u.deploySeq > seq, 'a new deployment'); + assert.ok(Math.abs(u.skill.sp - u.skill.initSp) < 1e-6, `SP reset to ${u.skill.initSp}, got ${u.skill.sp}`); + assert.equal(Math.round(u.hp), Math.round(u.s.maxHp), 'full HP'); +}); + +test('M3茧甲: the same 复活 — a knock-out (砾 不屈 +2) and a deployment (卡西米尔 +1), once per battle', REAL, () => { + const { kill, sum } = setup({ band: null, items: { [GRAVEL]: ['chess_item_4_12_e_a'] } }); + const u = kill(GRAVEL); + assert.ok(u.alive); + assert.equal(sum(GRAVEL, 'indomShip'), 2); + assert.equal(sum(GRAVEL, 'kazimierzShip'), 2); +}); diff --git a/test/content/op_lessng.test.js b/test/content/op_lessng.test.js index b0a41b98..be0e6300 100644 --- a/test/content/op_lessng.test.js +++ b/test/content/op_lessng.test.js @@ -8,6 +8,7 @@ import { test } from 'node:test'; import assert from 'node:assert/strict'; import { readFileSync } from 'node:fs'; +import { deploymentOf } from '../../server/sim/content/items/battle.js'; import { makeBattle, enemyRec, chessRec, checkInvariants } from '../helpers/battleHarness.js'; import { KITTED_CHARS, OPERATOR_KITS, KITS } from '../../server/sim/content/kits/index.js'; import { DUEL_KEY, OATH_KEY, PAIN_KEY, REBORN_KEY } from '../../server/sim/content/kits/ops/op-lessng.js'; @@ -327,7 +328,7 @@ test('DRE-Y “苦修者的抗压训练”: the first lethal hit of a deployment done(h); // a running 不死 (坚固维式重锤's window) holds him instead: the module is not used const r = field({ tier, elite: true, mod: DREY }); - r.u.mem.undyingAt = `${r.u.deploySeq}:0`; + r.u.mem.undyingAt = deploymentOf(r.u); r.u.mem.undyingUntil = r.h.b.time + 5; const hammer = r.h.b.on('fatal', (c) => { if (c.unit === r.u && !c.prevented) c.prevented = true; }, { priority: -99 }); const f = r.h.spawn('enemy_dummy', { pos: [11, 8] }); diff --git a/test/content/op_zuole.test.js b/test/content/op_zuole.test.js index 485e05aa..1a8fff90 100644 --- a/test/content/op_zuole.test.js +++ b/test/content/op_zuole.test.js @@ -8,6 +8,7 @@ import { test } from 'node:test'; import assert from 'node:assert/strict'; import { readFileSync } from 'node:fs'; +import { deploymentOf } from '../../server/sim/content/items/battle.js'; import { makeBattle, enemyRec, checkInvariants } from '../helpers/battleHarness.js'; import { KITTED_CHARS, OPERATOR_KITS, KITS } from '../../server/sim/content/kits/index.js'; import { diyPool, validateDiyPicks } from '../../shared/diy.js'; @@ -350,7 +351,7 @@ test('SBL-Y (stages 1 and 3): knocked out ⇒ he stays and heals 30 % max HP, on // a running 不死 (坚固维式重锤's window) keeps him up instead h.b.redeploy(u); const r = field({ tier, elite: true, mod: SBLY, skill: 1 }); - r.u.mem.undyingAt = `${r.u.deploySeq}:0`; + r.u.mem.undyingAt = deploymentOf(r.u); r.u.mem.undyingUntil = r.h.b.time + 5; const hammer = r.h.b.on('fatal', (c) => { if (c.unit === r.u && !c.prevented) c.prevented = true; }, { priority: -99 }); const f = r.h.spawn('enemy_dummy', { pos: [10, 6] }); diff --git a/test/docs-consistency.test.js b/test/docs-consistency.test.js index 3f8b16be..e604e53d 100644 --- a/test/docs-consistency.test.js +++ b/test/docs-consistency.test.js @@ -718,9 +718,12 @@ test('player feedback after 0.1.0 (DESIGN §21, v0.1.1): every report mapped, th test('batch 6 after 0.1.0 (DESIGN §21.21–§21.25): the hammer per deployment, 起飞, fenced tiles, bodies, the PR fixes — code and docs agree', async () => { const sec = (n) => DESIGN.slice(DESIGN.indexOf(`## ${n}.`), DESIGN.indexOf(`## ${n + 1}.`) > 0 ? DESIGN.indexOf(`## ${n + 1}.`) : undefined); // F1: 不死 before 复活, once per deployment (§5.4 = SIM = items/battle.js) + // (0.2.0: the 复活 answer the knock-out — `death` hooks ahead of 阿戈尔 5 (11) and 不屈 (10), community report on 埃芒加德) const { PRIO_REVIVE, PRIO_RESPAWN } = await import('../server/sim/content/items/battle.js'); - assert.equal(PRIO_RESPAWN, PRIO_REVIVE - 1); - assert.match(sec(5), /\| `fatal` \|[^\n]*坚固维式重锤, once per deployment\) `PRIO_REVIVE` −100 → items' 复活 \(M3茧甲\) `PRIO_RESPAWN` −101 → 埃芒加德 −110/); + const { PRIO_BAND_REVIVE } = await import('../server/sim/content/bands/battle.js'); + assert.ok(PRIO_REVIVE < 0 && PRIO_RESPAWN > PRIO_BAND_REVIVE && PRIO_BAND_REVIVE > 11); + assert.match(sec(5), /\| `fatal` \|[^\n]*坚固维式重锤, once per deployment\) `PRIO_REVIVE` −100/); + assert.match(sec(5), /\| `death` \|[^\n]*items' 复活 \(M3茧甲\) `PRIO_RESPAWN` 13 → 埃芒加德 `PRIO_BAND_REVIVE` 12/); assert.match(SIM, /坚固维式重锤 — once per deployment/); assert.match(PLAYING, /\*\*每次部署一次\*\*/); // F2: onBuy = a shop purchase (§6.4 = META) @@ -764,11 +767,11 @@ test('batch 6 QA residuals (DESIGN §21.21–§21.25): the lock per deployment f const sub = (n) => { const a = DESIGN.indexOf(`### 21.${n} `); const b = DESIGN.indexOf('\n### 21.', a + 5); return DESIGN.slice(a, b > 0 ? b : DESIGN.indexOf('\n## 22.') > 0 ? DESIGN.indexOf('\n## 22.') : undefined); }; // F1: the lock belongs to the deployment (deploymentOf), its window to the battle (holdsUndying); revives open one const IB = await import('../server/sim/content/items/battle.js'); - for (const f of ['holdsUndying', 'revivedInPlace']) assert.equal(typeof IB[f], 'function', f); + for (const f of ['holdsUndying', 'reviveNow']) assert.equal(typeof IB[f], 'function', f); const items = doc('server/sim/content/items/battle.js'); assert.match(items, /function deploymentOf\(u\)/); assert.ok(!/S\.on\('deploy', \(c\) => \{\s*if \(c\.unit !== u \|\| c\.initial\) return;\s*hs\.undyingUsed/.test(items), 'no per-grant re-arm hook'); - assert.match(doc('server/sim/content/bands/battle.js'), /revivedInPlace\(u\)/); + assert.match(doc('server/sim/content/bands/battle.js'), /reviveNow\(battle, c, 'band'\)/); // since 0.2.0 a redeploy, no longer in place assert.match(doc('server/sim/content/kits/ops/chess_char_4_01-rmixer.js'), /if \(holdsUndying\(battle, unit\)\) return;/); assert.match(sub(21), /\*\*QA after the integration, fixed\*\*: \(1\) the lock lived in the hooks of the carrier's hammer grants/); assert.match(sub(21), /both in-place revives now call `revivedInPlace`/); diff --git a/test/golden/fields.json b/test/golden/fields.json index 13850933..8cf7547e 100644 --- a/test/golden/fields.json +++ b/test/golden/fields.json @@ -667,64 +667,64 @@ "time": 200, "ticks": 6000, "reason": "forced", - "killed": 4, + "killed": 5, "total": 6, "unspawned": 0, - "bossHpLeft": 6954318, - "rngDraws": 552, + "bossHpLeft": 6839827, + "rngDraws": 487, "errors": {"count":0,"kinds":[]}, "players": { - "p1": {"killed":4,"total":6,"perfect":false,"leaks":1,"leaksUncounted":0,"coins":0,"dmg":847634,"bossDmg":395229,"heal":818,"deaths":7,"layerGains":{}}, - "p2": {"killed":0,"total":0,"perfect":false,"leaks":1,"leaksUncounted":0,"coins":0,"dmg":1162932,"bossDmg":610453,"heal":1435,"deaths":14,"layerGains":{}} + "p1": {"killed":5,"total":6,"perfect":false,"leaks":1,"leaksUncounted":0,"coins":0,"dmg":931502,"bossDmg":476637,"heal":0,"deaths":5,"layerGains":{}}, + "p2": {"killed":0,"total":0,"perfect":true,"leaks":0,"leaksUncounted":0,"coins":0,"dmg":1243058,"bossDmg":643537,"heal":3926,"deaths":16,"layerGains":{}} }, "units": [ - ["p1",1,"op","chess_char_5_19_b",2,"uniequip_002_mlynar",3907,1,3,2,137783,0,0,32,2], + ["p1",1,"op","chess_char_5_19_b",2,"uniequip_002_mlynar",3907,1,3,2,107043,0,0,26,3], ["p1",2,"op","chess_char_4_01_b",2,"uniequip_002_rmixer",3537,1,1,0,0,0,0,0,0], - ["p1",3,"op","chess_char_5_14_b",1,"none",1994,1,5,0,55921,0,0,0,14], + ["p1",3,"op","chess_char_5_14_b",1,"none",1994,1,5,0,49913,0,0,0,12], ["p1",4,"op","chess_char_5_17_b",1,"uniequip_002_f12yin",4654.6,1,11,0,0,0,0,0,1], - ["p1",5,"op","chess_char_5_15_b",1,"uniequip_002_thorn2",1170,1,7,0,262312,0,0,69,10], - ["p1",6,"op","chess_char_5_20_b",2,"uniequip_002_aglina",1382,1,13,0,182427,0,0,73,6], - ["p1",7,"op","chess_char_5_21_b",1,"uniequip_002_sntlla",1629,1,55,2,34515,1629,0,47,2], - ["p1",8,"op","chess_char_5_22_b",1,"uniequip_002_nymph",0,0,56,0,121284,4833,0,40,12], - ["p1",9,"op","chess_char_5_23_b",1,"uniequip_002_reckpr",0,0,57,0,1934,5648,818,2,1], - ["p1",10,"op","chess_char_4_02_b",2,"uniequip_002_mostma",1695,1,9,0,51458,0,0,38,2], - ["p2",11,"op","chess_char_4_11_b",1,"uniequip_002_cathy",2644,1,43,0,0,12182,281,0,1], - ["p2",12,"op","chess_char_4_04_b",1,"uniequip_002_ines",0,0,50,0,185732,9124,851,264,6], + ["p1",5,"op","chess_char_5_15_b",1,"uniequip_002_thorn2",1170,1,7,1,308827,0,0,73,11], + ["p1",6,"op","chess_char_5_20_b",2,"uniequip_002_aglina",1382,1,13,0,199158,0,0,73,6], + ["p1",7,"op","chess_char_5_21_b",1,"uniequip_002_sntlla",1629,1,15,1,28304,0,0,41,2], + ["p1",8,"op","chess_char_5_22_b",1,"uniequip_002_nymph",0,0,40,0,176110,3222,0,44,15], + ["p1",9,"op","chess_char_5_23_b",1,"uniequip_002_reckpr",0,0,56,0,8257,4830,0,0,0], + ["p1",10,"op","chess_char_4_02_b",2,"uniequip_002_mostma",1695,1,9,0,53890,0,0,41,2], + ["p2",11,"op","chess_char_4_11_b",1,"uniequip_002_cathy",2644,1,44,0,4798,9594,208,10,1], + ["p2",12,"op","chess_char_4_04_b",1,"uniequip_002_ines",0,0,49,0,225342,9308,1035,271,6], ["p2",13,"op","chess_char_4_07_b",1,"uniequip_002_bpipe",2383,1,6,0,0,0,0,0,0], - ["p2",14,"op","chess_char_4_16_b",2,"uniequip_002_texas2",0,0,58,0,61676,11022,256,126,7], - ["p2",15,"op","chess_char_4_09_b",1,"uniequip_002_mizuki",2777.6,1,14,0,215990,0,0,116,6], - ["p2",16,"op","chess_char_4_06_b",1,"uniequip_002_kroos2",1561,1,8,0,472573,0,0,132,2], + ["p2",14,"op","chess_char_4_16_b",2,"uniequip_002_texas2",0,0,55,0,72175,10989,223,130,7], + ["p2",15,"op","chess_char_4_09_b",1,"uniequip_002_mizuki",2777.6,1,14,0,230782,0,0,117,6], + ["p2",16,"op","chess_char_4_06_b",1,"uniequip_002_kroos2",1561,1,8,1,414404,0,0,114,2], ["p2",17,"op","chess_char_4_10_b",1,"uniequip_002_aroma",1664,1,12,0,0,0,0,0,0], - ["p2",18,"op","chess_char_4_12_b",2,"uniequip_002_glady",2232,1,52,0,34831,2232,0,103,4], - ["p2",19,"op","chess_char_4_13_b",1,"uniequip_002_gnosis",0,0,48,0,93427,3978,0,86,22], - ["p2",20,"op","chess_char_4_14_b",1,"uniequip_002_lionhd",0,0,40,0,98701,3299,47,36,7], + ["p2",18,"op","chess_char_4_12_b",2,"uniequip_002_glady",0,0,16,0,80528,3398,1166,113,4], + ["p2",19,"op","chess_char_4_13_b",1,"uniequip_002_gnosis",0,0,18,0,136215,3232,1243,127,33], + ["p2",20,"op","chess_char_4_14_b",1,"uniequip_002_lionhd",0,0,54,0,78815,4930,52,27,4], ["p2",21,"token","token_10041_cathy_catsld",null,null,100,1,21,0,0,0,0,0,null], ["p2",22,"token","token_10041_cathy_catsld",null,null,100,1,22,0,0,0,0,0,null] ], "enemies": { - "enemy_10028_vtswd": [3,3,0,0,0], + "enemy_10028_vtswd": [5,5,0,0,0], "enemy_10029_vtshld": [3,3,0,0,0], - "enemy_10030_vtwand": [5,5,0,0,0], - "enemy_10085_hllevi_2": [2,0,2,0,804272], - "enemy_1010_demon": [4,4,0,13032,200612], - "enemy_9032_aclionk": [1,0,0,40914,1005682] + "enemy_10030_vtwand": [2,2,0,0,0], + "enemy_10085_hllevi_2": [2,1,1,0,853774], + "enemy_1010_demon": [4,4,0,10445,200612], + "enemy_9032_aclionk": [1,0,0,39059,1120173] }, - "hooks": [1,57,6000,1150,1168,2101,2112,1078,36,40,105,103,0,33986,1087,3,18,2,1,29,0,2,0], - "events": {"atk":1223,"deploy":39,"die":38,"dmg":2065,"engage":13,"fx":576,"heal":2,"leak":2,"skill":208,"spawn":40,"status":1110}, + "hooks": [1,55,6000,1195,1208,2168,2182,2342,36,39,115,113,0,36555,1375,7,17,1,1,28,0,3,0], + "events": {"atk":1268,"deploy":38,"die":38,"dmg":2165,"engage":14,"fx":588,"leak":1,"skill":228,"spawn":39,"status":1225}, "fx": { - "aoe": 32, + "aoe": 34, "appear": 4, "blink": 2, - "burst": 2, - "crit": 80, + "burst": 3, + "crit": 68, "dilemma": 6, "disappear": 4, "displace": 19, - "equip": 16, - "explosion": 7, - "frostNova": 22, + "equip": 12, + "explosion": 4, + "frostNova": 33, "garrisonGrant": 1, - "iceSpike": 40, + "iceSpike": 32, "overclock": 1, "pull": 4, "quadShot": 2, @@ -733,20 +733,20 @@ "sentry": 3, "shadowWeave": 3, "shield": 1, - "soul": 2, - "sp": 11, + "soul": 3, + "sp": 12, "stealth": 6, - "sword": 2, - "swordRain": 38, + "sword": 4, + "swordRain": 41, "swordStorm": 7, - "telegraph": 18, + "telegraph": 17, "tornado": 4, "tornadoPulse": 20, "vest": 3, "weightless": 6, - "zone": 190 + "zone": 209 }, - "snaps": "8a1f8d78 5887f6a8 75e7640c ee72be7c 45aaf338 72646e9d 5400e843 875b0bdd a5255fb2 4f28c0d0 da0a87a1 653af3cb 41cc724c ce76236e 751fd07f 20c538c4 0edfbcee 916abbd9 6371a2f1 9937cd28" + "snaps": "8a1f8d78 5887f6a8 75e7640c 6c1fa52f 3d0715d7 13a9bc85 01f2f99f 6ec63e95 79471033 6a9046a9 bce9f51f 7f9907c6 9448ee2c e5c0b958 3ee5cd84 bc474e74 1c886f0b caaecafa 265a6885 50b105cd" }, "boss-boss_6-solo": { "about": "阿利斯泰尔,帝国余晖 solo pool 3980000: chess_char_4_17_b chess_char_4_18_b chess_char_4_23_b chess_char_4_19_b chess_char_4_22_b chess_char_4_20_b chess_char_4_21_b chess_char_4_24_b chess_char_4_25_b chess_char_4_26_b", @@ -928,48 +928,48 @@ "killed": 13, "total": 18, "unspawned": 0, - "bossHpLeft": 12721869, + "bossHpLeft": 12722981, "rngDraws": 595, "errors": {"count":0,"kinds":[]}, "players": { - "p1": {"killed":13,"total":18,"perfect":false,"leaks":2,"leaksUncounted":0,"coins":0,"dmg":1807554,"bossDmg":894991,"heal":43213,"deaths":18,"layerGains":{}}, - "p2": {"killed":0,"total":0,"perfect":false,"leaks":1,"leaksUncounted":0,"coins":0,"dmg":973750,"bossDmg":782556,"heal":3433,"deaths":25,"layerGains":{}} + "p1": {"killed":13,"total":18,"perfect":false,"leaks":2,"leaksUncounted":0,"coins":0,"dmg":1799509,"bossDmg":894991,"heal":43213,"deaths":20,"layerGains":{}}, + "p2": {"killed":0,"total":0,"perfect":false,"leaks":1,"leaksUncounted":0,"coins":0,"dmg":978836,"bossDmg":781444,"heal":3433,"deaths":25,"layerGains":{}} }, "units": [ - ["p1",1,"op","chess_char_5_19_b",2,"uniequip_002_mlynar",5080.92,1,77,2,48613,25521,344,19,2], - ["p1",2,"op","chess_char_4_01_b",2,"uniequip_002_rmixer",8067.66,1,76,0,378,9736,453,3,2], - ["p1",3,"op","chess_char_5_14_b",1,"none",3988,1,86,1,48666,12855,2175,24,9], - ["p1",4,"op","chess_char_5_17_b",1,"uniequip_002_f12yin",0,0,83,0,35959,29785,8006,59,3], - ["p1",5,"op","chess_char_5_15_b",1,"uniequip_002_thorn2",89.23,1,80,2,849513,4961,12341,98,11], - ["p1",6,"op","chess_char_5_20_b",2,"uniequip_002_aglina",0,0,70,1,72754,10765,201,19,2], - ["p1",7,"op","chess_char_5_21_b",1,"uniequip_002_sntlla",3258,1,89,1,288403,6516,0,12,1], - ["p1",8,"op","chess_char_5_22_b",1,"uniequip_002_nymph",0,0,72,1,98794,6444,0,9,5], - ["p1",9,"op","chess_char_5_23_b",1,"uniequip_002_reckpr",3220,1,90,0,0,11772,19693,17,2], - ["p1",10,"op","chess_char_4_02_b",2,"uniequip_002_mostma",801.14,1,79,2,364473,10638,0,24,2], - ["p2",11,"op","chess_char_4_11_b",1,"uniequip_002_cathy",0,0,73,0,0,6071,137,0,1], - ["p2",12,"op","chess_char_4_04_b",1,"uniequip_002_ines",0,0,82,1,8212,12720,5,56,4], - ["p2",13,"op","chess_char_4_07_b",1,"uniequip_002_bpipe",4170.25,1,92,0,1799,9948,1608,2,2], - ["p2",14,"op","chess_char_4_16_b",2,"uniequip_002_texas2",974.55,1,88,0,92340,16538,16,44,9], - ["p2",15,"op","chess_char_4_09_b",1,"uniequip_002_mizuki",0,0,67,0,77253,8291,204,21,3], - ["p2",16,"op","chess_char_4_06_b",1,"uniequip_002_kroos2",0,0,85,2,597129,3122,0,130,2], + ["p1",1,"op","chess_char_5_19_b",2,"uniequip_002_mlynar",5080.92,1,79,2,40568,26519,344,15,2], + ["p1",2,"op","chess_char_4_01_b",2,"uniequip_002_rmixer",8067.66,1,78,0,378,9736,453,3,2], + ["p1",3,"op","chess_char_5_14_b",1,"none",3988,1,88,1,48666,12855,2175,24,9], + ["p1",4,"op","chess_char_5_17_b",1,"uniequip_002_f12yin",0,0,85,0,35959,29785,8006,59,3], + ["p1",5,"op","chess_char_5_15_b",1,"uniequip_002_thorn2",89.23,1,82,2,849513,4961,12341,98,11], + ["p1",6,"op","chess_char_5_20_b",2,"uniequip_002_aglina",0,0,72,1,72754,10765,201,19,2], + ["p1",7,"op","chess_char_5_21_b",1,"uniequip_002_sntlla",3258,1,91,1,288403,6516,0,12,1], + ["p1",8,"op","chess_char_5_22_b",1,"uniequip_002_nymph",0,0,74,1,98794,6444,0,9,5], + ["p1",9,"op","chess_char_5_23_b",1,"uniequip_002_reckpr",3220,1,92,0,0,11772,19693,17,2], + ["p1",10,"op","chess_char_4_02_b",2,"uniequip_002_mostma",801.14,1,81,2,364473,10638,0,24,2], + ["p2",11,"op","chess_char_4_11_b",1,"uniequip_002_cathy",0,0,75,0,0,6071,137,0,1], + ["p2",12,"op","chess_char_4_04_b",1,"uniequip_002_ines",0,0,84,1,8212,12720,5,56,4], + ["p2",13,"op","chess_char_4_07_b",1,"uniequip_002_bpipe",4170.25,1,94,0,1799,9948,1608,2,2], + ["p2",14,"op","chess_char_4_16_b",2,"uniequip_002_texas2",974.55,1,90,0,92340,16538,16,44,9], + ["p2",15,"op","chess_char_4_09_b",1,"uniequip_002_mizuki",0,0,69,0,77253,8291,204,21,3], + ["p2",16,"op","chess_char_4_06_b",1,"uniequip_002_kroos2",0,0,87,2,597129,3122,0,130,2], ["p2",17,"op","chess_char_4_10_b",1,"uniequip_002_aroma",0,0,20,0,56567,7585,264,58,2], ["p2",18,"op","chess_char_4_12_b",2,"uniequip_002_glady",0,0,2,0,27214,2956,724,13,2], - ["p2",19,"op","chess_char_4_13_b",1,"uniequip_002_gnosis",0,0,64,0,27451,4162,184,37,11], - ["p2",20,"op","chess_char_4_14_b",1,"uniequip_002_lionhd",0,0,65,3,85785,3543,291,33,6], + ["p2",19,"op","chess_char_4_13_b",1,"uniequip_002_gnosis",0,0,66,1,30896,4162,184,41,12], + ["p2",20,"op","chess_char_4_14_b",1,"uniequip_002_lionhd",0,0,67,2,87426,3543,291,33,6], ["p2",21,"token","token_10041_cathy_catsld",null,null,100,1,21,0,0,0,0,0,null], ["p2",22,"token","token_10041_cathy_catsld",null,null,100,1,22,0,0,0,0,0,null] ], "enemies": { - "enemy_10027_vtsk": [6,1,3,136990,777594], + "enemy_10027_vtsk": [6,1,3,137988,776007], "enemy_1005_yokai": [4,4,0,0,1600], "enemy_1229_darmy_2": [8,8,0,3462,294231], - "enemy_9013_acstmk_2": [1,0,0,48118,1678131], + "enemy_9013_acstmk_2": [1,0,0,48118,1677019], "enemy_9014_acstma": [4,3,0,2847,23452], "enemy_9015_acstmb": [3,2,0,12510,31442], "enemy_9016_acstmr": [8,7,0,0,40] }, - "hooks": [1,90,6000,770,773,2560,2726,4023,68,73,81,79,3,18733,553,15,34,3,1,69,0,3,5], - "events": {"atk":856,"deploy":56,"die":70,"dmg":2725,"engage":17,"fx":600,"heal":101,"leak":3,"skill":160,"spawn":56,"status":553}, + "hooks": [1,92,6000,770,773,2562,2728,4023,70,75,82,80,3,18982,560,15,34,3,1,69,0,3,5], + "events": {"atk":856,"deploy":58,"die":72,"dmg":2727,"engage":17,"fx":601,"heal":101,"leak":3,"skill":162,"spawn":56,"status":559}, "fx": { "aoe": 23, "appear": 9, @@ -984,7 +984,7 @@ "dodge": 5, "explode": 6, "explosion": 6, - "frostNova": 11, + "frostNova": 12, "iceSpike": 12, "overclock": 1, "palsy": 1, @@ -1012,7 +1012,7 @@ "weightless": 2, "zone": 187 }, - "snaps": "1b4d1c90 5e89ae3a 18b0277b 5cb9694e 563cd78d c2934649 005a2898 7c68af78 029a7b80 184cf32b 943adc62 cc001f13 527719ca e6dd0c82 6bc82008 833dee21 e6dd7990 4c3331ac 7e1c1ac9 63fe7c16" + "snaps": "1b4d1c90 5e89ae3a 18b0277b 5cb9694e 563cd78d c2934649 005a2898 3c77b766 04f89607 02eb8917 8e175305 f676cd83 a97f93f8 b59d1be9 3d859552 ffe9cc48 0faf2d10 044cbe2d f3bedb1c 7d4d8edd" }, "hidden-boss_8-solo": { "about": "假想敌:胄 solo pool 7200000: chess_char_4_17_b chess_char_4_18_b chess_char_4_23_b chess_char_4_19_b chess_char_4_22_b chess_char_4_20_b chess_char_4_21_b chess_char_4_24_b chess_char_4_25_b chess_char_4_26_b", @@ -1079,36 +1079,36 @@ "killed": 8, "total": 8, "unspawned": 0, - "bossHpLeft": 4049210, - "rngDraws": 1680, + "bossHpLeft": 4017610, + "rngDraws": 1624, "errors": {"count":0,"kinds":[]}, "players": { - "p1": {"killed":8,"total":8,"perfect":true,"leaks":0,"leaksUncounted":0,"coins":0,"dmg":1426827,"bossDmg":597682,"heal":13214,"deaths":5,"layerGains":{}}, - "p2": {"killed":0,"total":0,"perfect":true,"leaks":0,"leaksUncounted":0,"coins":0,"dmg":2554978,"bossDmg":913911,"heal":130784,"deaths":8,"layerGains":{}} + "p1": {"killed":8,"total":8,"perfect":true,"leaks":0,"leaksUncounted":0,"coins":0,"dmg":1645455,"bossDmg":671508,"heal":15048,"deaths":5,"layerGains":{}}, + "p2": {"killed":0,"total":0,"perfect":true,"leaks":0,"leaksUncounted":0,"coins":0,"dmg":2448666,"bossDmg":865308,"heal":101654,"deaths":17,"layerGains":{}} }, "units": [ - ["p1",1,"op","chess_char_6_03_b",2,"uniequip_002_yu",0,0,58,0,0,10883,4690,0,2], + ["p1",1,"op","chess_char_6_03_b",2,"uniequip_002_yu",0,0,61,0,0,10883,4678,0,2], ["p1",2,"op","chess_char_6_06_b",2,"uniequip_002_pepe",2939,1,11,0,23455,2258,0,35,1], ["p1",3,"op","chess_char_6_07_b",2,"uniequip_002_siege2",2990,1,17,0,52147,2547,0,50,2], - ["p1",4,"op","chess_char_6_01_b",2,"uniequip_002_lemuen",99.06,1,7,1,1043569,3226,0,57,8], - ["p1",5,"op","chess_char_6_02_b",2,"uniequip_002_sbell2",931.61,1,9,0,31824,10406,0,46,2], - ["p1",6,"op","chess_char_6_04_b",2,"uniequip_002_skadi2",745.66,1,52,0,8749,9134,562,0,4], + ["p1",4,"op","chess_char_6_01_b",2,"uniequip_002_lemuen",0,0,7,1,1261872,3759,0,54,8], + ["p1",5,"op","chess_char_6_02_b",2,"uniequip_002_sbell2",931.61,1,9,0,32004,10184,0,46,2], + ["p1",6,"op","chess_char_6_04_b",2,"uniequip_002_skadi2",745.66,1,55,0,8749,9239,728,0,4], ["p1",7,"op","chess_char_6_05_b",2,"uniequip_002_pasngr",2451.4,1,13,1,81581,0,0,0,11], - ["p1",8,"op","chess_char_6_08_b",2,"uniequip_002_reed2",1668,1,19,1,32005,0,7161,70,2], - ["p1",9,"op","chess_char_6_09_b",0,"uniequip_002_cello",0,0,21,1,131535,12922,0,27,27], - ["p1",10,"op","chess_char_6_11_b",2,"uniequip_002_mlyss",1893,1,56,0,14353,9097,349,78,2], + ["p1",8,"op","chess_char_6_08_b",2,"uniequip_002_reed2",1668,1,19,1,32038,0,8142,70,2], + ["p1",9,"op","chess_char_6_09_b",0,"uniequip_002_cello",0,0,21,1,131623,12992,0,27,27], + ["p1",10,"op","chess_char_6_11_b",2,"uniequip_002_mlyss",1893,1,23,0,14377,8316,349,84,2], ["p1",11,"token","token_10017_skadi2_dedant",null,null,0,0,28,0,0,130,0,0,null], ["p1",12,"token","token_10030_mlyss_wtrman",null,null,0,0,24,0,0,1614,292,4,1], - ["p2",13,"op","chess_char_6_15_b",2,"uniequip_002_qiubai",0,0,60,3,471039,50514,0,332,3], - ["p2",14,"op","chess_char_6_19_b",2,"uniequip_002_blkkgt",0,0,61,0,247360,13406,0,68,4], - ["p2",15,"op","chess_char_5_01_b",1,"uniequip_002_excu2",0,0,59,0,13275,9642,2640,45,2], - ["p2",16,"op","chess_char_6_17_b",2,"uniequip_002_nearl2",2458.52,1,62,1,509240,22200,0,58,2], - ["p2",17,"op","chess_char_6_12_b",1,"uniequip_002_rosmon",2886.8,1,8,0,264522,6236,0,75,3], - ["p2",18,"op","chess_char_6_13_b",1,"uniequip_002_angel2",2215,1,14,0,662969,6421,4283,285,6], - ["p2",19,"op","chess_char_6_14_b",2,"uniequip_002_lumen",2222.83,1,20,0,0,2781,19999,79,1], - ["p2",20,"op","chess_char_6_16_b",2,"uniequip_002_halo2",0,0,10,0,80392,3176,881,101,3], - ["p2",21,"op","chess_char_6_18_b",2,"uniequip_002_whitw2",1331,1,27,0,255595,5370,0,32,3], - ["p2",22,"op","chess_char_6_20_b",2,"uniequip_002_agoat2",0,0,25,0,0,17059,102981,70,2], + ["p2",13,"op","chess_char_6_15_b",2,"uniequip_002_qiubai",0,0,58,3,707548,33856,0,262,3], + ["p2",14,"op","chess_char_6_19_b",2,"uniequip_002_blkkgt",0,0,64,0,14341,15397,0,38,2], + ["p2",15,"op","chess_char_5_01_b",1,"uniequip_002_excu2",0,0,62,0,5592,6711,1711,34,2], + ["p2",16,"op","chess_char_6_17_b",2,"uniequip_002_nearl2",0,0,63,1,473437,22231,0,46,2], + ["p2",17,"op","chess_char_6_12_b",1,"uniequip_002_rosmon",0,0,8,0,261483,4750,0,72,3], + ["p2",18,"op","chess_char_6_13_b",1,"uniequip_002_angel2",0,0,14,0,615801,8646,2600,258,5], + ["p2",19,"op","chess_char_6_14_b",2,"uniequip_002_lumen",0,0,20,0,0,5004,9343,65,1], + ["p2",20,"op","chess_char_6_16_b",2,"uniequip_002_halo2",0,0,10,0,93740,3176,1402,116,3], + ["p2",21,"op","chess_char_6_18_b",2,"uniequip_002_whitw2",0,0,27,0,204164,10664,0,31,2], + ["p2",22,"op","chess_char_6_20_b",2,"uniequip_002_agoat2",0,0,25,0,0,14139,86599,66,2], ["-","~1","device","trap_1105_accrate",null,null,100,1,1,0,0,0,0,0,null], ["-","~2","device","trap_1105_accrate",null,null,100,1,2,0,0,0,0,0,null], ["-","~3","device","trap_1105_accrate",null,null,100,1,3,0,0,0,0,0,null], @@ -1118,40 +1118,39 @@ ["p2","~1","token","token_10019_nearl2_sword",null,null,3924.87,0,46,0,6538,3899,0,8,null], ["p1","~1","token","token_10030_mlyss_wtrman",null,null,0,0,47,0,1339,2034,0,23,1], ["p1","~2","token","token_10030_mlyss_wtrman",null,null,131.08,0,48,0,1401,2025,0,19,null], - ["p1","~3","token","token_10030_mlyss_wtrman",null,null,0,0,49,0,120,1322,0,2,null], - ["p1","~1","token","token_10040_siege2_vlion",null,null,3722.5,0,50,0,4750,277,0,10,null], - ["p2","~2","token","token_10019_nearl2_sword",null,null,3093.17,0,53,0,44047,4069,0,25,null], - ["p1","~2","token","token_10040_siege2_vlion",null,null,3933.26,0,55,0,0,81,0,0,null], - ["p1","~4","token","token_10030_mlyss_wtrman",null,null,1322,1,57,0,0,180,160,0,1] + ["p1","~3","token","token_10030_mlyss_wtrman",null,null,0,0,50,0,120,1322,0,2,null], + ["p1","~1","token","token_10040_siege2_vlion",null,null,3722.5,0,51,0,4750,277,0,10,null], + ["p2","~2","token","token_10019_nearl2_sword",null,null,0,0,56,0,66023,6528,0,4,null], + ["p1","~4","token","token_10030_mlyss_wtrman",null,null,1322,1,57,0,0,840,859,0,1], + ["p1","~2","token","token_10040_siege2_vlion",null,null,3980.14,0,60,0,0,26,0,0,null] ], "enemies": { "enemy_1267_nhpbr_2": [6,6,0,2895,141894], - "enemy_9007_acelem": [2,2,0,23398,309587], - "enemy_9017_achunt_2": [2,0,0,59262,1550790], - "enemy_9018_actrpa": [1,0,0,43264,577004], - "enemy_9019_actrpb": [1,0,0,21943,535849], - "enemy_9020_actrpc": [1,0,0,24229,938579] + "enemy_9007_acelem": [2,2,0,13327,309587], + "enemy_9017_achunt_2": [2,0,0,54993,1582390], + "enemy_9018_actrpa": [1,0,0,40542,615292], + "enemy_9019_actrpb": [1,0,0,26197,568492], + "enemy_9020_actrpc": [1,0,0,27710,967163] }, - "hooks": [1,60,6000,1767,1767,7110,13865,2612,25,35,93,88,317,45858,2401,14,13,0,1,29,0,17,0], - "events": {"atk":2141,"deploy":41,"die":35,"dmg":13390,"engage":22,"fx":2180,"heal":905,"skill":181,"spawn":49,"status":750}, + "hooks": [1,62,6000,1591,1591,6920,13591,2927,35,43,89,87,292,42200,2590,16,13,0,1,55,0,17,0], + "events": {"atk":2132,"deploy":43,"die":43,"dmg":13198,"engage":22,"fx":2025,"heal":843,"skill":176,"spawn":49,"status":768}, "fx": { - "airstrike": 99, - "beam": 24, + "airstrike": 91, + "beam": 21, "blessing": 1, - "blink": 5, - "bombard": 72, - "bombardShell": 72, + "blink": 4, + "bombard": 69, + "bombardShell": 69, "burst": 17, "camouflage": 1, "copy": 3, "dash": 24, - "displace": 6, "dp": 2, - "drone": 331, - "droneLock": 11, - "drones": 3, - "extraAttack": 15, - "finale": 4, + "drone": 235, + "droneLock": 7, + "drones": 2, + "extraAttack": 11, + "finale": 2, "firewall": 2, "garrisonGrant": 1, "lightning": 126, @@ -1163,19 +1162,20 @@ "revive": 3, "scorchBurst": 3, "shieldBreak": 9, - "slash": 44, + "slash": 22, "snow": 28, "split": 2, - "steal": 6, + "steal": 5, "storm": 11, "summon": 4, - "sunBurst": 4, + "sunBurst": 2, "talent": 4, "tide": 4, + "undying": 1, "wanted": 6, "zone": 6 }, - "snaps": "9797dd57 d3ba8d58 32d06887 bf42877c 1994874a e5491557 66d383f3 1312fd65 b74b9f4a 2f28845d ead771e6 c391a1a4 f923753b 23bee15f caa10968 93e7fa5f 8c6cfd06 4d79d333 2710458e 1a607645" + "snaps": "9797dd57 d3ba8d58 32d06887 bf42877c 1994874a c004c813 a0ce0809 99f52693 2d52f767 6e0096e0 c26a60f1 b9832509 290e1478 b7c46bbb 46636ff6 a278a6e4 cf1fe33e d7ceb1e8 e4323815 e22fb1a3" }, "hidden-boss_9-solo": { "about": "假想敌:铳 solo pool 2800000: chess_char_5_08_b chess_char_5_11_b chess_char_5_05_b chess_char_5_06_b chess_char_5_13_b chess_char_5_07_b chess_char_5_02_b chess_char_5_03_b chess_char_5_10_b chess_char_5_12_b", diff --git a/test/golden/matches.json b/test/golden/matches.json index a6e19d08..a9a40a7a 100644 --- a/test/golden/matches.json +++ b/test/golden/matches.json @@ -99,7 +99,7 @@ "combat": "client", "boost": null, "setup": {"stageId":"act1autochess_m03","bossId":"boss_5","hiddenBossId":"boss_8","factions":["TIMES","DOT","INVISIBLE"]}, - "end": {"victory":false,"roundsPassed":13,"hiddenReached":false,"hiddenCleared":false,"reason":"defeat","teamLp":0,"bossPoolLeft":93088,"virtualMs":106900}, + "end": {"victory":false,"roundsPassed":13,"hiddenReached":false,"hiddenCleared":false,"reason":"defeat","teamLp":0,"bossPoolLeft":94160,"virtualMs":106900}, "rng": {"setup":25,"shop":207,"waves":0,"draft":10,"bots":8483,"meta":14}, "errors": {"engine":0,"logged":0,"sim":0,"dispatcher":0}, "rounds": [ @@ -134,11 +134,11 @@ }, { "round": 12, - "ai_0": [1,17,12,0,0,6,8,"03cea672",154,"arcaneShip 0/2, deputShip 0/8, emptyShip 0/4, kazimierzShip 0/8, kjeragShip 0/14, miraShip 1/9, preciShip 0/12, sargonShip 0/8, siracusaShip 2/105, soloShip 1/16, steadShip 0/6, suntShip 1/2, swiftShip 1/22",20,31,11,109] + "ai_0": [1,19,12,0,0,6,8,"03cea672",151,"arcaneShip 0/2, deputShip 0/8, emptyShip 0/4, kazimierzShip 0/8, kjeragShip 0/14, miraShip 1/8, preciShip 0/12, sargonShip 0/8, siracusaShip 2/103, soloShip 1/16, steadShip 0/6, suntShip 1/2, swiftShip 1/22",23,31,8,109] }, { "round": 13, - "ai_0": [1,17,12,0,0,6,8,"1cf42739",230,"arcaneShip 0/2, deputShip 2/12, emptyShip 1/8, kazimierzShip 0/16, kjeragShip 0/22, miraShip 1/13, preciShip 0/12, sargonShip 0/8, siracusaShip 1/129, soloShip 1/20, steadShip 0/6, suntShip 1/6, swiftShip 1/42",115,115,0,121] + "ai_0": [1,19,12,0,0,6,8,"1cf42739",227,"arcaneShip 0/2, deputShip 2/12, emptyShip 1/8, kazimierzShip 0/16, kjeragShip 0/22, miraShip 1/12, preciShip 0/12, sargonShip 0/8, siracusaShip 1/127, soloShip 1/20, steadShip 0/6, suntShip 1/6, swiftShip 1/42",115,115,0,121] } ], "players": { @@ -152,9 +152,9 @@ "title": {"id":"comment_2","name":"不朽盟约","picId":"comment_icon_2","text":"激活的盟约层数总和最高"}, "trophies": 0, "reward": 320, - "stats": {"activatedLayers":290,"bossDamage":296912,"dmgDealt":2081142,"gold":131,"itemsEquipped":23,"kills":383,"leaks":11,"lpLost":10,"merges":5,"perfectRounds":12,"refreshes":15}, + "stats": {"activatedLayers":287,"bossDamage":295840,"dmgDealt":2127405,"gold":131,"itemsEquipped":23,"kills":386,"leaks":8,"lpLost":8,"merges":5,"perfectRounds":12,"refreshes":15}, "lineup": ["2_14_a@12,5","5_10_a@12,7[4_07_e_a+3_08_e_b]","5_20_b@11,5[6_09_e_a+5_02_e_b]","3_20_b@11,8[3_06_e_a+4_08_e_a]","6_11_a@10,3[4_12_e_a+5_02_e_b]","3_18_a@10,8[2_04_e_b+4_05_e_b]","6_19_a@9,4[4_04_e_a+4_10_e_a]","1_08_a@9,5[1_01_e_a+1_02_e_a]"], - "bonds": ["arcaneShip 0/2","deputShip 1/14","emptyShip 1/10","kazimierzShip 0/16","kjeragShip 1/24","maniShip 1/2","miraShip 1/15","preciShip 0/12","sargonShip 0/8","siracusaShip 1/151","soloShip 1/22","steadShip 0/6","suntShip 1/8","swiftShip 1/44"] + "bonds": ["arcaneShip 0/2","deputShip 1/14","emptyShip 1/10","kazimierzShip 0/16","kjeragShip 1/24","maniShip 1/2","miraShip 1/14","preciShip 0/12","sargonShip 0/8","siracusaShip 1/149","soloShip 1/22","steadShip 0/6","suntShip 1/8","swiftShip 1/44"] } } }, @@ -243,7 +243,7 @@ "combat": "client", "boost": null, "setup": {"stageId":"act1autochess_m03","bossId":"boss_5","hiddenBossId":"boss_8","factions":["TIMES","DOT","INVISIBLE"]}, - "end": {"victory":false,"roundsPassed":13,"hiddenReached":false,"hiddenCleared":false,"reason":"defeat","teamLp":0,"bossPoolLeft":94716,"virtualMs":107800}, + "end": {"victory":false,"roundsPassed":13,"hiddenReached":false,"hiddenCleared":false,"reason":"defeat","teamLp":0,"bossPoolLeft":92859,"virtualMs":107800}, "rng": {"setup":25,"shop":201,"waves":0,"draft":42,"bots":8376,"meta":2}, "errors": {"engine":0,"logged":0,"sim":0,"dispatcher":0}, "rounds": [ @@ -262,27 +262,27 @@ }, { "round": 8, - "ai_0": [1,23,11,0,0,4,8,"6960d5f9",66,"deputShip 1/6, emptyShip 1/2, kazimierzShip 0/8, kjeragShip 1/9, preciShip 0/5, sargonShip 0/8, siracusaShip 1/27, soloShip 1/7, steadShip 1/15, swiftShip 0/8",15,19,4,61] + "ai_0": [1,24,11,0,0,4,8,"6960d5f9",66,"deputShip 1/6, emptyShip 1/2, kazimierzShip 0/8, kjeragShip 1/9, preciShip 0/5, sargonShip 0/8, siracusaShip 1/27, soloShip 1/7, steadShip 1/15, swiftShip 0/8",16,19,3,61] }, { "round": 9, - "ai_0": [1,23,12,0,0,4,8,"ee973cc6",102,"arcaneShip 1/10, deputShip 1/8, emptyShip 1/4, kazimierzShip 0/8, kjeragShip 1/16, preciShip 1/14, sargonShip 0/8, siracusaShip 1/41, soloShip 1/9, steadShip 0/15, swiftShip 0/8",34,34,0,75] + "ai_0": [1,24,12,0,0,4,8,"ee973cc6",102,"arcaneShip 1/10, deputShip 1/8, emptyShip 1/4, kazimierzShip 0/8, kjeragShip 1/16, preciShip 1/14, sargonShip 0/8, siracusaShip 1/41, soloShip 1/9, steadShip 0/15, swiftShip 0/8",34,34,0,75] }, { "round": 10, - "ai_0": [1,23,12,0,0,5,8,"b4c89cd7",128,"arcaneShip 1/12, deputShip 1/10, emptyShip 1/6, kazimierzShip 0/8, kjeragShip 1/23, preciShip 1/21, sargonShip 0/8, siracusaShip 1/45, soloShip 1/11, steadShip 0/15, swiftShip 0/8",24,24,0,86] + "ai_0": [1,24,12,0,0,5,8,"b4c89cd7",128,"arcaneShip 1/12, deputShip 1/10, emptyShip 1/6, kazimierzShip 0/8, kjeragShip 1/23, preciShip 1/21, sargonShip 0/8, siracusaShip 1/45, soloShip 1/11, steadShip 0/15, swiftShip 0/8",24,24,0,86] }, { "round": 11, - "ai_0": [1,20,12,0,2,5,8,"1d52aad9",172,"arcaneShip 1/20, deputShip 1/12, emptyShip 1/8, kazimierzShip 0/8, kjeragShip 1/32, preciShip 1/28, sargonShip 0/8, siracusaShip 1/59, soloShip 1/13, steadShip 0/17, swiftShip 0/8",31,34,3,97] + "ai_0": [1,21,12,0,2,5,8,"1d52aad9",172,"arcaneShip 1/20, deputShip 1/12, emptyShip 1/8, kazimierzShip 0/8, kjeragShip 1/32, preciShip 1/28, sargonShip 0/8, siracusaShip 1/59, soloShip 1/13, steadShip 0/17, swiftShip 0/8",31,34,3,97] }, { "round": 12, - "ai_0": [1,10,14,0,0,6,8,"4dd4e915",196,"arcaneShip 0/20, deputShip 1/14, emptyShip 1/10, kazimierzShip 0/8, kjeragShip 1/39, preciShip 1/40, sargonShip 0/8, siracusaShip 1/63, soloShip 1/15, steadShip 0/17, swiftShip 1/15",12,31,19,111] + "ai_0": [1,11,14,0,0,6,8,"4dd4e915",196,"arcaneShip 0/20, deputShip 1/14, emptyShip 1/10, kazimierzShip 0/8, kjeragShip 1/39, preciShip 1/40, sargonShip 0/8, siracusaShip 1/63, soloShip 1/15, steadShip 0/17, swiftShip 1/15",11,31,20,111] }, { "round": 13, - "ai_0": [1,10,12,0,2,6,8,"42f17176",230,"arcaneShip 1/26, deputShip 0/14, emptyShip 1/10, kazimierzShip 0/8, kjeragShip 1/39, preciShip 2/45, sargonShip 0/8, siracusaShip 1/75, soloShip 1/15, steadShip 0/17, swiftShip 1/20",115,115,0,126] + "ai_0": [1,11,12,0,2,6,8,"42f17176",230,"arcaneShip 1/26, deputShip 0/14, emptyShip 1/10, kazimierzShip 0/8, kjeragShip 1/39, preciShip 2/45, sargonShip 0/8, siracusaShip 1/75, soloShip 1/15, steadShip 0/17, swiftShip 1/20",115,115,0,126] } ], "players": { @@ -296,7 +296,7 @@ "title": {"id":"comment_2","name":"不朽盟约","picId":"comment_icon_2","text":"激活的盟约层数总和最高"}, "trophies": 0, "reward": 340, - "stats": {"activatedLayers":268,"bossDamage":685284,"dmgDealt":2251076,"gold":140,"itemsEquipped":16,"kills":391,"leaks":26,"lpLost":17,"merges":3,"perfectRounds":10,"refreshes":15}, + "stats": {"activatedLayers":268,"bossDamage":687141,"dmgDealt":2250488,"gold":140,"itemsEquipped":16,"kills":393,"leaks":26,"lpLost":16,"merges":3,"perfectRounds":10,"refreshes":15}, "lineup": ["6_12_a@12,5[5_01_e_a+5_02_e_a]","5_10_a@12,7[4_07_e_a+5_02_e_b]","4_14_a@11,8","3_11_a@10,3","5_14_a@9,4[3_08_e_a+3_11_e_a]","1_08_a@9,5[1_01_e_a+4_05_e_a]","6_02_a@9,6","4_10_a@9,8[4_08_e_a+4_10_e_b]"], "bonds": ["arcaneShip 1/30","deputShip 0/14","emptyShip 1/10","kazimierzShip 0/16","kjeragShip 1/51","preciShip 2/50","sargonShip 0/8","siracusaShip 1/79","soloShip 1/15","steadShip 0/21","swiftShip 1/33","visiShip 1/0"] } @@ -406,23 +406,23 @@ }, { "round": 8, - "ai_0": [1,21,11,0,0,4,8,"214665a0",70,"deputShip 1/6, emptyShip 1/2, kazimierzShip 0/8, kjeragShip 1/9, preciShip 0/5, sargonShip 0/8, siracusaShip 1/31, soloShip 1/7, steadShip 1/15, swiftShip 0/8",14,19,5,61] + "ai_0": [1,21,11,0,0,4,8,"214665a0",68,"deputShip 1/6, emptyShip 1/2, kazimierzShip 0/8, kjeragShip 1/9, preciShip 0/5, sargonShip 0/8, siracusaShip 1/29, soloShip 1/7, steadShip 1/15, swiftShip 0/8",14,19,5,61] }, { "round": 9, - "ai_0": [1,21,12,0,0,4,8,"b598a45c",106,"arcaneShip 1/10, deputShip 1/8, emptyShip 1/4, kazimierzShip 0/8, kjeragShip 1/16, preciShip 1/14, sargonShip 0/8, siracusaShip 1/45, soloShip 1/9, steadShip 0/15, swiftShip 0/8",34,34,0,75] + "ai_0": [1,21,12,0,0,4,8,"b598a45c",104,"arcaneShip 1/10, deputShip 1/8, emptyShip 1/4, kazimierzShip 0/8, kjeragShip 1/16, preciShip 1/14, sargonShip 0/8, siracusaShip 1/43, soloShip 1/9, steadShip 0/15, swiftShip 0/8",34,34,0,75] }, { "round": 10, - "ai_0": [1,11,12,0,0,5,8,"317b28ba",132,"arcaneShip 1/12, deputShip 1/10, emptyShip 1/6, kazimierzShip 0/8, kjeragShip 1/23, preciShip 1/21, sargonShip 0/8, siracusaShip 1/49, soloShip 1/11, steadShip 0/15, swiftShip 0/8",11,24,13,86] + "ai_0": [1,11,12,0,0,5,8,"317b28ba",130,"arcaneShip 1/12, deputShip 1/10, emptyShip 1/6, kazimierzShip 0/8, kjeragShip 1/23, preciShip 1/21, sargonShip 0/8, siracusaShip 1/47, soloShip 1/11, steadShip 0/15, swiftShip 0/8",12,24,12,86] }, { "round": 11, - "ai_0": [1,1,12,0,0,5,8,"e69c468d",176,"arcaneShip 1/20, deputShip 1/12, emptyShip 1/8, kazimierzShip 0/8, kjeragShip 1/32, preciShip 1/28, sargonShip 0/8, siracusaShip 1/63, soloShip 1/13, steadShip 0/17, swiftShip 0/8",18,34,16,97] + "ai_0": [1,1,12,0,0,5,8,"e69c468d",174,"arcaneShip 1/20, deputShip 1/12, emptyShip 1/8, kazimierzShip 0/8, kjeragShip 1/32, preciShip 1/28, sargonShip 0/8, siracusaShip 1/61, soloShip 1/13, steadShip 0/17, swiftShip 0/8",16,34,18,97] }, { "round": 12, - "ai_0": [0,0,12,0,0,6,0,"811c9dc5",0,"arcaneShip 0/22, deputShip 0/14, emptyShip 0/10, kazimierzShip 0/8, kjeragShip 0/39, preciShip 0/35, sargonShip 0/8, siracusaShip 0/67, soloShip 0/15, steadShip 0/17, swiftShip 0/8",9,31,22,109] + "ai_0": [0,0,12,0,0,6,0,"811c9dc5",0,"arcaneShip 0/22, deputShip 0/14, emptyShip 0/10, kazimierzShip 0/8, kjeragShip 0/39, preciShip 0/35, sargonShip 0/8, siracusaShip 0/65, soloShip 0/15, steadShip 0/17, swiftShip 0/8",7,31,24,109] } ], "players": { @@ -436,9 +436,9 @@ "title": {"id":"comment_4","name":"精英云集","picId":"comment_icon_4","text":"晋升精锐次数最多"}, "trophies": 0, "reward": 255, - "stats": {"activatedLayers":0,"bossDamage":0,"dmgDealt":1632814,"gold":109,"itemsEquipped":10,"kills":227,"leaks":57,"lpLost":36,"merges":2,"perfectRounds":7,"refreshes":9}, + "stats": {"activatedLayers":0,"bossDamage":0,"dmgDealt":1612455,"gold":109,"itemsEquipped":10,"kills":224,"leaks":60,"lpLost":36,"merges":2,"perfectRounds":7,"refreshes":9}, "lineup": [], - "bonds": ["arcaneShip 0/22","deputShip 0/14","emptyShip 0/10","kazimierzShip 0/8","kjeragShip 0/39","preciShip 0/35","sargonShip 0/8","siracusaShip 0/67","soloShip 0/15","steadShip 0/17","swiftShip 0/8"] + "bonds": ["arcaneShip 0/22","deputShip 0/14","emptyShip 0/10","kazimierzShip 0/8","kjeragShip 0/39","preciShip 0/35","sargonShip 0/8","siracusaShip 0/65","soloShip 0/15","steadShip 0/17","swiftShip 0/8"] } } }, diff --git a/test/golden/roster.json b/test/golden/roster.json index 8b113218..88b692e1 100644 --- a/test/golden/roster.json +++ b/test/golden/roster.json @@ -720,31 +720,31 @@ "round": 10, "seed": 1517795683, "waveId": "act1autochess_h03", - "time": 161.47, - "ticks": 4844, + "time": 162.33, + "ticks": 4870, "reason": "cleared", "killed": 99, "total": 100, "unspawned": 0, "bossHpLeft": null, - "rngDraws": 194, + "rngDraws": 175, "errors": {"count":0,"kinds":[]}, "players": { - "p1": {"killed":99,"total":100,"perfect":false,"leaks":1,"leaksUncounted":0,"coins":10,"dmg":985546,"bossDmg":0,"heal":21845,"deaths":7,"layerGains":{"preciShip":8}} + "p1": {"killed":99,"total":100,"perfect":false,"leaks":1,"leaksUncounted":0,"coins":10,"dmg":995615,"bossDmg":0,"heal":24822,"deaths":10,"layerGains":{"preciShip":8}} }, "units": [ ["p1",1,"op","chess_char_4_17_b",1,"uniequip_002_hsguma",3430.24,1,7,1,184,83,0,20,0], - ["p1",2,"op","chess_char_4_18_b",1,"uniequip_002_mudrok",6104,1,9,4,50229,1721,1721,31,6], - ["p1",3,"op","chess_char_4_11_b",1,"uniequip_002_cathy",2644,1,124,0,2731,3521,0,3,1], - ["p1",4,"op","chess_char_4_19_b",2,"uniequip_002_flamtl",0,0,104,3,52099,4236,0,53,4], - ["p1",5,"op","chess_char_4_22_b",2,"uniequip_002_svrash",2219,1,122,9,101389,5488,0,26,3], - ["p1",6,"op","chess_char_4_16_b",2,"uniequip_002_texas2",1619,1,113,2,4659,5745,362,27,3], + ["p1",2,"op","chess_char_4_18_b",1,"uniequip_002_mudrok",6104,1,9,7,64566,2767,2767,38,8], + ["p1",3,"op","chess_char_4_11_b",1,"uniequip_002_cathy",2644,1,127,0,2731,3521,0,3,1], + ["p1",4,"op","chess_char_4_19_b",2,"uniequip_002_flamtl",0,0,107,3,35806,4236,0,39,3], + ["p1",5,"op","chess_char_4_22_b",2,"uniequip_002_svrash",1487.95,1,125,7,100277,6219,0,26,3], + ["p1",6,"op","chess_char_4_16_b",2,"uniequip_002_texas2",1619,1,119,3,20363,8218,1742,32,7], ["p1",7,"op","chess_char_4_10_b",1,"uniequip_002_aroma",1664,1,4,0,0,0,0,0,0], - ["p1",8,"op","chess_char_4_12_b",2,"uniequip_002_glady",2232,1,5,2,8753,557,557,14,2], - ["p1",9,"op","chess_char_4_13_b",1,"uniequip_002_gnosis",1989,1,11,22,185454,2255,0,90,38], - ["p1",10,"op","chess_char_4_14_b",1,"uniequip_002_lionhd",1526,1,13,43,489267,8101,0,55,23], - ["p1",11,"op","chess_char_4_20_b",2,"uniequip_002_fartth",0,0,6,13,90781,1419,0,28,5], - ["p1",12,"op","chess_char_4_21_b",1,"uniequip_002_plosis",1484,1,14,0,0,9049,19206,94,2], + ["p1",8,"op","chess_char_4_12_b",2,"uniequip_002_glady",2232,1,5,1,6718,557,557,13,2], + ["p1",9,"op","chess_char_4_13_b",1,"uniequip_002_gnosis",1989,1,11,19,183787,3355,0,88,36], + ["p1",10,"op","chess_char_4_14_b",1,"uniequip_002_lionhd",1526,1,13,46,493888,8151,0,58,23], + ["p1",11,"op","chess_char_4_20_b",2,"uniequip_002_fartth",0,0,6,12,87294,1419,0,26,4], + ["p1",12,"op","chess_char_4_21_b",1,"uniequip_002_plosis",1484,1,14,0,0,8449,19756,98,2], ["p1",13,"token","token_10041_cathy_catsld",null,null,100,1,17,0,0,0,0,0,null], ["p1",14,"token","token_10041_cathy_catsld",null,null,100,1,16,0,0,0,0,0,null], ["-","~1","device","trap_1105_accrate",null,null,100,0,1,0,0,0,0,0,null], @@ -760,19 +760,19 @@ "enemy_1183_mlasrt": [1,1,0,988,7488], "enemy_1207_sfji_2": [1,1,0,0,16128], "enemy_1208_msfji_2": [4,4,0,0,120], - "enemy_1267_nhpbr": [45,45,0,12900,233280], - "enemy_1267_nhpbr_2": [24,24,0,7500,152064], + "enemy_1267_nhpbr": [45,45,0,13100,233280], + "enemy_1267_nhpbr_2": [24,24,0,7525,152064], "enemy_1270_nhstlk": [1,1,0,0,13824], - "enemy_1270_nhstlk_2": [15,15,0,6314,276480], + "enemy_1270_nhstlk_2": [15,15,0,8416,276480], "enemy_1325_cbgpro_2": [1,1,0,0,5299], "enemy_1425_lrcmra_2": [1,1,0,718,28800], - "enemy_1525_blkswb": [1,0,1,11126,39216], + "enemy_1525_blkswb": [1,0,1,13598,49286], "enemy_2050_smsha": [1,1,0,2630,46080] }, - "hooks": [1,122,4844,474,474,1410,1409,514,107,110,87,86,0,15791,1515,23,100,1,1,121,1,0,2], - "events": {"atk":621,"bounty":5,"deploy":19,"die":109,"dmg":1401,"engage":10,"fx":242,"heal":206,"layer":1,"leak":1,"skill":175,"spawn":117,"status":1119}, - "fx": {"beam":6,"blink":2,"block":1,"displace":8,"dodge":2,"explode":4,"explosion":23,"featherArrow":5,"flame":4,"frostNova":38,"garrison":1,"garrisonGrant":1,"healField":2,"overclock":1,"palsy":1,"pull":2,"revive":4,"riposte":2,"rockslide":6,"shieldBreak":8,"slash":23,"summon":1,"swordRain":6,"swordStorm":3,"telegraph":4,"tornado":2,"tornadoPulse":10,"truesilver":3,"zone":69}, - "snaps": "a9c24b01 82cf2fda dbf7ac00 19d6e0fe bf0d6eef 39844f92 381970eb 0fff21ed d568b845 7e0b3bed 79bdef09 a61efdea d3ec023b 3898ceb9 a9d144b1 f7530a04 cdd5419c" + "hooks": [1,125,4870,486,486,1463,1462,531,111,113,89,88,0,16848,1524,31,100,1,1,121,1,0,2], + "events": {"atk":638,"bounty":5,"deploy":22,"die":112,"dmg":1450,"engage":10,"fx":278,"heal":221,"layer":1,"leak":1,"skill":179,"spawn":117,"status":1124}, + "fx": {"beam":6,"blink":2,"block":1,"displace":8,"dodge":2,"explode":6,"explosion":23,"featherArrow":4,"flame":3,"frostNova":36,"garrison":1,"garrisonGrant":1,"healField":2,"overclock":1,"palsy":1,"pull":2,"revive":4,"riposte":2,"rockslide":8,"shieldBreak":12,"slash":23,"summon":1,"swordRain":35,"swordStorm":7,"telegraph":3,"tornado":2,"tornadoPulse":10,"truesilver":3,"zone":69}, + "snaps": "a9c24b01 82cf2fda dbf7ac00 19d6e0fe bf0d6eef 39844f92 381970eb 0fff21ed d568b845 7e0b3bed 136fd57f 1d2e61ff 98f8e769 ac6a83ff 68395209 1b564b59 fa140621" }, "roster-013": { "about": "pass 0 band 5: chess_char_4_23_b chess_char_5_08_a chess_char_5_01_a chess_char_5_05_a chess_char_5_06_a chess_char_5_07_a chess_char_4_24_b chess_char_4_25_b chess_char_4_26_b chess_char_5_02_a chess_char_5_03_a chess_char_5_10_a", @@ -1624,32 +1624,32 @@ "total": 73, "unspawned": 0, "bossHpLeft": null, - "rngDraws": 164, + "rngDraws": 162, "errors": {"count":0,"kinds":[]}, - "players": {"p1":{"killed":15,"total":73,"perfect":false,"leaks":58,"leaksUncounted":0,"coins":6,"dmg":172523,"bossDmg":0,"heal":1327,"deaths":18,"layerGains":{}}}, + "players": {"p1":{"killed":15,"total":73,"perfect":false,"leaks":58,"leaksUncounted":0,"coins":6,"dmg":171592,"bossDmg":0,"heal":1327,"deaths":21,"layerGains":{}}}, "units": [ - ["p1",1,"op","chess_char_3_12_a",0,null,0,0,96,3,6989,4668,1327,19,3], + ["p1",1,"op","chess_char_3_12_a",0,null,0,0,99,3,6989,4668,1327,19,3], ["p1",2,"op","chess_char_3_16_a",0,null,0,0,6,0,3190,2173,0,11,1], - ["p1",3,"op","chess_char_3_18_a",0,null,0,0,93,1,4796,2962,0,4,3], + ["p1",3,"op","chess_char_3_18_a",0,null,0,0,96,1,4796,2962,0,4,3], ["p1",4,"op","chess_char_3_08_a",0,null,0,0,4,1,30700,1594,0,8,1], - ["p1",5,"op","chess_char_3_09_a",0,null,1267,1,99,2,14769,1267,0,22,3], - ["p1",6,"op","chess_char_3_10_a",0,null,0,0,86,1,26456,3300,0,17,4], + ["p1",5,"op","chess_char_3_09_a",0,null,1267,1,102,2,14769,1267,0,22,3], + ["p1",6,"op","chess_char_3_10_a",0,null,0,0,89,1,26456,3300,0,17,4], ["p1",7,"op","chess_char_3_11_a",0,null,0,0,7,1,11464,1316,0,7,1], - ["p1",8,"op","chess_char_3_13_a",0,null,0,0,10,0,4799,4736,0,27,1], - ["p1",9,"op","chess_char_3_14_a",0,null,0,0,75,0,5911,2502,0,7,0], - ["p1",10,"op","chess_char_3_17_a",0,null,938.6,1,95,3,38866,3553,0,52,10], - ["p1",11,"op","chess_char_3_19_a",0,null,0,0,79,1,16258,2878,0,29,0], - ["p1",12,"op","chess_char_3_20_a",0,null,0,0,97,0,3447,2684,0,18,1], + ["p1",8,"op","chess_char_3_13_a",0,null,0,0,54,0,3868,5140,0,25,0], + ["p1",9,"op","chess_char_3_14_a",0,null,0,0,78,0,5911,2502,0,7,0], + ["p1",10,"op","chess_char_3_17_a",0,null,938.6,1,98,3,38866,3553,0,52,10], + ["p1",11,"op","chess_char_3_19_a",0,null,0,0,82,1,16258,2878,0,29,0], + ["p1",12,"op","chess_char_3_20_a",0,null,0,0,100,0,3447,2684,0,18,1], ["p1",13,"token","token_10028_vigil_wolf",null,null,51.51,0,15,1,3733,828,0,6,null], ["-","~1","device","trap_1105_accrate",null,null,100,1,1,0,0,0,0,0,null], ["-","~2","device","trap_1105_accrate",null,null,100,1,2,0,0,0,0,0,null], ["-","~3","device","trap_1105_accrate",null,null,100,1,3,0,0,0,0,0,null], - ["p1","~1","token","token_10028_vigil_wolf",null,null,0,0,80,0,1145,1579,0,4,null] + ["p1","~1","token","token_10028_vigil_wolf",null,null,0,0,83,0,1145,1579,0,4,null] ], "enemies": { "enemy_10042_prtrop": [12,0,12,6413,21834], "enemy_10042_prtrop_2": [12,0,10,4427,15485], - "enemy_10043_sailor": [39,8,31,16646,159545], + "enemy_10043_sailor": [39,8,31,16904,158614], "enemy_1005_yokai_2": [1,1,0,68,2678], "enemy_10156_mncrer": [1,1,0,140,6912], "enemy_1116_liprr_2": [1,1,0,2415,15356], @@ -1657,13 +1657,13 @@ "enemy_1196_msfyin_2": [2,2,0,0,6], "enemy_1251_lysyta_2": [1,1,0,495,7925], "enemy_1355_mrfly_2": [1,0,1,0,5433], - "enemy_1513_dekght_2": [1,0,1,3473,1400], + "enemy_1513_dekght_2": [1,0,1,3619,1400], "enemy_9010_acpupp": [1,0,1,0,1540] }, - "hooks": [1,98,4200,354,354,1421,1482,9,34,91,28,28,0,8507,22,36,73,56,1,38,0,0,0], - "events": {"atk":413,"bounty":3,"deploy":22,"die":35,"dmg":1480,"engage":14,"fx":22,"heal":9,"leak":56,"skill":56,"spawn":90,"status":64}, + "hooks": [1,101,4200,353,353,1419,1480,9,37,94,27,27,0,8991,22,39,73,56,1,38,0,0,0], + "events": {"atk":412,"bounty":3,"deploy":25,"die":38,"dmg":1478,"engage":14,"fx":22,"heal":9,"leak":56,"skill":54,"spawn":90,"status":65}, "fx": {"dp":3,"explode":3,"liberate":1,"phase":1,"revive":4,"shield":2,"sp":2,"strike":1,"summon":2,"telegraph":2,"wolfShadowLost":1}, - "snaps": "eabc0c84 cc18ecdc 1266ee58 d2db745d d594c101 9c126fe9 207f1030 2cde0f2a d36f3786 a951fe8c 1df07ff6 2a7a28d7 440f50c1 e202f4c9" + "snaps": "eabc0c84 cc18ecdc 1266ee58 666fc8d3 26baaab7 d3a36a4b 25ba2a3b 47080865 27431ea4 dd4bd88b 236a99ed 70c9d9cf c92abc52 7537fbcd" }, "roster-027": { "about": "pass 1 band 4: chess_char_3_06_b chess_char_3_12_b chess_char_3_02_b chess_char_3_03_b chess_char_3_04_b chess_char_3_05_b chess_char_3_21_a chess_char_3_01_b chess_char_3_08_b chess_char_3_09_b chess_char_3_10_b chess_char_3_11_b", @@ -2010,64 +2010,64 @@ "round": 12, "seed": 3754088384, "waveId": "act1autochess_h05", - "time": 222.13, - "ticks": 6664, + "time": 223.13, + "ticks": 6694, "reason": "cleared", - "killed": 35, + "killed": 34, "total": 167, "unspawned": 0, "bossHpLeft": null, - "rngDraws": 474, + "rngDraws": 285, "errors": {"count":0,"kinds":[]}, "players": { "p1": { - "killed": 35, + "killed": 34, "total": 167, "perfect": false, - "leaks": 132, + "leaks": 133, "leaksUncounted": 0, "coins": 2, - "dmg": 346977, + "dmg": 292129, "bossDmg": 0, - "heal": 42114, - "deaths": 24, - "layerGains": {"indomShip":35} + "heal": 24904, + "deaths": 27, + "layerGains": {"indomShip":20} } }, "units": [ - ["p1",1,"op","chess_char_5_11_a",0,null,3628.8,1,198,2,15002,7551,4312,30,4], - ["p1",2,"op","chess_char_5_19_a",0,null,2167.52,1,196,3,36237,18040,49,14,3], - ["p1",3,"op","chess_char_5_13_a",0,null,0,0,193,5,70464,16349,83,31,1], - ["p1",4,"op","chess_char_5_14_a",0,null,1546.99,1,197,1,6713,5581,1527,20,3], - ["p1",5,"op","chess_char_5_06_b",0,"uniequip_003_etlchi",0,0,179,14,123248,17506,7085,33,8], - ["p1",6,"op","chess_char_5_17_a",0,null,89.06,1,195,0,5573,17040,199,14,2], - ["p1",7,"op","chess_char_5_12_a",1,null,0,0,3,3,14619,2983,75,13,2], - ["p1",8,"op","chess_char_5_15_a",0,null,0,0,4,3,25588,2074,18609,102,34], - ["p1",9,"op","chess_char_5_20_a",0,null,0,0,189,0,4867,4992,193,14,1], - ["p1",10,"op","chess_char_5_21_a",0,null,0,0,184,0,4231,6460,156,7,0], - ["p1",11,"op","chess_char_5_22_a",0,null,0,0,5,3,38526,3546,20,57,2], - ["p1",12,"op","chess_char_5_23_a",0,null,0,0,139,0,0,6556,9649,18,8], + ["p1",1,"op","chess_char_5_11_a",0,null,0,0,163,5,18173,8247,1009,34,1], + ["p1",2,"op","chess_char_5_19_a",0,null,0,0,175,2,21710,9416,9,12,1], + ["p1",3,"op","chess_char_5_13_a",0,null,0,0,178,3,58739,11515,0,24,1], + ["p1",4,"op","chess_char_5_14_a",0,null,1272.54,1,199,0,8585,6030,2107,25,3], + ["p1",5,"op","chess_char_5_06_b",0,"uniequip_003_etlchi",0,0,154,13,111471,13178,5457,30,7], + ["p1",6,"op","chess_char_5_17_a",0,null,1024.54,1,198,0,9393,20946,494,19,5], + ["p1",7,"op","chess_char_5_12_a",1,null,0,0,3,2,11238,1698,0,10,1], + ["p1",8,"op","chess_char_5_15_a",0,null,0,0,190,3,11272,2237,6845,46,18], + ["p1",9,"op","chess_char_5_20_a",0,null,1108,1,200,0,4975,3358,100,14,1], + ["p1",10,"op","chess_char_5_21_a",0,null,0,0,112,0,3973,5181,156,6,0], + ["p1",11,"op","chess_char_5_22_a",0,null,1237,1,201,5,30053,1682,0,46,1], + ["p1",12,"op","chess_char_5_23_a",0,null,0,0,140,0,0,5511,8570,16,6], ["-","~1","device","trap_1105_accrate",null,null,100,1,1,0,0,0,0,0,null], ["-","~2","device","trap_1105_accrate",null,null,100,1,2,0,0,0,0,0,null], - ["p1","~1","token","token_10015_dusk_drgn",null,null,1177.52,0,38,0,1910,976,157,6,null] + ["p1","~1","token","token_10015_dusk_drgn",null,null,1366.61,0,38,0,2547,787,157,8,null] ], "enemies": { - "enemy_1005_yokai_3": [1,0,1,5803,15478], - "enemy_1009_lurker": [72,14,58,515,85902], + "enemy_1005_yokai_3": [1,0,1,4737,7387], + "enemy_1009_lurker": [72,17,55,766,86048], "enemy_10159_mntrjn": [1,0,1,0,21757], - "enemy_1019_jshoot_2": [51,15,36,17451,115001], + "enemy_1019_jshoot_2": [51,12,39,14340,95258], "enemy_1118_lidbox_2": [1,1,0,39,14774], "enemy_1196_msfyin": [1,1,0,0,2], - "enemy_1252_lysytb_2": [1,0,1,307,9631], - "enemy_1364_spnaxe_2": [1,0,1,2528,4741], - "enemy_1404_msnip": [36,4,32,77857,127526], - "enemy_1516_jakill": [1,0,1,5154,1320], - "enemy_9011_acrefr": [1,0,1,0,1527] + "enemy_1252_lysytb_2": [1,0,1,202,9631], + "enemy_1364_spnaxe_2": [1,0,1,2054,3130], + "enemy_1404_msnip": [36,3,33,63431,102254], + "enemy_1516_jakill": [1,0,1,4217,1056], + "enemy_9011_acrefr": [1,0,1,0,592] }, - "hooks": [1,198,6664,961,961,3404,3432,2289,59,192,68,67,0,23204,206,88,167,132,1,65,7,0,3], - "events": {"atk":1050,"bounty":1,"deploy":29,"die":60,"dmg":3390,"engage":12,"fx":119,"heal":451,"layer":7,"leak":132,"skill":135,"spawn":182,"status":264}, - "fx": {"aoe":3,"dodge":3,"dollEnd":3,"garrison":7,"healAoe":4,"hpShare":1,"palsy":1,"phase":1,"reborn":3,"revive":6,"shield":39,"sp":10,"substitute":3,"summon":1,"zone":34}, - "snaps": "8b9c3026 e0f96062 a49bbfa8 29d89b05 0acdd66d 607a3e6e e487bee7 925b98be 8d6d2209 5c9e2d74 878a99ae 98ba61a3 429c3a4d 28fa2b80 5f6aa75e 47b6d9dc 12bc9401 62c44e64 d6f464bb de487d8c 7aaa2057 21893dc4 3ac24c00" + "hooks": [1,201,6694,779,779,2914,2928,2154,61,195,45,45,0,16024,151,77,167,133,1,63,4,0,7], + "events": {"atk":860,"bounty":1,"deploy":32,"die":62,"dmg":2905,"engage":12,"fx":77,"heal":195,"layer":4,"leak":133,"skill":90,"spawn":182,"status":198}, + "fx": {"aoe":3,"crit":2,"dodge":7,"dollEnd":2,"garrison":4,"healAoe":1,"hpShare":1,"palsy":1,"phase":1,"reborn":2,"revive":5,"shield":20,"sp":7,"substitute":2,"summon":1,"zone":18}, + "snaps": "8b9c3026 e0f96062 5bd2ea4f aa1681c2 f63b458e 8819a70c dbc211ee a33b4151 5d36531b e30ecd3d d3f615f0 d4cf7a96 42176da0 3492c4c9 c33d146c da0aee15 57018be8 1faef296 76622577 a7a9b09c 82ee5bcd 47d4838d 773e5245" }, "roster-034": { "about": "pass 1 band 6: chess_char_5_08_b chess_char_5_11_b chess_char_5_19_b chess_char_5_13_b chess_char_5_14_b chess_char_5_07_b chess_char_5_17_b chess_char_5_10_b chess_char_5_12_b chess_char_5_15_b chess_char_5_20_b chess_char_5_21_b", @@ -2441,47 +2441,47 @@ "time": 170, "ticks": 5100, "reason": "timeout", - "killed": 26, + "killed": 23, "total": 65, "unspawned": 0, "bossHpLeft": null, - "rngDraws": 280, + "rngDraws": 272, "errors": {"count":0,"kinds":[]}, - "players": {"p1":{"killed":26,"total":65,"perfect":false,"leaks":39,"leaksUncounted":0,"coins":2,"dmg":518926,"bossDmg":0,"heal":1130,"deaths":25,"layerGains":{}}}, + "players": {"p1":{"killed":23,"total":65,"perfect":false,"leaks":42,"leaksUncounted":0,"coins":4,"dmg":429762,"bossDmg":0,"heal":1172,"deaths":27,"layerGains":{}}}, "units": [ - ["p1",1,"op","chess_char_4_01_a",1,null,0,0,3,0,2428,2638,0,46,1], - ["p1",2,"op","chess_char_4_17_a",2,null,0,0,6,0,12763,2849,0,19,1], - ["p1",3,"op","chess_char_4_18_a",2,null,0,0,8,0,17529,3440,573,18,1], - ["p1",4,"op","chess_char_4_04_a",2,null,0,0,94,2,25834,7040,0,19,4], - ["p1",5,"op","chess_char_4_07_a",2,null,0,0,83,0,15765,7632,0,18,1], - ["p1",6,"op","chess_char_4_16_a",1,null,922.33,1,96,1,54471,7800,0,20,8], - ["p1",7,"op","chess_char_4_09_a",2,null,0,0,15,0,21707,1336,0,22,1], - ["p1",8,"op","chess_char_3_19_b",1,"none",0,0,4,3,51861,1648,0,61,1], - ["p1",9,"op","chess_char_3_21_b",1,"uniequip_004_archet",0,0,95,9,185226,3180,0,91,10], - ["p1",10,"op","chess_char_4_02_a",1,null,0,0,86,4,56749,2856,0,15,1], - ["p1",11,"op","chess_char_4_12_a",1,null,0,0,89,4,38365,4065,557,38,1], - ["p1",12,"op","chess_char_4_13_a",2,null,0,0,74,3,36228,3174,0,59,1], - ["p1",13,"token","token_10028_vigil_wolf",null,null,0,0,5,0,0,3541,0,0,null], + ["p1",1,"op","chess_char_4_01_a",1,null,0,0,3,0,2575,2639,0,53,1], + ["p1",2,"op","chess_char_4_17_a",2,null,0,0,6,1,24301,2849,0,31,1], + ["p1",3,"op","chess_char_4_18_a",2,null,0,0,8,0,17076,2867,0,15,1], + ["p1",4,"op","chess_char_4_04_a",2,null,0,0,90,2,18637,7040,0,16,4], + ["p1",5,"op","chess_char_4_07_a",2,null,0,0,86,0,9740,8690,0,22,1], + ["p1",6,"op","chess_char_4_16_a",1,null,1116.53,1,99,0,45090,7605,0,20,7], + ["p1",7,"op","chess_char_4_09_a",2,null,0,0,15,0,17764,1336,0,21,1], + ["p1",8,"op","chess_char_3_19_b",1,"none",0,0,4,7,50812,1648,0,68,1], + ["p1",9,"op","chess_char_3_21_b",1,"uniequip_004_archet",0,0,96,3,123167,3180,0,58,6], + ["p1",10,"op","chess_char_4_02_a",1,null,0,0,88,3,47171,2856,0,13,1], + ["p1",11,"op","chess_char_4_12_a",1,null,915.81,1,98,4,38898,3764,1172,39,1], + ["p1",12,"op","chess_char_4_13_a",2,null,0,0,77,3,34532,3174,0,56,1], + ["p1",13,"token","token_10028_vigil_wolf",null,null,0,0,5,0,0,2703,0,0,null], ["-","~1","device","trap_1105_accrate",null,null,100,1,1,0,0,0,0,0,null], ["-","~2","device","trap_1105_accrate",null,null,100,1,2,0,0,0,0,0,null] ], "enemies": { - "enemy_1005_yokai": [24,12,12,0,49267], - "enemy_1005_yokai_2": [27,10,12,7677,86315], - "enemy_1005_yokai_3": [6,1,4,20566,237116], + "enemy_1005_yokai": [24,11,13,0,49414], + "enemy_1005_yokai_2": [27,7,15,10447,66086], + "enemy_1005_yokai_3": [6,1,5,17540,184608], "enemy_10065_ftzlc": [1,1,0,0,16339], - "enemy_10162_mnctpt": [1,0,1,6114,39162], - "enemy_1119_vofsd": [1,0,1,1104,45721], + "enemy_10162_mnctpt": [1,0,1,5389,32651], + "enemy_1119_vofsd": [1,1,0,436,47298], "enemy_1196_msfyin_2": [1,1,0,0,3], - "enemy_1254_lypa_2": [1,0,1,8996,35711], - "enemy_1367_dseed": [1,0,1,0,2836], - "enemy_1517_xi": [1,0,1,5983,6446], + "enemy_1254_lypa_2": [1,0,1,9930,25245], + "enemy_1367_dseed": [1,0,1,0,3394], + "enemy_1517_xi": [1,0,1,6152,4716], "enemy_9016_acstmr": [1,1,0,0,8] }, - "hooks": [1,95,5100,625,625,1014,1053,834,53,86,31,31,18,8193,215,15,65,33,1,64,0,2,6], - "events": {"atk":711,"bounty":1,"deploy":28,"die":53,"dmg":1046,"engage":12,"fx":94,"heal":1,"leak":33,"skill":62,"spawn":80,"status":253}, - "fx": {"beam":4,"block":3,"buff":2,"burst":2,"coldWind":1,"dodge":6,"dp":1,"explode":1,"liberate":1,"overclock":1,"overload":1,"palsy":2,"phase":1,"revive":3,"ripple":1,"rockfall":1,"sentry":6,"shadowWeave":13,"shield":7,"shieldBreak":7,"stone":1,"swordStorm":8,"telegraph":3,"volley":10,"wake":1,"wolfShadow":2,"wolfShadowLost":4,"zone":1}, - "snaps": "f3440ee2 7da3be75 c96f2794 c9817d86 f4e4f99b 9be69905 48a68fda e1005cd1 ac1c74e4 d687c55f a47b29fc 90d6b228 4659af45 9df1748d 2e40f293 8372ceaf ff38b29e" + "hooks": [1,98,5100,629,629,941,979,808,51,89,26,26,18,8641,209,16,65,37,1,58,0,1,7], + "events": {"atk":722,"bounty":2,"deploy":31,"die":52,"dmg":972,"engage":12,"fx":86,"leak":37,"skill":52,"spawn":80,"status":239}, + "fx": {"beam":4,"block":3,"buff":2,"burst":1,"coldWind":1,"dodge":7,"dp":1,"explode":1,"overclock":1,"overload":1,"palsy":2,"phase":1,"revive":3,"ripple":1,"rockfall":1,"sentry":6,"shadowWeave":13,"shield":7,"shieldBreak":7,"stone":1,"swordStorm":7,"telegraph":3,"volley":6,"wake":1,"wolfShadow":1,"wolfShadowLost":3,"zone":1}, + "snaps": "f3440ee2 7da3be75 c96f2794 b353bd1c 4a6df4de 503d473c 91472bdb 1409d9fa 2311529b b078cd52 e92fd654 8c84b0e0 3c6c3d57 488a3c0a 61ca72e1 90784564 91926bb6" }, "roster-041": { "about": "pass 2 band 5: chess_char_4_23_a chess_char_4_01_b chess_char_4_19_a chess_char_4_22_a chess_char_4_04_b chess_char_4_07_b chess_char_4_09_b chess_char_4_20_a chess_char_4_24_a chess_char_4_25_a chess_char_4_02_b chess_char_4_12_b", @@ -2866,19 +2866,19 @@ "bossHpLeft": null, "rngDraws": 282, "errors": {"count":0,"kinds":[]}, - "players": {"p1":{"killed":54,"total":142,"perfect":false,"leaks":88,"leaksUncounted":0,"coins":6,"dmg":320902,"bossDmg":0,"heal":12345,"deaths":23,"layerGains":{}}}, + "players": {"p1":{"killed":54,"total":142,"perfect":false,"leaks":88,"leaksUncounted":0,"coins":6,"dmg":320902,"bossDmg":0,"heal":12345,"deaths":26,"layerGains":{}}}, "units": [ - ["p1",1,"op","chess_char_6_06_b",1,"none",0,0,147,3,39950,5278,0,20,1], - ["p1",2,"op","chess_char_6_15_b",1,"none",0,0,146,10,39140,4608,0,44,2], - ["p1",3,"op","chess_char_6_07_b",1,"none",0,0,114,0,14892,7056,0,12,0], + ["p1",1,"op","chess_char_6_06_b",1,"none",0,0,150,3,39950,5278,0,20,1], + ["p1",2,"op","chess_char_6_15_b",1,"none",0,0,149,10,39140,4608,0,44,2], + ["p1",3,"op","chess_char_6_07_b",1,"none",0,0,117,0,14892,7056,0,12,0], ["p1",4,"op","chess_char_6_17_b",1,"none",0,0,77,5,41945,4457,0,10,2], - ["p1",5,"op","chess_char_6_08_b",1,"none",1508,1,178,3,19446,5042,2565,15,1], - ["p1",6,"op","chess_char_6_09_b",2,"none",268,1,177,0,3424,3068,0,8,0], - ["p1",7,"op","chess_char_6_11_b",1,"none",0,0,163,1,3238,6231,0,9,0], - ["p1",8,"op","chess_char_6_12_b",2,"none",0,0,4,8,62955,9521,0,30,1], - ["p1",9,"op","chess_char_6_13_b",2,"uniequip_002_angel2",0,0,156,24,86408,7142,2712,38,2], - ["p1",10,"op","chess_char_6_14_b",1,"none",0,0,122,0,0,4723,7068,14,2], - ["p1",11,"op","chess_char_6_16_b",1,"uniequip_002_halo2",0,0,171,0,6370,4472,0,8,1], + ["p1",5,"op","chess_char_6_08_b",1,"none",1508,1,181,3,19446,5042,2565,15,1], + ["p1",6,"op","chess_char_6_09_b",2,"none",268,1,180,0,3424,3068,0,8,0], + ["p1",7,"op","chess_char_6_11_b",1,"none",0,0,166,1,3238,6231,0,9,0], + ["p1",8,"op","chess_char_6_12_b",2,"none",0,0,112,8,62955,10007,0,30,1], + ["p1",9,"op","chess_char_6_13_b",2,"uniequip_002_angel2",0,0,159,24,86408,7142,2712,38,2], + ["p1",10,"op","chess_char_6_14_b",1,"none",0,0,125,0,0,4723,7068,14,2], + ["p1",11,"op","chess_char_6_16_b",1,"uniequip_002_halo2",0,0,174,0,6370,4472,0,8,1], ["p1",12,"op","chess_char_6_18_b",1,"uniequip_002_whitw2",0,0,95,0,2720,4926,0,6,1], ["p1",13,"token","token_10030_mlyss_wtrman",null,null,0,0,15,0,413,1001,0,1,1], ["-","~1","device","trap_1105_accrate",null,null,100,1,1,0,0,0,0,0,null], @@ -2888,24 +2888,24 @@ ["p1","~1","token","token_10012_rosmon_shield",null,null,4293.6,0,59,0,0,706,0,0,null], ["p1","~2","token","token_10012_rosmon_shield",null,null,646.92,0,60,0,0,4353,0,0,null], ["p1","~1","token","token_10030_mlyss_wtrman",null,null,0,0,100,0,0,1865,0,0,0], - ["p1","~2","token","token_10030_mlyss_wtrman",null,null,0,0,164,0,0,1865,0,0,0] + ["p1","~2","token","token_10030_mlyss_wtrman",null,null,0,0,167,0,0,1865,0,0,0] ], "enemies": { "enemy_10067_ftsjc": [1,1,0,0,12480], "enemy_1017_defdrn": [1,1,0,0,3840], - "enemy_1019_jshoot_2": [57,15,42,12227,43974], + "enemy_1019_jshoot_2": [57,15,42,12178,43974], "enemy_1121_lifbos": [1,1,0,0,19200], "enemy_1197_sfshu": [1,1,0,0,2400], "enemy_1198_msfshu": [3,3,0,0,9], "enemy_1267_nhpbr": [1,1,0,400,4320], "enemy_1381_winman": [28,16,12,40,96129], - "enemy_1389_winbab_2": [48,15,33,57170,111670], + "enemy_1389_winbab_2": [48,15,33,57705,111670], "enemy_1525_blkswb": [1,0,1,5082,26880] }, - "hooks": [1,177,6433,727,719,831,938,109,80,172,14,14,75,10563,691,44,142,88,1,84,0,0,0], - "events": {"atk":733,"bounty":3,"deploy":32,"die":84,"dmg":851,"engage":12,"fx":60,"heal":25,"leak":88,"skill":28,"spawn":163,"status":186}, + "hooks": [1,180,6433,727,719,830,937,109,83,175,14,14,75,10563,691,44,142,88,1,84,0,0,0], + "events": {"atk":733,"bounty":3,"deploy":35,"die":87,"dmg":850,"engage":12,"fx":60,"heal":25,"leak":88,"skill":28,"spawn":163,"status":186}, "fx": {"airstrike":28,"anchor":1,"appear":1,"blink":1,"copy":1,"disappear":1,"ember":1,"explode":2,"garrisonGrant":2,"heal":2,"link":1,"revive":4,"strike":6,"summon":2,"summonStun":2,"sunBurst":1,"sword":2,"telegraph":1,"zone":1}, - "snaps": "ece6325d ebbd3de9 c30df90e b4f15c1c 94019924 1c9ec2f7 c9e16f6a ac507052 9ad73a7c 3b7cd673 730a9416 a0799dfb ffa923b0 8032fa00 126b697f b6f261e8 322ee407 3a29c4a7 db6b7ac2 4a24c1db 43f3735b 51aab483" + "snaps": "ece6325d ebbd3de9 c30df90e b4f15c1c 94019924 1c9ec2f7 c9e16f6a ac507052 9ad73a7c 73c57bf2 9baf1e8d 16b1fda0 af97763f 98adb61f 6818bdbc 5ed7a5e7 344d84fc c15d577c f610844d 48ba8f80 80020820 08d98134" }, "roster-048": { "about": "pass 2 band 7: chess_char_6_19_b chess_char_5_13_b chess_char_6_20_b chess_char_5_12_b chess_char_5_20_b chess_char_6_05_b", diff --git a/test/golden/standins.json b/test/golden/standins.json index 6171527d..52e7018e 100644 --- a/test/golden/standins.json +++ b/test/golden/standins.json @@ -375,7 +375,7 @@ "total": 80, "unspawned": 0, "bossHpLeft": null, - "rngDraws": 86, + "rngDraws": 82, "errors": {"count":0,"kinds":[]}, "players": { "p1": { @@ -385,46 +385,46 @@ "leaks": 71, "leaksUncounted": 0, "coins": 4, - "dmg": 124008, + "dmg": 125257, "bossDmg": 0, "heal": 0, - "deaths": 22, + "deaths": 25, "layerGains": {"preciShip":8,"sargonShip":18} } }, "units": [ ["p1",1,"op","chess_char_4_17_b",1,"none",0,0,3,0,210,3211,0,2,1], - ["p1",2,"op","chess_char_4_18_b",1,"none",0,0,83,0,30,9306,0,1,1], - ["p1",3,"op","chess_char_5_05_b",2,"none",0,0,97,0,1145,5816,0,2,1], - ["p1",4,"op","chess_char_4_19_b",1,"none",1847.63,1,107,0,230,3864,0,7,1], - ["p1",5,"op","chess_char_5_01_b",2,"none",1036.53,1,105,0,2197,3985,0,5,3], - ["p1",6,"op","chess_char_4_22_b",1,"none",3191,1,109,0,1178,15724,0,5,1], - ["p1",7,"op","chess_char_4_23_b",1,"none",0,0,68,0,3484,6865,0,8,1], + ["p1",2,"op","chess_char_4_18_b",1,"none",0,0,86,0,30,9306,0,1,1], + ["p1",3,"op","chess_char_5_05_b",2,"none",0,0,100,0,1145,5816,0,2,1], + ["p1",4,"op","chess_char_4_19_b",1,"none",1847.63,1,110,0,230,3864,0,7,1], + ["p1",5,"op","chess_char_5_01_b",2,"none",1036.53,1,108,0,2197,3985,0,5,3], + ["p1",6,"op","chess_char_4_22_b",1,"none",3191,1,112,0,959,14040,0,6,1], + ["p1",7,"op","chess_char_4_23_b",1,"none",0,0,71,0,3484,6865,0,8,1], ["p1",8,"op","chess_char_5_06_b",2,"uniequip_002_acguad",0,0,10,0,0,3820,0,0,0], - ["p1",9,"op","chess_char_4_20_b",1,"none",1255.06,1,106,2,14281,4581,0,27,1], - ["p1",10,"op","chess_char_4_24_b",1,"none",1007.59,1,108,0,5710,3072,0,19,1], - ["p1",11,"op","chess_char_5_02_b",2,"none",0,0,102,1,8684,4080,0,19,1], + ["p1",9,"op","chess_char_4_20_b",1,"none",1255.06,1,109,2,15749,4785,0,30,1], + ["p1",10,"op","chess_char_4_24_b",1,"none",1007.59,1,111,0,5710,3072,0,19,1], + ["p1",11,"op","chess_char_5_02_b",2,"none",0,0,105,1,8684,4080,0,19,1], ["p1",12,"op","chess_char_5_03_b",2,"uniequip_002_accast",0,0,4,6,86859,1749,0,10,1], ["-","~1","device","trap_1105_accrate",null,null,100,1,1,0,0,0,0,0,null], ["-","~2","device","trap_1105_accrate",null,null,100,1,2,0,0,0,0,0,null] ], "enemies": { - "enemy_1005_yokai_2": [18,3,15,3871,7232], - "enemy_1041_lazerd_2": [24,3,21,43406,32062], + "enemy_1005_yokai_2": [18,3,15,3206,7232], + "enemy_1041_lazerd_2": [24,3,21,43558,33530], "enemy_1042_frostd": [30,1,29,0,25469], - "enemy_1045_hammer": [1,1,0,2117,15552], - "enemy_1045_hammer_2": [1,0,1,5327,20514], + "enemy_1045_hammer": [1,1,0,2106,15552], + "enemy_1045_hammer_2": [1,0,1,5370,20295], "enemy_1046_agent": [1,1,0,72,3888], - "enemy_1050_lslime": [1,0,1,9701,0], + "enemy_1050_lslime": [1,0,1,8703,0], "enemy_1061_zomshd": [1,0,1,61,13862], "enemy_1062_rager_2": [1,0,1,1519,13929], "enemy_1067_snslime": [1,0,1,0,0], "enemy_1071_dftman": [1,0,1,0,0] }, - "hooks": [1,109,6707,301,301,585,576,545,31,102,13,13,0,8990,10,14,80,71,1,34,2,0,9], - "events": {"atk":327,"bounty":2,"deploy":27,"die":31,"dmg":576,"engage":11,"fx":23,"layer":2,"leak":71,"skill":26,"spawn":94,"status":111}, - "fx": {"aoe":1,"dodge":9,"dp":5,"garrison":2,"garrisonGrant":1,"palsy":2,"revive":3}, - "snaps": "801e90ec 5f30137a 56120166 3365328a cd10076b ddf2ae60 00e0a9a1 f0fbc83c 9a8e0ded c4876430 15bb6d00 e61302d2 75a24a51 0b7275b4 f728ca3f 437d1568 ed5e8b79 5a14602a ac144838 2dcf417a 7b12357a 77ef33ec ff8819ba" + "hooks": [1,112,6707,301,301,557,549,545,34,105,13,13,0,9357,10,15,80,71,1,34,2,0,8], + "events": {"atk":327,"bounty":2,"deploy":30,"die":34,"dmg":549,"engage":11,"fx":22,"layer":2,"leak":71,"skill":26,"spawn":94,"status":117}, + "fx": {"aoe":1,"dodge":8,"dp":5,"garrison":2,"garrisonGrant":1,"palsy":2,"revive":3}, + "snaps": "801e90ec 5f30137a 2f821a94 27817b68 c0d15f75 e321526a 89ad955e 577c467d e5ab6fc3 ea5ef327 c886e093 8fb8ee86 0bcd89de 3e0a3556 5a88da95 d1f4e3bf c043e923 9e51b0d0 951fd650 26d039ea c8dfac53 49a41bb2 1aba0cf1" }, "standin-08": { "about": "elite band 6 as stand-ins: chess_char_5_08_b→char_610_acfend chess_char_5_14_b→char_608_acpion chess_char_5_19_b→char_617_sharp2 chess_char_5_07_b→char_601_cguard chess_char_5_13_b→char_609_acguad chess_char_5_17_b→char_615_acspec chess_char_5_10_b→char_606_csuppo chess_char_5_11_b→char_613_acmedc chess_char_5_12_b→char_614_acsupo chess_char_5_15_b→char_603_csnipe chess_char_5_18_b→char_611_acnipe chess_char_5_20_b→char_614_acsupo", From ebbbfe70ef38634847eb8e2f8cf2b0362b03bbc1 Mon Sep 17 00:00:00 2001 From: sganggs Date: Wed, 7 Oct 2026 02:01:12 +0800 Subject: [PATCH 04/11] =?UTF-8?q?feedback5=20CB1:=20the=20result=20card=20?= =?UTF-8?q?no=20longer=20prints=20the=20hidden=20layers=20of=20=E8=B0=83?= =?UTF-8?q?=E5=92=8C=20/=20=E5=8D=8F=E9=98=B2=E5=B9=B2=E5=91=98=20/=20?= =?UTF-8?q?=E7=8B=AC=E8=A1=8C=20/=20=E7=BB=9D=E6=8A=80=20=E2=80=94=20they?= =?UTF-8?q?=20stack,=20the=20game=20never=20shows=20them=20(community=20re?= =?UTF-8?q?port=20=E3=80=8C=E7=8B=AC=E8=A1=8C=E8=BF=99=E7=A7=8D=E7=9B=9F?= =?UTF-8?q?=E7=BA=A6=E6=98=AF=E4=B8=8D=E8=83=BD=E5=8F=A0=E5=B1=82=E7=9A=84?= =?UTF-8?q?=EF=BC=88=E9=A1=BA=E4=BE=BF=E6=8E=92=E6=9F=A5=E4=B8=8B=E8=BF=98?= =?UTF-8?q?=E6=9C=89=E6=B2=A1=E6=9C=89=E7=B1=BB=E4=BC=BC=E7=9A=84=EF=BC=89?= =?UTF-8?q?=E3=80=8D,=20item=2021)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Not a rule change: PRTS 卫戍协议:盟约 下半/PRTS盟约记录, its header, 「下述盟约中部分盟约不会显示叠加层数,但是叠加层数的特质/ 策略/装备等效果仍然对其生效」 — the four bonds.json `noStack` bonds take layers from 助力 / 余 / 华法琳 / traits like every other, and their effects do not read them (research 02 §2.2, 0.1.4 PR #66, GitHub #139's answer). PR #66 hid the count on the bond strip and popup; the result card (screens/result.js) still showed 「独行 24」 and ranked its six bonds by it. resultBonds: a noStack bond carries no number and no rank by its hidden count. No sim change; golden unchanged. Test: test/ui/feedback5-result-bonds.test.js. Docs: PLAYING.md (层数), research 02 §2.2. --- docs/PLAYING.md | 2 +- docs/research/02-bonds.md | 2 +- public/js/screens/result.js | 19 +++++++++-- test/ui/feedback5-result-bonds.test.js | 44 ++++++++++++++++++++++++++ 4 files changed, 63 insertions(+), 4 deletions(-) create mode 100644 test/ui/feedback5-result-bonds.test.js diff --git a/docs/PLAYING.md b/docs/PLAYING.md index 29f02be4..f4aa2d87 100644 --- a/docs/PLAYING.md +++ b/docs/PLAYING.md @@ -110,7 +110,7 @@ - **本局禁用**:「标准模拟」与官方相同,关闭拉特兰、阿戈尔、卡西米尔、灵巧、奥术、奇迹、投资人、突袭、独行、绝技这 10 个盟约,它们不会激活。你有这些盟约的成员时(奇迹、投资人也算整备区里的成员),盟约栏末尾显示**灰色带 ✕ 的盟约图标和「本局禁用」**,干员卡、盟约标签和盟约详情也这样标注。「远见」「奇迹」「投资人」计入整备区,盟约详情的「成员」人数也一样计入整备区里的成员(临时整备区不算)。 - **调和**:激活时,场上已有成员的核心盟约人数各 +1(只加 1 人,不论有几名调和干员)。盟约详情会写「含调和 +1」,成员列表上方列出带来这 1 人的调和干员(如缪尔赛思)。 - **炎佑**:场上 6 名以上「炎」干员时召唤炎佑(9 名时两只)。它追踪全场仇恨最高的敌人并悬停在其上方,技能「祛恶之焰」锁定 1 个目标**持续喷火**(最长 20 秒,每秒对目标周围的敌人造成法术伤害并附带灼燃,喷火时不普攻,目标死亡或被沉默时结束);场上暂时没有敌人时停在原地等待。它持有官方的「孤立」:医疗干员不会治疗它,友方的增益、光环和天赋也不会选中它(敌人照常可以攻击它)。 -- **层数**:盟约通过各种效果叠加层数,层数越高效果越强(例如「炎」攻击力随层数提升、「远见」每 10 层给资金)。**层数整局保留,但只有盟约激活时才生效**,多数情况下也只有激活的盟约能叠层。每个盟约最多 **999 层**(与官方相同,取自官方客户端的常量):到 999 后再获得的层数直接作废,按层数发放的奖励(如「远见」的资金)也随之停止。作战中获得的层数在盟约栏里**实时**显示,作战结束后一直保留到结算(联防期间也不会退回去)。 +- **层数**:盟约通过各种效果叠加层数,层数越高效果越强(例如「炎」攻击力随层数提升、「远见」每 10 层给资金)。**层数整局保留,但只有盟约激活时才生效**,多数情况下也只有激活的盟约能叠层。每个盟约最多 **999 层**(与官方相同,取自官方客户端的常量):到 999 后再获得的层数直接作废,按层数发放的奖励(如「远见」的资金)也随之停止。作战中获得的层数在盟约栏里**实时**显示,作战结束后一直保留到结算(联防期间也不会退回去)。「调和」「协防干员」「独行」「绝技」与官方一样**不显示层数**(盟约栏、详情和结算卡片都不显示),但叠层的特质 / 策略 / 装备照样给它们加层(PRTS 盟约记录:「部分盟约不会显示叠加层数,但是叠加层数的特质/策略/装备等效果仍然对其生效」),这些层数也计入激活层数总和;它们的效果本身与层数无关。 - **加成怎么叠**:盟约、策略、装备、机变卡和特质给的「攻击力 / 防御力 / 生命值 +X%」与技能的「攻击力 +X%」**相加**后再乘到属性上(官方:直接乘算),例如精准 +130%、独行 +60%、一件 +40% 的装备合计 +230%,而不是 ×2.3×1.6×1.4。「伤害提升至 X%」「受到的伤害 +X%」(维多利亚、谢拉格、奥术、脆弱等)这类伤害倍率之间仍然相乘;但同名效果只算一个——同一战场两名玩家都开了「奥术」时,敌人身上只挂一层奥术易伤,取两人中较高的那一个(不再相乘);两名「灵知」的坚冰、两名「莱恩哈特」/「缄默德克萨斯」的法抗削减也一样只算最强的一个。「坚守」的反伤计入被打的那名成员(个人对领袖伤害统计里能看到)。 - 每局会随机**禁用**若干盟约(标准模拟较少),它们的干员不会出现在商店;开局的「确认本局信息」会列出,选择策略时(「查看禁用盟约与干员」)和对局中(左上角 🔍)也能再查看。 - 两件同名装备会合成一件更强的装备。休整期结束时才到手的那一件(维多利亚每 25 层发的维式重锤是这种情况)先留在整备区,已经戴在干员身上的不会为了这场战斗被卸下,合成出的进阶装备在**下一休整期开始**时出现;其他时候拿到的同名装备仍立刻合成。整备区和临时整备区都满时,这件新装备照旧销毁(「整备区已满,获得的装备已销毁」),不会换进装备栏。特定的装备组合可以为干员赋予额外的盟约效果:「变形同构体」与另一件盟约装备(如维式重锤)一同携带时,携带者视为该装备对应盟约的成员。对应关系见变形同构体详情卡的「天赋」一栏(本局禁用的盟约会标出;装在干员身上时,正在生效的那一组会高亮)。 diff --git a/docs/research/02-bonds.md b/docs/research/02-bonds.md index 9a0b0699..ab23af11 100644 --- a/docs/research/02-bonds.md +++ b/docs/research/02-bonds.md @@ -58,7 +58,7 @@ Core (isPower, bondType SEASON): 炎 萨尔贡 维多利亚 谢拉格 拉特兰 ### 2.2 Layers (层数) - Each player has one integer layer counter L per bond (23 counters). All start at 0 when the simulation starts, are never reset between rounds and are never reduced (no layer-loss effect exists in the data) [ASSUMED: never reduced]. -- `noStack: true` hides layer counts for 调和 / 协防干员 / 独行 / 绝技; it does not prohibit gains or clear stored layers. Their effects depend on member thresholds, but internal layers still participate in active-layer totals and unite ordering. [PRTS 下半盟约记录](https://prts.wiki/w/卫戍协议:盟约_下半/PRTS盟约记录): hidden-layer bonds still accept trait / strategy / equipment layer gains (review correction, 2026-10-04). +- `noStack: true` hides layer counts for 调和 / 协防干员 / 独行 / 绝技; it does not prohibit gains or clear stored layers. Their effects depend on member thresholds, but internal layers still participate in active-layer totals and unite ordering. [PRTS 下半盟约记录](https://prts.wiki/w/卫戍协议:盟约_下半/PRTS盟约记录): hidden-layer bonds still accept trait / strategy / equipment layer gains (review correction, 2026-10-04) — its header: 「下述盟约中部分盟约不会显示叠加层数,但是叠加层数的特质/策略/装备等效果仍然对其生效」. The client hides the count on the bond strip and popup (0.1.4, PR #66) and on the result card (0.2.0, `screens/result.js resultBonds`: no number, not ranked by it). - L is kept while the bond is inactive, but bond effects only apply while the bond is active (PRTS 盟约记录). - Wording contract used by every source: "使已激活的【X】层数+N" -> add only if bond X is active at the moment of the trigger; "(无需激活盟约)" -> add even if X is inactive. "自身所属盟约" = every bond of that operator; "自身已激活的盟约" = only its bonds that are active. - No layer cap in the data. Caps are per source: max_add_count_per_battle (layers a single garrison instance may add in one battle), max_layer (per round, e.g. 安洁莉娜 12/round). The official cap is in the client, not the data: `AutoChessBattleConst.MAX_GARRISON_STACK = 999`, `AddBondCount` stores `min(L + n, 999)` per bond (research 11 §1). Since 2026-10-01 (DESIGN §20.12) the remake stops each bond at 999 (`shared/constants.js BOND_LAYER_CAP`, `layerGainRoom`); the community agrees (巴哈姆特 12534 "每把都能999层", "沒999層的盟約情況下"; 12316 "999謝"). diff --git a/public/js/screens/result.js b/public/js/screens/result.js index 04e0b7c4..ec7572bf 100644 --- a/public/js/screens/result.js +++ b/public/js/screens/result.js @@ -36,6 +36,21 @@ const STAT_ROWS = [ ['refreshes', N_('刷新次数')], ['leaks', N_('未击倒')], ['lpLost', N_('损失生命')], ]; +/** + * The bonds a result card lists (at most 6): the active ones and those holding layers, most layers first. A bond whose + * layers the game never shows (bonds.json `noStack`: 调和 协防干员 独行 绝技 — PRTS 卫戍协议:盟约 下半/PRTS盟约记录 「部分盟约不会 + * 显示叠加层数,但是叠加层数的特质/策略/装备等效果仍然对其生效」) counts none for the order and carries no number + * (`hideLayers`), as on the bond strip since 0.1.4 (PR #66) — the card printed them until 0.2.0 (community report + * 「独行这种盟约是不能叠层的」). + * @param {any[]} bonds m.result players[].bonds @param {(bondId: string) => any} bondRec bonds.json record lookup + */ +export function resultBonds(bonds, bondRec = () => null) { + const list = (Array.isArray(bonds) ? bonds : []).filter((b) => b && typeof b.bondId === 'string') + .map((b) => (bondRec(b.bondId)?.noStack ? { ...b, hideLayers: true } : b)); + const shown = (b) => (b.hideLayers ? 0 : b.layers || 0); + return list.filter((b) => b.active || shown(b) > 0).sort((a, b) => shown(b) - shown(a)).slice(0, 6); +} + /** * One unit of a final lineup: a 自选 piece draws its operator; a 补位 piece (`standInFor`) its stand-in, with the small * 「替补」 mark — the title names the chess it fielded for. @@ -57,7 +72,7 @@ function PlayerCard({ p, myId, titles, best, solo = false }) { const stats = STAT_ROWS.filter(([k]) => Number.isFinite(p.stats[k])).slice(0, 7); const band = p.bandId ? gd.band(p.bandId) : null; const lineup = p.lineup.slice(0, 10); - const bonds = p.bonds.filter((b) => b.active || b.layers > 0).sort((a, b) => (b.layers || 0) - (a.layers || 0)).slice(0, 6); + const bonds = resultBonds(p.bonds, (id) => gd.bond(id)); return html`
<${PlayerAvatar} player=${p} self=${p.playerId === myId} /> @@ -71,7 +86,7 @@ function PlayerCard({ p, myId, titles, best, solo = false }) { : html`${p.alive === false ? t('阵容已撤离') : 'NO INFO'}`} ${bonds.length ? html`
${bonds.map((b) => html` - <${BondGlyph} bondId=${b.bondId} />${b.layers ?? 0}`)}
` : null} + <${BondGlyph} bondId=${b.bondId} />${b.hideLayers ? null : html`${b.layers ?? 0}`}`)}` : null}
<${MicroLabel}>ROUNDS${p.roundsPassed} ${p.trophies > 0 || p.reward > 0 ? html`${p.trophies > 0 ? html`<${Icon} name="crown" />+${p.trophies}` : null}${p.reward > 0 ? html`<${Icon} name="shield" />+${p.reward}` : null}` : null} diff --git a/test/ui/feedback5-result-bonds.test.js b/test/ui/feedback5-result-bonds.test.js new file mode 100644 index 00000000..8a2b1748 --- /dev/null +++ b/test/ui/feedback5-result-bonds.test.js @@ -0,0 +1,44 @@ +// Community report of 2026-10-06 「独行这种盟约是不能叠层的(顺便排查下还有没有类似的)」 (item 21). PRTS 卫戍协议:盟约 下半/ +// PRTS盟约记录, its header: 「下述盟约中部分盟约不会显示叠加层数,但是叠加层数的特质/策略/装备等效果仍然对其生效」 — the four +// bonds.json `noStack` bonds (调和 协防干员 独行 绝技) do take layers (助力, 余, 华法琳 …), the game only never shows them. The +// bond strip and its popup hide them since 0.1.4 (PR #66, test/ui/feedback1b-bonds.test.js); the result card still printed +// them (「独行 24」) and ordered its six bonds by them. resultBonds: no number, no rank for a hidden count. +import { test } from 'node:test'; +import assert from 'node:assert/strict'; +import { readFileSync } from 'node:fs'; +import path from 'node:path'; +import { fileURLToPath } from 'node:url'; + +const ROOT = path.resolve(path.dirname(fileURLToPath(import.meta.url)), '../..'); +globalThis.fetch = async (url) => { + const name = String(url).split('/').pop(); + try { + const body = readFileSync(path.join(ROOT, 'data', name), 'utf8'); + return { ok: true, status: 200, json: async () => JSON.parse(body) }; + } catch { + return { ok: false, status: 404, json: async () => ({}) }; + } +}; + +const { resultBonds } = await import('../../public/js/screens/result.js'); +const BONDS = JSON.parse(readFileSync(path.join(ROOT, 'data/bonds.json'), 'utf8')); +const rec = (id) => BONDS[id] ?? null; + +test('the four hidden-layer bonds are the data\'s noStack ones', () => { + assert.deepEqual(Object.keys(BONDS).filter((id) => BONDS[id].noStack).sort(), ['emptyShip', 'maniShip', 'soloShip', 'suntShip']); +}); + +test('result card bonds: a noStack bond shows no number and does not rank by its hidden layers', () => { + const out = resultBonds([ + { bondId: 'yanShip', layers: 12, active: true }, + { bondId: 'soloShip', layers: 40, active: true }, + { bondId: 'deputShip', layers: 20, active: true }, + { bondId: 'suntShip', layers: 30, active: false }, + { bondId: 'kjeragShip', layers: 3, active: false }, + ], rec); + assert.deepEqual(out.map((b) => b.bondId), ['deputShip', 'yanShip', 'kjeragShip', 'soloShip'], + 'layered bonds by layers; active 独行 last; an inactive 绝技 with only hidden layers left out'); + assert.equal(out.find((b) => b.bondId === 'soloShip').hideLayers, true); + assert.equal(out.find((b) => b.bondId === 'yanShip').hideLayers, undefined); + assert.equal(out.find((b) => b.bondId === 'yanShip').layers, 12, 'the stacking bonds keep their count'); +}); From 96794c5cc7c00d3d34a038ba0744d77712748678 Mon Sep 17 00:00:00 2001 From: sganggs Date: Wed, 7 Oct 2026 02:08:24 +0800 Subject: [PATCH 05/11] =?UTF-8?q?feedback5=20CB1:=20=E4=BD=A9=E4=BD=A9's?= =?UTF-8?q?=20special=20refresh=20is=20the=20next=20manual=20refresh=20at?= =?UTF-8?q?=20its=20usual=20price,=20no=20free=20refresh=20comes=20with=20?= =?UTF-8?q?it=20(community=20report=20=E3=80=8C=E4=BD=A9=E4=BD=A9=E7=AD=96?= =?UTF-8?q?=E7=95=A5=E7=9A=84=E7=89=B9=E6=AE=8A=E5=88=B7=E6=96=B0=E4=B9=9F?= =?UTF-8?q?=E6=98=AF=E8=A6=81=E8=8A=B1=E9=92=B1=E7=9A=84=EF=BC=8C=E4=B8=8D?= =?UTF-8?q?=E6=98=AF=E5=85=8D=E8=B4=B9=E3=80=8D,=20item=2020)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 博学多通 "升级调度中心至2、4和6级后,获得1次特殊刷新:此次刷新出现的干员优先为<萨尔贡>干员" names no 免费 (德克萨斯's trait says 「获得1次免费刷新」 for a free one); bands/meta.js read the blackboard's `price` 0 as a free refresh and granted one at each of those level-ups (measured: level 2 → 1 free refresh, the special refresh cost 0, the next 1). Now the level-up only marks the next manual refresh special: it costs the refresh price (unless another free refresh pays it) and fills the chess slots with <萨尔贡> first as before. [ASSUMED] `cnt` / `price` 0 change nothing. Test: test/content/bands.test.js (佩佩, fails on the parent). Golden unchanged (no corpus match levels a 佩佩 shop). --- server/sim/content/bands/meta.js | 8 ++++++-- test/content/bands.test.js | 6 +++--- 2 files changed, 9 insertions(+), 5 deletions(-) diff --git a/server/sim/content/bands/meta.js b/server/sim/content/bands/meta.js index 9606a716..9b70b710 100644 --- a/server/sim/content/bands/meta.js +++ b/server/sim/content/bands/meta.js @@ -12,7 +12,8 @@ // give_coin_in_round {round,coin} 老鲤 income of round `round` = coin (R1/R2 0, R3 15) // prep_start_gain_chess_from_pool_in_round {round} 老鲤 round start of `round`: 1 chess of pool // band_coin_cost_gain_random_char_by_shop_level 绮良 every coin_cnt funds spent → count random chess ≤ shop level -// up_shop_next_refresh_must_present_bond_char 佩佩 level-up to a level of lvlist → +1 free refresh (price 0) that prefers +// up_shop_next_refresh_must_present_bond_char 佩佩 level-up to a level of lvlist → the next manual refresh (its usual +// price) prefers // gain_bond_char_per_round {round,preround,bond} 哈洛德 rounds round, round+preround, …: a chess (≤ shop level, else any tier) // first_buy_in_round_char_price_change {price,bond} 休露丝 first chess of the round costs `price` (bought in the // shop: onBuy — a free pick / grant never uses it up) @@ -184,12 +185,15 @@ K.band_coin_cost_gain_random_char_by_shop_level = (ps) => ({ }, }); +// 佩佩 博学多通 "升级调度中心至2、4和6级后,获得1次特殊刷新:此次刷新出现的干员优先为<萨尔贡>干员": the special refresh is the +// player's next manual refresh, paid as usual — the text gives no 免费 (德克萨斯's trait says 「获得1次免费刷新」 for a free +// one), and the community report of 2026-10-06 「佩佩策略的特殊刷新也是要花钱的,不是免费」. Until 0.2.0 a free refresh came +// with it (blackboard `price` 0 read as its price) [ASSUMED: `cnt` / `price` 0 change nothing]. K.up_shop_next_refresh_must_present_bond_char = (ps) => ({ onLevelUp(ctx, ev) { const p = ps[0]; if (!list(p.lvlist).map(Number).includes(ev.level)) return; ctx.incCounter('band:pepe:special', 1); - if (int(p.price, 0) === 0) ctx.grantFreeRefresh(1); }, onRefresh(ctx) { if (ctx.counter('band:pepe:special') <= 0) return; diff --git a/test/content/bands.test.js b/test/content/bands.test.js index 40e9f070..a0efc03c 100644 --- a/test/content/bands.test.js +++ b/test/content/bands.test.js @@ -223,16 +223,16 @@ test('绮良 通关奖励: every 20 funds spent ⇒ 1 random operator of tier cover('band_kirara'); }); -test('佩佩 博学多通: upgrading to 2 / 4 / 6 gives 1 special (free) refresh whose operators are <萨尔贡> first', () => { +test('佩佩 博学多通: upgrading to 2 / 4 / 6 makes the next refresh special (paid as usual) — its operators are <萨尔贡> first', () => { const seed = seedWithBond('sargonShip', 2, 2); const { m, ps } = setup({ band: 'band_pepe', seed }); ps.shop.upgradePrice = 0; assert.deepEqual(m.handle('p_0', { t: 'g.levelUp' }), OK); assert.equal(ps.shop.level, 2); - assert.equal(ps.shop.freeRefreshes, 1); + assert.equal(ps.shop.freeRefreshes, 0, 'no free refresh comes with it (community report of 2026-10-06)'); const f0 = ps.funds; assert.deepEqual(m.handle('p_0', { t: 'g.refresh' }), OK); - assert.equal(ps.funds, f0, 'free'); + assert.equal(ps.funds, f0 - m.gd.refreshPrice, 'the usual refresh price'); const chess = ps.shop.slots.filter((sl) => sl && sl.kind === 'chess'); assert.ok(chess.length >= 3 && chess.every((sl) => DATA.chess[sl.id].bonds.includes('sargonShip')), 'all 萨尔贡'); assert.equal(ps.counters['band:pepe:special'], 0, 'consumed'); From a1d118a01f437945ce0b0cae83912efaae46971e Mon Sep 17 00:00:00 2001 From: sganggs Date: Wed, 7 Oct 2026 02:18:36 +0800 Subject: [PATCH 06/11] =?UTF-8?q?feedback5=20CB1:=20the=20=E7=82=8E?= =?UTF-8?q?=E4=BD=91=20no=20longer=20spawns=20on=20=E5=A4=96=E5=8B=A4?= =?UTF-8?q?=E5=8C=BB=E7=96=97's=20map-character=20slot=20=E2=80=94=20the?= =?UTF-8?q?=20medic=20/=20Touch=20stands=20beside=20it=20(community=20repo?= =?UTF-8?q?rt=20=E3=80=8CTouch=E7=AD=96=E7=95=A5=E7=BB=99=E7=9A=84?= =?UTF-8?q?=E5=8C=BB=E7=96=97=E5=B9=B2=E5=91=98=E4=BC=9A=E8=B7=9F=E7=82=8E?= =?UTF-8?q?=E7=9B=9F=E7=BA=A6=E7=9A=84=E7=82=8E=E7=A5=90=E5=86=B2=E7=AA=81?= =?UTF-8?q?=EF=BC=8C=E6=97=A0=E6=B3=95=E5=90=8C=E6=97=B6=E5=87=BA=E5=9C=BA?= =?UTF-8?q?=E3=80=8D,=20item=2023)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Both spawn at battle start; tokens.js airTile (the 炎佑's tile: void tiles nearest the half's centre) did not know the stage's map-character positions (data/stages.json mapChars, the levels' predefined 预备干员-医疗 / Touch at (10, 2) …) and took (10, 2) on 战场#08 涨潮控制 (every time) and 战场#07 排气格栅 (the second 炎佑 of 9 炎); spawnMapChar then found its tile taken and the medic never stood (measured on every map: m04 6 / 9 炎 and m03 9 炎 — medic false). airTile now holds those positions (mapCharKeys). Test: test/content/feedback5-yanyou-touch.test.js (fails on the parent). Golden unchanged (no corpus battle had a 炎佑 on that tile). --- server/sim/content/tokens.js | 21 +++++++++- test/content/feedback5-yanyou-touch.test.js | 44 +++++++++++++++++++++ 2 files changed, 63 insertions(+), 2 deletions(-) create mode 100644 test/content/feedback5-yanyou-touch.test.js diff --git a/server/sim/content/tokens.js b/server/sim/content/tokens.js index d9234261..a9392892 100644 --- a/server/sim/content/tokens.js +++ b/server/sim/content/tokens.js @@ -1286,17 +1286,34 @@ function yanyouKit(bb, raw) { }; } -/** Free field tile for a flyer: the player's half, void/non-deployable tiles first, nearest to the half's centre. */ +/** + * Stage positions held for the band map characters (data/stages.json `mapChars`: the levels' predefined 预备干员-医疗 / + * Touch of 外勤医疗, hidden until a player holds the strategy), as tile keys. + */ +function mapCharKeys(battle) { + const list = battle.stage?.raw?.mapChars ?? battle.stage?.mapChars ?? []; + const out = new Set(); + for (const m of Array.isArray(list) ? list : []) if (m && Array.isArray(m.pos)) out.add(m.pos[0] * COLS + m.pos[1]); + return out; +} + +/** + * Free field tile for a flyer: the player's half, void/non-deployable tiles first, nearest to the half's centre — never a + * map character's position: the 炎佑 spawns at the same battle start as 外勤医疗's medic and took its tile on the maps + * whose free void tiles nearest the centre include it (战场#08 涨潮控制 always, 战场#07 排气格栅 with 9 炎), so the medic + * never stood (community report of 2026-10-06 「Touch策略给的医疗干员会跟炎盟约的炎祐冲突,无法同时出场」). + */ function airTile(battle, playerId, taken) { const R = battle.rect; const ps = battle.getPlayer(playerId); let c0 = R.c0, c1 = R.c1; if (battle.players.length > 1 && ps) { if (ps.half === 'R') c0 = Math.max(c0, 11); else c1 = Math.min(c1, 10); } const cr = (R.r0 + R.r1) / 2, cc = (c0 + c1) / 2; + const held = mapCharKeys(battle); let best = null, bs = null; for (let r = R.r0; r <= R.r1; r++) { for (let c = c0; c <= c1; c++) { - if (taken.has(r * COLS + c) || !tileFree(battle, r, c)) continue; + if (taken.has(r * COLS + c) || held.has(r * COLS + c) || !tileFree(battle, r, c)) continue; const t = battle.grid.tile(r, c); const cls = t.build === 'NONE' && t.pass !== 'ALL' ? 0 : t.build === 'NONE' ? 1 : 2; const s = [cls, Math.hypot(r - cr, c - cc), r * COLS + c]; diff --git a/test/content/feedback5-yanyou-touch.test.js b/test/content/feedback5-yanyou-touch.test.js new file mode 100644 index 00000000..6813c9d8 --- /dev/null +++ b/test/content/feedback5-yanyou-touch.test.js @@ -0,0 +1,44 @@ +// Community report of 2026-10-06 「Touch策略给的医疗干员会跟炎盟约的炎祐冲突,无法同时出场」 (item 23): the 炎 bond's 炎佑 and the +// 外勤医疗 map character spawn at the same battle start; the 炎佑's free-tile search (tokens.js airTile: void tiles nearest the +// half's centre) took the medic's stage slot (data/stages.json mapChars, (10, 2)) on 战场#08 涨潮控制 (and 战场#07 with two +// 炎佑), so the medic found its tile taken and never stood. The map characters' positions are held for them now. + +import { test } from 'node:test'; +import assert from 'node:assert/strict'; +import { makeBattle } from '../helpers/battleHarness.js'; +import { hasGeneratedData } from '../../server/sim/simdata.js'; + +const REAL = { skip: !hasGeneratedData() }; +const YAN = ['chess_char_1_03', 'chess_char_2_04', 'chess_char_3_03', 'chess_char_3_04', 'chess_char_4_15', 'chess_char_4_17', 'chess_char_5_03', 'chess_char_5_12', 'chess_char_6_03']; +const TILES = [[9, 3], [9, 4], [10, 3], [10, 4], [11, 3], [11, 4], [9, 5], [11, 5], [10, 5]]; + +function tokensAt(stageId, n, elite = false) { + const h = makeBattle({ + stageId, units: YAN.slice(0, n).map((id, i) => ({ chessId: `${id}_${elite && i < 2 ? 'b' : 'a'}`, row: TILES[i][0], col: TILES[i][1] })), + bonds: { yanShip: { count: n, layers: 1, active: true, tier: n >= 9 ? 3 : 2 } }, bandId: 'band_amedic', timeLimit: 10, seed: 1, autoFinish: false, + }); + h.step(3); + const toks = h.b.allyUnits.filter((u) => u.kind === 'token' && u.alive); + return { + yan: toks.filter((u) => u.defId === 'enemy_9012_acloon'), + medic: toks.find((u) => u.defId === 'char_605_cmedic' || u.defId === 'char_613_acmedc') ?? null, + }; +} + +test('战场#08 涨潮控制: the 炎佑 and 外勤医疗\'s medic both stand, the medic on its own slot', REAL, () => { + const t = tokensAt('act2autochess_m04', 6); + assert.equal(t.yan.length, 1); + assert.ok(t.medic, 'the medic stands (the parent: none — the 炎佑 sat on (10, 2))'); + assert.deepEqual([t.medic.tileR, t.medic.tileC], [10, 2]); + assert.ok(!(t.yan[0].tileR === 10 && t.yan[0].tileC === 2)); + const touch = tokensAt('act2autochess_m04', 6, true); + assert.equal(touch.medic?.defId, 'char_613_acmedc', 'two elites: Touch, on the same slot'); +}); + +test('9 炎: two 炎佑 and the medic on every season map', REAL, () => { + for (const stageId of ['act2autochess_m01', 'act2autochess_m02', 'act2autochess_m03', 'act2autochess_m04']) { + const t = tokensAt(stageId, 9); + assert.equal(t.yan.length, 2, stageId); + assert.ok(t.medic, `${stageId}: the medic stands`); + } +}); From 1d3c76b11c5712068291d98c73ab24a56c320f50 Mon Sep 17 00:00:00 2001 From: sganggs Date: Wed, 7 Oct 2026 02:27:54 +0800 Subject: [PATCH 07/11] =?UTF-8?q?feedback5=20CB1:=20=E5=87=AF=E7=91=9F?= =?UTF-8?q?=E7=90=B3's=20=E5=AE=9A=E5=90=91=E6=8A=95=E6=94=BE=20offers=20e?= =?UTF-8?q?very=20shop=20item,=20not=20only=20those=20up=20to=20the=20shop?= =?UTF-8?q?=20level=20(community=20report=20=E3=80=8C=E5=87=AF=E7=91=9F?= =?UTF-8?q?=E7=90=B3=E8=A3=85=E5=A4=87=E6=B1=A0=E6=B2=A1=E6=9C=89=E8=B6=85?= =?UTF-8?q?=E5=87=BA=E5=95=86=E5=BA=97=E7=AD=89=E7=BA=A7=E7=9A=84=E8=A3=85?= =?UTF-8?q?=E5=A4=87=EF=BC=8C=E5=8E=9F=E7=89=88=E5=87=AF=E7=91=9F=E7=90=B3?= =?UTF-8?q?1=E5=8D=872=E9=83=BD=E8=83=BD=E6=9C=896=E6=9C=AC=E8=A3=85?= =?UTF-8?q?=E5=A4=87=E3=80=8D,=20item=2043)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit The pool (pool_equip_kathe) is server-side; tools/build-data.mjs had capped it at the shop level [ASSUMED], so the 1 → 2 upgrade only ever offered tiers I–II (measured over 40 seeds: 55 × I, 65 × II). The players' first-hand account: tier VI shows at that upgrade. Now every shop-eligible item, uniform [ASSUMED] (40 seeds: I 9, II 15, III 25, IV 31, V 16, VI 24); pool_equip_narant keeps its cap (no report). data/choices.json rebuilt offline (build-data --offline): the JSON compare shows only pools.pool_equip_kathe.maxTier removed. Test: test/match/feedback5-cathy-pool.test.js (fails on the parent data). Docs: research 04 (the pool). Golden: coop4-ABYSS-7 — a bot on 凯瑟琳 is offered other items at its upgrades (the match runs differently from there). --- data/choices.json | 2 +- docs/research/04-items.md | 2 +- test/golden/matches.json | 99 ++++++++++++------------- test/match/feedback5-cathy-pool.test.js | 32 ++++++++ tools/build-data.mjs | 5 +- 5 files changed, 84 insertions(+), 56 deletions(-) create mode 100644 test/match/feedback5-cathy-pool.test.js diff --git a/data/choices.json b/data/choices.json index 19e9be0f..b5ed2872 100644 --- a/data/choices.json +++ b/data/choices.json @@ -1 +1 @@ -{"events":{"artifact_paid_1":{"id":"artifact_paid_1","choiceType":"EQUIP_FREE","effectType":"EQUIP","name":"机密商店","desc":"无需消耗资金,获得装备补给。","descRaw":"无需消耗资金,获得装备补给。","color":"#35d8b4","family":"shop","solo":false,"training":false},"artifact_paid_1_s":{"id":"artifact_paid_1_s","choiceType":"EQUIP_FREE","effectType":"EQUIP","name":"机密商店","desc":"无需消耗资金,获得装备补给。","descRaw":"无需消耗资金,获得装备补给。","color":"#f2bd3e","family":"shop","solo":true,"training":false},"artifact_paid_2":{"id":"artifact_paid_2","choiceType":"EQUIP_FREE","effectType":"EQUIP","name":"机密商店","desc":"无需消耗资金,获得装备补给。","descRaw":"无需消耗资金,获得装备补给。","color":"#35d8b4","family":"shop","solo":false,"training":false},"artifact_paid_2_s":{"id":"artifact_paid_2_s","choiceType":"EQUIP_FREE","effectType":"EQUIP","name":"机密商店","desc":"无需消耗资金,获得装备补给。","descRaw":"无需消耗资金,获得装备补给。","color":"#f2bd3e","family":"shop","solo":true,"training":false},"artifact_paid_3":{"id":"artifact_paid_3","choiceType":"EQUIP_FREE","effectType":"EQUIP","name":"机密商店","desc":"无需消耗资金,获得装备补给。","descRaw":"无需消耗资金,获得装备补给。","color":"#35d8b4","family":"shop","solo":false,"training":false},"artifact_paid_3_s":{"id":"artifact_paid_3_s","choiceType":"EQUIP_FREE","effectType":"EQUIP","name":"机密商店","desc":"无需消耗资金,获得装备补给。","descRaw":"无需消耗资金,获得装备补给。","color":"#f2bd3e","family":"shop","solo":true,"training":false},"artifact_paid_4":{"id":"artifact_paid_4","choiceType":"EQUIP_FREE","effectType":"EQUIP","name":"机密商店","desc":"无需消耗资金,获得装备补给。","descRaw":"无需消耗资金,获得装备补给。","color":"#35d8b4","family":"shop","solo":false,"training":false},"artifact_paid_4_s":{"id":"artifact_paid_4_s","choiceType":"EQUIP_FREE","effectType":"EQUIP","name":"机密商店","desc":"无需消耗资金,获得装备补给。","descRaw":"无需消耗资金,获得装备补给。","color":"#f2bd3e","family":"shop","solo":true,"training":false},"artifact_paid_5":{"id":"artifact_paid_5","choiceType":"EQUIP_FREE","effectType":"EQUIP","name":"机密商店","desc":"无需消耗资金,获得装备补给。","descRaw":"无需消耗资金,获得装备补给。","color":"#35d8b4","family":"shop","solo":false,"training":false},"artifact_paid_5_s":{"id":"artifact_paid_5_s","choiceType":"EQUIP_FREE","effectType":"EQUIP","name":"机密商店","desc":"无需消耗资金,获得装备补给。","descRaw":"无需消耗资金,获得装备补给。","color":"#f2bd3e","family":"shop","solo":true,"training":false},"bossInitial_1":{"id":"bossInitial_1","choiceType":"BOUNTY_HUNT","effectType":"ENEMY_GAIN","name":"悬赏决策","desc":"选定悬赏目标,获取额外奖励。","descRaw":"选定悬赏目标,获取额外奖励。","color":"#35d8b4","family":"bounty","solo":false,"training":false},"bossInitial_1_s":{"id":"bossInitial_1_s","choiceType":"BOUNTY_HUNT","effectType":"ENEMY_GAIN","name":"悬赏决策","desc":"选定悬赏目标,获取额外奖励。","descRaw":"选定悬赏目标,获取额外奖励。","color":"#35d8b4","family":"bounty","solo":true,"training":false},"bossInitial_2":{"id":"bossInitial_2","choiceType":"BOUNTY_HUNT","effectType":"ENEMY_GAIN","name":"悬赏决策","desc":"选定悬赏目标,获取额外奖励。","descRaw":"选定悬赏目标,获取额外奖励。","color":"#35d8b4","family":"bounty","solo":false,"training":false},"bossInitial_2_s":{"id":"bossInitial_2_s","choiceType":"BOUNTY_HUNT","effectType":"ENEMY_GAIN","name":"悬赏决策","desc":"选定悬赏目标,获取额外奖励。","descRaw":"选定悬赏目标,获取额外奖励。","color":"#35d8b4","family":"bounty","solo":true,"training":false},"bossInitial_3":{"id":"bossInitial_3","choiceType":"BOUNTY_HUNT","effectType":"ENEMY_GAIN","name":"悬赏决策","desc":"选定悬赏目标,获取额外奖励。","descRaw":"选定悬赏目标,获取额外奖励。","color":"#35d8b4","family":"bounty","solo":false,"training":false},"bossInitial_3_s":{"id":"bossInitial_3_s","choiceType":"BOUNTY_HUNT","effectType":"ENEMY_GAIN","name":"悬赏决策","desc":"选定悬赏目标,获取额外奖励。","descRaw":"选定悬赏目标,获取额外奖励。","color":"#35d8b4","family":"bounty","solo":true,"training":false},"bossInitial_4":{"id":"bossInitial_4","choiceType":"BOUNTY_HUNT","effectType":"ENEMY_GAIN","name":"悬赏决策","desc":"选定悬赏目标,获取额外奖励。","descRaw":"选定悬赏目标,获取额外奖励。","color":"#35d8b4","family":"bounty","solo":false,"training":false},"bossInitial_4_s":{"id":"bossInitial_4_s","choiceType":"BOUNTY_HUNT","effectType":"ENEMY_GAIN","name":"悬赏决策","desc":"选定悬赏目标,获取额外奖励。","descRaw":"选定悬赏目标,获取额外奖励。","color":"#35d8b4","family":"bounty","solo":true,"training":false},"bossInitial_5":{"id":"bossInitial_5","choiceType":"BOUNTY_HUNT","effectType":"ENEMY_GAIN","name":"悬赏决策","desc":"选定悬赏目标,获取额外奖励。","descRaw":"选定悬赏目标,获取额外奖励。","color":"#35d8b4","family":"bounty","solo":false,"training":false},"bossInitial_5_s":{"id":"bossInitial_5_s","choiceType":"BOUNTY_HUNT","effectType":"ENEMY_GAIN","name":"悬赏决策","desc":"选定悬赏目标,获取额外奖励。","descRaw":"选定悬赏目标,获取额外奖励。","color":"#35d8b4","family":"bounty","solo":true,"training":false},"bossInitial_6":{"id":"bossInitial_6","choiceType":"BOUNTY_HUNT","effectType":"ENEMY_GAIN","name":"悬赏决策","desc":"选定悬赏目标,获取额外奖励。","descRaw":"选定悬赏目标,获取额外奖励。","color":"#35d8b4","family":"bounty","solo":false,"training":false},"bossInitial_6_s":{"id":"bossInitial_6_s","choiceType":"BOUNTY_HUNT","effectType":"ENEMY_GAIN","name":"悬赏决策","desc":"选定悬赏目标,获取额外奖励。","descRaw":"选定悬赏目标,获取额外奖励。","color":"#35d8b4","family":"bounty","solo":true,"training":false},"bounty_hunter_1":{"id":"bounty_hunter_1","choiceType":"BOUNTY_HUNT","effectType":"ENEMY_GAIN","name":"悬赏决策","desc":"选定悬赏目标,获取额外奖励。","descRaw":"选定悬赏目标,获取额外奖励。","color":"#35d8b4","family":"bounty","solo":false,"training":false},"bounty_hunter_1_s":{"id":"bounty_hunter_1_s","choiceType":"BOUNTY_HUNT","effectType":"ENEMY_GAIN","name":"悬赏决策","desc":"选定悬赏目标,获取额外奖励。","descRaw":"选定悬赏目标,获取额外奖励。","color":"#f2bd3e","family":"bounty","solo":true,"training":false},"bounty_hunter_2":{"id":"bounty_hunter_2","choiceType":"BOUNTY_HUNT","effectType":"ENEMY_GAIN","name":"悬赏决策","desc":"选定悬赏目标,获取额外奖励。","descRaw":"选定悬赏目标,获取额外奖励。","color":"#35d8b4","family":"bounty","solo":false,"training":false},"bounty_hunter_2_s":{"id":"bounty_hunter_2_s","choiceType":"BOUNTY_HUNT","effectType":"ENEMY_GAIN","name":"悬赏决策","desc":"选定悬赏目标,获取额外奖励。","descRaw":"选定悬赏目标,获取额外奖励。","color":"#f2bd3e","family":"bounty","solo":true,"training":false},"bounty_hunter_3":{"id":"bounty_hunter_3","choiceType":"BOUNTY_HUNT","effectType":"ENEMY_GAIN","name":"悬赏决策","desc":"选定悬赏目标,获取额外奖励。","descRaw":"选定悬赏目标,获取额外奖励。","color":"#35d8b4","family":"bounty","solo":false,"training":false},"bounty_hunter_3_s":{"id":"bounty_hunter_3_s","choiceType":"BOUNTY_HUNT","effectType":"ENEMY_GAIN","name":"悬赏决策","desc":"选定悬赏目标,获取额外奖励。","descRaw":"选定悬赏目标,获取额外奖励。","color":"#f2bd3e","family":"bounty","solo":true,"training":false},"bounty_hunter_4":{"id":"bounty_hunter_4","choiceType":"BOUNTY_HUNT","effectType":"ENEMY_GAIN","name":"悬赏决策","desc":"选定悬赏目标,获取额外奖励。","descRaw":"选定悬赏目标,获取额外奖励。","color":"#35d8b4","family":"bounty","solo":false,"training":false},"bounty_hunter_4_s":{"id":"bounty_hunter_4_s","choiceType":"BOUNTY_HUNT","effectType":"ENEMY_GAIN","name":"悬赏决策","desc":"选定悬赏目标,获取额外奖励。","descRaw":"选定悬赏目标,获取额外奖励。","color":"#f2bd3e","family":"bounty","solo":true,"training":false},"bounty_hunter_5":{"id":"bounty_hunter_5","choiceType":"BOUNTY_HUNT","effectType":"ENEMY_GAIN","name":"悬赏决策","desc":"选定悬赏目标,获取额外奖励。","descRaw":"选定悬赏目标,获取额外奖励。","color":"#35d8b4","family":"bounty","solo":false,"training":false},"bounty_hunter_5_s":{"id":"bounty_hunter_5_s","choiceType":"BOUNTY_HUNT","effectType":"ENEMY_GAIN","name":"悬赏决策","desc":"选定悬赏目标,获取额外奖励。","descRaw":"选定悬赏目标,获取额外奖励。","color":"#f2bd3e","family":"bounty","solo":true,"training":false},"bounty_hunter_6":{"id":"bounty_hunter_6","choiceType":"BOUNTY_HUNT","effectType":"ENEMY_GAIN","name":"悬赏决策","desc":"选定悬赏目标,获取额外奖励。","descRaw":"选定悬赏目标,获取额外奖励。","color":"#35d8b4","family":"bounty","solo":false,"training":false},"bounty_hunter_6_s":{"id":"bounty_hunter_6_s","choiceType":"BOUNTY_HUNT","effectType":"ENEMY_GAIN","name":"悬赏决策","desc":"选定悬赏目标,获取额外奖励。","descRaw":"选定悬赏目标,获取额外奖励。","color":"#f2bd3e","family":"bounty","solo":true,"training":false},"bounty_hunter_7":{"id":"bounty_hunter_7","choiceType":"BOUNTY_HUNT","effectType":"ENEMY_GAIN","name":"悬赏决策","desc":"选定悬赏目标,获取额外奖励。","descRaw":"选定悬赏目标,获取额外奖励。","color":"#35d8b4","family":"bounty","solo":false,"training":false},"bounty_hunter_7_s":{"id":"bounty_hunter_7_s","choiceType":"BOUNTY_HUNT","effectType":"ENEMY_GAIN","name":"悬赏决策","desc":"选定悬赏目标,获取额外奖励。","descRaw":"选定悬赏目标,获取额外奖励。","color":"#f2bd3e","family":"bounty","solo":true,"training":false},"bounty_hunter_8":{"id":"bounty_hunter_8","choiceType":"BOUNTY_HUNT","effectType":"ENEMY_GAIN","name":"悬赏决策","desc":"选定悬赏目标,获取额外奖励。","descRaw":"选定悬赏目标,获取额外奖励。","color":"#35d8b4","family":"bounty","solo":false,"training":false},"bounty_hunter_8_s":{"id":"bounty_hunter_8_s","choiceType":"BOUNTY_HUNT","effectType":"ENEMY_GAIN","name":"悬赏决策","desc":"选定悬赏目标,获取额外奖励。","descRaw":"选定悬赏目标,获取额外奖励。","color":"#35d8b4","family":"bounty","solo":true,"training":false},"bounty_hunter_9":{"id":"bounty_hunter_9","choiceType":"BOUNTY_HUNT","effectType":"ENEMY_GAIN","name":"悬赏决策","desc":"选定悬赏目标,获取额外奖励。","descRaw":"选定悬赏目标,获取额外奖励。","color":"#35d8b4","family":"bounty","solo":false,"training":false},"bounty_hunter_9_s":{"id":"bounty_hunter_9_s","choiceType":"BOUNTY_HUNT","effectType":"ENEMY_GAIN","name":"悬赏决策","desc":"选定悬赏目标,获取额外奖励。","descRaw":"选定悬赏目标,获取额外奖励。","color":"#35d8b4","family":"bounty","solo":true,"training":false},"bounty_hunter_10":{"id":"bounty_hunter_10","choiceType":"BOUNTY_HUNT","effectType":"ENEMY_GAIN","name":"悬赏决策","desc":"选定悬赏目标,获取额外奖励。","descRaw":"选定悬赏目标,获取额外奖励。","color":"#35d8b4","family":"bounty","solo":false,"training":false},"bounty_hunter_10_s":{"id":"bounty_hunter_10_s","choiceType":"BOUNTY_HUNT","effectType":"ENEMY_GAIN","name":"悬赏决策","desc":"选定悬赏目标,获取额外奖励。","descRaw":"选定悬赏目标,获取额外奖励。","color":"#35d8b4","family":"bounty","solo":true,"training":false},"bounty_hunter_11":{"id":"bounty_hunter_11","choiceType":"BOUNTY_HUNT","effectType":"ENEMY_GAIN","name":"悬赏决策","desc":"选定悬赏目标,获取额外奖励。","descRaw":"选定悬赏目标,获取额外奖励。","color":"#35d8b4","family":"bounty","solo":false,"training":false},"bounty_hunter_11_s":{"id":"bounty_hunter_11_s","choiceType":"BOUNTY_HUNT","effectType":"ENEMY_GAIN","name":"悬赏决策","desc":"选定悬赏目标,获取额外奖励。","descRaw":"选定悬赏目标,获取额外奖励。","color":"#35d8b4","family":"bounty","solo":true,"training":false},"bounty_hunter_12":{"id":"bounty_hunter_12","choiceType":"BOUNTY_HUNT","effectType":"ENEMY_GAIN","name":"悬赏决策","desc":"选定悬赏目标,获取额外奖励。","descRaw":"选定悬赏目标,获取额外奖励。","color":"#35d8b4","family":"bounty","solo":false,"training":false},"bounty_hunter_12_s":{"id":"bounty_hunter_12_s","choiceType":"BOUNTY_HUNT","effectType":"ENEMY_GAIN","name":"悬赏决策","desc":"选定悬赏目标,获取额外奖励。","descRaw":"选定悬赏目标,获取额外奖励。","color":"#35d8b4","family":"bounty","solo":true,"training":false},"bounty_hunter_13":{"id":"bounty_hunter_13","choiceType":"BOUNTY_HUNT","effectType":"ENEMY_GAIN","name":"悬赏决策","desc":"选定悬赏目标,获取额外奖励。","descRaw":"选定悬赏目标,获取额外奖励。","color":"#35d8b4","family":"bounty","solo":false,"training":false},"bounty_hunter_13_s":{"id":"bounty_hunter_13_s","choiceType":"BOUNTY_HUNT","effectType":"ENEMY_GAIN","name":"悬赏决策","desc":"选定悬赏目标,获取额外奖励。","descRaw":"选定悬赏目标,获取额外奖励。","color":"#35d8b4","family":"bounty","solo":true,"training":false},"bounty_hunter_14":{"id":"bounty_hunter_14","choiceType":"BOUNTY_HUNT","effectType":"ENEMY_GAIN","name":"悬赏决策","desc":"选定悬赏目标,获取额外奖励。","descRaw":"选定悬赏目标,获取额外奖励。","color":"#35d8b4","family":"bounty","solo":false,"training":false},"bounty_hunter_14_s":{"id":"bounty_hunter_14_s","choiceType":"BOUNTY_HUNT","effectType":"ENEMY_GAIN","name":"悬赏决策","desc":"选定悬赏目标,获取额外奖励。","descRaw":"选定悬赏目标,获取额外奖励。","color":"#35d8b4","family":"bounty","solo":true,"training":false},"bounty_hunter_15":{"id":"bounty_hunter_15","choiceType":"BOUNTY_HUNT","effectType":"ENEMY_GAIN","name":"悬赏决策","desc":"选定悬赏目标,获取额外奖励。","descRaw":"选定悬赏目标,获取额外奖励。","color":"#35d8b4","family":"bounty","solo":false,"training":false},"bounty_hunter_15_s":{"id":"bounty_hunter_15_s","choiceType":"BOUNTY_HUNT","effectType":"ENEMY_GAIN","name":"悬赏决策","desc":"选定悬赏目标,获取额外奖励。","descRaw":"选定悬赏目标,获取额外奖励。","color":"#35d8b4","family":"bounty","solo":true,"training":false},"buff_select_1":{"id":"buff_select_1","choiceType":"BUFF_SELECT","effectType":"BUFF_GAIN","name":"战术决策","desc":"进行协同调整,做好迎战准备。","descRaw":"进行协同调整,做好迎战准备。","color":"#35d8b4","family":"tactic","solo":false,"training":false},"buff_select_1_s":{"id":"buff_select_1_s","choiceType":"BUFF_SELECT","effectType":"BUFF_GAIN","name":"战术决策","desc":"进行协同调整,做好迎战准备。","descRaw":"进行协同调整,做好迎战准备。","color":"#f2bd3e","family":"tactic","solo":true,"training":false},"buff_select_2":{"id":"buff_select_2","choiceType":"BUFF_SELECT","effectType":"BUFF_GAIN","name":"战术决策","desc":"进行协同调整,做好迎战准备。","descRaw":"进行协同调整,做好迎战准备。","color":"#35d8b4","family":"tactic","solo":false,"training":false},"buff_select_2_s":{"id":"buff_select_2_s","choiceType":"BUFF_SELECT","effectType":"BUFF_GAIN","name":"战术决策","desc":"进行协同调整,做好迎战准备。","descRaw":"进行协同调整,做好迎战准备。","color":"#f2bd3e","family":"tactic","solo":true,"training":false},"buff_select_3":{"id":"buff_select_3","choiceType":"BUFF_SELECT","effectType":"BUFF_GAIN","name":"战术决策","desc":"进行协同调整,做好迎战准备。","descRaw":"进行协同调整,做好迎战准备。","color":"#35d8b4","family":"tactic","solo":false,"training":false},"buff_select_3_s":{"id":"buff_select_3_s","choiceType":"BUFF_SELECT","effectType":"BUFF_GAIN","name":"战术决策","desc":"进行协同调整,做好迎战准备。","descRaw":"进行协同调整,做好迎战准备。","color":"#f2bd3e","family":"tactic","solo":true,"training":false},"buff_select_4":{"id":"buff_select_4","choiceType":"BUFF_SELECT","effectType":"BUFF_GAIN","name":"战术决策","desc":"进行协同调整,做好迎战准备。","descRaw":"进行协同调整,做好迎战准备。","color":"#35d8b4","family":"tactic","solo":false,"training":false},"buff_select_4_s":{"id":"buff_select_4_s","choiceType":"BUFF_SELECT","effectType":"BUFF_GAIN","name":"战术决策","desc":"进行协同调整,做好迎战准备。","descRaw":"进行协同调整,做好迎战准备。","color":"#f2bd3e","family":"tactic","solo":true,"training":false},"enemy_initial_1":{"id":"enemy_initial_1","choiceType":"BOUNTY_HUNT","effectType":"ENEMY_GAIN","name":"悬赏决策","desc":"选定悬赏目标,获取额外奖励。","descRaw":"选定悬赏目标,获取额外奖励。","color":"#35d8b4","family":"bounty","solo":false,"training":false},"enemy_initial_1_s":{"id":"enemy_initial_1_s","choiceType":"BOUNTY_HUNT","effectType":"ENEMY_GAIN","name":"悬赏决策","desc":"选定悬赏目标,获取额外奖励。","descRaw":"选定悬赏目标,获取额外奖励。","color":"#35d8b4","family":"bounty","solo":true,"training":false},"enemy_initial_2":{"id":"enemy_initial_2","choiceType":"BOUNTY_HUNT","effectType":"ENEMY_GAIN","name":"悬赏决策","desc":"选定悬赏目标,获取额外奖励。","descRaw":"选定悬赏目标,获取额外奖励。","color":"#35d8b4","family":"bounty","solo":false,"training":false},"enemy_initial_2_s":{"id":"enemy_initial_2_s","choiceType":"BOUNTY_HUNT","effectType":"ENEMY_GAIN","name":"悬赏决策","desc":"选定悬赏目标,获取额外奖励。","descRaw":"选定悬赏目标,获取额外奖励。","color":"#35d8b4","family":"bounty","solo":true,"training":false},"enemy_initial_3":{"id":"enemy_initial_3","choiceType":"BOUNTY_HUNT","effectType":"ENEMY_GAIN","name":"悬赏决策","desc":"选定悬赏目标,获取额外奖励。","descRaw":"选定悬赏目标,获取额外奖励。","color":"#35d8b4","family":"bounty","solo":false,"training":false},"enemy_initial_3_s":{"id":"enemy_initial_3_s","choiceType":"BOUNTY_HUNT","effectType":"ENEMY_GAIN","name":"悬赏决策","desc":"选定悬赏目标,获取额外奖励。","descRaw":"选定悬赏目标,获取额外奖励。","color":"#35d8b4","family":"bounty","solo":true,"training":false},"enemy_initial_4":{"id":"enemy_initial_4","choiceType":"BOUNTY_HUNT","effectType":"ENEMY_GAIN","name":"悬赏决策","desc":"选定悬赏目标,获取额外奖励。","descRaw":"选定悬赏目标,获取额外奖励。","color":"#35d8b4","family":"bounty","solo":false,"training":false},"enemy_initial_4_s":{"id":"enemy_initial_4_s","choiceType":"BOUNTY_HUNT","effectType":"ENEMY_GAIN","name":"悬赏决策","desc":"选定悬赏目标,获取额外奖励。","descRaw":"选定悬赏目标,获取额外奖励。","color":"#35d8b4","family":"bounty","solo":true,"training":false},"enemy_initial_5":{"id":"enemy_initial_5","choiceType":"BOUNTY_HUNT","effectType":"ENEMY_GAIN","name":"悬赏决策","desc":"选定悬赏目标,获取额外奖励。","descRaw":"选定悬赏目标,获取额外奖励。","color":"#35d8b4","family":"bounty","solo":false,"training":false},"enemy_initial_5_s":{"id":"enemy_initial_5_s","choiceType":"BOUNTY_HUNT","effectType":"ENEMY_GAIN","name":"悬赏决策","desc":"选定悬赏目标,获取额外奖励。","descRaw":"选定悬赏目标,获取额外奖励。","color":"#35d8b4","family":"bounty","solo":true,"training":false},"enemy_initial_6":{"id":"enemy_initial_6","choiceType":"BOUNTY_HUNT","effectType":"ENEMY_GAIN","name":"悬赏决策","desc":"选定悬赏目标,获取额外奖励。","descRaw":"选定悬赏目标,获取额外奖励。","color":"#35d8b4","family":"bounty","solo":false,"training":false},"enemy_initial_6_s":{"id":"enemy_initial_6_s","choiceType":"BOUNTY_HUNT","effectType":"ENEMY_GAIN","name":"悬赏决策","desc":"选定悬赏目标,获取额外奖励。","descRaw":"选定悬赏目标,获取额外奖励。","color":"#35d8b4","family":"bounty","solo":true,"training":false},"enemy_initial_7":{"id":"enemy_initial_7","choiceType":"BOUNTY_HUNT","effectType":"ENEMY_GAIN","name":"悬赏决策","desc":"选定悬赏目标,获取额外奖励。","descRaw":"选定悬赏目标,获取额外奖励。","color":"#35d8b4","family":"bounty","solo":false,"training":false},"enemy_initial_7_s":{"id":"enemy_initial_7_s","choiceType":"BOUNTY_HUNT","effectType":"ENEMY_GAIN","name":"悬赏决策","desc":"选定悬赏目标,获取额外奖励。","descRaw":"选定悬赏目标,获取额外奖励。","color":"#35d8b4","family":"bounty","solo":true,"training":false},"enemy_initial_8":{"id":"enemy_initial_8","choiceType":"BOUNTY_HUNT","effectType":"ENEMY_GAIN","name":"悬赏决策","desc":"选定悬赏目标,获取额外奖励。","descRaw":"选定悬赏目标,获取额外奖励。","color":"#35d8b4","family":"bounty","solo":false,"training":false},"enemy_initial_8_s":{"id":"enemy_initial_8_s","choiceType":"BOUNTY_HUNT","effectType":"ENEMY_GAIN","name":"悬赏决策","desc":"选定悬赏目标,获取额外奖励。","descRaw":"选定悬赏目标,获取额外奖励。","color":"#35d8b4","family":"bounty","solo":true,"training":false},"enemy_initial_9":{"id":"enemy_initial_9","choiceType":"BOUNTY_HUNT","effectType":"ENEMY_GAIN","name":"悬赏决策","desc":"选定悬赏目标,获取额外奖励。","descRaw":"选定悬赏目标,获取额外奖励。","color":"#35d8b4","family":"bounty","solo":false,"training":false},"enemy_initial_9_s":{"id":"enemy_initial_9_s","choiceType":"BOUNTY_HUNT","effectType":"ENEMY_GAIN","name":"悬赏决策","desc":"选定悬赏目标,获取额外奖励。","descRaw":"选定悬赏目标,获取额外奖励。","color":"#35d8b4","family":"bounty","solo":true,"training":false},"enemy_initial_10":{"id":"enemy_initial_10","choiceType":"BOUNTY_HUNT","effectType":"ENEMY_GAIN","name":"悬赏决策","desc":"选定悬赏目标,获取额外奖励。","descRaw":"选定悬赏目标,获取额外奖励。","color":"#35d8b4","family":"bounty","solo":false,"training":false},"enemy_initial_10_s":{"id":"enemy_initial_10_s","choiceType":"BOUNTY_HUNT","effectType":"ENEMY_GAIN","name":"悬赏决策","desc":"选定悬赏目标,获取额外奖励。","descRaw":"选定悬赏目标,获取额外奖励。","color":"#35d8b4","family":"bounty","solo":true,"training":false},"equip_free_1":{"id":"equip_free_1","choiceType":"EQUIP_FREE","effectType":"EQUIP","name":"道具补给","desc":"无需消耗资金,获得装备补给。","descRaw":"无需消耗资金,获得装备补给。","color":"#35d8b4","family":"supply","solo":false,"training":false},"equip_free_1_tr":{"id":"equip_free_1_tr","choiceType":"EQUIP_FREE","effectType":"EQUIP","name":"道具补给","desc":"无需消耗资金,获得装备补给。","descRaw":"无需消耗资金,获得装备补给。","color":"#35d8b4","family":"supply","solo":false,"training":true},"equip_free_2":{"id":"equip_free_2","choiceType":"EQUIP_FREE","effectType":"EQUIP","name":"道具补给","desc":"无需消耗资金,获得装备补给。","descRaw":"无需消耗资金,获得装备补给。","color":"#35d8b4","family":"supply","solo":false,"training":false},"equip_free_2_s":{"id":"equip_free_2_s","choiceType":"EQUIP_FREE","effectType":"EQUIP","name":"道具补给","desc":"无需消耗资金,获得装备补给。","descRaw":"无需消耗资金,获得装备补给。","color":"#f2bd3e","family":"supply","solo":true,"training":false},"equip_free_3":{"id":"equip_free_3","choiceType":"EQUIP_FREE","effectType":"EQUIP","name":"道具补给","desc":"无需消耗资金,获得装备补给。","descRaw":"无需消耗资金,获得装备补给。","color":"#35d8b4","family":"supply","solo":false,"training":false},"equip_free_3_s":{"id":"equip_free_3_s","choiceType":"EQUIP_FREE","effectType":"EQUIP","name":"道具补给","desc":"无需消耗资金,获得装备补给。","descRaw":"无需消耗资金,获得装备补给。","color":"#f2bd3e","family":"supply","solo":true,"training":false},"equip_free_4":{"id":"equip_free_4","choiceType":"EQUIP_FREE","effectType":"EQUIP","name":"道具补给","desc":"无需消耗资金,获得装备补给。","descRaw":"无需消耗资金,获得装备补给。","color":"#35d8b4","family":"supply","solo":false,"training":false},"equip_free_4_s":{"id":"equip_free_4_s","choiceType":"EQUIP_FREE","effectType":"EQUIP","name":"道具补给","desc":"无需消耗资金,获得装备补给。","descRaw":"无需消耗资金,获得装备补给。","color":"#f2bd3e","family":"supply","solo":true,"training":false},"hardbuff_select_1":{"id":"hardbuff_select_1","choiceType":"BUFF_SELECT","effectType":"BUFF_GAIN","name":"战术决策","desc":"进行协同调整,做好迎战准备。","descRaw":"进行协同调整,做好迎战准备。","color":"#35d8b4","family":"tactic","solo":false,"training":false},"hardbuff_select_1_s":{"id":"hardbuff_select_1_s","choiceType":"BUFF_SELECT","effectType":"BUFF_GAIN","name":"战术决策","desc":"进行协同调整,做好迎战准备。","descRaw":"进行协同调整,做好迎战准备。","color":"#35d8b4","family":"tactic","solo":true,"training":false},"hardbuff_select_2":{"id":"hardbuff_select_2","choiceType":"BUFF_SELECT","effectType":"BUFF_GAIN","name":"战术决策","desc":"进行协同调整,做好迎战准备。","descRaw":"进行协同调整,做好迎战准备。","color":"#35d8b4","family":"tactic","solo":false,"training":false},"hardbuff_select_2_s":{"id":"hardbuff_select_2_s","choiceType":"BUFF_SELECT","effectType":"BUFF_GAIN","name":"战术决策","desc":"进行协同调整,做好迎战准备。","descRaw":"进行协同调整,做好迎战准备。","color":"#35d8b4","family":"tactic","solo":true,"training":false},"hardbuff_select_3":{"id":"hardbuff_select_3","choiceType":"BUFF_SELECT","effectType":"BUFF_GAIN","name":"战术决策","desc":"进行协同调整,做好迎战准备。","descRaw":"进行协同调整,做好迎战准备。","color":"#35d8b4","family":"tactic","solo":false,"training":false},"hardbuff_select_3_s":{"id":"hardbuff_select_3_s","choiceType":"BUFF_SELECT","effectType":"BUFF_GAIN","name":"战术决策","desc":"进行协同调整,做好迎战准备。","descRaw":"进行协同调整,做好迎战准备。","color":"#35d8b4","family":"tactic","solo":true,"training":false},"hunter_band_1":{"id":"hunter_band_1","choiceType":"PERSONAL_CHOOSE","effectType":"ENEMY_GAIN","name":"悬赏决策","desc":"选定悬赏目标,获取额外奖励。","descRaw":"选定悬赏目标,获取额外奖励。","color":"#35d8b4","family":"bounty","solo":false,"training":false,"usedBy":["chess_item_6_03_m","chess_item_6_01_m"]},"terrain_m01_1":{"id":"terrain_m01_1","choiceType":"BUFF_SELECT","effectType":"BUFF_GAIN","name":"战术决策","desc":"进行协同调整,做好迎战准备。","descRaw":"进行协同调整,做好迎战准备。","color":"#35d8b4","family":"tactic","solo":false,"training":false},"terrain_m01_1_s":{"id":"terrain_m01_1_s","choiceType":"BUFF_SELECT","effectType":"BUFF_GAIN","name":"战术决策","desc":"进行协同调整,做好迎战准备。","descRaw":"进行协同调整,做好迎战准备。","color":"#f2bd3e","family":"tactic","solo":true,"training":false},"terrain_m02_1":{"id":"terrain_m02_1","choiceType":"BUFF_SELECT","effectType":"BUFF_GAIN","name":"战术决策","desc":"进行协同调整,做好迎战准备。","descRaw":"进行协同调整,做好迎战准备。","color":"#35d8b4","family":"tactic","solo":false,"training":false},"terrain_m02_1_s":{"id":"terrain_m02_1_s","choiceType":"BUFF_SELECT","effectType":"BUFF_GAIN","name":"战术决策","desc":"进行协同调整,做好迎战准备。","descRaw":"进行协同调整,做好迎战准备。","color":"#f2bd3e","family":"tactic","solo":true,"training":false},"terrain_m02_2":{"id":"terrain_m02_2","choiceType":"BUFF_SELECT","effectType":"BUFF_GAIN","name":"战术决策","desc":"进行协同调整,做好迎战准备。","descRaw":"进行协同调整,做好迎战准备。","color":"#35d8b4","family":"tactic","solo":false,"training":false},"terrain_m02_2_s":{"id":"terrain_m02_2_s","choiceType":"BUFF_SELECT","effectType":"BUFF_GAIN","name":"战术决策","desc":"进行协同调整,做好迎战准备。","descRaw":"进行协同调整,做好迎战准备。","color":"#f2bd3e","family":"tactic","solo":true,"training":false},"terrain_m03_1":{"id":"terrain_m03_1","choiceType":"BUFF_SELECT","effectType":"BUFF_GAIN","name":"战术决策","desc":"进行协同调整,做好迎战准备。","descRaw":"进行协同调整,做好迎战准备。","color":"#35d8b4","family":"tactic","solo":false,"training":false},"terrain_m03_1_s":{"id":"terrain_m03_1_s","choiceType":"BUFF_SELECT","effectType":"BUFF_GAIN","name":"战术决策","desc":"进行协同调整,做好迎战准备。","descRaw":"进行协同调整,做好迎战准备。","color":"#f2bd3e","family":"tactic","solo":true,"training":false},"terrain_m04_1":{"id":"terrain_m04_1","choiceType":"BUFF_SELECT","effectType":"BUFF_GAIN","name":"战术决策","desc":"进行协同调整,做好迎战准备。","descRaw":"进行协同调整,做好迎战准备。","color":"#35d8b4","family":"tactic","solo":false,"training":false},"terrain_m04_1_s":{"id":"terrain_m04_1_s","choiceType":"BUFF_SELECT","effectType":"BUFF_GAIN","name":"战术决策","desc":"进行协同调整,做好迎战准备。","descRaw":"进行协同调整,做好迎战准备。","color":"#f2bd3e","family":"tactic","solo":true,"training":false},"terrain_m06_1":{"id":"terrain_m06_1","choiceType":"BUFF_SELECT","effectType":"BUFF_GAIN","name":"战术决策","desc":"进行协同调整,做好迎战准备。","descRaw":"进行协同调整,做好迎战准备。","color":"#35d8b4","family":"tactic","solo":false,"training":false},"terrain_m06_1_s":{"id":"terrain_m06_1_s","choiceType":"BUFF_SELECT","effectType":"BUFF_GAIN","name":"战术决策","desc":"进行协同调整,做好迎战准备。","descRaw":"进行协同调整,做好迎战准备。","color":"#f2bd3e","family":"tactic","solo":true,"training":false},"terrain_m07_1":{"id":"terrain_m07_1","choiceType":"BUFF_SELECT","effectType":"BUFF_GAIN","name":"战术决策","desc":"进行协同调整,做好迎战准备。","descRaw":"进行协同调整,做好迎战准备。","color":"#35d8b4","family":"tactic","solo":false,"training":false},"terrain_m07_1_s":{"id":"terrain_m07_1_s","choiceType":"BUFF_SELECT","effectType":"BUFF_GAIN","name":"战术决策","desc":"进行协同调整,做好迎战准备。","descRaw":"进行协同调整,做好迎战准备。","color":"#f2bd3e","family":"tactic","solo":true,"training":false}},"families":{"bounty":{"name":"悬赏决策","desc":"选定悬赏目标,获取额外奖励。","cards":"bountyDrafts[schedule[*].bountyDraft] — one official card list of the round (initial: an R3 set of 6; boss: an R9 group of up to 9; hunter: one of the 7 seen R11 lists of 7), six different cards of it drawn by weight, over cards.bounty entries with draft: true and that draftPool"},"supply":{"name":"道具补给","desc":"无需消耗资金,获得装备补给。","cards":"random normal EQUIP items in schedule[*].supplyTiers (duplicates allowed)"},"shop":{"name":"机密商店","desc":"无需消耗资金,获得装备补给。","cards":"at shopDraft.rounds (R11): six slots drawn with replacement (VI, VI, V, 盟约之币, 2 × V / IV / III / 盟约之币); other rounds: random normal EQUIP shop items of tiers I–VI (duplicates allowed) — the same item can come twice"},"tactic":{"name":"战术决策","desc":"进行协同调整,做好迎战准备。","cards":"cards.tactic, each card drawn on its own (with replacement) — the same card can come twice; at tacticDraft.rounds (R11) the ally cards by tacticDraft.weights, other rounds every card uniform (terrain cards only for the match stage)"}},"format":{"multi":{"cards":6,"pickOrder":"random","firstPickSec":30,"otherPickSec":16,"onTimeout":"autoPickRandom","eachPlayerPicks":1},"solo":{"cards":3,"timer":null},"opensAfterIncome":true},"cards":{"bounty":[{"effectId":"enemyeffect_1","name":"无人机护障·P·战术特训","desc":"为自身下场作战添加3只无人机护障·P,若各自行动阶段就达成完美作战,获得2资金","tier":2,"coin":2,"payout":"perfect","rounds":1,"multiRound":false,"enemyKey":"enemy_1355_mrfly_2","count":3,"adds":[{"enemyKey":"enemy_1355_mrfly_2","count":4,"coin":2,"rounds":1,"payout":"perfect","buffKey":"next_battle_add_enemy_win_gain_coin"},{"enemyKey":"enemy_1355_mrfly_2","count":3,"coin":2,"rounds":1,"payout":"perfect","buffKey":"add_enemy_selfbattle_win_gain_coin"}],"draft":false,"draftExcluded":"perfect","draftPool":null,"series":null},{"effectId":"enemyeffect_2","name":"法术大师A2·多轮战术特训","desc":"之后的每场作战添加2只法术大师A2,若各自行动阶段就达成完美作战,获得2资金","tier":2,"coin":2,"payout":"perfect","rounds":99,"multiRound":true,"enemyKey":"enemy_1041_lazerd_2","count":2,"adds":[{"enemyKey":"enemy_1041_lazerd_2","count":2,"coin":2,"rounds":99,"payout":"perfect","buffKey":"add_enemy_selfbattle_win_gain_coin"}],"draft":false,"draftExcluded":"perfect","draftPool":null,"series":null},{"effectId":"enemyeffect_3_2","name":"法术大师A2·悬赏","desc":"为自身下场作战添加1只法术大师A2,将其击倒者获得2资金","tier":2,"coin":2,"payout":"kill","rounds":1,"multiRound":false,"enemyKey":"enemy_1041_lazerd_2","count":1,"adds":[{"enemyKey":"enemy_1041_lazerd_2","count":1,"coin":2,"rounds":1,"payout":"kill","buffKey":"add_enemy_kill_gain_coin"}],"draft":false,"draftExcluded":"unseen","draftPool":null,"series":3},{"effectId":"enemyeffect_3_2_e","name":"“萨科塔之眼”·悬赏","desc":"为自身下场作战添加1只“萨科塔之眼”,将其击倒者获得2资金","tier":2,"coin":2,"payout":"kill","rounds":1,"multiRound":false,"enemyKey":"enemy_10084_hlegle","count":1,"adds":[{"enemyKey":"enemy_10084_hlegle","count":1,"coin":2,"rounds":1,"payout":"kill","buffKey":"add_enemy_kill_gain_coin"}],"draft":false,"draftExcluded":"unseen","draftPool":null,"series":null},{"effectId":"enemyeffect_3_3","name":"元核孽生者·悬赏","desc":"为自身下场作战添加1只元核孽生者,将其击倒者获得3资金","tier":3,"coin":3,"payout":"kill","rounds":1,"multiRound":false,"enemyKey":"enemy_1439_dslntf","count":1,"adds":[{"enemyKey":"enemy_1439_dslntf","count":1,"coin":3,"rounds":1,"payout":"kill","buffKey":"add_enemy_kill_gain_coin"}],"draft":false,"draftExcluded":"unseen","draftPool":null,"series":3},{"effectId":"enemyeffect_3_3_e","name":"幽灵组长·悬赏","desc":"为自身下场作战添加1只幽灵组长,将其击倒者获得1资金","tier":1,"coin":1,"payout":"kill","rounds":1,"multiRound":false,"enemyKey":"enemy_1026_aghost","count":1,"adds":[{"enemyKey":"enemy_1026_aghost","count":1,"coin":1,"rounds":1,"payout":"kill","buffKey":"add_enemy_kill_gain_coin"}],"draft":false,"draftExcluded":"unseen","draftPool":null,"series":null},{"effectId":"enemyeffect_3_4","name":"山海众头目·悬赏","desc":"为自身下场作战添加1只山海众头目,将其击倒者获得2资金","tier":2,"coin":2,"payout":"kill","rounds":1,"multiRound":false,"enemyKey":"enemy_1299_ymkilr","count":1,"adds":[{"enemyKey":"enemy_1299_ymkilr","count":1,"coin":2,"rounds":1,"payout":"kill","buffKey":"add_enemy_kill_gain_coin"}],"draft":false,"draftExcluded":"unseen","draftPool":null,"series":3},{"effectId":"enemyeffect_3_4_e","name":"重装防御者·悬赏","desc":"为自身下场作战添加1只重装防御者,将其击倒者获得1资金","tier":1,"coin":1,"payout":"kill","rounds":1,"multiRound":false,"enemyKey":"enemy_1006_shield","count":1,"adds":[{"enemyKey":"enemy_1006_shield","count":1,"coin":1,"rounds":1,"payout":"kill","buffKey":"add_enemy_kill_gain_coin"}],"draft":false,"draftExcluded":"unseen","draftPool":null,"series":null},{"effectId":"enemyeffect_3_5_e","name":"重弩突袭者·悬赏","desc":"为自身下场作战添加1只重弩突袭者,将其击倒者获得2资金","tier":2,"coin":2,"payout":"kill","rounds":1,"multiRound":false,"enemyKey":"enemy_1404_msnip","count":1,"adds":[{"enemyKey":"enemy_1404_msnip","count":1,"coin":2,"rounds":1,"payout":"kill","buffKey":"add_enemy_kill_gain_coin"}],"draft":false,"draftExcluded":"unseen","draftPool":null,"series":null},{"effectId":"enemyeffect_4","name":"山海众头目·多轮悬赏","desc":"之后的每场作战添加1只山海众头目,将其击倒者获得1资金","tier":2,"coin":1,"payout":"kill","rounds":99,"multiRound":true,"enemyKey":"enemy_1299_ymkilr","count":1,"adds":[{"enemyKey":"enemy_1299_ymkilr","count":1,"coin":1,"rounds":99,"payout":"kill","buffKey":"add_enemy_kill_gain_coin"}],"draft":false,"draftExcluded":"unseen","draftPool":null,"series":null},{"effectId":"enemyeffect_5","name":"鸭爵·悬赏","desc":"为自身下场作战添加1只鸭爵,将其击倒者获得3资金","tier":3,"coin":3,"payout":"kill","rounds":1,"multiRound":false,"enemyKey":"enemy_2001_duckmi","count":1,"adds":[{"enemyKey":"enemy_2001_duckmi","count":1,"coin":3,"rounds":1,"payout":"kill","buffKey":"add_enemy_kill_gain_coin"}],"draft":false,"draftExcluded":"hidden","draftPool":null,"series":null},{"effectId":"enemyeffect_5_1","name":"源石虫·特训","desc":"为自身下场作战添加1只源石虫,但不获得资金","tier":1,"coin":0,"payout":"kill","rounds":1,"multiRound":false,"enemyKey":"enemy_1007_slime","count":1,"adds":[{"enemyKey":"enemy_1007_slime","count":1,"coin":0,"rounds":1,"payout":"kill","buffKey":"add_enemy_kill_gain_coin"}],"draft":true,"draftExcluded":null,"draftPool":"boss","series":5},{"effectId":"enemyeffect_6","name":"高普尼克·悬赏","desc":"为自身下场作战添加1只高普尼克,将其击倒者获得3资金","tier":3,"coin":3,"payout":"kill","rounds":1,"multiRound":false,"enemyKey":"enemy_2002_bearmi","count":1,"adds":[{"enemyKey":"enemy_2002_bearmi","count":1,"coin":3,"rounds":1,"payout":"kill","buffKey":"add_enemy_kill_gain_coin"}],"draft":false,"draftExcluded":"hidden","draftPool":null,"series":null},{"effectId":"enemyeffect_7","name":"流泪小子·悬赏","desc":"为自身下场作战添加1只流泪小子,将其击倒者获得3资金","tier":3,"coin":3,"payout":"kill","rounds":1,"multiRound":false,"enemyKey":"enemy_2034_sythef","count":1,"adds":[{"enemyKey":"enemy_2034_sythef","count":1,"coin":3,"rounds":1,"payout":"kill","buffKey":"add_enemy_kill_gain_coin"}],"draft":false,"draftExcluded":"hidden","draftPool":null,"series":null},{"effectId":"enemyeffect_8","name":"圆仔·悬赏","desc":"为自身下场作战添加1只圆仔,将其击倒者获得3资金","tier":3,"coin":3,"payout":"kill","rounds":1,"multiRound":false,"enemyKey":"enemy_2085_skzjxd","count":1,"adds":[{"enemyKey":"enemy_2085_skzjxd","count":1,"coin":3,"rounds":1,"payout":"kill","buffKey":"add_enemy_kill_gain_coin"}],"draft":false,"draftExcluded":"hidden","draftPool":null,"series":null},{"effectId":"enemyeffect_10_1","name":"战术特训·飞行I","desc":"为自身下场战斗添加1只妖怪,若各自行动阶段就达成完美作战,获得1资金","tier":1,"coin":1,"payout":"perfect","rounds":1,"multiRound":false,"enemyKey":"enemy_1005_yokai","count":1,"adds":[{"enemyKey":"enemy_1005_yokai","count":1,"coin":1,"rounds":1,"payout":"perfect","buffKey":"add_enemy_selfbattle_win_gain_coin"}],"draft":false,"draftExcluded":"perfect","draftPool":null,"series":10},{"effectId":"enemyeffect_10_2","name":"战术特训·飞行II","desc":"为自身下场战斗添加1只暴鸰,若各自行动阶段就达成完美作战,获得2资金","tier":2,"coin":2,"payout":"perfect","rounds":1,"multiRound":false,"enemyKey":"enemy_1040_bombd","count":1,"adds":[{"enemyKey":"enemy_1040_bombd","count":1,"coin":2,"rounds":1,"payout":"perfect","buffKey":"add_enemy_selfbattle_win_gain_coin"}],"draft":false,"draftExcluded":"perfect","draftPool":null,"series":10},{"effectId":"enemyeffect_10_3","name":"战术特训·飞行III","desc":"为自身下场战斗添加1只帝国炮火中枢先兆者,若各自行动阶段就达成完美作战,获得3资金","tier":3,"coin":3,"payout":"perfect","rounds":1,"multiRound":false,"enemyKey":"enemy_1112_emppnt_2","count":1,"adds":[{"enemyKey":"enemy_1112_emppnt_2","count":1,"coin":3,"rounds":1,"payout":"perfect","buffKey":"add_enemy_selfbattle_win_gain_coin"}],"draft":false,"draftExcluded":"perfect","draftPool":null,"series":10},{"effectId":"enemyeffect_10_4","name":"悬赏·飞行I","desc":"为自身接下来两场作战添加1只妖怪,将其击倒者获得1资金","tier":1,"coin":1,"payout":"kill","rounds":2,"multiRound":false,"enemyKey":"enemy_1005_yokai","count":1,"adds":[{"enemyKey":"enemy_1005_yokai","count":1,"coin":1,"rounds":2,"payout":"kill","buffKey":"add_enemy_kill_gain_coin"}],"draft":true,"draftExcluded":null,"draftPool":"initial","series":10},{"effectId":"enemyeffect_10_5","name":"悬赏·飞行II","desc":"为自身接下来两场作战添加1只暴鸰,将其击倒者获得2资金","tier":2,"coin":2,"payout":"kill","rounds":2,"multiRound":false,"enemyKey":"enemy_1040_bombd","count":1,"adds":[{"enemyKey":"enemy_1040_bombd","count":1,"coin":2,"rounds":2,"payout":"kill","buffKey":"add_enemy_kill_gain_coin"}],"draft":true,"draftExcluded":null,"draftPool":"initial","series":10},{"effectId":"enemyeffect_10_6","name":"悬赏·飞行III","desc":"为自身接下来两场作战添加1只法术大师A1,将其击倒者获得3资金","tier":3,"coin":3,"payout":"kill","rounds":2,"multiRound":false,"enemyKey":"enemy_1041_lazerd","count":1,"adds":[{"enemyKey":"enemy_1041_lazerd","count":1,"coin":3,"rounds":2,"payout":"kill","buffKey":"add_enemy_kill_gain_coin"}],"draft":true,"draftExcluded":null,"draftPool":"initial","series":10},{"effectId":"enemyeffect_10_7","name":"悬赏·飞行I","desc":"为自身下场战斗添加1只法术大师A2,将其击倒者获得1资金","tier":1,"coin":1,"payout":"kill","rounds":1,"multiRound":false,"enemyKey":"enemy_1041_lazerd_2","count":1,"adds":[{"enemyKey":"enemy_1041_lazerd_2","count":1,"coin":1,"rounds":1,"payout":"kill","buffKey":"add_enemy_kill_gain_coin"}],"draft":true,"draftExcluded":null,"draftPool":"hunter","series":10},{"effectId":"enemyeffect_10_8","name":"悬赏·飞行II","desc":"为自身下场战斗添加1只枯朽萃聚使徒,将其击倒者获得2资金","tier":2,"coin":2,"payout":"kill","rounds":1,"multiRound":false,"enemyKey":"enemy_1321_wdarft","count":1,"adds":[{"enemyKey":"enemy_1321_wdarft","count":1,"coin":2,"rounds":1,"payout":"kill","buffKey":"add_enemy_kill_gain_coin"}],"draft":true,"draftExcluded":null,"draftPool":"hunter","series":10},{"effectId":"enemyeffect_11_1","name":"战术特训·频次I","desc":"为自身下场战斗添加1只磨砻,若各自行动阶段就达成完美作战,获得1资金","tier":1,"coin":1,"payout":"perfect","rounds":1,"multiRound":false,"enemyKey":"enemy_1195_sfyin","count":1,"adds":[{"enemyKey":"enemy_1195_sfyin","count":1,"coin":1,"rounds":1,"payout":"perfect","buffKey":"add_enemy_selfbattle_win_gain_coin"}],"draft":false,"draftExcluded":"perfect","draftPool":null,"series":11},{"effectId":"enemyeffect_11_2","name":"战术特训·频次II","desc":"为自身下场战斗添加1只烹泉,若各自行动阶段就达成完美作战,获得2资金","tier":2,"coin":2,"payout":"perfect","rounds":1,"multiRound":false,"enemyKey":"enemy_1203_sfhu","count":1,"adds":[{"enemyKey":"enemy_1203_sfhu","count":1,"coin":2,"rounds":1,"payout":"perfect","buffKey":"add_enemy_selfbattle_win_gain_coin"}],"draft":false,"draftExcluded":"perfect","draftPool":null,"series":11},{"effectId":"enemyeffect_11_3","name":"战术特训·频次III","desc":"为自身下场战斗添加1只新硎,若各自行动阶段就达成完美作战,获得3资金","tier":3,"coin":3,"payout":"perfect","rounds":1,"multiRound":false,"enemyKey":"enemy_1207_sfji_2","count":1,"adds":[{"enemyKey":"enemy_1207_sfji_2","count":1,"coin":3,"rounds":1,"payout":"perfect","buffKey":"add_enemy_selfbattle_win_gain_coin"}],"draft":false,"draftExcluded":"perfect","draftPool":null,"series":11},{"effectId":"enemyeffect_11_4","name":"悬赏·频次I","desc":"为自身接下来两场作战添加1只磨砻,将其击倒者获得1资金","tier":1,"coin":1,"payout":"kill","rounds":2,"multiRound":false,"enemyKey":"enemy_1195_sfyin","count":1,"adds":[{"enemyKey":"enemy_1195_sfyin","count":1,"coin":1,"rounds":2,"payout":"kill","buffKey":"add_enemy_kill_gain_coin"}],"draft":true,"draftExcluded":null,"draftPool":"initial","series":11},{"effectId":"enemyeffect_11_5","name":"悬赏·频次II","desc":"为自身接下来两场作战添加1只烹泉,将其击倒者获得2资金","tier":2,"coin":2,"payout":"kill","rounds":2,"multiRound":false,"enemyKey":"enemy_1203_sfhu","count":1,"adds":[{"enemyKey":"enemy_1203_sfhu","count":1,"coin":2,"rounds":2,"payout":"kill","buffKey":"add_enemy_kill_gain_coin"}],"draft":true,"draftExcluded":null,"draftPool":"initial","series":11},{"effectId":"enemyeffect_11_6","name":"悬赏·频次III","desc":"为自身接下来两场作战添加1只清明,将其击倒者获得3资金","tier":3,"coin":3,"payout":"kill","rounds":2,"multiRound":false,"enemyKey":"enemy_1209_sfden","count":1,"adds":[{"enemyKey":"enemy_1209_sfden","count":1,"coin":3,"rounds":2,"payout":"kill","buffKey":"add_enemy_kill_gain_coin"}],"draft":true,"draftExcluded":null,"draftPool":"initial","series":11},{"effectId":"enemyeffect_11_7","name":"悬赏·频次I","desc":"为自身下场战斗添加1只沏虹,将其击倒者获得1资金","tier":1,"coin":1,"payout":"kill","rounds":1,"multiRound":false,"enemyKey":"enemy_1203_sfhu_2","count":1,"adds":[{"enemyKey":"enemy_1203_sfhu_2","count":1,"coin":1,"rounds":1,"payout":"kill","buffKey":"add_enemy_kill_gain_coin"}],"draft":true,"draftExcluded":null,"draftPool":"hunter","series":11},{"effectId":"enemyeffect_11_8","name":"悬赏·频次II","desc":"为自身下场战斗添加1只新硎,将其击倒者获得2资金","tier":2,"coin":2,"payout":"kill","rounds":1,"multiRound":false,"enemyKey":"enemy_1207_sfji_2","count":1,"adds":[{"enemyKey":"enemy_1207_sfji_2","count":1,"coin":2,"rounds":1,"payout":"kill","buffKey":"add_enemy_kill_gain_coin"}],"draft":true,"draftExcluded":null,"draftPool":"hunter","series":11},{"effectId":"enemyeffect_12_1","name":"战术特训·损伤I","desc":"为自身下场战斗添加1只底海滑动者,若各自行动阶段就达成完美作战,获得1资金","tier":1,"coin":1,"payout":"perfect","rounds":1,"multiRound":false,"enemyKey":"enemy_1148_dssbr","count":1,"adds":[{"enemyKey":"enemy_1148_dssbr","count":1,"coin":1,"rounds":1,"payout":"perfect","buffKey":"add_enemy_selfbattle_win_gain_coin"}],"draft":false,"draftExcluded":"perfect","draftPool":null,"series":12},{"effectId":"enemyeffect_12_2","name":"战术特训·损伤II","desc":"为自身下场战斗添加1只炽焰源石虫,若各自行动阶段就达成完美作战,获得2资金","tier":2,"coin":2,"payout":"perfect","rounds":1,"multiRound":false,"enemyKey":"enemy_1305_mhslim_2","count":1,"adds":[{"enemyKey":"enemy_1305_mhslim_2","count":1,"coin":2,"rounds":1,"payout":"perfect","buffKey":"add_enemy_selfbattle_win_gain_coin"}],"draft":false,"draftExcluded":"perfect","draftPool":null,"series":12},{"effectId":"enemyeffect_12_3","name":"战术特训·损伤III","desc":"为自身下场战斗添加1只灼藤,若各自行动阶段就达成完美作战,获得3资金","tier":3,"coin":3,"payout":"perfect","rounds":1,"multiRound":false,"enemyKey":"enemy_10067_ftsjc","count":1,"adds":[{"enemyKey":"enemy_10067_ftsjc","count":1,"coin":3,"rounds":1,"payout":"perfect","buffKey":"add_enemy_selfbattle_win_gain_coin"}],"draft":false,"draftExcluded":"perfect","draftPool":null,"series":12},{"effectId":"enemyeffect_12_4","name":"悬赏·损伤I","desc":"为自身接下来两场作战添加1只底海滑动者,将其击倒者获得1资金","tier":1,"coin":1,"payout":"kill","rounds":2,"multiRound":false,"enemyKey":"enemy_1148_dssbr","count":1,"adds":[{"enemyKey":"enemy_1148_dssbr","count":1,"coin":1,"rounds":2,"payout":"kill","buffKey":"add_enemy_kill_gain_coin"}],"draft":true,"draftExcluded":null,"draftPool":"initial","series":12},{"effectId":"enemyeffect_12_5","name":"悬赏·损伤II","desc":"为自身接下来两场作战添加1只控潮术师,将其击倒者获得2资金","tier":2,"coin":2,"payout":"kill","rounds":2,"multiRound":false,"enemyKey":"enemy_1161_tidmag","count":1,"adds":[{"enemyKey":"enemy_1161_tidmag","count":1,"coin":2,"rounds":2,"payout":"kill","buffKey":"add_enemy_kill_gain_coin"}],"draft":true,"draftExcluded":null,"draftPool":"initial","series":12},{"effectId":"enemyeffect_12_6","name":"悬赏·损伤III","desc":"为自身接下来两场作战添加1只术师快艇,将其击倒者获得3资金","tier":3,"coin":3,"payout":"kill","rounds":2,"multiRound":false,"enemyKey":"enemy_1162_magmot","count":1,"adds":[{"enemyKey":"enemy_1162_magmot","count":1,"coin":3,"rounds":2,"payout":"kill","buffKey":"add_enemy_kill_gain_coin"}],"draft":true,"draftExcluded":null,"draftPool":"initial","series":12},{"effectId":"enemyeffect_12_7","name":"悬赏·损伤II","desc":"为自身下场战斗添加1只灼藤,将其击倒者获得2资金","tier":2,"coin":2,"payout":"kill","rounds":1,"multiRound":false,"enemyKey":"enemy_10067_ftsjc","count":1,"adds":[{"enemyKey":"enemy_10067_ftsjc","count":1,"coin":2,"rounds":1,"payout":"kill","buffKey":"add_enemy_kill_gain_coin"}],"draft":true,"draftExcluded":null,"draftPool":"hunter","series":12},{"effectId":"enemyeffect_12_8","name":"悬赏·损伤II","desc":"为自身下场战斗添加1只异光体孽生者,将其击倒者获得2资金","tier":2,"coin":2,"payout":"kill","rounds":1,"multiRound":false,"enemyKey":"enemy_1439_dslntf_2","count":1,"adds":[{"enemyKey":"enemy_1439_dslntf_2","count":1,"coin":2,"rounds":1,"payout":"kill","buffKey":"add_enemy_kill_gain_coin"}],"draft":true,"draftExcluded":null,"draftPool":"hunter","series":12},{"effectId":"enemyeffect_13_1","name":"战术特训·持续I","desc":"为自身下场战斗添加1只逐腐兽,若各自行动阶段就达成完美作战,获得1资金","tier":1,"coin":1,"payout":"perfect","rounds":1,"multiRound":false,"enemyKey":"enemy_1270_nhstlk","count":1,"adds":[{"enemyKey":"enemy_1270_nhstlk","count":1,"coin":1,"rounds":1,"payout":"perfect","buffKey":"add_enemy_selfbattle_win_gain_coin"}],"draft":false,"draftExcluded":"perfect","draftPool":null,"series":13},{"effectId":"enemyeffect_13_2","name":"战术特训·持续II","desc":"为自身下场战斗添加1只萨卡兹枯朽战士组长,若各自行动阶段就达成完美作战,获得2资金","tier":2,"coin":2,"payout":"perfect","rounds":1,"multiRound":false,"enemyKey":"enemy_1267_nhpbr_2","count":1,"adds":[{"enemyKey":"enemy_1267_nhpbr_2","count":1,"coin":2,"rounds":1,"payout":"perfect","buffKey":"add_enemy_selfbattle_win_gain_coin"}],"draft":false,"draftExcluded":"perfect","draftPool":null,"series":13},{"effectId":"enemyeffect_13_3","name":"战术特训·持续III","desc":"为自身下场战斗添加1只尖端萨卡兹枯朽战车,若各自行动阶段就达成完美作战,获得3资金","tier":3,"coin":3,"payout":"perfect","rounds":1,"multiRound":false,"enemyKey":"enemy_1272_nhtank_2","count":1,"adds":[{"enemyKey":"enemy_1272_nhtank_2","count":1,"coin":3,"rounds":1,"payout":"perfect","buffKey":"add_enemy_selfbattle_win_gain_coin"}],"draft":false,"draftExcluded":"perfect","draftPool":null,"series":13},{"effectId":"enemyeffect_13_4","name":"悬赏·持续I","desc":"为自身接下来两场作战添加1只萨卡兹枯朽战士组长,将其击倒者获得1资金","tier":1,"coin":1,"payout":"kill","rounds":2,"multiRound":false,"enemyKey":"enemy_1267_nhpbr_2","count":1,"adds":[{"enemyKey":"enemy_1267_nhpbr_2","count":1,"coin":1,"rounds":2,"payout":"kill","buffKey":"add_enemy_kill_gain_coin"}],"draft":true,"draftExcluded":null,"draftPool":"initial","series":13},{"effectId":"enemyeffect_13_5","name":"悬赏·持续II","desc":"为自身接下来两场作战添加1只逐腐兽,将其击倒者获得2资金","tier":2,"coin":2,"payout":"kill","rounds":2,"multiRound":false,"enemyKey":"enemy_1270_nhstlk","count":1,"adds":[{"enemyKey":"enemy_1270_nhstlk","count":1,"coin":2,"rounds":2,"payout":"kill","buffKey":"add_enemy_kill_gain_coin"}],"draft":true,"draftExcluded":null,"draftPool":"initial","series":13},{"effectId":"enemyeffect_13_6","name":"悬赏·持续III","desc":"为自身接下来两场作战添加1只萨卡兹枯朽战车,将其击倒者获得3资金","tier":3,"coin":3,"payout":"kill","rounds":2,"multiRound":false,"enemyKey":"enemy_1272_nhtank","count":1,"adds":[{"enemyKey":"enemy_1272_nhtank","count":1,"coin":3,"rounds":2,"payout":"kill","buffKey":"add_enemy_kill_gain_coin"}],"draft":true,"draftExcluded":null,"draftPool":"initial","series":13},{"effectId":"enemyeffect_13_7","name":"悬赏·持续I","desc":"为自身下场战斗添加1只假想敌:蚀裂,将其击倒者获得1资金","tier":1,"coin":1,"payout":"kill","rounds":1,"multiRound":false,"enemyKey":"enemy_9006_actoxi","count":1,"adds":[{"enemyKey":"enemy_9006_actoxi","count":1,"coin":1,"rounds":1,"payout":"kill","buffKey":"add_enemy_kill_gain_coin"}],"draft":true,"draftExcluded":null,"draftPool":"hunter","series":13},{"effectId":"enemyeffect_13_8","name":"悬赏·持续II","desc":"为自身下场战斗添加1只尖端萨卡兹枯朽战车,将其击倒者获得2资金","tier":2,"coin":2,"payout":"kill","rounds":1,"multiRound":false,"enemyKey":"enemy_1272_nhtank_2","count":1,"adds":[{"enemyKey":"enemy_1272_nhtank_2","count":1,"coin":2,"rounds":1,"payout":"kill","buffKey":"add_enemy_kill_gain_coin"}],"draft":true,"draftExcluded":null,"draftPool":"hunter","series":13},{"effectId":"enemyeffect_14_1","name":"战术特训·隐匿I","desc":"为自身下场战斗添加1只隐形弩手,若各自行动阶段就达成完美作战,获得1资金","tier":1,"coin":1,"payout":"perfect","rounds":1,"multiRound":false,"enemyKey":"enemy_1019_jshoot","count":1,"adds":[{"enemyKey":"enemy_1019_jshoot","count":1,"coin":1,"rounds":1,"payout":"perfect","buffKey":"add_enemy_selfbattle_win_gain_coin"}],"draft":false,"draftExcluded":"perfect","draftPool":null,"series":14},{"effectId":"enemyeffect_14_2","name":"战术特训·隐匿II","desc":"为自身下场战斗添加1只节日爵士乐手,若各自行动阶段就达成完美作战,获得2资金","tier":2,"coin":2,"payout":"perfect","rounds":1,"multiRound":false,"enemyKey":"enemy_10034_cnvsax","count":1,"adds":[{"enemyKey":"enemy_10034_cnvsax","count":1,"coin":2,"rounds":1,"payout":"perfect","buffKey":"add_enemy_selfbattle_win_gain_coin"}],"draft":false,"draftExcluded":"perfect","draftPool":null,"series":14},{"effectId":"enemyeffect_14_3","name":"战术特训·隐匿III","desc":"为自身下场战斗添加1只家族灭迹人,若各自行动阶段就达成完美作战,获得3资金","tier":3,"coin":3,"payout":"perfect","rounds":1,"multiRound":false,"enemyKey":"enemy_1283_sgkill","count":1,"adds":[{"enemyKey":"enemy_1283_sgkill","count":1,"coin":3,"rounds":1,"payout":"perfect","buffKey":"add_enemy_selfbattle_win_gain_coin"}],"draft":false,"draftExcluded":"perfect","draftPool":null,"series":14},{"effectId":"enemyeffect_14_4","name":"悬赏·隐匿I","desc":"为自身接下来两场作战添加1只隐形弩手,将其击倒者获得1资金","tier":1,"coin":1,"payout":"kill","rounds":2,"multiRound":false,"enemyKey":"enemy_1019_jshoot","count":1,"adds":[{"enemyKey":"enemy_1019_jshoot","count":1,"coin":1,"rounds":2,"payout":"kill","buffKey":"add_enemy_kill_gain_coin"}],"draft":true,"draftExcluded":null,"draftPool":"initial","series":14},{"effectId":"enemyeffect_14_5","name":"悬赏·隐匿II","desc":"为自身接下来两场作战添加1只隐形术师,将其击倒者获得2资金","tier":2,"coin":2,"payout":"kill","rounds":2,"multiRound":false,"enemyKey":"enemy_1023_jmage","count":1,"adds":[{"enemyKey":"enemy_1023_jmage","count":1,"coin":2,"rounds":2,"payout":"kill","buffKey":"add_enemy_kill_gain_coin"}],"draft":true,"draftExcluded":null,"draftPool":"initial","series":14},{"effectId":"enemyeffect_14_6","name":"悬赏·隐匿III","desc":"为自身接下来两场作战添加1只山海众头目,将其击倒者获得3资金","tier":3,"coin":3,"payout":"kill","rounds":2,"multiRound":false,"enemyKey":"enemy_1299_ymkilr","count":1,"adds":[{"enemyKey":"enemy_1299_ymkilr","count":1,"coin":3,"rounds":2,"payout":"kill","buffKey":"add_enemy_kill_gain_coin"}],"draft":true,"draftExcluded":null,"draftPool":"initial","series":14},{"effectId":"enemyeffect_14_7","name":"悬赏·隐匿I","desc":"为自身下场战斗添加1只重弩突袭者,将其击倒者获得1资金","tier":1,"coin":1,"payout":"kill","rounds":1,"multiRound":false,"enemyKey":"enemy_1404_msnip","count":1,"adds":[{"enemyKey":"enemy_1404_msnip","count":1,"coin":1,"rounds":1,"payout":"kill","buffKey":"add_enemy_kill_gain_coin"}],"draft":true,"draftExcluded":null,"draftPool":"hunter","series":14},{"effectId":"enemyeffect_14_8","name":"悬赏·隐匿II","desc":"为自身下场战斗添加1只家族暗影灭迹人,将其击倒者获得2资金","tier":2,"coin":2,"payout":"kill","rounds":1,"multiRound":false,"enemyKey":"enemy_1283_sgkill_2","count":1,"adds":[{"enemyKey":"enemy_1283_sgkill_2","count":1,"coin":2,"rounds":1,"payout":"kill","buffKey":"add_enemy_kill_gain_coin"}],"draft":true,"draftExcluded":null,"draftPool":"hunter","series":14},{"effectId":"enemyeffect_15_1","name":"战术特训·折射I","desc":"为自身下场战斗添加1只深池方阵战士,若各自行动阶段就达成完美作战,获得1资金","tier":1,"coin":1,"payout":"perfect","rounds":1,"multiRound":false,"enemyKey":"enemy_1169_duphlx","count":1,"adds":[{"enemyKey":"enemy_1169_duphlx","count":1,"coin":1,"rounds":1,"payout":"perfect","buffKey":"add_enemy_selfbattle_win_gain_coin"}],"draft":false,"draftExcluded":"perfect","draftPool":null,"series":15},{"effectId":"enemyeffect_15_2","name":"战术特训·折射II","desc":"为自身下场战斗添加1只深池暗影术师队长,若各自行动阶段就达成完美作战,获得2资金","tier":2,"coin":2,"payout":"perfect","rounds":1,"multiRound":false,"enemyKey":"enemy_1168_dumage_2","count":1,"adds":[{"enemyKey":"enemy_1168_dumage_2","count":1,"coin":2,"rounds":1,"payout":"perfect","buffKey":"add_enemy_selfbattle_win_gain_coin"}],"draft":false,"draftExcluded":"perfect","draftPool":null,"series":15},{"effectId":"enemyeffect_15_3","name":"战术特训·折射III","desc":"为自身下场战斗添加1只深池伙友卫队精英,若各自行动阶段就达成完美作战,获得3资金","tier":3,"coin":3,"payout":"perfect","rounds":1,"multiRound":false,"enemyKey":"enemy_1174_duholy_2","count":1,"adds":[{"enemyKey":"enemy_1174_duholy_2","count":1,"coin":3,"rounds":1,"payout":"perfect","buffKey":"add_enemy_selfbattle_win_gain_coin"}],"draft":false,"draftExcluded":"perfect","draftPool":null,"series":15},{"effectId":"enemyeffect_15_4","name":"悬赏·折射I","desc":"为自身接下来两场作战添加1只深池方阵战士,将其击倒者获得1资金","tier":1,"coin":1,"payout":"kill","rounds":2,"multiRound":false,"enemyKey":"enemy_1169_duphlx","count":1,"adds":[{"enemyKey":"enemy_1169_duphlx","count":1,"coin":1,"rounds":2,"payout":"kill","buffKey":"add_enemy_kill_gain_coin"}],"draft":true,"draftExcluded":null,"draftPool":"initial","series":15},{"effectId":"enemyeffect_15_5","name":"悬赏·折射II","desc":"为自身接下来两场作战添加1只深池暗影术师,将其击倒者获得2资金","tier":2,"coin":2,"payout":"kill","rounds":2,"multiRound":false,"enemyKey":"enemy_1168_dumage","count":1,"adds":[{"enemyKey":"enemy_1168_dumage","count":1,"coin":2,"rounds":2,"payout":"kill","buffKey":"add_enemy_kill_gain_coin"}],"draft":true,"draftExcluded":null,"draftPool":"initial","series":15},{"effectId":"enemyeffect_15_6","name":"悬赏·折射III","desc":"为自身接下来两场作战添加1只深池伙友卫队,将其击倒者获得3资金","tier":3,"coin":3,"payout":"kill","rounds":2,"multiRound":false,"enemyKey":"enemy_1174_duholy","count":1,"adds":[{"enemyKey":"enemy_1174_duholy","count":1,"coin":3,"rounds":2,"payout":"kill","buffKey":"add_enemy_kill_gain_coin"}],"draft":true,"draftExcluded":null,"draftPool":"initial","series":15},{"effectId":"enemyeffect_15_7","name":"悬赏·折射II","desc":"为自身下场战斗添加1只深池重甲卫士队长,将其击倒者获得2资金","tier":2,"coin":2,"payout":"kill","rounds":1,"multiRound":false,"enemyKey":"enemy_1170_dushld_2","count":1,"adds":[{"enemyKey":"enemy_1170_dushld_2","count":1,"coin":2,"rounds":1,"payout":"kill","buffKey":"add_enemy_kill_gain_coin"}],"draft":true,"draftExcluded":null,"draftPool":"hunter","series":15},{"effectId":"enemyeffect_15_8","name":"悬赏·折射II","desc":"为自身下场战斗添加1只愤怒的守墓石像,将其击倒者获得2资金","tier":2,"coin":2,"payout":"kill","rounds":1,"multiRound":false,"enemyKey":"enemy_1172_dugago_2","count":1,"adds":[{"enemyKey":"enemy_1172_dugago_2","count":1,"coin":2,"rounds":1,"payout":"kill","buffKey":"add_enemy_kill_gain_coin"}],"draft":true,"draftExcluded":null,"draftPool":"hunter","series":15},{"effectId":"enemyeffect_16_1","name":"悬赏·特异III","desc":"为自身下场战斗添加1只泥岩巨像,将其击倒者获得3资金","tier":3,"coin":3,"payout":"kill","rounds":1,"multiRound":false,"enemyKey":"enemy_1092_mdgint","count":1,"adds":[{"enemyKey":"enemy_1092_mdgint","count":1,"coin":3,"rounds":1,"payout":"kill","buffKey":"add_enemy_kill_gain_coin"}],"draft":true,"draftExcluded":null,"draftPool":"hunter","series":16},{"effectId":"enemyeffect_16_2","name":"悬赏·特异III","desc":"为自身下场战斗添加1只“越长尘”,将其击倒者获得3资金","tier":3,"coin":3,"payout":"kill","rounds":1,"multiRound":false,"enemyKey":"enemy_1302_ymtro_2","count":1,"adds":[{"enemyKey":"enemy_1302_ymtro_2","count":1,"coin":3,"rounds":1,"payout":"kill","buffKey":"add_enemy_kill_gain_coin"}],"draft":true,"draftExcluded":null,"draftPool":"hunter","series":16},{"effectId":"enemyeffect_16_3","name":"悬赏·特异III","desc":"为自身下场战斗添加1只狂暴宿主组长,将其击倒者获得3资金","tier":3,"coin":3,"payout":"kill","rounds":1,"multiRound":false,"enemyKey":"enemy_1062_rager_2","count":1,"adds":[{"enemyKey":"enemy_1062_rager_2","count":1,"coin":3,"rounds":1,"payout":"kill","buffKey":"add_enemy_kill_gain_coin"}],"draft":true,"draftExcluded":null,"draftPool":"hunter","series":16},{"effectId":"enemyeffect_16_4","name":"悬赏·特异III","desc":"为自身下场战斗添加1只温顺的武装大驮兽,将其击倒者获得3资金","tier":3,"coin":3,"payout":"kill","rounds":1,"multiRound":false,"enemyKey":"enemy_1415_mmkabi_2","count":1,"adds":[{"enemyKey":"enemy_1415_mmkabi_2","count":1,"coin":3,"rounds":1,"payout":"kill","buffKey":"add_enemy_kill_gain_coin"}],"draft":true,"draftExcluded":null,"draftPool":"hunter","series":16},{"effectId":"enemyeffect_16_5","name":"悬赏·特异III","desc":"为自身下场战斗添加1只萨卡兹骸骨拷打者,将其击倒者获得3资金","tier":3,"coin":3,"payout":"kill","rounds":1,"multiRound":false,"enemyKey":"enemy_1364_spnaxe_2","count":1,"adds":[{"enemyKey":"enemy_1364_spnaxe_2","count":1,"coin":3,"rounds":1,"payout":"kill","buffKey":"add_enemy_kill_gain_coin"}],"draft":true,"draftExcluded":null,"draftPool":"hunter","series":16},{"effectId":"enemyeffect_16_6","name":"悬赏·特异III","desc":"为自身下场战斗添加1只高准度伦蒂尼姆城防自行炮,将其击倒者获得3资金","tier":3,"coin":3,"payout":"kill","rounds":1,"multiRound":false,"enemyKey":"enemy_1273_stmgun_2","count":1,"adds":[{"enemyKey":"enemy_1273_stmgun_2","count":1,"coin":3,"rounds":1,"payout":"kill","buffKey":"add_enemy_kill_gain_coin"}],"draft":true,"draftExcluded":null,"draftPool":"hunter","series":16},{"effectId":"enemyeffect_16_7","name":"悬赏·特异III","desc":"为自身下场战斗添加1只乌顶巨角卢鲁,将其击倒者获得3资金","tier":3,"coin":3,"payout":"kill","rounds":1,"multiRound":false,"enemyKey":"enemy_10144_xdelk_2","count":1,"adds":[{"enemyKey":"enemy_10144_xdelk_2","count":1,"coin":3,"rounds":1,"payout":"kill","buffKey":"add_enemy_kill_gain_coin"}],"draft":true,"draftExcluded":null,"draftPool":"hunter","series":16},{"effectId":"enemyeffect_16_8","name":"悬赏·特异III","desc":"为自身下场战斗添加1只伊利昂的木驮兽,将其击倒者获得3资金","tier":3,"coin":3,"payout":"kill","rounds":1,"multiRound":false,"enemyKey":"enemy_10159_mntrjn","count":1,"adds":[{"enemyKey":"enemy_10159_mntrjn","count":1,"coin":3,"rounds":1,"payout":"kill","buffKey":"add_enemy_kill_gain_coin"}],"draft":true,"draftExcluded":null,"draftPool":"hunter","series":16},{"effectId":"enemyeffect_16_9","name":"悬赏·特异II","desc":"为自身下场战斗添加1只拥霜羽兽,将其击倒者获得2资金","tier":2,"coin":2,"payout":"kill","rounds":1,"multiRound":false,"enemyKey":"enemy_10141_xdpeng_2","count":1,"adds":[{"enemyKey":"enemy_10141_xdpeng_2","count":1,"coin":2,"rounds":1,"payout":"kill","buffKey":"add_enemy_kill_gain_coin"}],"draft":true,"draftExcluded":null,"draftPool":"hunter","series":16},{"effectId":"enemyeffect_16_10","name":"悬赏·特异II","desc":"为自身下场战斗添加1只异质裂兽·α,将其击倒者获得2资金","tier":2,"coin":2,"payout":"kill","rounds":1,"multiRound":false,"enemyKey":"enemy_10127_rkmbst_2","count":1,"adds":[{"enemyKey":"enemy_10127_rkmbst_2","count":1,"coin":2,"rounds":1,"payout":"kill","buffKey":"add_enemy_kill_gain_coin"}],"draft":true,"draftExcluded":null,"draftPool":"hunter","series":16},{"effectId":"enemyeffect_16_11","name":"悬赏·损伤I","desc":"为自身下场战斗添加1只心虚设计师,将其击倒者获得1资金","tier":1,"coin":1,"payout":"kill","rounds":1,"multiRound":false,"enemyKey":"enemy_10097_crshd","count":1,"adds":[{"enemyKey":"enemy_10097_crshd","count":1,"coin":1,"rounds":1,"payout":"kill","buffKey":"add_enemy_kill_gain_coin"}],"draft":true,"draftExcluded":null,"draftPool":"hunter","series":16},{"effectId":"enemyeffect_16_12","name":"悬赏·特异I","desc":"为自身下场战斗添加1只转译基底·α,将其击倒者获得1资金","tier":1,"coin":1,"payout":"kill","rounds":1,"multiRound":false,"enemyKey":"enemy_10081_mpplai","count":1,"adds":[{"enemyKey":"enemy_10081_mpplai","count":1,"coin":1,"rounds":1,"payout":"kill","buffKey":"add_enemy_kill_gain_coin"}],"draft":true,"draftExcluded":null,"draftPool":"hunter","series":16},{"effectId":"enemyeffect_17_1","name":"悬赏·特异I","desc":"为自身接下来两场作战添加1只雪孩子,将其击倒者获得1资金","tier":1,"coin":1,"payout":"kill","rounds":2,"multiRound":false,"enemyKey":"enemy_10138_xdsnow","count":1,"adds":[{"enemyKey":"enemy_10138_xdsnow","count":1,"coin":1,"rounds":2,"payout":"kill","buffKey":"add_enemy_kill_gain_coin"}],"draft":true,"draftExcluded":null,"draftPool":"initial","series":17},{"effectId":"enemyeffect_17_2","name":"悬赏·特异I","desc":"为自身接下来两场作战添加1只新手祭司学徒,将其击倒者获得1资金","tier":1,"coin":1,"payout":"kill","rounds":2,"multiRound":false,"enemyKey":"enemy_10156_mncrer","count":1,"adds":[{"enemyKey":"enemy_10156_mncrer","count":1,"coin":1,"rounds":2,"payout":"kill","buffKey":"add_enemy_kill_gain_coin"}],"draft":true,"draftExcluded":null,"draftPool":"initial","series":17},{"effectId":"enemyeffect_17_3","name":"悬赏·特异I","desc":"为自身接下来两场作战添加1只冒失的小弟,将其击倒者获得1资金","tier":1,"coin":1,"payout":"kill","rounds":2,"multiRound":false,"enemyKey":"enemy_10112_ymgds","count":1,"adds":[{"enemyKey":"enemy_10112_ymgds","count":1,"coin":1,"rounds":2,"payout":"kill","buffKey":"add_enemy_kill_gain_coin"}],"draft":true,"draftExcluded":null,"draftPool":"initial","series":17},{"effectId":"enemyeffect_17_4","name":"悬赏·特异II","desc":"为自身接下来两场作战添加1只骇笑看客,将其击倒者获得2资金","tier":2,"coin":2,"payout":"kill","rounds":2,"multiRound":false,"enemyKey":"enemy_2009_csaudc","count":1,"adds":[{"enemyKey":"enemy_2009_csaudc","count":1,"coin":2,"rounds":2,"payout":"kill","buffKey":"add_enemy_kill_gain_coin"}],"draft":true,"draftExcluded":null,"draftPool":"initial","series":17},{"effectId":"enemyeffect_17_5","name":"悬赏·特异II","desc":"为自身接下来两场作战添加1只水遁忍者,将其击倒者获得2资金","tier":2,"coin":2,"payout":"kill","rounds":2,"multiRound":false,"enemyKey":"enemy_10116_ymgtop","count":1,"adds":[{"enemyKey":"enemy_10116_ymgtop","count":1,"coin":2,"rounds":2,"payout":"kill","buffKey":"add_enemy_kill_gain_coin"}],"draft":true,"draftExcluded":null,"draftPool":"initial","series":17},{"effectId":"enemyeffect_17_6","name":"悬赏·特异III","desc":"为自身接下来两场作战添加1只自制投石机,将其击倒者获得3资金","tier":3,"coin":3,"payout":"kill","rounds":2,"multiRound":false,"enemyKey":"enemy_10162_mnctpt","count":1,"adds":[{"enemyKey":"enemy_10162_mnctpt","count":1,"coin":3,"rounds":2,"payout":"kill","buffKey":"add_enemy_kill_gain_coin"}],"draft":true,"draftExcluded":null,"draftPool":"initial","series":17},{"effectId":"enemyeffect_18_1","name":"悬赏·损伤I","desc":"为自身接下来两场作战添加1只临时收音师,将其击倒者获得1资金","tier":1,"coin":1,"payout":"kill","rounds":2,"multiRound":false,"enemyKey":"enemy_10094_crstf","count":1,"adds":[{"enemyKey":"enemy_10094_crstf","count":1,"coin":1,"rounds":2,"payout":"kill","buffKey":"add_enemy_kill_gain_coin"}],"draft":true,"draftExcluded":null,"draftPool":"initial","series":18},{"effectId":"enemyeffect_18_2","name":"悬赏·特异I","desc":"为自身接下来两场作战添加1只迷茫的修理小助手,将其击倒者获得1资金","tier":1,"coin":1,"payout":"kill","rounds":2,"multiRound":false,"enemyKey":"enemy_10073_mpcar","count":1,"adds":[{"enemyKey":"enemy_10073_mpcar","count":1,"coin":1,"rounds":2,"payout":"kill","buffKey":"add_enemy_kill_gain_coin"}],"draft":true,"draftExcluded":null,"draftPool":"initial","series":18},{"effectId":"enemyeffect_18_3","name":"悬赏·特异I","desc":"为自身接下来两场作战添加1只高能源石虫,将其击倒者获得1资金","tier":1,"coin":1,"payout":"kill","rounds":2,"multiRound":false,"enemyKey":"enemy_1021_bslime","count":1,"adds":[{"enemyKey":"enemy_1021_bslime","count":1,"coin":1,"rounds":2,"payout":"kill","buffKey":"add_enemy_kill_gain_coin"}],"draft":true,"draftExcluded":null,"draftPool":"initial","series":18},{"effectId":"enemyeffect_18_4","name":"悬赏·特异II","desc":"为自身接下来两场作战添加1只圣堂剑士,将其击倒者获得2资金","tier":2,"coin":2,"payout":"kill","rounds":2,"multiRound":false,"enemyKey":"enemy_10087_hlchgr","count":1,"adds":[{"enemyKey":"enemy_10087_hlchgr","count":1,"coin":2,"rounds":2,"payout":"kill","buffKey":"add_enemy_kill_gain_coin"}],"draft":true,"draftExcluded":null,"draftPool":"initial","series":18},{"effectId":"enemyeffect_18_5","name":"悬赏·特异II","desc":"为自身接下来两场作战添加1只寻仇者,将其击倒者获得2资金","tier":2,"coin":2,"payout":"kill","rounds":2,"multiRound":false,"enemyKey":"enemy_1025_reveng","count":1,"adds":[{"enemyKey":"enemy_1025_reveng","count":1,"coin":2,"rounds":2,"payout":"kill","buffKey":"add_enemy_kill_gain_coin"}],"draft":true,"draftExcluded":null,"draftPool":"initial","series":18},{"effectId":"enemyeffect_18_6","name":"悬赏·损伤III","desc":"为自身接下来两场作战添加1只主角阵营角色,将其击倒者获得3资金","tier":3,"coin":3,"payout":"kill","rounds":2,"multiRound":false,"enemyKey":"enemy_10098_crhro","count":1,"adds":[{"enemyKey":"enemy_10098_crhro","count":1,"coin":3,"rounds":2,"payout":"kill","buffKey":"add_enemy_kill_gain_coin"}],"draft":true,"draftExcluded":null,"draftPool":"initial","series":18},{"effectId":"enemyeffect_19_1","name":"悬赏·特异I","desc":"为自身接下来两场作战添加1只节日气球,将其击倒者获得1资金","tier":1,"coin":1,"payout":"kill","rounds":2,"multiRound":false,"enemyKey":"enemy_10040_cnvbln","count":1,"adds":[{"enemyKey":"enemy_10040_cnvbln","count":1,"coin":1,"rounds":2,"payout":"kill","buffKey":"add_enemy_kill_gain_coin"}],"draft":true,"draftExcluded":null,"draftPool":"initial","series":19},{"effectId":"enemyeffect_19_2","name":"悬赏·特异I","desc":"为自身接下来两场作战添加1只简饲源石虫,将其击倒者获得1资金","tier":1,"coin":1,"payout":"kill","rounds":2,"multiRound":false,"enemyKey":"enemy_10001_trslim","count":1,"adds":[{"enemyKey":"enemy_10001_trslim","count":1,"coin":1,"rounds":2,"payout":"kill","buffKey":"add_enemy_kill_gain_coin"}],"draft":true,"draftExcluded":null,"draftPool":"initial","series":19},{"effectId":"enemyeffect_19_3","name":"悬赏·折射I","desc":"为自身接下来两场作战添加1只深池侦察犬pro,将其击倒者获得1资金","tier":1,"coin":1,"payout":"kill","rounds":2,"multiRound":false,"enemyKey":"enemy_1165_duhond_2","count":1,"adds":[{"enemyKey":"enemy_1165_duhond_2","count":1,"coin":1,"rounds":2,"payout":"kill","buffKey":"add_enemy_kill_gain_coin"}],"draft":true,"draftExcluded":null,"draftPool":"initial","series":19},{"effectId":"enemyeffect_19_4","name":"悬赏·飞行II","desc":"为自身接下来两场作战添加1只吉兆飞鳞,将其击倒者获得2资金","tier":2,"coin":2,"payout":"kill","rounds":2,"multiRound":false,"enemyKey":"enemy_10045_parrot","count":1,"adds":[{"enemyKey":"enemy_10045_parrot","count":1,"coin":2,"rounds":2,"payout":"kill","buffKey":"add_enemy_kill_gain_coin"}],"draft":true,"draftExcluded":null,"draftPool":"initial","series":19},{"effectId":"enemyeffect_19_5","name":"悬赏·特异II","desc":"为自身接下来两场作战添加1只咸鳞汁推荐者,将其击倒者获得2资金","tier":2,"coin":2,"payout":"kill","rounds":2,"multiRound":false,"enemyKey":"enemy_10044_wintun","count":1,"adds":[{"enemyKey":"enemy_10044_wintun","count":1,"coin":2,"rounds":2,"payout":"kill","buffKey":"add_enemy_kill_gain_coin"}],"draft":true,"draftExcluded":null,"draftPool":"initial","series":19},{"effectId":"enemyeffect_19_6","name":"悬赏·损伤III","desc":"为自身接下来两场作战添加1只反派阵营角色,将其击倒者获得3资金","tier":3,"coin":3,"payout":"kill","rounds":2,"multiRound":false,"enemyKey":"enemy_10099_crvln","count":1,"adds":[{"enemyKey":"enemy_10099_crvln","count":1,"coin":3,"rounds":2,"payout":"kill","buffKey":"add_enemy_kill_gain_coin"}],"draft":true,"draftExcluded":null,"draftPool":"initial","series":19},{"effectId":"enemyeffect_20_1","name":"悬赏·持续I","desc":"为自身接下来两场作战添加1只萨卡兹枯朽战士,将其击倒者获得1资金","tier":1,"coin":1,"payout":"kill","rounds":2,"multiRound":false,"enemyKey":"enemy_1267_nhpbr","count":1,"adds":[{"enemyKey":"enemy_1267_nhpbr","count":1,"coin":1,"rounds":2,"payout":"kill","buffKey":"add_enemy_kill_gain_coin"}],"draft":true,"draftExcluded":null,"draftPool":"initial","series":20},{"effectId":"enemyeffect_20_2","name":"悬赏·频次I","desc":"为自身接下来两场作战添加1只俗心,将其击倒者获得1资金","tier":1,"coin":1,"payout":"kill","rounds":2,"multiRound":false,"enemyKey":"enemy_1197_sfshu","count":1,"adds":[{"enemyKey":"enemy_1197_sfshu","count":1,"coin":1,"rounds":2,"payout":"kill","buffKey":"add_enemy_kill_gain_coin"}],"draft":true,"draftExcluded":null,"draftPool":"initial","series":20},{"effectId":"enemyeffect_20_3","name":"悬赏·特异I","desc":"为自身接下来两场作战添加1只潜伏者,将其击倒者获得1资金","tier":1,"coin":1,"payout":"kill","rounds":2,"multiRound":false,"enemyKey":"enemy_1009_lurker","count":1,"adds":[{"enemyKey":"enemy_1009_lurker","count":1,"coin":1,"rounds":2,"payout":"kill","buffKey":"add_enemy_kill_gain_coin"}],"draft":true,"draftExcluded":null,"draftPool":"initial","series":20},{"effectId":"enemyeffect_20_4","name":"悬赏·特异II","desc":"为自身接下来两场作战添加1只“独轮车玩具”,将其击倒者获得2资金","tier":2,"coin":2,"payout":"kill","rounds":2,"multiRound":false,"enemyKey":"enemy_10018_sgrobh","count":1,"adds":[{"enemyKey":"enemy_10018_sgrobh","count":1,"coin":2,"rounds":2,"payout":"kill","buffKey":"add_enemy_kill_gain_coin"}],"draft":true,"draftExcluded":null,"draftPool":"initial","series":20},{"effectId":"enemyeffect_20_5","name":"悬赏·损伤II","desc":"为自身接下来两场作战添加1只无胄盟清扫小队,将其击倒者获得2资金","tier":2,"coin":2,"payout":"kill","rounds":2,"multiRound":false,"enemyKey":"enemy_1183_mlasrt","count":1,"adds":[{"enemyKey":"enemy_1183_mlasrt","count":1,"coin":2,"rounds":2,"payout":"kill","buffKey":"add_enemy_kill_gain_coin"}],"draft":true,"draftExcluded":null,"draftPool":"initial","series":20},{"effectId":"enemyeffect_20_6","name":"悬赏·损伤III","desc":"为自身接下来两场作战添加1只鼎沸,将其击倒者获得3资金","tier":3,"coin":3,"payout":"kill","rounds":2,"multiRound":false,"enemyKey":"enemy_10054_cjhot","count":1,"adds":[{"enemyKey":"enemy_10054_cjhot","count":1,"coin":3,"rounds":2,"payout":"kill","buffKey":"add_enemy_kill_gain_coin"}],"draft":true,"draftExcluded":null,"draftPool":"initial","series":20},{"effectId":"enemyeffect_b_1","name":"碎骨·悬赏","desc":"为自身下场作战添加1个碎骨,将其击倒者获得1资金","tier":1,"coin":1,"payout":"kill","rounds":1,"multiRound":false,"enemyKey":"enemy_1500_skulsr","count":1,"adds":[{"enemyKey":"enemy_1500_skulsr","count":1,"coin":1,"rounds":1,"payout":"kill","buffKey":"add_enemy_kill_gain_coin"}],"draft":true,"draftExcluded":null,"draftPool":"boss","series":null},{"effectId":"enemyeffect_b_2","name":"萨卡兹百夫长·悬赏","desc":"为自身下场作战添加1个萨卡兹百夫长,将其击倒者获得2资金","tier":2,"coin":2,"payout":"kill","rounds":1,"multiRound":false,"enemyKey":"enemy_1501_demonk","count":1,"adds":[{"enemyKey":"enemy_1501_demonk","count":1,"coin":2,"rounds":1,"payout":"kill","buffKey":"add_enemy_kill_gain_coin"}],"draft":true,"draftExcluded":null,"draftPool":"boss","series":null},{"effectId":"enemyeffect_b_3","name":"弑君者·悬赏","desc":"为自身下场作战添加1个弑君者,将其击倒者获得1资金","tier":1,"coin":1,"payout":"kill","rounds":1,"multiRound":false,"enemyKey":"enemy_1502_crowns","count":1,"adds":[{"enemyKey":"enemy_1502_crowns","count":1,"coin":1,"rounds":1,"payout":"kill","buffKey":"add_enemy_kill_gain_coin"}],"draft":true,"draftExcluded":null,"draftPool":"boss","series":null},{"effectId":"enemyeffect_b_4","name":"泥岩·悬赏","desc":"为自身下场作战添加1个泥岩,将其击倒者获得4资金","tier":3,"coin":4,"payout":"kill","rounds":1,"multiRound":false,"enemyKey":"enemy_1511_mdrock","count":1,"adds":[{"enemyKey":"enemy_1511_mdrock","count":1,"coin":4,"rounds":1,"payout":"kill","buffKey":"add_enemy_kill_gain_coin"}],"draft":true,"draftExcluded":null,"draftPool":"boss","series":null},{"effectId":"enemyeffect_b_5","name":"腐败骑士·悬赏","desc":"为自身下场作战添加1个腐败骑士,将其击倒者获得3资金","tier":3,"coin":3,"payout":"kill","rounds":1,"multiRound":false,"enemyKey":"enemy_1513_dekght","count":1,"adds":[{"enemyKey":"enemy_1513_dekght","count":1,"coin":3,"rounds":1,"payout":"kill","buffKey":"add_enemy_kill_gain_coin"}],"draft":true,"draftExcluded":null,"draftPool":"boss","series":null},{"effectId":"enemyeffect_b_6","name":"凋零骑士·悬赏","desc":"为自身下场作战添加1个凋零骑士,将其击倒者获得3资金","tier":3,"coin":3,"payout":"kill","rounds":1,"multiRound":false,"enemyKey":"enemy_1513_dekght_2","count":1,"adds":[{"enemyKey":"enemy_1513_dekght_2","count":1,"coin":3,"rounds":1,"payout":"kill","buffKey":"add_enemy_kill_gain_coin"}],"draft":false,"draftExcluded":"unseen","draftPool":null,"series":null},{"effectId":"enemyeffect_b_7","name":"“遗弃者”·悬赏","desc":"为自身下场作战添加1个“遗弃者”,将其击倒者获得4资金","tier":3,"coin":4,"payout":"kill","rounds":1,"multiRound":false,"enemyKey":"enemy_2005_axetro","count":1,"adds":[{"enemyKey":"enemy_2005_axetro","count":1,"coin":4,"rounds":1,"payout":"kill","buffKey":"add_enemy_kill_gain_coin"}],"draft":false,"draftExcluded":"unseen","draftPool":null,"series":null},{"effectId":"enemyeffect_b_8","name":"喷气人·悬赏","desc":"为自身下场作战添加1个喷气人,将其击倒者获得3资金","tier":3,"coin":3,"payout":"kill","rounds":1,"multiRound":false,"enemyKey":"enemy_2004_balloon","count":1,"adds":[{"enemyKey":"enemy_2004_balloon","count":1,"coin":3,"rounds":1,"payout":"kill","buffKey":"add_enemy_kill_gain_coin"}],"draft":true,"draftExcluded":null,"draftPool":"boss","series":null},{"effectId":"enemyeffect_b_9","name":"杰斯顿·威廉姆斯·悬赏","desc":"为自身下场作战添加1个杰斯顿·威廉姆斯,将其击倒者获得4资金","tier":3,"coin":4,"payout":"kill","rounds":1,"multiRound":false,"enemyKey":"enemy_1516_jakill","count":1,"adds":[{"enemyKey":"enemy_1516_jakill","count":1,"coin":4,"rounds":1,"payout":"kill","buffKey":"add_enemy_kill_gain_coin"}],"draft":true,"draftExcluded":null,"draftPool":"boss","series":null},{"effectId":"enemyeffect_b_10","name":"W·悬赏","desc":"为自身下场作战添加1个W,将其击倒者获得1资金","tier":1,"coin":1,"payout":"kill","rounds":1,"multiRound":false,"enemyKey":"enemy_1504_cqbw","count":1,"adds":[{"enemyKey":"enemy_1504_cqbw","count":1,"coin":1,"rounds":1,"payout":"kill","buffKey":"add_enemy_kill_gain_coin"}],"draft":true,"draftExcluded":null,"draftPool":"boss","series":null},{"effectId":"enemyeffect_b_11","name":"“鼠王”·悬赏","desc":"为自身下场作战添加1个“鼠王”,将其击倒者获得2资金","tier":2,"coin":2,"payout":"kill","rounds":1,"multiRound":false,"enemyKey":"enemy_1509_mousek","count":1,"adds":[{"enemyKey":"enemy_1509_mousek","count":1,"coin":2,"rounds":1,"payout":"kill","buffKey":"add_enemy_kill_gain_coin"}],"draft":true,"draftExcluded":null,"draftPool":"boss","series":null},{"effectId":"enemyeffect_b_12","name":"“庞贝”·悬赏","desc":"为自身下场作战添加1个“庞贝”,将其击倒者获得2资金","tier":2,"coin":2,"payout":"kill","rounds":1,"multiRound":false,"enemyKey":"enemy_1050_lslime","count":1,"adds":[{"enemyKey":"enemy_1050_lslime","count":1,"coin":2,"rounds":1,"payout":"kill","buffKey":"add_enemy_kill_gain_coin"}],"draft":true,"draftExcluded":null,"draftPool":"boss","series":null},{"effectId":"enemyeffect_b_13","name":"大鲍勃·悬赏","desc":"为自身下场作战添加1个大鲍勃,将其击倒者获得2资金","tier":2,"coin":2,"payout":"kill","rounds":1,"multiRound":false,"enemyKey":"enemy_1001_bigbo","count":1,"adds":[{"enemyKey":"enemy_1001_bigbo","count":1,"coin":2,"rounds":1,"payout":"kill","buffKey":"add_enemy_kill_gain_coin"}],"draft":true,"draftExcluded":null,"draftPool":"boss","series":null},{"effectId":"enemyeffect_b_14","name":"“自在”·悬赏","desc":"为自身下场作战添加1个“自在”,将其击倒者获得4资金","tier":3,"coin":4,"payout":"kill","rounds":1,"multiRound":false,"enemyKey":"enemy_1517_xi","count":1,"adds":[{"enemyKey":"enemy_1517_xi","count":1,"coin":4,"rounds":1,"payout":"kill","buffKey":"add_enemy_kill_gain_coin"}],"draft":true,"draftExcluded":null,"draftPool":"boss","series":null},{"effectId":"enemyeffect_b_15","name":"锏·悬赏","desc":"为自身下场作战添加1个锏,将其击倒者获得5资金","tier":3,"coin":5,"payout":"kill","rounds":1,"multiRound":false,"enemyKey":"enemy_1525_blkswb","count":1,"adds":[{"enemyKey":"enemy_1525_blkswb","count":1,"coin":5,"rounds":1,"payout":"kill","buffKey":"add_enemy_kill_gain_coin"}],"draft":false,"draftExcluded":"unseen","draftPool":null,"series":null},{"effectId":"enemyeffect_b_16","name":"扎罗,“狼之主”·悬赏","desc":"为自身下场作战添加1个扎罗,“狼之主”,将其击倒者获得5资金","tier":3,"coin":5,"payout":"kill","rounds":1,"multiRound":false,"enemyKey":"enemy_1535_wlfmster","count":1,"adds":[{"enemyKey":"enemy_1535_wlfmster","count":1,"coin":5,"rounds":1,"payout":"kill","buffKey":"add_enemy_kill_gain_coin"}],"draft":false,"draftExcluded":"unseen","draftPool":null,"series":null},{"effectId":"enemyeffect_b_17","name":"“墓碑”·悬赏","desc":"为自身下场作战添加1个“墓碑”,将其击倒者获得4资金","tier":3,"coin":4,"payout":"kill","rounds":1,"multiRound":false,"enemyKey":"enemy_2008_flking","count":1,"adds":[{"enemyKey":"enemy_2008_flking","count":1,"coin":4,"rounds":1,"payout":"kill","buffKey":"add_enemy_kill_gain_coin"}],"draft":true,"draftExcluded":null,"draftPool":"boss","series":null},{"effectId":"enemyeffect_b_18","name":"迷路的巨像·悬赏","desc":"为自身下场作战添加1个迷路的巨像,将其击倒者获得5资金","tier":3,"coin":5,"payout":"kill","rounds":1,"multiRound":false,"enemyKey":"enemy_2003_rockman","count":1,"adds":[{"enemyKey":"enemy_2003_rockman","count":1,"coin":5,"rounds":1,"payout":"kill","buffKey":"add_enemy_kill_gain_coin"}],"draft":false,"draftExcluded":"unseen","draftPool":null,"series":null},{"effectId":"enemyeffect_b_19","name":"澪·悬赏","desc":"为自身下场作战添加1个澪,将其击倒者获得3资金","tier":3,"coin":3,"payout":"kill","rounds":1,"multiRound":false,"enemyKey":"enemy_10118_ymgprc","count":1,"adds":[{"enemyKey":"enemy_10118_ymgprc","count":1,"coin":3,"rounds":1,"payout":"kill","buffKey":"add_enemy_kill_gain_coin"}],"draft":true,"draftExcluded":null,"draftPool":"boss","series":null},{"effectId":"enemyeffect_b_20","name":"“巨大的丑东西”·悬赏","desc":"为自身下场作战添加1个“巨大的丑东西”,将其击倒者获得5资金","tier":3,"coin":5,"payout":"kill","rounds":1,"multiRound":false,"enemyKey":"enemy_1512_mcmstr","count":1,"adds":[{"enemyKey":"enemy_1512_mcmstr","count":1,"coin":5,"rounds":1,"payout":"kill","buffKey":"add_enemy_kill_gain_coin"}],"draft":true,"draftExcluded":null,"draftPool":"boss","series":null},{"effectId":"enemyeffect_b_21","name":"“复仇者”·悬赏","desc":"为自身下场作战添加1个“复仇者”,将其击倒者获得6资金","tier":3,"coin":6,"payout":"kill","rounds":1,"multiRound":false,"enemyKey":"enemy_1539_reid","count":1,"adds":[{"enemyKey":"enemy_1539_reid","count":1,"coin":6,"rounds":1,"payout":"kill","buffKey":"add_enemy_kill_gain_coin"}],"draft":true,"draftExcluded":null,"draftPool":"boss","series":null},{"effectId":"enemyeffect_b_22","name":"“邪魔的利刃”·悬赏","desc":"为自身下场作战添加1个“邪魔的利刃”,将其击倒者获得3资金","tier":3,"coin":3,"payout":"kill","rounds":1,"multiRound":false,"enemyKey":"enemy_2048_smgrd","count":1,"adds":[{"enemyKey":"enemy_2048_smgrd","count":1,"coin":3,"rounds":1,"payout":"kill","buffKey":"add_enemy_kill_gain_coin"}],"draft":true,"draftExcluded":null,"draftPool":"boss","series":null},{"effectId":"enemyeffect_b_23","name":"陷落雪祀·悬赏","desc":"为自身下场作战添加1个陷落雪祀,将其击倒者获得3资金","tier":3,"coin":3,"payout":"kill","rounds":1,"multiRound":false,"enemyKey":"enemy_2050_smsha","count":1,"adds":[{"enemyKey":"enemy_2050_smsha","count":1,"coin":3,"rounds":1,"payout":"kill","buffKey":"add_enemy_kill_gain_coin"}],"draft":true,"draftExcluded":null,"draftPool":"boss","series":null},{"effectId":"enemyeffect_b_24","name":"纠缠藤蔓·悬赏","desc":"为自身下场作战添加1个纠缠藤蔓,将其击倒者获得3资金","tier":3,"coin":3,"payout":"kill","rounds":1,"multiRound":false,"enemyKey":"enemy_2052_smgia","count":1,"adds":[{"enemyKey":"enemy_2052_smgia","count":1,"coin":3,"rounds":1,"payout":"kill","buffKey":"add_enemy_kill_gain_coin"}],"draft":true,"draftExcluded":null,"draftPool":"boss","series":null},{"effectId":"enemyInitial_1","name":"多轮悬赏 · 假想敌:蚀裂","desc":"后续每场作战添加1只假想敌:蚀裂(被击倒时造成持续伤害),击倒它的你或队友获得1资金","tier":2,"coin":1,"payout":"kill","rounds":99,"multiRound":true,"enemyKey":"enemy_9006_actoxi","count":1,"adds":[{"enemyKey":"enemy_9006_actoxi","count":1,"coin":1,"rounds":99,"payout":"kill","buffKey":"add_enemy_kill_gain_coin"}],"draft":false,"draftExcluded":"unseen","draftPool":null,"series":null},{"effectId":"enemyInitial_2","name":"多轮悬赏 · 假想敌:淤困","desc":"后续每场作战添加1只假想敌:淤困(可造成元素损伤),击倒它的你或队友获得1资金","tier":2,"coin":1,"payout":"kill","rounds":99,"multiRound":true,"enemyKey":"enemy_9007_acelem","count":1,"adds":[{"enemyKey":"enemy_9007_acelem","count":1,"coin":1,"rounds":99,"payout":"kill","buffKey":"add_enemy_kill_gain_coin"}],"draft":false,"draftExcluded":"unseen","draftPool":null,"series":null},{"effectId":"enemyInitial_3","name":"多轮悬赏 · 假想敌:骨刺","desc":"后续每场作战添加1只假想敌:骨刺(拥有隐匿),击倒它的你或队友获得1资金","tier":2,"coin":1,"payout":"kill","rounds":99,"multiRound":true,"enemyKey":"enemy_9008_acbunn","count":1,"adds":[{"enemyKey":"enemy_9008_acbunn","count":1,"coin":1,"rounds":99,"payout":"kill","buffKey":"add_enemy_kill_gain_coin"}],"draft":false,"draftExcluded":"unseen","draftPool":null,"series":null},{"effectId":"enemyInitial_4","name":"多轮悬赏 · 假想敌:黑云","desc":"后续每场作战添加1只假想敌:黑云(空中敌人),击倒它的你或队友获得1资金","tier":2,"coin":1,"payout":"kill","rounds":99,"multiRound":true,"enemyKey":"enemy_9009_acfort","count":1,"adds":[{"enemyKey":"enemy_9009_acfort","count":1,"coin":1,"rounds":99,"payout":"kill","buffKey":"add_enemy_kill_gain_coin"}],"draft":false,"draftExcluded":"unseen","draftPool":null,"series":null},{"effectId":"enemyInitial_5","name":"多轮悬赏 · 假想敌:再生","desc":"后续每场作战添加1只假想敌:再生(需要一定攻击次数击破),击倒它的你或队友获得1资金","tier":2,"coin":1,"payout":"kill","rounds":99,"multiRound":true,"enemyKey":"enemy_9010_acpupp","count":1,"adds":[{"enemyKey":"enemy_9010_acpupp","count":1,"coin":1,"rounds":99,"payout":"kill","buffKey":"add_enemy_kill_gain_coin"}],"draft":false,"draftExcluded":"unseen","draftPool":null,"series":null},{"effectId":"enemyInitial_6","name":"多轮悬赏 · 假想敌:镜膜","desc":"后续每场作战添加1只假想敌:镜膜(拥有折射),击倒它的你或队友获得1资金","tier":2,"coin":1,"payout":"kill","rounds":99,"multiRound":true,"enemyKey":"enemy_9011_acrefr","count":1,"adds":[{"enemyKey":"enemy_9011_acrefr","count":1,"coin":1,"rounds":99,"payout":"kill","buffKey":"add_enemy_kill_gain_coin"}],"draft":false,"draftExcluded":"unseen","draftPool":null,"series":null}],"tactic":[{"effectId":"allybuff_select_1","name":"列装","desc":"你获得2件随机1阶装备,若存在其他队友则他们也获得","kind":"ally","stageId":null,"team":true},{"effectId":"allybuff_select_2_1","name":"斯卡蒂的盟誓","desc":"你的阿戈尔、突袭和坚守盟约层数+8,若存在其他队友则他们也获得","kind":"ally","stageId":null,"team":true},{"effectId":"allybuff_select_2_2","name":"诗怀雅的盟誓","desc":"你的炎和投资人盟约层数+10,若存在其他队友则他们也获得","kind":"ally","stageId":null,"team":true},{"effectId":"allybuff_select_2_3","name":"风笛的盟誓","desc":"你的维多利亚、远见和不屈盟约层数+8,若存在其他队友则他们也获得","kind":"ally","stageId":null,"team":true},{"effectId":"allybuff_select_2_4","name":"银灰的盟誓","desc":"你的谢拉格、投资人、迅捷盟约层数+8,若存在其他队友则他们也获得","kind":"ally","stageId":null,"team":true},{"effectId":"allybuff_select_2_5","name":"莫斯提马的盟誓","desc":"你的拉特兰、奥术盟约层数+10,若存在其他队友则他们也获得","kind":"ally","stageId":null,"team":true},{"effectId":"allybuff_select_2_6","name":"缇缇的盟誓","desc":"你的萨尔贡、精准盟约层数+10,若存在其他队友则他们也获得","kind":"ally","stageId":null,"team":true},{"effectId":"allybuff_select_2_7","name":"玛恩纳的盟誓","desc":"你的卡西米尔盟约层数+12,若存在其他队友则他们也获得","kind":"ally","stageId":null,"team":true},{"effectId":"allybuff_select_2_8","name":"德克萨斯的盟誓","desc":"你的叙拉古、突袭盟约层数+10,若存在其他队友则他们也获得","kind":"ally","stageId":null,"team":true},{"effectId":"allybuff_select_3","name":"财富","desc":"你获得1资金,若存在其他队友则他们也获得","kind":"ally","stageId":null,"team":true},{"effectId":"allybuff_select_4","name":"补给","desc":"你接下来的2次刷新变为免费(可叠加),若存在其他队友则他们也获得","kind":"ally","stageId":null,"team":true},{"effectId":"allybuff_select_5","name":"整备","desc":"你接下来购买的1件装备变为进阶品质","kind":"ally","stageId":null,"team":false},{"effectId":"allybuff_select_6","name":"升华","desc":"你接下来购买的1名干员变为精锐状态","kind":"ally","stageId":null,"team":false},{"effectId":"allybuff_select_7_1","name":"炎盟约驰援","desc":"你获得1名炎盟约的随机干员棋子","kind":"ally","stageId":null,"team":false},{"effectId":"allybuff_select_7_2","name":"谢拉格驰援","desc":"你获得1名谢拉格盟约的随机干员棋子","kind":"ally","stageId":null,"team":false},{"effectId":"allybuff_select_7_3","name":"萨尔贡驰援","desc":"你获得1名萨尔贡盟约的随机干员棋子","kind":"ally","stageId":null,"team":false},{"effectId":"allybuff_select_7_4","name":"叙拉古驰援","desc":"你获得1名叙拉古盟约的随机干员棋子","kind":"ally","stageId":null,"team":false},{"effectId":"allybuff_select_7_5","name":"卡西米尔驰援","desc":"你获得1名卡西米尔盟约的随机干员棋子","kind":"ally","stageId":null,"team":false},{"effectId":"allybuff_select_7_6","name":"拉特兰驰援","desc":"你获得1名拉特兰盟约的随机干员棋子","kind":"ally","stageId":null,"team":false},{"effectId":"allybuff_select_7_7","name":"维多利亚驰援","desc":"你获得1名维多利亚盟约的随机干员棋子","kind":"ally","stageId":null,"team":false},{"effectId":"allybuff_select_7_8","name":"阿戈尔驰援","desc":"你获得1名阿戈尔盟约的随机干员棋子","kind":"ally","stageId":null,"team":false},{"effectId":"allybuff_select_11","name":"自愈","desc":"你获得:我方单位每次受到伤害时回复50点生命值;若存在其他队友则他们也获得此效果","kind":"ally","stageId":null,"team":true},{"effectId":"allybuff_select_13","name":"火力","desc":"你获得:休整期结束时若手牌区至少有3个单位,我方所有干员无视敌人20法术抗性;若存在其他队友则他们也获得此效果","kind":"ally","stageId":null,"team":true},{"effectId":"allybuff_select_14","name":"征召","desc":"你获得:开始作战时若场上至少有一行存在3名干员,所有干员的再部署时间-50%;若存在其他队友则他们也获得此效果","kind":"ally","stageId":null,"team":true},{"effectId":"allybuff_select_18","name":"无瑕","desc":"你获得:干员在生命值为满时,攻击力、防御力+30%;若存在其他队友则他们也获得此效果","kind":"ally","stageId":null,"team":true},{"effectId":"allybuff_select_19","name":"锐利","desc":"你获得:休整期结束时若手牌区为空,我方所有干员无视敌人30%的防御力;若存在其他队友则他们也获得此效果","kind":"ally","stageId":null,"team":true},{"effectId":"enemydebuff_select_1","name":"排斥:乏力","desc":"全部敌人获得减益效果:攻击力-5%","kind":"enemyDebuff","stageId":null,"team":false},{"effectId":"enemydebuff_select_2","name":"排斥:脆弱","desc":"全部敌人获得减益效果:防御力-100","kind":"enemyDebuff","stageId":null,"team":false},{"effectId":"enemydebuff_select_3","name":"排斥:致幻","desc":"全部敌人获得减益效果:法术抗性-3","kind":"enemyDebuff","stageId":null,"team":false},{"effectId":"enemydebuff_select_4","name":"责罚:乏力","desc":"精英敌人获得减益效果:攻击力-6%","kind":"enemyDebuff","stageId":null,"team":false},{"effectId":"enemydebuff_select_5","name":"责罚:脆弱","desc":"精英敌人获得减益效果:防御力-150","kind":"enemyDebuff","stageId":null,"team":false},{"effectId":"enemydebuff_select_6","name":"责罚:致幻","desc":"精英敌人获得减益效果:法术抗性-5","kind":"enemyDebuff","stageId":null,"team":false},{"effectId":"enemydebuff_select_7","name":"裁决:乏力","desc":"领袖敌人获得减益效果:攻击力-7%","kind":"enemyDebuff","stageId":null,"team":false},{"effectId":"enemydebuff_select_8","name":"裁决:脆弱","desc":"领袖敌人获得减益效果:防御力-200","kind":"enemyDebuff","stageId":null,"team":false},{"effectId":"enemydebuff_select_9","name":"裁决:致幻","desc":"领袖敌人获得减益效果:法术抗性-7","kind":"enemyDebuff","stageId":null,"team":false},{"effectId":"map_m01_1","name":"模拟战场演变·模式一","desc":"移除场地上全部阻隔工事","kind":"terrain","stageId":"act1autochess_m01","team":false},{"effectId":"map_m02_1","name":"模拟战场演变·模式二","desc":"场地上全部阻隔工事变为射击台","kind":"terrain","stageId":"act1autochess_m02","team":false},{"effectId":"map_m02_2","name":"模拟战场演变·模式三","desc":"移除场地上全部阻隔工事","kind":"terrain","stageId":"act1autochess_m02","team":false},{"effectId":"map_m03_1","name":"模拟战场演变·模式四","desc":"移除场地左侧的阻隔工事","kind":"terrain","stageId":"act1autochess_m03","team":false},{"effectId":"map_m03_2","name":"模拟战场演变·模式五","desc":"场地右侧的射击台变为可以部署高台干员和地面干员的地面","kind":"terrain","stageId":"act1autochess_m03","team":false},{"effectId":"map_m04_1","name":"模拟战场演变·模式六","desc":"移除场地上全部阻隔工事","kind":"terrain","stageId":"act1autochess_m04","team":false},{"effectId":"map_m06_1","name":"模拟战场演变·模式八","desc":"场地中的沙尘暴停止","kind":"terrain","stageId":"act1autochess_m06","team":false},{"effectId":"map_m07_1","name":"模拟战场演变·模式九","desc":"场上的树丛全部消失","kind":"terrain","stageId":"act1autochess_m07","team":false}]},"bountyDrafts":{"initial":{"events":["enemy_initial_1","enemy_initial_2","enemy_initial_3","enemy_initial_4","enemy_initial_5","enemy_initial_6","enemy_initial_7","enemy_initial_8","enemy_initial_9","enemy_initial_10"],"slots":10,"pick":"slot","groups":[{"cards":["enemyeffect_18_1","enemyeffect_18_2","enemyeffect_18_3","enemyeffect_18_4","enemyeffect_18_5","enemyeffect_18_6"],"seen":[1,3,5,9,17]},{"cards":["enemyeffect_19_1","enemyeffect_19_2","enemyeffect_19_3","enemyeffect_19_4","enemyeffect_19_5","enemyeffect_19_6"],"seen":[2,15,22]},{"cards":["enemyeffect_17_1","enemyeffect_17_2","enemyeffect_17_3","enemyeffect_17_4","enemyeffect_17_5","enemyeffect_17_6"],"seen":[7,14]},{"cards":["enemyeffect_10_5","enemyeffect_11_4","enemyeffect_12_5","enemyeffect_13_6","enemyeffect_15_4","enemyeffect_20_3"],"seen":[4,10,16]},{"cards":["enemyeffect_10_4","enemyeffect_11_5","enemyeffect_12_6","enemyeffect_14_4","enemyeffect_15_5","enemyeffect_20_2"],"seen":[6,18]},{"cards":["enemyeffect_10_4","enemyeffect_11_5","enemyeffect_12_4","enemyeffect_14_6","enemyeffect_15_4","enemyeffect_20_4"],"seen":[8]},{"cards":["enemyeffect_10_4","enemyeffect_11_6","enemyeffect_12_4","enemyeffect_13_4","enemyeffect_14_5","enemyeffect_15_5"],"seen":[11,20]},{"cards":["enemyeffect_10_4","enemyeffect_11_4","enemyeffect_12_5","enemyeffect_15_6","enemyeffect_20_1","enemyeffect_20_5"],"seen":[12]},{"cards":["enemyeffect_11_4","enemyeffect_12_4","enemyeffect_13_5","enemyeffect_14_4","enemyeffect_15_5","enemyeffect_17_6"],"seen":[13,19,21]}],"rule":{"series":[10,11,12,13,14,15,20],"tiers":[1,1,1,2,2,3],"perSeries":2,"prefer":["enemyeffect_10_6","enemyeffect_20_6"]},"count":6,"assumed":["a uniform pick among the 10 events","the unseen 10th set built by `rule`","险境 R6 drafts like R3"]},"boss":{"events":["bossInitial_1","bossInitial_2","bossInitial_3","bossInitial_4","bossInitial_5","bossInitial_6"],"slots":6,"pick":"seen","groups":[{"cards":["enemyeffect_b_10","enemyeffect_b_1","enemyeffect_b_3","enemyeffect_b_13","enemyeffect_5_1","enemyeffect_b_11","enemyeffect_b_9","enemyeffect_b_14","enemyeffect_b_23"],"seen":[7,8,9,10,11,12,13,14,15,16,17,18,19,21],"weights":[12,13,12,12,11,5,13,8,7]},{"cards":["enemyeffect_b_10","enemyeffect_b_1","enemyeffect_b_3","enemyeffect_b_13","enemyeffect_b_12","enemyeffect_5_1","enemyeffect_b_8","enemyeffect_b_24","enemyeffect_b_19"],"seen":[1,5,22],"weights":[4,2,2,4,2,3,4,4,2]},{"cards":["enemyeffect_b_10","enemyeffect_b_1","enemyeffect_b_3","enemyeffect_b_12","enemyeffect_5_1","enemyeffect_b_19","enemyeffect_b_22","enemyeffect_b_21","enemyeffect_b_2"],"seen":[6,20,"bahamut-12294"],"weights":[4,3,2,3,2,2,3,4,4]},{"cards":["enemyeffect_b_10","enemyeffect_b_1","enemyeffect_b_3","enemyeffect_b_13","enemyeffect_b_12","enemyeffect_5_1","enemyeffect_b_5","enemyeffect_b_17","enemyeffect_b_20"],"seen":[3],"weights":[2,2,1,1,1,2,2,2,2]},{"cards":["enemyeffect_b_10","enemyeffect_b_1","enemyeffect_b_3","enemyeffect_b_13","enemyeffect_b_12","enemyeffect_5_1","enemyeffect_b_4","enemyeffect_b_19"],"seen":[2],"weights":[1,1,2,2,2,2,2,2]},{"cards":["enemyeffect_b_10","enemyeffect_b_1","enemyeffect_b_3","enemyeffect_b_13","enemyeffect_b_12","enemyeffect_5_1"],"seen":[4],"weights":[2,2,2,2,2,2]}],"count":6,"assumed":["a group picked by the matches it came in (the per-match cause is open)","card weights 1 + hits","the single-draft groups completed with their base cards","boss bounties of no seen group are not offered"]},"hunter":{"events":["bounty_hunter_1","bounty_hunter_2","bounty_hunter_3","bounty_hunter_4","bounty_hunter_5","bounty_hunter_6","bounty_hunter_7","bounty_hunter_8","bounty_hunter_9","bounty_hunter_10","bounty_hunter_11","bounty_hunter_12","bounty_hunter_13","bounty_hunter_14","bounty_hunter_15"],"slots":7,"pick":"slot","groups":[{"cards":["enemyeffect_16_4","enemyeffect_16_10","enemyeffect_15_7","enemyeffect_12_7","enemyeffect_13_8","enemyeffect_10_7","enemyeffect_11_7"],"seen":[1,6,21,22],"weights":[5,5,4,4,5,4,4]},{"cards":["enemyeffect_16_3","enemyeffect_15_7","enemyeffect_13_8","enemyeffect_16_9","enemyeffect_14_7","enemyeffect_11_7","enemyeffect_10_7"],"seen":[3,13],"weights":[3,3,3,2,3,3,2]},{"cards":["enemyeffect_16_5","enemyeffect_15_8","enemyeffect_12_7","enemyeffect_14_8","enemyeffect_10_7","enemyeffect_16_11","enemyeffect_11_7"],"seen":[10,12,16],"weights":[4,4,4,3,4,4,2]},{"cards":["enemyeffect_16_7","enemyeffect_16_9","enemyeffect_14_7","enemyeffect_16_11","enemyeffect_11_7","enemyeffect_13_7"],"seen":[11],"open":1,"weights":[2,2,2,2,2,2]},{"cards":["enemyeffect_16_8","enemyeffect_16_10","enemyeffect_14_8","enemyeffect_10_7","enemyeffect_16_12","enemyeffect_13_7"],"seen":[14,19],"open":1,"weights":[3,3,3,3,3,3]},{"cards":["enemyeffect_16_1","enemyeffect_10_8","enemyeffect_11_8","enemyeffect_15_7","enemyeffect_13_7","enemyeffect_14_7"],"seen":[17],"open":1,"weights":[2,2,2,2,2,2]},{"cards":["enemyeffect_10_8","enemyeffect_12_7","enemyeffect_13_7","enemyeffect_14_7","enemyeffect_11_7","enemyeffect_16_12"],"seen":[15],"open":1,"weights":[2,2,2,2,2,2]}],"rule":{"size":7,"onePerSeries":[10,11,12,13,14,15],"maxSeries16":2,"giants":["enemyeffect_16_1","enemyeffect_16_2","enemyeffect_16_3","enemyeffect_16_4","enemyeffect_16_5","enemyeffect_16_6","enemyeffect_16_7","enemyeffect_16_8"],"cards":["enemyeffect_10_8","enemyeffect_11_8","enemyeffect_12_7","enemyeffect_12_8","enemyeffect_13_8","enemyeffect_14_8","enemyeffect_15_7","enemyeffect_15_8","enemyeffect_16_9","enemyeffect_16_10","enemyeffect_10_7","enemyeffect_11_7","enemyeffect_13_7","enemyeffect_14_7","enemyeffect_16_11","enemyeffect_16_12"]},"count":6,"assumed":["one of the 7 seen lists, picked uniformly (which of the 15 events R11 fires is open)","card weights 1 + hits","the `open` cards built by `rule`"]}},"shopDraft":{"rounds":[11],"slots":[{"6":1},{"6":1},{"5":1},{"coin":1},{"3":1,"4":2,"5":3,"coin":2},{"3":1,"4":2,"5":3,"coin":2}],"coin":"chess_item_1_03_e_a","itemWeights":{"chess_item_3_12_e_a":2,"chess_item_4_01_e_a":2,"chess_item_4_11_e_a":2,"chess_item_5_03_e_a":3,"chess_item_5_06_e_a":2,"chess_item_5_07_e_a":3,"chess_item_5_09_e_a":3,"chess_item_6_02_e_a":2,"chess_item_6_03_e_a":2,"chess_item_6_08_e_a":2,"chess_item_6_09_e_a":5,"chess_item_6_11_e_a":2},"seen":[2,4,5,8],"count":6,"assumed":["the slot split","item weights 1 + seen","solo shows 3 of the 6","other rounds (标准 / 险境) keep the previous draw: tiers I–VI with replacement"]},"tacticDraft":{"rounds":[11],"kinds":["ally"],"weights":{"allybuff_select_1":4,"allybuff_select_2_1":2,"allybuff_select_2_4":3,"allybuff_select_2_5":3,"allybuff_select_2_7":2,"allybuff_select_3":3,"allybuff_select_4":4,"allybuff_select_5":2,"allybuff_select_6":4,"allybuff_select_7_2":2,"allybuff_select_7_3":2,"allybuff_select_7_4":2,"allybuff_select_7_8":3,"allybuff_select_19":2},"seen":[7,9,18,20],"count":6,"assumed":["card weights 1 + seen","independent draws (no slot structure)","no terrain card at R11","solo shows 3","other rounds (标准 / 险境) keep every card, uniform, with replacement"]},"schedule":{"mode_training_1":{"spRounds":[3],"rounds":{"3":{"families":[{"family":"supply","weight":100}],"cards":6,"supplyTiers":[1,4],"bountyDraft":"initial","events":{"bounty":["enemy_initial_1","enemy_initial_2","enemy_initial_3","enemy_initial_4","enemy_initial_5","enemy_initial_6","enemy_initial_7","enemy_initial_8","enemy_initial_9","enemy_initial_10"],"supply":["equip_free_1_tr"],"shop":["artifact_paid_1","artifact_paid_2","artifact_paid_3","artifact_paid_4","artifact_paid_5"],"tactic":["buff_select_1","buff_select_2","buff_select_3","buff_select_4","terrain_m01_1","terrain_m02_1","terrain_m02_2","terrain_m03_1","terrain_m04_1","terrain_m06_1","terrain_m07_1"]},"assumed":true}}},"mode_single_funny":{"spRounds":[],"rounds":{}},"mode_single_normal":{"spRounds":[6,9],"rounds":{"6":{"families":[{"family":"supply","weight":100}],"cards":3,"supplyTiers":[2,5],"bountyDraft":"initial","events":{"bounty":["enemy_initial_1_s","enemy_initial_2_s","enemy_initial_3_s","enemy_initial_4_s","enemy_initial_5_s","enemy_initial_6_s","enemy_initial_7_s","enemy_initial_8_s","enemy_initial_9_s","enemy_initial_10_s"],"supply":["equip_free_2_s","equip_free_3_s","equip_free_4_s"],"shop":["artifact_paid_1_s","artifact_paid_2_s","artifact_paid_3_s","artifact_paid_4_s","artifact_paid_5_s"],"tactic":["buff_select_1_s","buff_select_2_s","buff_select_3_s","buff_select_4_s","terrain_m01_1_s","terrain_m02_1_s","terrain_m02_2_s","terrain_m03_1_s","terrain_m04_1_s","terrain_m06_1_s","terrain_m07_1_s"]},"assumed":true},"9":{"families":[{"family":"tactic","weight":100}],"cards":3,"supplyTiers":[3,6],"bountyDraft":"boss","events":{"bounty":["bossInitial_1_s","bossInitial_2_s","bossInitial_3_s","bossInitial_4_s","bossInitial_5_s","bossInitial_6_s"],"supply":["equip_free_2_s","equip_free_3_s","equip_free_4_s"],"shop":["artifact_paid_1_s","artifact_paid_2_s","artifact_paid_3_s","artifact_paid_4_s","artifact_paid_5_s"],"tactic":["buff_select_1_s","buff_select_2_s","buff_select_3_s","buff_select_4_s","terrain_m01_1_s","terrain_m02_1_s","terrain_m02_2_s","terrain_m03_1_s","terrain_m04_1_s","terrain_m06_1_s","terrain_m07_1_s"]},"assumed":true}}},"mode_single_hard":{"spRounds":[3,9,11],"rounds":{"3":{"families":[{"family":"bounty","weight":100}],"cards":3,"supplyTiers":[1,4],"bountyDraft":"initial","events":{"bounty":["enemy_initial_1_s","enemy_initial_2_s","enemy_initial_3_s","enemy_initial_4_s","enemy_initial_5_s","enemy_initial_6_s","enemy_initial_7_s","enemy_initial_8_s","enemy_initial_9_s","enemy_initial_10_s"],"supply":["equip_free_2_s","equip_free_3_s","equip_free_4_s"],"shop":["artifact_paid_1_s","artifact_paid_2_s","artifact_paid_3_s","artifact_paid_4_s","artifact_paid_5_s"],"tactic":["buff_select_1_s","buff_select_2_s","buff_select_3_s","buff_select_4_s","hardbuff_select_1_s","hardbuff_select_2_s","hardbuff_select_3_s","terrain_m01_1_s","terrain_m02_1_s","terrain_m02_2_s","terrain_m03_1_s","terrain_m04_1_s","terrain_m06_1_s","terrain_m07_1_s"]},"assumed":false},"9":{"families":[{"family":"bounty","weight":100}],"cards":3,"supplyTiers":[3,6],"bountyDraft":"boss","events":{"bounty":["bossInitial_1_s","bossInitial_2_s","bossInitial_3_s","bossInitial_4_s","bossInitial_5_s","bossInitial_6_s"],"supply":["equip_free_2_s","equip_free_3_s","equip_free_4_s"],"shop":["artifact_paid_1_s","artifact_paid_2_s","artifact_paid_3_s","artifact_paid_4_s","artifact_paid_5_s"],"tactic":["buff_select_1_s","buff_select_2_s","buff_select_3_s","buff_select_4_s","hardbuff_select_1_s","hardbuff_select_2_s","hardbuff_select_3_s","terrain_m01_1_s","terrain_m02_1_s","terrain_m02_2_s","terrain_m03_1_s","terrain_m04_1_s","terrain_m06_1_s","terrain_m07_1_s"]},"assumed":false},"11":{"families":[{"family":"bounty","weight":14},{"family":"shop","weight":4},{"family":"tactic","weight":4}],"cards":3,"supplyTiers":[4,6],"bountyDraft":"hunter","events":{"bounty":["bounty_hunter_1_s","bounty_hunter_2_s","bounty_hunter_3_s","bounty_hunter_4_s","bounty_hunter_5_s","bounty_hunter_6_s","bounty_hunter_7_s","bounty_hunter_8_s","bounty_hunter_9_s","bounty_hunter_10_s","bounty_hunter_11_s","bounty_hunter_12_s","bounty_hunter_13_s","bounty_hunter_14_s","bounty_hunter_15_s"],"supply":["equip_free_2_s","equip_free_3_s","equip_free_4_s"],"shop":["artifact_paid_1_s","artifact_paid_2_s","artifact_paid_3_s","artifact_paid_4_s","artifact_paid_5_s"],"tactic":["buff_select_1_s","buff_select_2_s","buff_select_3_s","buff_select_4_s","hardbuff_select_1_s","hardbuff_select_2_s","hardbuff_select_3_s","terrain_m01_1_s","terrain_m02_1_s","terrain_m02_2_s","terrain_m03_1_s","terrain_m04_1_s","terrain_m06_1_s","terrain_m07_1_s"]},"assumed":true}}},"mode_single_abyss":{"spRounds":[3,9,11],"rounds":{"3":{"families":[{"family":"bounty","weight":100}],"cards":3,"supplyTiers":[1,4],"bountyDraft":"initial","events":{"bounty":["enemy_initial_1_s","enemy_initial_2_s","enemy_initial_3_s","enemy_initial_4_s","enemy_initial_5_s","enemy_initial_6_s","enemy_initial_7_s","enemy_initial_8_s","enemy_initial_9_s","enemy_initial_10_s"],"supply":["equip_free_2_s","equip_free_3_s","equip_free_4_s"],"shop":["artifact_paid_1_s","artifact_paid_2_s","artifact_paid_3_s","artifact_paid_4_s","artifact_paid_5_s"],"tactic":["buff_select_1_s","buff_select_2_s","buff_select_3_s","buff_select_4_s","hardbuff_select_1_s","hardbuff_select_2_s","hardbuff_select_3_s","terrain_m01_1_s","terrain_m02_1_s","terrain_m02_2_s","terrain_m03_1_s","terrain_m04_1_s","terrain_m06_1_s","terrain_m07_1_s"]},"assumed":false},"9":{"families":[{"family":"bounty","weight":100}],"cards":3,"supplyTiers":[3,6],"bountyDraft":"boss","events":{"bounty":["bossInitial_1_s","bossInitial_2_s","bossInitial_3_s","bossInitial_4_s","bossInitial_5_s","bossInitial_6_s"],"supply":["equip_free_2_s","equip_free_3_s","equip_free_4_s"],"shop":["artifact_paid_1_s","artifact_paid_2_s","artifact_paid_3_s","artifact_paid_4_s","artifact_paid_5_s"],"tactic":["buff_select_1_s","buff_select_2_s","buff_select_3_s","buff_select_4_s","hardbuff_select_1_s","hardbuff_select_2_s","hardbuff_select_3_s","terrain_m01_1_s","terrain_m02_1_s","terrain_m02_2_s","terrain_m03_1_s","terrain_m04_1_s","terrain_m06_1_s","terrain_m07_1_s"]},"assumed":false},"11":{"families":[{"family":"bounty","weight":14},{"family":"shop","weight":4},{"family":"tactic","weight":4}],"cards":3,"supplyTiers":[4,6],"bountyDraft":"hunter","events":{"bounty":["bounty_hunter_1_s","bounty_hunter_2_s","bounty_hunter_3_s","bounty_hunter_4_s","bounty_hunter_5_s","bounty_hunter_6_s","bounty_hunter_7_s","bounty_hunter_8_s","bounty_hunter_9_s","bounty_hunter_10_s","bounty_hunter_11_s","bounty_hunter_12_s","bounty_hunter_13_s","bounty_hunter_14_s","bounty_hunter_15_s"],"supply":["equip_free_2_s","equip_free_3_s","equip_free_4_s"],"shop":["artifact_paid_1_s","artifact_paid_2_s","artifact_paid_3_s","artifact_paid_4_s","artifact_paid_5_s"],"tactic":["buff_select_1_s","buff_select_2_s","buff_select_3_s","buff_select_4_s","hardbuff_select_1_s","hardbuff_select_2_s","hardbuff_select_3_s","terrain_m01_1_s","terrain_m02_1_s","terrain_m02_2_s","terrain_m03_1_s","terrain_m04_1_s","terrain_m06_1_s","terrain_m07_1_s"]},"assumed":true}}},"mode_multi_funny":{"spRounds":[3,9],"rounds":{"3":{"families":[{"family":"supply","weight":45},{"family":"tactic","weight":35},{"family":"shop","weight":20}],"cards":6,"supplyTiers":[1,4],"bountyDraft":"initial","events":{"bounty":["enemy_initial_1","enemy_initial_2","enemy_initial_3","enemy_initial_4","enemy_initial_5","enemy_initial_6","enemy_initial_7","enemy_initial_8","enemy_initial_9","enemy_initial_10"],"supply":["equip_free_1","equip_free_2","equip_free_3","equip_free_4"],"shop":["artifact_paid_1","artifact_paid_2","artifact_paid_3","artifact_paid_4","artifact_paid_5"],"tactic":["buff_select_1","buff_select_2","buff_select_3","buff_select_4","terrain_m01_1","terrain_m02_1","terrain_m02_2","terrain_m03_1","terrain_m04_1","terrain_m06_1","terrain_m07_1"]},"assumed":true},"9":{"families":[{"family":"supply","weight":45},{"family":"tactic","weight":35},{"family":"shop","weight":20}],"cards":6,"supplyTiers":[3,6],"bountyDraft":"boss","events":{"bounty":["bossInitial_1","bossInitial_2","bossInitial_3","bossInitial_4","bossInitial_5","bossInitial_6"],"supply":["equip_free_1","equip_free_2","equip_free_3","equip_free_4"],"shop":["artifact_paid_1","artifact_paid_2","artifact_paid_3","artifact_paid_4","artifact_paid_5"],"tactic":["buff_select_1","buff_select_2","buff_select_3","buff_select_4","terrain_m01_1","terrain_m02_1","terrain_m02_2","terrain_m03_1","terrain_m04_1","terrain_m06_1","terrain_m07_1"]},"assumed":true}}},"mode_multi_normal":{"spRounds":[3,6,9],"rounds":{"3":{"families":[{"family":"bounty","weight":50},{"family":"supply","weight":25},{"family":"shop","weight":10},{"family":"tactic","weight":15}],"cards":6,"supplyTiers":[1,4],"bountyDraft":"initial","events":{"bounty":["enemy_initial_1","enemy_initial_2","enemy_initial_3","enemy_initial_4","enemy_initial_5","enemy_initial_6","enemy_initial_7","enemy_initial_8","enemy_initial_9","enemy_initial_10"],"supply":["equip_free_1","equip_free_2","equip_free_3","equip_free_4"],"shop":["artifact_paid_1","artifact_paid_2","artifact_paid_3","artifact_paid_4","artifact_paid_5"],"tactic":["buff_select_1","buff_select_2","buff_select_3","buff_select_4","terrain_m01_1","terrain_m02_1","terrain_m02_2","terrain_m03_1","terrain_m04_1","terrain_m06_1","terrain_m07_1"]},"assumed":true},"6":{"families":[{"family":"bounty","weight":50},{"family":"supply","weight":25},{"family":"shop","weight":10},{"family":"tactic","weight":15}],"cards":6,"supplyTiers":[2,5],"bountyDraft":"initial","events":{"bounty":["enemy_initial_1","enemy_initial_2","enemy_initial_3","enemy_initial_4","enemy_initial_5","enemy_initial_6","enemy_initial_7","enemy_initial_8","enemy_initial_9","enemy_initial_10"],"supply":["equip_free_1","equip_free_2","equip_free_3","equip_free_4"],"shop":["artifact_paid_1","artifact_paid_2","artifact_paid_3","artifact_paid_4","artifact_paid_5"],"tactic":["buff_select_1","buff_select_2","buff_select_3","buff_select_4","terrain_m01_1","terrain_m02_1","terrain_m02_2","terrain_m03_1","terrain_m04_1","terrain_m06_1","terrain_m07_1"]},"assumed":true},"9":{"families":[{"family":"bounty","weight":50},{"family":"supply","weight":25},{"family":"shop","weight":10},{"family":"tactic","weight":15}],"cards":6,"supplyTiers":[3,6],"bountyDraft":"boss","events":{"bounty":["bossInitial_1","bossInitial_2","bossInitial_3","bossInitial_4","bossInitial_5","bossInitial_6"],"supply":["equip_free_1","equip_free_2","equip_free_3","equip_free_4"],"shop":["artifact_paid_1","artifact_paid_2","artifact_paid_3","artifact_paid_4","artifact_paid_5"],"tactic":["buff_select_1","buff_select_2","buff_select_3","buff_select_4","terrain_m01_1","terrain_m02_1","terrain_m02_2","terrain_m03_1","terrain_m04_1","terrain_m06_1","terrain_m07_1"]},"assumed":true}}},"mode_multi_hard":{"spRounds":[3,9,11],"rounds":{"3":{"families":[{"family":"bounty","weight":100}],"cards":6,"supplyTiers":[1,4],"bountyDraft":"initial","events":{"bounty":["enemy_initial_1","enemy_initial_2","enemy_initial_3","enemy_initial_4","enemy_initial_5","enemy_initial_6","enemy_initial_7","enemy_initial_8","enemy_initial_9","enemy_initial_10"],"supply":["equip_free_1","equip_free_2","equip_free_3","equip_free_4"],"shop":["artifact_paid_1","artifact_paid_2","artifact_paid_3","artifact_paid_4","artifact_paid_5"],"tactic":["buff_select_1","buff_select_2","buff_select_3","buff_select_4","hardbuff_select_1","hardbuff_select_2","hardbuff_select_3","terrain_m01_1","terrain_m02_1","terrain_m02_2","terrain_m03_1","terrain_m04_1","terrain_m06_1","terrain_m07_1"]},"assumed":false},"9":{"families":[{"family":"bounty","weight":100}],"cards":6,"supplyTiers":[3,6],"bountyDraft":"boss","events":{"bounty":["bossInitial_1","bossInitial_2","bossInitial_3","bossInitial_4","bossInitial_5","bossInitial_6"],"supply":["equip_free_1","equip_free_2","equip_free_3","equip_free_4"],"shop":["artifact_paid_1","artifact_paid_2","artifact_paid_3","artifact_paid_4","artifact_paid_5"],"tactic":["buff_select_1","buff_select_2","buff_select_3","buff_select_4","hardbuff_select_1","hardbuff_select_2","hardbuff_select_3","terrain_m01_1","terrain_m02_1","terrain_m02_2","terrain_m03_1","terrain_m04_1","terrain_m06_1","terrain_m07_1"]},"assumed":false},"11":{"families":[{"family":"bounty","weight":14},{"family":"shop","weight":4},{"family":"tactic","weight":4}],"cards":6,"supplyTiers":[4,6],"bountyDraft":"hunter","events":{"bounty":["bounty_hunter_1","bounty_hunter_2","bounty_hunter_3","bounty_hunter_4","bounty_hunter_5","bounty_hunter_6","bounty_hunter_7","bounty_hunter_8","bounty_hunter_9","bounty_hunter_10","bounty_hunter_11","bounty_hunter_12","bounty_hunter_13","bounty_hunter_14","bounty_hunter_15"],"supply":["equip_free_1","equip_free_2","equip_free_3","equip_free_4"],"shop":["artifact_paid_1","artifact_paid_2","artifact_paid_3","artifact_paid_4","artifact_paid_5"],"tactic":["buff_select_1","buff_select_2","buff_select_3","buff_select_4","hardbuff_select_1","hardbuff_select_2","hardbuff_select_3","terrain_m01_1","terrain_m02_1","terrain_m02_2","terrain_m03_1","terrain_m04_1","terrain_m06_1","terrain_m07_1"]},"assumed":true}}},"mode_multi_abyss":{"spRounds":[3,9,11],"rounds":{"3":{"families":[{"family":"bounty","weight":100}],"cards":6,"supplyTiers":[1,4],"bountyDraft":"initial","events":{"bounty":["enemy_initial_1","enemy_initial_2","enemy_initial_3","enemy_initial_4","enemy_initial_5","enemy_initial_6","enemy_initial_7","enemy_initial_8","enemy_initial_9","enemy_initial_10"],"supply":["equip_free_1","equip_free_2","equip_free_3","equip_free_4"],"shop":["artifact_paid_1","artifact_paid_2","artifact_paid_3","artifact_paid_4","artifact_paid_5"],"tactic":["buff_select_1","buff_select_2","buff_select_3","buff_select_4","hardbuff_select_1","hardbuff_select_2","hardbuff_select_3","terrain_m01_1","terrain_m02_1","terrain_m02_2","terrain_m03_1","terrain_m04_1","terrain_m06_1","terrain_m07_1"]},"assumed":false},"9":{"families":[{"family":"bounty","weight":100}],"cards":6,"supplyTiers":[3,6],"bountyDraft":"boss","events":{"bounty":["bossInitial_1","bossInitial_2","bossInitial_3","bossInitial_4","bossInitial_5","bossInitial_6"],"supply":["equip_free_1","equip_free_2","equip_free_3","equip_free_4"],"shop":["artifact_paid_1","artifact_paid_2","artifact_paid_3","artifact_paid_4","artifact_paid_5"],"tactic":["buff_select_1","buff_select_2","buff_select_3","buff_select_4","hardbuff_select_1","hardbuff_select_2","hardbuff_select_3","terrain_m01_1","terrain_m02_1","terrain_m02_2","terrain_m03_1","terrain_m04_1","terrain_m06_1","terrain_m07_1"]},"assumed":false},"11":{"families":[{"family":"bounty","weight":14},{"family":"shop","weight":4},{"family":"tactic","weight":4}],"cards":6,"supplyTiers":[4,6],"bountyDraft":"hunter","events":{"bounty":["bounty_hunter_1","bounty_hunter_2","bounty_hunter_3","bounty_hunter_4","bounty_hunter_5","bounty_hunter_6","bounty_hunter_7","bounty_hunter_8","bounty_hunter_9","bounty_hunter_10","bounty_hunter_11","bounty_hunter_12","bounty_hunter_13","bounty_hunter_14","bounty_hunter_15"],"supply":["equip_free_1","equip_free_2","equip_free_3","equip_free_4"],"shop":["artifact_paid_1","artifact_paid_2","artifact_paid_3","artifact_paid_4","artifact_paid_5"],"tactic":["buff_select_1","buff_select_2","buff_select_3","buff_select_4","hardbuff_select_1","hardbuff_select_2","hardbuff_select_3","terrain_m01_1","terrain_m02_1","terrain_m02_2","terrain_m03_1","terrain_m04_1","terrain_m06_1","terrain_m07_1"]},"assumed":true}}}},"pools":{"pool_equip_normal":{"kind":"equip","rule":"shopEligible","maxTier":"shopLevel","assumed":true},"pool_equip_shop_1":{"kind":"equip","rule":"shopEligible","tiers":[1],"assumed":true},"pool_equip_kathe":{"kind":"equip","rule":"shopEligible","maxTier":"shopLevel","assumed":true},"pool_equip_narant":{"kind":"equip","rule":"shopEligible","maxTier":"shopLevel","assumed":true},"pool_equip_vict":{"kind":"equip","items":["chess_item_4_09_e_a","chess_item_3_09_e_a","chess_item_3_10_e_a","chess_item_2_03_e_a"],"assumed":true},"pool_equip_pepe":{"kind":"equip","weighted":[["chess_item_1_03_e_a",45],["chess_item_2_04_e_a",45],["chess_item_6_07_e_a",10]],"goldenWeights":[40,40,20],"assumed":true},"pool_equip_rockr":{"kind":"equip","items":["chess_item_4_09_e_a","chess_item_3_09_e_a","chess_item_3_10_e_a","chess_item_2_03_e_a"],"assumed":true},"pool_chess_glady":{"kind":"chess","items":["chess_char_3_05_a","chess_char_2_07_a","chess_char_1_04_a"],"assumed":true},"pool_char_pinus":{"kind":"chess","weighted":[["chess_char_1_19_a",45],["chess_char_2_18_a",45],["chess_char_4_20_a",10]],"assumed":true},"pool_char_later":{"kind":"chess","bond":"lateranoShip","minTier":4,"golden":true,"rule":"shopEligible","assumed":true},"pool_chess_shop_1_reward":{"kind":"chess","tier":1,"rule":"shopEligible","assumed":true},"pool_chess_shop_2_reward":{"kind":"chess","tier":2,"rule":"shopEligible","assumed":true},"pool_chess_shop_3_reward":{"kind":"chess","tier":3,"rule":"shopEligible","assumed":true},"pool_chess_shop_4_reward":{"kind":"chess","tier":4,"rule":"shopEligible","assumed":true},"pool_chess_shop_5_reward":{"kind":"chess","tier":5,"rule":"shopEligible","assumed":true},"pool_chess_shop_6_reward":{"kind":"chess","tier":6,"rule":"shopEligible","assumed":true}}} \ No newline at end of file +{"events":{"artifact_paid_1":{"id":"artifact_paid_1","choiceType":"EQUIP_FREE","effectType":"EQUIP","name":"机密商店","desc":"无需消耗资金,获得装备补给。","descRaw":"无需消耗资金,获得装备补给。","color":"#35d8b4","family":"shop","solo":false,"training":false},"artifact_paid_1_s":{"id":"artifact_paid_1_s","choiceType":"EQUIP_FREE","effectType":"EQUIP","name":"机密商店","desc":"无需消耗资金,获得装备补给。","descRaw":"无需消耗资金,获得装备补给。","color":"#f2bd3e","family":"shop","solo":true,"training":false},"artifact_paid_2":{"id":"artifact_paid_2","choiceType":"EQUIP_FREE","effectType":"EQUIP","name":"机密商店","desc":"无需消耗资金,获得装备补给。","descRaw":"无需消耗资金,获得装备补给。","color":"#35d8b4","family":"shop","solo":false,"training":false},"artifact_paid_2_s":{"id":"artifact_paid_2_s","choiceType":"EQUIP_FREE","effectType":"EQUIP","name":"机密商店","desc":"无需消耗资金,获得装备补给。","descRaw":"无需消耗资金,获得装备补给。","color":"#f2bd3e","family":"shop","solo":true,"training":false},"artifact_paid_3":{"id":"artifact_paid_3","choiceType":"EQUIP_FREE","effectType":"EQUIP","name":"机密商店","desc":"无需消耗资金,获得装备补给。","descRaw":"无需消耗资金,获得装备补给。","color":"#35d8b4","family":"shop","solo":false,"training":false},"artifact_paid_3_s":{"id":"artifact_paid_3_s","choiceType":"EQUIP_FREE","effectType":"EQUIP","name":"机密商店","desc":"无需消耗资金,获得装备补给。","descRaw":"无需消耗资金,获得装备补给。","color":"#f2bd3e","family":"shop","solo":true,"training":false},"artifact_paid_4":{"id":"artifact_paid_4","choiceType":"EQUIP_FREE","effectType":"EQUIP","name":"机密商店","desc":"无需消耗资金,获得装备补给。","descRaw":"无需消耗资金,获得装备补给。","color":"#35d8b4","family":"shop","solo":false,"training":false},"artifact_paid_4_s":{"id":"artifact_paid_4_s","choiceType":"EQUIP_FREE","effectType":"EQUIP","name":"机密商店","desc":"无需消耗资金,获得装备补给。","descRaw":"无需消耗资金,获得装备补给。","color":"#f2bd3e","family":"shop","solo":true,"training":false},"artifact_paid_5":{"id":"artifact_paid_5","choiceType":"EQUIP_FREE","effectType":"EQUIP","name":"机密商店","desc":"无需消耗资金,获得装备补给。","descRaw":"无需消耗资金,获得装备补给。","color":"#35d8b4","family":"shop","solo":false,"training":false},"artifact_paid_5_s":{"id":"artifact_paid_5_s","choiceType":"EQUIP_FREE","effectType":"EQUIP","name":"机密商店","desc":"无需消耗资金,获得装备补给。","descRaw":"无需消耗资金,获得装备补给。","color":"#f2bd3e","family":"shop","solo":true,"training":false},"bossInitial_1":{"id":"bossInitial_1","choiceType":"BOUNTY_HUNT","effectType":"ENEMY_GAIN","name":"悬赏决策","desc":"选定悬赏目标,获取额外奖励。","descRaw":"选定悬赏目标,获取额外奖励。","color":"#35d8b4","family":"bounty","solo":false,"training":false},"bossInitial_1_s":{"id":"bossInitial_1_s","choiceType":"BOUNTY_HUNT","effectType":"ENEMY_GAIN","name":"悬赏决策","desc":"选定悬赏目标,获取额外奖励。","descRaw":"选定悬赏目标,获取额外奖励。","color":"#35d8b4","family":"bounty","solo":true,"training":false},"bossInitial_2":{"id":"bossInitial_2","choiceType":"BOUNTY_HUNT","effectType":"ENEMY_GAIN","name":"悬赏决策","desc":"选定悬赏目标,获取额外奖励。","descRaw":"选定悬赏目标,获取额外奖励。","color":"#35d8b4","family":"bounty","solo":false,"training":false},"bossInitial_2_s":{"id":"bossInitial_2_s","choiceType":"BOUNTY_HUNT","effectType":"ENEMY_GAIN","name":"悬赏决策","desc":"选定悬赏目标,获取额外奖励。","descRaw":"选定悬赏目标,获取额外奖励。","color":"#35d8b4","family":"bounty","solo":true,"training":false},"bossInitial_3":{"id":"bossInitial_3","choiceType":"BOUNTY_HUNT","effectType":"ENEMY_GAIN","name":"悬赏决策","desc":"选定悬赏目标,获取额外奖励。","descRaw":"选定悬赏目标,获取额外奖励。","color":"#35d8b4","family":"bounty","solo":false,"training":false},"bossInitial_3_s":{"id":"bossInitial_3_s","choiceType":"BOUNTY_HUNT","effectType":"ENEMY_GAIN","name":"悬赏决策","desc":"选定悬赏目标,获取额外奖励。","descRaw":"选定悬赏目标,获取额外奖励。","color":"#35d8b4","family":"bounty","solo":true,"training":false},"bossInitial_4":{"id":"bossInitial_4","choiceType":"BOUNTY_HUNT","effectType":"ENEMY_GAIN","name":"悬赏决策","desc":"选定悬赏目标,获取额外奖励。","descRaw":"选定悬赏目标,获取额外奖励。","color":"#35d8b4","family":"bounty","solo":false,"training":false},"bossInitial_4_s":{"id":"bossInitial_4_s","choiceType":"BOUNTY_HUNT","effectType":"ENEMY_GAIN","name":"悬赏决策","desc":"选定悬赏目标,获取额外奖励。","descRaw":"选定悬赏目标,获取额外奖励。","color":"#35d8b4","family":"bounty","solo":true,"training":false},"bossInitial_5":{"id":"bossInitial_5","choiceType":"BOUNTY_HUNT","effectType":"ENEMY_GAIN","name":"悬赏决策","desc":"选定悬赏目标,获取额外奖励。","descRaw":"选定悬赏目标,获取额外奖励。","color":"#35d8b4","family":"bounty","solo":false,"training":false},"bossInitial_5_s":{"id":"bossInitial_5_s","choiceType":"BOUNTY_HUNT","effectType":"ENEMY_GAIN","name":"悬赏决策","desc":"选定悬赏目标,获取额外奖励。","descRaw":"选定悬赏目标,获取额外奖励。","color":"#35d8b4","family":"bounty","solo":true,"training":false},"bossInitial_6":{"id":"bossInitial_6","choiceType":"BOUNTY_HUNT","effectType":"ENEMY_GAIN","name":"悬赏决策","desc":"选定悬赏目标,获取额外奖励。","descRaw":"选定悬赏目标,获取额外奖励。","color":"#35d8b4","family":"bounty","solo":false,"training":false},"bossInitial_6_s":{"id":"bossInitial_6_s","choiceType":"BOUNTY_HUNT","effectType":"ENEMY_GAIN","name":"悬赏决策","desc":"选定悬赏目标,获取额外奖励。","descRaw":"选定悬赏目标,获取额外奖励。","color":"#35d8b4","family":"bounty","solo":true,"training":false},"bounty_hunter_1":{"id":"bounty_hunter_1","choiceType":"BOUNTY_HUNT","effectType":"ENEMY_GAIN","name":"悬赏决策","desc":"选定悬赏目标,获取额外奖励。","descRaw":"选定悬赏目标,获取额外奖励。","color":"#35d8b4","family":"bounty","solo":false,"training":false},"bounty_hunter_1_s":{"id":"bounty_hunter_1_s","choiceType":"BOUNTY_HUNT","effectType":"ENEMY_GAIN","name":"悬赏决策","desc":"选定悬赏目标,获取额外奖励。","descRaw":"选定悬赏目标,获取额外奖励。","color":"#f2bd3e","family":"bounty","solo":true,"training":false},"bounty_hunter_2":{"id":"bounty_hunter_2","choiceType":"BOUNTY_HUNT","effectType":"ENEMY_GAIN","name":"悬赏决策","desc":"选定悬赏目标,获取额外奖励。","descRaw":"选定悬赏目标,获取额外奖励。","color":"#35d8b4","family":"bounty","solo":false,"training":false},"bounty_hunter_2_s":{"id":"bounty_hunter_2_s","choiceType":"BOUNTY_HUNT","effectType":"ENEMY_GAIN","name":"悬赏决策","desc":"选定悬赏目标,获取额外奖励。","descRaw":"选定悬赏目标,获取额外奖励。","color":"#f2bd3e","family":"bounty","solo":true,"training":false},"bounty_hunter_3":{"id":"bounty_hunter_3","choiceType":"BOUNTY_HUNT","effectType":"ENEMY_GAIN","name":"悬赏决策","desc":"选定悬赏目标,获取额外奖励。","descRaw":"选定悬赏目标,获取额外奖励。","color":"#35d8b4","family":"bounty","solo":false,"training":false},"bounty_hunter_3_s":{"id":"bounty_hunter_3_s","choiceType":"BOUNTY_HUNT","effectType":"ENEMY_GAIN","name":"悬赏决策","desc":"选定悬赏目标,获取额外奖励。","descRaw":"选定悬赏目标,获取额外奖励。","color":"#f2bd3e","family":"bounty","solo":true,"training":false},"bounty_hunter_4":{"id":"bounty_hunter_4","choiceType":"BOUNTY_HUNT","effectType":"ENEMY_GAIN","name":"悬赏决策","desc":"选定悬赏目标,获取额外奖励。","descRaw":"选定悬赏目标,获取额外奖励。","color":"#35d8b4","family":"bounty","solo":false,"training":false},"bounty_hunter_4_s":{"id":"bounty_hunter_4_s","choiceType":"BOUNTY_HUNT","effectType":"ENEMY_GAIN","name":"悬赏决策","desc":"选定悬赏目标,获取额外奖励。","descRaw":"选定悬赏目标,获取额外奖励。","color":"#f2bd3e","family":"bounty","solo":true,"training":false},"bounty_hunter_5":{"id":"bounty_hunter_5","choiceType":"BOUNTY_HUNT","effectType":"ENEMY_GAIN","name":"悬赏决策","desc":"选定悬赏目标,获取额外奖励。","descRaw":"选定悬赏目标,获取额外奖励。","color":"#35d8b4","family":"bounty","solo":false,"training":false},"bounty_hunter_5_s":{"id":"bounty_hunter_5_s","choiceType":"BOUNTY_HUNT","effectType":"ENEMY_GAIN","name":"悬赏决策","desc":"选定悬赏目标,获取额外奖励。","descRaw":"选定悬赏目标,获取额外奖励。","color":"#f2bd3e","family":"bounty","solo":true,"training":false},"bounty_hunter_6":{"id":"bounty_hunter_6","choiceType":"BOUNTY_HUNT","effectType":"ENEMY_GAIN","name":"悬赏决策","desc":"选定悬赏目标,获取额外奖励。","descRaw":"选定悬赏目标,获取额外奖励。","color":"#35d8b4","family":"bounty","solo":false,"training":false},"bounty_hunter_6_s":{"id":"bounty_hunter_6_s","choiceType":"BOUNTY_HUNT","effectType":"ENEMY_GAIN","name":"悬赏决策","desc":"选定悬赏目标,获取额外奖励。","descRaw":"选定悬赏目标,获取额外奖励。","color":"#f2bd3e","family":"bounty","solo":true,"training":false},"bounty_hunter_7":{"id":"bounty_hunter_7","choiceType":"BOUNTY_HUNT","effectType":"ENEMY_GAIN","name":"悬赏决策","desc":"选定悬赏目标,获取额外奖励。","descRaw":"选定悬赏目标,获取额外奖励。","color":"#35d8b4","family":"bounty","solo":false,"training":false},"bounty_hunter_7_s":{"id":"bounty_hunter_7_s","choiceType":"BOUNTY_HUNT","effectType":"ENEMY_GAIN","name":"悬赏决策","desc":"选定悬赏目标,获取额外奖励。","descRaw":"选定悬赏目标,获取额外奖励。","color":"#f2bd3e","family":"bounty","solo":true,"training":false},"bounty_hunter_8":{"id":"bounty_hunter_8","choiceType":"BOUNTY_HUNT","effectType":"ENEMY_GAIN","name":"悬赏决策","desc":"选定悬赏目标,获取额外奖励。","descRaw":"选定悬赏目标,获取额外奖励。","color":"#35d8b4","family":"bounty","solo":false,"training":false},"bounty_hunter_8_s":{"id":"bounty_hunter_8_s","choiceType":"BOUNTY_HUNT","effectType":"ENEMY_GAIN","name":"悬赏决策","desc":"选定悬赏目标,获取额外奖励。","descRaw":"选定悬赏目标,获取额外奖励。","color":"#35d8b4","family":"bounty","solo":true,"training":false},"bounty_hunter_9":{"id":"bounty_hunter_9","choiceType":"BOUNTY_HUNT","effectType":"ENEMY_GAIN","name":"悬赏决策","desc":"选定悬赏目标,获取额外奖励。","descRaw":"选定悬赏目标,获取额外奖励。","color":"#35d8b4","family":"bounty","solo":false,"training":false},"bounty_hunter_9_s":{"id":"bounty_hunter_9_s","choiceType":"BOUNTY_HUNT","effectType":"ENEMY_GAIN","name":"悬赏决策","desc":"选定悬赏目标,获取额外奖励。","descRaw":"选定悬赏目标,获取额外奖励。","color":"#35d8b4","family":"bounty","solo":true,"training":false},"bounty_hunter_10":{"id":"bounty_hunter_10","choiceType":"BOUNTY_HUNT","effectType":"ENEMY_GAIN","name":"悬赏决策","desc":"选定悬赏目标,获取额外奖励。","descRaw":"选定悬赏目标,获取额外奖励。","color":"#35d8b4","family":"bounty","solo":false,"training":false},"bounty_hunter_10_s":{"id":"bounty_hunter_10_s","choiceType":"BOUNTY_HUNT","effectType":"ENEMY_GAIN","name":"悬赏决策","desc":"选定悬赏目标,获取额外奖励。","descRaw":"选定悬赏目标,获取额外奖励。","color":"#35d8b4","family":"bounty","solo":true,"training":false},"bounty_hunter_11":{"id":"bounty_hunter_11","choiceType":"BOUNTY_HUNT","effectType":"ENEMY_GAIN","name":"悬赏决策","desc":"选定悬赏目标,获取额外奖励。","descRaw":"选定悬赏目标,获取额外奖励。","color":"#35d8b4","family":"bounty","solo":false,"training":false},"bounty_hunter_11_s":{"id":"bounty_hunter_11_s","choiceType":"BOUNTY_HUNT","effectType":"ENEMY_GAIN","name":"悬赏决策","desc":"选定悬赏目标,获取额外奖励。","descRaw":"选定悬赏目标,获取额外奖励。","color":"#35d8b4","family":"bounty","solo":true,"training":false},"bounty_hunter_12":{"id":"bounty_hunter_12","choiceType":"BOUNTY_HUNT","effectType":"ENEMY_GAIN","name":"悬赏决策","desc":"选定悬赏目标,获取额外奖励。","descRaw":"选定悬赏目标,获取额外奖励。","color":"#35d8b4","family":"bounty","solo":false,"training":false},"bounty_hunter_12_s":{"id":"bounty_hunter_12_s","choiceType":"BOUNTY_HUNT","effectType":"ENEMY_GAIN","name":"悬赏决策","desc":"选定悬赏目标,获取额外奖励。","descRaw":"选定悬赏目标,获取额外奖励。","color":"#35d8b4","family":"bounty","solo":true,"training":false},"bounty_hunter_13":{"id":"bounty_hunter_13","choiceType":"BOUNTY_HUNT","effectType":"ENEMY_GAIN","name":"悬赏决策","desc":"选定悬赏目标,获取额外奖励。","descRaw":"选定悬赏目标,获取额外奖励。","color":"#35d8b4","family":"bounty","solo":false,"training":false},"bounty_hunter_13_s":{"id":"bounty_hunter_13_s","choiceType":"BOUNTY_HUNT","effectType":"ENEMY_GAIN","name":"悬赏决策","desc":"选定悬赏目标,获取额外奖励。","descRaw":"选定悬赏目标,获取额外奖励。","color":"#35d8b4","family":"bounty","solo":true,"training":false},"bounty_hunter_14":{"id":"bounty_hunter_14","choiceType":"BOUNTY_HUNT","effectType":"ENEMY_GAIN","name":"悬赏决策","desc":"选定悬赏目标,获取额外奖励。","descRaw":"选定悬赏目标,获取额外奖励。","color":"#35d8b4","family":"bounty","solo":false,"training":false},"bounty_hunter_14_s":{"id":"bounty_hunter_14_s","choiceType":"BOUNTY_HUNT","effectType":"ENEMY_GAIN","name":"悬赏决策","desc":"选定悬赏目标,获取额外奖励。","descRaw":"选定悬赏目标,获取额外奖励。","color":"#35d8b4","family":"bounty","solo":true,"training":false},"bounty_hunter_15":{"id":"bounty_hunter_15","choiceType":"BOUNTY_HUNT","effectType":"ENEMY_GAIN","name":"悬赏决策","desc":"选定悬赏目标,获取额外奖励。","descRaw":"选定悬赏目标,获取额外奖励。","color":"#35d8b4","family":"bounty","solo":false,"training":false},"bounty_hunter_15_s":{"id":"bounty_hunter_15_s","choiceType":"BOUNTY_HUNT","effectType":"ENEMY_GAIN","name":"悬赏决策","desc":"选定悬赏目标,获取额外奖励。","descRaw":"选定悬赏目标,获取额外奖励。","color":"#35d8b4","family":"bounty","solo":true,"training":false},"buff_select_1":{"id":"buff_select_1","choiceType":"BUFF_SELECT","effectType":"BUFF_GAIN","name":"战术决策","desc":"进行协同调整,做好迎战准备。","descRaw":"进行协同调整,做好迎战准备。","color":"#35d8b4","family":"tactic","solo":false,"training":false},"buff_select_1_s":{"id":"buff_select_1_s","choiceType":"BUFF_SELECT","effectType":"BUFF_GAIN","name":"战术决策","desc":"进行协同调整,做好迎战准备。","descRaw":"进行协同调整,做好迎战准备。","color":"#f2bd3e","family":"tactic","solo":true,"training":false},"buff_select_2":{"id":"buff_select_2","choiceType":"BUFF_SELECT","effectType":"BUFF_GAIN","name":"战术决策","desc":"进行协同调整,做好迎战准备。","descRaw":"进行协同调整,做好迎战准备。","color":"#35d8b4","family":"tactic","solo":false,"training":false},"buff_select_2_s":{"id":"buff_select_2_s","choiceType":"BUFF_SELECT","effectType":"BUFF_GAIN","name":"战术决策","desc":"进行协同调整,做好迎战准备。","descRaw":"进行协同调整,做好迎战准备。","color":"#f2bd3e","family":"tactic","solo":true,"training":false},"buff_select_3":{"id":"buff_select_3","choiceType":"BUFF_SELECT","effectType":"BUFF_GAIN","name":"战术决策","desc":"进行协同调整,做好迎战准备。","descRaw":"进行协同调整,做好迎战准备。","color":"#35d8b4","family":"tactic","solo":false,"training":false},"buff_select_3_s":{"id":"buff_select_3_s","choiceType":"BUFF_SELECT","effectType":"BUFF_GAIN","name":"战术决策","desc":"进行协同调整,做好迎战准备。","descRaw":"进行协同调整,做好迎战准备。","color":"#f2bd3e","family":"tactic","solo":true,"training":false},"buff_select_4":{"id":"buff_select_4","choiceType":"BUFF_SELECT","effectType":"BUFF_GAIN","name":"战术决策","desc":"进行协同调整,做好迎战准备。","descRaw":"进行协同调整,做好迎战准备。","color":"#35d8b4","family":"tactic","solo":false,"training":false},"buff_select_4_s":{"id":"buff_select_4_s","choiceType":"BUFF_SELECT","effectType":"BUFF_GAIN","name":"战术决策","desc":"进行协同调整,做好迎战准备。","descRaw":"进行协同调整,做好迎战准备。","color":"#f2bd3e","family":"tactic","solo":true,"training":false},"enemy_initial_1":{"id":"enemy_initial_1","choiceType":"BOUNTY_HUNT","effectType":"ENEMY_GAIN","name":"悬赏决策","desc":"选定悬赏目标,获取额外奖励。","descRaw":"选定悬赏目标,获取额外奖励。","color":"#35d8b4","family":"bounty","solo":false,"training":false},"enemy_initial_1_s":{"id":"enemy_initial_1_s","choiceType":"BOUNTY_HUNT","effectType":"ENEMY_GAIN","name":"悬赏决策","desc":"选定悬赏目标,获取额外奖励。","descRaw":"选定悬赏目标,获取额外奖励。","color":"#35d8b4","family":"bounty","solo":true,"training":false},"enemy_initial_2":{"id":"enemy_initial_2","choiceType":"BOUNTY_HUNT","effectType":"ENEMY_GAIN","name":"悬赏决策","desc":"选定悬赏目标,获取额外奖励。","descRaw":"选定悬赏目标,获取额外奖励。","color":"#35d8b4","family":"bounty","solo":false,"training":false},"enemy_initial_2_s":{"id":"enemy_initial_2_s","choiceType":"BOUNTY_HUNT","effectType":"ENEMY_GAIN","name":"悬赏决策","desc":"选定悬赏目标,获取额外奖励。","descRaw":"选定悬赏目标,获取额外奖励。","color":"#35d8b4","family":"bounty","solo":true,"training":false},"enemy_initial_3":{"id":"enemy_initial_3","choiceType":"BOUNTY_HUNT","effectType":"ENEMY_GAIN","name":"悬赏决策","desc":"选定悬赏目标,获取额外奖励。","descRaw":"选定悬赏目标,获取额外奖励。","color":"#35d8b4","family":"bounty","solo":false,"training":false},"enemy_initial_3_s":{"id":"enemy_initial_3_s","choiceType":"BOUNTY_HUNT","effectType":"ENEMY_GAIN","name":"悬赏决策","desc":"选定悬赏目标,获取额外奖励。","descRaw":"选定悬赏目标,获取额外奖励。","color":"#35d8b4","family":"bounty","solo":true,"training":false},"enemy_initial_4":{"id":"enemy_initial_4","choiceType":"BOUNTY_HUNT","effectType":"ENEMY_GAIN","name":"悬赏决策","desc":"选定悬赏目标,获取额外奖励。","descRaw":"选定悬赏目标,获取额外奖励。","color":"#35d8b4","family":"bounty","solo":false,"training":false},"enemy_initial_4_s":{"id":"enemy_initial_4_s","choiceType":"BOUNTY_HUNT","effectType":"ENEMY_GAIN","name":"悬赏决策","desc":"选定悬赏目标,获取额外奖励。","descRaw":"选定悬赏目标,获取额外奖励。","color":"#35d8b4","family":"bounty","solo":true,"training":false},"enemy_initial_5":{"id":"enemy_initial_5","choiceType":"BOUNTY_HUNT","effectType":"ENEMY_GAIN","name":"悬赏决策","desc":"选定悬赏目标,获取额外奖励。","descRaw":"选定悬赏目标,获取额外奖励。","color":"#35d8b4","family":"bounty","solo":false,"training":false},"enemy_initial_5_s":{"id":"enemy_initial_5_s","choiceType":"BOUNTY_HUNT","effectType":"ENEMY_GAIN","name":"悬赏决策","desc":"选定悬赏目标,获取额外奖励。","descRaw":"选定悬赏目标,获取额外奖励。","color":"#35d8b4","family":"bounty","solo":true,"training":false},"enemy_initial_6":{"id":"enemy_initial_6","choiceType":"BOUNTY_HUNT","effectType":"ENEMY_GAIN","name":"悬赏决策","desc":"选定悬赏目标,获取额外奖励。","descRaw":"选定悬赏目标,获取额外奖励。","color":"#35d8b4","family":"bounty","solo":false,"training":false},"enemy_initial_6_s":{"id":"enemy_initial_6_s","choiceType":"BOUNTY_HUNT","effectType":"ENEMY_GAIN","name":"悬赏决策","desc":"选定悬赏目标,获取额外奖励。","descRaw":"选定悬赏目标,获取额外奖励。","color":"#35d8b4","family":"bounty","solo":true,"training":false},"enemy_initial_7":{"id":"enemy_initial_7","choiceType":"BOUNTY_HUNT","effectType":"ENEMY_GAIN","name":"悬赏决策","desc":"选定悬赏目标,获取额外奖励。","descRaw":"选定悬赏目标,获取额外奖励。","color":"#35d8b4","family":"bounty","solo":false,"training":false},"enemy_initial_7_s":{"id":"enemy_initial_7_s","choiceType":"BOUNTY_HUNT","effectType":"ENEMY_GAIN","name":"悬赏决策","desc":"选定悬赏目标,获取额外奖励。","descRaw":"选定悬赏目标,获取额外奖励。","color":"#35d8b4","family":"bounty","solo":true,"training":false},"enemy_initial_8":{"id":"enemy_initial_8","choiceType":"BOUNTY_HUNT","effectType":"ENEMY_GAIN","name":"悬赏决策","desc":"选定悬赏目标,获取额外奖励。","descRaw":"选定悬赏目标,获取额外奖励。","color":"#35d8b4","family":"bounty","solo":false,"training":false},"enemy_initial_8_s":{"id":"enemy_initial_8_s","choiceType":"BOUNTY_HUNT","effectType":"ENEMY_GAIN","name":"悬赏决策","desc":"选定悬赏目标,获取额外奖励。","descRaw":"选定悬赏目标,获取额外奖励。","color":"#35d8b4","family":"bounty","solo":true,"training":false},"enemy_initial_9":{"id":"enemy_initial_9","choiceType":"BOUNTY_HUNT","effectType":"ENEMY_GAIN","name":"悬赏决策","desc":"选定悬赏目标,获取额外奖励。","descRaw":"选定悬赏目标,获取额外奖励。","color":"#35d8b4","family":"bounty","solo":false,"training":false},"enemy_initial_9_s":{"id":"enemy_initial_9_s","choiceType":"BOUNTY_HUNT","effectType":"ENEMY_GAIN","name":"悬赏决策","desc":"选定悬赏目标,获取额外奖励。","descRaw":"选定悬赏目标,获取额外奖励。","color":"#35d8b4","family":"bounty","solo":true,"training":false},"enemy_initial_10":{"id":"enemy_initial_10","choiceType":"BOUNTY_HUNT","effectType":"ENEMY_GAIN","name":"悬赏决策","desc":"选定悬赏目标,获取额外奖励。","descRaw":"选定悬赏目标,获取额外奖励。","color":"#35d8b4","family":"bounty","solo":false,"training":false},"enemy_initial_10_s":{"id":"enemy_initial_10_s","choiceType":"BOUNTY_HUNT","effectType":"ENEMY_GAIN","name":"悬赏决策","desc":"选定悬赏目标,获取额外奖励。","descRaw":"选定悬赏目标,获取额外奖励。","color":"#35d8b4","family":"bounty","solo":true,"training":false},"equip_free_1":{"id":"equip_free_1","choiceType":"EQUIP_FREE","effectType":"EQUIP","name":"道具补给","desc":"无需消耗资金,获得装备补给。","descRaw":"无需消耗资金,获得装备补给。","color":"#35d8b4","family":"supply","solo":false,"training":false},"equip_free_1_tr":{"id":"equip_free_1_tr","choiceType":"EQUIP_FREE","effectType":"EQUIP","name":"道具补给","desc":"无需消耗资金,获得装备补给。","descRaw":"无需消耗资金,获得装备补给。","color":"#35d8b4","family":"supply","solo":false,"training":true},"equip_free_2":{"id":"equip_free_2","choiceType":"EQUIP_FREE","effectType":"EQUIP","name":"道具补给","desc":"无需消耗资金,获得装备补给。","descRaw":"无需消耗资金,获得装备补给。","color":"#35d8b4","family":"supply","solo":false,"training":false},"equip_free_2_s":{"id":"equip_free_2_s","choiceType":"EQUIP_FREE","effectType":"EQUIP","name":"道具补给","desc":"无需消耗资金,获得装备补给。","descRaw":"无需消耗资金,获得装备补给。","color":"#f2bd3e","family":"supply","solo":true,"training":false},"equip_free_3":{"id":"equip_free_3","choiceType":"EQUIP_FREE","effectType":"EQUIP","name":"道具补给","desc":"无需消耗资金,获得装备补给。","descRaw":"无需消耗资金,获得装备补给。","color":"#35d8b4","family":"supply","solo":false,"training":false},"equip_free_3_s":{"id":"equip_free_3_s","choiceType":"EQUIP_FREE","effectType":"EQUIP","name":"道具补给","desc":"无需消耗资金,获得装备补给。","descRaw":"无需消耗资金,获得装备补给。","color":"#f2bd3e","family":"supply","solo":true,"training":false},"equip_free_4":{"id":"equip_free_4","choiceType":"EQUIP_FREE","effectType":"EQUIP","name":"道具补给","desc":"无需消耗资金,获得装备补给。","descRaw":"无需消耗资金,获得装备补给。","color":"#35d8b4","family":"supply","solo":false,"training":false},"equip_free_4_s":{"id":"equip_free_4_s","choiceType":"EQUIP_FREE","effectType":"EQUIP","name":"道具补给","desc":"无需消耗资金,获得装备补给。","descRaw":"无需消耗资金,获得装备补给。","color":"#f2bd3e","family":"supply","solo":true,"training":false},"hardbuff_select_1":{"id":"hardbuff_select_1","choiceType":"BUFF_SELECT","effectType":"BUFF_GAIN","name":"战术决策","desc":"进行协同调整,做好迎战准备。","descRaw":"进行协同调整,做好迎战准备。","color":"#35d8b4","family":"tactic","solo":false,"training":false},"hardbuff_select_1_s":{"id":"hardbuff_select_1_s","choiceType":"BUFF_SELECT","effectType":"BUFF_GAIN","name":"战术决策","desc":"进行协同调整,做好迎战准备。","descRaw":"进行协同调整,做好迎战准备。","color":"#35d8b4","family":"tactic","solo":true,"training":false},"hardbuff_select_2":{"id":"hardbuff_select_2","choiceType":"BUFF_SELECT","effectType":"BUFF_GAIN","name":"战术决策","desc":"进行协同调整,做好迎战准备。","descRaw":"进行协同调整,做好迎战准备。","color":"#35d8b4","family":"tactic","solo":false,"training":false},"hardbuff_select_2_s":{"id":"hardbuff_select_2_s","choiceType":"BUFF_SELECT","effectType":"BUFF_GAIN","name":"战术决策","desc":"进行协同调整,做好迎战准备。","descRaw":"进行协同调整,做好迎战准备。","color":"#35d8b4","family":"tactic","solo":true,"training":false},"hardbuff_select_3":{"id":"hardbuff_select_3","choiceType":"BUFF_SELECT","effectType":"BUFF_GAIN","name":"战术决策","desc":"进行协同调整,做好迎战准备。","descRaw":"进行协同调整,做好迎战准备。","color":"#35d8b4","family":"tactic","solo":false,"training":false},"hardbuff_select_3_s":{"id":"hardbuff_select_3_s","choiceType":"BUFF_SELECT","effectType":"BUFF_GAIN","name":"战术决策","desc":"进行协同调整,做好迎战准备。","descRaw":"进行协同调整,做好迎战准备。","color":"#35d8b4","family":"tactic","solo":true,"training":false},"hunter_band_1":{"id":"hunter_band_1","choiceType":"PERSONAL_CHOOSE","effectType":"ENEMY_GAIN","name":"悬赏决策","desc":"选定悬赏目标,获取额外奖励。","descRaw":"选定悬赏目标,获取额外奖励。","color":"#35d8b4","family":"bounty","solo":false,"training":false,"usedBy":["chess_item_6_03_m","chess_item_6_01_m"]},"terrain_m01_1":{"id":"terrain_m01_1","choiceType":"BUFF_SELECT","effectType":"BUFF_GAIN","name":"战术决策","desc":"进行协同调整,做好迎战准备。","descRaw":"进行协同调整,做好迎战准备。","color":"#35d8b4","family":"tactic","solo":false,"training":false},"terrain_m01_1_s":{"id":"terrain_m01_1_s","choiceType":"BUFF_SELECT","effectType":"BUFF_GAIN","name":"战术决策","desc":"进行协同调整,做好迎战准备。","descRaw":"进行协同调整,做好迎战准备。","color":"#f2bd3e","family":"tactic","solo":true,"training":false},"terrain_m02_1":{"id":"terrain_m02_1","choiceType":"BUFF_SELECT","effectType":"BUFF_GAIN","name":"战术决策","desc":"进行协同调整,做好迎战准备。","descRaw":"进行协同调整,做好迎战准备。","color":"#35d8b4","family":"tactic","solo":false,"training":false},"terrain_m02_1_s":{"id":"terrain_m02_1_s","choiceType":"BUFF_SELECT","effectType":"BUFF_GAIN","name":"战术决策","desc":"进行协同调整,做好迎战准备。","descRaw":"进行协同调整,做好迎战准备。","color":"#f2bd3e","family":"tactic","solo":true,"training":false},"terrain_m02_2":{"id":"terrain_m02_2","choiceType":"BUFF_SELECT","effectType":"BUFF_GAIN","name":"战术决策","desc":"进行协同调整,做好迎战准备。","descRaw":"进行协同调整,做好迎战准备。","color":"#35d8b4","family":"tactic","solo":false,"training":false},"terrain_m02_2_s":{"id":"terrain_m02_2_s","choiceType":"BUFF_SELECT","effectType":"BUFF_GAIN","name":"战术决策","desc":"进行协同调整,做好迎战准备。","descRaw":"进行协同调整,做好迎战准备。","color":"#f2bd3e","family":"tactic","solo":true,"training":false},"terrain_m03_1":{"id":"terrain_m03_1","choiceType":"BUFF_SELECT","effectType":"BUFF_GAIN","name":"战术决策","desc":"进行协同调整,做好迎战准备。","descRaw":"进行协同调整,做好迎战准备。","color":"#35d8b4","family":"tactic","solo":false,"training":false},"terrain_m03_1_s":{"id":"terrain_m03_1_s","choiceType":"BUFF_SELECT","effectType":"BUFF_GAIN","name":"战术决策","desc":"进行协同调整,做好迎战准备。","descRaw":"进行协同调整,做好迎战准备。","color":"#f2bd3e","family":"tactic","solo":true,"training":false},"terrain_m04_1":{"id":"terrain_m04_1","choiceType":"BUFF_SELECT","effectType":"BUFF_GAIN","name":"战术决策","desc":"进行协同调整,做好迎战准备。","descRaw":"进行协同调整,做好迎战准备。","color":"#35d8b4","family":"tactic","solo":false,"training":false},"terrain_m04_1_s":{"id":"terrain_m04_1_s","choiceType":"BUFF_SELECT","effectType":"BUFF_GAIN","name":"战术决策","desc":"进行协同调整,做好迎战准备。","descRaw":"进行协同调整,做好迎战准备。","color":"#f2bd3e","family":"tactic","solo":true,"training":false},"terrain_m06_1":{"id":"terrain_m06_1","choiceType":"BUFF_SELECT","effectType":"BUFF_GAIN","name":"战术决策","desc":"进行协同调整,做好迎战准备。","descRaw":"进行协同调整,做好迎战准备。","color":"#35d8b4","family":"tactic","solo":false,"training":false},"terrain_m06_1_s":{"id":"terrain_m06_1_s","choiceType":"BUFF_SELECT","effectType":"BUFF_GAIN","name":"战术决策","desc":"进行协同调整,做好迎战准备。","descRaw":"进行协同调整,做好迎战准备。","color":"#f2bd3e","family":"tactic","solo":true,"training":false},"terrain_m07_1":{"id":"terrain_m07_1","choiceType":"BUFF_SELECT","effectType":"BUFF_GAIN","name":"战术决策","desc":"进行协同调整,做好迎战准备。","descRaw":"进行协同调整,做好迎战准备。","color":"#35d8b4","family":"tactic","solo":false,"training":false},"terrain_m07_1_s":{"id":"terrain_m07_1_s","choiceType":"BUFF_SELECT","effectType":"BUFF_GAIN","name":"战术决策","desc":"进行协同调整,做好迎战准备。","descRaw":"进行协同调整,做好迎战准备。","color":"#f2bd3e","family":"tactic","solo":true,"training":false}},"families":{"bounty":{"name":"悬赏决策","desc":"选定悬赏目标,获取额外奖励。","cards":"bountyDrafts[schedule[*].bountyDraft] — one official card list of the round (initial: an R3 set of 6; boss: an R9 group of up to 9; hunter: one of the 7 seen R11 lists of 7), six different cards of it drawn by weight, over cards.bounty entries with draft: true and that draftPool"},"supply":{"name":"道具补给","desc":"无需消耗资金,获得装备补给。","cards":"random normal EQUIP items in schedule[*].supplyTiers (duplicates allowed)"},"shop":{"name":"机密商店","desc":"无需消耗资金,获得装备补给。","cards":"at shopDraft.rounds (R11): six slots drawn with replacement (VI, VI, V, 盟约之币, 2 × V / IV / III / 盟约之币); other rounds: random normal EQUIP shop items of tiers I–VI (duplicates allowed) — the same item can come twice"},"tactic":{"name":"战术决策","desc":"进行协同调整,做好迎战准备。","cards":"cards.tactic, each card drawn on its own (with replacement) — the same card can come twice; at tacticDraft.rounds (R11) the ally cards by tacticDraft.weights, other rounds every card uniform (terrain cards only for the match stage)"}},"format":{"multi":{"cards":6,"pickOrder":"random","firstPickSec":30,"otherPickSec":16,"onTimeout":"autoPickRandom","eachPlayerPicks":1},"solo":{"cards":3,"timer":null},"opensAfterIncome":true},"cards":{"bounty":[{"effectId":"enemyeffect_1","name":"无人机护障·P·战术特训","desc":"为自身下场作战添加3只无人机护障·P,若各自行动阶段就达成完美作战,获得2资金","tier":2,"coin":2,"payout":"perfect","rounds":1,"multiRound":false,"enemyKey":"enemy_1355_mrfly_2","count":3,"adds":[{"enemyKey":"enemy_1355_mrfly_2","count":4,"coin":2,"rounds":1,"payout":"perfect","buffKey":"next_battle_add_enemy_win_gain_coin"},{"enemyKey":"enemy_1355_mrfly_2","count":3,"coin":2,"rounds":1,"payout":"perfect","buffKey":"add_enemy_selfbattle_win_gain_coin"}],"draft":false,"draftExcluded":"perfect","draftPool":null,"series":null},{"effectId":"enemyeffect_2","name":"法术大师A2·多轮战术特训","desc":"之后的每场作战添加2只法术大师A2,若各自行动阶段就达成完美作战,获得2资金","tier":2,"coin":2,"payout":"perfect","rounds":99,"multiRound":true,"enemyKey":"enemy_1041_lazerd_2","count":2,"adds":[{"enemyKey":"enemy_1041_lazerd_2","count":2,"coin":2,"rounds":99,"payout":"perfect","buffKey":"add_enemy_selfbattle_win_gain_coin"}],"draft":false,"draftExcluded":"perfect","draftPool":null,"series":null},{"effectId":"enemyeffect_3_2","name":"法术大师A2·悬赏","desc":"为自身下场作战添加1只法术大师A2,将其击倒者获得2资金","tier":2,"coin":2,"payout":"kill","rounds":1,"multiRound":false,"enemyKey":"enemy_1041_lazerd_2","count":1,"adds":[{"enemyKey":"enemy_1041_lazerd_2","count":1,"coin":2,"rounds":1,"payout":"kill","buffKey":"add_enemy_kill_gain_coin"}],"draft":false,"draftExcluded":"unseen","draftPool":null,"series":3},{"effectId":"enemyeffect_3_2_e","name":"“萨科塔之眼”·悬赏","desc":"为自身下场作战添加1只“萨科塔之眼”,将其击倒者获得2资金","tier":2,"coin":2,"payout":"kill","rounds":1,"multiRound":false,"enemyKey":"enemy_10084_hlegle","count":1,"adds":[{"enemyKey":"enemy_10084_hlegle","count":1,"coin":2,"rounds":1,"payout":"kill","buffKey":"add_enemy_kill_gain_coin"}],"draft":false,"draftExcluded":"unseen","draftPool":null,"series":null},{"effectId":"enemyeffect_3_3","name":"元核孽生者·悬赏","desc":"为自身下场作战添加1只元核孽生者,将其击倒者获得3资金","tier":3,"coin":3,"payout":"kill","rounds":1,"multiRound":false,"enemyKey":"enemy_1439_dslntf","count":1,"adds":[{"enemyKey":"enemy_1439_dslntf","count":1,"coin":3,"rounds":1,"payout":"kill","buffKey":"add_enemy_kill_gain_coin"}],"draft":false,"draftExcluded":"unseen","draftPool":null,"series":3},{"effectId":"enemyeffect_3_3_e","name":"幽灵组长·悬赏","desc":"为自身下场作战添加1只幽灵组长,将其击倒者获得1资金","tier":1,"coin":1,"payout":"kill","rounds":1,"multiRound":false,"enemyKey":"enemy_1026_aghost","count":1,"adds":[{"enemyKey":"enemy_1026_aghost","count":1,"coin":1,"rounds":1,"payout":"kill","buffKey":"add_enemy_kill_gain_coin"}],"draft":false,"draftExcluded":"unseen","draftPool":null,"series":null},{"effectId":"enemyeffect_3_4","name":"山海众头目·悬赏","desc":"为自身下场作战添加1只山海众头目,将其击倒者获得2资金","tier":2,"coin":2,"payout":"kill","rounds":1,"multiRound":false,"enemyKey":"enemy_1299_ymkilr","count":1,"adds":[{"enemyKey":"enemy_1299_ymkilr","count":1,"coin":2,"rounds":1,"payout":"kill","buffKey":"add_enemy_kill_gain_coin"}],"draft":false,"draftExcluded":"unseen","draftPool":null,"series":3},{"effectId":"enemyeffect_3_4_e","name":"重装防御者·悬赏","desc":"为自身下场作战添加1只重装防御者,将其击倒者获得1资金","tier":1,"coin":1,"payout":"kill","rounds":1,"multiRound":false,"enemyKey":"enemy_1006_shield","count":1,"adds":[{"enemyKey":"enemy_1006_shield","count":1,"coin":1,"rounds":1,"payout":"kill","buffKey":"add_enemy_kill_gain_coin"}],"draft":false,"draftExcluded":"unseen","draftPool":null,"series":null},{"effectId":"enemyeffect_3_5_e","name":"重弩突袭者·悬赏","desc":"为自身下场作战添加1只重弩突袭者,将其击倒者获得2资金","tier":2,"coin":2,"payout":"kill","rounds":1,"multiRound":false,"enemyKey":"enemy_1404_msnip","count":1,"adds":[{"enemyKey":"enemy_1404_msnip","count":1,"coin":2,"rounds":1,"payout":"kill","buffKey":"add_enemy_kill_gain_coin"}],"draft":false,"draftExcluded":"unseen","draftPool":null,"series":null},{"effectId":"enemyeffect_4","name":"山海众头目·多轮悬赏","desc":"之后的每场作战添加1只山海众头目,将其击倒者获得1资金","tier":2,"coin":1,"payout":"kill","rounds":99,"multiRound":true,"enemyKey":"enemy_1299_ymkilr","count":1,"adds":[{"enemyKey":"enemy_1299_ymkilr","count":1,"coin":1,"rounds":99,"payout":"kill","buffKey":"add_enemy_kill_gain_coin"}],"draft":false,"draftExcluded":"unseen","draftPool":null,"series":null},{"effectId":"enemyeffect_5","name":"鸭爵·悬赏","desc":"为自身下场作战添加1只鸭爵,将其击倒者获得3资金","tier":3,"coin":3,"payout":"kill","rounds":1,"multiRound":false,"enemyKey":"enemy_2001_duckmi","count":1,"adds":[{"enemyKey":"enemy_2001_duckmi","count":1,"coin":3,"rounds":1,"payout":"kill","buffKey":"add_enemy_kill_gain_coin"}],"draft":false,"draftExcluded":"hidden","draftPool":null,"series":null},{"effectId":"enemyeffect_5_1","name":"源石虫·特训","desc":"为自身下场作战添加1只源石虫,但不获得资金","tier":1,"coin":0,"payout":"kill","rounds":1,"multiRound":false,"enemyKey":"enemy_1007_slime","count":1,"adds":[{"enemyKey":"enemy_1007_slime","count":1,"coin":0,"rounds":1,"payout":"kill","buffKey":"add_enemy_kill_gain_coin"}],"draft":true,"draftExcluded":null,"draftPool":"boss","series":5},{"effectId":"enemyeffect_6","name":"高普尼克·悬赏","desc":"为自身下场作战添加1只高普尼克,将其击倒者获得3资金","tier":3,"coin":3,"payout":"kill","rounds":1,"multiRound":false,"enemyKey":"enemy_2002_bearmi","count":1,"adds":[{"enemyKey":"enemy_2002_bearmi","count":1,"coin":3,"rounds":1,"payout":"kill","buffKey":"add_enemy_kill_gain_coin"}],"draft":false,"draftExcluded":"hidden","draftPool":null,"series":null},{"effectId":"enemyeffect_7","name":"流泪小子·悬赏","desc":"为自身下场作战添加1只流泪小子,将其击倒者获得3资金","tier":3,"coin":3,"payout":"kill","rounds":1,"multiRound":false,"enemyKey":"enemy_2034_sythef","count":1,"adds":[{"enemyKey":"enemy_2034_sythef","count":1,"coin":3,"rounds":1,"payout":"kill","buffKey":"add_enemy_kill_gain_coin"}],"draft":false,"draftExcluded":"hidden","draftPool":null,"series":null},{"effectId":"enemyeffect_8","name":"圆仔·悬赏","desc":"为自身下场作战添加1只圆仔,将其击倒者获得3资金","tier":3,"coin":3,"payout":"kill","rounds":1,"multiRound":false,"enemyKey":"enemy_2085_skzjxd","count":1,"adds":[{"enemyKey":"enemy_2085_skzjxd","count":1,"coin":3,"rounds":1,"payout":"kill","buffKey":"add_enemy_kill_gain_coin"}],"draft":false,"draftExcluded":"hidden","draftPool":null,"series":null},{"effectId":"enemyeffect_10_1","name":"战术特训·飞行I","desc":"为自身下场战斗添加1只妖怪,若各自行动阶段就达成完美作战,获得1资金","tier":1,"coin":1,"payout":"perfect","rounds":1,"multiRound":false,"enemyKey":"enemy_1005_yokai","count":1,"adds":[{"enemyKey":"enemy_1005_yokai","count":1,"coin":1,"rounds":1,"payout":"perfect","buffKey":"add_enemy_selfbattle_win_gain_coin"}],"draft":false,"draftExcluded":"perfect","draftPool":null,"series":10},{"effectId":"enemyeffect_10_2","name":"战术特训·飞行II","desc":"为自身下场战斗添加1只暴鸰,若各自行动阶段就达成完美作战,获得2资金","tier":2,"coin":2,"payout":"perfect","rounds":1,"multiRound":false,"enemyKey":"enemy_1040_bombd","count":1,"adds":[{"enemyKey":"enemy_1040_bombd","count":1,"coin":2,"rounds":1,"payout":"perfect","buffKey":"add_enemy_selfbattle_win_gain_coin"}],"draft":false,"draftExcluded":"perfect","draftPool":null,"series":10},{"effectId":"enemyeffect_10_3","name":"战术特训·飞行III","desc":"为自身下场战斗添加1只帝国炮火中枢先兆者,若各自行动阶段就达成完美作战,获得3资金","tier":3,"coin":3,"payout":"perfect","rounds":1,"multiRound":false,"enemyKey":"enemy_1112_emppnt_2","count":1,"adds":[{"enemyKey":"enemy_1112_emppnt_2","count":1,"coin":3,"rounds":1,"payout":"perfect","buffKey":"add_enemy_selfbattle_win_gain_coin"}],"draft":false,"draftExcluded":"perfect","draftPool":null,"series":10},{"effectId":"enemyeffect_10_4","name":"悬赏·飞行I","desc":"为自身接下来两场作战添加1只妖怪,将其击倒者获得1资金","tier":1,"coin":1,"payout":"kill","rounds":2,"multiRound":false,"enemyKey":"enemy_1005_yokai","count":1,"adds":[{"enemyKey":"enemy_1005_yokai","count":1,"coin":1,"rounds":2,"payout":"kill","buffKey":"add_enemy_kill_gain_coin"}],"draft":true,"draftExcluded":null,"draftPool":"initial","series":10},{"effectId":"enemyeffect_10_5","name":"悬赏·飞行II","desc":"为自身接下来两场作战添加1只暴鸰,将其击倒者获得2资金","tier":2,"coin":2,"payout":"kill","rounds":2,"multiRound":false,"enemyKey":"enemy_1040_bombd","count":1,"adds":[{"enemyKey":"enemy_1040_bombd","count":1,"coin":2,"rounds":2,"payout":"kill","buffKey":"add_enemy_kill_gain_coin"}],"draft":true,"draftExcluded":null,"draftPool":"initial","series":10},{"effectId":"enemyeffect_10_6","name":"悬赏·飞行III","desc":"为自身接下来两场作战添加1只法术大师A1,将其击倒者获得3资金","tier":3,"coin":3,"payout":"kill","rounds":2,"multiRound":false,"enemyKey":"enemy_1041_lazerd","count":1,"adds":[{"enemyKey":"enemy_1041_lazerd","count":1,"coin":3,"rounds":2,"payout":"kill","buffKey":"add_enemy_kill_gain_coin"}],"draft":true,"draftExcluded":null,"draftPool":"initial","series":10},{"effectId":"enemyeffect_10_7","name":"悬赏·飞行I","desc":"为自身下场战斗添加1只法术大师A2,将其击倒者获得1资金","tier":1,"coin":1,"payout":"kill","rounds":1,"multiRound":false,"enemyKey":"enemy_1041_lazerd_2","count":1,"adds":[{"enemyKey":"enemy_1041_lazerd_2","count":1,"coin":1,"rounds":1,"payout":"kill","buffKey":"add_enemy_kill_gain_coin"}],"draft":true,"draftExcluded":null,"draftPool":"hunter","series":10},{"effectId":"enemyeffect_10_8","name":"悬赏·飞行II","desc":"为自身下场战斗添加1只枯朽萃聚使徒,将其击倒者获得2资金","tier":2,"coin":2,"payout":"kill","rounds":1,"multiRound":false,"enemyKey":"enemy_1321_wdarft","count":1,"adds":[{"enemyKey":"enemy_1321_wdarft","count":1,"coin":2,"rounds":1,"payout":"kill","buffKey":"add_enemy_kill_gain_coin"}],"draft":true,"draftExcluded":null,"draftPool":"hunter","series":10},{"effectId":"enemyeffect_11_1","name":"战术特训·频次I","desc":"为自身下场战斗添加1只磨砻,若各自行动阶段就达成完美作战,获得1资金","tier":1,"coin":1,"payout":"perfect","rounds":1,"multiRound":false,"enemyKey":"enemy_1195_sfyin","count":1,"adds":[{"enemyKey":"enemy_1195_sfyin","count":1,"coin":1,"rounds":1,"payout":"perfect","buffKey":"add_enemy_selfbattle_win_gain_coin"}],"draft":false,"draftExcluded":"perfect","draftPool":null,"series":11},{"effectId":"enemyeffect_11_2","name":"战术特训·频次II","desc":"为自身下场战斗添加1只烹泉,若各自行动阶段就达成完美作战,获得2资金","tier":2,"coin":2,"payout":"perfect","rounds":1,"multiRound":false,"enemyKey":"enemy_1203_sfhu","count":1,"adds":[{"enemyKey":"enemy_1203_sfhu","count":1,"coin":2,"rounds":1,"payout":"perfect","buffKey":"add_enemy_selfbattle_win_gain_coin"}],"draft":false,"draftExcluded":"perfect","draftPool":null,"series":11},{"effectId":"enemyeffect_11_3","name":"战术特训·频次III","desc":"为自身下场战斗添加1只新硎,若各自行动阶段就达成完美作战,获得3资金","tier":3,"coin":3,"payout":"perfect","rounds":1,"multiRound":false,"enemyKey":"enemy_1207_sfji_2","count":1,"adds":[{"enemyKey":"enemy_1207_sfji_2","count":1,"coin":3,"rounds":1,"payout":"perfect","buffKey":"add_enemy_selfbattle_win_gain_coin"}],"draft":false,"draftExcluded":"perfect","draftPool":null,"series":11},{"effectId":"enemyeffect_11_4","name":"悬赏·频次I","desc":"为自身接下来两场作战添加1只磨砻,将其击倒者获得1资金","tier":1,"coin":1,"payout":"kill","rounds":2,"multiRound":false,"enemyKey":"enemy_1195_sfyin","count":1,"adds":[{"enemyKey":"enemy_1195_sfyin","count":1,"coin":1,"rounds":2,"payout":"kill","buffKey":"add_enemy_kill_gain_coin"}],"draft":true,"draftExcluded":null,"draftPool":"initial","series":11},{"effectId":"enemyeffect_11_5","name":"悬赏·频次II","desc":"为自身接下来两场作战添加1只烹泉,将其击倒者获得2资金","tier":2,"coin":2,"payout":"kill","rounds":2,"multiRound":false,"enemyKey":"enemy_1203_sfhu","count":1,"adds":[{"enemyKey":"enemy_1203_sfhu","count":1,"coin":2,"rounds":2,"payout":"kill","buffKey":"add_enemy_kill_gain_coin"}],"draft":true,"draftExcluded":null,"draftPool":"initial","series":11},{"effectId":"enemyeffect_11_6","name":"悬赏·频次III","desc":"为自身接下来两场作战添加1只清明,将其击倒者获得3资金","tier":3,"coin":3,"payout":"kill","rounds":2,"multiRound":false,"enemyKey":"enemy_1209_sfden","count":1,"adds":[{"enemyKey":"enemy_1209_sfden","count":1,"coin":3,"rounds":2,"payout":"kill","buffKey":"add_enemy_kill_gain_coin"}],"draft":true,"draftExcluded":null,"draftPool":"initial","series":11},{"effectId":"enemyeffect_11_7","name":"悬赏·频次I","desc":"为自身下场战斗添加1只沏虹,将其击倒者获得1资金","tier":1,"coin":1,"payout":"kill","rounds":1,"multiRound":false,"enemyKey":"enemy_1203_sfhu_2","count":1,"adds":[{"enemyKey":"enemy_1203_sfhu_2","count":1,"coin":1,"rounds":1,"payout":"kill","buffKey":"add_enemy_kill_gain_coin"}],"draft":true,"draftExcluded":null,"draftPool":"hunter","series":11},{"effectId":"enemyeffect_11_8","name":"悬赏·频次II","desc":"为自身下场战斗添加1只新硎,将其击倒者获得2资金","tier":2,"coin":2,"payout":"kill","rounds":1,"multiRound":false,"enemyKey":"enemy_1207_sfji_2","count":1,"adds":[{"enemyKey":"enemy_1207_sfji_2","count":1,"coin":2,"rounds":1,"payout":"kill","buffKey":"add_enemy_kill_gain_coin"}],"draft":true,"draftExcluded":null,"draftPool":"hunter","series":11},{"effectId":"enemyeffect_12_1","name":"战术特训·损伤I","desc":"为自身下场战斗添加1只底海滑动者,若各自行动阶段就达成完美作战,获得1资金","tier":1,"coin":1,"payout":"perfect","rounds":1,"multiRound":false,"enemyKey":"enemy_1148_dssbr","count":1,"adds":[{"enemyKey":"enemy_1148_dssbr","count":1,"coin":1,"rounds":1,"payout":"perfect","buffKey":"add_enemy_selfbattle_win_gain_coin"}],"draft":false,"draftExcluded":"perfect","draftPool":null,"series":12},{"effectId":"enemyeffect_12_2","name":"战术特训·损伤II","desc":"为自身下场战斗添加1只炽焰源石虫,若各自行动阶段就达成完美作战,获得2资金","tier":2,"coin":2,"payout":"perfect","rounds":1,"multiRound":false,"enemyKey":"enemy_1305_mhslim_2","count":1,"adds":[{"enemyKey":"enemy_1305_mhslim_2","count":1,"coin":2,"rounds":1,"payout":"perfect","buffKey":"add_enemy_selfbattle_win_gain_coin"}],"draft":false,"draftExcluded":"perfect","draftPool":null,"series":12},{"effectId":"enemyeffect_12_3","name":"战术特训·损伤III","desc":"为自身下场战斗添加1只灼藤,若各自行动阶段就达成完美作战,获得3资金","tier":3,"coin":3,"payout":"perfect","rounds":1,"multiRound":false,"enemyKey":"enemy_10067_ftsjc","count":1,"adds":[{"enemyKey":"enemy_10067_ftsjc","count":1,"coin":3,"rounds":1,"payout":"perfect","buffKey":"add_enemy_selfbattle_win_gain_coin"}],"draft":false,"draftExcluded":"perfect","draftPool":null,"series":12},{"effectId":"enemyeffect_12_4","name":"悬赏·损伤I","desc":"为自身接下来两场作战添加1只底海滑动者,将其击倒者获得1资金","tier":1,"coin":1,"payout":"kill","rounds":2,"multiRound":false,"enemyKey":"enemy_1148_dssbr","count":1,"adds":[{"enemyKey":"enemy_1148_dssbr","count":1,"coin":1,"rounds":2,"payout":"kill","buffKey":"add_enemy_kill_gain_coin"}],"draft":true,"draftExcluded":null,"draftPool":"initial","series":12},{"effectId":"enemyeffect_12_5","name":"悬赏·损伤II","desc":"为自身接下来两场作战添加1只控潮术师,将其击倒者获得2资金","tier":2,"coin":2,"payout":"kill","rounds":2,"multiRound":false,"enemyKey":"enemy_1161_tidmag","count":1,"adds":[{"enemyKey":"enemy_1161_tidmag","count":1,"coin":2,"rounds":2,"payout":"kill","buffKey":"add_enemy_kill_gain_coin"}],"draft":true,"draftExcluded":null,"draftPool":"initial","series":12},{"effectId":"enemyeffect_12_6","name":"悬赏·损伤III","desc":"为自身接下来两场作战添加1只术师快艇,将其击倒者获得3资金","tier":3,"coin":3,"payout":"kill","rounds":2,"multiRound":false,"enemyKey":"enemy_1162_magmot","count":1,"adds":[{"enemyKey":"enemy_1162_magmot","count":1,"coin":3,"rounds":2,"payout":"kill","buffKey":"add_enemy_kill_gain_coin"}],"draft":true,"draftExcluded":null,"draftPool":"initial","series":12},{"effectId":"enemyeffect_12_7","name":"悬赏·损伤II","desc":"为自身下场战斗添加1只灼藤,将其击倒者获得2资金","tier":2,"coin":2,"payout":"kill","rounds":1,"multiRound":false,"enemyKey":"enemy_10067_ftsjc","count":1,"adds":[{"enemyKey":"enemy_10067_ftsjc","count":1,"coin":2,"rounds":1,"payout":"kill","buffKey":"add_enemy_kill_gain_coin"}],"draft":true,"draftExcluded":null,"draftPool":"hunter","series":12},{"effectId":"enemyeffect_12_8","name":"悬赏·损伤II","desc":"为自身下场战斗添加1只异光体孽生者,将其击倒者获得2资金","tier":2,"coin":2,"payout":"kill","rounds":1,"multiRound":false,"enemyKey":"enemy_1439_dslntf_2","count":1,"adds":[{"enemyKey":"enemy_1439_dslntf_2","count":1,"coin":2,"rounds":1,"payout":"kill","buffKey":"add_enemy_kill_gain_coin"}],"draft":true,"draftExcluded":null,"draftPool":"hunter","series":12},{"effectId":"enemyeffect_13_1","name":"战术特训·持续I","desc":"为自身下场战斗添加1只逐腐兽,若各自行动阶段就达成完美作战,获得1资金","tier":1,"coin":1,"payout":"perfect","rounds":1,"multiRound":false,"enemyKey":"enemy_1270_nhstlk","count":1,"adds":[{"enemyKey":"enemy_1270_nhstlk","count":1,"coin":1,"rounds":1,"payout":"perfect","buffKey":"add_enemy_selfbattle_win_gain_coin"}],"draft":false,"draftExcluded":"perfect","draftPool":null,"series":13},{"effectId":"enemyeffect_13_2","name":"战术特训·持续II","desc":"为自身下场战斗添加1只萨卡兹枯朽战士组长,若各自行动阶段就达成完美作战,获得2资金","tier":2,"coin":2,"payout":"perfect","rounds":1,"multiRound":false,"enemyKey":"enemy_1267_nhpbr_2","count":1,"adds":[{"enemyKey":"enemy_1267_nhpbr_2","count":1,"coin":2,"rounds":1,"payout":"perfect","buffKey":"add_enemy_selfbattle_win_gain_coin"}],"draft":false,"draftExcluded":"perfect","draftPool":null,"series":13},{"effectId":"enemyeffect_13_3","name":"战术特训·持续III","desc":"为自身下场战斗添加1只尖端萨卡兹枯朽战车,若各自行动阶段就达成完美作战,获得3资金","tier":3,"coin":3,"payout":"perfect","rounds":1,"multiRound":false,"enemyKey":"enemy_1272_nhtank_2","count":1,"adds":[{"enemyKey":"enemy_1272_nhtank_2","count":1,"coin":3,"rounds":1,"payout":"perfect","buffKey":"add_enemy_selfbattle_win_gain_coin"}],"draft":false,"draftExcluded":"perfect","draftPool":null,"series":13},{"effectId":"enemyeffect_13_4","name":"悬赏·持续I","desc":"为自身接下来两场作战添加1只萨卡兹枯朽战士组长,将其击倒者获得1资金","tier":1,"coin":1,"payout":"kill","rounds":2,"multiRound":false,"enemyKey":"enemy_1267_nhpbr_2","count":1,"adds":[{"enemyKey":"enemy_1267_nhpbr_2","count":1,"coin":1,"rounds":2,"payout":"kill","buffKey":"add_enemy_kill_gain_coin"}],"draft":true,"draftExcluded":null,"draftPool":"initial","series":13},{"effectId":"enemyeffect_13_5","name":"悬赏·持续II","desc":"为自身接下来两场作战添加1只逐腐兽,将其击倒者获得2资金","tier":2,"coin":2,"payout":"kill","rounds":2,"multiRound":false,"enemyKey":"enemy_1270_nhstlk","count":1,"adds":[{"enemyKey":"enemy_1270_nhstlk","count":1,"coin":2,"rounds":2,"payout":"kill","buffKey":"add_enemy_kill_gain_coin"}],"draft":true,"draftExcluded":null,"draftPool":"initial","series":13},{"effectId":"enemyeffect_13_6","name":"悬赏·持续III","desc":"为自身接下来两场作战添加1只萨卡兹枯朽战车,将其击倒者获得3资金","tier":3,"coin":3,"payout":"kill","rounds":2,"multiRound":false,"enemyKey":"enemy_1272_nhtank","count":1,"adds":[{"enemyKey":"enemy_1272_nhtank","count":1,"coin":3,"rounds":2,"payout":"kill","buffKey":"add_enemy_kill_gain_coin"}],"draft":true,"draftExcluded":null,"draftPool":"initial","series":13},{"effectId":"enemyeffect_13_7","name":"悬赏·持续I","desc":"为自身下场战斗添加1只假想敌:蚀裂,将其击倒者获得1资金","tier":1,"coin":1,"payout":"kill","rounds":1,"multiRound":false,"enemyKey":"enemy_9006_actoxi","count":1,"adds":[{"enemyKey":"enemy_9006_actoxi","count":1,"coin":1,"rounds":1,"payout":"kill","buffKey":"add_enemy_kill_gain_coin"}],"draft":true,"draftExcluded":null,"draftPool":"hunter","series":13},{"effectId":"enemyeffect_13_8","name":"悬赏·持续II","desc":"为自身下场战斗添加1只尖端萨卡兹枯朽战车,将其击倒者获得2资金","tier":2,"coin":2,"payout":"kill","rounds":1,"multiRound":false,"enemyKey":"enemy_1272_nhtank_2","count":1,"adds":[{"enemyKey":"enemy_1272_nhtank_2","count":1,"coin":2,"rounds":1,"payout":"kill","buffKey":"add_enemy_kill_gain_coin"}],"draft":true,"draftExcluded":null,"draftPool":"hunter","series":13},{"effectId":"enemyeffect_14_1","name":"战术特训·隐匿I","desc":"为自身下场战斗添加1只隐形弩手,若各自行动阶段就达成完美作战,获得1资金","tier":1,"coin":1,"payout":"perfect","rounds":1,"multiRound":false,"enemyKey":"enemy_1019_jshoot","count":1,"adds":[{"enemyKey":"enemy_1019_jshoot","count":1,"coin":1,"rounds":1,"payout":"perfect","buffKey":"add_enemy_selfbattle_win_gain_coin"}],"draft":false,"draftExcluded":"perfect","draftPool":null,"series":14},{"effectId":"enemyeffect_14_2","name":"战术特训·隐匿II","desc":"为自身下场战斗添加1只节日爵士乐手,若各自行动阶段就达成完美作战,获得2资金","tier":2,"coin":2,"payout":"perfect","rounds":1,"multiRound":false,"enemyKey":"enemy_10034_cnvsax","count":1,"adds":[{"enemyKey":"enemy_10034_cnvsax","count":1,"coin":2,"rounds":1,"payout":"perfect","buffKey":"add_enemy_selfbattle_win_gain_coin"}],"draft":false,"draftExcluded":"perfect","draftPool":null,"series":14},{"effectId":"enemyeffect_14_3","name":"战术特训·隐匿III","desc":"为自身下场战斗添加1只家族灭迹人,若各自行动阶段就达成完美作战,获得3资金","tier":3,"coin":3,"payout":"perfect","rounds":1,"multiRound":false,"enemyKey":"enemy_1283_sgkill","count":1,"adds":[{"enemyKey":"enemy_1283_sgkill","count":1,"coin":3,"rounds":1,"payout":"perfect","buffKey":"add_enemy_selfbattle_win_gain_coin"}],"draft":false,"draftExcluded":"perfect","draftPool":null,"series":14},{"effectId":"enemyeffect_14_4","name":"悬赏·隐匿I","desc":"为自身接下来两场作战添加1只隐形弩手,将其击倒者获得1资金","tier":1,"coin":1,"payout":"kill","rounds":2,"multiRound":false,"enemyKey":"enemy_1019_jshoot","count":1,"adds":[{"enemyKey":"enemy_1019_jshoot","count":1,"coin":1,"rounds":2,"payout":"kill","buffKey":"add_enemy_kill_gain_coin"}],"draft":true,"draftExcluded":null,"draftPool":"initial","series":14},{"effectId":"enemyeffect_14_5","name":"悬赏·隐匿II","desc":"为自身接下来两场作战添加1只隐形术师,将其击倒者获得2资金","tier":2,"coin":2,"payout":"kill","rounds":2,"multiRound":false,"enemyKey":"enemy_1023_jmage","count":1,"adds":[{"enemyKey":"enemy_1023_jmage","count":1,"coin":2,"rounds":2,"payout":"kill","buffKey":"add_enemy_kill_gain_coin"}],"draft":true,"draftExcluded":null,"draftPool":"initial","series":14},{"effectId":"enemyeffect_14_6","name":"悬赏·隐匿III","desc":"为自身接下来两场作战添加1只山海众头目,将其击倒者获得3资金","tier":3,"coin":3,"payout":"kill","rounds":2,"multiRound":false,"enemyKey":"enemy_1299_ymkilr","count":1,"adds":[{"enemyKey":"enemy_1299_ymkilr","count":1,"coin":3,"rounds":2,"payout":"kill","buffKey":"add_enemy_kill_gain_coin"}],"draft":true,"draftExcluded":null,"draftPool":"initial","series":14},{"effectId":"enemyeffect_14_7","name":"悬赏·隐匿I","desc":"为自身下场战斗添加1只重弩突袭者,将其击倒者获得1资金","tier":1,"coin":1,"payout":"kill","rounds":1,"multiRound":false,"enemyKey":"enemy_1404_msnip","count":1,"adds":[{"enemyKey":"enemy_1404_msnip","count":1,"coin":1,"rounds":1,"payout":"kill","buffKey":"add_enemy_kill_gain_coin"}],"draft":true,"draftExcluded":null,"draftPool":"hunter","series":14},{"effectId":"enemyeffect_14_8","name":"悬赏·隐匿II","desc":"为自身下场战斗添加1只家族暗影灭迹人,将其击倒者获得2资金","tier":2,"coin":2,"payout":"kill","rounds":1,"multiRound":false,"enemyKey":"enemy_1283_sgkill_2","count":1,"adds":[{"enemyKey":"enemy_1283_sgkill_2","count":1,"coin":2,"rounds":1,"payout":"kill","buffKey":"add_enemy_kill_gain_coin"}],"draft":true,"draftExcluded":null,"draftPool":"hunter","series":14},{"effectId":"enemyeffect_15_1","name":"战术特训·折射I","desc":"为自身下场战斗添加1只深池方阵战士,若各自行动阶段就达成完美作战,获得1资金","tier":1,"coin":1,"payout":"perfect","rounds":1,"multiRound":false,"enemyKey":"enemy_1169_duphlx","count":1,"adds":[{"enemyKey":"enemy_1169_duphlx","count":1,"coin":1,"rounds":1,"payout":"perfect","buffKey":"add_enemy_selfbattle_win_gain_coin"}],"draft":false,"draftExcluded":"perfect","draftPool":null,"series":15},{"effectId":"enemyeffect_15_2","name":"战术特训·折射II","desc":"为自身下场战斗添加1只深池暗影术师队长,若各自行动阶段就达成完美作战,获得2资金","tier":2,"coin":2,"payout":"perfect","rounds":1,"multiRound":false,"enemyKey":"enemy_1168_dumage_2","count":1,"adds":[{"enemyKey":"enemy_1168_dumage_2","count":1,"coin":2,"rounds":1,"payout":"perfect","buffKey":"add_enemy_selfbattle_win_gain_coin"}],"draft":false,"draftExcluded":"perfect","draftPool":null,"series":15},{"effectId":"enemyeffect_15_3","name":"战术特训·折射III","desc":"为自身下场战斗添加1只深池伙友卫队精英,若各自行动阶段就达成完美作战,获得3资金","tier":3,"coin":3,"payout":"perfect","rounds":1,"multiRound":false,"enemyKey":"enemy_1174_duholy_2","count":1,"adds":[{"enemyKey":"enemy_1174_duholy_2","count":1,"coin":3,"rounds":1,"payout":"perfect","buffKey":"add_enemy_selfbattle_win_gain_coin"}],"draft":false,"draftExcluded":"perfect","draftPool":null,"series":15},{"effectId":"enemyeffect_15_4","name":"悬赏·折射I","desc":"为自身接下来两场作战添加1只深池方阵战士,将其击倒者获得1资金","tier":1,"coin":1,"payout":"kill","rounds":2,"multiRound":false,"enemyKey":"enemy_1169_duphlx","count":1,"adds":[{"enemyKey":"enemy_1169_duphlx","count":1,"coin":1,"rounds":2,"payout":"kill","buffKey":"add_enemy_kill_gain_coin"}],"draft":true,"draftExcluded":null,"draftPool":"initial","series":15},{"effectId":"enemyeffect_15_5","name":"悬赏·折射II","desc":"为自身接下来两场作战添加1只深池暗影术师,将其击倒者获得2资金","tier":2,"coin":2,"payout":"kill","rounds":2,"multiRound":false,"enemyKey":"enemy_1168_dumage","count":1,"adds":[{"enemyKey":"enemy_1168_dumage","count":1,"coin":2,"rounds":2,"payout":"kill","buffKey":"add_enemy_kill_gain_coin"}],"draft":true,"draftExcluded":null,"draftPool":"initial","series":15},{"effectId":"enemyeffect_15_6","name":"悬赏·折射III","desc":"为自身接下来两场作战添加1只深池伙友卫队,将其击倒者获得3资金","tier":3,"coin":3,"payout":"kill","rounds":2,"multiRound":false,"enemyKey":"enemy_1174_duholy","count":1,"adds":[{"enemyKey":"enemy_1174_duholy","count":1,"coin":3,"rounds":2,"payout":"kill","buffKey":"add_enemy_kill_gain_coin"}],"draft":true,"draftExcluded":null,"draftPool":"initial","series":15},{"effectId":"enemyeffect_15_7","name":"悬赏·折射II","desc":"为自身下场战斗添加1只深池重甲卫士队长,将其击倒者获得2资金","tier":2,"coin":2,"payout":"kill","rounds":1,"multiRound":false,"enemyKey":"enemy_1170_dushld_2","count":1,"adds":[{"enemyKey":"enemy_1170_dushld_2","count":1,"coin":2,"rounds":1,"payout":"kill","buffKey":"add_enemy_kill_gain_coin"}],"draft":true,"draftExcluded":null,"draftPool":"hunter","series":15},{"effectId":"enemyeffect_15_8","name":"悬赏·折射II","desc":"为自身下场战斗添加1只愤怒的守墓石像,将其击倒者获得2资金","tier":2,"coin":2,"payout":"kill","rounds":1,"multiRound":false,"enemyKey":"enemy_1172_dugago_2","count":1,"adds":[{"enemyKey":"enemy_1172_dugago_2","count":1,"coin":2,"rounds":1,"payout":"kill","buffKey":"add_enemy_kill_gain_coin"}],"draft":true,"draftExcluded":null,"draftPool":"hunter","series":15},{"effectId":"enemyeffect_16_1","name":"悬赏·特异III","desc":"为自身下场战斗添加1只泥岩巨像,将其击倒者获得3资金","tier":3,"coin":3,"payout":"kill","rounds":1,"multiRound":false,"enemyKey":"enemy_1092_mdgint","count":1,"adds":[{"enemyKey":"enemy_1092_mdgint","count":1,"coin":3,"rounds":1,"payout":"kill","buffKey":"add_enemy_kill_gain_coin"}],"draft":true,"draftExcluded":null,"draftPool":"hunter","series":16},{"effectId":"enemyeffect_16_2","name":"悬赏·特异III","desc":"为自身下场战斗添加1只“越长尘”,将其击倒者获得3资金","tier":3,"coin":3,"payout":"kill","rounds":1,"multiRound":false,"enemyKey":"enemy_1302_ymtro_2","count":1,"adds":[{"enemyKey":"enemy_1302_ymtro_2","count":1,"coin":3,"rounds":1,"payout":"kill","buffKey":"add_enemy_kill_gain_coin"}],"draft":true,"draftExcluded":null,"draftPool":"hunter","series":16},{"effectId":"enemyeffect_16_3","name":"悬赏·特异III","desc":"为自身下场战斗添加1只狂暴宿主组长,将其击倒者获得3资金","tier":3,"coin":3,"payout":"kill","rounds":1,"multiRound":false,"enemyKey":"enemy_1062_rager_2","count":1,"adds":[{"enemyKey":"enemy_1062_rager_2","count":1,"coin":3,"rounds":1,"payout":"kill","buffKey":"add_enemy_kill_gain_coin"}],"draft":true,"draftExcluded":null,"draftPool":"hunter","series":16},{"effectId":"enemyeffect_16_4","name":"悬赏·特异III","desc":"为自身下场战斗添加1只温顺的武装大驮兽,将其击倒者获得3资金","tier":3,"coin":3,"payout":"kill","rounds":1,"multiRound":false,"enemyKey":"enemy_1415_mmkabi_2","count":1,"adds":[{"enemyKey":"enemy_1415_mmkabi_2","count":1,"coin":3,"rounds":1,"payout":"kill","buffKey":"add_enemy_kill_gain_coin"}],"draft":true,"draftExcluded":null,"draftPool":"hunter","series":16},{"effectId":"enemyeffect_16_5","name":"悬赏·特异III","desc":"为自身下场战斗添加1只萨卡兹骸骨拷打者,将其击倒者获得3资金","tier":3,"coin":3,"payout":"kill","rounds":1,"multiRound":false,"enemyKey":"enemy_1364_spnaxe_2","count":1,"adds":[{"enemyKey":"enemy_1364_spnaxe_2","count":1,"coin":3,"rounds":1,"payout":"kill","buffKey":"add_enemy_kill_gain_coin"}],"draft":true,"draftExcluded":null,"draftPool":"hunter","series":16},{"effectId":"enemyeffect_16_6","name":"悬赏·特异III","desc":"为自身下场战斗添加1只高准度伦蒂尼姆城防自行炮,将其击倒者获得3资金","tier":3,"coin":3,"payout":"kill","rounds":1,"multiRound":false,"enemyKey":"enemy_1273_stmgun_2","count":1,"adds":[{"enemyKey":"enemy_1273_stmgun_2","count":1,"coin":3,"rounds":1,"payout":"kill","buffKey":"add_enemy_kill_gain_coin"}],"draft":true,"draftExcluded":null,"draftPool":"hunter","series":16},{"effectId":"enemyeffect_16_7","name":"悬赏·特异III","desc":"为自身下场战斗添加1只乌顶巨角卢鲁,将其击倒者获得3资金","tier":3,"coin":3,"payout":"kill","rounds":1,"multiRound":false,"enemyKey":"enemy_10144_xdelk_2","count":1,"adds":[{"enemyKey":"enemy_10144_xdelk_2","count":1,"coin":3,"rounds":1,"payout":"kill","buffKey":"add_enemy_kill_gain_coin"}],"draft":true,"draftExcluded":null,"draftPool":"hunter","series":16},{"effectId":"enemyeffect_16_8","name":"悬赏·特异III","desc":"为自身下场战斗添加1只伊利昂的木驮兽,将其击倒者获得3资金","tier":3,"coin":3,"payout":"kill","rounds":1,"multiRound":false,"enemyKey":"enemy_10159_mntrjn","count":1,"adds":[{"enemyKey":"enemy_10159_mntrjn","count":1,"coin":3,"rounds":1,"payout":"kill","buffKey":"add_enemy_kill_gain_coin"}],"draft":true,"draftExcluded":null,"draftPool":"hunter","series":16},{"effectId":"enemyeffect_16_9","name":"悬赏·特异II","desc":"为自身下场战斗添加1只拥霜羽兽,将其击倒者获得2资金","tier":2,"coin":2,"payout":"kill","rounds":1,"multiRound":false,"enemyKey":"enemy_10141_xdpeng_2","count":1,"adds":[{"enemyKey":"enemy_10141_xdpeng_2","count":1,"coin":2,"rounds":1,"payout":"kill","buffKey":"add_enemy_kill_gain_coin"}],"draft":true,"draftExcluded":null,"draftPool":"hunter","series":16},{"effectId":"enemyeffect_16_10","name":"悬赏·特异II","desc":"为自身下场战斗添加1只异质裂兽·α,将其击倒者获得2资金","tier":2,"coin":2,"payout":"kill","rounds":1,"multiRound":false,"enemyKey":"enemy_10127_rkmbst_2","count":1,"adds":[{"enemyKey":"enemy_10127_rkmbst_2","count":1,"coin":2,"rounds":1,"payout":"kill","buffKey":"add_enemy_kill_gain_coin"}],"draft":true,"draftExcluded":null,"draftPool":"hunter","series":16},{"effectId":"enemyeffect_16_11","name":"悬赏·损伤I","desc":"为自身下场战斗添加1只心虚设计师,将其击倒者获得1资金","tier":1,"coin":1,"payout":"kill","rounds":1,"multiRound":false,"enemyKey":"enemy_10097_crshd","count":1,"adds":[{"enemyKey":"enemy_10097_crshd","count":1,"coin":1,"rounds":1,"payout":"kill","buffKey":"add_enemy_kill_gain_coin"}],"draft":true,"draftExcluded":null,"draftPool":"hunter","series":16},{"effectId":"enemyeffect_16_12","name":"悬赏·特异I","desc":"为自身下场战斗添加1只转译基底·α,将其击倒者获得1资金","tier":1,"coin":1,"payout":"kill","rounds":1,"multiRound":false,"enemyKey":"enemy_10081_mpplai","count":1,"adds":[{"enemyKey":"enemy_10081_mpplai","count":1,"coin":1,"rounds":1,"payout":"kill","buffKey":"add_enemy_kill_gain_coin"}],"draft":true,"draftExcluded":null,"draftPool":"hunter","series":16},{"effectId":"enemyeffect_17_1","name":"悬赏·特异I","desc":"为自身接下来两场作战添加1只雪孩子,将其击倒者获得1资金","tier":1,"coin":1,"payout":"kill","rounds":2,"multiRound":false,"enemyKey":"enemy_10138_xdsnow","count":1,"adds":[{"enemyKey":"enemy_10138_xdsnow","count":1,"coin":1,"rounds":2,"payout":"kill","buffKey":"add_enemy_kill_gain_coin"}],"draft":true,"draftExcluded":null,"draftPool":"initial","series":17},{"effectId":"enemyeffect_17_2","name":"悬赏·特异I","desc":"为自身接下来两场作战添加1只新手祭司学徒,将其击倒者获得1资金","tier":1,"coin":1,"payout":"kill","rounds":2,"multiRound":false,"enemyKey":"enemy_10156_mncrer","count":1,"adds":[{"enemyKey":"enemy_10156_mncrer","count":1,"coin":1,"rounds":2,"payout":"kill","buffKey":"add_enemy_kill_gain_coin"}],"draft":true,"draftExcluded":null,"draftPool":"initial","series":17},{"effectId":"enemyeffect_17_3","name":"悬赏·特异I","desc":"为自身接下来两场作战添加1只冒失的小弟,将其击倒者获得1资金","tier":1,"coin":1,"payout":"kill","rounds":2,"multiRound":false,"enemyKey":"enemy_10112_ymgds","count":1,"adds":[{"enemyKey":"enemy_10112_ymgds","count":1,"coin":1,"rounds":2,"payout":"kill","buffKey":"add_enemy_kill_gain_coin"}],"draft":true,"draftExcluded":null,"draftPool":"initial","series":17},{"effectId":"enemyeffect_17_4","name":"悬赏·特异II","desc":"为自身接下来两场作战添加1只骇笑看客,将其击倒者获得2资金","tier":2,"coin":2,"payout":"kill","rounds":2,"multiRound":false,"enemyKey":"enemy_2009_csaudc","count":1,"adds":[{"enemyKey":"enemy_2009_csaudc","count":1,"coin":2,"rounds":2,"payout":"kill","buffKey":"add_enemy_kill_gain_coin"}],"draft":true,"draftExcluded":null,"draftPool":"initial","series":17},{"effectId":"enemyeffect_17_5","name":"悬赏·特异II","desc":"为自身接下来两场作战添加1只水遁忍者,将其击倒者获得2资金","tier":2,"coin":2,"payout":"kill","rounds":2,"multiRound":false,"enemyKey":"enemy_10116_ymgtop","count":1,"adds":[{"enemyKey":"enemy_10116_ymgtop","count":1,"coin":2,"rounds":2,"payout":"kill","buffKey":"add_enemy_kill_gain_coin"}],"draft":true,"draftExcluded":null,"draftPool":"initial","series":17},{"effectId":"enemyeffect_17_6","name":"悬赏·特异III","desc":"为自身接下来两场作战添加1只自制投石机,将其击倒者获得3资金","tier":3,"coin":3,"payout":"kill","rounds":2,"multiRound":false,"enemyKey":"enemy_10162_mnctpt","count":1,"adds":[{"enemyKey":"enemy_10162_mnctpt","count":1,"coin":3,"rounds":2,"payout":"kill","buffKey":"add_enemy_kill_gain_coin"}],"draft":true,"draftExcluded":null,"draftPool":"initial","series":17},{"effectId":"enemyeffect_18_1","name":"悬赏·损伤I","desc":"为自身接下来两场作战添加1只临时收音师,将其击倒者获得1资金","tier":1,"coin":1,"payout":"kill","rounds":2,"multiRound":false,"enemyKey":"enemy_10094_crstf","count":1,"adds":[{"enemyKey":"enemy_10094_crstf","count":1,"coin":1,"rounds":2,"payout":"kill","buffKey":"add_enemy_kill_gain_coin"}],"draft":true,"draftExcluded":null,"draftPool":"initial","series":18},{"effectId":"enemyeffect_18_2","name":"悬赏·特异I","desc":"为自身接下来两场作战添加1只迷茫的修理小助手,将其击倒者获得1资金","tier":1,"coin":1,"payout":"kill","rounds":2,"multiRound":false,"enemyKey":"enemy_10073_mpcar","count":1,"adds":[{"enemyKey":"enemy_10073_mpcar","count":1,"coin":1,"rounds":2,"payout":"kill","buffKey":"add_enemy_kill_gain_coin"}],"draft":true,"draftExcluded":null,"draftPool":"initial","series":18},{"effectId":"enemyeffect_18_3","name":"悬赏·特异I","desc":"为自身接下来两场作战添加1只高能源石虫,将其击倒者获得1资金","tier":1,"coin":1,"payout":"kill","rounds":2,"multiRound":false,"enemyKey":"enemy_1021_bslime","count":1,"adds":[{"enemyKey":"enemy_1021_bslime","count":1,"coin":1,"rounds":2,"payout":"kill","buffKey":"add_enemy_kill_gain_coin"}],"draft":true,"draftExcluded":null,"draftPool":"initial","series":18},{"effectId":"enemyeffect_18_4","name":"悬赏·特异II","desc":"为自身接下来两场作战添加1只圣堂剑士,将其击倒者获得2资金","tier":2,"coin":2,"payout":"kill","rounds":2,"multiRound":false,"enemyKey":"enemy_10087_hlchgr","count":1,"adds":[{"enemyKey":"enemy_10087_hlchgr","count":1,"coin":2,"rounds":2,"payout":"kill","buffKey":"add_enemy_kill_gain_coin"}],"draft":true,"draftExcluded":null,"draftPool":"initial","series":18},{"effectId":"enemyeffect_18_5","name":"悬赏·特异II","desc":"为自身接下来两场作战添加1只寻仇者,将其击倒者获得2资金","tier":2,"coin":2,"payout":"kill","rounds":2,"multiRound":false,"enemyKey":"enemy_1025_reveng","count":1,"adds":[{"enemyKey":"enemy_1025_reveng","count":1,"coin":2,"rounds":2,"payout":"kill","buffKey":"add_enemy_kill_gain_coin"}],"draft":true,"draftExcluded":null,"draftPool":"initial","series":18},{"effectId":"enemyeffect_18_6","name":"悬赏·损伤III","desc":"为自身接下来两场作战添加1只主角阵营角色,将其击倒者获得3资金","tier":3,"coin":3,"payout":"kill","rounds":2,"multiRound":false,"enemyKey":"enemy_10098_crhro","count":1,"adds":[{"enemyKey":"enemy_10098_crhro","count":1,"coin":3,"rounds":2,"payout":"kill","buffKey":"add_enemy_kill_gain_coin"}],"draft":true,"draftExcluded":null,"draftPool":"initial","series":18},{"effectId":"enemyeffect_19_1","name":"悬赏·特异I","desc":"为自身接下来两场作战添加1只节日气球,将其击倒者获得1资金","tier":1,"coin":1,"payout":"kill","rounds":2,"multiRound":false,"enemyKey":"enemy_10040_cnvbln","count":1,"adds":[{"enemyKey":"enemy_10040_cnvbln","count":1,"coin":1,"rounds":2,"payout":"kill","buffKey":"add_enemy_kill_gain_coin"}],"draft":true,"draftExcluded":null,"draftPool":"initial","series":19},{"effectId":"enemyeffect_19_2","name":"悬赏·特异I","desc":"为自身接下来两场作战添加1只简饲源石虫,将其击倒者获得1资金","tier":1,"coin":1,"payout":"kill","rounds":2,"multiRound":false,"enemyKey":"enemy_10001_trslim","count":1,"adds":[{"enemyKey":"enemy_10001_trslim","count":1,"coin":1,"rounds":2,"payout":"kill","buffKey":"add_enemy_kill_gain_coin"}],"draft":true,"draftExcluded":null,"draftPool":"initial","series":19},{"effectId":"enemyeffect_19_3","name":"悬赏·折射I","desc":"为自身接下来两场作战添加1只深池侦察犬pro,将其击倒者获得1资金","tier":1,"coin":1,"payout":"kill","rounds":2,"multiRound":false,"enemyKey":"enemy_1165_duhond_2","count":1,"adds":[{"enemyKey":"enemy_1165_duhond_2","count":1,"coin":1,"rounds":2,"payout":"kill","buffKey":"add_enemy_kill_gain_coin"}],"draft":true,"draftExcluded":null,"draftPool":"initial","series":19},{"effectId":"enemyeffect_19_4","name":"悬赏·飞行II","desc":"为自身接下来两场作战添加1只吉兆飞鳞,将其击倒者获得2资金","tier":2,"coin":2,"payout":"kill","rounds":2,"multiRound":false,"enemyKey":"enemy_10045_parrot","count":1,"adds":[{"enemyKey":"enemy_10045_parrot","count":1,"coin":2,"rounds":2,"payout":"kill","buffKey":"add_enemy_kill_gain_coin"}],"draft":true,"draftExcluded":null,"draftPool":"initial","series":19},{"effectId":"enemyeffect_19_5","name":"悬赏·特异II","desc":"为自身接下来两场作战添加1只咸鳞汁推荐者,将其击倒者获得2资金","tier":2,"coin":2,"payout":"kill","rounds":2,"multiRound":false,"enemyKey":"enemy_10044_wintun","count":1,"adds":[{"enemyKey":"enemy_10044_wintun","count":1,"coin":2,"rounds":2,"payout":"kill","buffKey":"add_enemy_kill_gain_coin"}],"draft":true,"draftExcluded":null,"draftPool":"initial","series":19},{"effectId":"enemyeffect_19_6","name":"悬赏·损伤III","desc":"为自身接下来两场作战添加1只反派阵营角色,将其击倒者获得3资金","tier":3,"coin":3,"payout":"kill","rounds":2,"multiRound":false,"enemyKey":"enemy_10099_crvln","count":1,"adds":[{"enemyKey":"enemy_10099_crvln","count":1,"coin":3,"rounds":2,"payout":"kill","buffKey":"add_enemy_kill_gain_coin"}],"draft":true,"draftExcluded":null,"draftPool":"initial","series":19},{"effectId":"enemyeffect_20_1","name":"悬赏·持续I","desc":"为自身接下来两场作战添加1只萨卡兹枯朽战士,将其击倒者获得1资金","tier":1,"coin":1,"payout":"kill","rounds":2,"multiRound":false,"enemyKey":"enemy_1267_nhpbr","count":1,"adds":[{"enemyKey":"enemy_1267_nhpbr","count":1,"coin":1,"rounds":2,"payout":"kill","buffKey":"add_enemy_kill_gain_coin"}],"draft":true,"draftExcluded":null,"draftPool":"initial","series":20},{"effectId":"enemyeffect_20_2","name":"悬赏·频次I","desc":"为自身接下来两场作战添加1只俗心,将其击倒者获得1资金","tier":1,"coin":1,"payout":"kill","rounds":2,"multiRound":false,"enemyKey":"enemy_1197_sfshu","count":1,"adds":[{"enemyKey":"enemy_1197_sfshu","count":1,"coin":1,"rounds":2,"payout":"kill","buffKey":"add_enemy_kill_gain_coin"}],"draft":true,"draftExcluded":null,"draftPool":"initial","series":20},{"effectId":"enemyeffect_20_3","name":"悬赏·特异I","desc":"为自身接下来两场作战添加1只潜伏者,将其击倒者获得1资金","tier":1,"coin":1,"payout":"kill","rounds":2,"multiRound":false,"enemyKey":"enemy_1009_lurker","count":1,"adds":[{"enemyKey":"enemy_1009_lurker","count":1,"coin":1,"rounds":2,"payout":"kill","buffKey":"add_enemy_kill_gain_coin"}],"draft":true,"draftExcluded":null,"draftPool":"initial","series":20},{"effectId":"enemyeffect_20_4","name":"悬赏·特异II","desc":"为自身接下来两场作战添加1只“独轮车玩具”,将其击倒者获得2资金","tier":2,"coin":2,"payout":"kill","rounds":2,"multiRound":false,"enemyKey":"enemy_10018_sgrobh","count":1,"adds":[{"enemyKey":"enemy_10018_sgrobh","count":1,"coin":2,"rounds":2,"payout":"kill","buffKey":"add_enemy_kill_gain_coin"}],"draft":true,"draftExcluded":null,"draftPool":"initial","series":20},{"effectId":"enemyeffect_20_5","name":"悬赏·损伤II","desc":"为自身接下来两场作战添加1只无胄盟清扫小队,将其击倒者获得2资金","tier":2,"coin":2,"payout":"kill","rounds":2,"multiRound":false,"enemyKey":"enemy_1183_mlasrt","count":1,"adds":[{"enemyKey":"enemy_1183_mlasrt","count":1,"coin":2,"rounds":2,"payout":"kill","buffKey":"add_enemy_kill_gain_coin"}],"draft":true,"draftExcluded":null,"draftPool":"initial","series":20},{"effectId":"enemyeffect_20_6","name":"悬赏·损伤III","desc":"为自身接下来两场作战添加1只鼎沸,将其击倒者获得3资金","tier":3,"coin":3,"payout":"kill","rounds":2,"multiRound":false,"enemyKey":"enemy_10054_cjhot","count":1,"adds":[{"enemyKey":"enemy_10054_cjhot","count":1,"coin":3,"rounds":2,"payout":"kill","buffKey":"add_enemy_kill_gain_coin"}],"draft":true,"draftExcluded":null,"draftPool":"initial","series":20},{"effectId":"enemyeffect_b_1","name":"碎骨·悬赏","desc":"为自身下场作战添加1个碎骨,将其击倒者获得1资金","tier":1,"coin":1,"payout":"kill","rounds":1,"multiRound":false,"enemyKey":"enemy_1500_skulsr","count":1,"adds":[{"enemyKey":"enemy_1500_skulsr","count":1,"coin":1,"rounds":1,"payout":"kill","buffKey":"add_enemy_kill_gain_coin"}],"draft":true,"draftExcluded":null,"draftPool":"boss","series":null},{"effectId":"enemyeffect_b_2","name":"萨卡兹百夫长·悬赏","desc":"为自身下场作战添加1个萨卡兹百夫长,将其击倒者获得2资金","tier":2,"coin":2,"payout":"kill","rounds":1,"multiRound":false,"enemyKey":"enemy_1501_demonk","count":1,"adds":[{"enemyKey":"enemy_1501_demonk","count":1,"coin":2,"rounds":1,"payout":"kill","buffKey":"add_enemy_kill_gain_coin"}],"draft":true,"draftExcluded":null,"draftPool":"boss","series":null},{"effectId":"enemyeffect_b_3","name":"弑君者·悬赏","desc":"为自身下场作战添加1个弑君者,将其击倒者获得1资金","tier":1,"coin":1,"payout":"kill","rounds":1,"multiRound":false,"enemyKey":"enemy_1502_crowns","count":1,"adds":[{"enemyKey":"enemy_1502_crowns","count":1,"coin":1,"rounds":1,"payout":"kill","buffKey":"add_enemy_kill_gain_coin"}],"draft":true,"draftExcluded":null,"draftPool":"boss","series":null},{"effectId":"enemyeffect_b_4","name":"泥岩·悬赏","desc":"为自身下场作战添加1个泥岩,将其击倒者获得4资金","tier":3,"coin":4,"payout":"kill","rounds":1,"multiRound":false,"enemyKey":"enemy_1511_mdrock","count":1,"adds":[{"enemyKey":"enemy_1511_mdrock","count":1,"coin":4,"rounds":1,"payout":"kill","buffKey":"add_enemy_kill_gain_coin"}],"draft":true,"draftExcluded":null,"draftPool":"boss","series":null},{"effectId":"enemyeffect_b_5","name":"腐败骑士·悬赏","desc":"为自身下场作战添加1个腐败骑士,将其击倒者获得3资金","tier":3,"coin":3,"payout":"kill","rounds":1,"multiRound":false,"enemyKey":"enemy_1513_dekght","count":1,"adds":[{"enemyKey":"enemy_1513_dekght","count":1,"coin":3,"rounds":1,"payout":"kill","buffKey":"add_enemy_kill_gain_coin"}],"draft":true,"draftExcluded":null,"draftPool":"boss","series":null},{"effectId":"enemyeffect_b_6","name":"凋零骑士·悬赏","desc":"为自身下场作战添加1个凋零骑士,将其击倒者获得3资金","tier":3,"coin":3,"payout":"kill","rounds":1,"multiRound":false,"enemyKey":"enemy_1513_dekght_2","count":1,"adds":[{"enemyKey":"enemy_1513_dekght_2","count":1,"coin":3,"rounds":1,"payout":"kill","buffKey":"add_enemy_kill_gain_coin"}],"draft":false,"draftExcluded":"unseen","draftPool":null,"series":null},{"effectId":"enemyeffect_b_7","name":"“遗弃者”·悬赏","desc":"为自身下场作战添加1个“遗弃者”,将其击倒者获得4资金","tier":3,"coin":4,"payout":"kill","rounds":1,"multiRound":false,"enemyKey":"enemy_2005_axetro","count":1,"adds":[{"enemyKey":"enemy_2005_axetro","count":1,"coin":4,"rounds":1,"payout":"kill","buffKey":"add_enemy_kill_gain_coin"}],"draft":false,"draftExcluded":"unseen","draftPool":null,"series":null},{"effectId":"enemyeffect_b_8","name":"喷气人·悬赏","desc":"为自身下场作战添加1个喷气人,将其击倒者获得3资金","tier":3,"coin":3,"payout":"kill","rounds":1,"multiRound":false,"enemyKey":"enemy_2004_balloon","count":1,"adds":[{"enemyKey":"enemy_2004_balloon","count":1,"coin":3,"rounds":1,"payout":"kill","buffKey":"add_enemy_kill_gain_coin"}],"draft":true,"draftExcluded":null,"draftPool":"boss","series":null},{"effectId":"enemyeffect_b_9","name":"杰斯顿·威廉姆斯·悬赏","desc":"为自身下场作战添加1个杰斯顿·威廉姆斯,将其击倒者获得4资金","tier":3,"coin":4,"payout":"kill","rounds":1,"multiRound":false,"enemyKey":"enemy_1516_jakill","count":1,"adds":[{"enemyKey":"enemy_1516_jakill","count":1,"coin":4,"rounds":1,"payout":"kill","buffKey":"add_enemy_kill_gain_coin"}],"draft":true,"draftExcluded":null,"draftPool":"boss","series":null},{"effectId":"enemyeffect_b_10","name":"W·悬赏","desc":"为自身下场作战添加1个W,将其击倒者获得1资金","tier":1,"coin":1,"payout":"kill","rounds":1,"multiRound":false,"enemyKey":"enemy_1504_cqbw","count":1,"adds":[{"enemyKey":"enemy_1504_cqbw","count":1,"coin":1,"rounds":1,"payout":"kill","buffKey":"add_enemy_kill_gain_coin"}],"draft":true,"draftExcluded":null,"draftPool":"boss","series":null},{"effectId":"enemyeffect_b_11","name":"“鼠王”·悬赏","desc":"为自身下场作战添加1个“鼠王”,将其击倒者获得2资金","tier":2,"coin":2,"payout":"kill","rounds":1,"multiRound":false,"enemyKey":"enemy_1509_mousek","count":1,"adds":[{"enemyKey":"enemy_1509_mousek","count":1,"coin":2,"rounds":1,"payout":"kill","buffKey":"add_enemy_kill_gain_coin"}],"draft":true,"draftExcluded":null,"draftPool":"boss","series":null},{"effectId":"enemyeffect_b_12","name":"“庞贝”·悬赏","desc":"为自身下场作战添加1个“庞贝”,将其击倒者获得2资金","tier":2,"coin":2,"payout":"kill","rounds":1,"multiRound":false,"enemyKey":"enemy_1050_lslime","count":1,"adds":[{"enemyKey":"enemy_1050_lslime","count":1,"coin":2,"rounds":1,"payout":"kill","buffKey":"add_enemy_kill_gain_coin"}],"draft":true,"draftExcluded":null,"draftPool":"boss","series":null},{"effectId":"enemyeffect_b_13","name":"大鲍勃·悬赏","desc":"为自身下场作战添加1个大鲍勃,将其击倒者获得2资金","tier":2,"coin":2,"payout":"kill","rounds":1,"multiRound":false,"enemyKey":"enemy_1001_bigbo","count":1,"adds":[{"enemyKey":"enemy_1001_bigbo","count":1,"coin":2,"rounds":1,"payout":"kill","buffKey":"add_enemy_kill_gain_coin"}],"draft":true,"draftExcluded":null,"draftPool":"boss","series":null},{"effectId":"enemyeffect_b_14","name":"“自在”·悬赏","desc":"为自身下场作战添加1个“自在”,将其击倒者获得4资金","tier":3,"coin":4,"payout":"kill","rounds":1,"multiRound":false,"enemyKey":"enemy_1517_xi","count":1,"adds":[{"enemyKey":"enemy_1517_xi","count":1,"coin":4,"rounds":1,"payout":"kill","buffKey":"add_enemy_kill_gain_coin"}],"draft":true,"draftExcluded":null,"draftPool":"boss","series":null},{"effectId":"enemyeffect_b_15","name":"锏·悬赏","desc":"为自身下场作战添加1个锏,将其击倒者获得5资金","tier":3,"coin":5,"payout":"kill","rounds":1,"multiRound":false,"enemyKey":"enemy_1525_blkswb","count":1,"adds":[{"enemyKey":"enemy_1525_blkswb","count":1,"coin":5,"rounds":1,"payout":"kill","buffKey":"add_enemy_kill_gain_coin"}],"draft":false,"draftExcluded":"unseen","draftPool":null,"series":null},{"effectId":"enemyeffect_b_16","name":"扎罗,“狼之主”·悬赏","desc":"为自身下场作战添加1个扎罗,“狼之主”,将其击倒者获得5资金","tier":3,"coin":5,"payout":"kill","rounds":1,"multiRound":false,"enemyKey":"enemy_1535_wlfmster","count":1,"adds":[{"enemyKey":"enemy_1535_wlfmster","count":1,"coin":5,"rounds":1,"payout":"kill","buffKey":"add_enemy_kill_gain_coin"}],"draft":false,"draftExcluded":"unseen","draftPool":null,"series":null},{"effectId":"enemyeffect_b_17","name":"“墓碑”·悬赏","desc":"为自身下场作战添加1个“墓碑”,将其击倒者获得4资金","tier":3,"coin":4,"payout":"kill","rounds":1,"multiRound":false,"enemyKey":"enemy_2008_flking","count":1,"adds":[{"enemyKey":"enemy_2008_flking","count":1,"coin":4,"rounds":1,"payout":"kill","buffKey":"add_enemy_kill_gain_coin"}],"draft":true,"draftExcluded":null,"draftPool":"boss","series":null},{"effectId":"enemyeffect_b_18","name":"迷路的巨像·悬赏","desc":"为自身下场作战添加1个迷路的巨像,将其击倒者获得5资金","tier":3,"coin":5,"payout":"kill","rounds":1,"multiRound":false,"enemyKey":"enemy_2003_rockman","count":1,"adds":[{"enemyKey":"enemy_2003_rockman","count":1,"coin":5,"rounds":1,"payout":"kill","buffKey":"add_enemy_kill_gain_coin"}],"draft":false,"draftExcluded":"unseen","draftPool":null,"series":null},{"effectId":"enemyeffect_b_19","name":"澪·悬赏","desc":"为自身下场作战添加1个澪,将其击倒者获得3资金","tier":3,"coin":3,"payout":"kill","rounds":1,"multiRound":false,"enemyKey":"enemy_10118_ymgprc","count":1,"adds":[{"enemyKey":"enemy_10118_ymgprc","count":1,"coin":3,"rounds":1,"payout":"kill","buffKey":"add_enemy_kill_gain_coin"}],"draft":true,"draftExcluded":null,"draftPool":"boss","series":null},{"effectId":"enemyeffect_b_20","name":"“巨大的丑东西”·悬赏","desc":"为自身下场作战添加1个“巨大的丑东西”,将其击倒者获得5资金","tier":3,"coin":5,"payout":"kill","rounds":1,"multiRound":false,"enemyKey":"enemy_1512_mcmstr","count":1,"adds":[{"enemyKey":"enemy_1512_mcmstr","count":1,"coin":5,"rounds":1,"payout":"kill","buffKey":"add_enemy_kill_gain_coin"}],"draft":true,"draftExcluded":null,"draftPool":"boss","series":null},{"effectId":"enemyeffect_b_21","name":"“复仇者”·悬赏","desc":"为自身下场作战添加1个“复仇者”,将其击倒者获得6资金","tier":3,"coin":6,"payout":"kill","rounds":1,"multiRound":false,"enemyKey":"enemy_1539_reid","count":1,"adds":[{"enemyKey":"enemy_1539_reid","count":1,"coin":6,"rounds":1,"payout":"kill","buffKey":"add_enemy_kill_gain_coin"}],"draft":true,"draftExcluded":null,"draftPool":"boss","series":null},{"effectId":"enemyeffect_b_22","name":"“邪魔的利刃”·悬赏","desc":"为自身下场作战添加1个“邪魔的利刃”,将其击倒者获得3资金","tier":3,"coin":3,"payout":"kill","rounds":1,"multiRound":false,"enemyKey":"enemy_2048_smgrd","count":1,"adds":[{"enemyKey":"enemy_2048_smgrd","count":1,"coin":3,"rounds":1,"payout":"kill","buffKey":"add_enemy_kill_gain_coin"}],"draft":true,"draftExcluded":null,"draftPool":"boss","series":null},{"effectId":"enemyeffect_b_23","name":"陷落雪祀·悬赏","desc":"为自身下场作战添加1个陷落雪祀,将其击倒者获得3资金","tier":3,"coin":3,"payout":"kill","rounds":1,"multiRound":false,"enemyKey":"enemy_2050_smsha","count":1,"adds":[{"enemyKey":"enemy_2050_smsha","count":1,"coin":3,"rounds":1,"payout":"kill","buffKey":"add_enemy_kill_gain_coin"}],"draft":true,"draftExcluded":null,"draftPool":"boss","series":null},{"effectId":"enemyeffect_b_24","name":"纠缠藤蔓·悬赏","desc":"为自身下场作战添加1个纠缠藤蔓,将其击倒者获得3资金","tier":3,"coin":3,"payout":"kill","rounds":1,"multiRound":false,"enemyKey":"enemy_2052_smgia","count":1,"adds":[{"enemyKey":"enemy_2052_smgia","count":1,"coin":3,"rounds":1,"payout":"kill","buffKey":"add_enemy_kill_gain_coin"}],"draft":true,"draftExcluded":null,"draftPool":"boss","series":null},{"effectId":"enemyInitial_1","name":"多轮悬赏 · 假想敌:蚀裂","desc":"后续每场作战添加1只假想敌:蚀裂(被击倒时造成持续伤害),击倒它的你或队友获得1资金","tier":2,"coin":1,"payout":"kill","rounds":99,"multiRound":true,"enemyKey":"enemy_9006_actoxi","count":1,"adds":[{"enemyKey":"enemy_9006_actoxi","count":1,"coin":1,"rounds":99,"payout":"kill","buffKey":"add_enemy_kill_gain_coin"}],"draft":false,"draftExcluded":"unseen","draftPool":null,"series":null},{"effectId":"enemyInitial_2","name":"多轮悬赏 · 假想敌:淤困","desc":"后续每场作战添加1只假想敌:淤困(可造成元素损伤),击倒它的你或队友获得1资金","tier":2,"coin":1,"payout":"kill","rounds":99,"multiRound":true,"enemyKey":"enemy_9007_acelem","count":1,"adds":[{"enemyKey":"enemy_9007_acelem","count":1,"coin":1,"rounds":99,"payout":"kill","buffKey":"add_enemy_kill_gain_coin"}],"draft":false,"draftExcluded":"unseen","draftPool":null,"series":null},{"effectId":"enemyInitial_3","name":"多轮悬赏 · 假想敌:骨刺","desc":"后续每场作战添加1只假想敌:骨刺(拥有隐匿),击倒它的你或队友获得1资金","tier":2,"coin":1,"payout":"kill","rounds":99,"multiRound":true,"enemyKey":"enemy_9008_acbunn","count":1,"adds":[{"enemyKey":"enemy_9008_acbunn","count":1,"coin":1,"rounds":99,"payout":"kill","buffKey":"add_enemy_kill_gain_coin"}],"draft":false,"draftExcluded":"unseen","draftPool":null,"series":null},{"effectId":"enemyInitial_4","name":"多轮悬赏 · 假想敌:黑云","desc":"后续每场作战添加1只假想敌:黑云(空中敌人),击倒它的你或队友获得1资金","tier":2,"coin":1,"payout":"kill","rounds":99,"multiRound":true,"enemyKey":"enemy_9009_acfort","count":1,"adds":[{"enemyKey":"enemy_9009_acfort","count":1,"coin":1,"rounds":99,"payout":"kill","buffKey":"add_enemy_kill_gain_coin"}],"draft":false,"draftExcluded":"unseen","draftPool":null,"series":null},{"effectId":"enemyInitial_5","name":"多轮悬赏 · 假想敌:再生","desc":"后续每场作战添加1只假想敌:再生(需要一定攻击次数击破),击倒它的你或队友获得1资金","tier":2,"coin":1,"payout":"kill","rounds":99,"multiRound":true,"enemyKey":"enemy_9010_acpupp","count":1,"adds":[{"enemyKey":"enemy_9010_acpupp","count":1,"coin":1,"rounds":99,"payout":"kill","buffKey":"add_enemy_kill_gain_coin"}],"draft":false,"draftExcluded":"unseen","draftPool":null,"series":null},{"effectId":"enemyInitial_6","name":"多轮悬赏 · 假想敌:镜膜","desc":"后续每场作战添加1只假想敌:镜膜(拥有折射),击倒它的你或队友获得1资金","tier":2,"coin":1,"payout":"kill","rounds":99,"multiRound":true,"enemyKey":"enemy_9011_acrefr","count":1,"adds":[{"enemyKey":"enemy_9011_acrefr","count":1,"coin":1,"rounds":99,"payout":"kill","buffKey":"add_enemy_kill_gain_coin"}],"draft":false,"draftExcluded":"unseen","draftPool":null,"series":null}],"tactic":[{"effectId":"allybuff_select_1","name":"列装","desc":"你获得2件随机1阶装备,若存在其他队友则他们也获得","kind":"ally","stageId":null,"team":true},{"effectId":"allybuff_select_2_1","name":"斯卡蒂的盟誓","desc":"你的阿戈尔、突袭和坚守盟约层数+8,若存在其他队友则他们也获得","kind":"ally","stageId":null,"team":true},{"effectId":"allybuff_select_2_2","name":"诗怀雅的盟誓","desc":"你的炎和投资人盟约层数+10,若存在其他队友则他们也获得","kind":"ally","stageId":null,"team":true},{"effectId":"allybuff_select_2_3","name":"风笛的盟誓","desc":"你的维多利亚、远见和不屈盟约层数+8,若存在其他队友则他们也获得","kind":"ally","stageId":null,"team":true},{"effectId":"allybuff_select_2_4","name":"银灰的盟誓","desc":"你的谢拉格、投资人、迅捷盟约层数+8,若存在其他队友则他们也获得","kind":"ally","stageId":null,"team":true},{"effectId":"allybuff_select_2_5","name":"莫斯提马的盟誓","desc":"你的拉特兰、奥术盟约层数+10,若存在其他队友则他们也获得","kind":"ally","stageId":null,"team":true},{"effectId":"allybuff_select_2_6","name":"缇缇的盟誓","desc":"你的萨尔贡、精准盟约层数+10,若存在其他队友则他们也获得","kind":"ally","stageId":null,"team":true},{"effectId":"allybuff_select_2_7","name":"玛恩纳的盟誓","desc":"你的卡西米尔盟约层数+12,若存在其他队友则他们也获得","kind":"ally","stageId":null,"team":true},{"effectId":"allybuff_select_2_8","name":"德克萨斯的盟誓","desc":"你的叙拉古、突袭盟约层数+10,若存在其他队友则他们也获得","kind":"ally","stageId":null,"team":true},{"effectId":"allybuff_select_3","name":"财富","desc":"你获得1资金,若存在其他队友则他们也获得","kind":"ally","stageId":null,"team":true},{"effectId":"allybuff_select_4","name":"补给","desc":"你接下来的2次刷新变为免费(可叠加),若存在其他队友则他们也获得","kind":"ally","stageId":null,"team":true},{"effectId":"allybuff_select_5","name":"整备","desc":"你接下来购买的1件装备变为进阶品质","kind":"ally","stageId":null,"team":false},{"effectId":"allybuff_select_6","name":"升华","desc":"你接下来购买的1名干员变为精锐状态","kind":"ally","stageId":null,"team":false},{"effectId":"allybuff_select_7_1","name":"炎盟约驰援","desc":"你获得1名炎盟约的随机干员棋子","kind":"ally","stageId":null,"team":false},{"effectId":"allybuff_select_7_2","name":"谢拉格驰援","desc":"你获得1名谢拉格盟约的随机干员棋子","kind":"ally","stageId":null,"team":false},{"effectId":"allybuff_select_7_3","name":"萨尔贡驰援","desc":"你获得1名萨尔贡盟约的随机干员棋子","kind":"ally","stageId":null,"team":false},{"effectId":"allybuff_select_7_4","name":"叙拉古驰援","desc":"你获得1名叙拉古盟约的随机干员棋子","kind":"ally","stageId":null,"team":false},{"effectId":"allybuff_select_7_5","name":"卡西米尔驰援","desc":"你获得1名卡西米尔盟约的随机干员棋子","kind":"ally","stageId":null,"team":false},{"effectId":"allybuff_select_7_6","name":"拉特兰驰援","desc":"你获得1名拉特兰盟约的随机干员棋子","kind":"ally","stageId":null,"team":false},{"effectId":"allybuff_select_7_7","name":"维多利亚驰援","desc":"你获得1名维多利亚盟约的随机干员棋子","kind":"ally","stageId":null,"team":false},{"effectId":"allybuff_select_7_8","name":"阿戈尔驰援","desc":"你获得1名阿戈尔盟约的随机干员棋子","kind":"ally","stageId":null,"team":false},{"effectId":"allybuff_select_11","name":"自愈","desc":"你获得:我方单位每次受到伤害时回复50点生命值;若存在其他队友则他们也获得此效果","kind":"ally","stageId":null,"team":true},{"effectId":"allybuff_select_13","name":"火力","desc":"你获得:休整期结束时若手牌区至少有3个单位,我方所有干员无视敌人20法术抗性;若存在其他队友则他们也获得此效果","kind":"ally","stageId":null,"team":true},{"effectId":"allybuff_select_14","name":"征召","desc":"你获得:开始作战时若场上至少有一行存在3名干员,所有干员的再部署时间-50%;若存在其他队友则他们也获得此效果","kind":"ally","stageId":null,"team":true},{"effectId":"allybuff_select_18","name":"无瑕","desc":"你获得:干员在生命值为满时,攻击力、防御力+30%;若存在其他队友则他们也获得此效果","kind":"ally","stageId":null,"team":true},{"effectId":"allybuff_select_19","name":"锐利","desc":"你获得:休整期结束时若手牌区为空,我方所有干员无视敌人30%的防御力;若存在其他队友则他们也获得此效果","kind":"ally","stageId":null,"team":true},{"effectId":"enemydebuff_select_1","name":"排斥:乏力","desc":"全部敌人获得减益效果:攻击力-5%","kind":"enemyDebuff","stageId":null,"team":false},{"effectId":"enemydebuff_select_2","name":"排斥:脆弱","desc":"全部敌人获得减益效果:防御力-100","kind":"enemyDebuff","stageId":null,"team":false},{"effectId":"enemydebuff_select_3","name":"排斥:致幻","desc":"全部敌人获得减益效果:法术抗性-3","kind":"enemyDebuff","stageId":null,"team":false},{"effectId":"enemydebuff_select_4","name":"责罚:乏力","desc":"精英敌人获得减益效果:攻击力-6%","kind":"enemyDebuff","stageId":null,"team":false},{"effectId":"enemydebuff_select_5","name":"责罚:脆弱","desc":"精英敌人获得减益效果:防御力-150","kind":"enemyDebuff","stageId":null,"team":false},{"effectId":"enemydebuff_select_6","name":"责罚:致幻","desc":"精英敌人获得减益效果:法术抗性-5","kind":"enemyDebuff","stageId":null,"team":false},{"effectId":"enemydebuff_select_7","name":"裁决:乏力","desc":"领袖敌人获得减益效果:攻击力-7%","kind":"enemyDebuff","stageId":null,"team":false},{"effectId":"enemydebuff_select_8","name":"裁决:脆弱","desc":"领袖敌人获得减益效果:防御力-200","kind":"enemyDebuff","stageId":null,"team":false},{"effectId":"enemydebuff_select_9","name":"裁决:致幻","desc":"领袖敌人获得减益效果:法术抗性-7","kind":"enemyDebuff","stageId":null,"team":false},{"effectId":"map_m01_1","name":"模拟战场演变·模式一","desc":"移除场地上全部阻隔工事","kind":"terrain","stageId":"act1autochess_m01","team":false},{"effectId":"map_m02_1","name":"模拟战场演变·模式二","desc":"场地上全部阻隔工事变为射击台","kind":"terrain","stageId":"act1autochess_m02","team":false},{"effectId":"map_m02_2","name":"模拟战场演变·模式三","desc":"移除场地上全部阻隔工事","kind":"terrain","stageId":"act1autochess_m02","team":false},{"effectId":"map_m03_1","name":"模拟战场演变·模式四","desc":"移除场地左侧的阻隔工事","kind":"terrain","stageId":"act1autochess_m03","team":false},{"effectId":"map_m03_2","name":"模拟战场演变·模式五","desc":"场地右侧的射击台变为可以部署高台干员和地面干员的地面","kind":"terrain","stageId":"act1autochess_m03","team":false},{"effectId":"map_m04_1","name":"模拟战场演变·模式六","desc":"移除场地上全部阻隔工事","kind":"terrain","stageId":"act1autochess_m04","team":false},{"effectId":"map_m06_1","name":"模拟战场演变·模式八","desc":"场地中的沙尘暴停止","kind":"terrain","stageId":"act1autochess_m06","team":false},{"effectId":"map_m07_1","name":"模拟战场演变·模式九","desc":"场上的树丛全部消失","kind":"terrain","stageId":"act1autochess_m07","team":false}]},"bountyDrafts":{"initial":{"events":["enemy_initial_1","enemy_initial_2","enemy_initial_3","enemy_initial_4","enemy_initial_5","enemy_initial_6","enemy_initial_7","enemy_initial_8","enemy_initial_9","enemy_initial_10"],"slots":10,"pick":"slot","groups":[{"cards":["enemyeffect_18_1","enemyeffect_18_2","enemyeffect_18_3","enemyeffect_18_4","enemyeffect_18_5","enemyeffect_18_6"],"seen":[1,3,5,9,17]},{"cards":["enemyeffect_19_1","enemyeffect_19_2","enemyeffect_19_3","enemyeffect_19_4","enemyeffect_19_5","enemyeffect_19_6"],"seen":[2,15,22]},{"cards":["enemyeffect_17_1","enemyeffect_17_2","enemyeffect_17_3","enemyeffect_17_4","enemyeffect_17_5","enemyeffect_17_6"],"seen":[7,14]},{"cards":["enemyeffect_10_5","enemyeffect_11_4","enemyeffect_12_5","enemyeffect_13_6","enemyeffect_15_4","enemyeffect_20_3"],"seen":[4,10,16]},{"cards":["enemyeffect_10_4","enemyeffect_11_5","enemyeffect_12_6","enemyeffect_14_4","enemyeffect_15_5","enemyeffect_20_2"],"seen":[6,18]},{"cards":["enemyeffect_10_4","enemyeffect_11_5","enemyeffect_12_4","enemyeffect_14_6","enemyeffect_15_4","enemyeffect_20_4"],"seen":[8]},{"cards":["enemyeffect_10_4","enemyeffect_11_6","enemyeffect_12_4","enemyeffect_13_4","enemyeffect_14_5","enemyeffect_15_5"],"seen":[11,20]},{"cards":["enemyeffect_10_4","enemyeffect_11_4","enemyeffect_12_5","enemyeffect_15_6","enemyeffect_20_1","enemyeffect_20_5"],"seen":[12]},{"cards":["enemyeffect_11_4","enemyeffect_12_4","enemyeffect_13_5","enemyeffect_14_4","enemyeffect_15_5","enemyeffect_17_6"],"seen":[13,19,21]}],"rule":{"series":[10,11,12,13,14,15,20],"tiers":[1,1,1,2,2,3],"perSeries":2,"prefer":["enemyeffect_10_6","enemyeffect_20_6"]},"count":6,"assumed":["a uniform pick among the 10 events","the unseen 10th set built by `rule`","险境 R6 drafts like R3"]},"boss":{"events":["bossInitial_1","bossInitial_2","bossInitial_3","bossInitial_4","bossInitial_5","bossInitial_6"],"slots":6,"pick":"seen","groups":[{"cards":["enemyeffect_b_10","enemyeffect_b_1","enemyeffect_b_3","enemyeffect_b_13","enemyeffect_5_1","enemyeffect_b_11","enemyeffect_b_9","enemyeffect_b_14","enemyeffect_b_23"],"seen":[7,8,9,10,11,12,13,14,15,16,17,18,19,21],"weights":[12,13,12,12,11,5,13,8,7]},{"cards":["enemyeffect_b_10","enemyeffect_b_1","enemyeffect_b_3","enemyeffect_b_13","enemyeffect_b_12","enemyeffect_5_1","enemyeffect_b_8","enemyeffect_b_24","enemyeffect_b_19"],"seen":[1,5,22],"weights":[4,2,2,4,2,3,4,4,2]},{"cards":["enemyeffect_b_10","enemyeffect_b_1","enemyeffect_b_3","enemyeffect_b_12","enemyeffect_5_1","enemyeffect_b_19","enemyeffect_b_22","enemyeffect_b_21","enemyeffect_b_2"],"seen":[6,20,"bahamut-12294"],"weights":[4,3,2,3,2,2,3,4,4]},{"cards":["enemyeffect_b_10","enemyeffect_b_1","enemyeffect_b_3","enemyeffect_b_13","enemyeffect_b_12","enemyeffect_5_1","enemyeffect_b_5","enemyeffect_b_17","enemyeffect_b_20"],"seen":[3],"weights":[2,2,1,1,1,2,2,2,2]},{"cards":["enemyeffect_b_10","enemyeffect_b_1","enemyeffect_b_3","enemyeffect_b_13","enemyeffect_b_12","enemyeffect_5_1","enemyeffect_b_4","enemyeffect_b_19"],"seen":[2],"weights":[1,1,2,2,2,2,2,2]},{"cards":["enemyeffect_b_10","enemyeffect_b_1","enemyeffect_b_3","enemyeffect_b_13","enemyeffect_b_12","enemyeffect_5_1"],"seen":[4],"weights":[2,2,2,2,2,2]}],"count":6,"assumed":["a group picked by the matches it came in (the per-match cause is open)","card weights 1 + hits","the single-draft groups completed with their base cards","boss bounties of no seen group are not offered"]},"hunter":{"events":["bounty_hunter_1","bounty_hunter_2","bounty_hunter_3","bounty_hunter_4","bounty_hunter_5","bounty_hunter_6","bounty_hunter_7","bounty_hunter_8","bounty_hunter_9","bounty_hunter_10","bounty_hunter_11","bounty_hunter_12","bounty_hunter_13","bounty_hunter_14","bounty_hunter_15"],"slots":7,"pick":"slot","groups":[{"cards":["enemyeffect_16_4","enemyeffect_16_10","enemyeffect_15_7","enemyeffect_12_7","enemyeffect_13_8","enemyeffect_10_7","enemyeffect_11_7"],"seen":[1,6,21,22],"weights":[5,5,4,4,5,4,4]},{"cards":["enemyeffect_16_3","enemyeffect_15_7","enemyeffect_13_8","enemyeffect_16_9","enemyeffect_14_7","enemyeffect_11_7","enemyeffect_10_7"],"seen":[3,13],"weights":[3,3,3,2,3,3,2]},{"cards":["enemyeffect_16_5","enemyeffect_15_8","enemyeffect_12_7","enemyeffect_14_8","enemyeffect_10_7","enemyeffect_16_11","enemyeffect_11_7"],"seen":[10,12,16],"weights":[4,4,4,3,4,4,2]},{"cards":["enemyeffect_16_7","enemyeffect_16_9","enemyeffect_14_7","enemyeffect_16_11","enemyeffect_11_7","enemyeffect_13_7"],"seen":[11],"open":1,"weights":[2,2,2,2,2,2]},{"cards":["enemyeffect_16_8","enemyeffect_16_10","enemyeffect_14_8","enemyeffect_10_7","enemyeffect_16_12","enemyeffect_13_7"],"seen":[14,19],"open":1,"weights":[3,3,3,3,3,3]},{"cards":["enemyeffect_16_1","enemyeffect_10_8","enemyeffect_11_8","enemyeffect_15_7","enemyeffect_13_7","enemyeffect_14_7"],"seen":[17],"open":1,"weights":[2,2,2,2,2,2]},{"cards":["enemyeffect_10_8","enemyeffect_12_7","enemyeffect_13_7","enemyeffect_14_7","enemyeffect_11_7","enemyeffect_16_12"],"seen":[15],"open":1,"weights":[2,2,2,2,2,2]}],"rule":{"size":7,"onePerSeries":[10,11,12,13,14,15],"maxSeries16":2,"giants":["enemyeffect_16_1","enemyeffect_16_2","enemyeffect_16_3","enemyeffect_16_4","enemyeffect_16_5","enemyeffect_16_6","enemyeffect_16_7","enemyeffect_16_8"],"cards":["enemyeffect_10_8","enemyeffect_11_8","enemyeffect_12_7","enemyeffect_12_8","enemyeffect_13_8","enemyeffect_14_8","enemyeffect_15_7","enemyeffect_15_8","enemyeffect_16_9","enemyeffect_16_10","enemyeffect_10_7","enemyeffect_11_7","enemyeffect_13_7","enemyeffect_14_7","enemyeffect_16_11","enemyeffect_16_12"]},"count":6,"assumed":["one of the 7 seen lists, picked uniformly (which of the 15 events R11 fires is open)","card weights 1 + hits","the `open` cards built by `rule`"]}},"shopDraft":{"rounds":[11],"slots":[{"6":1},{"6":1},{"5":1},{"coin":1},{"3":1,"4":2,"5":3,"coin":2},{"3":1,"4":2,"5":3,"coin":2}],"coin":"chess_item_1_03_e_a","itemWeights":{"chess_item_3_12_e_a":2,"chess_item_4_01_e_a":2,"chess_item_4_11_e_a":2,"chess_item_5_03_e_a":3,"chess_item_5_06_e_a":2,"chess_item_5_07_e_a":3,"chess_item_5_09_e_a":3,"chess_item_6_02_e_a":2,"chess_item_6_03_e_a":2,"chess_item_6_08_e_a":2,"chess_item_6_09_e_a":5,"chess_item_6_11_e_a":2},"seen":[2,4,5,8],"count":6,"assumed":["the slot split","item weights 1 + seen","solo shows 3 of the 6","other rounds (标准 / 险境) keep the previous draw: tiers I–VI with replacement"]},"tacticDraft":{"rounds":[11],"kinds":["ally"],"weights":{"allybuff_select_1":4,"allybuff_select_2_1":2,"allybuff_select_2_4":3,"allybuff_select_2_5":3,"allybuff_select_2_7":2,"allybuff_select_3":3,"allybuff_select_4":4,"allybuff_select_5":2,"allybuff_select_6":4,"allybuff_select_7_2":2,"allybuff_select_7_3":2,"allybuff_select_7_4":2,"allybuff_select_7_8":3,"allybuff_select_19":2},"seen":[7,9,18,20],"count":6,"assumed":["card weights 1 + seen","independent draws (no slot structure)","no terrain card at R11","solo shows 3","other rounds (标准 / 险境) keep every card, uniform, with replacement"]},"schedule":{"mode_training_1":{"spRounds":[3],"rounds":{"3":{"families":[{"family":"supply","weight":100}],"cards":6,"supplyTiers":[1,4],"bountyDraft":"initial","events":{"bounty":["enemy_initial_1","enemy_initial_2","enemy_initial_3","enemy_initial_4","enemy_initial_5","enemy_initial_6","enemy_initial_7","enemy_initial_8","enemy_initial_9","enemy_initial_10"],"supply":["equip_free_1_tr"],"shop":["artifact_paid_1","artifact_paid_2","artifact_paid_3","artifact_paid_4","artifact_paid_5"],"tactic":["buff_select_1","buff_select_2","buff_select_3","buff_select_4","terrain_m01_1","terrain_m02_1","terrain_m02_2","terrain_m03_1","terrain_m04_1","terrain_m06_1","terrain_m07_1"]},"assumed":true}}},"mode_single_funny":{"spRounds":[],"rounds":{}},"mode_single_normal":{"spRounds":[6,9],"rounds":{"6":{"families":[{"family":"supply","weight":100}],"cards":3,"supplyTiers":[2,5],"bountyDraft":"initial","events":{"bounty":["enemy_initial_1_s","enemy_initial_2_s","enemy_initial_3_s","enemy_initial_4_s","enemy_initial_5_s","enemy_initial_6_s","enemy_initial_7_s","enemy_initial_8_s","enemy_initial_9_s","enemy_initial_10_s"],"supply":["equip_free_2_s","equip_free_3_s","equip_free_4_s"],"shop":["artifact_paid_1_s","artifact_paid_2_s","artifact_paid_3_s","artifact_paid_4_s","artifact_paid_5_s"],"tactic":["buff_select_1_s","buff_select_2_s","buff_select_3_s","buff_select_4_s","terrain_m01_1_s","terrain_m02_1_s","terrain_m02_2_s","terrain_m03_1_s","terrain_m04_1_s","terrain_m06_1_s","terrain_m07_1_s"]},"assumed":true},"9":{"families":[{"family":"tactic","weight":100}],"cards":3,"supplyTiers":[3,6],"bountyDraft":"boss","events":{"bounty":["bossInitial_1_s","bossInitial_2_s","bossInitial_3_s","bossInitial_4_s","bossInitial_5_s","bossInitial_6_s"],"supply":["equip_free_2_s","equip_free_3_s","equip_free_4_s"],"shop":["artifact_paid_1_s","artifact_paid_2_s","artifact_paid_3_s","artifact_paid_4_s","artifact_paid_5_s"],"tactic":["buff_select_1_s","buff_select_2_s","buff_select_3_s","buff_select_4_s","terrain_m01_1_s","terrain_m02_1_s","terrain_m02_2_s","terrain_m03_1_s","terrain_m04_1_s","terrain_m06_1_s","terrain_m07_1_s"]},"assumed":true}}},"mode_single_hard":{"spRounds":[3,9,11],"rounds":{"3":{"families":[{"family":"bounty","weight":100}],"cards":3,"supplyTiers":[1,4],"bountyDraft":"initial","events":{"bounty":["enemy_initial_1_s","enemy_initial_2_s","enemy_initial_3_s","enemy_initial_4_s","enemy_initial_5_s","enemy_initial_6_s","enemy_initial_7_s","enemy_initial_8_s","enemy_initial_9_s","enemy_initial_10_s"],"supply":["equip_free_2_s","equip_free_3_s","equip_free_4_s"],"shop":["artifact_paid_1_s","artifact_paid_2_s","artifact_paid_3_s","artifact_paid_4_s","artifact_paid_5_s"],"tactic":["buff_select_1_s","buff_select_2_s","buff_select_3_s","buff_select_4_s","hardbuff_select_1_s","hardbuff_select_2_s","hardbuff_select_3_s","terrain_m01_1_s","terrain_m02_1_s","terrain_m02_2_s","terrain_m03_1_s","terrain_m04_1_s","terrain_m06_1_s","terrain_m07_1_s"]},"assumed":false},"9":{"families":[{"family":"bounty","weight":100}],"cards":3,"supplyTiers":[3,6],"bountyDraft":"boss","events":{"bounty":["bossInitial_1_s","bossInitial_2_s","bossInitial_3_s","bossInitial_4_s","bossInitial_5_s","bossInitial_6_s"],"supply":["equip_free_2_s","equip_free_3_s","equip_free_4_s"],"shop":["artifact_paid_1_s","artifact_paid_2_s","artifact_paid_3_s","artifact_paid_4_s","artifact_paid_5_s"],"tactic":["buff_select_1_s","buff_select_2_s","buff_select_3_s","buff_select_4_s","hardbuff_select_1_s","hardbuff_select_2_s","hardbuff_select_3_s","terrain_m01_1_s","terrain_m02_1_s","terrain_m02_2_s","terrain_m03_1_s","terrain_m04_1_s","terrain_m06_1_s","terrain_m07_1_s"]},"assumed":false},"11":{"families":[{"family":"bounty","weight":14},{"family":"shop","weight":4},{"family":"tactic","weight":4}],"cards":3,"supplyTiers":[4,6],"bountyDraft":"hunter","events":{"bounty":["bounty_hunter_1_s","bounty_hunter_2_s","bounty_hunter_3_s","bounty_hunter_4_s","bounty_hunter_5_s","bounty_hunter_6_s","bounty_hunter_7_s","bounty_hunter_8_s","bounty_hunter_9_s","bounty_hunter_10_s","bounty_hunter_11_s","bounty_hunter_12_s","bounty_hunter_13_s","bounty_hunter_14_s","bounty_hunter_15_s"],"supply":["equip_free_2_s","equip_free_3_s","equip_free_4_s"],"shop":["artifact_paid_1_s","artifact_paid_2_s","artifact_paid_3_s","artifact_paid_4_s","artifact_paid_5_s"],"tactic":["buff_select_1_s","buff_select_2_s","buff_select_3_s","buff_select_4_s","hardbuff_select_1_s","hardbuff_select_2_s","hardbuff_select_3_s","terrain_m01_1_s","terrain_m02_1_s","terrain_m02_2_s","terrain_m03_1_s","terrain_m04_1_s","terrain_m06_1_s","terrain_m07_1_s"]},"assumed":true}}},"mode_single_abyss":{"spRounds":[3,9,11],"rounds":{"3":{"families":[{"family":"bounty","weight":100}],"cards":3,"supplyTiers":[1,4],"bountyDraft":"initial","events":{"bounty":["enemy_initial_1_s","enemy_initial_2_s","enemy_initial_3_s","enemy_initial_4_s","enemy_initial_5_s","enemy_initial_6_s","enemy_initial_7_s","enemy_initial_8_s","enemy_initial_9_s","enemy_initial_10_s"],"supply":["equip_free_2_s","equip_free_3_s","equip_free_4_s"],"shop":["artifact_paid_1_s","artifact_paid_2_s","artifact_paid_3_s","artifact_paid_4_s","artifact_paid_5_s"],"tactic":["buff_select_1_s","buff_select_2_s","buff_select_3_s","buff_select_4_s","hardbuff_select_1_s","hardbuff_select_2_s","hardbuff_select_3_s","terrain_m01_1_s","terrain_m02_1_s","terrain_m02_2_s","terrain_m03_1_s","terrain_m04_1_s","terrain_m06_1_s","terrain_m07_1_s"]},"assumed":false},"9":{"families":[{"family":"bounty","weight":100}],"cards":3,"supplyTiers":[3,6],"bountyDraft":"boss","events":{"bounty":["bossInitial_1_s","bossInitial_2_s","bossInitial_3_s","bossInitial_4_s","bossInitial_5_s","bossInitial_6_s"],"supply":["equip_free_2_s","equip_free_3_s","equip_free_4_s"],"shop":["artifact_paid_1_s","artifact_paid_2_s","artifact_paid_3_s","artifact_paid_4_s","artifact_paid_5_s"],"tactic":["buff_select_1_s","buff_select_2_s","buff_select_3_s","buff_select_4_s","hardbuff_select_1_s","hardbuff_select_2_s","hardbuff_select_3_s","terrain_m01_1_s","terrain_m02_1_s","terrain_m02_2_s","terrain_m03_1_s","terrain_m04_1_s","terrain_m06_1_s","terrain_m07_1_s"]},"assumed":false},"11":{"families":[{"family":"bounty","weight":14},{"family":"shop","weight":4},{"family":"tactic","weight":4}],"cards":3,"supplyTiers":[4,6],"bountyDraft":"hunter","events":{"bounty":["bounty_hunter_1_s","bounty_hunter_2_s","bounty_hunter_3_s","bounty_hunter_4_s","bounty_hunter_5_s","bounty_hunter_6_s","bounty_hunter_7_s","bounty_hunter_8_s","bounty_hunter_9_s","bounty_hunter_10_s","bounty_hunter_11_s","bounty_hunter_12_s","bounty_hunter_13_s","bounty_hunter_14_s","bounty_hunter_15_s"],"supply":["equip_free_2_s","equip_free_3_s","equip_free_4_s"],"shop":["artifact_paid_1_s","artifact_paid_2_s","artifact_paid_3_s","artifact_paid_4_s","artifact_paid_5_s"],"tactic":["buff_select_1_s","buff_select_2_s","buff_select_3_s","buff_select_4_s","hardbuff_select_1_s","hardbuff_select_2_s","hardbuff_select_3_s","terrain_m01_1_s","terrain_m02_1_s","terrain_m02_2_s","terrain_m03_1_s","terrain_m04_1_s","terrain_m06_1_s","terrain_m07_1_s"]},"assumed":true}}},"mode_multi_funny":{"spRounds":[3,9],"rounds":{"3":{"families":[{"family":"supply","weight":45},{"family":"tactic","weight":35},{"family":"shop","weight":20}],"cards":6,"supplyTiers":[1,4],"bountyDraft":"initial","events":{"bounty":["enemy_initial_1","enemy_initial_2","enemy_initial_3","enemy_initial_4","enemy_initial_5","enemy_initial_6","enemy_initial_7","enemy_initial_8","enemy_initial_9","enemy_initial_10"],"supply":["equip_free_1","equip_free_2","equip_free_3","equip_free_4"],"shop":["artifact_paid_1","artifact_paid_2","artifact_paid_3","artifact_paid_4","artifact_paid_5"],"tactic":["buff_select_1","buff_select_2","buff_select_3","buff_select_4","terrain_m01_1","terrain_m02_1","terrain_m02_2","terrain_m03_1","terrain_m04_1","terrain_m06_1","terrain_m07_1"]},"assumed":true},"9":{"families":[{"family":"supply","weight":45},{"family":"tactic","weight":35},{"family":"shop","weight":20}],"cards":6,"supplyTiers":[3,6],"bountyDraft":"boss","events":{"bounty":["bossInitial_1","bossInitial_2","bossInitial_3","bossInitial_4","bossInitial_5","bossInitial_6"],"supply":["equip_free_1","equip_free_2","equip_free_3","equip_free_4"],"shop":["artifact_paid_1","artifact_paid_2","artifact_paid_3","artifact_paid_4","artifact_paid_5"],"tactic":["buff_select_1","buff_select_2","buff_select_3","buff_select_4","terrain_m01_1","terrain_m02_1","terrain_m02_2","terrain_m03_1","terrain_m04_1","terrain_m06_1","terrain_m07_1"]},"assumed":true}}},"mode_multi_normal":{"spRounds":[3,6,9],"rounds":{"3":{"families":[{"family":"bounty","weight":50},{"family":"supply","weight":25},{"family":"shop","weight":10},{"family":"tactic","weight":15}],"cards":6,"supplyTiers":[1,4],"bountyDraft":"initial","events":{"bounty":["enemy_initial_1","enemy_initial_2","enemy_initial_3","enemy_initial_4","enemy_initial_5","enemy_initial_6","enemy_initial_7","enemy_initial_8","enemy_initial_9","enemy_initial_10"],"supply":["equip_free_1","equip_free_2","equip_free_3","equip_free_4"],"shop":["artifact_paid_1","artifact_paid_2","artifact_paid_3","artifact_paid_4","artifact_paid_5"],"tactic":["buff_select_1","buff_select_2","buff_select_3","buff_select_4","terrain_m01_1","terrain_m02_1","terrain_m02_2","terrain_m03_1","terrain_m04_1","terrain_m06_1","terrain_m07_1"]},"assumed":true},"6":{"families":[{"family":"bounty","weight":50},{"family":"supply","weight":25},{"family":"shop","weight":10},{"family":"tactic","weight":15}],"cards":6,"supplyTiers":[2,5],"bountyDraft":"initial","events":{"bounty":["enemy_initial_1","enemy_initial_2","enemy_initial_3","enemy_initial_4","enemy_initial_5","enemy_initial_6","enemy_initial_7","enemy_initial_8","enemy_initial_9","enemy_initial_10"],"supply":["equip_free_1","equip_free_2","equip_free_3","equip_free_4"],"shop":["artifact_paid_1","artifact_paid_2","artifact_paid_3","artifact_paid_4","artifact_paid_5"],"tactic":["buff_select_1","buff_select_2","buff_select_3","buff_select_4","terrain_m01_1","terrain_m02_1","terrain_m02_2","terrain_m03_1","terrain_m04_1","terrain_m06_1","terrain_m07_1"]},"assumed":true},"9":{"families":[{"family":"bounty","weight":50},{"family":"supply","weight":25},{"family":"shop","weight":10},{"family":"tactic","weight":15}],"cards":6,"supplyTiers":[3,6],"bountyDraft":"boss","events":{"bounty":["bossInitial_1","bossInitial_2","bossInitial_3","bossInitial_4","bossInitial_5","bossInitial_6"],"supply":["equip_free_1","equip_free_2","equip_free_3","equip_free_4"],"shop":["artifact_paid_1","artifact_paid_2","artifact_paid_3","artifact_paid_4","artifact_paid_5"],"tactic":["buff_select_1","buff_select_2","buff_select_3","buff_select_4","terrain_m01_1","terrain_m02_1","terrain_m02_2","terrain_m03_1","terrain_m04_1","terrain_m06_1","terrain_m07_1"]},"assumed":true}}},"mode_multi_hard":{"spRounds":[3,9,11],"rounds":{"3":{"families":[{"family":"bounty","weight":100}],"cards":6,"supplyTiers":[1,4],"bountyDraft":"initial","events":{"bounty":["enemy_initial_1","enemy_initial_2","enemy_initial_3","enemy_initial_4","enemy_initial_5","enemy_initial_6","enemy_initial_7","enemy_initial_8","enemy_initial_9","enemy_initial_10"],"supply":["equip_free_1","equip_free_2","equip_free_3","equip_free_4"],"shop":["artifact_paid_1","artifact_paid_2","artifact_paid_3","artifact_paid_4","artifact_paid_5"],"tactic":["buff_select_1","buff_select_2","buff_select_3","buff_select_4","hardbuff_select_1","hardbuff_select_2","hardbuff_select_3","terrain_m01_1","terrain_m02_1","terrain_m02_2","terrain_m03_1","terrain_m04_1","terrain_m06_1","terrain_m07_1"]},"assumed":false},"9":{"families":[{"family":"bounty","weight":100}],"cards":6,"supplyTiers":[3,6],"bountyDraft":"boss","events":{"bounty":["bossInitial_1","bossInitial_2","bossInitial_3","bossInitial_4","bossInitial_5","bossInitial_6"],"supply":["equip_free_1","equip_free_2","equip_free_3","equip_free_4"],"shop":["artifact_paid_1","artifact_paid_2","artifact_paid_3","artifact_paid_4","artifact_paid_5"],"tactic":["buff_select_1","buff_select_2","buff_select_3","buff_select_4","hardbuff_select_1","hardbuff_select_2","hardbuff_select_3","terrain_m01_1","terrain_m02_1","terrain_m02_2","terrain_m03_1","terrain_m04_1","terrain_m06_1","terrain_m07_1"]},"assumed":false},"11":{"families":[{"family":"bounty","weight":14},{"family":"shop","weight":4},{"family":"tactic","weight":4}],"cards":6,"supplyTiers":[4,6],"bountyDraft":"hunter","events":{"bounty":["bounty_hunter_1","bounty_hunter_2","bounty_hunter_3","bounty_hunter_4","bounty_hunter_5","bounty_hunter_6","bounty_hunter_7","bounty_hunter_8","bounty_hunter_9","bounty_hunter_10","bounty_hunter_11","bounty_hunter_12","bounty_hunter_13","bounty_hunter_14","bounty_hunter_15"],"supply":["equip_free_1","equip_free_2","equip_free_3","equip_free_4"],"shop":["artifact_paid_1","artifact_paid_2","artifact_paid_3","artifact_paid_4","artifact_paid_5"],"tactic":["buff_select_1","buff_select_2","buff_select_3","buff_select_4","hardbuff_select_1","hardbuff_select_2","hardbuff_select_3","terrain_m01_1","terrain_m02_1","terrain_m02_2","terrain_m03_1","terrain_m04_1","terrain_m06_1","terrain_m07_1"]},"assumed":true}}},"mode_multi_abyss":{"spRounds":[3,9,11],"rounds":{"3":{"families":[{"family":"bounty","weight":100}],"cards":6,"supplyTiers":[1,4],"bountyDraft":"initial","events":{"bounty":["enemy_initial_1","enemy_initial_2","enemy_initial_3","enemy_initial_4","enemy_initial_5","enemy_initial_6","enemy_initial_7","enemy_initial_8","enemy_initial_9","enemy_initial_10"],"supply":["equip_free_1","equip_free_2","equip_free_3","equip_free_4"],"shop":["artifact_paid_1","artifact_paid_2","artifact_paid_3","artifact_paid_4","artifact_paid_5"],"tactic":["buff_select_1","buff_select_2","buff_select_3","buff_select_4","hardbuff_select_1","hardbuff_select_2","hardbuff_select_3","terrain_m01_1","terrain_m02_1","terrain_m02_2","terrain_m03_1","terrain_m04_1","terrain_m06_1","terrain_m07_1"]},"assumed":false},"9":{"families":[{"family":"bounty","weight":100}],"cards":6,"supplyTiers":[3,6],"bountyDraft":"boss","events":{"bounty":["bossInitial_1","bossInitial_2","bossInitial_3","bossInitial_4","bossInitial_5","bossInitial_6"],"supply":["equip_free_1","equip_free_2","equip_free_3","equip_free_4"],"shop":["artifact_paid_1","artifact_paid_2","artifact_paid_3","artifact_paid_4","artifact_paid_5"],"tactic":["buff_select_1","buff_select_2","buff_select_3","buff_select_4","hardbuff_select_1","hardbuff_select_2","hardbuff_select_3","terrain_m01_1","terrain_m02_1","terrain_m02_2","terrain_m03_1","terrain_m04_1","terrain_m06_1","terrain_m07_1"]},"assumed":false},"11":{"families":[{"family":"bounty","weight":14},{"family":"shop","weight":4},{"family":"tactic","weight":4}],"cards":6,"supplyTiers":[4,6],"bountyDraft":"hunter","events":{"bounty":["bounty_hunter_1","bounty_hunter_2","bounty_hunter_3","bounty_hunter_4","bounty_hunter_5","bounty_hunter_6","bounty_hunter_7","bounty_hunter_8","bounty_hunter_9","bounty_hunter_10","bounty_hunter_11","bounty_hunter_12","bounty_hunter_13","bounty_hunter_14","bounty_hunter_15"],"supply":["equip_free_1","equip_free_2","equip_free_3","equip_free_4"],"shop":["artifact_paid_1","artifact_paid_2","artifact_paid_3","artifact_paid_4","artifact_paid_5"],"tactic":["buff_select_1","buff_select_2","buff_select_3","buff_select_4","hardbuff_select_1","hardbuff_select_2","hardbuff_select_3","terrain_m01_1","terrain_m02_1","terrain_m02_2","terrain_m03_1","terrain_m04_1","terrain_m06_1","terrain_m07_1"]},"assumed":true}}}},"pools":{"pool_equip_normal":{"kind":"equip","rule":"shopEligible","maxTier":"shopLevel","assumed":true},"pool_equip_shop_1":{"kind":"equip","rule":"shopEligible","tiers":[1],"assumed":true},"pool_equip_kathe":{"kind":"equip","rule":"shopEligible","assumed":true},"pool_equip_narant":{"kind":"equip","rule":"shopEligible","maxTier":"shopLevel","assumed":true},"pool_equip_vict":{"kind":"equip","items":["chess_item_4_09_e_a","chess_item_3_09_e_a","chess_item_3_10_e_a","chess_item_2_03_e_a"],"assumed":true},"pool_equip_pepe":{"kind":"equip","weighted":[["chess_item_1_03_e_a",45],["chess_item_2_04_e_a",45],["chess_item_6_07_e_a",10]],"goldenWeights":[40,40,20],"assumed":true},"pool_equip_rockr":{"kind":"equip","items":["chess_item_4_09_e_a","chess_item_3_09_e_a","chess_item_3_10_e_a","chess_item_2_03_e_a"],"assumed":true},"pool_chess_glady":{"kind":"chess","items":["chess_char_3_05_a","chess_char_2_07_a","chess_char_1_04_a"],"assumed":true},"pool_char_pinus":{"kind":"chess","weighted":[["chess_char_1_19_a",45],["chess_char_2_18_a",45],["chess_char_4_20_a",10]],"assumed":true},"pool_char_later":{"kind":"chess","bond":"lateranoShip","minTier":4,"golden":true,"rule":"shopEligible","assumed":true},"pool_chess_shop_1_reward":{"kind":"chess","tier":1,"rule":"shopEligible","assumed":true},"pool_chess_shop_2_reward":{"kind":"chess","tier":2,"rule":"shopEligible","assumed":true},"pool_chess_shop_3_reward":{"kind":"chess","tier":3,"rule":"shopEligible","assumed":true},"pool_chess_shop_4_reward":{"kind":"chess","tier":4,"rule":"shopEligible","assumed":true},"pool_chess_shop_5_reward":{"kind":"chess","tier":5,"rule":"shopEligible","assumed":true},"pool_chess_shop_6_reward":{"kind":"chess","tier":6,"rule":"shopEligible","assumed":true}}} \ No newline at end of file diff --git a/docs/research/04-items.md b/docs/research/04-items.md index 6e92c1ee..c2141c46 100644 --- a/docs/research/04-items.md +++ b/docs/research/04-items.md @@ -411,7 +411,7 @@ Pools referenced but NOT defined in client data (server-side) - proposed content - `pool_equip_vict` (维多利亚 bond, every 25 layers): {灼燃, 坚固, 加速, 战栗}维式重锤, uniform. - `pool_equip_pepe` (佩佩): 盟约之币 45%, 萨尔贡浓茶 45%, 黄沙罗盘 10% (golden 佩佩: 40/40/20). - `pool_equip_rockr` (洛洛 "定制品"): {有限加速器, 激光发射器, 护盾无人机, 双模机械臂, 蜂鸣器} uniform. -- `pool_equip_kathe` (band_cathy 定向投放, on each shop upgrade 3 choose 1) and `pool_equip_narant` (band_narant, every even round 2 choose 1): tier <= new shop level normal EQUIP. +- `pool_equip_kathe` (band_cathy 定向投放, on each shop upgrade 3 choose 1): every shop-eligible normal EQUIP, whatever the shop level (0.2.0: players' first-hand report 「原版凯瑟琳1升2都能有6本装备」; tier <= new shop level until then), uniform [ASSUMED]. `pool_equip_narant` (band_narant, every even round 2 choose 1): tier <= shop level normal EQUIP [ASSUMED]. - garrison_45 / 134 / 135 exist but are not referenced by any operator in `charChessDataDict` (unused this season). ## 9. Status / damage terms used by items diff --git a/test/golden/matches.json b/test/golden/matches.json index a9a40a7a..691a1202 100644 --- a/test/golden/matches.json +++ b/test/golden/matches.json @@ -1034,8 +1034,8 @@ "combat": "client", "boost": null, "setup": {"stageId":"act2autochess_m01","bossId":"boss_1","hiddenBossId":"boss_8","factions":["DOT","INVISIBLE","REFLECTION"]}, - "end": {"victory":false,"roundsPassed":11,"hiddenReached":false,"hiddenCleared":false,"reason":"eliminated","teamLp":null,"bossPoolLeft":null,"virtualMs":118950}, - "rng": {"setup":25,"shop":453,"waves":0,"draft":65,"bots":18179,"meta":53}, + "end": {"victory":false,"roundsPassed":10,"hiddenReached":false,"hiddenCleared":false,"reason":"eliminated","teamLp":null,"bossPoolLeft":null,"virtualMs":104200}, + "rng": {"setup":25,"shop":365,"waves":0,"draft":63,"bots":16141,"meta":37}, "errors": {"engine":0,"logged":0,"sim":0,"dispatcher":0}, "rounds": [ { @@ -1063,80 +1063,73 @@ "round": 4, "ai_0": [1,45,8,0,1,2,8,"822a03c7",6,"arcaneShip 0/8, kazimierzShip 0/4, preciShip 0/8, swiftShip 1/6",10,10,0,23], "ai_1": [1,25,8,0,1,2,8,"f1865800",7,"arcaneShip 1/2, kazimierzShip 0/5, kjeragShip 0/2, preciShip 0/2, sargonShip 0/4, soloShip 1/0, steadShip 0/2, swiftShip 1/5",11,12,1,21], - "ai_2": [1,24,8,0,3,2,8,"38880204",9,"deputShip 1/7, kazimierzShip 0/2, kjeragShip 0/10, soloShip 1/2, steadShip 0/4, swiftShip 0/2, victoriaShip 0/10, yanShip 0/4",10,10,0,22], - "ai_3": [1,26,9,0,0,2,8,"00097ea6",4,"arcaneShip 1/3, preciShip 0/2, sargonShip 0/2, siracusaShip 1/0, soloShip 1/1",6,10,4,24] + "ai_2": [1,24,8,0,1,2,8,"38880204",11,"deputShip 1/7, kazimierzShip 0/2, kjeragShip 0/10, siracusaShip 0/2, soloShip 1/4, steadShip 0/4, swiftShip 0/2, victoriaShip 0/10, yanShip 0/2",10,10,0,22], + "ai_3": [1,24,9,0,0,2,8,"f276ee73",2,"arcaneShip 0/2, preciShip 0/2, sargonShip 0/2, siracusaShip 1/0, soloShip 1/2",7,10,3,24] }, { "round": 5, "ai_0": [1,35,9,0,0,3,8,"62c03eb5",8,"arcaneShip 0/8, kazimierzShip 0/4, preciShip 0/8, swiftShip 1/8",4,17,13,32], "ai_1": [1,15,9,0,0,3,8,"0a827c34",8,"arcaneShip 1/2, kazimierzShip 0/5, kjeragShip 0/2, preciShip 0/2, sargonShip 0/4, soloShip 1/0, steadShip 0/2, swiftShip 1/6",4,17,13,30], - "ai_2": [1,14,11,0,0,3,8,"623f557a",22,"deputShip 1/10, kazimierzShip 0/2, kjeragShip 0/10, siracusaShip 0/2, skillfulShip 0/2, soloShip 1/6, steadShip 0/4, swiftShip 1/6, victoriaShip 0/10, yanShip 0/4",7,17,10,32], - "ai_3": [1,16,9,0,0,3,8,"af41c680",5,"arcaneShip 1/4, preciShip 0/2, sargonShip 0/2, siracusaShip 1/0, soloShip 1/1",4,17,13,33] + "ai_2": [1,14,9,0,0,3,8,"19ce425b",22,"deputShip 1/10, kazimierzShip 0/2, kjeragShip 0/12, siracusaShip 0/4, soloShip 1/8, steadShip 0/4, swiftShip 1/4, victoriaShip 0/12, yanShip 0/2",7,17,10,31], + "ai_3": [1,14,8,0,0,3,8,"080ecfab",3,"arcaneShip 0/2, preciShip 0/2, sargonShip 0/2, siracusaShip 1/0, soloShip 1/3",3,17,14,31] }, { "round": 6, "ai_0": [1,35,9,0,0,3,8,"844b219a",33,"arcaneShip 0/8, kazimierzShip 0/4, kjeragShip 0/5, preciShip 2/20, suntShip 1/0, swiftShip 1/13",14,14,0,41], - "ai_1": [1,14,9,0,1,3,8,"3e9da7ea",25,"arcaneShip 1/2, kazimierzShip 1/10, kjeragShip 0/2, preciShip 0/2, sargonShip 0/4, siracusaShip 0/6, soloShip 1/0, steadShip 0/2, swiftShip 1/13",11,14,3,40], - "ai_2": [1,14,9,0,0,3,8,"524a7cff",51,"deputShip 1/12, egirShip 0/2, kazimierzShip 0/2, kjeragShip 0/12, raidShip 0/2, siracusaShip 0/2, skillfulShip 0/4, soloShip 1/8, steadShip 2/18, swiftShip 1/13, victoriaShip 0/10, yanShip 0/4",14,14,0,41], - "ai_3": [1,15,10,0,0,3,8,"ae19c686",28,"arcaneShip 2/9, deputShip 1/2, preciShip 0/2, sargonShip 0/2, siracusaShip 1/11, soloShip 1/6",9,14,5,45] + "ai_1": [1,15,9,0,0,3,8,"12cdcd45",33,"arcaneShip 0/2, deputShip 1/2, kazimierzShip 1/12, kjeragShip 0/2, preciShip 0/2, sargonShip 0/4, siracusaShip 0/6, soloShip 1/2, steadShip 0/2, swiftShip 1/17",9,14,5,40], + "ai_2": [1,14,9,0,0,3,8,"1ccdad55",51,"deputShip 1/14, egirShip 0/2, kazimierzShip 0/2, kjeragShip 0/12, raidShip 0/2, siracusaShip 0/4, soloShip 1/12, steadShip 2/19, swiftShip 1/6, victoriaShip 0/14, yanShip 0/2",14,14,0,40], + "ai_3": [1,14,9,0,0,3,8,"09881720",17,"arcaneShip 0/2, deputShip 1/2, preciShip 0/2, sargonShip 0/2, siracusaShip 1/8, skillfulShip 1/2, soloShip 1/5",8,14,6,40] }, { "round": 7, - "ai_0": [1,25,10,0,0,4,8,"fa19dc02",65,"arcaneShip 0/8, kazimierzShip 1/14, kjeragShip 0/5, preciShip 2/27, suntShip 1/0, swiftShip 1/24",6,21,15,52], - "ai_1": [1,4,11,0,0,4,8,"638fec4a",37,"arcaneShip 2/2, kazimierzShip 1/22, kjeragShip 0/2, preciShip 0/2, sargonShip 0/8, siracusaShip 0/6, steadShip 0/2, swiftShip 1/13",8,21,13,51], - "ai_2": [1,14,10,0,2,4,8,"a7ea2373",78,"deputShip 1/16, egirShip 0/4, kazimierzShip 0/2, kjeragShip 0/12, raidShip 0/4, siracusaShip 0/2, skillfulShip 0/6, soloShip 1/10, steadShip 2/33, swiftShip 1/19, victoriaShip 0/12, yanShip 0/4",21,21,0,51], - "ai_3": [1,5,11,0,0,4,8,"cad1e4b3",42,"arcaneShip 2/11, deputShip 1/4, preciShip 0/2, sargonShip 0/2, siracusaShip 1/19, soloShip 1/8",2,21,19,56] + "ai_0": [1,25,10,0,0,4,8,"968ab51e",45,"arcaneShip 0/8, kazimierzShip 0/4, kjeragShip 0/5, preciShip 2/27, suntShip 1/0, swiftShip 1/18",7,21,14,51], + "ai_1": [1,5,10,0,0,4,8,"e66f6f98",56,"arcaneShip 1/4, deputShip 1/4, kazimierzShip 1/26, kjeragShip 0/2, preciShip 0/2, sargonShip 0/4, siracusaShip 0/6, soloShip 0/2, steadShip 0/2, swiftShip 1/22",5,21,16,50], + "ai_2": [1,5,10,0,0,4,8,"2ea98fc3",74,"arcaneShip 0/2, deputShip 1/16, egirShip 0/4, kazimierzShip 0/4, kjeragShip 0/12, lateranoShip 0/2, raidShip 0/4, siracusaShip 0/4, soloShip 1/16, steadShip 1/30, suntShip 1/2, swiftShip 1/10, victoriaShip 0/14, yanShip 0/8",12,21,9,51], + "ai_3": [1,4,10,0,0,4,8,"81ad488b",29,"arcaneShip 0/2, deputShip 1/4, preciShip 0/2, sargonShip 0/2, siracusaShip 1/12, skillfulShip 1/6, soloShip 1/7",3,21,18,51] }, { "round": 8, - "ai_0": [1,18,11,0,0,4,8,"78106ce5",93,"arcaneShip 2/8, kazimierzShip 1/22, kjeragShip 0/5, preciShip 2/34, suntShip 1/0, swiftShip 1/29",2,9,7,63], - "ai_1": [0,0,11,0,0,4,0,"811c9dc5",0,"arcaneShip 0/2, kazimierzShip 0/29, kjeragShip 0/7, preciShip 0/2, sargonShip 0/8, siracusaShip 0/12, skillfulShip 0/5, steadShip 0/2, swiftShip 0/19",0,9,9,62], - "ai_2": [1,10,13,0,0,4,8,"710470e0",113,"deputShip 1/20, egirShip 0/6, kazimierzShip 0/2, kjeragShip 0/12, preciShip 0/2, raidShip 0/6, siracusaShip 0/2, skillfulShip 0/6, soloShip 1/14, steadShip 2/44, swiftShip 1/35, victoriaShip 0/14, yanShip 0/4",5,9,4,64], - "ai_3": [0,0,12,0,0,4,0,"811c9dc5",0,"arcaneShip 0/13, deputShip 0/8, miraShip 0/10, preciShip 0/4, sargonShip 0/2, siracusaShip 0/32, skillfulShip 0/4, soloShip 0/12",2,9,7,68] + "ai_0": [1,19,11,0,0,4,8,"06a97963",77,"arcaneShip 0/8, deputShip 2/4, kazimierzShip 0/4, kjeragShip 0/5, preciShip 1/38, skillfulShip 1/4, suntShip 1/4, swiftShip 1/27",3,9,6,62], + "ai_1": [0,0,11,0,0,4,0,"811c9dc5",0,"arcaneShip 0/6, deputShip 0/6, emptyShip 0/2, kazimierzShip 0/35, kjeragShip 0/2, preciShip 0/2, sargonShip 0/8, siracusaShip 0/6, soloShip 0/4, steadShip 0/2, swiftShip 0/22",2,9,7,61], + "ai_2": [0,0,11,0,0,4,0,"811c9dc5",0,"arcaneShip 0/4, deputShip 0/18, egirShip 0/4, kazimierzShip 0/4, kjeragShip 0/23, lateranoShip 0/4, miraShip 0/2, raidShip 0/4, siracusaShip 0/6, skillfulShip 0/5, soloShip 0/18, steadShip 0/39, suntShip 0/4, swiftShip 0/10, victoriaShip 0/16, yanShip 0/8",3,9,6,62], + "ai_3": [0,0,11,0,0,4,0,"811c9dc5",0,"arcaneShip 0/2, deputShip 0/8, preciShip 0/2, sargonShip 0/2, siracusaShip 0/22, skillfulShip 0/8, soloShip 0/11",0,9,9,63] }, { "round": 9, - "ai_0": [1,17,12,0,1,4,8,"a359f7ee",129,"arcaneShip 1/8, indomShip 1/2, kazimierzShip 1/38, kjeragShip 0/5, preciShip 2/47, suntShip 1/0, swiftShip 1/34",9,19,10,76], - "ai_1": [0,0,0,0,0,4,0,"811c9dc5",0,"arcaneShip 0/2, kazimierzShip 0/29, kjeragShip 0/7, preciShip 0/2, sargonShip 0/8, siracusaShip 0/12, skillfulShip 0/5, steadShip 0/2, swiftShip 0/19",null,null,null,62], - "ai_2": [1,10,12,0,1,4,8,"8df12b45",145,"deputShip 0/22, egirShip 0/6, kazimierzShip 0/2, kjeragShip 0/12, preciShip 0/4, raidShip 0/6, siracusaShip 0/2, skillfulShip 1/8, soloShip 1/14, steadShip 1/48, suntShip 1/0, swiftShip 1/50, victoriaShip 1/25, yanShip 0/13",19,19,0,76], - "ai_3": [0,0,0,0,0,4,0,"811c9dc5",0,"arcaneShip 0/13, deputShip 0/8, miraShip 0/10, preciShip 0/4, sargonShip 0/2, siracusaShip 0/32, skillfulShip 0/4, soloShip 0/12",null,null,null,68] + "ai_0": [1,9,12,0,0,4,8,"e4060ca6",103,"arcaneShip 1/8, deputShip 0/4, kazimierzShip 1/12, kjeragShip 0/5, preciShip 2/47, skillfulShip 0/4, suntShip 1/4, swiftShip 1/32",5,19,14,74], + "ai_1": [0,0,0,0,0,4,0,"811c9dc5",0,"arcaneShip 0/6, deputShip 0/6, emptyShip 0/2, kazimierzShip 0/35, kjeragShip 0/2, preciShip 0/2, sargonShip 0/8, siracusaShip 0/6, soloShip 0/4, steadShip 0/2, swiftShip 0/22",null,null,null,61], + "ai_2": [0,0,0,0,0,4,0,"811c9dc5",0,"arcaneShip 0/4, deputShip 0/18, egirShip 0/4, kazimierzShip 0/4, kjeragShip 0/23, lateranoShip 0/4, miraShip 0/2, raidShip 0/4, siracusaShip 0/6, skillfulShip 0/5, soloShip 0/18, steadShip 0/39, suntShip 0/4, swiftShip 0/10, victoriaShip 0/16, yanShip 0/8",null,null,null,62], + "ai_3": [0,0,0,0,0,4,0,"811c9dc5",0,"arcaneShip 0/2, deputShip 0/8, preciShip 0/2, sargonShip 0/2, siracusaShip 0/22, skillfulShip 0/8, soloShip 0/11",null,null,null,63] }, { "round": 10, - "ai_0": [1,12,13,0,0,5,8,"1c690635",153,"arcaneShip 1/8, indomShip 1/4, kazimierzShip 1/46, kjeragShip 0/5, preciShip 2/56, suntShip 1/0, swiftShip 1/39",17,25,8,88], - "ai_1": [0,0,0,0,0,4,0,"811c9dc5",0,"arcaneShip 0/2, kazimierzShip 0/29, kjeragShip 0/7, preciShip 0/2, sargonShip 0/8, siracusaShip 0/12, skillfulShip 0/5, steadShip 0/2, swiftShip 0/19",null,null,null,62], - "ai_2": [1,10,13,0,0,5,8,"0e4a12ab",175,"deputShip 0/24, egirShip 0/6, kazimierzShip 0/2, kjeragShip 0/12, lateranoShip 0/2, preciShip 0/4, raidShip 0/6, siracusaShip 0/2, skillfulShip 1/12, soloShip 1/14, steadShip 1/54, suntShip 1/0, swiftShip 1/64, victoriaShip 1/31, yanShip 0/15",25,25,0,89], - "ai_3": [0,0,0,0,0,4,0,"811c9dc5",0,"arcaneShip 0/13, deputShip 0/8, miraShip 0/10, preciShip 0/4, sargonShip 0/2, siracusaShip 0/32, skillfulShip 0/4, soloShip 0/12",null,null,null,68] + "ai_0": [1,1,12,0,0,5,8,"f9a30cdc",145,"arcaneShip 2/8, deputShip 0/4, kazimierzShip 1/24, kjeragShip 0/5, preciShip 2/56, raidShip 1/16, skillfulShip 0/4, suntShip 1/4, swiftShip 1/37",17,25,8,86], + "ai_1": [0,0,0,0,0,4,0,"811c9dc5",0,"arcaneShip 0/6, deputShip 0/6, emptyShip 0/2, kazimierzShip 0/35, kjeragShip 0/2, preciShip 0/2, sargonShip 0/8, siracusaShip 0/6, soloShip 0/4, steadShip 0/2, swiftShip 0/22",null,null,null,61], + "ai_2": [0,0,0,0,0,4,0,"811c9dc5",0,"arcaneShip 0/4, deputShip 0/18, egirShip 0/4, kazimierzShip 0/4, kjeragShip 0/23, lateranoShip 0/4, miraShip 0/2, raidShip 0/4, siracusaShip 0/6, skillfulShip 0/5, soloShip 0/18, steadShip 0/39, suntShip 0/4, swiftShip 0/10, victoriaShip 0/16, yanShip 0/8",null,null,null,62], + "ai_3": [0,0,0,0,0,4,0,"811c9dc5",0,"arcaneShip 0/2, deputShip 0/8, preciShip 0/2, sargonShip 0/2, siracusaShip 0/22, skillfulShip 0/8, soloShip 0/11",null,null,null,63] }, { "round": 11, - "ai_0": [1,2,12,0,1,5,8,"1d31e5b7",213,"arcaneShip 1/8, indomShip 0/4, kazimierzShip 1/68, kjeragShip 0/5, preciShip 2/74, raidShip 1/12, suntShip 1/0, swiftShip 1/51",12,25,13,100], - "ai_1": [0,0,0,0,0,4,0,"811c9dc5",0,"arcaneShip 0/2, kazimierzShip 0/29, kjeragShip 0/7, preciShip 0/2, sargonShip 0/8, siracusaShip 0/12, skillfulShip 0/5, steadShip 0/2, swiftShip 0/19",null,null,null,62], - "ai_2": [0,0,12,0,0,5,0,"811c9dc5",0,"deputShip 0/24, egirShip 0/6, kazimierzShip 0/2, kjeragShip 0/14, lateranoShip 0/2, preciShip 0/6, raidShip 0/6, siracusaShip 0/2, skillfulShip 0/16, soloShip 0/14, steadShip 0/56, swiftShip 0/78, victoriaShip 0/35, yanShip 0/35",6,25,19,100], - "ai_3": [0,0,0,0,0,4,0,"811c9dc5",0,"arcaneShip 0/13, deputShip 0/8, miraShip 0/10, preciShip 0/4, sargonShip 0/2, siracusaShip 0/32, skillfulShip 0/4, soloShip 0/12",null,null,null,68] - }, - { - "round": 12, - "ai_0": [0,0,13,0,0,6,0,"811c9dc5",0,"arcaneShip 0/8, indomShip 0/4, kazimierzShip 0/88, kjeragShip 0/5, preciShip 0/87, raidShip 0/24, swiftShip 0/56",14,47,33,114], - "ai_1": [0,0,0,0,0,4,0,"811c9dc5",0,"arcaneShip 0/2, kazimierzShip 0/29, kjeragShip 0/7, preciShip 0/2, sargonShip 0/8, siracusaShip 0/12, skillfulShip 0/5, steadShip 0/2, swiftShip 0/19",null,null,null,62], - "ai_2": [0,0,0,0,0,5,0,"811c9dc5",0,"deputShip 0/24, egirShip 0/6, kazimierzShip 0/2, kjeragShip 0/14, lateranoShip 0/2, preciShip 0/6, raidShip 0/6, siracusaShip 0/2, skillfulShip 0/16, soloShip 0/14, steadShip 0/56, swiftShip 0/78, victoriaShip 0/35, yanShip 0/35",null,null,null,100], - "ai_3": [0,0,0,0,0,4,0,"811c9dc5",0,"arcaneShip 0/13, deputShip 0/8, miraShip 0/10, preciShip 0/4, sargonShip 0/2, siracusaShip 0/32, skillfulShip 0/4, soloShip 0/12",null,null,null,68] + "ai_0": [0,0,12,0,0,5,0,"811c9dc5",0,"arcaneShip 0/8, deputShip 0/4, kazimierzShip 0/48, kjeragShip 0/5, preciShip 0/73, raidShip 0/52, skillfulShip 0/4, suntShip 0/4, swiftShip 0/42",13,25,12,97], + "ai_1": [0,0,0,0,0,4,0,"811c9dc5",0,"arcaneShip 0/6, deputShip 0/6, emptyShip 0/2, kazimierzShip 0/35, kjeragShip 0/2, preciShip 0/2, sargonShip 0/8, siracusaShip 0/6, soloShip 0/4, steadShip 0/2, swiftShip 0/22",null,null,null,61], + "ai_2": [0,0,0,0,0,4,0,"811c9dc5",0,"arcaneShip 0/4, deputShip 0/18, egirShip 0/4, kazimierzShip 0/4, kjeragShip 0/23, lateranoShip 0/4, miraShip 0/2, raidShip 0/4, siracusaShip 0/6, skillfulShip 0/5, soloShip 0/18, steadShip 0/39, suntShip 0/4, swiftShip 0/10, victoriaShip 0/16, yanShip 0/8",null,null,null,62], + "ai_3": [0,0,0,0,0,4,0,"811c9dc5",0,"arcaneShip 0/2, deputShip 0/8, preciShip 0/2, sargonShip 0/2, siracusaShip 0/22, skillfulShip 0/8, soloShip 0/11",null,null,null,63] } ], "players": { "ai_0": { "alive": false, "victory": false, - "roundsPassed": 11, - "eliminatedRound": 12, + "roundsPassed": 10, + "eliminatedRound": 11, "lp": 0, "bandId": "band_sarkazb", "title": {"id":"comment_4","name":"精英云集","picId":"comment_icon_4","text":"晋升精锐次数最多"}, "trophies": 2, - "reward": 255, - "stats": {"activatedLayers":0,"bossDamage":0,"dmgDealt":3052677,"gold":114,"itemsEquipped":8,"kills":110,"leaks":99,"lpLost":53,"merges":5,"perfectRounds":5,"refreshes":9}, + "reward": 213, + "stats": {"activatedLayers":0,"bossDamage":0,"dmgDealt":1986154,"gold":97,"itemsEquipped":6,"kills":95,"leaks":67,"lpLost":54,"merges":4,"perfectRounds":5,"refreshes":11}, "lineup": [], - "bonds": ["arcaneShip 0/8","indomShip 0/4","kazimierzShip 0/88","kjeragShip 0/5","preciShip 0/87","raidShip 0/24","swiftShip 0/56"] + "bonds": ["arcaneShip 0/8","deputShip 0/4","kazimierzShip 0/48","kjeragShip 0/5","preciShip 0/73","raidShip 0/52","skillfulShip 0/4","suntShip 0/4","swiftShip 0/42"] }, "ai_1": { "alive": false, @@ -1148,23 +1141,23 @@ "title": null, "trophies": 1, "reward": 149, - "stats": {"activatedLayers":0,"bossDamage":0,"dmgDealt":699073,"gold":62,"itemsEquipped":2,"kills":58,"leaks":39,"lpLost":31,"merges":1,"perfectRounds":3,"refreshes":5}, + "stats": {"activatedLayers":0,"bossDamage":0,"dmgDealt":769632,"gold":61,"itemsEquipped":4,"kills":55,"leaks":42,"lpLost":28,"merges":1,"perfectRounds":3,"refreshes":6}, "lineup": [], - "bonds": ["arcaneShip 0/2","kazimierzShip 0/29","kjeragShip 0/7","preciShip 0/2","sargonShip 0/8","siracusaShip 0/12","skillfulShip 0/5","steadShip 0/2","swiftShip 0/19"] + "bonds": ["arcaneShip 0/6","deputShip 0/6","emptyShip 0/2","kazimierzShip 0/35","kjeragShip 0/2","preciShip 0/2","sargonShip 0/8","siracusaShip 0/6","soloShip 0/4","steadShip 0/2","swiftShip 0/22"] }, "ai_2": { "alive": false, "victory": false, - "roundsPassed": 10, - "eliminatedRound": 11, + "roundsPassed": 7, + "eliminatedRound": 8, "lp": 0, "bandId": "band_bldsk", - "title": {"id":"comment_5","name":"万事俱备","picId":"comment_icon_5","text":"装备配发数量最多"}, - "trophies": 2, - "reward": 213, - "stats": {"activatedLayers":0,"bossDamage":0,"dmgDealt":2969116,"gold":100,"itemsEquipped":10,"kills":147,"leaks":37,"lpLost":28,"merges":3,"perfectRounds":6,"refreshes":9}, + "title": {"id":"comment_6","name":"挥金如土","picId":"comment_icon_6","text":"消耗资金最多"}, + "trophies": 1, + "reward": 149, + "stats": {"activatedLayers":0,"bossDamage":0,"dmgDealt":1245445,"gold":62,"itemsEquipped":3,"kills":76,"leaks":29,"lpLost":29,"merges":3,"perfectRounds":3,"refreshes":0}, "lineup": [], - "bonds": ["deputShip 0/24","egirShip 0/6","kazimierzShip 0/2","kjeragShip 0/14","lateranoShip 0/2","preciShip 0/6","raidShip 0/6","siracusaShip 0/2","skillfulShip 0/16","soloShip 0/14","steadShip 0/56","swiftShip 0/78","victoriaShip 0/35","yanShip 0/35"] + "bonds": ["arcaneShip 0/4","deputShip 0/18","egirShip 0/4","kazimierzShip 0/4","kjeragShip 0/23","lateranoShip 0/4","miraShip 0/2","raidShip 0/4","siracusaShip 0/6","skillfulShip 0/5","soloShip 0/18","steadShip 0/39","suntShip 0/4","swiftShip 0/10","victoriaShip 0/16","yanShip 0/8"] }, "ai_3": { "alive": false, @@ -1173,12 +1166,12 @@ "eliminatedRound": 8, "lp": 0, "bandId": "band_cathy", - "title": {"id":"comment_6","name":"挥金如土","picId":"comment_icon_6","text":"消耗资金最多"}, + "title": {"id":"comment_5","name":"万事俱备","picId":"comment_icon_5","text":"装备配发数量最多"}, "trophies": 1, "reward": 149, - "stats": {"activatedLayers":0,"bossDamage":0,"dmgDealt":649139,"gold":68,"itemsEquipped":10,"kills":45,"leaks":48,"lpLost":28,"merges":1,"perfectRounds":3,"refreshes":6}, + "stats": {"activatedLayers":0,"bossDamage":0,"dmgDealt":650699,"gold":63,"itemsEquipped":8,"kills":43,"leaks":50,"lpLost":31,"merges":1,"perfectRounds":3,"refreshes":4}, "lineup": [], - "bonds": ["arcaneShip 0/13","deputShip 0/8","miraShip 0/10","preciShip 0/4","sargonShip 0/2","siracusaShip 0/32","skillfulShip 0/4","soloShip 0/12"] + "bonds": ["arcaneShip 0/2","deputShip 0/8","preciShip 0/2","sargonShip 0/2","siracusaShip 0/22","skillfulShip 0/8","soloShip 0/11"] } } }, diff --git a/test/match/feedback5-cathy-pool.test.js b/test/match/feedback5-cathy-pool.test.js new file mode 100644 index 00000000..0f719230 --- /dev/null +++ b/test/match/feedback5-cathy-pool.test.js @@ -0,0 +1,32 @@ +// Community report of 2026-10-06 「凯瑟琳装备池没有超出商店等级的装备,原版凯瑟琳1升2都能有6本装备」 (item 43): the 凯瑟琳 strategy +// (定向投放, up_shop_add_special_goods {count 3, choice 1, pool pool_equip_kathe}) offered only items up to the shop level — +// data/choices.json pool_equip_kathe maxTier 'shopLevel', an [ASSUMED] cap (the pool is server-side). The players' first-hand +// account: tier VI items show at the 1 → 2 upgrade. The pool is every shop-eligible item now (uniform [ASSUMED]). + +import { test } from 'node:test'; +import assert from 'node:assert/strict'; +import { makeMatch, DATA } from './harness.js'; + +test('凯瑟琳 定向投放: the level 1 → 2 offer draws from every tier, the special items never', () => { + assert.equal(DATA.choices.pools.pool_equip_kathe.maxTier, undefined, 'no shop-level cap in the data'); + const tiers = new Map(); + for (let seed = 1; seed <= 12; seed++) { + const h = makeMatch({ mode: 'solo', difficulty: 'NORMAL', humans: 1, seed, fake: true }).start(); + h.toPrep(1, { band: 'band_cathy' }); + const ps = h.ps('p_0'); + ps.funds = 50; + assert.deepEqual(h.m.handle('p_0', { t: 'g.levelUp' }), { ok: true }); + assert.equal(ps.shop.level, 2); + const offer = ps.offers[ps.offers.length - 1]; + assert.ok(offer, `seed ${seed}: an offer`); + const ids = (offer.slots ?? []).filter((s) => s && s.kind === 'item').map((s) => s.id); + assert.equal(ids.length, 3, `seed ${seed}: 3 items`); + for (const id of ids) { + const rec = h.m.gd.item(id); + assert.ok(rec && !rec.shopExcluded, `seed ${seed}: ${id} is a shop item`); + tiers.set(rec.tier, (tiers.get(rec.tier) || 0) + 1); + } + } + assert.ok([...tiers.keys()].some((t) => t > 2), `items above the shop level (the parent: tiers I–II only) — ${JSON.stringify([...tiers])}`); + assert.ok(tiers.has(6), 'tier VI among them'); +}); diff --git a/tools/build-data.mjs b/tools/build-data.mjs index 89d5ab4b..6ed26c48 100644 --- a/tools/build-data.mjs +++ b/tools/build-data.mjs @@ -3423,7 +3423,10 @@ function buildChoices(ctx, effects, items, chess) { pools: { pool_equip_normal: { kind: 'equip', rule: 'shopEligible', maxTier: 'shopLevel', assumed: true }, pool_equip_shop_1: { kind: 'equip', rule: 'shopEligible', tiers: [1], assumed: true }, - pool_equip_kathe: { kind: 'equip', rule: 'shopEligible', maxTier: 'shopLevel', assumed: true }, + // 凯瑟琳 定向投放 (up_shop_add_special_goods): every shop-eligible item, whatever the shop level — players' first-hand + // report (community, 2026-10-06): 「原版凯瑟琳1升2都能有6本装备」; the pool itself is server-side, uniform [ASSUMED] + // (until 0.2.0 it was capped at the shop level, so the 1 → 2 offer only ever showed tiers I–II) + pool_equip_kathe: { kind: 'equip', rule: 'shopEligible', assumed: true }, pool_equip_narant: { kind: 'equip', rule: 'shopEligible', maxTier: 'shopLevel', assumed: true }, // "获得一件带有随机特殊效果的维式重锤": the 4 hammers with a special effect (never sold, SHOP_EXCLUDED_ITEMS); the // weights are server-side (PRTS 11-25 note: "装备【灼燃维式重锤】的出现概率调整") — uniform [ASSUMED] From 96859d8bbea48a4b169fa24c297523d9bfecf7a1 Mon Sep 17 00:00:00 2001 From: sganggs Date: Wed, 7 Oct 2026 02:33:24 +0800 Subject: [PATCH 08/11] =?UTF-8?q?feedback5=20CB1:=20three=20community=20re?= =?UTF-8?q?ports=20that=20are=20the=20official=20behaviour,=20pinned=20?= =?UTF-8?q?=E2=80=94=20the=20=E6=BA=90=E7=9F=B3=E6=BA=B6=E5=89=82=20drain?= =?UTF-8?q?=20on=20the=20=E7=82=8E=E4=BD=91,=20two=20=E5=8F=98=E5=BD=A2?= =?UTF-8?q?=E5=90=8C=E6=9E=84=E4=BD=93=20=E9=98=BF=E6=88=88=E5=B0=94=20in?= =?UTF-8?q?=20a=20row=20devouring,=20=E5=AF=BB=E5=91=BC=E6=A8=A1=E5=9D=97?= =?UTF-8?q?=20/=20=E7=AE=80=E6=98=93=E9=80=9A=E8=AE=AF=E6=9C=BA=20on=20?= =?UTF-8?q?=E7=BC=AA=E5=B0=94=E8=B5=9B=E6=80=9D=20below=20shop=20level=206?= =?UTF-8?q?=20(items=2049,=2050,=2045)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 49 「炎祐能吃到掉血道具的效果」: PRTS 源石溶剂 备注 — every 敌人类我方单位 of the field takes the carrier's 60 / s (measured: the 炎佑 600 HP in 10 s, no ATK). 50: two operators made 阿戈尔 by 变形同构体 + 阿戈尔重刃 (two 空弦, 空弦 + 哈洛德) devour like any others, through the real intents too (+3 layers, the ATK and block); two NORMAL copies of one item merge (official rule), so the pair needs a normal and an 进阶 set. 45: 寻呼模块 (「不高于当前调度中心等级」) and 简易通讯机 (the phone icon, 备注 「获得的干员等阶不高于当前调度中心等级」) look for an operator sharing 缪尔赛思's only bond 调和 — herself, tier VI: below shop level 6 nothing qualifies and the item is used up (as 拟态物质 at the copy cap, §25.13.1); at 6 she comes. No product change; golden unchanged. Test: test/content/feedback5-cb1-pins.test.js. --- test/content/feedback5-cb1-pins.test.js | 69 +++++++++++++++++++++++++ 1 file changed, 69 insertions(+) create mode 100644 test/content/feedback5-cb1-pins.test.js diff --git a/test/content/feedback5-cb1-pins.test.js b/test/content/feedback5-cb1-pins.test.js new file mode 100644 index 00000000..9e58a189 --- /dev/null +++ b/test/content/feedback5-cb1-pins.test.js @@ -0,0 +1,69 @@ +// Community reports of 2026-10-06 that are the official behaviour (items 45, 49, 50) — pinned so the answer stays true. +// 49 「炎祐能吃到掉血道具的效果」: PRTS 卫戍协议:盟约 下半/PRTS盟约记录, 源石溶剂 备注 「携带后,全场范围内的所有敌人类我方单位也会 +// 获得此装备的“每秒受到60真实伤害”效果(该效果的付与为我方阵营索敌,可对空,无视目标可选性)」 — the 炎佑 is one (no ATK bonus). +// 50 「两个空弦转职阿戈尔然后连一起…最后面的空弦不能吃前面的空弦」: two operators made 阿戈尔 by 变形同构体 + 阿戈尔重刃 devour like any +// other (same name or not); two NORMAL copies of one item merge (the official merge rule), so the pair needs a normal +// and an 进阶 set. +// 45 「寻呼模块和电话对干员缪尔赛思用不会给缪尔赛思,会直接道具被吞」: 寻呼模块 「(不高于当前调度中心等级)」 and 简易通讯机 (the +// phone icon; 备注 「获得的干员等阶不高于当前调度中心等级」) look for an operator sharing her only bond, 调和: 缪尔赛思 herself, tier +// VI — below shop level 6 there is none and the item is used up with nothing, as 拟态物质 at the copy cap (§25.13.1). + +import { test } from 'node:test'; +import assert from 'node:assert/strict'; +import { makeBattle } from '../helpers/battleHarness.js'; +import { makeMatch } from '../match/harness.js'; +import { hasGeneratedData } from '../../server/sim/simdata.js'; + +const REAL = { skip: !hasGeneratedData() }; + +test('49: a 源石溶剂 carrier on the field drains the 炎佑 60 HP a second, with no ATK bonus', REAL, () => { + const ids = ['chess_char_1_03', 'chess_char_2_04', 'chess_char_3_03', 'chess_char_3_04', 'chess_char_4_15', 'chess_char_4_17']; + const tiles = [[11, 3], [11, 4], [12, 3], [12, 4], [11, 5], [12, 5]]; + const h = makeBattle({ + units: ids.map((id, i) => ({ chessId: `${id}_a`, row: tiles[i][0], col: tiles[i][1], items: i === 0 ? ['chess_item_1_05_e_a'] : [] })), + bonds: { yanShip: { count: 6, layers: 1, active: true, tier: 2 } }, timeLimit: 30, seed: 1, autoFinish: false, + }); + h.step(2); + const y = h.b.allyUnits.find((u) => u.defId === 'enemy_9012_acloon'); + const hp0 = y.hp, atk0 = y.s.atk; + h.run(10); + assert.ok(Math.abs(hp0 - y.hp - 600) < 1e-6, `600 HP in 10 s, got ${hp0 - y.hp}`); + assert.equal(y.s.atk, atk0, 'no ATK from the item'); +}); + +test('50: two 空弦 made 阿戈尔 (变形同构体 + 阿戈尔重刃) in a row — the back one devours the front one; any pair does', REAL, () => { + const morph = (chessId, col, golden = false) => ({ chessId, row: 10, col, items: golden ? ['chess_item_6_09_e_b', 'chess_item_3_07_e_b'] : ['chess_item_6_09_e_a', 'chess_item_3_07_e_a'] }); + for (const [label, pair] of [ + ['two 空弦', [morph('chess_char_3_21_a', 3), morph('chess_char_3_21_a', 4, true)]], + ['空弦 + 哈洛德', [morph('chess_char_3_21_a', 3), morph('chess_char_2_05_a', 4, true)]], + ]) { + const h = makeBattle({ + units: [...pair, { chessId: 'chess_char_2_07_a', row: 12, col: 8 }, { chessId: 'chess_char_3_09_a', row: 9, col: 9 }], + bonds: { egirShip: { count: 3, active: true, tier: 1, layers: 0 } }, timeLimit: 10, seed: 1, autoFinish: false, + }); + const marks = []; + h.b.on('damaged', (c) => { if (c.dmg?.tags?.includes('bond:egir:devour')) marks.push([c.source.tileC, c.target.tileC]); }, { priority: -1000 }); + h.step(2); + assert.deepEqual(marks, [[3, 4]], `${label}: the back one (col 3) devours the front one (col 4)`); + } +}); + +test('45: 寻呼模块 / 简易通讯机 on 缪尔赛思 below shop level 6 — nothing qualifies (调和, tier ≤ shop level), the item is used up', () => { + for (const itemId of ['chess_item_4_01_e_a', 'chess_item_2_06_e_a']) { + for (const level of [5, 6]) { + const h = makeMatch({ mode: 'solo', difficulty: 'NORMAL', humans: 1, seed: 7, fake: true }).start(); + h.toPrep(1); + const ps = h.ps('p_0'); + ps.shop.level = level; + const mly = ps.acquireChess('chess_char_6_11_a', { source: 'test' }); + const item = ps.acquireItem(itemId, { source: 'test' }); + const owned = () => [...ps.board.values(), ...ps.hand, ...ps.temp].filter((p) => p && p.id === 'chess_char_6_11_a').length; + const n0 = owned(), offers0 = ps.offers.length; + assert.deepEqual(h.m.handle('p_0', { t: 'g.equip', itemUid: item.uid, targetUid: mly.uid }), { ok: true }); + assert.equal(ps.find(item.uid), null, `${itemId} @${level}: consumed`); + const got = owned() - n0 + (ps.offers.length - offers0); + if (level < 6) assert.equal(got, 0, `${itemId} @${level}: nothing (no 调和 operator of tier ≤ ${level})`); + else assert.equal(got, 1, `${itemId} @6: 缪尔赛思 (granted, or offered by 寻呼模块)`); + } + } +}); From 5cfa802aee662a66a390dd7e23aa3f1b67abd8b7 Mon Sep 17 00:00:00 2001 From: sganggs Date: Wed, 7 Oct 2026 02:35:25 +0800 Subject: [PATCH 09/11] =?UTF-8?q?feedback5=20CB1:=20DESIGN=20=C2=A725.15?= =?UTF-8?q?=20=E2=80=94=20the=20community=20reports=20of=202026-10-06=20on?= =?UTF-8?q?=20bonds,=20strategies=20and=20items=20(seven=20fixed=20in=20si?= =?UTF-8?q?x=20commits,=20five=20official=20behaviour,=20three=20not=20rep?= =?UTF-8?q?roduced,=20two=20owner=20questions),=20and=20the=20=C2=A725=20i?= =?UTF-8?q?ntro=20line?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- docs/history/0.2.0.md | 124 +++++++++++++++++++++++++++++++++++++++++- 1 file changed, 123 insertions(+), 1 deletion(-) diff --git a/docs/history/0.2.0.md b/docs/history/0.2.0.md index ce61c9d8..89b7b25c 100644 --- a/docs/history/0.2.0.md +++ b/docs/history/0.2.0.md @@ -25,7 +25,9 @@ settled (泥岩's 闭锁; 忍冬, 深靛, 阿) → §25.11; release packaging an with no Spine model) → §25.12; round 18 — 拟态物质 at the copy cap (GitHub #207), 华法琳's 7 / 14 (GitHub #175, PR #192), a merged elite 拉普兰德 as a new one (GitHub #169), the leader pool per player alive (PR #209), the flying lift and two model quirks (PR #211) → §25.13; the community reports of 2026-10-06 (the 孤岛风云 prisoners drawn freed, 忍冬's trigger, a -bounty burned to death by the 活性源石, 枯朽之种 paying a bounty) → §25.14. +bounty burned to death by the 活性源石, 枯朽之种 paying a bounty) → §25.14; CB1's community reports of 2026-10-06 on bonds, +strategies and items (the 谢拉格 wind's endless freeze, 埃芒加德's revive as a knock-out, 佩佩's paid refresh, the 炎佑 on the +medic's slot, 凯瑟琳's offer, the hidden layers on the result card; the official behaviours pinned) → §25.15. 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); @@ -1062,3 +1064,123 @@ fixed (W5AA's commits name every golden scenario moved); two were already fixed bounty 使徒 whose seeds leaked sent every seed into 联防 carrying the card — 15 of 16 re-entries paid it again — which is the report; on this tree only the 使徒's own leak carries it. - Golden: unchanged. Pinned: `test/sim/feedback5-community-pins.test.js`. + +### 25.15 CB1 — community reports of 2026-10-06: bonds, strategies, items — `sim/battle/status.js applyStatus` (cold), `content/items/battle.js reviveNow`, `content/bands/battle.js` (埃芒加德), `content/bands/meta.js` (佩佩), `content/tokens.js airTile`, `screens/result.js resultBonds`, `tools/build-data.mjs` (pool_equip_kathe) + +Fifteen of the owner's community reports of 2026-10-06 (items 5, 7, 8, 9 / 37, 15, 20, 21, 23, 25, 41, 42, 43, 45, 49, +50 of the list). Each was reproduced on this tree with a script, checked against the official data (bonds.json, +items.json, the client's buff templates), PRTS (卫戍协议:盟约 下半/PRTS盟约记录 and its 备注, 术语释义, 特殊机制) and the +earlier decisions. Seven were real and are fixed in six commits (7 and 8 share one; golden named in each); five are the +official behaviour (four pinned by tests); three could not be reproduced and need the reporters' cases; two questions +go to the owner (the order of §25.15.1, a fallback in §25.15.10). + +#### 25.15.1 「维多利亚的锁血锤和烛煌的锁血只生效了一个」: both work, one after the other — no change + +- **Measured**: 烛煌 (elite) carrying 坚固维式重锤, a lethal hit every 2 s: 倒地 at the first (绝处重燃, a kit `fatal` saver + −50), the hammer's lock at the hit that breaks the 6000 barrier while she is 倒地 (`PRIO_REVIVE` −100), death 8 s later; + without the hammer she falls at the second. The 蒸汽之心 path (another operator's hammer) behaves the same. +- **Why it looks like one**: PRTS 备注 「不处于【重燃】状态下,受到足以致命的伤害时,可触发此天赋效果,次数不限」 — the talent takes + every lethal hit outside 【重燃】, so the lock only ever shows when she is killed while 倒地. The order — kits' savers before + the consumable 不死 — is the documented [ASSUMED] (§21.21, §22.7's 余烬): the official talent fires on + ON_BEFORE_TRY_SET_HP_ZERO (buff template blaze2_t_2) and the autochess hammer's template is not in the client's buff + data, so no source gives an order. **Owner question**: should the lock take her first lethal hit instead? +- Golden: unchanged. Pinned: `test/content/feedback5-blaze-hammer.test.js`. + +#### 25.15.2 「谢拉格盟约冰冻时间没有随层数正确成长」 and 「…被在无法被任何干员攻击到的地方永控」: a pair of colds becomes the freeze — `sim/battle/status.js applyStatus` + +- **Seen**: the 6-member wind (every 25 s, 寒冷 20 + 0.1 × layers s) froze an enemy for the rest of the battle from 51 layers + on, wherever it stood (at the gate too), and never below: measured, 60 layers → frozen from 50 s to the end; 40 → never. +- **Official**: PRTS 术语释义 寒冷 「友方寒冷始终需要两两一对产生友方冻结,持续时间取双方之中最高」; 异常效果 COLD + 「在特定条件下转变为冻结」 — the pair turns into one freeze (a lone 友方 cold on a frozen enemy needs a partner, unlike the + 敌方 rule 「…施加的敌方寒冷会变为敌方冻结」). +- **Cause**: the second cold froze for max(remaining, incoming) (§23.27) and the older cold stayed on, extended to the same + length, so the next cold before it ran out — the next gust — froze again. +- **Now**: on an enemy the pair becomes the freeze and no cold is left; on an operator (敌方寒冷) the old rule stays. The wind + alone freezes 20 + 0.1 × L s of every 50 s from 51 layers (60 → 26 s, 200 → 40 s, all of it from 300). +- [ASSUMED]: a paired cold emits no `statusApplied` 'cold' (the freeze does). +- Golden: every scenario where a second cold met a cold enemy (the commit lists 35). Tests: + `test/sim/feedback5-kjerag-cold.test.js`; `feedback3-cold-freeze` and 灵知 S2 (`kits_t4`) updated. Docs: docs/SIM.md + (`cold`), DESIGN §5 (design/engine.md). + +#### 25.15.3 「卡西米尔和艾芒加德策略似乎有BUG:像砾和瑕光这种死亡和部署的叠层效果…无法触发」: a 复活 is a knock-out and a free redeploy — `content/items/battle.js reviveNow`, `content/bands/battle.js`, `content/bonds/core.js installEgir` + +- **Seen**: with 埃芒加德's 命结之秘, 砾 (<部署时> 卡西米尔 +1, <被击倒时> 不屈 +2) gained nothing from his first three + knock-outs and stacked only on the 4th, real death; 瑕光's <部署时> +4 never fired on a revive. +- **Official**: PRTS 埃芒加德 (and M3茧甲, 阿戈尔) 备注 「“复活”的实现方式为:受益者因移动之外的原因退场时下次部署的再部署时间和 + 费用归零」 — the operator is knocked out and redeployed at once. +- **Cause**: both 复活 were `fatal` savers that kept the unit standing (a known simplification, §21.20's "not done"): no + `death`, no `deploy`. +- **Now**: `reviveNow`, a `death` hook (M3茧甲 `PRIO_RESPAWN` 13, 埃芒加德 `PRIO_BAND_REVIVE` 12, ahead of 阿戈尔 5 at 11 and + 不屈 at 10): the knock-out stands (被击倒时 effects, 克莱门莎, 卡莱莎, 不屈's +5 SP …) and the operator redeploys where it + lies, free (full HP, SP reset, 部署时 effects, the 卡西米尔 deployment ATK, a new 坚固 lock — `revivedInPlace` is gone). + The ctx carries `revivedBy`, so 阿戈尔 5 does not count that knock-out as the member's first (the owner's decision of + 2026-10-05, unchanged). +- [ASSUMED]: a revive whose tile is taken spends nothing (as 阿戈尔 5); with both, M3茧甲 answers first (as before). +- Golden: the battles with M3茧甲 or 埃芒加德 whose operators fell (11, the commit lists them). Tests: + `test/content/feedback5-revive-redeploy.test.js`; bands / bonds_core / feedback1f-hammer / op_lessng / op_zuole / + docs-consistency updated. Docs: docs/SIM.md (`fatal`, `death`), DESIGN §5 (design/engine.md), docs/PLAYING.md, research 04. + +#### 25.15.4 「局内划掉被ban的盟约的实际效果有问题:只在标准模拟中生效」: the drawn bonds are the same in every difficulty — no change + +- **Measured**: the drawn set D — 0 core + 1 add-on in 标准, 3 + 4 in 险境 / 绝境 / 终极 — removes only the operators whose + every bond is in it (23–25 banned, none in the pool); each drawn bond keeps 2–10 members through their other bond, 标准's + one included. Only 标准 also has the mode's static list (the official modeDataDict inactiveBondIdList, 10 bonds that never + activate, §21.7). +- **Official**: 帮助 「…以及不完整的盟约与不会进入调配池的干员」, the briefing badge 「部分盟约所含干员阵容不完整」, the + strategies' 「在部分干员缺席时体验可能不完整」 (research 01 A2). The briefing legend already says it. + +#### 25.15.5 「佩佩策略的特殊刷新也是要花钱的,不是免费」: the special refresh is paid — `content/bands/meta.js` + +- **Seen**: reaching shop level 2 / 4 / 6 granted a free refresh; the special one cost 0. +- **Official**: 博学多通 「获得1次特殊刷新」 names no 免费 (德克萨斯's trait 「获得1次免费刷新」 does); the blackboard's `price` + 0 had been read as its price. +- **Now**: the level-up marks the next manual refresh special — the usual refresh price, the chess slots filled with + <萨尔贡> first. [ASSUMED] `cnt` / `price` 0 change nothing. Golden: unchanged. Test: `test/content/bands.test.js`. + +#### 25.15.6 「独行这种盟约是不能叠层的」: they stack, the game never shows them — `screens/result.js resultBonds` + +- **Official**: PRTS 盟约记录's header 「下述盟约中部分盟约不会显示叠加层数,但是叠加层数的特质/策略/装备等效果仍然对其生效」 — the + four bonds.json `noStack` bonds (调和, 协防干员, 独行, 绝技) take layers like every other (GitHub #139's answer, 0.1.4 + PR #66); their effects do not read them. The report asks for what the game does not do. +- **Now**: the one place still printing the hidden count — the result card (「独行 24」, ranked by it) — shows no number and + does not rank by it, as the bond strip since PR #66. Golden: unchanged. Test: `test/ui/feedback5-result-bonds.test.js`. + Docs: docs/PLAYING.md (层数), research 02 §2.2. + +#### 25.15.7 「Touch策略给的医疗干员会跟炎盟约的炎祐冲突,无法同时出场」: the 炎佑 keeps off the map-character slot — `content/tokens.js airTile` + +- **Seen** (every season map): on 战场#08 涨潮控制 (always) and 战场#07 排气格栅 (the second 炎佑 of 9 炎) the 外勤医疗 medic / + Touch never stood. +- **Cause**: both spawn at battle start; the 炎佑's tile (void tiles nearest the half's centre) took (10, 2), the medic's + stage slot (stages.json `mapChars`), first. The 联防 maps have no predefined medic in the official levels: none there. +- **Now**: `airTile` holds the map characters' positions. Golden: unchanged. Test: `test/content/feedback5-yanyou-touch.test.js`. + +#### 25.15.8 Not reproduced — 「炎祐能错误的被空中单位阻挡」 (item 25), 「选pith策略的时候阿戈尔在联防时会出现加成被清空」 (item 41), 「源石溶剂在干员血量满的时候没生效」 (item 42) — no change + +- 25: the 炎佑 never blocks (block 0) and is never blocked (only enemies are block candidates), as PRTS 特殊机制 我方单位 + 「敌人类我方单位不会被角色类单位阻挡」; it hovers on the top-aggro enemy, and an unblocked ranged enemy — a flyer included — + stands for each attack (GitHub #58), so a flyer shooting it looks held. +- 41: Pith's 盟约·辅助干员 (调和) with four 阿戈尔 (5 with 调和's +1): the same 阿戈尔 HP bonus in the normal battle and in 联防, + one or two helpers, either half; the 联防 input is the normal one plus the round's layers, HP ratio, SP and 倒地. +- 42: from full HP the drain ticks 60 / s and ATK +40 % holds. Noted for the owner: the official `periodic_damage` template + has `_ignoreForSp: true` (no 受击 SP), while §21.12 lets it charge 受击回复 SP. +- The reporters' cases (operators, items, screenshots) are needed. + +#### 25.15.9 「凯瑟琳装备池没有超出商店等级的装备」: the 凯瑟琳 offer is every shop item — `tools/build-data.mjs` + +- **Seen**: the 1 → 2 upgrade offered tiers I–II only (40 seeds: 55 × I, 65 × II). +- **Official**: the pool is server-side; the players' first-hand account 「原版凯瑟琳1升2都能有6本装备」. +- **Now**: `pool_equip_kathe` is every shop-eligible item, uniform [ASSUMED] (40 seeds: I 9 … VI 24); data/choices.json + rebuilt offline (only that pool's `maxTier` gone). Golden: coop4-ABYSS-7. Test: `test/match/feedback5-cathy-pool.test.js`. + +#### 25.15.10 The official behaviour, pinned — 「寻呼模块和电话对干员缪尔赛思用不会给缪尔赛思」 (item 45), 「炎祐能吃到掉血道具的效果」 (item 49), 「两个空弦转职阿戈尔…最后面的空弦不能吃前面的空弦」 (item 50) — no change + +- 45: 「电话」 is 简易通讯机 (its phone icon; 备注 「获得的干员等阶不高于当前调度中心等级」), like 寻呼模块 「(不高于当前调度中心 + 等级)」. 缪尔赛思's only bond is 调和, whose only operator in the pool is her, tier VI: below shop level 6 nothing qualifies + and the item is used up (as 拟态物质 at the copy cap, §25.13.1); at 6 she comes. **Owner option**: a fallback to any tier + when nothing qualifies (what the reporter expects). +- 49: PRTS 源石溶剂 备注 「携带后,全场范围内的所有敌人类我方单位也会获得此装备的“每秒受到60真实伤害”效果」 — the 炎佑 is one + (600 HP in 10 s, no ATK bonus). +- 50: two operators made 阿戈尔 by 变形同构体 + 阿戈尔重刃 (two 空弦, 空弦 + 哈洛德) devour like any others, through the real + intents too (+3 layers, ATK, block). Two NORMAL copies of one item merge (the official rule), so two 空弦 need a normal + and an 进阶 set; and the pair counts once toward the 3 members. +- Pinned: `test/content/feedback5-cb1-pins.test.js`. From 3e13bb4436cff3828c797c15a084de78b6667bf6 Mon Sep 17 00:00:00 2001 From: sganggs Date: Wed, 7 Oct 2026 02:38:16 +0800 Subject: [PATCH 10/11] =?UTF-8?q?feedback5=20CB1:=20item=2043=20follow-up?= =?UTF-8?q?=20=E2=80=94=20the=20two=20tests=20that=20pinned=20=E5=87=AF?= =?UTF-8?q?=E7=91=9F=E7=90=B3's=20old=20shop-level=20cap=20(bands.test.js,?= =?UTF-8?q?=20ui/feedback1-offers.test.js)=20now=20check=20shop=20items=20?= =?UTF-8?q?of=20any=20tier?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit No product change; golden unchanged. --- test/content/bands.test.js | 4 ++-- test/ui/feedback1-offers.test.js | 3 ++- 2 files changed, 4 insertions(+), 3 deletions(-) diff --git a/test/content/bands.test.js b/test/content/bands.test.js index a0efc03c..aeb3b2bc 100644 --- a/test/content/bands.test.js +++ b/test/content/bands.test.js @@ -302,7 +302,7 @@ test('余 文火慢炖: R8 round start — exactly 1 active bond +36 layers, oth cover('band_yu'); }); -test('凯瑟琳 定向投放: every shop upgrade offers 3 different items (tier ≤ new level), 1 free pick', () => { +test('凯瑟琳 定向投放: every shop upgrade offers 3 different shop items (any tier — community report of 2026-10-06), 1 free pick', () => { const { m, ps } = setup({ band: 'band_cathy', seed: 9 }); for (const lvl of [2, 3]) { ps.shop.upgradePrice = 0; @@ -313,7 +313,7 @@ test('凯瑟琳 定向投放: every shop upgrade offers 3 different items (tier const ids = offer.slots.map((sl) => sl.id); assert.equal(ids.length, 3); assert.equal(new Set(ids).size, 3); - for (const id of ids) assert.ok(offer.slots[0].kind === 'item' && DATA.items[id].tier <= lvl && !DATA.items[id].isGolden, id); + for (const id of ids) assert.ok(offer.slots[0].kind === 'item' && !DATA.items[id].shopExcluded && !DATA.items[id].isGolden, id); } const f0 = ps.funds; const pick = ps.offers[0].slots[2].id; diff --git a/test/ui/feedback1-offers.test.js b/test/ui/feedback1-offers.test.js index 0f5a3f43..dc4a6cb9 100644 --- a/test/ui/feedback1-offers.test.js +++ b/test/ui/feedback1-offers.test.js @@ -76,7 +76,8 @@ describe('#6 the server names its offers (m.private shop.rewardOffer source / la for (const s of offer.slots) { assert.equal(s.kind, 'item'); assert.equal(s.price, 0); - assert.ok(DATA.items[s.id] && DATA.items[s.id].itemType === 'EQUIP' && DATA.items[s.id].tier <= ps.shop.level, s.id); + // any tier since 0.2.0 (community report of 2026-10-06: 「原版凯瑟琳1升2都能有6本装备」), shop items only + assert.ok(DATA.items[s.id] && DATA.items[s.id].itemType === 'EQUIP' && !DATA.items[s.id].shopExcluded, s.id); } const want = offer.slots[1].id; const funds = ps.funds; From 3bfe17bd07653f392868c01dadbe7857b8005425 Mon Sep 17 00:00:00 2001 From: sganggs Date: Wed, 7 Oct 2026 02:46:59 +0800 Subject: [PATCH 11/11] =?UTF-8?q?feedback5=20CB1:=20item=2020=20follow-up?= =?UTF-8?q?=20=E2=80=94=20bot-smarter's=20=E5=9D=8E=E8=AF=BA=E7=89=B9=20ca?= =?UTF-8?q?se=20no=20longer=20assumes=20the=20round-7=20level-up=20costs?= =?UTF-8?q?=209?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Seed 7's solo bot plays 佩佩 for rounds 1–6; with paid special refreshes (96794c5) it reaches level 3 a round later, so the 3 → 4 upgrade at round 7 costs 10 instead of 9 and 14 − 10 leaves 4. The test now checks what it means — after the level-up on the curve the bot spends nothing that takes it under the 5 capital — whatever that price is. No product change; golden unchanged. --- test/match/bot-smarter.test.js | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/test/match/bot-smarter.test.js b/test/match/bot-smarter.test.js index 7d243eec..533cd58e 100644 --- a/test/match/bot-smarter.test.js +++ b/test/match/bot-smarter.test.js @@ -237,11 +237,15 @@ test('坎诺特 (利滚利: leftover funds are kept, +1 at ≥ 5): with a full b assert.ok(m.gd.leftoverKeptBands.includes(ps.bandId)); ps.funds = 14; const merges = ps.stats.merges; + // the level-up on the curve is paid for first (its price depends on the rounds the run levelled at: 9 or 10 here); + // after it the bot buys / refreshes nothing that takes it under the 5 capital + const level0 = ps.shop.level, price0 = ps.shop.upgradePrice; h.run(() => m.phase === PHASE.COMBAT && m.round === 7); - // (a merge may spend the reserve; the level-up on the curve is paid for first and leaves enough here) + // (a merge may spend the reserve) if (ps.stats.merges === merges) { checked++; - assert.ok(ps.funds >= 5, `seed ${seed}: ${ps.funds} funds banked`); + const afterLevelUp = 14 - (ps.shop.level > level0 ? price0 : 0); + assert.ok(ps.funds >= Math.min(5, afterLevelUp), `seed ${seed}: ${ps.funds} funds banked (${afterLevelUp} after the level-up)`); } m.dispose(); }