feedback5: merge W5F — ACTIVE_RANGE also replaces SEARCH rows and covers 深巡 S2, 纯烬艾雅法拉 S1 at full SP, 伺夜 S1 only with his pack on the field

Golden regenerated on the merged code (only test/golden/matches.json conflicted): against feedback5 it moves exactly W5F's scenarios (roster-001/002/016/026/027/028/038/041/042/044, bond-egirShip-low, bond-suntShip-high, boss-boss_2-pair, boss-boss_6-pair, solo-NORMAL-1, coop2-NORMAL-3, coop4-FUNNY-6, coop2-NORMAL-8-serverrun); against fb5-bugs3 exactly W5E's (unite-1/2 and the 8 match scenarios of the 联防 map and the full-hand rule). data/ equals an offline build of the merged tools/build-data.mjs.
This commit is contained in:
sganggs committed 2026-10-05 19:05:06 +08:00
commit 17d9960fb4
30 files changed
+552 -407

No files matched your search

+37 -9
View File
@@ -432,20 +432,22 @@ test('3_06 菲莱 S1 灵河护佑 (TAKE_DAMAGE): HP +, clears her element gauges
}
});
test('3_08 薄绿 S1 风语 (阵法术师 技能1: "初始攻击范围内出现敌人后自动释放"): wider range, attacks at attack@atk_scale; guard/taunt rules kept', () => {
test('3_08 薄绿 S1 风语 (阵法术师 row SEARCH "在初始攻击范围内存在敌人时", widened to its running x-2 by the owner\'s ACTIVE_RANGE rule of 2026-10-05): wider range, attacks at attack@atk_scale; guard/taunt rules kept', () => {
for (const id of BOTH('chess_char_3_08_a')) {
const b = SB(id, 'skchr_mint_1'), t0 = TB(id, 0);
assert.equal(LD(id, 'skchr_mint_1').skill.trigger?.rule, 'SEARCH', 'data: the phalanx S1 row');
const h = makeBattle({ defs: { enemies: { enemy_d: dummy('enemy_d'), enemy_in: dummy('enemy_in') } }, timeLimit: 60, hooks: ['damaged'], captureNoisy: true,
units: [U(id, 'skchr_mint_1', 10, 4)], enemies: [{ key: 'enemy_d', pos: [11, 6] }] }); // [1,2]: x-2 only
const sk = LD(id, 'skchr_mint_1').skill;
assert.equal(sk.trigger?.rule, 'ACTIVE_RANGE', 'data: the phalanx row (rawRule SEARCH) on the x-2 she attacks with');
assert.deepEqual(sk.trigger.grid, sk.rangeGrid, 'trigger grid = the S1 x-2');
const h = makeBattle({ defs: { enemies: { enemy_d: dummy('enemy_d'), enemy_far: dummy('enemy_far') } }, timeLimit: 60, hooks: ['damaged'], captureNoisy: true,
units: [U(id, 'skchr_mint_1', 10, 4)], enemies: [{ key: 'enemy_far', pos: [10, 7] }] }); // [0,3]: outside the x-2 too
const u = h.unit(id);
h.run(1);
assert.equal(atkHits(h, u).length, 0, 'phalanx: no attack while the skill is off');
fill(u);
h.run(2);
assert.equal(u.skill.activations, 0, 'an enemy outside her INITIAL range does not open it (not a whole-field search)');
h.spawn('enemy_in', { pos: [10, 6] }); // [0,2]: initial range
assert.ok(h.runUntil(() => u.skill.active, 1), 'an enemy inside her initial range opens it at once (she never attacks before)');
assert.equal(u.skill.activations, 0, 'an enemy outside the x-2 does not open it (not a whole-field search)');
h.spawn('enemy_d', { pos: [11, 6] }); // [1,2]: the x-2 only, outside her initial x-1
assert.ok(h.runUntil(() => u.skill.active, 1), 'an enemy inside the S1 x-2 opens it at once (she never attacks before)');
assert.ok(u.findBuff('talent:mint_taunt'));
approx(u.s.taunt, (u.base.tauntLevel ?? 0) + t0.taunt_level);
h.run(3);
@@ -747,12 +749,12 @@ test('3_18 忍冬 S1 小施惩戒: next attack + extra arts and +DP; S2 坠刃
}
});
test('3_19 伺夜 S1 领袖的呼唤 (ALWAYS): +DP and one more “狼影” (≤ max)', () => {
test('3_19 伺夜 S1 领袖的呼唤 (自动触发, the pack on the field): +DP and one more “狼影” (≤ max)', () => {
for (const id of BOTH('chess_char_3_19_a')) {
const b = SB(id, 'skchr_vigil_1');
const h = makeBattle({ defs: { chess: noGarrison(id) }, timeLimit: 60, flags: { dpPerSec: 0 }, units: [U(id, 'skchr_vigil_1', 10, 3)] });
const u = h.unit(id), p = h.b.getPlayer('p1');
assert.equal(u.skill.rule, 'SP_FULL');
assert.equal(u.skill.rule, 'NEVER', 'the kit casts it (the pack check)');
h.step();
const w = u.trait.reinforcement;
assert.equal(w.mem.wolves, 2);
@@ -784,6 +786,32 @@ test('3_19 伺夜 S1 领袖的呼唤 (ALWAYS): +DP and one more “狼影” (
done(g);
});
test('3_19 伺夜 S1 领袖的呼唤: PRTS 备注 「仅场上存在狼群时可触发技能」 — no pack, no cast (the SP waits full, no DP); cast once the pack stands again', () => {
for (const id of BOTH('chess_char_3_19_a')) {
const b = SB(id, 'skchr_vigil_1');
const h = makeBattle({ defs: { chess: noGarrison(id) }, timeLimit: 60, flags: { dpPerSec: 0 }, units: [U(id, 'skchr_vigil_1', 10, 3)] });
const u = h.unit(id), p = h.b.getPlayer('p1');
h.run(1);
const w = u.trait.reinforcement;
assert.ok(w && w.alive, 'the pack stands');
for (let i = 0; i < 10 && w.alive; i++) h.b.dealDamage(null, w, { amount: 1e9, type: 'true' }); // a wolf is lost per KO
assert.ok(!u.trait.reinforcement?.alive, 'no pack on the field');
const dp0 = p.dp;
fill(u);
h.run(2);
assert.equal(u.skill.activations, 0, 'no pack, no cast');
assert.ok(u.skill.ready, 'the SP waits full');
approx(p.dp, dp0, 1e-9, 'no DP without the pack');
// the knocked-out pack comes back after its respawn time: cast at once — +DP and one more 狼影
assert.ok(h.runUntil(() => u.skill.activations === 1, 15), 'cast once the pack stands again');
const w2 = u.trait.reinforcement;
assert.ok(w2 && w2.alive, 'the pack is back');
approx(p.dp, dp0 + b.cost, 1e-9, '+cost DP');
assert.equal(w2.mem.wolves, 3, 'one more 狼影 on the returned pack');
done(h);
}
});
test('3_19 伺夜 S2 领袖的馈赠: +DP, the pack recovers HP, its next attack ×atk_scale, a kill by it pays +DP', () => {
for (const id of BOTH('chess_char_3_19_a')) {
const b = SB(id, 'skchr_vigil_2');
+20
View File
@@ -1165,6 +1165,26 @@ test('6_20 纯烬艾雅法拉 S1 无声润物: toggle heal; ATK +, 2 heal target
}
});
test('6_20 纯烬艾雅法拉 S1 无声润物 (自动触发, effects on her allies only): on as soon as its SP is full — nobody injured, no enemy (the owner\'s decision of 2026-10-05)', () => {
for (const id of both('chess_char_6_20')) {
const sid = 'skchr_agoat2_1', bb = bbOf(id, sid);
const h = run({
defs: { chess: { a1: plain('a1', { stats: { maxHp: 1e5 } }) } },
units: [U(id, sid, 10, 3, { carryState: READY }), { chessId: 'a1', row: 10, col: 5 }],
});
const u = h.unit(id), a1 = h.unit('a1');
usesSkill(u, sid);
assert.equal(u.skill.rule, 'SP_FULL');
assert.ok(h.runUntil(() => u.skill.active, 2), 'on with every ally at full HP and no enemy (the data DEFAULT heal rule waited for an injured ally)');
assert.equal(a1.hp, a1.s.maxHp);
h.b.addBuff(u, { key: 'test:disarm', flags: { disarm: true } }); // (no heals: only the skill's 元素损伤 recovery)
a1.elem.burn = 800;
h.run(1.05);
approx(800 - a1.elem.burn, u.s.atk * bb['agoat2_s_1[aura].ep_heal_ratio'], 'its 元素损伤 recovery runs at full HP', 1e-3);
done(h);
}
});
test('6_20 纯烬艾雅法拉 S2 云霭荫佑: one heal on every ally of her range, then a barrier absorbing atk_scale × ATK of 元素损伤 for `duration` s', () => {
for (const id of both('chess_char_6_20')) {
const sid = 'skchr_agoat2_2', bb = bbOf(id, sid);
+13 -9
View File
@@ -132,12 +132,12 @@ test('1_04 深巡: fin darts pierce attack@max_target enemies on the line + 1 s
});
const u = h.unit(id);
h.step();
// 技能策略 (issue #4; the deliberate deviation of DESIGN §21.29): an enemy inside her initial 2-2 range is enough — the
// basic strategy casts it, no hit required
assert.equal(u.skill.rule, 'DEFAULT', '行动能力剥夺 is an offensive ranged skill, not a 重装 TAKE_DAMAGE one');
// 技能策略 (issue #4; the deliberate deviation of DESIGN §21.29, and since 0.2.0 the owner's ACTIVE_RANGE on top): an
// enemy inside the 3-2 she attacks with is enough — no hit required
assert.equal(u.skill.rule, 'ACTIVE_RANGE', '行动能力剥夺 is an offensive ranged skill, not a 重装 TAKE_DAMAGE one');
h.run(3.5);
assert.ok(u.skill.active);
assert.equal(h.hooksOf('skillStart').find((c) => c.unit === u).reason, 'DEFAULT', 'cast by the basic strategy');
assert.equal(h.hooksOf('skillStart').find((c) => c.unit === u).reason, 'ACTIVE_RANGE', 'cast on its running range');
approx(u.s.atk, u.base.atk * (1 + bb.atk));
const firstAtk = h.hooksOf('attack').find((c) => c.attacker === u && c.isSkill);
assert.equal(firstAtk.targets.length, bb['attack@max_target'], 'hits every enemy of the line');
@@ -150,16 +150,20 @@ test('1_04 深巡: fin darts pierce attack@max_target enemies on the line + 1 s
done(h);
});
test('1_04 深巡 / 1_20 雷蛇 S2 技能策略: both 哨戒铁卫 S2s cast with an enemy in range, no hit needed (issue #4)', () => {
test('1_04 深巡 / 1_20 雷蛇 S2 技能策略: both 哨戒铁卫 S2s cast with an enemy in range, no hit needed (issue #4); 深巡 on her 3-2', () => {
// both S2s are offensive (深巡: range up + ATK/ASPD + piercing darts; 雷蛇: ATK +125 % + arts on 3 + stun); the official
// 下半 重装 row (TAKE_DAMAGE for every MANUAL 重装 skill) made both wait for a hit, and the owner's deliberate deviation
// from it (DESIGN §21.29, after community feedback) gives them the basic strategy — the data and the kit say DEFAULT.
// from it (DESIGN §21.29, after community feedback) gives them the basic strategy — 雷蛇's data and kit say DEFAULT;
// 深巡's 3-2 strictly contains her 2-2, so since 0.2.0 the owner's ACTIVE_RANGE rule casts it on the 3-2 (2026-10-05).
for (const id of ['chess_char_1_04_a', 'chess_char_1_04_b', 'chess_char_1_20_a', 'chess_char_1_20_b']) {
const h = run({ units: [{ chessId: id, row: 9, col: 4, carryState: READY }], enemies: [{ key: 'e', pos: [9, 6] }] });
const udflow = id.startsWith('chess_char_1_04');
// (9,7) = [0,3]: on 深巡's 3-2, not on her 2-2
const h = run({ units: [{ chessId: id, row: 9, col: 4, carryState: READY }], enemies: [{ key: 'e', pos: [9, udflow ? 7 : 6] }] });
const u = h.unit(id);
assert.equal(u.skill.rule, 'DEFAULT', `${id}: an offensive skill, not the 重装 TAKE_DAMAGE row`);
const rule = udflow ? 'ACTIVE_RANGE' : 'DEFAULT';
assert.equal(u.skill.rule, rule, `${id}: an offensive skill, not the 重装 TAKE_DAMAGE row`);
assert.ok(h.runUntil(() => u.skill.activations >= 1, 5), `${id}: casts while an enemy is in range and untouched`);
assert.equal(h.hooksOf('skillStart').find((c) => c.unit === u).reason, 'DEFAULT', `${id}: cast by the basic strategy`);
assert.equal(h.hooksOf('skillStart').find((c) => c.unit === u).reason, rule, `${id}: cast by ${rule}`);
done(h);
}
});
+20 -10
View File
@@ -460,9 +460,11 @@ test('chess: skills[] = every skill unlocked at the status, at the chess skill l
// Triggers per skill (PRTS 卫戍协议/帮助 技能策略; tools/build-data.mjs resolveTrigger): the class rows cover every MANUAL
// skill of the class and no AUTO one; a MANUAL skill with a 技能范围 of its own (not an attack-range change) is SKILL_RANGE.
const rules = (id) => chess[id].skills.map((s) => s.trigger.rule);
const raws = (id) => chess[id].skills.map((s) => s.trigger.rawRule);
assert.deepEqual(rules('chess_char_1_02_a'), ['TAKE_DAMAGE', 'TAKE_DAMAGE']); // 角峰 (重装, both MANUAL)
assert.deepEqual(rules('chess_char_1_10_b'), ['DEFAULT', 'TAKE_DAMAGE']); // 古米 (S1 自动触发)
assert.deepEqual(rules('chess_char_3_08_a'), ['SEARCH', 'SEARCH']); // 薄绿 (阵法术师: the default S2 too)
assert.deepEqual(rules('chess_char_3_08_a'), ['ACTIVE_RANGE', 'SEARCH']); // 薄绿 (阵法术师: the default S2 too; S1's x-2: the owner's rule)
assert.deepEqual(raws('chess_char_3_08_a'), ['SEARCH', 'SEARCH']);
assert.deepEqual(rules('chess_char_3_19_a'), ['DEFAULT', 'DEFAULT', 'SP_FULL']); // 伺夜 (战术家: S1/S2 are AUTO)
assert.deepEqual(rules('chess_char_6_11_b'), ['MLYSS_WTRMAN', 'MLYSS_WTRMAN', 'MLYSS_WTRMAN']); // 缪尔赛思 (charId row −1)
assert.deepEqual(rules('chess_char_1_08_a'), ['DEFAULT', 'SKILL_RANGE']); // 德克萨斯 S2 剑雨: 对周围所有敌人
@@ -471,9 +473,8 @@ test('chess: skills[] = every skill unlocked at the status, at the chess skill l
assert.deepEqual(rules('chess_char_3_18_a'), ['DEFAULT', 'SKILL_RANGE', 'ACTIVE_RANGE']); // 忍冬: S2 对周围…, S3 攻击距离+1
// the deliberate deviation from the 重装 row (DESIGN §21.29, the owner's decision; tools/build-data.mjs
// TRIGGER_DEVIATIONS, per chess): six skills cast with an enemy in range, rawRule keeps the official TAKE_DAMAGE
const raws = (id) => chess[id].skills.map((s) => s.trigger.rawRule);
for (const id of ['chess_char_1_04_a', 'chess_char_1_04_b']) { // 深巡: S1 keeps the row, S2 deviates
assert.deepEqual(rules(id), ['TAKE_DAMAGE', 'DEFAULT']);
assert.deepEqual(rules(id), ['TAKE_DAMAGE', 'ACTIVE_RANGE']); // (S2: and the owner's ACTIVE_RANGE on top)
assert.deepEqual(raws(id), ['TAKE_DAMAGE', 'TAKE_DAMAGE']);
}
for (const id of ['chess_char_1_20_a', 'chess_char_1_20_b']) { // 雷蛇: S1 AUTO, S2 deviates
@@ -495,24 +496,33 @@ test('chess: skills[] = every skill unlocked at the status, at the chess skill l
assert.deepEqual(raws(id), ['TAKE_DAMAGE', 'TAKE_DAMAGE', 'CUSTOM_RANGE_SEARCH_ENEMY']);
assert.deepEqual(chess[id].skills[1].trigger.customRangeGrid, chess[id].skills[1].rangeGrid);
}
// the owner's rule of 2026-10-05 (a deliberate deviation): a MANUAL skill on the basic strategy whose running attack
// range strictly contains the operator's own range is ACTIVE_RANGE on that range (rawRule keeps the official DEFAULT)
// the owner's rule of 2026-10-05 (a deliberate deviation): a MANUAL skill on the basic strategy (DEFAULT by no row or by
// a deviation: 深巡 S2) or on the SEARCH row whose running attack range strictly contains the operator's own range is
// ACTIVE_RANGE on that range (rawRule keeps the official row)
const tiles = (g) => new Set((g || []).map(([r, c]) => `${r},${c}`));
const wider = (a, b) => { const A = tiles(a), B = tiles(b); return A.size > B.size && [...B].every((k) => A.has(k)); };
const active = Object.values(chess).flatMap((c) => (c.skills || []).filter((s) => s.trigger.rule === 'ACTIVE_RANGE').map((s) => [c, s]));
for (const [c, s] of active) {
assert.equal(s.skillType, 'MANUAL', `${c.chessId} ${s.skillId}`);
assert.equal(s.trigger.rawRule, 'DEFAULT', `${c.chessId} ${s.skillId}: only the basic strategy`);
const dev = c.baseId === 'chess_char_1_04_a' && s.skillId === 'skchr_udflow_2';
assert.equal(s.trigger.rawRule, dev ? 'TAKE_DAMAGE' : s.trigger.rawRule === 'SEARCH' ? 'SEARCH' : 'DEFAULT', `${c.chessId} ${s.skillId}: only the basic strategy / SEARCH`);
assert.ok(wider(s.trigger.customRangeGrid, c.rangeGrid), `${c.chessId} ${s.skillId}: its running range strictly contains ${c.rangeId}`);
if (s.rangeGrid) assert.deepEqual(s.trigger.customRangeGrid, s.rangeGrid, `${c.chessId} ${s.skillId}: the skill's own grid`);
}
assert.equal(active.length, 66, '33 skills, normal + elite');
assert.equal(new Set(active.map(([c, s]) => `${c.baseId} ${s.skillId}`)).size, 33);
assert.equal(active.length, 78, '39 skills, normal + elite');
assert.equal(new Set(active.map(([c, s]) => `${c.baseId} ${s.skillId}`)).size, 39);
// from the SEARCH row (解放者 / 阵法术师 / 安洁莉娜) and 深巡 S2's deviation: the owner's decisions of 2026-10-05
const fromSearch = active.filter(([, s]) => s.trigger.rawRule === 'SEARCH').map(([c, s]) => `${c.baseId} ${s.skillId}`);
assert.deepEqual([...new Set(fromSearch)].sort(), ['chess_char_3_08_a skchr_mint_1', 'chess_char_4_05_a skchr_beewax_1', 'chess_char_4_24_a skchr_billro_3', 'chess_char_5_19_a skchr_mlynar_2', 'chess_char_5_20_a skchr_aglina_3']);
assert.equal(fromSearch.length, 10);
// the SEARCH skills whose range does not grow keep the row (薄绿 / 蜜蜡 S2, 卡涅利安 S1 / S2, 玛恩纳 S1, 安洁莉娜 S2, 圣聆初雪 S1)
const search = Object.values(chess).flatMap((c) => (c.skills || []).filter((s) => s.trigger.rule === 'SEARCH').map((s) => `${c.baseId} ${s.skillId}`));
assert.deepEqual([...new Set(search)].sort(), ['chess_char_3_08_a skchr_mint_2', 'chess_char_4_05_a skchr_beewax_2', 'chess_char_4_24_a skchr_billro_1', 'chess_char_4_24_a skchr_billro_2', 'chess_char_5_19_a skchr_mlynar_1', 'chess_char_5_20_a skchr_aglina_2', 'chess_char_6_02_a skchr_sbell2_1']);
const grown = (id, sid) => chess[id].skills.find((s) => s.skillId === sid).trigger;
assert.deepEqual(grown('chess_char_5_07_a', 'skchr_surtr_3').customRangeGrid.length, chess.chess_char_5_07_a.rangeGrid.length + 2, '史尔特尔 S3 攻击距离+2: 1-1 grown by 2');
assert.equal(grown('chess_char_5_03_a', 'skchr_blaze2_3').rule, 'DEFAULT', '烛煌 S3: 4-11 does not contain her 3-1');
assert.equal(grown('chess_char_1_04_a', 'skchr_udflow_2').rule, 'DEFAULT', '深巡 S2: the §21.29 deviation stays');
assert.equal(grown('chess_char_3_08_a', 'skchr_mint_1').rule, 'SEARCH', '薄绿 S1: its official 阵法术师 row');
assert.deepEqual(grown('chess_char_1_04_a', 'skchr_udflow_2'), { rule: 'ACTIVE_RANGE', rawRule: 'TAKE_DAMAGE', customRangeGrid: [[0, 0], [0, 1], [0, 2], [0, 3]] }, '深巡 S2: its 3-2 over her 2-2, on top of the §21.29 deviation');
assert.equal(grown('chess_char_3_08_a', 'skchr_mint_1').rawRule, 'SEARCH', '薄绿 S1: its official 阵法术师 row stays the rawRule');
assert.equal(grown('chess_char_5_15_a', 'skchr_thorn2_3').rule, 'DEFAULT', '引星棘刺 S3: 被动效果:攻击范围扩大 is her own range');
const deviated = Object.values(chess).flatMap((c) => (c.skills || []).filter((s) => s.trigger.rawRule === 'TAKE_DAMAGE' && s.trigger.rule !== 'TAKE_DAMAGE').map((s) => `${c.baseId} ${s.skillId}`));
assert.equal(deviated.length, 14, 'exactly the six skills of §21.29 and 余 S2, normal + elite');
+3 -2
View File
@@ -846,9 +846,10 @@ test('the deliberate trigger deviation (DESIGN §21.29): six 重装 skills DEFAU
assert.match(r03, /上半 \(act1autochess, 2025-11\) shipped no TANK row/);
assert.match(r03, /下半 \(act2autochess, 2026-03-14\) added `TANK \| \| \| 0 \| TAKE_DAMAGE` for every skill index/);
assert.match(r03, /\*\*Deliberate deviation\*\* \(the owner, 2026-10-03/);
// PR #12's kit lines stay; their comments give this reason, not the community summary
// PR #12's kit line stays (雷蛇 S2; 深巡 S2 dropped its own in 0.2.0 and reads its data's ACTIVE_RANGE, the owner's
// decision of 2026-10-05); the comments give this reason, not the community summary
const t1 = tierSources(1).map(doc).join('\n');
assert.equal((t1.match(/trigger: 'DEFAULT',/g) || []).length, 2, "PR #12's two kit lines");
assert.equal((t1.match(/trigger: 'DEFAULT',/g) || []).length, 1, "PR #12's kit line left (雷蛇 S2)");
assert.ok(!/offensive skills activate when an enemy is in their skill range/.test(t1));
assert.ok(!/documented for skillIndex 0/.test(t1));
assert.match(DATA_MD, /a deliberate deviation, `tools\/build-data\.mjs TRIGGER_DEVIATIONS`, DESIGN §21\.29/);
+27 -27
View File
@@ -170,8 +170,8 @@
"round": 5,
"seed": 2738879831,
"waveId": "act1autochess_05",
"time": 95.67,
"ticks": 2870,
"time": 96.43,
"ticks": 2893,
"reason": "cleared",
"killed": 22,
"total": 22,
@@ -195,21 +195,21 @@
}
},
"units": [
["p1",1,"op","chess_char_1_04_a",1,null,388.94,1,2,3,7627,3376,0,54,2],
["p1",1,"op","chess_char_1_04_a",1,null,176.79,1,2,3,6620,3588,0,57,2],
["p1",2,"op","chess_char_3_16_a",1,null,2794.48,1,1,0,0,0,0,0,0],
["p1",3,"op","chess_char_2_07_a",1,null,3447.65,1,3,0,0,0,0,0,0],
["p1",4,"op","chess_char_3_18_a",2,null,1904.57,1,33,0,0,1851,0,0,0],
["p1",5,"op","chess_char_3_05_a",2,null,4545.21,1,9,6,19145,476,0,22,1],
["p1",6,"op","chess_char_3_14_a",1,null,1608.79,1,4,1,9276,0,0,42,2],
["p1",6,"op","chess_char_3_14_a",1,null,1608.79,1,4,2,9954,0,0,42,2],
["p1",7,"op","chess_char_3_17_a",1,null,2647.47,1,8,4,30549,0,0,48,3],
["p1",8,"op","chess_char_3_19_a",2,null,1850.55,1,5,6,17048,0,0,76,2],
["p1",8,"op","chess_char_3_19_a",2,null,1850.55,1,5,5,17378,0,0,77,2],
["p1",9,"token","token_10028_vigil_wolf",null,null,807.94,1,6,2,7362,944,0,29,null]
],
"enemies": {"enemy_1166_dusbr":[15,15,0,761,51840],"enemy_1169_duphlx":[5,5,0,659,23040],"enemy_1170_dushld":[2,2,0,3376,16128]},
"hooks": [1,32,2870,344,344,593,594,0,23,23,10,7,0,10052,41,13,22,0,1,24,7,0,0],
"events": {"atk":395,"deploy":10,"die":23,"dmg":594,"fx":11,"layer":7,"skill":17,"spawn":31,"status":46},
"enemies": {"enemy_1166_dusbr":[15,15,0,774,51840],"enemy_1169_duphlx":[5,5,0,659,23040],"enemy_1170_dushld":[2,2,0,3575,16128]},
"hooks": [1,32,2893,350,350,602,603,0,23,23,10,7,0,10075,41,15,22,0,1,24,7,0,0],
"events": {"atk":404,"deploy":10,"die":23,"dmg":603,"fx":11,"layer":7,"skill":17,"spawn":31,"status":46},
"fx": {"devour":1,"dp":1,"garrison":3,"volley":3,"wolfShadow":2,"wolfShadowLost":1},
"snaps": "d0724fb0 dc731840 afc7b763 32af0154 58ec6e8c ad015606 93516fa3 8d4b0184 6309839b fcfc5b4e"
"snaps": "d0724fb0 dc731840 afc7b763 306d88e1 16e7c1f4 157932c4 1b271b3a 007b9084 be400fd1 2fa15d8c"
},
"bond-egirShip-high": {
"about": "阿戈尔 high: tier 2 layers 999; chess_char_1_04_b chess_char_2_07_b chess_char_3_05_b chess_char_4_16_b chess_char_4_09_b chess_char_3_09_b chess_char_4_13_b chess_char_4_14_b",
@@ -1486,31 +1486,31 @@
"round": 10,
"seed": 2806272209,
"waveId": "act1autochess_h03",
"time": 138.2,
"ticks": 4146,
"time": 142.4,
"ticks": 4272,
"reason": "cleared",
"killed": 8,
"killed": 10,
"total": 24,
"unspawned": 0,
"bossHpLeft": null,
"rngDraws": 6,
"rngDraws": 4,
"errors": {"count":0,"kinds":[]},
"players": {"p1":{"killed":8,"total":24,"perfect":false,"leaks":16,"leaksUncounted":0,"coins":0,"dmg":208861,"bossDmg":0,"heal":3101,"deaths":6,"layerGains":{}}},
"players": {"p1":{"killed":10,"total":24,"perfect":false,"leaks":14,"leaksUncounted":0,"coins":0,"dmg":230499,"bossDmg":0,"heal":14273,"deaths":5,"layerGains":{}}},
"units": [
["p1",1,"op","chess_char_1_02_b",1,"uniequip_002_yak",0,0,2,1,4706,5937,0,86,2],
["p1",2,"op","chess_char_1_04_b",1,"uniequip_002_udflow",1446.16,1,1,3,34635,1458,0,95,3],
["p1",3,"op","chess_char_4_19_a",2,null,0,0,34,1,4497,3120,0,41,3],
["p1",4,"op","chess_char_1_01_b",1,"uniequip_002_inside",721.44,1,4,2,51103,1772,0,133,5],
["p1",5,"op","chess_char_1_03_b",1,"uniequip_002_leizi",1391,1,7,0,64850,709,0,33,1],
["p1",6,"op","chess_char_1_06_b",1,"uniequip_002_vendla",0,0,5,1,12858,1651,497,49,3],
["p1",7,"op","chess_char_4_20_a",2,null,1217,1,8,0,36212,0,0,34,2],
["p1",8,"op","chess_char_4_21_a",1,null,1271,1,35,0,0,3614,2604,10,0]
["p1",1,"op","chess_char_1_02_b",1,"uniequip_002_yak",0,0,2,2,7736,5867,0,86,2],
["p1",2,"op","chess_char_1_04_b",1,"uniequip_002_udflow",2638.94,1,1,1,32919,265,0,98,3],
["p1",3,"op","chess_char_4_19_a",2,null,1560,1,35,0,6306,1560,0,54,3],
["p1",4,"op","chess_char_1_01_b",1,"uniequip_002_inside",1421,1,4,2,55297,4429,0,129,5],
["p1",5,"op","chess_char_1_03_b",1,"uniequip_002_leizi",1391,1,36,4,75959,2224,0,31,1],
["p1",6,"op","chess_char_1_06_b",1,"uniequip_002_vendla",817.63,1,5,1,21214,1417,4907,77,4],
["p1",7,"op","chess_char_4_20_a",2,null,1217,1,34,0,31066,1590,0,25,2],
["p1",8,"op","chess_char_4_21_a",1,null,1271,1,33,0,0,9077,9366,36,1]
],
"enemies": {"enemy_1166_dusbr_2":[14,8,6,3587,114489],"enemy_1169_duphlx_2":[7,0,7,3841,27585],"enemy_1172_dugago":[3,0,3,10832,66787]},
"hooks": [1,35,4146,667,667,877,877,37,14,30,19,19,82,14466,301,11,24,16,1,16,0,0,0],
"events": {"atk":762,"deploy":11,"die":14,"dmg":877,"fx":13,"heal":14,"leak":16,"skill":38,"spawn":32,"status":246},
"fx": {"featherArrow":2,"flame":3,"garrisonGrant":1,"revive":2,"stone":2,"taunt":3},
"snaps": "e8a58cae e45c0ada 1d0104f3 5a4162ce f459b0c6 6078554c 0da631c2 89a53382 35812639 be18c73e 09fd2d12 0c74c047 b302eee8 1b6c5142"
"enemies": {"enemy_1166_dusbr_2":[14,9,5,5122,116437],"enemy_1169_duphlx_2":[7,1,6,2102,34836],"enemy_1172_dugago":[3,0,3,19205,79225]},
"hooks": [1,36,4272,698,698,863,863,99,15,29,21,21,82,15296,266,12,24,14,1,17,0,0,0],
"events": {"atk":780,"deploy":12,"die":15,"dmg":863,"fx":19,"heal":70,"leak":14,"skill":42,"spawn":32,"status":237},
"fx": {"counter":4,"featherArrow":2,"flame":3,"garrisonGrant":1,"healField":1,"revive":2,"stone":2,"taunt":4},
"snaps": "e8a58cae cc93867c 83fa20df eba0ed1f 84da0944 45cc2dac 1c29b227 c757f725 c4a012a1 1581a672 c133e524 2d0211d9 3aa23054 943283cd dfda39c6"
},
"bond-swiftShip-low": {
"about": "迅捷 low: tier 1 layers 1; chess_char_4_23_a chess_char_4_22_a chess_char_1_19_a chess_char_1_01_a chess_char_4_24_a chess_char_4_25_a chess_char_4_26_a chess_char_3_01_a",
+59 -59
View File
@@ -140,42 +140,42 @@
"killed": 7,
"total": 8,
"unspawned": 0,
"bossHpLeft": 2352238,
"rngDraws": 393,
"bossHpLeft": 2379255,
"rngDraws": 268,
"errors": {"count":0,"kinds":[]},
"players": {
"p1": {"killed":7,"total":8,"perfect":true,"leaks":0,"leaksUncounted":0,"coins":0,"dmg":614764,"bossDmg":322645,"heal":16813,"deaths":2,"layerGains":{}},
"p2": {"killed":0,"total":0,"perfect":false,"leaks":1,"leaksUncounted":0,"coins":0,"dmg":779819,"bossDmg":320424,"heal":4006,"deaths":1,"layerGains":{}}
"p1": {"killed":7,"total":8,"perfect":true,"leaks":0,"leaksUncounted":0,"coins":0,"dmg":631056,"bossDmg":337792,"heal":24928,"deaths":2,"layerGains":{}},
"p2": {"killed":0,"total":0,"perfect":false,"leaks":1,"leaksUncounted":0,"coins":0,"dmg":798175,"bossDmg":278950,"heal":4050,"deaths":2,"layerGains":{}}
},
"units": [
["p1",1,"op","chess_char_5_19_b",2,"uniequip_002_mlynar",3907,1,9,1,223973,1132,7,78,3],
["p1",2,"op","chess_char_4_01_b",2,"uniequip_002_rmixer",5482.35,1,11,0,13226,12539,405,57,1],
["p1",3,"op","chess_char_5_14_b",1,"none",1994,1,7,0,29890,1028,189,53,17],
["p1",4,"op","chess_char_5_17_b",1,"uniequip_002_f12yin",2738,1,13,0,11616,0,0,80,1],
["p1",5,"op","chess_char_5_15_b",1,"uniequip_002_thorn2",1170,1,1,0,103809,0,1188,46,10],
["p1",6,"op","chess_char_5_20_b",2,"uniequip_002_aglina",2418.5,1,3,0,59999,0,0,33,3],
["p1",1,"op","chess_char_5_19_b",2,"uniequip_002_mlynar",3907,1,9,2,212647,1042,0,73,3],
["p1",2,"op","chess_char_4_01_b",2,"uniequip_002_rmixer",3537,1,11,0,23242,22277,304,68,1],
["p1",3,"op","chess_char_5_14_b",1,"none",1994,1,7,0,31391,1118,208,23,19],
["p1",4,"op","chess_char_5_17_b",1,"uniequip_002_f12yin",2738,1,13,0,2373,0,0,25,1],
["p1",5,"op","chess_char_5_15_b",1,"uniequip_002_thorn2",1170,1,1,0,117324,0,6555,73,10],
["p1",6,"op","chess_char_5_20_b",2,"uniequip_002_aglina",2418.5,1,3,0,85327,0,0,53,5],
["p1",7,"op","chess_char_5_21_b",1,"uniequip_002_sntlla",2769.3,1,43,1,12823,3019,249,8,1],
["p1",8,"op","chess_char_5_22_b",1,"uniequip_002_nymph",1611,1,40,0,115995,1611,0,39,13],
["p1",9,"op","chess_char_5_23_b",1,"uniequip_002_reckpr",1610,1,5,0,0,0,14731,20,3],
["p1",10,"op","chess_char_4_02_b",2,"uniequip_002_mostma",1695,1,15,1,43434,1739,44,35,2],
["p2",11,"op","chess_char_4_11_b",1,"uniequip_002_cathy",2644,1,46,0,0,3776,211,0,1],
["p2",12,"op","chess_char_4_12_b",2,"uniequip_002_glady",2232,1,12,0,31192,0,0,40,3],
["p2",13,"op","chess_char_4_04_b",1,"uniequip_002_ines",3545.85,1,48,1,264375,0,0,267,8],
["p2",14,"op","chess_char_4_07_b",1,"uniequip_002_bpipe",2312.97,1,14,0,2338,1249,1179,13,6],
["p2",15,"op","chess_char_4_16_b",2,"uniequip_002_texas2",2671.35,1,47,1,80716,4127,957,159,0],
["p2",16,"op","chess_char_4_09_b",1,"uniequip_002_mizuki",1821.24,1,16,0,80697,1270,313,68,5],
["p2",17,"op","chess_char_4_06_b",1,"uniequip_002_kroos2",1561,1,2,0,1460,0,0,14,1],
["p2",18,"op","chess_char_4_10_b",1,"uniequip_002_aroma",1664,1,4,1,67986,0,0,52,3],
["p2",19,"op","chess_char_4_13_b",1,"uniequip_002_gnosis",1989,1,18,0,115269,1346,1346,176,47],
["p2",20,"op","chess_char_4_14_b",1,"uniequip_002_lionhd",1626,1,20,1,135786,0,0,66,15],
["p1",8,"op","chess_char_5_22_b",1,"uniequip_002_nymph",1611,1,40,1,104764,1611,0,32,14],
["p1",9,"op","chess_char_5_23_b",1,"uniequip_002_reckpr",1610,1,5,0,0,0,17612,24,3],
["p1",10,"op","chess_char_4_02_b",2,"uniequip_002_mostma",1695,1,15,1,41166,1393,0,31,1],
["p2",11,"op","chess_char_4_11_b",1,"uniequip_002_cathy",2644,1,47,0,0,3917,271,0,1],
["p2",12,"op","chess_char_4_12_b",2,"uniequip_002_glady",2232,1,12,0,45169,0,0,48,4],
["p2",13,"op","chess_char_4_04_b",1,"uniequip_002_ines",3545.85,1,48,1,277519,0,0,252,8],
["p2",14,"op","chess_char_4_07_b",1,"uniequip_002_bpipe",0,0,14,0,3050,2644,261,19,8],
["p2",15,"op","chess_char_4_16_b",2,"uniequip_002_texas2",1968.91,1,46,0,75188,4650,1035,112,0],
["p2",16,"op","chess_char_4_09_b",1,"uniequip_002_mizuki",732.88,1,16,0,71495,3011,967,61,4],
["p2",17,"op","chess_char_4_06_b",1,"uniequip_002_kroos2",1561,1,2,0,2025,0,0,19,1],
["p2",18,"op","chess_char_4_10_b",1,"uniequip_002_aroma",1664,1,4,0,65424,0,0,51,3],
["p2",19,"op","chess_char_4_13_b",1,"uniequip_002_gnosis",337.13,1,18,0,111023,3169,1517,158,46],
["p2",20,"op","chess_char_4_14_b",1,"uniequip_002_lionhd",1626,1,20,1,147282,0,0,72,16],
["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,4018,62190],"enemy_1430_lrrook":[2,1,1,0,689479],"enemy_9017_achunt":[2,0,0,28816,647762]},
"hooks": [1,46,6000,1337,1341,2564,2590,3357,11,22,143,144,21,40126,1555,0,10,1,1,12,0,8,3],
"events": {"atk":1390,"deploy":36,"die":21,"dmg":2585,"fx":517,"heal":50,"leak":1,"skill":281,"spawn":32,"status":512},
"fx": {"aoe":37,"appear":2,"blink":11,"burst":8,"catShield":1,"charge":6,"counter":21,"crit":20,"dilemma":5,"disappear":2,"dodge":3,"explosion":15,"frostNova":47,"iceSpike":8,"overclock":1,"pull":3,"ripple":14,"sentry":5,"sermon":1,"shadowWeave":9,"shield":6,"slippery":3,"soul":3,"sp":8,"stealth":8,"swordRain":69,"swordStorm":8,"tornado":3,"tornadoPulse":15,"weightless":3,"zone":172},
"snaps": "b55c9e85 fe86ba61 48caeaf1 91da132f f7ba5dfd 81890176 95334359 78212b6d 406f0742 73dc65d8 4582b0ed 758f70ea 8a649bb9 91e46959 5126c4ed 5b7a02fa a1479ed8 549ce91d f3f60666 d22dc72f"
"enemies": {"enemy_1005_yokai_2":[6,6,0,3587,62190],"enemy_1430_lrrook":[2,1,1,0,750444],"enemy_9017_achunt":[2,0,0,44263,620745]},
"hooks": [1,46,6000,1265,1269,2515,2548,3419,11,23,149,151,30,42577,1536,0,10,1,1,13,0,11,0],
"events": {"atk":1317,"deploy":36,"die":22,"dmg":2544,"fx":533,"heal":99,"leak":1,"skill":294,"spawn":32,"status":569},
"fx": {"aoe":39,"appear":2,"blink":11,"burst":11,"catShield":1,"charge":8,"counter":30,"crit":12,"dilemma":4,"disappear":2,"explosion":16,"frostNova":46,"iceSpike":8,"overclock":1,"pull":4,"ripple":10,"sentry":5,"sermon":1,"shadowWeave":10,"shield":7,"slippery":3,"soul":3,"sp":9,"stealth":8,"swordRain":69,"swordStorm":7,"tornado":4,"tornadoPulse":20,"weightless":5,"zone":177},
"snaps": "b55c9e85 fe86ba61 48caeaf1 91da132f 722d326f 4ebe7b96 1105a7d0 233e44ce e5c88030 b9851788 b8b73d8a 3b6f1037 12238bcc 1bfe8f8d 8d1d508a 02540010 7e869520 bd76e3b9 384765a3 f4d942d7"
},
"boss-boss_2-solo": {
"about": "假想敌:铳 solo pool 750000: 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",
@@ -623,49 +623,49 @@
"killed": 4,
"total": 6,
"unspawned": 0,
"bossHpLeft": 2649470,
"rngDraws": 130,
"bossHpLeft": 2898360,
"rngDraws": 95,
"errors": {"count":0,"kinds":[]},
"players": {
"p1": {"killed":4,"total":6,"perfect":false,"leaks":1,"leaksUncounted":0,"coins":0,"dmg":946686,"bossDmg":499800,"heal":2113,"deaths":5,"layerGains":{}},
"p2": {"killed":0,"total":0,"perfect":true,"leaks":0,"leaksUncounted":0,"coins":0,"dmg":1044656,"bossDmg":830730,"heal":2928,"deaths":12,"layerGains":{}}
"p1": {"killed":4,"total":6,"perfect":false,"leaks":1,"leaksUncounted":0,"coins":0,"dmg":823348,"bossDmg":423786,"heal":5342,"deaths":8,"layerGains":{}},
"p2": {"killed":0,"total":0,"perfect":false,"leaks":1,"leaksUncounted":0,"coins":0,"dmg":804143,"bossDmg":657855,"heal":737,"deaths":14,"layerGains":{}}
},
"units": [
["p1",1,"op","chess_char_5_19_b",2,"uniequip_002_mlynar",3907,1,3,0,123311,0,0,33,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,50633,0,0,0,15],
["p1",4,"op","chess_char_5_17_b",1,"uniequip_002_f12yin",4654.6,1,11,1,22568,987,987,15,1],
["p1",5,"op","chess_char_5_15_b",1,"uniequip_002_thorn2",1170,1,7,2,348908,0,1126,61,12],
["p1",6,"op","chess_char_5_20_b",2,"uniequip_002_aglina",1382,1,13,1,169005,0,0,37,3],
["p1",7,"op","chess_char_5_21_b",1,"uniequip_002_sntlla",0,0,15,0,34896,1629,0,49,2],
["p1",8,"op","chess_char_5_22_b",1,"uniequip_002_nymph",0,0,41,0,146295,3222,0,47,15],
["p1",9,"op","chess_char_5_23_b",1,"uniequip_002_reckpr",0,0,42,0,2417,3220,0,0,0],
["p1",10,"op","chess_char_4_02_b",2,"uniequip_002_mostma",1695,1,9,0,48653,0,0,37,2],
["p2",11,"op","chess_char_4_11_b",1,"uniequip_002_cathy",2644,1,39,0,0,12099,91,0,1],
["p1",1,"op","chess_char_5_19_b",2,"uniequip_002_mlynar",3907,1,3,2,151189,0,0,40,2],
["p1",2,"op","chess_char_4_01_b",2,"uniequip_002_rmixer",5482.35,1,1,0,6146,106,106,9,1],
["p1",3,"op","chess_char_5_14_b",1,"none",1994,1,45,0,25173,2703,269,7,6],
["p1",4,"op","chess_char_5_17_b",1,"uniequip_002_f12yin",4654.6,1,43,0,20208,6348,1693,10,1],
["p1",5,"op","chess_char_5_15_b",1,"uniequip_002_thorn2",1170,1,7,2,249545,0,2374,57,9],
["p1",6,"op","chess_char_5_20_b",2,"uniequip_002_aglina",1382,1,13,0,189428,0,0,75,6],
["p1",7,"op","chess_char_5_21_b",1,"uniequip_002_sntlla",0,0,40,0,7000,3258,0,18,1],
["p1",8,"op","chess_char_5_22_b",1,"uniequip_002_nymph",0,0,41,0,129521,3222,0,43,12],
["p1",9,"op","chess_char_5_23_b",1,"uniequip_002_reckpr",0,0,42,0,0,3220,899,1,1],
["p1",10,"op","chess_char_4_02_b",2,"uniequip_002_mostma",1695,1,9,0,45137,0,0,34,2],
["p2",11,"op","chess_char_4_11_b",1,"uniequip_002_cathy",2644,1,39,0,0,12227,333,0,1],
["p2",12,"op","chess_char_4_12_b",2,"uniequip_002_glady",2232,1,2,0,0,0,0,0,0],
["p2",13,"op","chess_char_4_04_b",1,"uniequip_002_ines",3438.4,1,51,0,141582,6216,1381,198,7],
["p2",13,"op","chess_char_4_04_b",1,"uniequip_002_ines",3438.4,1,58,0,129555,8518,244,158,7],
["p2",14,"op","chess_char_4_07_b",1,"uniequip_002_bpipe",2383,1,10,0,0,0,0,0,0],
["p2",15,"op","chess_char_4_16_b",2,"uniequip_002_texas2",0,0,50,0,62760,10474,201,131,0],
["p2",16,"op","chess_char_4_09_b",1,"uniequip_002_mizuki",0,0,18,0,223350,4032,1255,105,6],
["p2",15,"op","chess_char_4_16_b",2,"uniequip_002_texas2",0,0,56,0,53592,10522,160,153,0],
["p2",16,"op","chess_char_4_09_b",1,"uniequip_002_mizuki",0,0,52,0,166628,5555,0,68,4],
["p2",17,"op","chess_char_4_06_b",1,"uniequip_002_kroos2",1561,1,8,0,0,0,0,0,0],
["p2",18,"op","chess_char_4_10_b",1,"uniequip_002_aroma",1664,1,12,0,358813,0,0,100,4],
["p2",19,"op","chess_char_4_13_b",1,"uniequip_002_gnosis",0,0,16,0,192733,1989,0,169,45],
["p2",20,"op","chess_char_4_14_b",1,"uniequip_002_lionhd",0,0,48,0,65418,4878,0,23,4],
["p2",18,"op","chess_char_4_10_b",1,"uniequip_002_aroma",1664,1,12,0,263402,0,0,92,4],
["p2",19,"op","chess_char_4_13_b",1,"uniequip_002_gnosis",0,0,53,0,122328,3978,0,108,28],
["p2",20,"op","chess_char_4_14_b",1,"uniequip_002_lionhd",0,0,54,0,68638,4878,0,24,4],
["p2",21,"token","token_10041_cathy_catsld",null,null,100,1,22,0,0,0,0,0,null],
["p2",22,"token","token_10041_cathy_catsld",null,null,100,1,21,0,0,0,0,0,null]
],
"enemies": {
"enemy_10028_vtswd": [2,2,0,0,0],
"enemy_10029_vtshld": [4,4,0,0,0],
"enemy_10030_vtwand": [3,3,0,0,0],
"enemy_10085_hllevi_2": [2,0,1,0,460200],
"enemy_1010_demon": [4,4,0,13086,200612],
"enemy_9032_aclionk": [1,0,0,35661,1330530]
"enemy_10028_vtswd": [3,3,0,0,0],
"enemy_10029_vtshld": [5,5,0,0,0],
"enemy_10030_vtwand": [2,2,0,0,0],
"enemy_10085_hllevi_2": [2,0,2,0,345238],
"enemy_1010_demon": [4,4,0,21384,200612],
"enemy_9032_aclionk": [1,0,0,43151,1081640]
},
"hooks": [1,50,6000,990,1012,1726,1818,2327,30,33,119,122,0,33807,1848,4,16,1,1,23,0,10,1],
"events": {"atk":1123,"deploy":34,"die":32,"dmg":1780,"fx":533,"heal":8,"leak":1,"skill":235,"spawn":38,"status":939},
"fx": {"aoe":36,"appear":4,"blink":2,"burst":10,"dilemma":6,"disappear":4,"displace":12,"dodge":1,"equip":12,"explosion":4,"frostNova":45,"garrisonGrant":1,"iceSpike":41,"overclock":1,"revive":2,"ripple":18,"sentry":2,"shadowWeave":2,"shield":1,"slippery":4,"soul":2,"sp":16,"stealth":7,"sword":2,"swordRain":41,"swordStorm":6,"telegraph":16,"vest":4,"weightless":3,"zone":228},
"snaps": "4d7c2a7f 5bcea10b 84c2bed7 213fec8b e85d6851 dd80061e 891ce40c 69d89ef8 55362d2a b75065e4 5377e6ac 874beeb6 31187eea 36afddb7 304ad287 107732a5 3cd87e2e 79f172d1 3cce9284 aa1bb1af"
"hooks": [1,56,6000,919,925,1452,1533,953,36,40,89,90,1,28694,1172,8,17,2,1,30,0,7,0],
"events": {"atk":1018,"deploy":39,"die":38,"dmg":1504,"fx":406,"heal":18,"leak":2,"skill":174,"spawn":39,"status":745},
"fx": {"aoe":21,"appear":4,"blink":2,"burst":7,"counter":1,"crit":3,"dilemma":4,"disappear":4,"displace":15,"equip":12,"explosion":4,"frostNova":28,"garrisonGrant":1,"iceSpike":18,"overclock":1,"revive":2,"ripple":17,"sentry":3,"sermon":1,"shadowWeave":4,"shield":2,"slippery":4,"soul":2,"sp":8,"stealth":7,"sword":2,"swordRain":27,"swordStorm":5,"telegraph":15,"vest":5,"weightless":6,"zone":171},
"snaps": "4d7c2a7f c0c07807 ce5212b4 a9feb336 5a4c0408 8e579416 5e0ff5ee ea4f151c 2008b892 ff8c9128 a62287dc a67f5a01 2b890862 371bd4a9 23e17b23 fcfbef0b 5fd18035 ced47252 70e1d975 20720ea4"
},
"boss-boss_6-solo": {
"about": "阿利斯泰尔,帝国余晖 solo pool 995000: 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",
+15 -15
View File
@@ -152,7 +152,7 @@
"title": {"id":"comment_1","name":"卫戍之星","picId":"comment_icon_1","text":"对敌方领袖造成伤害最高(仅胜利时)"},
"trophies": 0,
"reward": 400,
"stats": {"activatedLayers":290,"bossDamage":97500,"dmgDealt":1710191,"gold":131,"itemsEquipped":23,"kills":361,"leaks":21,"lpLost":16,"merges":5,"perfectRounds":11,"refreshes":15},
"stats": {"activatedLayers":290,"bossDamage":97500,"dmgDealt":1700976,"gold":131,"itemsEquipped":23,"kills":361,"leaks":21,"lpLost":16,"merges":5,"perfectRounds":11,"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"]
}
@@ -592,7 +592,7 @@
"title": {"id":"comment_2","name":"不朽盟约","picId":"comment_icon_2","text":"激活的盟约层数总和最高"},
"trophies": 4,
"reward": 400,
"stats": {"activatedLayers":250,"bossDamage":287418,"dmgDealt":3020132,"gold":139,"itemsEquipped":12,"kills":334,"leaks":9,"lpLost":8,"merges":5,"perfectRounds":11,"refreshes":23},
"stats": {"activatedLayers":250,"bossDamage":287418,"dmgDealt":3020895,"gold":139,"itemsEquipped":12,"kills":334,"leaks":9,"lpLost":8,"merges":5,"perfectRounds":11,"refreshes":23},
"lineup": ["3_19_b@11,7[2_04_e_b]","5_12_a@11,8","4_10_a@10,5[1_02_e_b+2_01_e_a]","6_06_a@9,4","1_08_b@9,5","6_16_a@9,7","5_20_a@9,8[3_05_e_a+3_02_e_b]","3_13_b@9,9"],
"bonds": ["arcaneShip 2/86","miraShip 1/12","preciShip 0/10","sargonShip 0/10","siracusaShip 1/110","skillfulShip 1/36","soloShip 1/6","suntShip 1/0","swiftShip 0/32"]
},
@@ -950,14 +950,14 @@
"round": 12,
"ai_0": [1,26,12,0,0,6,8,"934bb983",409,"deputShip 1/57, emptyShip 1/2, kjeragShip 0/2, preciShip 1/138, sargonShip 1/144, 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",172,"emptyShip 1/0, sargonShip 0/8, siracusaShip 2/148, swiftShip 1/24, yanShip 0/1",46,46,0,106],
"ai_2": [1,28,12,0,0,6,8,"696f5ca3",168,"emptyShip 1/0, sargonShip 0/8, siracusaShip 2/144, swiftShip 1/24, yanShip 0/1",46,46,0,106],
"ai_3": [1,31,12,0,0,6,8,"2e3cd509",245,"deputShip 0/18, emptyShip 0/12, kjeragShip 2/106, 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",463,"deputShip 1/59, emptyShip 1/4, kjeragShip 0/7, preciShip 2/156, sargonShip 1/166, 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_2": [1,28,12,0,0,6,8,"0236b2a3",236,"emptyShip 1/0, sargonShip 0/8, siracusaShip 2/212, swiftShip 1/24, yanShip 0/1",32,32,0,117],
"ai_3": [1,31,12,0,0,6,7,"ceba29b5",263,"deputShip 0/18, emptyShip 0/12, kjeragShip 1/114, preciShip 2/104, siracusaShip 0/3, swiftShip 1/45, yanShip 0/1",32,32,0,124]
}
],
@@ -972,7 +972,7 @@
"title": {"id":"comment_2","name":"不朽盟约","picId":"comment_icon_2","text":"激活的盟约层数总和最高"},
"trophies": 3,
"reward": 250,
"stats": {"activatedLayers":485,"bossDamage":46721,"dmgDealt":1699612,"gold":140,"itemsEquipped":25,"kills":328,"leaks":0,"lpLost":0,"merges":5,"perfectRounds":13,"refreshes":21},
"stats": {"activatedLayers":485,"bossDamage":46721,"dmgDealt":1695990,"gold":140,"itemsEquipped":25,"kills":328,"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/158","sargonShip 1/172","steadShip 1/88"]
},
@@ -986,7 +986,7 @@
"title": {"id":"comment_3","name":"坚若磐石","picId":"comment_icon_3","text":"目标生命值损失最少"},
"trophies": 3,
"reward": 250,
"stats": {"activatedLayers":207,"bossDamage":11652,"dmgDealt":1287691,"gold":129,"itemsEquipped":20,"kills":237,"leaks":46,"lpLost":0,"merges":6,"perfectRounds":9,"refreshes":20},
"stats": {"activatedLayers":207,"bossDamage":12338,"dmgDealt":1288377,"gold":129,"itemsEquipped":20,"kills":237,"leaks":46,"lpLost":0,"merges":6,"perfectRounds":9,"refreshes":20},
"lineup": ["2_14_b@12,3","5_10_a@11,6[4_03_e_b+1_02_e_a]","6_01_a@11,7[3_05_e_a]","5_10_a@11,8[5_09_e_a+4_08_e_b]","6_14_a@10,3","4_16_a@10,8[4_11_e_a+4_04_e_b]","6_05_a@9,8[1_05_e_a+5_03_e_a]","2_16_a@9,9[5_02_e_a+4_05_e_b]"],
"bonds": ["deputShip 1/96","emptyShip 1/23","preciShip 1/14","sargonShip 0/2","siracusaShip 1/74","steadShip 0/4"]
},
@@ -1000,9 +1000,9 @@
"title": {"id":"comment_5","name":"万事俱备","picId":"comment_icon_5","text":"装备配发数量最多"},
"trophies": 3,
"reward": 250,
"stats": {"activatedLayers":260,"bossDamage":82751,"dmgDealt":1656521,"gold":127,"itemsEquipped":20,"kills":283,"leaks":0,"lpLost":0,"merges":3,"perfectRounds":13,"refreshes":16},
"stats": {"activatedLayers":258,"bossDamage":70366,"dmgDealt":1649146,"gold":127,"itemsEquipped":20,"kills":283,"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"]
"bonds": ["sargonShip 0/8","siracusaShip 2/234","swiftShip 1/24","yanShip 0/1"]
},
"ai_3": {
"alive": true,
@@ -1014,7 +1014,7 @@
"title": {"id":"comment_1","name":"卫戍之星","picId":"comment_icon_1","text":"对敌方领袖造成伤害最高(仅胜利时)"},
"trophies": 3,
"reward": 250,
"stats": {"activatedLayers":309,"bossDamage":143876,"dmgDealt":1729660,"gold":138,"itemsEquipped":36,"kills":284,"leaks":0,"lpLost":0,"merges":3,"perfectRounds":13,"refreshes":23},
"stats": {"activatedLayers":309,"bossDamage":155575,"dmgDealt":1741361,"gold":138,"itemsEquipped":36,"kills":284,"leaks":0,"lpLost":0,"merges":3,"perfectRounds":13,"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/118","preciShip 2/117","siracusaShip 0/3","swiftShip 1/54","yanShip 0/1"]
}
@@ -1238,17 +1238,17 @@
{
"round": 11,
"ai_0": [1,17,12,0,0,5,8,"f0ff6294",86,"arcaneShip 1/22, emptyShip 1/0, indomShip 0/8, kjeragShip 0/7, preciShip 1/7, siracusaShip 2/46, soloShip 1/11, steadShip 0/2, suntShip 1/0, swiftShip 0/6, victoriaShip 0/8, visiShip 0/8",23,23,0,104],
"ai_1": [1,8,12,0,0,5,8,"f020d91c",137,"arcaneShip 1/20, indomShip 1/40, kjeragShip 0/8, preciShip 0/2, siracusaShip 1/58, soloShip 1/0, steadShip 1/19, suntShip 1/0, victoriaShip 0/8, visiShip 0/8",17,23,6,97]
"ai_1": [1,8,12,0,0,5,8,"f020d91c",127,"arcaneShip 1/20, indomShip 1/30, kjeragShip 0/8, preciShip 0/2, siracusaShip 1/58, soloShip 1/0, steadShip 1/19, suntShip 1/0, victoriaShip 0/8, visiShip 0/8",17,23,6,97]
},
{
"round": 12,
"ai_0": [1,7,12,0,0,6,8,"09ffe6d0",86,"arcaneShip 1/22, emptyShip 1/0, indomShip 0/8, kjeragShip 0/7, preciShip 2/7, siracusaShip 1/46, soloShip 1/11, steadShip 0/2, suntShip 1/0, swiftShip 0/6, victoriaShip 0/8, visiShip 0/8",35,47,12,116],
"ai_1": [0,0,12,0,0,6,0,"811c9dc5",0,"arcaneShip 0/20, indomShip 0/60, kjeragShip 0/8, preciShip 0/2, siracusaShip 0/58, steadShip 0/22, victoriaShip 0/8, visiShip 0/8",17,46,29,109]
"ai_1": [0,0,12,0,0,6,0,"811c9dc5",0,"arcaneShip 0/20, indomShip 0/50, kjeragShip 0/8, preciShip 0/2, siracusaShip 0/58, steadShip 0/22, victoriaShip 0/8, visiShip 0/8",20,46,26,109]
},
{
"round": 13,
"ai_0": [0,0,12,0,0,6,0,"811c9dc5",0,"arcaneShip 0/36, indomShip 0/8, kjeragShip 0/7, miraShip 0/3, preciShip 0/9, siracusaShip 0/58, soloShip 0/11, steadShip 0/2, swiftShip 0/6, victoriaShip 0/8, visiShip 0/8, yanShip 0/6",21,39,18,128],
"ai_1": [0,0,0,0,0,6,0,"811c9dc5",0,"arcaneShip 0/20, indomShip 0/60, kjeragShip 0/8, preciShip 0/2, siracusaShip 0/58, steadShip 0/22, victoriaShip 0/8, visiShip 0/8",null,null,null,109]
"ai_1": [0,0,0,0,0,6,0,"811c9dc5",0,"arcaneShip 0/20, indomShip 0/50, kjeragShip 0/8, preciShip 0/2, siracusaShip 0/58, steadShip 0/22, victoriaShip 0/8, visiShip 0/8",null,null,null,109]
}
],
"players": {
@@ -1262,7 +1262,7 @@
"title": {"id":"comment_4","name":"精英云集","picId":"comment_icon_4","text":"晋升精锐次数最多"},
"trophies": 3,
"reward": 280,
"stats": {"activatedLayers":0,"bossDamage":0,"dmgDealt":2825652,"gold":128,"itemsEquipped":14,"kills":230,"leaks":49,"lpLost":33,"merges":3,"perfectRounds":8,"refreshes":18},
"stats": {"activatedLayers":0,"bossDamage":0,"dmgDealt":2828648,"gold":128,"itemsEquipped":14,"kills":230,"leaks":49,"lpLost":33,"merges":3,"perfectRounds":8,"refreshes":18},
"lineup": [],
"bonds": ["arcaneShip 0/36","indomShip 0/8","kjeragShip 0/7","miraShip 0/3","preciShip 0/9","siracusaShip 0/58","soloShip 0/11","steadShip 0/2","swiftShip 0/6","victoriaShip 0/8","visiShip 0/8","yanShip 0/6"]
},
@@ -1276,9 +1276,9 @@
"title": {"id":"comment_5","name":"万事俱备","picId":"comment_icon_5","text":"装备配发数量最多"},
"trophies": 2,
"reward": 240,
"stats": {"activatedLayers":0,"bossDamage":0,"dmgDealt":1887768,"gold":109,"itemsEquipped":16,"kills":176,"leaks":53,"lpLost":30,"merges":2,"perfectRounds":6,"refreshes":14},
"stats": {"activatedLayers":0,"bossDamage":0,"dmgDealt":1891141,"gold":109,"itemsEquipped":16,"kills":179,"leaks":50,"lpLost":30,"merges":2,"perfectRounds":6,"refreshes":14},
"lineup": [],
"bonds": ["arcaneShip 0/20","indomShip 0/60","kjeragShip 0/8","preciShip 0/2","siracusaShip 0/58","steadShip 0/22","victoriaShip 0/8","visiShip 0/8"]
"bonds": ["arcaneShip 0/20","indomShip 0/50","kjeragShip 0/8","preciShip 0/2","siracusaShip 0/58","steadShip 0/22","victoriaShip 0/8","visiShip 0/8"]
}
}
},
+191 -191
View File
@@ -29,14 +29,14 @@
"players": {"p1":{"killed":25,"total":31,"perfect":false,"leaks":6,"leaksUncounted":0,"coins":8,"dmg":180266,"bossDmg":0,"heal":9892,"deaths":9,"layerGains":{}}},
"units": [
["p1",1,"op","chess_char_1_02_a",1,null,2563.03,1,7,1,3761,1862,0,17,1],
["p1",2,"op","chess_char_1_04_a",1,null,0,0,9,1,4766,3559,0,26,1],
["p1",2,"op","chess_char_1_04_a",1,null,0,0,9,1,5169,3559,0,25,1],
["p1",3,"op","chess_char_1_10_a",0,null,0,0,48,0,2450,3808,2132,22,12],
["p1",4,"op","chess_char_1_08_a",1,null,0,0,12,3,11908,8558,0,18,1],
["p1",5,"op","chess_char_1_12_a",1,null,0,0,15,1,17149,3705,810,21,1],
["p1",6,"op","chess_char_1_01_a",1,null,1403.75,1,4,2,17043,0,0,42,2],
["p1",7,"op","chess_char_1_03_a",1,null,964.63,1,5,1,13257,898,0,5,1],
["p1",8,"op","chess_char_1_06_a",1,null,0,0,11,2,12245,2600,3519,29,1],
["p1",9,"op","chess_char_1_07_a",0,null,1510.15,1,50,3,12526,2068,0,21,0],
["p1",9,"op","chess_char_1_07_a",0,null,1510.15,1,50,3,12124,2068,0,21,0],
["p1",10,"op","chess_char_1_09_a",1,null,2122.5,1,6,0,31045,5400,0,27,1],
["p1",11,"op","chess_char_1_13_a",1,null,0,0,49,1,9409,3359,0,19,1],
["p1",12,"op","chess_char_1_14_a",1,null,1431.25,1,8,10,44707,2311,0,17,1],
@@ -61,10 +61,10 @@
"enemy_2004_balloon": [1,0,0,128,6591],
"enemy_9010_acpupp": [1,0,0,0,959]
},
"hooks": [1,50,2700,404,404,632,636,325,34,34,25,21,19,14421,65,36,31,0,1,35,0,0,0],
"events": {"atk":426,"bounty":4,"deploy":16,"die":34,"dmg":636,"fx":65,"heal":319,"skill":45,"spawn":47,"status":126},
"hooks": [1,50,2700,403,403,633,637,325,34,34,25,21,19,14445,66,36,31,0,1,35,0,0,0],
"events": {"atk":425,"bounty":4,"deploy":16,"die":34,"dmg":637,"fx":65,"heal":319,"skill":45,"spawn":47,"status":127},
"fx": {"aoe":1,"bombard":9,"bombardShell":10,"counter":6,"crit":18,"dp":1,"ember":1,"explode":3,"heal":11,"liberate":1,"summon":1,"taunt":1,"telegraph":1,"zone":1},
"snaps": "15544384 8f8ab114 83735bc4 1672a1a1 e9e7ffdb 9b9d0193 15df767d 792390ec 43783e3b"
"snaps": "15544384 737544d2 e8326082 a526432e a0c50d61 50ebdcd8 bc51feb9 9efd18d0 e4933e87"
},
"roster-002": {
"about": "pass 0 band 2: chess_char_1_02_b chess_char_1_20_a chess_char_1_04_b chess_char_1_08_b chess_char_1_18_a chess_char_1_19_a chess_char_1_17_a chess_char_1_01_b chess_char_1_03_b chess_char_1_06_b chess_char_1_07_b chess_char_1_09_b",
@@ -82,22 +82,22 @@
"total": 44,
"unspawned": 0,
"bossHpLeft": null,
"rngDraws": 77,
"rngDraws": 80,
"errors": {"count":0,"kinds":[]},
"players": {"p1":{"killed":29,"total":44,"perfect":false,"leaks":15,"leaksUncounted":0,"coins":8,"dmg":217461,"bossDmg":0,"heal":2127,"deaths":16,"layerGains":{}}},
"players": {"p1":{"killed":29,"total":44,"perfect":false,"leaks":15,"leaksUncounted":0,"coins":8,"dmg":217619,"bossDmg":0,"heal":1877,"deaths":16,"layerGains":{}}},
"units": [
["p1",1,"op","chess_char_1_02_b",1,"uniequip_002_yak",0,0,3,1,7970,4643,0,20,1],
["p1",2,"op","chess_char_1_20_a",1,null,2857.4,1,1,0,0,0,0,0,0],
["p1",3,"op","chess_char_1_04_b",1,"uniequip_002_udflow",3541.94,1,4,2,11017,233,0,12,1],
["p1",4,"op","chess_char_1_08_b",1,"uniequip_002_texas",0,0,7,1,6914,3473,0,2,2],
["p1",5,"op","chess_char_1_18_a",1,null,0,0,60,2,4846,7028,450,9,0],
["p1",3,"op","chess_char_1_04_b",1,"uniequip_002_udflow",3541.94,1,4,3,6102,233,0,9,1],
["p1",4,"op","chess_char_1_08_b",1,"uniequip_002_texas",0,0,7,0,10101,3473,0,5,2],
["p1",5,"op","chess_char_1_18_a",1,null,0,0,60,1,2095,6778,200,4,0],
["p1",6,"op","chess_char_1_19_a",1,null,0,0,57,0,6210,3853,0,9,1],
["p1",7,"op","chess_char_1_17_a",1,null,0,0,5,0,0,1481,0,0,0],
["p1",8,"op","chess_char_1_01_b",1,"uniequip_002_inside",0,0,62,2,44001,3695,0,46,2],
["p1",9,"op","chess_char_1_03_b",1,"uniequip_002_leizi",0,0,6,6,29303,1808,0,16,1],
["p1",10,"op","chess_char_1_06_b",1,"uniequip_002_vendla",0,0,61,4,22628,5321,1677,25,2],
["p1",11,"op","chess_char_1_07_b",0,"uniequip_002_prove",0,0,58,4,34348,5955,0,25,0],
["p1",12,"op","chess_char_1_09_b",1,"uniequip_002_caper",0,0,2,7,50224,2880,0,40,1]
["p1",12,"op","chess_char_1_09_b",1,"uniequip_002_caper",0,0,2,8,54862,2880,0,42,1]
],
"enemies": {
"enemy_1000_gopro_2": [1,1,0,0,2938],
@@ -105,23 +105,23 @@
"enemy_10112_ymgds": [1,1,0,0,8640],
"enemy_1019_jshoot": [9,3,5,14425,12328],
"enemy_1040_bombd": [1,1,0,0,6912],
"enemy_1043_zomsbr": [18,16,2,590,82324],
"enemy_1043_zomsbr": [18,16,2,389,81941],
"enemy_1116_liprr": [1,1,0,0,9504],
"enemy_1168_dumage_2": [1,1,0,2685,11232],
"enemy_1199_sfjin": [1,1,0,0,11232],
"enemy_1200_msfjin": [1,0,1,0,14],
"enemy_1234_dsubrl": [1,1,0,2081,17280],
"enemy_1234_dsubrl": [1,1,0,2049,17280],
"enemy_1288_duskls_2": [1,0,1,0,10873],
"enemy_1299_ymkilr": [3,1,2,4574,14688],
"enemy_1381_winman_2": [1,1,0,0,13478],
"enemy_1501_demonk": [1,0,0,7637,5549],
"enemy_2005_axetro": [1,0,0,5090,1565],
"enemy_9011_acrefr": [1,0,0,0,2338]
"enemy_1501_demonk": [1,0,0,7620,6090],
"enemy_2005_axetro": [1,0,0,5090,2107],
"enemy_9011_acrefr": [1,0,0,0,1796]
},
"hooks": [1,62,3300,346,346,392,404,3399,45,56,11,16,31,7389,39,11,44,11,1,46,0,0,0],
"events": {"atk":364,"bounty":4,"deploy":18,"die":45,"dmg":404,"fx":47,"heal":16,"leak":11,"skill":22,"spawn":56,"status":73},
"fx": {"aoe":4,"crit":20,"displace":9,"dp":2,"ember":1,"pulse":7,"revive":1,"summon":1,"taunt":2},
"snaps": "8776586b 475e50d7 071c9999 3f2ee9c1 208fe368 329d3182 c7a2efc2 2eeffe50 dacdc0a6 c5292015 fe2e0910"
"hooks": [1,62,3300,341,341,383,395,3119,45,56,11,16,31,7390,31,10,44,11,1,46,0,0,0],
"events": {"atk":359,"bounty":4,"deploy":18,"die":45,"dmg":395,"fx":48,"heal":11,"leak":11,"skill":22,"spawn":56,"status":70},
"fx": {"aoe":4,"crit":21,"displace":9,"dp":2,"ember":1,"pulse":7,"revive":1,"summon":1,"taunt":2},
"snaps": "8776586b 475e50d7 071c9999 3f2ee9c1 ce8ea3d6 8deb7035 325c7285 cb230d4d 41ede204 5a0ac937 0e02c7e0"
},
"roster-003": {
"about": "pass 0 band 2: chess_char_1_10_b chess_char_1_12_b chess_char_1_20_b chess_char_1_18_b chess_char_1_19_b chess_char_1_13_b chess_char_1_14_b chess_char_1_17_b chess_char_2_01_a chess_char_2_02_a chess_char_2_04_a chess_char_2_05_a token_10000_silent_healrb",
@@ -1029,40 +1029,40 @@
"time": 230,
"ticks": 6900,
"reason": "timeout",
"killed": 72,
"killed": 71,
"total": 126,
"unspawned": 0,
"bossHpLeft": null,
"rngDraws": 500,
"rngDraws": 498,
"errors": {"count":0,"kinds":[]},
"players": {
"p1": {
"killed": 72,
"killed": 71,
"total": 126,
"perfect": false,
"leaks": 54,
"leaks": 55,
"leaksUncounted": 0,
"coins": 6,
"dmg": 3354350,
"dmg": 3361010,
"bossDmg": 0,
"heal": 69117,
"heal": 65977,
"deaths": 11,
"layerGains": {"preciShip":2}
}
},
"units": [
["p1",1,"op","chess_char_5_19_b",2,"uniequip_002_mlynar",3907,1,154,12,318292,8290,476,78,4],
["p1",2,"op","chess_char_6_03_a",2,null,3649.5,1,149,2,113360,16953,4124,55,2],
["p1",3,"op","chess_char_6_06_a",2,null,2223,1,153,6,300871,9855,461,70,3],
["p1",4,"op","chess_char_5_17_b",1,"uniequip_002_f12yin",2738,1,131,3,170159,28198,6835,216,3],
["p1",5,"op","chess_char_5_20_b",2,"uniequip_002_aglina",1382,1,10,0,108825,1182,705,38,4],
["p1",6,"op","chess_char_5_21_b",1,"uniequip_002_sntlla",1629,1,84,0,229814,2332,285,113,3],
["p1",1,"op","chess_char_5_19_b",2,"uniequip_002_mlynar",3907,1,154,12,307773,8183,369,78,4],
["p1",2,"op","chess_char_6_03_a",2,null,3649.5,1,149,2,101623,13991,3710,50,2],
["p1",3,"op","chess_char_6_06_a",2,null,2223,1,153,6,301133,9855,461,70,3],
["p1",4,"op","chess_char_5_17_b",1,"uniequip_002_f12yin",2738,1,131,2,169426,28198,6759,214,3],
["p1",5,"op","chess_char_5_20_b",2,"uniequip_002_aglina",1382,1,10,0,113165,1182,705,41,5],
["p1",6,"op","chess_char_5_21_b",1,"uniequip_002_sntlla",1629,1,84,0,231177,2332,285,114,3],
["p1",7,"op","chess_char_5_22_b",1,"uniequip_002_nymph",1611,1,1,1,31212,1242,1242,13,5],
["p1",8,"op","chess_char_5_23_b",1,"uniequip_002_reckpr",1610,1,3,0,0,3654,49533,73,4],
["p1",9,"op","chess_char_6_01_a",2,null,1158,1,111,21,389549,4548,175,70,3],
["p1",10,"op","chess_char_6_02_a",2,null,1687,1,7,24,1320770,6394,220,71,3],
["p1",11,"op","chess_char_6_04_a",2,null,1202,1,94,2,113596,10510,4682,0,3],
["p1",12,"op","chess_char_6_05_a",2,null,1215,1,58,0,257904,2559,379,70,4],
["p1",8,"op","chess_char_5_23_b",1,"uniequip_002_reckpr",1610,1,3,0,0,3654,46989,69,4],
["p1",9,"op","chess_char_6_01_a",2,null,1158,1,111,20,399102,4548,175,70,3],
["p1",10,"op","chess_char_6_02_a",2,null,1687,1,7,25,1334116,6394,220,71,3],
["p1",11,"op","chess_char_6_04_a",2,null,1202,1,94,2,114260,10510,4682,0,3],
["p1",12,"op","chess_char_6_05_a",2,null,1215,1,58,0,258022,2559,379,70,4],
["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,103,0,0,0,0,0,null],
@@ -1072,10 +1072,10 @@
"enemies": {
"enemy_10045_parrot": [1,0,1,0,44502],
"enemy_10098_crhro": [1,1,0,8003,185752],
"enemy_10124_uashld_2": [12,0,11,30231,650685],
"enemy_10124_uashld_2": [12,0,11,30125,652842],
"enemy_1019_jshoot_2": [1,1,0,1514,16718],
"enemy_1043_zomsbr": [72,48,24,1022,905496],
"enemy_1061_zomshd": [30,16,14,14794,1383126],
"enemy_1043_zomsbr": [72,47,25,1006,906047],
"enemy_1061_zomshd": [30,16,14,11849,1388159],
"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],
@@ -1086,10 +1086,10 @@
"enemy_2001_duckmi_2": [1,0,1,0,4539],
"enemy_9006_actoxi": [1,0,1,0,2981]
},
"hooks": [1,154,6900,901,970,7374,7596,77742,83,140,41,36,17,35956,986,38,126,53,1,97,1,11,3],
"events": {"atk":2084,"bounty":3,"deploy":28,"die":87,"dmg":7537,"fx":511,"heal":234,"layer":1,"leak":53,"skill":77,"spawn":143,"status":2244},
"fx": {"aoe":9,"blessing":1,"bombard":17,"bombardShell":17,"burst":11,"crit":42,"dodge":3,"explode":40,"firewall":2,"garrison":1,"iceSpike":90,"lightning":116,"lock":17,"lure":3,"revive":1,"snow":80,"soul":1,"sp":2,"storm":4,"talent":2,"telegraph":8,"tide":3,"wanted":37,"weightless":4},
"snaps": "ee17d257 2b5b60a7 bca4c44c a7aa2306 7f8469fb b466b374 2d189b42 c93b0983 53948389 334fd760 ba885b5c cafbf724 2e204610 95530b0b 9453d785 20cbd957 bc0f2a28 1125cf4b 5d7a7151 7d866008 629c6d52 ceb4961f aa0422ad"
"hooks": [1,154,6900,884,953,7381,7592,77582,82,140,42,37,17,36466,990,37,126,54,1,95,1,10,3],
"events": {"atk":2068,"bounty":3,"deploy":28,"die":86,"dmg":7533,"fx":512,"heal":225,"layer":1,"leak":54,"skill":79,"spawn":143,"status":2296},
"fx": {"aoe":9,"blessing":1,"bombard":17,"bombardShell":17,"burst":10,"crit":42,"dodge":3,"explode":40,"firewall":2,"garrison":1,"iceSpike":90,"lightning":116,"lock":17,"lure":3,"revive":1,"snow":81,"soul":1,"sp":2,"storm":4,"talent":2,"telegraph":8,"tide":3,"wanted":37,"weightless":5},
"snaps": "ee17d257 2b5b60a7 bca4c44c a7aa2306 7f8469fb b466b374 2d189b42 c93b0983 53948389 334fd760 ba885b5c cafbf724 2e204610 95530b0b 9453d785 7b4651cb 20697bb9 4ad6a768 86798eb2 779f0409 09912c24 ac014067 7729604f"
},
"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",
@@ -1653,24 +1653,24 @@
"time": 140,
"ticks": 4200,
"reason": "timeout",
"killed": 18,
"killed": 15,
"total": 73,
"unspawned": 0,
"bossHpLeft": null,
"rngDraws": 157,
"rngDraws": 159,
"errors": {"count":0,"kinds":[]},
"players": {"p1":{"killed":18,"total":73,"perfect":false,"leaks":55,"leaksUncounted":0,"coins":6,"dmg":178948,"bossDmg":0,"heal":1327,"deaths":18,"layerGains":{}}},
"players": {"p1":{"killed":15,"total":73,"perfect":false,"leaks":58,"leaksUncounted":0,"coins":6,"dmg":164277,"bossDmg":0,"heal":1769,"deaths":18,"layerGains":{}}},
"units": [
["p1",1,"op","chess_char_3_12_a",0,null,0,0,97,1,6989,5110,1327,15,3],
["p1",2,"op","chess_char_3_16_a",0,null,0,0,6,1,2689,2173,0,10,1],
["p1",3,"op","chess_char_3_18_a",0,null,0,0,94,1,6557,2962,0,4,3],
["p1",4,"op","chess_char_3_08_a",0,null,0,0,4,4,42472,1594,0,8,1],
["p1",5,"op","chess_char_3_09_a",0,null,1267,1,99,2,13749,1267,0,21,3],
["p1",1,"op","chess_char_3_12_a",0,null,0,0,97,2,7760,5552,1769,19,4],
["p1",2,"op","chess_char_3_16_a",0,null,0,0,6,0,2668,2173,0,10,1],
["p1",3,"op","chess_char_3_18_a",0,null,0,0,94,1,4659,2962,0,4,3],
["p1",4,"op","chess_char_3_08_a",0,null,0,0,4,3,28698,1594,0,8,1],
["p1",5,"op","chess_char_3_09_a",0,null,1267,1,99,1,13514,1267,0,21,3],
["p1",6,"op","chess_char_3_10_a",0,null,0,0,86,1,24232,3300,0,15,3],
["p1",7,"op","chess_char_3_11_a",0,null,0,0,7,1,10753,1316,0,7,1],
["p1",8,"op","chess_char_3_13_a",0,null,0,0,10,0,4775,4277,0,25,1],
["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,4551,4277,0,25,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,284.9,1,93,3,37818,4207,0,51,10],
["p1",10,"op","chess_char_3_17_a",0,null,611.75,1,93,3,37818,3880,0,51,10],
["p1",11,"op","chess_char_3_19_a",0,null,0,0,79,1,15924,2878,0,29,0],
["p1",12,"op","chess_char_3_20_a",0,null,0,0,96,0,2200,2684,0,15,0],
["p1",13,"token","token_10028_vigil_wolf",null,null,51.51,0,15,1,3733,828,0,6,null],
@@ -1680,23 +1680,23 @@
["p1","~1","token","token_10028_vigil_wolf",null,null,0,0,80,0,1145,1579,0,4,null]
],
"enemies": {
"enemy_10042_prtrop": [12,0,12,5980,21672],
"enemy_10042_prtrop_2": [12,0,10,4710,15756],
"enemy_10043_sailor": [39,11,28,18128,163415],
"enemy_10042_prtrop": [12,0,12,7318,22803],
"enemy_10042_prtrop_2": [12,0,10,4433,15756],
"enemy_10043_sailor": [39,8,31,18093,152461],
"enemy_1005_yokai_2": [1,1,0,68,2678],
"enemy_10156_mncrer": [1,1,0,329,6912],
"enemy_1116_liprr_2": [1,1,0,1326,15356],
"enemy_1195_sfyin_2": [1,1,0,441,5357],
"enemy_1116_liprr_2": [1,1,0,393,12960],
"enemy_1195_sfyin_2": [1,1,0,294,5357],
"enemy_1196_msfyin_2": [2,2,0,0,6],
"enemy_1251_lysyta_2": [1,1,0,623,7925],
"enemy_1355_mrfly_2": [1,0,1,0,5568],
"enemy_1251_lysyta_2": [1,1,0,792,7731],
"enemy_1355_mrfly_2": [1,0,1,0,4464],
"enemy_1513_dekght_2": [1,0,1,3473,1470],
"enemy_9010_acpupp": [1,0,1,0,1540]
},
"hooks": [1,98,4200,342,342,1398,1472,9,37,91,26,26,0,8063,24,39,73,53,1,42,0,0,0],
"events": {"atk":418,"bounty":3,"deploy":22,"die":38,"dmg":1471,"fx":19,"heal":9,"leak":53,"skill":52,"spawn":90,"status":54},
"fx": {"dp":3,"explode":3,"liberate":1,"palsy":1,"revive":4,"shield":1,"sp":1,"strike":1,"summon":2,"telegraph":2},
"snaps": "b8ad25ab 03f51213 d7dcd813 5906dc4f 89b1c824 3e67ab1e f003cf8b dc2caccb 6a54c87b 77160756 042f6532 9bdc15a6 3da4b3fe 5314774a"
"hooks": [1,98,4200,350,350,1399,1458,9,34,91,27,27,0,8299,26,36,73,56,1,38,0,0,0],
"events": {"atk":410,"bounty":3,"deploy":22,"die":35,"dmg":1457,"fx":19,"heal":9,"leak":56,"skill":54,"spawn":90,"status":52},
"fx": {"dp":3,"explode":3,"palsy":1,"revive":4,"shield":1,"sp":2,"strike":1,"summon":2,"telegraph":2},
"snaps": "b8ad25ab 03f51213 f84a4bf7 9a29353d 19f6d9a9 5330fd8a f6dda9d3 43873b05 57a77a2a 94494c3a ade46bcb e1b4f57e 436600a0 c60c5a58"
},
"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",
@@ -1717,39 +1717,39 @@
"rngDraws": 136,
"errors": {"count":0,"kinds":[]},
"players": {
"p1": {"killed":27,"total":53,"perfect":false,"leaks":26,"leaksUncounted":0,"coins":4,"dmg":321187,"bossDmg":0,"heal":17637,"deaths":10,"layerGains":{"raidShip":18}}
"p1": {"killed":27,"total":53,"perfect":false,"leaks":26,"leaksUncounted":0,"coins":4,"dmg":369449,"bossDmg":0,"heal":17637,"deaths":9,"layerGains":{"raidShip":18}}
},
"units": [
["p1",1,"op","chess_char_3_06_b",0,"none",0,0,2,0,1546,6162,0,9,1],
["p1",2,"op","chess_char_3_12_b",0,"uniequip_003_blemsh",0,0,14,5,32514,17789,13628,53,23],
["p1",3,"op","chess_char_3_02_b",0,"none",0,0,6,0,15263,2291,0,38,12],
["p1",4,"op","chess_char_3_03_b",0,"none",0,0,8,0,3645,1778,0,35,1],
["p1",3,"op","chess_char_3_02_b",0,"none",0,0,6,0,14882,2291,0,37,12],
["p1",4,"op","chess_char_3_03_b",0,"none",0,0,8,0,3677,1778,0,34,1],
["p1",5,"op","chess_char_3_04_b",0,"uniequip_003_swire2",0,0,59,4,48389,6778,4009,66,0],
["p1",6,"op","chess_char_3_05_b",0,"uniequip_003_skadi",0,0,12,2,26200,12108,0,25,1],
["p1",7,"op","chess_char_3_21_a",0,null,759.08,1,10,0,8795,605,0,35,14],
["p1",8,"op","chess_char_3_01_b",0,"uniequip_003_angel",211.23,1,11,1,38052,1505,0,75,32],
["p1",9,"op","chess_char_3_08_b",0,"none",0,0,1,4,33840,3248,0,10,2],
["p1",10,"op","chess_char_3_09_b",0,"none",0,0,3,2,11671,1534,0,14,4],
["p1",11,"op","chess_char_3_10_b",0,"none",0,0,5,2,49060,2120,0,23,7],
["p1",12,"op","chess_char_3_11_b",0,"none",0,0,7,6,52214,1610,0,19,10]
["p1",9,"op","chess_char_3_08_b",0,"none",523.13,1,1,3,80456,2725,0,23,4],
["p1",10,"op","chess_char_3_09_b",0,"none",0,0,3,3,11118,1534,0,14,4],
["p1",11,"op","chess_char_3_10_b",0,"none",0,0,5,2,50229,2120,0,23,7],
["p1",12,"op","chess_char_3_11_b",0,"none",0,0,7,6,53591,1610,0,19,10]
],
"enemies": {
"enemy_1000_gopro_2": [1,1,0,11,1836],
"enemy_10087_hlchgr": [1,1,0,105,6480],
"enemy_1042_frostd": [1,1,0,0,7020],
"enemy_1165_duhond": [1,1,0,76,3024],
"enemy_1203_sfhu_2": [1,0,1,7943,2437],
"enemy_1267_nhpbr_2": [24,14,8,11740,97532],
"enemy_1270_nhstlk_2": [9,4,5,10826,94005],
"enemy_1283_sgkill_2": [1,0,1,10291,7305],
"enemy_1425_lrcmra": [1,0,1,1414,13093],
"enemy_2008_flking": [1,0,1,8107,3573],
"enemy_9006_actoxi": [12,5,5,5143,115747]
"enemy_1203_sfhu_2": [1,0,1,7943,2116],
"enemy_1267_nhpbr_2": [24,14,8,11693,116615],
"enemy_1270_nhstlk_2": [9,4,5,10813,102658],
"enemy_1283_sgkill_2": [1,0,1,10377,7305],
"enemy_1425_lrcmra": [1,0,1,1414,11658],
"enemy_2008_flking": [1,0,1,7628,3574],
"enemy_9006_actoxi": [12,5,5,5143,137719]
},
"hooks": [1,67,5100,531,531,1890,1890,30,37,61,107,109,0,6763,40,30,53,22,1,39,3,0,0],
"events": {"atk":703,"bounty":2,"deploy":14,"die":39,"dmg":1818,"fx":107,"heal":30,"layer":3,"leak":22,"skill":214,"spawn":65,"status":187},
"hooks": [1,67,5100,542,542,1917,1917,30,36,60,109,110,0,7620,40,31,53,22,1,38,3,0,0],
"events": {"atk":737,"bounty":2,"deploy":14,"die":38,"dmg":1846,"fx":107,"heal":30,"layer":3,"leak":22,"skill":217,"spawn":65,"status":185},
"fx": {"blink":1,"buff":1,"coin":18,"explode":26,"garrison":3,"revive":2,"shield":19,"shieldBreak":1,"strike":10,"volley":7,"zone":19},
"snaps": "757da7ba 23c3e301 44393780 f617c160 eeedb2b3 6f6317df 3ad26b55 5bd556aa 9c8c490d 4f3f479d 5a8c9a94 a5d5a70b d2bb0c6d 6cd3e449 f56e1feb c875393e 9def5afe"
"snaps": "757da7ba 23c3e301 44393780 5d33fca3 778ce26f 3e05a037 632c144a 3ebbae7b 6b441959 3eb8ce65 aea6bfc5 ac090656 6255d971 7ca2ea90 891023ba 61b88830 61ed7aee"
},
"roster-028": {
"about": "pass 1 band 4: chess_char_3_16_b chess_char_4_01_a chess_char_3_18_b chess_char_4_04_a chess_char_3_13_b chess_char_3_14_b chess_char_3_17_b chess_char_3_19_b chess_char_3_20_b chess_char_3_21_b chess_char_4_02_a chess_char_4_06_a token_10028_vigil_wolf",
@@ -1769,39 +1769,39 @@
"bossHpLeft": null,
"rngDraws": 84,
"errors": {"count":0,"kinds":[]},
"players": {"p1":{"killed":3,"total":62,"perfect":false,"leaks":59,"leaksUncounted":0,"coins":0,"dmg":153737,"bossDmg":0,"heal":105,"deaths":26,"layerGains":{}}},
"players": {"p1":{"killed":3,"total":62,"perfect":false,"leaks":59,"leaksUncounted":0,"coins":0,"dmg":157324,"bossDmg":0,"heal":105,"deaths":25,"layerGains":{}}},
"units": [
["p1",1,"op","chess_char_3_16_b",0,"none",0,0,4,0,70,4069,0,7,1],
["p1",2,"op","chess_char_4_01_a",0,null,0,0,7,0,0,3614,0,0,0],
["p1",3,"op","chess_char_3_18_b",0,"uniequip_003_vulpis",0,0,10,0,0,2743,105,0,0],
["p1",4,"op","chess_char_4_04_a",0,null,0,0,90,0,13678,21701,0,34,4],
["p1",4,"op","chess_char_4_04_a",0,null,799.54,1,90,0,15633,20901,0,35,5],
["p1",5,"op","chess_char_3_13_b",0,"none",0,0,1,0,15809,1802,0,35,1],
["p1",6,"op","chess_char_3_14_b",0,"none",0,0,87,1,23224,4151,0,27,1],
["p1",7,"op","chess_char_3_17_b",0,"none",0,0,81,1,31808,7884,0,21,7],
["p1",8,"op","chess_char_3_19_b",0,"uniequip_003_vigil",0,0,2,1,24320,2429,0,34,4],
["p1",6,"op","chess_char_3_14_b",0,"none",0,0,83,1,25147,4151,0,29,1],
["p1",7,"op","chess_char_3_17_b",0,"none",0,0,89,1,31808,7884,0,21,7],
["p1",8,"op","chess_char_3_19_b",0,"uniequip_003_vigil",0,0,2,1,24320,2429,0,34,3],
["p1",9,"op","chess_char_3_20_b",0,"none",0,0,9,0,4159,1897,0,11,1],
["p1",10,"op","chess_char_3_21_b",0,"uniequip_003_archet",0,0,60,0,17805,4603,0,22,8],
["p1",11,"op","chess_char_4_02_a",0,null,0,0,65,0,9310,5869,0,7,0],
["p1",12,"op","chess_char_4_06_a",0,null,0,0,73,0,8278,3414,0,17,1],
["p1",12,"op","chess_char_4_06_a",0,null,0,0,74,0,7987,3414,0,17,1],
["p1",13,"token","token_10028_vigil_wolf",null,null,0,0,3,0,5276,3473,0,12,null]
],
"enemies": {
"enemy_10044_wintun": [1,0,1,6689,14921],
"enemy_10127_rkmbst_2": [1,0,1,1878,0],
"enemy_1019_jshoot_2": [18,0,18,7782,16859],
"enemy_1019_jshoot_2": [18,0,18,8026,19151],
"enemy_1092_mdgint": [1,0,1,0,374],
"enemy_1174_duholy_2": [1,0,1,1445,892],
"enemy_1234_dsubrl": [1,0,1,4496,214],
"enemy_1328_cbjedi": [1,0,1,0,267],
"enemy_1381_winman": [21,3,18,7653,104478],
"enemy_1389_winbab_2": [15,0,12,35466,15020],
"enemy_1381_winman": [21,3,18,7318,106180],
"enemy_1389_winbab_2": [15,0,12,34758,14615],
"enemy_1509_mousek": [1,0,1,1686,0],
"enemy_9006_actoxi": [1,0,1,554,712]
},
"hooks": [1,89,5100,399,399,503,519,30,30,86,28,28,0,4426,16,26,62,56,1,33,0,0,18],
"events": {"atk":424,"deploy":27,"die":30,"dmg":495,"fx":84,"leak":56,"skill":56,"spawn":75,"status":77},
"fx": {"camouflage":1,"crit":6,"dodge":18,"dp":4,"phase":1,"pulse":17,"sentry":9,"shadowWeave":9,"shield":4,"shieldBreak":2,"summon":2,"telegraph":1,"volley":6,"wolfShadowLost":3,"zone":1},
"snaps": "7c092213 c094fdd0 61afa7ba 7ab796f5 0793fdee 51faaed8 4a46eeb8 4da2e9b0 57cbf8ad d370e410 155d413f 6fdd87fd 956855f7 70823bab 31442bc2 8416fed2 6ac1b28d"
"hooks": [1,89,5100,404,404,513,529,30,29,85,28,28,0,4321,18,29,62,56,1,32,0,0,18],
"events": {"atk":431,"deploy":27,"die":29,"dmg":505,"fx":84,"leak":56,"skill":56,"spawn":75,"status":83},
"fx": {"camouflage":1,"crit":6,"dodge":18,"dp":3,"phase":1,"pulse":17,"sentry":8,"shadowWeave":11,"shield":4,"shieldBreak":2,"summon":2,"telegraph":1,"volley":6,"wolfShadowLost":3,"zone":1},
"snaps": "7c092213 c094fdd0 61afa7ba 7ab796f5 181fca6b 71abad47 8bc283c6 0928fca3 2eb15bdf 35788dd1 8be98855 61cc5888 771b79b1 2212bef6 d09f87b0 fc2cc2ef d14c6547"
},
"roster-029": {
"about": "pass 1 band 4: chess_char_4_17_a chess_char_4_18_a chess_char_4_11_a chess_char_4_12_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_13_a chess_char_4_14_a chess_char_4_20_a token_10041_cathy_catsld token_10041_cathy_catsld",
@@ -2392,7 +2392,7 @@
"hooks": [1,171,5928,875,875,4471,4472,570,160,160,28,22,57,16607,2339,99,157,0,1,162,2,0,0],
"events": {"atk":1462,"bounty":4,"deploy":14,"die":160,"dmg":4472,"fx":109,"heal":476,"layer":2,"skill":50,"spawn":169,"status":484},
"fx": {"aoe":13,"explode":1,"extraAttack":12,"garrison":2,"garrisonGrant":4,"overload":4,"reborn":2,"shieldBreak":60,"sleepGuard":3,"sunBurst":3,"talent":3,"undying":2},
"snaps": "5650a99f 06b14bc4 3c7f90df cf359f4e 480510fd 8e81f273 ec14a81a 0825a60e e99490fb 7ad74476 4390230d b7c4e053 520f67e8 c3129ede 1c0767c5 ece8a0cf 9c740ad6 7ce51ab8 b1470a6b c5a3183e"
"snaps": "5650a99f 06b14bc4 3c7f90df cf359f4e 7f409ef5 957fdbbb 569273e2 cb682916 c0778723 26f39f3e 59c6cbf5 1587263b 4a25f8a0 ccfcceb6 e38b8fdd 7df9d9d7 fefbca2e 276eab30 e0bc20b3 d59aebb6"
},
"roster-039": {
"about": "pass 2 band 4: chess_char_3_12_a chess_char_3_12_b chess_char_3_18_a chess_char_3_18_b chess_char_3_04_a chess_char_3_05_a chess_char_3_04_b chess_char_3_05_b chess_char_3_01_a chess_char_3_19_a chess_char_3_21_a chess_char_3_01_b token_10028_vigil_wolf",
@@ -2526,46 +2526,46 @@
"time": 190,
"ticks": 5700,
"reason": "timeout",
"killed": 45,
"killed": 40,
"total": 47,
"unspawned": 0,
"bossHpLeft": null,
"rngDraws": 71,
"rngDraws": 81,
"errors": {"count":0,"kinds":[]},
"players": {
"p1": {"killed":45,"total":47,"perfect":false,"leaks":2,"leaksUncounted":0,"coins":8,"dmg":541358,"bossDmg":0,"heal":28681,"deaths":8,"layerGains":{"visiShip":4}}
"p1": {"killed":40,"total":47,"perfect":false,"leaks":7,"leaksUncounted":0,"coins":8,"dmg":505596,"bossDmg":0,"heal":35330,"deaths":6,"layerGains":{"visiShip":8}}
},
"units": [
["p1",1,"op","chess_char_4_23_a",1,null,0,0,63,0,20498,4358,0,46,1],
["p1",2,"op","chess_char_4_01_b",1,"none",0,0,9,0,9683,4991,0,103,2],
["p1",3,"op","chess_char_4_19_a",1,null,0,0,65,0,793,5211,0,25,2],
["p1",4,"op","chess_char_4_22_a",1,null,2022,1,7,0,2026,3449,665,60,1],
["p1",5,"op","chess_char_4_12_b",1,"none",4562.3,1,11,1,25388,19969,14035,79,5],
["p1",6,"op","chess_char_4_04_b",2,"uniequip_002_ines",2149,1,14,17,161270,3942,0,151,0],
["p1",7,"op","chess_char_4_07_b",2,"none",0,0,52,1,31114,4466,0,47,2],
["p1",8,"op","chess_char_4_09_b",2,"uniequip_004_mizuki",1756,1,1,1,11414,790,0,4,2],
["p1",9,"op","chess_char_4_20_a",1,null,1217,1,2,2,33467,0,0,78,3],
["p1",10,"op","chess_char_4_24_a",2,null,1726,1,3,15,193080,0,0,40,4],
["p1",11,"op","chess_char_4_25_a",1,null,1221,1,4,5,27266,0,867,0,3],
["p1",12,"op","chess_char_4_02_b",1,"none",2966.25,1,5,3,25359,0,0,9,2],
["p1","~1","token","char_613_acmedc",null,null,1314,1,13,0,0,0,13114,38,2]
["p1",1,"op","chess_char_4_23_a",1,null,0,0,59,0,14296,4358,0,37,1],
["p1",2,"op","chess_char_4_01_b",1,"none",2261.07,1,9,1,12965,2729,0,125,2],
["p1",3,"op","chess_char_4_19_a",1,null,847.88,1,65,0,1103,4894,0,25,2],
["p1",4,"op","chess_char_4_22_a",1,null,2022,1,7,0,2567,2035,1080,66,1],
["p1",5,"op","chess_char_4_12_b",1,"none",4562.3,1,11,1,35031,22559,14453,82,5],
["p1",6,"op","chess_char_4_04_b",2,"uniequip_002_ines",2149,1,14,7,116578,7728,0,130,0],
["p1",7,"op","chess_char_4_07_b",2,"none",0,0,52,2,32885,4466,0,49,2],
["p1",8,"op","chess_char_4_09_b",2,"uniequip_004_mizuki",1756,1,1,1,12149,527,0,5,1],
["p1",9,"op","chess_char_4_20_a",1,null,1217,1,2,3,31008,0,0,78,3],
["p1",10,"op","chess_char_4_24_a",2,null,1726,1,3,17,187142,0,0,41,4],
["p1",11,"op","chess_char_4_25_a",1,null,1221,1,4,5,29495,0,2741,0,3],
["p1",12,"op","chess_char_4_02_b",1,"none",2966.25,1,5,3,30378,1420,0,11,2],
["p1","~1","token","char_613_acmedc",null,null,1314,1,13,0,0,0,17056,42,2]
],
"enemies": {
"enemy_1001_bigbo": [1,1,0,2989,17600],
"enemy_1001_bigbo": [1,1,0,2149,17600],
"enemy_10097_crshd": [1,1,0,0,8000],
"enemy_1045_hammer": [1,1,0,532,8000],
"enemy_1045_hammer_2": [6,5,0,18084,80871],
"enemy_1061_zomshd": [33,32,0,18697,398075],
"enemy_1045_hammer": [1,1,0,307,8000],
"enemy_1045_hammer_2": [6,5,0,18440,80250],
"enemy_1061_zomshd": [33,27,1,25211,362935],
"enemy_1166_dusbr": [1,1,0,0,2400],
"enemy_1204_msfhu_2": [1,1,0,0,6],
"enemy_1288_duskls_2": [1,1,0,162,4805],
"enemy_1427_lrnazg": [1,1,0,1121,12000],
"enemy_2010_csdcr": [1,1,0,4800,9600]
"enemy_2010_csdcr": [1,1,0,2800,9600]
},
"hooks": [1,65,5700,1041,1041,1305,1328,24816,53,54,29,24,51,27317,95,66,47,0,1,56,1,0,4],
"events": {"atk":1225,"bounty":4,"deploy":18,"die":54,"dmg":1300,"fx":182,"heal":80,"layer":1,"skill":52,"spawn":60,"status":312},
"fx": {"aoe":2,"beam":1,"buff":2,"devour":4,"displace":9,"dodge":4,"ember":1,"garrison":1,"garrisonGrant":1,"link":3,"mote":95,"overload":3,"reweave":3,"riposte":1,"ripple":2,"sentry":2,"shadowWeave":36,"shield":3,"snow":1,"summon":1,"wake":5,"zone":2},
"snaps": "87882f34 f1ef51b0 5ea73197 12103e8c 818a5853 956bc926 be6e41f1 a6a97d2e cc564966 60951dea 6abcabef 03a15c0a 423ff378 86ed9d2c 418af211 a4b6d673 219708b9 f4db72c1 4a7f5c48"
"hooks": [1,65,5700,1112,1112,1391,1406,25126,46,48,28,23,74,26265,88,62,47,1,1,47,2,0,5],
"events": {"atk":1301,"bounty":4,"deploy":18,"die":47,"dmg":1362,"fx":173,"heal":138,"layer":2,"leak":1,"skill":50,"spawn":60,"status":296},
"fx": {"aoe":2,"beam":1,"buff":2,"devour":4,"displace":9,"dodge":5,"ember":1,"garrison":2,"garrisonGrant":1,"link":3,"mote":98,"overload":3,"reweave":3,"riposte":1,"ripple":1,"sentry":2,"shadowWeave":25,"shield":1,"snow":1,"summon":1,"wake":5,"zone":2},
"snaps": "87882f34 f1ef51b0 5ea73197 12103e8c 818a5853 3e0a8b9b d26d3b6f d825f5c7 4ebd0c03 1c2642fe 57081f03 a2c42970 e8c109bb 4c501122 d3565c79 48a49749 f630ef04 87c6d1fa 5ce6a9f2"
},
"roster-042": {
"about": "pass 2 band 5: 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_5_01_a chess_char_4_16_b chess_char_4_13_b chess_char_4_20_b chess_char_4_24_b chess_char_4_25_b chess_char_5_02_a",
@@ -2576,14 +2576,14 @@
"round": 10,
"seed": 3609857679,
"waveId": "act1autochess_h03",
"time": 187.37,
"ticks": 5621,
"time": 161.57,
"ticks": 4847,
"reason": "cleared",
"killed": 59,
"total": 59,
"unspawned": 0,
"bossHpLeft": null,
"rngDraws": 76,
"rngDraws": 64,
"errors": {"count":0,"kinds":[]},
"players": {
"p1": {
@@ -2593,26 +2593,26 @@
"leaks": 0,
"leaksUncounted": 0,
"coins": 8,
"dmg": 704717,
"dmg": 704844,
"bossDmg": 0,
"heal": 28297,
"deaths": 6,
"heal": 28019,
"deaths": 3,
"layerGains": {"preciShip":80,"sargonShip":108}
}
},
"units": [
["p1",1,"op","chess_char_4_17_b",2,"none",4566.9,1,3,0,0,0,0,0,0],
["p1",2,"op","chess_char_4_18_b",2,"none",6783,1,5,0,7312,0,0,3,1],
["p1",3,"op","chess_char_4_23_b",1,"uniequip_004_gvial2",3667.3,1,7,1,23562,289,0,15,2],
["p1",4,"op","chess_char_4_19_b",1,"none",2525.9,1,10,1,16758,1484,0,12,6],
["p1",5,"op","chess_char_4_22_b",1,"uniequip_002_svrash",3311.96,1,11,5,47290,11132,7203,57,1],
["p1",6,"op","chess_char_5_01_a",2,null,0,0,77,3,54310,12701,5030,73,2],
["p1",7,"op","chess_char_4_16_b",1,"none",1922.7,1,78,7,96260,7396,1628,113,0],
["p1",8,"op","chess_char_4_13_b",2,"uniequip_004_gnosis",2553.2,1,8,5,31973,0,0,42,3],
["p1",9,"op","chess_char_4_20_b",1,"none",1844.7,1,9,24,149465,1023,0,72,3],
["p1",10,"op","chess_char_4_24_b",2,"none",2571.4,1,12,4,142472,7106,1265,37,4],
["p1",11,"op","chess_char_4_25_b",1,"uniequip_002_cetsyr",2172.3,1,4,0,19289,0,922,0,3],
["p1",12,"op","chess_char_5_02_a",1,null,1570.4,1,6,8,116026,633,12249,30,5],
["p1",1,"op","chess_char_4_17_b",2,"none",4566.9,1,3,1,1288,0,0,2,0],
["p1",2,"op","chess_char_4_18_b",2,"none",6783,1,5,0,7191,0,0,3,1],
["p1",3,"op","chess_char_4_23_b",1,"uniequip_004_gvial2",3667.3,1,7,1,7785,649,0,3,2],
["p1",4,"op","chess_char_4_19_b",1,"none",2525.9,1,10,1,8997,1531,0,0,4],
["p1",5,"op","chess_char_4_22_b",1,"uniequip_002_svrash",3339.7,1,11,3,40105,9401,4764,46,1],
["p1",6,"op","chess_char_5_01_a",2,null,1722.46,1,40,4,78323,9642,6250,66,1],
["p1",7,"op","chess_char_4_16_b",1,"none",507.1,1,71,7,97453,7002,1741,95,0],
["p1",8,"op","chess_char_4_13_b",2,"uniequip_004_gnosis",2553.2,1,8,4,31086,0,0,39,3],
["p1",9,"op","chess_char_4_20_b",1,"none",1844.7,1,9,21,131494,1023,0,64,3],
["p1",10,"op","chess_char_4_24_b",2,"none",2571.4,1,12,10,154430,6521,646,37,3],
["p1",11,"op","chess_char_4_25_b",1,"uniequip_002_cetsyr",2172.3,1,4,0,19289,0,1552,0,3],
["p1",12,"op","chess_char_5_02_a",1,null,1570.4,1,6,7,127404,903,13066,30,3],
["-","~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]
],
@@ -2620,19 +2620,19 @@
"enemy_10054_cjhot": [1,1,0,675,17280],
"enemy_10141_xdpeng_2": [1,1,0,19,11520],
"enemy_1112_emppnt_2": [1,1,0,0,18432],
"enemy_1183_mlasrt": [1,1,0,694,7488],
"enemy_1183_mlasrt": [1,1,0,573,7488],
"enemy_1249_lysdb_2": [1,1,0,0,6912],
"enemy_1267_nhpbr_2": [33,33,0,8379,209088],
"enemy_1270_nhstlk_2": [12,12,0,9679,221184],
"enemy_1272_nhtank_2": [6,6,0,10640,103680],
"enemy_1329_cbshld_2": [1,1,0,1316,14976],
"enemy_1267_nhpbr_2": [33,33,0,9577,209088],
"enemy_1270_nhstlk_2": [12,12,0,6539,221184],
"enemy_1272_nhtank_2": [6,6,0,7102,103680],
"enemy_1329_cbshld_2": [1,1,0,1824,14976],
"enemy_1512_mcmstr": [1,1,0,5044,92160],
"enemy_9008_acbunn": [1,1,0,1373,13824]
},
"hooks": [1,78,5621,580,580,1348,1362,1848,68,65,30,30,5,20173,2244,41,59,0,1,75,51,1,9],
"events": {"atk":686,"bounty":4,"deploy":17,"die":65,"dmg":1189,"fx":216,"heal":176,"layer":51,"skill":57,"spawn":73,"status":332},
"fx": {"aoe":6,"bombard":5,"bombardShell":5,"burst":1,"coldWind":3,"devour":4,"displace":2,"dodge":9,"explode":26,"extraAttack":12,"garrison":27,"garrisonGrant":1,"iceSpike":3,"link":3,"mote":42,"overload":2,"revive":1,"reweave":3,"riposte":1,"rockfall":1,"shieldBreak":2,"sleepGuard":5,"snow":1,"stone":1,"swordStorm":7,"telegraph":2,"zone":41},
"snaps": "df8e82b1 398be261 233cef48 1f5fb384 311354a9 c24bdec8 8377744e e3afac11 b689d92f e700afba d0b5af43 a951cda4 9910148c 426ede53 62f8e3cf 1e009531 a403986e 8914590b 5f99002b"
"hooks": [1,76,4847,498,498,1282,1296,1302,65,62,24,23,16,17319,1994,40,59,0,1,70,51,1,7],
"events": {"atk":626,"bounty":4,"deploy":15,"die":62,"dmg":1130,"fx":198,"heal":190,"layer":51,"skill":45,"spawn":73,"status":282},
"fx": {"aoe":4,"bombard":5,"bombardShell":5,"burst":1,"coldWind":3,"devour":3,"dodge":7,"explode":26,"extraAttack":15,"garrison":27,"garrisonGrant":1,"iceSpike":3,"link":3,"mote":34,"overload":2,"revive":1,"reweave":3,"rockfall":1,"shieldBreak":2,"sleepGuard":3,"snow":1,"stone":1,"swordStorm":6,"telegraph":2,"zone":39},
"snaps": "df8e82b1 ae59b91a b9e69aee 54684398 674617d0 34b43454 c92732bf 0e99eaf5 8765e347 0fd635f1 8c0e28af 894e7e4c 5c1b51a6 06c6f096 9f044d2f cdcf9624 280f77ba"
},
"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",
@@ -2706,61 +2706,61 @@
"total": 119,
"unspawned": 0,
"bossHpLeft": null,
"rngDraws": 109,
"rngDraws": 118,
"errors": {"count":0,"kinds":[]},
"players": {"p1":{"killed":95,"total":119,"perfect":false,"leaks":24,"leaksUncounted":0,"coins":8,"dmg":3011163,"bossDmg":0,"heal":31467,"deaths":20,"layerGains":{}}},
"players": {"p1":{"killed":95,"total":119,"perfect":false,"leaks":24,"leaksUncounted":0,"coins":8,"dmg":3018146,"bossDmg":0,"heal":35937,"deaths":18,"layerGains":{}}},
"units": [
["p1",1,"op","chess_char_5_19_a",1,null,3241,1,169,2,24149,13260,622,14,3],
["p1",2,"op","chess_char_5_11_b",2,"none",0,0,167,2,15973,25963,24095,35,4],
["p1",3,"op","chess_char_5_19_b",1,"uniequip_002_mlynar",0,0,140,4,88930,12652,244,31,4],
["p1",4,"op","chess_char_5_13_b",2,"uniequip_004_ghost2",3412.8,1,9,4,154074,22473,455,28,2],
["p1",5,"op","chess_char_5_14_b",2,"none",1994,1,170,13,239458,15503,2873,68,5],
["p1",6,"op","chess_char_5_17_b",2,"none",2578,1,168,1,176662,12727,801,56,4],
["p1",7,"op","chess_char_5_20_a",1,null,1108,1,3,1,48492,1688,354,422,6],
["p1",8,"op","chess_char_5_22_a",2,null,1237,1,80,13,116200,5280,409,119,3],
["p1",9,"op","chess_char_5_12_b",2,"uniequip_004_dusk",1667,1,13,3,338982,0,0,61,2],
["p1",10,"op","chess_char_5_15_b",2,"uniequip_002_thorn2",1170,1,14,40,1339578,0,0,166,5],
["p1",11,"op","chess_char_5_20_b",1,"uniequip_004_aglina",1292,1,5,3,105170,1688,354,485,5],
["p1",12,"op","chess_char_5_22_b",2,"none",1511,1,11,8,352359,1913,384,170,4],
["p1",1,"op","chess_char_5_19_a",1,null,3241,1,170,6,41920,10068,671,40,4],
["p1",2,"op","chess_char_5_11_b",2,"none",2158.57,1,166,2,8769,26194,28550,47,4],
["p1",3,"op","chess_char_5_19_b",1,"uniequip_002_mlynar",3907,1,169,5,79077,11906,185,30,3],
["p1",4,"op","chess_char_5_13_b",2,"uniequip_004_ghost2",3412.8,1,9,9,173197,20999,313,26,2],
["p1",5,"op","chess_char_5_14_b",2,"none",1994,1,168,14,252711,17613,3099,77,5],
["p1",6,"op","chess_char_5_17_b",2,"none",2578,1,167,0,219089,14055,747,63,4],
["p1",7,"op","chess_char_5_20_a",1,null,1108,1,3,2,42682,1688,354,363,5],
["p1",8,"op","chess_char_5_22_a",2,null,1237,1,81,3,114426,5280,409,116,3],
["p1",9,"op","chess_char_5_12_b",2,"uniequip_004_dusk",1667,1,13,2,320533,0,0,60,2],
["p1",10,"op","chess_char_5_15_b",2,"uniequip_002_thorn2",1170,1,14,32,1282681,0,0,166,6],
["p1",11,"op","chess_char_5_20_b",1,"uniequip_004_aglina",1292,1,5,5,142575,1688,354,535,6],
["p1",12,"op","chess_char_5_22_b",2,"none",1511,1,11,11,327938,1913,384,160,3],
["-","~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,0,0,32,0,478,2040,43,2,null],
["p1","~2","token","token_10015_dusk_drgn",null,null,0,0,34,0,1106,2108,111,4,null],
["p1","~3","token","token_10015_dusk_drgn",null,null,0,0,42,0,398,2049,52,2,null],
["p1","~4","token","token_10015_dusk_drgn",null,null,0,0,44,0,796,2073,76,4,null],
["p1","~5","token","token_10015_dusk_drgn",null,null,0,0,52,0,995,2129,132,5,null],
["p1","~6","token","token_10015_dusk_drgn",null,null,0,0,58,0,398,1997,0,2,null],
["p1","~7","token","token_10015_dusk_drgn",null,null,0,0,62,0,398,1997,0,2,null],
["p1","~8","token","token_10015_dusk_drgn",null,null,0,0,65,0,597,1997,0,3,null],
["p1","~9","token","token_10015_dusk_drgn",null,null,0,0,69,0,438,1997,0,2,null],
["p1","~10","token","token_10015_dusk_drgn",null,null,0,0,75,0,1473,2182,185,6,null],
["p1","~11","token","token_10015_dusk_drgn",null,null,0,0,141,0,398,2020,23,2,null],
["p1","~12","token","token_10015_dusk_drgn",null,null,0,0,146,0,199,1997,0,1,null],
["p1","~13","token","token_10015_dusk_drgn",null,null,0,0,149,0,398,2052,55,2,null],
["p1","~14","token","token_10015_dusk_drgn",null,null,0,0,152,0,876,2072,75,4,null],
["p1","~15","token","token_10015_dusk_drgn",null,null,0,0,155,0,199,2004,7,1,null],
["p1","~16","token","token_10015_dusk_drgn",null,null,0,0,158,0,398,2032,35,2,null],
["p1","~17","token","token_10015_dusk_drgn",null,null,0,0,160,0,597,2080,83,3,null],
["p1","~18","token","token_10015_dusk_drgn",null,null,0,0,163,1,556,1997,0,3,null],
["p1","~19","token","token_10015_dusk_drgn",null,null,0,0,165,0,438,1997,0,2,null]
["p1","~3","token","token_10015_dusk_drgn",null,null,0,0,42,0,465,2049,52,2,null],
["p1","~4","token","token_10015_dusk_drgn",null,null,0,0,44,0,1087,2073,76,4,null],
["p1","~5","token","token_10015_dusk_drgn",null,null,0,0,52,0,1192,2096,99,4,null],
["p1","~6","token","token_10015_dusk_drgn",null,null,0,0,57,0,884,1997,0,3,null],
["p1","~7","token","token_10015_dusk_drgn",null,null,0,0,60,1,309,1997,0,2,null],
["p1","~8","token","token_10015_dusk_drgn",null,null,0,0,63,0,199,1997,0,1,null],
["p1","~9","token","token_10015_dusk_drgn",null,null,0,0,66,0,597,1997,0,3,null],
["p1","~10","token","token_10015_dusk_drgn",null,null,0,0,70,0,398,1997,0,2,null],
["p1","~11","token","token_10015_dusk_drgn",null,null,0,0,76,0,398,2053,56,2,null],
["p1","~12","token","token_10015_dusk_drgn",null,null,0,0,85,0,1672,2201,204,7,null],
["p1","~13","token","token_10015_dusk_drgn",null,null,0,0,142,0,548,2040,43,2,null],
["p1","~14","token","token_10015_dusk_drgn",null,null,0,0,148,0,568,1997,0,2,null],
["p1","~15","token","token_10015_dusk_drgn",null,null,0,0,151,1,487,1997,0,2,null],
["p1","~16","token","token_10015_dusk_drgn",null,null,0,0,154,0,488,1997,0,2,null],
["p1","~17","token","token_10015_dusk_drgn",null,null,0,0,158,0,438,2024,27,2,null],
["p1","~18","token","token_10015_dusk_drgn",null,null,0,0,162,0,597,2082,85,3,null],
["p1","~19","token","token_10015_dusk_drgn",null,null,0,0,164,0,637,2072,75,3,null]
],
"enemies": {
"enemy_10042_prtrop_2": [1,1,0,1722,23888],
"enemy_1010_demon": [42,38,4,35898,908980],
"enemy_1010_demon": [42,39,3,34740,915010],
"enemy_10122_uacann_2": [1,1,0,20128,29860],
"enemy_1072_dlancer": [1,1,0,0,17916],
"enemy_1172_dugago_2": [1,0,1,0,3181],
"enemy_1172_dugago_2": [1,0,1,0,26334],
"enemy_1229_darmy": [1,1,0,0,12541],
"enemy_1325_cbgpro": [1,1,0,26,11347],
"enemy_1422_lrsldr_2": [45,42,3,9910,721419],
"enemy_1425_lrcmra_2": [24,9,14,81546,1218916],
"enemy_1502_crowns": [1,1,0,345,17916],
"enemy_2085_skzjxd": [1,0,1,0,80709]
"enemy_1325_cbgpro": [1,1,0,0,11347],
"enemy_1422_lrsldr_2": [45,44,1,7640,733059],
"enemy_1425_lrcmra_2": [24,6,16,84209,1218986],
"enemy_1502_crowns": [1,1,0,105,17916],
"enemy_2085_skzjxd": [1,0,1,0,46993]
},
"hooks": [1,170,6900,1907,1907,4938,4946,5521,134,157,47,46,0,25479,2706,128,119,23,1,139,0,0,2],
"events": {"atk":2326,"bounty":4,"deploy":49,"die":134,"dmg":4946,"fx":145,"heal":159,"leak":23,"skill":93,"spawn":152,"status":854},
"fx": {"blink":1,"crit":22,"displace":48,"dodge":2,"explode":5,"sp":10,"substitute":5,"summon":19,"swap":5,"teleport":8,"zone":20},
"snaps": "a39ea9a8 bfa57bde ec3fe789 c7d4ea14 9988c3e2 046a17f4 b4ddd38e 83f0c4f7 9f6c2929 0a8327df 47a2dd8d 53a15cd2 b2be7dcf 2354387f c0cfd00e b918b3d8 a922234d 3092e45a f843a4b4 cb2e92b1 caa33c46 e3465aed 912f73d5"
"hooks": [1,170,6900,1918,1918,4902,4909,5719,132,154,47,45,0,25779,2989,124,119,22,1,137,0,0,0],
"events": {"atk":2318,"bounty":4,"deploy":49,"die":132,"dmg":4909,"fx":157,"heal":184,"leak":22,"skill":92,"spawn":152,"status":994},
"fx": {"blink":1,"crit":32,"displace":50,"explode":5,"sp":11,"substitute":5,"summon":19,"swap":4,"teleport":7,"zone":23},
"snaps": "a39ea9a8 bfa57bde 89563252 8ba66818 998a211d 76b14513 de620c53 552a0e22 d75b8428 6c8176a4 0236875a e53ed4ed 7b8341a1 b6f98849 903b578d 1eafabb5 6a3bec05 50df365f f9cc0152 80b49859 38eb3ad9 89da21b3 f47d6380"
},
"roster-045": {
"about": "pass 2 band 6: chess_char_6_03_a chess_char_6_06_a chess_char_6_07_a chess_char_6_01_a chess_char_6_02_a chess_char_6_04_a chess_char_6_05_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 token_10017_skadi2_dedant",
+18 -9
View File
@@ -7,6 +7,9 @@
// One more since 2026-10-04 (the owner's decision after GitHub issue #32 item 1, DESIGN §22.10): 余 S2 厚礼上宾 casts with an
// enemy on its own 技能范围 x-1 — SKILL_RANGE, customRangeGrid its range (his attack range is his own tile, so the basic
// strategy could not see an enemy he can pull); `rawRule` keeps TAKE_DAMAGE.
// And since 0.2.0 (the owner's decision of 2026-10-05): 深巡 S2's running range 3-2 strictly contains her 2-2, so the
// owner's ACTIVE_RANGE rule applies on top of her DEFAULT deviation — she casts with an enemy in the 3-2 (rule
// ACTIVE_RANGE, customRangeGrid the 3-2, rawRule still TAKE_DAMAGE; test/sim/feedback5-active-range.test.js).
//
// The battle check is real: the chess records of data/chess.json with their kits, the stage 战场#01(下半)
// (act2autochess_m01), a real enemy (萨卡兹枯朽前锋, melee, 0.8 tiles/s) walking the lane from the gate (9,10) to the
@@ -32,6 +35,8 @@ const DEVIATED = [
['chess_char_2_18_a', 'skcom_atk_up[3]'], // 灰毫 S1 攻击力强化·γ型
['chess_char_2_18_a', 'skchr_ashlok_2'], // 灰毫 S2 专注轰击
];
/** The deviated skill whose running range strictly contains the own one: ACTIVE_RANGE on top (0.2.0). */
const ACTIVE = new Set(['skchr_udflow_2']);
/** 余 S2 厚礼上宾: SKILL_RANGE on its own x-1 (DESIGN §22.10). */
const SKILL_RANGE_DEVIATED = [['chess_char_6_03_a', 'skchr_yu_2']];
const both = (normalId) => [normalId, CHESS[normalId].goldenId];
@@ -70,16 +75,17 @@ function firstCast(chessId, skillId, { spawnAt = 0, seconds = 40 } = {}) {
return out;
}
test('data: the six deviated 重装 skills are DEFAULT and 余 S2 is SKILL_RANGE on its x-1, on the normal and the elite record, rawRule the official TAKE_DAMAGE', () => {
test('data: the six deviated 重装 skills are DEFAULT (深巡 S2: ACTIVE_RANGE on its 3-2) and 余 S2 is SKILL_RANGE on its x-1, on the normal and the elite record, rawRule the official TAKE_DAMAGE', () => {
let n = 0;
for (const [normalId, skillId] of DEVIATED) {
for (const id of both(normalId)) {
const s = CHESS[id].skills.find((x) => x.skillId === skillId);
assert.ok(s, `${id} ${skillId}`);
assert.equal(CHESS[id].profession, 'TANK');
assert.deepEqual(s.trigger, { rule: 'DEFAULT', rawRule: 'TAKE_DAMAGE', customRangeGrid: null }, `${id} ${skillId}`);
const want = ACTIVE.has(skillId) ? { rule: 'ACTIVE_RANGE', rawRule: 'TAKE_DAMAGE', customRangeGrid: s.rangeGrid } : { rule: 'DEFAULT', rawRule: 'TAKE_DAMAGE', customRangeGrid: null };
assert.deepEqual(s.trigger, want, `${id} ${skillId}`);
// the sim's loadout def carries the data rule
assert.equal(ds.getChess(id, { skillIndex: s.index }).skill.trigger.rule, 'DEFAULT', `${id} ${skillId} loadout def`);
assert.equal(ds.getChess(id, { skillIndex: s.index }).skill.trigger.rule, want.rule, `${id} ${skillId} loadout def`);
n++;
}
}
@@ -110,7 +116,7 @@ test('data: the six deviated 重装 skills are DEFAULT and 余 S2 is SKILL_RANGE
for (const c of others) assert.deepEqual(c.skills.find((s) => s.skillId === 'skcom_atk_up[3]').trigger, { rule: 'DEFAULT', rawRule: 'DEFAULT', customRangeGrid: null }, c.chessId);
});
test('PR #12\'s kit lines agree with the data: 深巡 / 雷蛇 S2 specs say DEFAULT, the other deviated skills read the data', async () => {
test('PR #12\'s kit line agrees with the data: 雷蛇 S2\'s spec says DEFAULT, the other deviated skills (深巡 S2 since 0.2.0) read the data', async () => {
const { KITS } = await import('../../server/sim/content/index.js');
for (const [normalId, skillId] of [...DEVIATED, ...SKILL_RANGE_DEVIATED]) {
for (const id of both(normalId)) {
@@ -121,21 +127,24 @@ test('PR #12\'s kit lines agree with the data: 深巡 / 雷蛇 S2 specs say DEFA
const spec = s.isDefault ? kit?.skill : kit?.skills?.[skillId];
const specRule = typeof spec?.trigger === 'string' ? spec.trigger : spec?.trigger?.rule;
assert.ok(specRule == null || specRule === s.trigger.rule, `${id} ${skillId}: kit ${specRule} vs data ${s.trigger.rule}`);
if (skillId === 'skchr_udflow_2' || skillId === 'skchr_liskam_2') assert.equal(specRule, 'DEFAULT', `${id} ${skillId}: PR #12's trigger line`);
if (skillId === 'skchr_liskam_2') assert.equal(specRule, 'DEFAULT', `${id} ${skillId}: PR #12's trigger line`);
if (skillId === 'skchr_udflow_2') assert.equal(specRule, undefined, `${id} ${skillId}: reads the data's ACTIVE_RANGE (PR #12's line would keep the 2-2)`);
}
}
});
test('real battle: each deviated skill casts with an enemy in range before anything hits the operator (normal + elite)', () => {
test('real battle: each deviated skill casts with an enemy in range before anything hits the operator (normal + elite; 深巡 S2 in its 3-2)', () => {
for (const [normalId, skillId] of DEVIATED) {
for (const id of both(normalId)) {
const r = firstCast(id, skillId, { spawnAt: 3 });
const where = `${id} ${skillId}: ${JSON.stringify(r)}`;
assert.equal(r.rule, 'DEFAULT', where);
const rule = ACTIVE.has(skillId) ? 'ACTIVE_RANGE' : 'DEFAULT';
assert.equal(r.rule, rule, where);
assert.ok(r.cast != null, `never cast — ${where}`);
assert.ok(r.cast >= 3, `no cast before an enemy is on the field — ${where}`);
assert.equal(r.reason, 'DEFAULT', where);
assert.ok(r.enemyInRange, `an enemy on its initial range at the cast — ${where}`);
assert.equal(r.reason, rule, where);
if (ACTIVE.has(skillId)) assert.ok(r.enemyInSkillRange && !r.enemyInRange, `an enemy on the 3-2, not yet on the 2-2, at the cast — ${where}`);
else assert.ok(r.enemyInRange, `an enemy on its initial range at the cast — ${where}`);
assert.ok(r.hurt == null || r.hurt > r.cast, `cast before the first hit — ${where}`);
}
}
+6 -4
View File
@@ -40,14 +40,16 @@ const laneDirs = (st, r, c) => DIRS.filter((d) => [[0, 1], [0, 2]].some(([dr, dc
/**
* One battle: the operator alone on (r, c) facing `dir` against a real round template. Returns its attacks, the ticks a
* targetable enemy stood on its range tiles, the longest wait for an attack while one did and it could act (seconds
* beyond its attack interval) and the ticks it blocked anything.
* beyond its attack interval — the longer of the interval when the wait began and now: her S2 casts on its 3-2 between
* two attacks since 0.2.0, the owner's ACTIVE_RANGE rule, and its ASPD shortens the interval while the cooldown the
* last attack set still runs) and the ticks it blocked anything.
*/
function watch(stageId, chessId, r, c, dir, { template = 'act1autochess_02', seconds = 45 } = {}) {
const h = makeBattle({ stageId, waveTemplate: template, units: [{ chessId, row: r, col: c, dir }], seed: 5 });
h.step(1);
const u = h.unit(chessId);
assert.ok(u && u.deployed && u.tileR === r && u.tileC === c, `${stageId} (${r},${c}) deployed`);
let attacks = 0, inRange = 0, blocked = 0, waitFrom = null, worst = 0;
let attacks = 0, inRange = 0, blocked = 0, waitFrom = null, waitIv = 0, worst = 0;
h.b.on('attack', (ctx) => { if (ctx.attacker === u) { attacks++; waitFrom = null; } });
for (let i = 0; i < seconds * 30 && !h.b.finished; i++) {
h.step(1);
@@ -58,8 +60,8 @@ function watch(stageId, chessId, r, c, dir, { template = 'act1autochess_02', sec
const target = h.b.enemies.some((e) => e.alive && e.deployed && canTargetEnemy(u, e, prof) && bodyInKeys(e, set));
if (!target) { waitFrom = null; continue; }
inRange++;
if (waitFrom == null) waitFrom = h.b.time;
worst = Math.max(worst, h.b.time - waitFrom - u.s.interval);
if (waitFrom == null) { waitFrom = h.b.time; waitIv = u.s.interval; }
worst = Math.max(worst, h.b.time - waitFrom - Math.max(waitIv, u.s.interval));
}
return { attacks, inRange, blocked, worst };
}
+26
View File
@@ -3,6 +3,9 @@
// as soon as an enemy (a heal skill: an injured ally) is inside that larger range — trigger ACTIVE_RANGE, resolved by
// tools/build-data.mjs resolveTrigger (customRangeGrid = the running range) and checked every tick by server/sim/skills.js.
// Community report: 「有的干员开技能后的攻击范围比平时攻击范围大,但是怪走到平时的攻击范围内才会开技能」.
// The owner's further decisions of the same day: the rule also replaces the SEARCH row ("在初始攻击范围内存在敌人时释放技能":
// 薄绿 S1, 蜜蜡 S1, 卡涅利安 S3, 玛恩纳 S2, 安洁莉娜 S3) and covers 深巡 S2 on top of its §21.29 DEFAULT (its 3-2 over her
// 2-2: test/sim/feedback1-tank-triggers.test.js).
import { test } from 'node:test';
import assert from 'node:assert/strict';
@@ -91,3 +94,26 @@ test('real data: 莫斯提马 S3 序时之匙 (3-15 over her 3-6) casts on its r
assert.equal(casts(h, u)[0].reason, 'ACTIVE_RANGE');
done(h);
});
test('real data: the SEARCH row widened — 安洁莉娜 S3 秘杖·反重力模式 (y-4 over her y-2) casts on an enemy of the y-4 only, no attack needed; her S2 (no range change) keeps SEARCH on the y-2', () => {
const AGL = 'chess_char_5_20_a';
const idx = (sid) => ds.getChess(AGL).raw.skills.find((s) => s.skillId === sid).index;
const s3 = ds.getChess(AGL, { skillIndex: idx('skchr_aglina_3') }).skill, s2 = ds.getChess(AGL, { skillIndex: idx('skchr_aglina_2') }).skill;
assert.equal(s3.trigger.rule, 'ACTIVE_RANGE');
assert.deepEqual(s3.trigger.grid, s3.rangeGrid, 'the trigger grid is the y-4 she attacks with');
assert.equal(s2.trigger.rule, 'SEARCH');
// (10,6) = [0,3]: on the y-4, not on her y-2
for (const [sid, want] of [['skchr_aglina_3', 1], ['skchr_aglina_2', 0]]) {
const h = makeBattle({
defs: { enemies: { e: dummy('e') } }, units: [{ chessId: AGL, row: 10, col: 3, dir: 'RIGHT', skillIndex: idx(sid) }],
enemies: [{ key: 'e', pos: [10, 6] }], hooks: ['skillStart'], autoFinish: false, timeLimit: 30,
});
const u = h.unit(AGL);
h.step();
u.skill.gainSp(1000);
h.run(4);
assert.equal(casts(h, u).length, want, `${sid}: ${want ? 'cast on the y-4' : 'the enemy is outside the initial y-2'}`);
if (want) assert.equal(casts(h, u)[0].reason, 'ACTIVE_RANGE');
done(h);
}
});