feedback5 WV: a melee 突袭 member that blocks lands where its block applies — a tile ground units pass with an enemy path through it or its enemy on it — before a nearer one where it blocks nothing (a 围墙 tile only when nothing else covers its enemy; never a 高台), GitHub #148 (the owner's decision of 2026-10-06); the #148 regression test updated on purpose; golden: fields boss-boss_2-pair, boss-boss_3-pair, boss-boss_4-pair, boss-boss_6-pair, boss-boss_7-pair, hidden-boss_10-pair moved — their 突袭 members (伊内丝, 缄默德克萨斯, 仇白) now land on a road tile on the enemy path instead of a 围墙 tile (or an off-path road tile)

This commit is contained in:
sganggs committed 2026-10-06 18:12:48 +08:00
1 parent 7aede84be9
commit 9d85467479
3 files changed
+326 -247

No files matched your search

+21 -9
View File
@@ -36,7 +36,9 @@
// next to the most advanced ground enemy it can reach: on a free tile its position may be deployed
// on from which its range covers that enemy (GitHub issue #51 [ASSUMED]: the first of the 8 most
// advanced that has such a tile; none → it stays and the next poll looks again, never a jump that
// hits nothing); grid.canStand: never the 深水区 (player report #3 after 0.1.0, members dropped
// hits nothing) — for a melee member that blocks, a tile where its block applies first (ground
// units pass it, an enemy path runs through it: not a 围墙 — the owner's decision of 2026-10-06,
// GitHub #148); grid.canStand: never the 深水区 (player report #3 after 0.1.0, members dropped
// into 战场#08's pool after an enemy wading in it); Battle.isReservedTile: never a tile a knocked-out
// operator lies on (player report F5, members landed on a fallen teammate). A real redeployment
// (retreat + free redeploy on the landing tile, full HP, `deploy` fires — 部署时 traits such as
@@ -268,25 +270,35 @@ function raidReach(u) {
* Landing tile [row, col] of a jump to enemy `e`, or null: a tile from which the member's range (`reach`, raidReach)
* covers the enemy's body (a huge enemy: any tile it occupies — body.js), within RAID_SEARCH tiles (Chebyshev) of the
* enemy, inside the field rect, that the member's position may be deployed on (grid.canStand: never the 深水区 —
* player report #3 after 0.1.0) and that is free (Battle.isReservedTile: no living unit, no knocked-out operator's
* body — player report F5 —, no waiting piece's tile). The nearest first (Chebyshev, then 0.01·Manhattan); last
* tie-break the offset in the member's facing-RIGHT frame (sim/dir.js localOrder; for a RIGHT-facing unit the plain
* tile-key order), so the landing tile turns with its direction. Only the tiles a range offset leads back to from a
* body tile are looked at, so a search that finds nothing stays cheap.
* player report #3 after 0.1.0 —, and for a melee member low ground only, never a 高台: GitHub #148) and that is free
* (Battle.isReservedTile: no living unit, no knocked-out operator's body — player report F5 —, no waiting piece's tile).
* A melee member that blocks takes a tile where its block applies first — ground units pass it (not a 围墙 / 围栏 tile,
* where a unit blocks no ground enemy: Battle._blockerFor) and an enemy ground path runs through it
* (Battle.groundPathTiles) or its enemy stands on it — over one where it would block nothing (the owner's decision of
* 2026-10-06 after GitHub
* #148: a member landed on a 围墙 tile, drawn raised, while a road tile covered its enemy too [ASSUMED: the official
* landing picks among the legal tiles at random]); then the nearest (Chebyshev, then 0.01·Manhattan); last tie-break
* the offset in the member's facing-RIGHT frame (sim/dir.js localOrder; for a RIGHT-facing unit the plain tile-key
* order), so the landing tile turns with its direction. Only the tiles a range offset leads back to from a body tile
* are looked at, so a search that finds nothing stays cheap.
*/
function raidTile(battle, u, e, reach) {
const er = Math.round(e.y), ec = Math.round(e.x);
const ranged = u.def?.position === 'RANGED';
let best = null, bd = Infinity, bo = null;
for (const k of bodyKeys(e)) {
const body = bodyKeys(e);
const path = !ranged && u.s.blockCnt > 0 ? battle.groundPathTiles() : null;
let best = null, bp = 2, bd = Infinity, bo = null;
for (const k of body) {
const br = Math.floor(k / COLS), bc = k - br * COLS;
for (let i = 0; i < reach.length; i += 2) {
const r = br - reach[i], c = bc - reach[i + 1], dr = r - er, dc = c - ec;
if (Math.abs(dr) > RAID_SEARCH || Math.abs(dc) > RAID_SEARCH) continue;
if (!battle.grid.inRect(r, c) || !battle.grid.canStand(r, c, { ranged }) || battle.isReservedTile(r, c)) continue;
const t = r * COLS + c;
const p = path && battle.grid.tile(r, c).pass === 'ALL' && (path.has(t) || body.includes(t)) ? 0 : 1; // its block applies
const d = Math.max(Math.abs(dr), Math.abs(dc)) + 0.01 * (Math.abs(dr) + Math.abs(dc));
const o = localOrder(dr, dc, u.dir);
if (d < bd - 1e-9 || (Math.abs(d - bd) <= 1e-9 && localBefore(o, bo))) { best = [r, c]; bd = d; bo = o; }
if (p < bp || (p === bp && (d < bd - 1e-9 || (Math.abs(d - bd) <= 1e-9 && localBefore(o, bo))))) { best = [r, c]; bp = p; bd = d; bo = o; }
}
}
return best;
+31 -4
View File
@@ -3,12 +3,17 @@
// grid.canStand for its position) lands on low ground only, never on a 高台; on 战场#08 (act2 m04) it may land on a 围墙 tile
// (tile_fence_bound: LOW, buildable ALL — deployable, it attacks from there and blocks no ground enemy, DESIGN §21.23), which
// the board draws as a raised concrete area inside an orange railing: what the screenshot most likely shows.
// Updated on purpose by 0.2.0 WV #3 (the owner's decision of 2026-10-06): a melee member that blocks lands where its block
// applies — a tile ground units pass (not a 围墙) with an enemy ground path through it (Battle.groundPathTiles) or its enemy
// on it — whenever such a tile covers its enemy, before a nearer one where it would block nothing; a 围墙 tile only when
// nothing else does.
// Run: node --test test/content/feedback5-we2-raid-148.test.js
import { test } from 'node:test';
import assert from 'node:assert/strict';
import { makeBattle, chessRec, enemyRec } from '../helpers/battleHarness.js';
import { getData } from '../../server/data.js';
import { COLS } from '../../server/sim/constants.js';
const D = getData({ log: { warn() {}, error() {}, info() {} } });
const STAGES = Object.keys(D.stages).filter((id) => D.stages[id].kind !== 'unite');
@@ -17,9 +22,21 @@ const defs = {
enemies: { e: enemyRec({ key: 'e', hp: 1e9, speed: 0, mass: 0 }) },
};
const RAID = { raidShip: { count: 3, active: true, tier: 1, layers: 1 } };
/** The tiles raidTile looks at for an enemy on (er, ec): its range [[0, 0], [0, 1]] facing RIGHT led back from the enemy. */
function landingTiles(b, er, ec) {
const out = [];
for (const [dr, dc] of [[0, 0], [0, 1]]) {
const r = er - dr, c = ec - dc;
if (b.grid.inRect(r, c) && b.grid.canStand(r, c) && !b.isReservedTile(r, c)) out.push([r, c]);
}
return out;
}
/** Its block applies there: ground units pass the tile, and an enemy ground path runs through it or its enemy stands on it. */
const blocksOn = (b, [r, c], er, ec) => b.grid.tile(r, c).pass === 'ALL' && (b.groundPathTiles().has(r * COLS + c) || (r === er && c === ec));
const same = (t, r, c) => t[0] === r && t[1] === c;
test('#3 / GitHub #148: a melee 突袭 member never lands on a 高台 (any stage, any enemy tile of the field); 战场#08 lands it on 围墙 tiles', () => {
let jumps = 0, fence = 0;
test('#3 / GitHub #148: a melee 突袭 member never lands on a 高台 (any stage, any enemy tile of the field); it lands where it can block whenever such a tile covers its enemy (the owner\'s decision of 2026-10-06), a 围墙 tile only when nothing else does', () => {
let jumps = 0, fence = 0, preferred = 0;
for (const stageId of STAGES) {
const st = D.stages[stageId];
const tileAt = (r, c) => st.tiles[st.rows[r]?.[c]];
@@ -35,14 +52,24 @@ test('#3 / GitHub #148: a melee 突袭 member never lands on a 高台 (any stage
if (!t || t.height !== 'LOW' || (er === home[0] && ec === home[1])) continue;
const h = makeBattle({ stageId, defs, bonds: RAID, enemies: [{ key: 'e', pos: [er, ec] }], units: [{ chessId: 'm', row: home[0], col: home[1] }], autoFinish: false, timeLimit: 60 });
const u = h.unit('m');
h.step();
const tiles = landingTiles(h.b, er, ec);
const blocking = tiles.filter((x) => blocksOn(h.b, x, er, ec));
h.run(12);
if (u.tileR === home[0] && u.tileC === home[1]) continue;
jumps++;
const at = `${stageId}: enemy ${er},${ec} → ${u.tileR},${u.tileC}`;
const lt = tileAt(u.tileR, u.tileC);
assert.ok(lt && lt.height === 'LOW' && (lt.buildable === 'ALL' || lt.buildable === 'MELEE'), `${stageId}: enemy ${er},${ec} → ${u.tileR},${u.tileC} ${lt?.tileKey}/${lt?.height}`);
assert.ok(lt && lt.height === 'LOW' && (lt.buildable === 'ALL' || lt.buildable === 'MELEE'), `${at} ${lt?.tileKey}/${lt?.height}`);
assert.ok(tiles.some((x) => same(x, u.tileR, u.tileC)), `${at}: a tile that covers its enemy`);
if (blocking.length) {
assert.ok(blocking.some((x) => same(x, u.tileR, u.tileC)), `${at}: a tile where it blocks was there (${JSON.stringify(blocking)})`);
if (!blocksOn(h.b, tiles[0], er, ec)) preferred++; // the nearest one (its enemy's own) would block nothing
}
if (lt.tileKey === 'tile_fence_bound') fence++;
}
}
assert.ok(jumps > 50, `${jumps} jumps checked`);
assert.ok(fence > 0, 'some land on a 围墙 tile (the #148 look)');
assert.ok(preferred > 0, `the preference decided ${preferred} landings`);
assert.ok(fence > 0, 'some still land on a 围墙 tile (the #148 look) — where no tile it blocks on covers the enemy');
});
+274 -234
View File
@@ -139,42 +139,42 @@
"killed": 7,
"total": 8,
"unspawned": 0,
"bossHpLeft": 2303707,
"rngDraws": 882,
"bossHpLeft": 2323494,
"rngDraws": 861,
"errors": {"count":0,"kinds":[]},
"players": {
"p1": {"killed":7,"total":8,"perfect":true,"leaks":0,"leaksUncounted":0,"coins":0,"dmg":602609,"bossDmg":333143,"heal":20719,"deaths":0,"layerGains":{}},
"p2": {"killed":0,"total":0,"perfect":false,"leaks":1,"leaksUncounted":0,"coins":0,"dmg":913438,"bossDmg":360254,"heal":6843,"deaths":1,"layerGains":{}}
"p1": {"killed":7,"total":8,"perfect":true,"leaks":0,"leaksUncounted":0,"coins":0,"dmg":591887,"bossDmg":312274,"heal":19641,"deaths":0,"layerGains":{}},
"p2": {"killed":0,"total":0,"perfect":false,"leaks":1,"leaksUncounted":0,"coins":0,"dmg":878330,"bossDmg":361136,"heal":6843,"deaths":1,"layerGains":{}}
},
"units": [
["p1",1,"op","chess_char_5_19_b",2,"uniequip_002_mlynar",3907,1,9,0,186260,1132,15,78,3],
["p1",2,"op","chess_char_4_01_b",2,"uniequip_002_rmixer",5482.35,1,11,0,723,12774,265,37,1],
["p1",3,"op","chess_char_5_14_b",1,"none",1994,1,7,0,26917,2238,333,59,14],
["p1",4,"op","chess_char_5_17_b",1,"uniequip_002_f12yin",2738,1,13,0,13424,0,0,85,1],
["p1",5,"op","chess_char_5_15_b",1,"uniequip_002_thorn2",1170,1,1,0,76572,0,1021,32,9],
["p1",6,"op","chess_char_5_20_b",2,"uniequip_002_aglina",2418.5,1,3,0,73698,0,0,44,4],
["p1",7,"op","chess_char_5_21_b",1,"uniequip_002_sntlla",2769.3,1,17,0,26447,0,0,45,2],
["p1",8,"op","chess_char_5_22_b",1,"uniequip_002_nymph",1611,1,19,4,164686,2047,1463,55,21],
["p1",9,"op","chess_char_5_23_b",1,"uniequip_002_reckpr",1610,1,5,0,0,0,17579,24,3],
["p1",10,"op","chess_char_4_02_b",2,"uniequip_002_mostma",1695,1,15,0,33883,1393,44,34,2],
["p1",1,"op","chess_char_5_19_b",2,"uniequip_002_mlynar",3907,1,9,0,176503,1132,0,72,3],
["p1",2,"op","chess_char_4_01_b",2,"uniequip_002_rmixer",5482.35,1,11,0,723,12906,183,34,1],
["p1",3,"op","chess_char_5_14_b",1,"none",1994,1,7,0,26692,1028,261,54,14],
["p1",4,"op","chess_char_5_17_b",1,"uniequip_002_f12yin",2738,1,13,0,13640,0,0,80,1],
["p1",5,"op","chess_char_5_15_b",1,"uniequip_002_thorn2",1170,1,1,0,59962,0,1515,33,6],
["p1",6,"op","chess_char_5_20_b",2,"uniequip_002_aglina",2418.5,1,3,0,72626,0,0,43,4],
["p1",7,"op","chess_char_5_21_b",1,"uniequip_002_sntlla",2769.3,1,17,0,28364,0,0,57,3],
["p1",8,"op","chess_char_5_22_b",1,"uniequip_002_nymph",1611,1,19,4,174454,2047,1463,57,21],
["p1",9,"op","chess_char_5_23_b",1,"uniequip_002_reckpr",1610,1,5,0,0,0,16175,20,3],
["p1",10,"op","chess_char_4_02_b",2,"uniequip_002_mostma",1695,1,15,0,38923,1393,44,40,2],
["p2",11,"op","chess_char_4_11_b",1,"uniequip_002_cathy",599.39,1,12,0,0,3929,1201,0,2],
["p2",12,"op","chess_char_4_04_b",1,"uniequip_002_ines",3545.85,1,49,1,259634,511,511,291,8],
["p2",12,"op","chess_char_4_04_b",1,"uniequip_002_ines",3545.85,1,48,1,241366,511,511,284,8],
["p2",13,"op","chess_char_4_07_b",1,"uniequip_002_bpipe",1898.31,1,8,0,2347,1249,764,15,6],
["p2",14,"op","chess_char_4_16_b",2,"uniequip_002_texas2",2671.35,1,48,1,116398,2806,1366,164,11],
["p2",14,"op","chess_char_4_16_b",2,"uniequip_002_texas2",2671.35,1,47,1,101686,2806,1366,162,10],
["p2",15,"op","chess_char_4_09_b",1,"uniequip_002_mizuki",1931.91,1,10,0,56922,1270,424,53,3],
["p2",16,"op","chess_char_4_06_b",1,"uniequip_002_kroos2",1561,1,2,0,264370,0,0,175,2],
["p2",16,"op","chess_char_4_06_b",1,"uniequip_002_kroos2",1561,1,2,0,275392,0,0,175,2],
["p2",17,"op","chess_char_4_10_b",1,"uniequip_002_aroma",1664,1,4,0,0,0,0,0,0],
["p2",18,"op","chess_char_4_12_b",2,"uniequip_002_glady",1636.54,1,18,1,51064,3170,2575,44,4],
["p2",19,"op","chess_char_4_13_b",1,"uniequip_002_gnosis",1989,1,41,0,69587,1991,2,105,28],
["p2",20,"op","chess_char_4_14_b",1,"uniequip_002_lionhd",1626,1,6,0,93116,0,0,61,17],
["p2",18,"op","chess_char_4_12_b",2,"uniequip_002_glady",1636.54,1,18,1,44668,3170,2575,41,4],
["p2",19,"op","chess_char_4_13_b",1,"uniequip_002_gnosis",1989,1,41,0,62779,1991,2,96,26],
["p2",20,"op","chess_char_4_14_b",1,"uniequip_002_lionhd",1626,1,6,0,93170,0,0,61,17],
["p2",21,"token","token_10041_cathy_catsld",null,null,100,1,21,0,0,0,0,0,null],
["p2",22,"token","token_10041_cathy_catsld",null,null,100,1,22,0,0,0,0,0,null]
],
"enemies": {"enemy_1005_yokai_2":[6,6,0,3187,62190],"enemy_1430_lrrook":[2,1,1,0,760564],"enemy_9017_achunt":[2,0,0,31321,696293]},
"hooks": [1,47,6000,1396,1412,2975,3026,5410,9,23,141,136,23,38184,1056,0,10,1,1,9,0,13,0],
"events": {"atk":1421,"deploy":37,"die":22,"dmg":3018,"engage":17,"fx":634,"heal":55,"leak":1,"skill":277,"spawn":32,"status":527},
"fx": {"aoe":38,"appear":2,"blink":14,"burst":13,"catShield":1,"charge":6,"counter":23,"crit":98,"dilemma":3,"disappear":2,"explosion":17,"frostNova":28,"garrisonGrant":1,"iceSpike":41,"overclock":2,"pull":3,"quadShot":2,"ripple":14,"sentry":5,"sermon":1,"shadowWeave":10,"shield":6,"soul":6,"sp":10,"stealth":8,"swordRain":105,"swordStorm":11,"tornado":4,"tornadoPulse":17,"weightless":4,"zone":139},
"snaps": "fd90838e 1a32ad53 fa1fb93e d4cb9fb5 9a558a4f 03f789d7 0b46d96b 279a307a f3103ed5 faa4fc49 0d6b6cef 9490511c 094c0736 c2256243 08e7fbb2 8ae85b69 5490f959 95e4ec90 acf8698a 8140cf80"
"enemies": {"enemy_1005_yokai_2":[6,6,0,3187,62190],"enemy_1430_lrrook":[2,1,1,0,734721],"enemy_9017_achunt":[2,0,0,30243,676506]},
"hooks": [1,46,6000,1359,1379,2883,2933,5284,9,22,136,129,20,37832,1034,0,10,1,1,9,0,12,0],
"events": {"atk":1384,"deploy":36,"die":21,"dmg":2925,"engage":17,"fx":608,"heal":50,"leak":1,"skill":265,"spawn":32,"status":505},
"fx": {"aoe":38,"appear":2,"blink":13,"burst":12,"catShield":1,"charge":6,"counter":20,"crit":105,"dilemma":3,"disappear":2,"explosion":17,"frostNova":26,"garrisonGrant":1,"iceSpike":53,"overclock":2,"pull":3,"quadShot":2,"ripple":20,"sentry":5,"sermon":1,"shadowWeave":10,"shield":5,"soul":6,"sp":8,"stealth":8,"swordRain":91,"swordStorm":10,"tornado":4,"tornadoPulse":16,"weightless":4,"zone":114},
"snaps": "fd90838e 1a32ad53 fa1fb93e d4cb9fb5 9a558a4f 03f789d7 0b46d96b 279a307a f3103ed5 faa4fc49 6fb7ae55 ce7f1071 c23efccb a5e804fd d5357397 7ac01e1e 1e658876 0bdd07d6 825d32ce b6f61819"
},
"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",
@@ -222,64 +222,102 @@
"round": 14,
"seed": 1428555614,
"waveId": "act1autochess_h07_03",
"time": 101.33,
"ticks": 3040,
"time": 103.6,
"ticks": 3108,
"reason": "cleared",
"killed": 17,
"total": 18,
"unspawned": 0,
"bossHpLeft": 0,
"rngDraws": 761,
"rngDraws": 781,
"errors": {"count":0,"kinds":[]},
"players": {
"p1": {"killed":17,"total":18,"perfect":true,"leaks":0,"leaksUncounted":0,"coins":0,"dmg":790828,"bossDmg":729593,"heal":1797,"deaths":0,"layerGains":{}},
"p2": {"killed":0,"total":0,"perfect":true,"leaks":0,"leaksUncounted":0,"coins":0,"dmg":1392939,"bossDmg":1270407,"heal":15259,"deaths":0,"layerGains":{}}
"p1": {"killed":17,"total":18,"perfect":true,"leaks":0,"leaksUncounted":0,"coins":0,"dmg":804545,"bossDmg":740515,"heal":1513,"deaths":0,"layerGains":{}},
"p2": {"killed":0,"total":0,"perfect":true,"leaks":0,"leaksUncounted":0,"coins":0,"dmg":1379222,"bossDmg":1259485,"heal":18886,"deaths":0,"layerGains":{}}
},
"units": [
["p1",1,"op","chess_char_6_03_b",2,"uniequip_002_yu",3430,1,7,0,0,0,0,0,0],
["p1",2,"op","chess_char_6_06_b",2,"uniequip_002_pepe",2939,1,11,0,0,0,0,0,0],
["p1",3,"op","chess_char_6_07_b",2,"uniequip_002_siege2",3101,1,9,0,0,0,0,0,0],
["p1",4,"op","chess_char_6_01_b",2,"uniequip_002_lemuen",2131.5,1,13,0,361107,0,0,32,4],
["p1",5,"op","chess_char_6_02_b",2,"uniequip_002_sbell2",1933,1,17,1,183468,165,10,36,2],
["p1",6,"op","chess_char_6_04_b",2,"uniequip_002_skadi2",1598,1,19,2,17072,4605,1256,0,2],
["p1",7,"op","chess_char_6_05_b",2,"uniequip_002_pasngr",2307.2,1,21,3,165063,1184,530,48,4],
["p1",4,"op","chess_char_6_01_b",2,"uniequip_002_lemuen",2131.5,1,13,1,353516,0,0,32,4],
["p1",5,"op","chess_char_6_02_b",2,"uniequip_002_sbell2",1933,1,17,0,193845,39,5,38,2],
["p1",6,"op","chess_char_6_04_b",2,"uniequip_002_skadi2",1533.97,1,19,1,17503,4365,1291,0,3],
["p1",7,"op","chess_char_6_05_b",2,"uniequip_002_pasngr",2307.2,1,21,1,176549,712,217,50,4],
["p1",8,"op","chess_char_6_08_b",2,"uniequip_002_reed2",1668,1,5,0,0,0,0,0,0],
["p1",9,"op","chess_char_6_09_b",0,"uniequip_002_cello",1322,1,15,0,11,0,0,4,4],
["p1",10,"op","chess_char_6_11_b",2,"uniequip_002_mlyss",1893,1,23,0,43052,0,0,104,3],
["p1",9,"op","chess_char_6_09_b",0,"uniequip_002_cello",1322,1,15,1,10,0,0,3,3],
["p1",10,"op","chess_char_6_11_b",2,"uniequip_002_mlyss",1893,1,23,0,45158,0,0,106,3],
["p1",11,"token","token_10017_skadi2_dedant",null,null,130.4,0,26,0,0,0,0,0,null],
["p2",12,"op","chess_char_6_15_b",2,"uniequip_002_qiubai",3801.6,1,31,4,225239,0,0,107,2],
["p2",13,"op","chess_char_6_19_b",2,"uniequip_002_blkkgt",2767,1,12,0,15,0,0,2,1],
["p2",14,"op","chess_char_5_01_b",1,"uniequip_002_excu2",521.56,1,10,1,8,2572,480,8,1],
["p2",15,"op","chess_char_6_17_b",2,"uniequip_002_nearl2",5928.45,1,32,0,217377,4502,431,59,2],
["p2",16,"op","chess_char_6_12_b",1,"uniequip_002_rosmon",3117.74,1,16,0,101420,1458,124,36,2],
["p2",17,"op","chess_char_6_13_b",1,"uniequip_002_angel2",2392.2,1,20,5,724323,2664,802,199,3],
["p2",18,"op","chess_char_6_14_b",2,"uniequip_002_lumen",2050.92,1,22,0,0,2006,3059,33,1],
["p2",19,"op","chess_char_6_16_b",2,"uniequip_002_halo2",1554.12,1,25,0,24405,0,0,47,2],
["p2",20,"op","chess_char_6_18_b",2,"uniequip_002_whitw2",1541,1,6,2,78481,0,0,8,2],
["p2",21,"op","chess_char_6_20_b",2,"uniequip_002_agoat2",1631.88,1,18,0,0,0,10363,34,1],
["p2",12,"op","chess_char_6_15_b",2,"uniequip_002_qiubai",3801.6,1,31,1,230732,8103,1186,110,2],
["p2",13,"op","chess_char_6_19_b",2,"uniequip_002_blkkgt",2767,1,12,1,16446,0,0,3,1],
["p2",14,"op","chess_char_5_01_b",1,"uniequip_002_excu2",1653.08,1,10,1,6,1222,360,6,1],
["p2",15,"op","chess_char_6_17_b",2,"uniequip_002_nearl2",6215.89,1,32,0,146091,836,0,41,2],
["p2",16,"op","chess_char_6_12_b",1,"uniequip_002_rosmon",3117.74,1,16,3,104892,856,166,37,2],
["p2",17,"op","chess_char_6_13_b",1,"uniequip_002_angel2",2392.2,1,20,2,743197,2712,799,206,3],
["p2",18,"op","chess_char_6_14_b",2,"uniequip_002_lumen",2050.92,1,22,0,0,2064,2819,24,1],
["p2",19,"op","chess_char_6_16_b",2,"uniequip_002_halo2",1554.12,1,25,2,34678,579,0,67,2],
["p2",20,"op","chess_char_6_18_b",2,"uniequip_002_whitw2",1541,1,6,4,84942,0,0,11,2],
["p2",21,"op","chess_char_6_20_b",2,"uniequip_002_agoat2",1631.88,1,18,0,0,0,13556,24,1],
["-","~1","device","trap_1105_accrate",null,null,100,1,1,0,0,0,0,0,null],
["-","~2","device","trap_1105_accrate",null,null,100,1,2,0,0,0,0,0,null],
["-","~3","device","trap_1105_accrate",null,null,100,1,3,0,0,0,0,0,null],
["-","~4","device","trap_1105_accrate",null,null,100,1,4,0,0,0,0,0,null],
["p1","~1","token","token_10030_mlyss_wtrman",null,null,1557.36,1,24,0,21054,1020,0,45,1],
["p2","~1","token","token_10019_nearl2_sword",null,null,7824,0,41,0,10835,0,0,0,null],
["p1","~2","token","token_10030_mlyss_wtrman",null,null,1880.37,0,42,0,0,0,0,0,null],
["p1","~1","token","token_10017_skadi2_dedant",null,null,100,0,49,0,0,0,0,0,null],
["p1","~3","token","token_10030_mlyss_wtrman",null,null,1557.36,0,51,0,0,0,0,0,null],
["p2","~2","token","token_10019_nearl2_sword",null,null,6000,0,52,0,10835,0,0,0,null]
["p1","~1","token","token_10030_mlyss_wtrman",null,null,0,0,24,0,8296,1880,0,17,1],
["p2","~1","token","token_10019_nearl2_sword",null,null,7824,0,41,0,9120,0,0,0,null],
["p1","~2","token","token_10030_mlyss_wtrman",null,null,860.02,0,42,0,1348,1020,0,2,null],
["p1","~1","token","token_10017_skadi2_dedant",null,null,100,0,47,0,0,0,0,0,null],
["p1","~3","token","token_10030_mlyss_wtrman",null,null,1557.36,1,51,0,8320,0,0,18,1],
["p2","~2","token","token_10019_nearl2_sword",null,null,6480,0,52,0,9120,0,0,0,null],
["p1","~4","token","token_10030_mlyss_wtrman",null,null,1557.36,1,54,0,0,0,0,0,null]
],
"enemies": {
"enemy_1197_sfshu_2": [2,2,0,0,28809],
"enemy_1198_msfshu_2": [6,6,0,0,24],
"enemy_1209_sfden_2": [2,2,0,5522,154793],
"enemy_1209_sfden_2": [2,2,0,11003,154793],
"enemy_1210_msfden_2": [2,2,0,0,90],
"enemy_9021_acduml": [1,1,0,0,2000000],
"enemy_9023_acdums": [6,5,0,8235,50]
"enemy_9023_acdums": [6,5,0,6838,51]
},
"hooks": [1,52,3040,808,808,1748,1978,1530,18,26,37,29,207,23013,905,3,19,0,1,17,0,1,0],
"events": {"atk":924,"deploy":29,"die":26,"dmg":1822,"engage":14,"fx":558,"heal":152,"skill":66,"spawn":50,"status":318},
"fx": {"airstrike":83,"beam":5,"blink":2,"bombard":29,"bombardShell":29,"buff":3,"burst":1,"copy":1,"displace":1,"dp":3,"drone":153,"droneLock":16,"drones":2,"explode":83,"finale":1,"garrisonGrant":1,"lightning":45,"link":2,"lock":29,"lure":2,"phase":11,"radiantSword":2,"slash":11,"snow":11,"split":2,"steal":3,"storm":4,"summon":10,"sunBurst":1,"talent":4,"telegraph":3,"tide":2,"wanted":3},
"snaps": "e7a827a7 3396c380 e8117486 1db9371a 549e90ec e1d51c02 b030ac35 77f14ab3 681cd5f3 f01f899e 1985493f"
"hooks": [1,53,3108,805,805,1752,1974,1761,19,26,38,30,214,23319,943,4,19,0,1,18,0,1,0],
"events": {"atk":900,"deploy":30,"die":26,"dmg":1813,"engage":16,"fx":571,"heal":175,"skill":68,"spawn":51,"status":333},
"fx": {
"airstrike": 76,
"appear": 1,
"beam": 5,
"blink": 2,
"bombard": 30,
"bombardShell": 30,
"buff": 3,
"burst": 1,
"copy": 2,
"disappear": 1,
"displace": 2,
"dp": 3,
"drone": 164,
"droneLock": 13,
"drones": 2,
"explode": 86,
"extraAttack": 1,
"finale": 1,
"garrisonGrant": 1,
"lightning": 42,
"link": 4,
"lock": 30,
"lure": 2,
"phase": 11,
"radiantSword": 2,
"slash": 11,
"snow": 11,
"split": 2,
"steal": 3,
"storm": 4,
"summon": 10,
"sunBurst": 1,
"talent": 4,
"telegraph": 4,
"tide": 3,
"wanted": 3
},
"snaps": "f2137fd0 c04d9051 f10f9b96 29aa5d2c 2dae50e9 376aaf70 de60a0fc 9ba08ca9 8d4ba472 13c48fe0 cfe736f1"
},
"boss-boss_3-solo": {
"about": "假想敌:管 solo pool 500000: chess_char_5_08_b chess_char_5_11_b chess_char_5_05_b chess_char_5_06_b chess_char_5_13_b chess_char_5_07_b chess_char_5_02_b chess_char_5_03_b chess_char_5_10_b chess_char_5_12_b",
@@ -344,81 +382,81 @@
"time": 200,
"ticks": 6000,
"reason": "forced",
"killed": 10,
"killed": 9,
"total": 14,
"unspawned": 0,
"bossHpLeft": 3196571,
"rngDraws": 664,
"bossHpLeft": 3401883,
"rngDraws": 496,
"errors": {"count":0,"kinds":[]},
"players": {
"p1": {"killed":10,"total":14,"perfect":false,"leaks":2,"leaksUncounted":0,"coins":0,"dmg":963373,"bossDmg":352189,"heal":27540,"deaths":16,"layerGains":{}},
"p2": {"killed":0,"total":0,"perfect":false,"leaks":2,"leaksUncounted":0,"coins":0,"dmg":1055788,"bossDmg":651240,"heal":3664,"deaths":16,"layerGains":{}}
"p1": {"killed":9,"total":14,"perfect":false,"leaks":3,"leaksUncounted":0,"coins":0,"dmg":832066,"bossDmg":272991,"heal":24644,"deaths":21,"layerGains":{}},
"p2": {"killed":0,"total":0,"perfect":false,"leaks":2,"leaksUncounted":0,"coins":0,"dmg":815098,"bossDmg":525125,"heal":3151,"deaths":24,"layerGains":{}}
},
"units": [
["p1",1,"op","chess_char_5_19_b",2,"uniequip_002_mlynar",3439.01,1,64,2,75564,8397,115,9,1],
["p1",2,"op","chess_char_4_01_b",2,"uniequip_002_rmixer",1398.68,1,55,0,21340,9850,1188,14,2],
["p1",3,"op","chess_char_5_14_b",1,"none",1811.48,1,61,0,49407,6992,844,3,8],
["p1",4,"op","chess_char_5_17_b",1,"uniequip_002_f12yin",625.33,1,60,0,4008,10852,126,2,1],
["p1",5,"op","chess_char_5_15_b",1,"uniequip_002_thorn2",799.26,1,57,5,436442,3258,9173,105,19],
["p1",6,"op","chess_char_5_20_b",2,"uniequip_002_aglina",967.4,1,59,0,78457,10700,423,39,4],
["p1",7,"op","chess_char_5_21_b",1,"uniequip_002_sntlla",0,0,19,1,107923,2424,24,135,4],
["p1",8,"op","chess_char_5_22_b",1,"uniequip_002_nymph",0,0,3,0,76490,1980,369,31,12],
["p1",9,"op","chess_char_5_23_b",1,"uniequip_002_reckpr",0,0,53,0,0,4347,15134,31,3],
["p1",10,"op","chess_char_4_02_b",2,"uniequip_002_mostma",0,0,15,0,113742,3448,144,48,2],
["p2",11,"op","chess_char_4_11_b",1,"uniequip_002_cathy",0,0,50,0,1132,6938,196,3,1],
["p2",12,"op","chess_char_4_04_b",1,"uniequip_002_ines",1582.42,1,52,0,198239,4882,115,197,7],
["p2",13,"op","chess_char_4_07_b",1,"uniequip_002_bpipe",1921.21,1,63,0,36646,5595,157,54,13],
["p2",14,"op","chess_char_4_16_b",2,"uniequip_002_texas2",884.56,1,56,0,96817,10407,339,153,6],
["p2",15,"op","chess_char_4_09_b",1,"uniequip_002_mizuki",2777.6,1,58,0,224940,4816,131,57,5],
["p2",16,"op","chess_char_4_06_b",1,"uniequip_002_kroos2",0,0,54,0,179380,3695,573,161,3],
["p2",17,"op","chess_char_4_10_b",1,"uniequip_002_aroma",0,0,14,0,0,3546,153,0,0],
["p2",18,"op","chess_char_4_12_b",2,"uniequip_002_glady",2232,1,62,0,64945,4286,817,75,4],
["p2",19,"op","chess_char_4_13_b",1,"uniequip_002_gnosis",1989,1,66,1,69829,2713,724,72,22],
["p2",20,"op","chess_char_4_14_b",1,"uniequip_002_lionhd",1189.54,1,65,1,183859,2521,459,69,13],
["p1",1,"op","chess_char_5_19_b",2,"uniequip_002_mlynar",0,0,51,3,138264,7838,24,22,1],
["p1",2,"op","chess_char_4_01_b",2,"uniequip_002_rmixer",0,0,5,0,16815,6179,893,10,1],
["p1",3,"op","chess_char_5_14_b",1,"none",0,0,62,0,49407,10951,912,3,8],
["p1",4,"op","chess_char_5_17_b",1,"uniequip_002_f12yin",0,0,59,0,4545,12126,187,2,1],
["p1",5,"op","chess_char_5_15_b",1,"uniequip_002_thorn2",751.16,1,66,2,302889,4343,4325,83,13],
["p1",6,"op","chess_char_5_20_b",2,"uniequip_002_aglina",0,0,60,1,81029,10790,504,39,4],
["p1",7,"op","chess_char_5_21_b",1,"uniequip_002_sntlla",0,0,19,0,91590,2005,24,110,3],
["p1",8,"op","chess_char_5_22_b",1,"uniequip_002_nymph",0,0,56,2,61149,3914,692,30,11],
["p1",9,"op","chess_char_5_23_b",1,"uniequip_002_reckpr",0,0,57,0,0,4410,17059,32,3],
["p1",10,"op","chess_char_4_02_b",2,"uniequip_002_mostma",0,0,15,0,86379,2071,24,36,2],
["p2",11,"op","chess_char_4_11_b",1,"uniequip_002_cathy",0,0,50,0,0,6877,135,0,1],
["p2",12,"op","chess_char_4_04_b",1,"uniequip_002_ines",1827.12,1,68,0,125101,9355,115,125,6],
["p2",13,"op","chess_char_4_07_b",1,"uniequip_002_bpipe",0,0,65,0,26395,7425,67,37,9],
["p2",14,"op","chess_char_4_16_b",2,"uniequip_002_texas2",0,0,63,0,103636,9247,100,151,6],
["p2",15,"op","chess_char_4_09_b",1,"uniequip_002_mizuki",0,0,55,0,185661,6408,233,40,4],
["p2",16,"op","chess_char_4_06_b",1,"uniequip_002_kroos2",0,0,58,0,114013,3511,389,114,2],
["p2",17,"op","chess_char_4_10_b",1,"uniequip_002_aroma",0,0,14,0,0,3417,24,0,0],
["p2",18,"op","chess_char_4_12_b",2,"uniequip_002_glady",0,0,64,0,61768,6768,1277,69,4],
["p2",19,"op","chess_char_4_13_b",1,"uniequip_002_gnosis",0,0,61,0,53260,4339,361,56,16],
["p2",20,"op","chess_char_4_14_b",1,"uniequip_002_lionhd",0,0,67,1,145265,3703,451,68,13],
["p2",21,"token","token_10041_cathy_catsld",null,null,100,1,21,0,0,0,0,0,null],
["p2",22,"token","token_10041_cathy_catsld",null,null,100,1,22,0,0,0,0,0,null]
],
"enemies": {"enemy_1010_demon":[4,4,0,2365,200612],"enemy_1438_dspred":[10,6,4,20724,815120],"enemy_1521_dslily":[1,0,0,80759,1003429]},
"hooks": [1,64,6000,1204,1275,3102,3214,5218,42,48,130,128,14,32649,1247,15,15,4,1,44,0,22,8],
"events": {"atk":1422,"deploy":49,"die":44,"dmg":3203,"engage":18,"fx":852,"heal":212,"leak":4,"skill":258,"spawn":37,"status":817},
"enemies": {"enemy_1010_demon":[4,4,0,1913,200612],"enemy_1438_dspred":[10,5,5,22724,648434],"enemy_1521_dslily":[1,0,0,93299,798117]},
"hooks": [1,66,6000,1002,1068,2527,2646,4783,54,61,108,107,10,27478,1110,16,15,5,1,57,0,24,2],
"events": {"atk":1226,"deploy":51,"die":56,"dmg":2639,"engage":17,"fx":653,"heal":160,"leak":5,"skill":215,"spawn":37,"status":755},
"fx": {
"aoe": 22,
"appear": 11,
"aoe": 21,
"appear": 9,
"blink": 2,
"burst": 22,
"charge": 13,
"counter": 14,
"crit": 76,
"dilemma": 5,
"disappear": 11,
"burst": 24,
"charge": 9,
"counter": 10,
"crit": 44,
"dilemma": 4,
"disappear": 9,
"displace": 28,
"dodge": 8,
"dodge": 2,
"explosion": 13,
"frostNova": 22,
"frostNova": 16,
"grow": 1,
"iceSpike": 106,
"iceSpike": 88,
"overclock": 1,
"pull": 4,
"quadShot": 3,
"ripple": 14,
"rockfall": 14,
"sentry": 2,
"sermon": 2,
"shadowWeave": 7,
"shield": 4,
"soul": 2,
"sp": 15,
"stealth": 7,
"swordRain": 32,
"quadShot": 2,
"ripple": 9,
"rockfall": 11,
"sentry": 4,
"sermon": 1,
"shadowWeave": 5,
"shield": 3,
"soul": 3,
"sp": 9,
"stealth": 6,
"swordRain": 40,
"swordStorm": 6,
"tentacle": 6,
"tide": 5,
"tornado": 4,
"tornadoPulse": 20,
"weightless": 4,
"zone": 346
"zone": 230
},
"snaps": "5dcb7728 ddb8e20d 3f32c53b b98db57d a6836556 681bc60e 94680558 f0805b17 5e447379 90906ab2 3cb79e2c 549d2d6d b9ccface 793eaba3 fdaab791 0167ee7d 2bdb20d3 5f084543 14b87276 5f72f51a"
"snaps": "55a3d863 705ac967 e815eea0 1a348247 c3de7555 507edda3 3afb1adb 03717bd5 8abcf4ac b28c884f 25956015 b1d7cf6f 1c11c8b3 a11f49b2 b58e3f47 632c829c a5e0d79c da3519b8 783a1f55 c42321eb"
},
"boss-boss_4-solo": {
"about": "盐风主教昆图斯 solo pool 1050000: 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",
@@ -614,86 +652,86 @@
"time": 200,
"ticks": 6000,
"reason": "forced",
"killed": 5,
"killed": 4,
"total": 6,
"unspawned": 0,
"bossHpLeft": 2625306,
"rngDraws": 696,
"bossHpLeft": 2680590,
"rngDraws": 559,
"errors": {"count":0,"kinds":[]},
"players": {
"p1": {"killed":5,"total":6,"perfect":true,"leaks":0,"leaksUncounted":0,"coins":0,"dmg":1185295,"bossDmg":592165,"heal":491,"deaths":3,"layerGains":{}},
"p2": {"killed":0,"total":0,"perfect":false,"leaks":1,"leaksUncounted":0,"coins":0,"dmg":1405740,"bossDmg":762529,"heal":681,"deaths":11,"layerGains":{}}
"p1": {"killed":4,"total":6,"perfect":false,"leaks":1,"leaksUncounted":0,"coins":0,"dmg":1051226,"bossDmg":642651,"heal":3896,"deaths":5,"layerGains":{}},
"p2": {"killed":0,"total":0,"perfect":false,"leaks":1,"leaksUncounted":0,"coins":0,"dmg":1151422,"bossDmg":656759,"heal":1055,"deaths":12,"layerGains":{}}
},
"units": [
["p1",1,"op","chess_char_5_19_b",2,"uniequip_002_mlynar",3907,1,3,2,167588,0,0,41,3],
["p1",1,"op","chess_char_5_19_b",2,"uniequip_002_mlynar",3907,1,3,2,107043,0,0,26,3],
["p1",2,"op","chess_char_4_01_b",2,"uniequip_002_rmixer",3537,1,1,0,0,0,0,0,0],
["p1",3,"op","chess_char_5_14_b",1,"none",1994,1,5,1,54262,0,0,0,15],
["p1",4,"op","chess_char_5_17_b",1,"uniequip_002_f12yin",4654.6,1,11,1,336,0,0,1,1],
["p1",5,"op","chess_char_5_15_b",1,"uniequip_002_thorn2",1170,1,7,1,306280,0,491,75,12],
["p1",6,"op","chess_char_5_20_b",2,"uniequip_002_aglina",1382,1,13,0,209403,0,0,73,6],
["p1",7,"op","chess_char_5_21_b",1,"uniequip_002_sntlla",1629,1,15,0,55551,0,0,88,3],
["p1",8,"op","chess_char_5_22_b",1,"uniequip_002_nymph",1611,1,50,0,325660,1611,0,84,29],
["p1",9,"op","chess_char_5_23_b",1,"uniequip_002_reckpr",0,0,39,0,5827,3220,0,0,0],
["p1",10,"op","chess_char_4_02_b",2,"uniequip_002_mostma",1695,1,9,0,60388,0,0,48,2],
["p2",11,"op","chess_char_4_11_b",1,"uniequip_002_cathy",2644,1,38,0,0,12169,268,0,1],
["p2",12,"op","chess_char_4_04_b",1,"uniequip_002_ines",0,0,43,0,212750,8595,321,245,6],
["p1",3,"op","chess_char_5_14_b",1,"none",1994,1,5,0,38065,0,0,0,13],
["p1",4,"op","chess_char_5_17_b",1,"uniequip_002_f12yin",4654.6,1,11,0,2464,0,0,3,1],
["p1",5,"op","chess_char_5_15_b",1,"uniequip_002_thorn2",1170,1,7,2,332249,0,1482,73,12],
["p1",6,"op","chess_char_5_20_b",2,"uniequip_002_aglina",1382,1,13,0,198299,0,0,75,6],
["p1",7,"op","chess_char_5_21_b",1,"uniequip_002_sntlla",0,0,15,0,28901,1629,0,50,2],
["p1",8,"op","chess_char_5_22_b",1,"uniequip_002_nymph",0,0,47,0,287701,3222,0,85,28],
["p1",9,"op","chess_char_5_23_b",1,"uniequip_002_reckpr",0,0,49,0,2900,3220,2414,4,1],
["p1",10,"op","chess_char_4_02_b",2,"uniequip_002_mostma",1695,1,9,0,53605,0,0,40,2],
["p2",11,"op","chess_char_4_11_b",1,"uniequip_002_cathy",2644,1,46,0,0,12182,281,0,1],
["p2",12,"op","chess_char_4_04_b",1,"uniequip_002_ines",0,0,41,0,136097,9003,729,279,6],
["p2",13,"op","chess_char_4_07_b",1,"uniequip_002_bpipe",2383,1,6,0,0,0,0,0,0],
["p2",14,"op","chess_char_4_16_b",2,"uniequip_002_texas2",1619,1,51,0,70300,8045,25,154,6],
["p2",15,"op","chess_char_4_09_b",1,"uniequip_002_mizuki",2777.6,1,14,0,233538,0,0,116,6],
["p2",16,"op","chess_char_4_06_b",1,"uniequip_002_kroos2",1561,1,8,0,486378,0,0,138,2],
["p2",14,"op","chess_char_4_16_b",2,"uniequip_002_texas2",1619,1,43,0,57804,9849,44,187,5],
["p2",15,"op","chess_char_4_09_b",1,"uniequip_002_mizuki",2777.6,1,14,0,239542,0,0,118,6],
["p2",16,"op","chess_char_4_06_b",1,"uniequip_002_kroos2",1561,1,8,0,456796,0,0,132,2],
["p2",17,"op","chess_char_4_10_b",1,"uniequip_002_aroma",1664,1,12,0,0,0,0,0,0],
["p2",18,"op","chess_char_4_12_b",2,"uniequip_002_glady",2232,1,16,0,80747,0,0,167,6],
["p2",19,"op","chess_char_4_13_b",1,"uniequip_002_gnosis",0,0,47,0,123467,3978,0,112,28],
["p2",20,"op","chess_char_4_14_b",1,"uniequip_002_lionhd",0,0,48,0,198560,3319,67,63,12],
["p2",18,"op","chess_char_4_12_b",2,"uniequip_002_glady",0,0,48,0,37231,4464,0,91,4],
["p2",19,"op","chess_char_4_13_b",1,"uniequip_002_gnosis",0,0,44,0,120920,3978,0,113,27],
["p2",20,"op","chess_char_4_14_b",1,"uniequip_002_lionhd",1626,1,52,0,103033,3252,0,33,6],
["p2",21,"token","token_10041_cathy_catsld",null,null,100,1,21,0,0,0,0,0,null],
["p2",22,"token","token_10041_cathy_catsld",null,null,100,1,22,0,0,0,0,0,null]
],
"enemies": {
"enemy_10028_vtswd": [4,4,0,0,0],
"enemy_10028_vtswd": [5,5,0,0,0],
"enemy_10029_vtshld": [2,2,0,0,0],
"enemy_10030_vtwand": [2,2,0,0,0],
"enemy_10085_hllevi_2": [2,1,1,0,1035729],
"enemy_1010_demon": [4,4,0,12169,200612],
"enemy_9032_aclionk": [1,0,0,28767,1354694]
"enemy_10030_vtwand": [1,1,0,0,0],
"enemy_10085_hllevi_2": [2,0,2,0,702625],
"enemy_1010_demon": [4,4,0,15134,200612],
"enemy_9032_aclionk": [1,0,0,35665,1299410]
},
"hooks": [1,49,6000,1346,1386,2558,2587,515,27,30,138,136,0,39195,1495,3,15,1,1,23,0,6,0],
"events": {"atk":1422,"deploy":34,"die":29,"dmg":2571,"engage":14,"fx":716,"heal":4,"leak":1,"skill":274,"spawn":37,"status":1085},
"hooks": [1,50,6000,1291,1314,2325,2345,811,29,33,125,123,0,36836,1303,4,15,2,1,25,0,5,0],
"events": {"atk":1354,"deploy":35,"die":31,"dmg":2324,"engage":14,"fx":616,"heal":20,"leak":2,"skill":248,"spawn":37,"status":889},
"fx": {
"aoe": 51,
"aoe": 48,
"appear": 4,
"blink": 2,
"burst": 6,
"crit": 87,
"burst": 5,
"crit": 75,
"dilemma": 6,
"disappear": 4,
"displace": 19,
"equip": 10,
"explosion": 12,
"frostNova": 28,
"equip": 9,
"explosion": 6,
"frostNova": 27,
"garrisonGrant": 1,
"iceSpike": 83,
"iceSpike": 44,
"overclock": 1,
"pull": 6,
"pull": 4,
"quadShot": 2,
"revive": 2,
"ripple": 18,
"sentry": 3,
"shadowWeave": 4,
"shadowWeave": 2,
"shield": 1,
"soul": 6,
"sp": 20,
"soul": 5,
"sp": 18,
"stealth": 6,
"sword": 2,
"swordRain": 49,
"swordStorm": 6,
"telegraph": 16,
"tornado": 6,
"tornadoPulse": 30,
"sword": 4,
"swordRain": 21,
"swordStorm": 5,
"telegraph": 14,
"tornado": 4,
"tornadoPulse": 20,
"vest": 2,
"weightless": 6,
"zone": 217
"zone": 228
},
"snaps": "cacb813f 39918738 3f7856dd f356867c 0eddd32e ba395ef8 34755e05 0812b2a3 e7dee4b0 6c23b2fa 776da0eb 448f9baa 07467855 055c9e65 0346714b f791a88b deff2a04 42b5f4bd cf3b3ba4 058edc46"
"snaps": "a5dd1d4a baa7b7db 7c505a8e a4224e3d d53319fe 5b811158 536cda3e 52938381 3a7db0e7 6d0ad629 52d45c14 98ee7b24 5d759658 0207119c a227cfea dc0605ed 7a6f9851 53a205a7 a69e6594 bc79ec80"
},
"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",
@@ -755,58 +793,60 @@
"round": 14,
"seed": 120974514,
"waveId": "act1autochess_h07_07",
"time": 153.2,
"ticks": 4596,
"time": 144.33,
"ticks": 4330,
"reason": "cleared",
"killed": 16,
"total": 16,
"unspawned": 0,
"bossHpLeft": 0,
"rngDraws": 616,
"rngDraws": 666,
"errors": {"count":0,"kinds":[]},
"players": {
"p1": {"killed":16,"total":16,"perfect":true,"leaks":0,"leaksUncounted":0,"coins":0,"dmg":657821,"bossDmg":550703,"heal":25237,"deaths":1,"layerGains":{}},
"p2": {"killed":0,"total":0,"perfect":true,"leaks":0,"leaksUncounted":0,"coins":0,"dmg":1815159,"bossDmg":1449297,"heal":19812,"deaths":5,"layerGains":{}}
"p1": {"killed":16,"total":16,"perfect":true,"leaks":0,"leaksUncounted":0,"coins":0,"dmg":630171,"bossDmg":586902,"heal":20762,"deaths":0,"layerGains":{}},
"p2": {"killed":0,"total":0,"perfect":true,"leaks":0,"leaksUncounted":0,"coins":0,"dmg":1842809,"bossDmg":1413098,"heal":34015,"deaths":0,"layerGains":{}}
},
"units": [
["p1",1,"op","chess_char_6_03_b",2,"uniequip_002_yu",3430,1,5,0,0,0,0,0,0],
["p1",2,"op","chess_char_6_06_b",2,"uniequip_002_pepe",2939,1,7,0,0,0,0,0,0],
["p1",3,"op","chess_char_6_07_b",2,"uniequip_002_siege2",3101,1,11,0,0,0,0,0,0],
["p1",4,"op","chess_char_6_01_b",2,"uniequip_002_lemuen",1470,1,1,1,191195,0,0,83,0],
["p1",5,"op","chess_char_6_02_b",2,"uniequip_002_sbell2",1933,1,9,0,0,0,0,0,0],
["p1",6,"op","chess_char_6_04_b",2,"uniequip_002_skadi2",1598,1,17,0,39305,17679,1300,0,4],
["p1",7,"op","chess_char_6_05_b",2,"uniequip_002_pasngr",1442,1,3,0,0,0,0,0,0],
["p1",8,"op","chess_char_6_08_b",2,"uniequip_002_reed2",1668,1,13,0,145558,481,23170,106,3],
["p1",9,"op","chess_char_6_09_b",0,"uniequip_002_cello",1322,1,15,1,214113,862,0,40,40],
["p1",10,"op","chess_char_6_11_b",2,"uniequip_002_mlyss",0,0,19,0,54307,12010,767,92,3],
["p1",1,"op","chess_char_6_03_b",2,"uniequip_002_yu",4472.72,1,5,0,0,0,0,0,0],
["p1",2,"op","chess_char_6_06_b",2,"uniequip_002_pepe",3832.46,1,7,0,0,0,0,0,0],
["p1",3,"op","chess_char_6_07_b",2,"uniequip_002_siege2",4043.7,1,11,0,0,0,0,0,0],
["p1",4,"op","chess_char_6_01_b",2,"uniequip_002_lemuen",1916.88,1,1,1,185852,0,0,78,0],
["p1",5,"op","chess_char_6_02_b",2,"uniequip_002_sbell2",2520.63,1,9,0,0,0,0,0,0],
["p1",6,"op","chess_char_6_04_b",2,"uniequip_002_skadi2",2083.79,1,17,0,32940,15589,1256,0,4],
["p1",7,"op","chess_char_6_05_b",2,"uniequip_002_pasngr",1880.37,1,3,0,0,0,0,0,0],
["p1",8,"op","chess_char_6_08_b",2,"uniequip_002_reed2",2175.07,1,13,0,113952,0,17614,101,3],
["p1",9,"op","chess_char_6_09_b",0,"uniequip_002_cello",1723.89,1,15,1,193562,539,0,38,38],
["p1",10,"op","chess_char_6_11_b",2,"uniequip_002_mlyss",2468.47,1,19,0,81362,11533,1148,139,4],
["p1",11,"token","token_10017_skadi2_dedant",null,null,130.4,0,22,0,0,0,0,0,null],
["p1",12,"token","token_10030_mlyss_wtrman",null,null,0,0,20,0,5792,2876,0,17,1],
["p2",13,"op","chess_char_6_15_b",2,"uniequip_002_qiubai",2913.79,1,26,7,380120,3165,0,142,3],
["p2",14,"op","chess_char_6_19_b",2,"uniequip_002_blkkgt",2767,1,2,0,0,0,0,0,0],
["p2",15,"op","chess_char_5_01_b",1,"uniequip_002_excu2",2314,1,6,0,0,0,0,0,0],
["p2",16,"op","chess_char_6_17_b",2,"uniequip_002_nearl2",4556.87,1,31,1,173246,2773,0,63,3],
["p2",17,"op","chess_char_6_12_b",1,"uniequip_002_rosmon",0,0,51,3,220347,11041,0,35,4],
["p2",18,"op","chess_char_6_13_b",1,"uniequip_002_angel2",2192.85,1,21,3,701971,6761,5337,235,5],
["p2",19,"op","chess_char_6_14_b",2,"uniequip_002_lumen",1899,1,8,0,0,0,0,0,0],
["p2",20,"op","chess_char_6_16_b",2,"uniequip_002_halo2",1439,1,12,0,110676,0,0,89,3],
["p2",21,"op","chess_char_6_18_b",2,"uniequip_002_whitw2",1541,1,14,1,228800,0,0,62,2],
["p2",22,"op","chess_char_6_20_b",2,"uniequip_002_agoat2",0,0,49,0,0,4230,14475,21,1],
["p1","~1","token","token_10030_mlyss_wtrman",null,null,0,0,34,0,4801,1724,0,8,null],
["p1","~2","token","token_10030_mlyss_wtrman",null,null,0,0,41,0,519,1322,0,2,1],
["p1",12,"token","token_10030_mlyss_wtrman",null,null,0,0,20,0,5321,2876,0,18,1],
["p2",13,"op","chess_char_6_15_b",2,"uniequip_002_qiubai",4502.02,1,26,4,275746,0,0,93,3],
["p2",14,"op","chess_char_6_19_b",2,"uniequip_002_blkkgt",3608.17,1,2,0,0,0,0,0,0],
["p2",15,"op","chess_char_5_01_b",1,"uniequip_002_excu2",3017.46,1,6,0,0,0,0,0,0],
["p2",16,"op","chess_char_6_17_b",2,"uniequip_002_nearl2",7020.72,1,31,2,91620,12855,0,29,3],
["p2",17,"op","chess_char_6_12_b",1,"uniequip_002_rosmon",2898.35,1,16,4,305737,8640,0,53,3],
["p2",18,"op","chess_char_6_13_b",1,"uniequip_002_angel2",2888.36,1,21,4,841731,3871,1843,250,5],
["p2",19,"op","chess_char_6_14_b",2,"uniequip_002_lumen",2476.3,1,8,0,0,0,0,0,0],
["p2",20,"op","chess_char_6_16_b",2,"uniequip_002_halo2",1876.46,1,12,0,108450,0,0,89,3],
["p2",21,"op","chess_char_6_18_b",2,"uniequip_002_whitw2",2009.46,1,14,0,219525,0,0,55,2],
["p2",22,"op","chess_char_6_20_b",2,"uniequip_002_agoat2",1970.34,1,18,0,0,1120,32171,49,2],
["p1","~1","token","token_10030_mlyss_wtrman",null,null,893.08,0,34,1,6541,1574,743,16,null],
["p1","~2","token","token_10030_mlyss_wtrman",null,null,0,0,41,0,3698,2070,0,8,1],
["p1","~1","token","token_10017_skadi2_dedant",null,null,100,0,42,0,0,0,0,0,null],
["p1","~3","token","token_10030_mlyss_wtrman",null,null,0,0,45,0,2231,1322,0,7,1],
["p1","~2","token","token_10017_skadi2_dedant",null,null,100,0,50,0,0,0,0,0,null]
["p1","~3","token","token_10030_mlyss_wtrman",null,null,0,0,46,0,2081,1322,0,6,1],
["p1","~2","token","token_10017_skadi2_dedant",null,null,130.4,0,48,0,0,0,0,0,null],
["p1","~4","token","token_10030_mlyss_wtrman",null,null,1048.86,1,49,0,3949,1128,0,11,1],
["p1","~5","token","token_10030_mlyss_wtrman",null,null,1723.89,1,50,0,912,0,0,2,null]
],
"enemies": {
"enemy_1067_snslime": [8,8,0,12674,111795],
"enemy_1081_sotisd": [4,4,0,5052,257989],
"enemy_1067_snslime": [8,8,0,9423,111795],
"enemy_1081_sotisd": [4,4,0,708,257989],
"enemy_1249_lysdb_2": [4,4,0,0,103196],
"enemy_9033_acdeer": [1,1,0,31851,2000000]
"enemy_9033_acdeer": [1,1,0,32950,2000000]
},
"hooks": [1,49,4596,1011,1011,2649,2941,1623,27,32,74,70,182,26660,1344,6,17,0,1,26,0,14,0],
"events": {"atk":1140,"deploy":32,"die":32,"dmg":2682,"engage":14,"fx":420,"heal":235,"skill":144,"spawn":44,"status":502},
"fx": {"airstrike":63,"beam":3,"blink":2,"burst":14,"column":39,"copy":3,"dp":3,"drone":234,"droneLock":10,"drones":2,"explode":7,"garrisonGrant":1,"link":3,"phase":1,"scorchBurst":6,"shieldBreak":4,"snow":5,"split":1,"steal":4,"sunBurst":4,"talent":4,"tide":4,"wanted":3},
"snaps": "527acd3d 92bc6ca9 876af6f6 ea8c9a0e 8e9b8505 e81eae9b 0162cc52 7bfd274c a0189411 57757a4a eef674d5 623bffab 79e4a2a5 f38fb5dc 21a35db2 55c0fad0"
"hooks": [1,48,4330,1042,1042,2602,2869,2311,20,26,74,65,201,28101,1210,4,17,0,1,19,0,10,0],
"events": {"atk":1213,"deploy":31,"die":26,"dmg":2635,"engage":16,"fx":419,"heal":416,"skill":139,"spawn":46,"status":432},
"fx": {"airstrike":72,"beam":3,"blink":2,"burst":10,"column":36,"copy":4,"dp":4,"drone":235,"droneLock":12,"drones":2,"explode":6,"garrisonGrant":1,"link":1,"phase":1,"shieldBreak":4,"snow":5,"split":2,"steal":5,"sunBurst":4,"talent":4,"tide":4,"wanted":2},
"snaps": "3159bc57 5a868dfc 1317f752 766b1ac3 ae4704fd 8b8561f0 0cf3e025 1cc4fae8 2ab8c69e 1c36a709 27dce433 db53cc68 922ea938 44d1d981 4325d4fb"
},
"boss-boss_7-solo": {
"about": "“萨米的意志” solo pool 500000: chess_char_5_08_b chess_char_5_11_b chess_char_5_05_b chess_char_5_06_b chess_char_5_13_b chess_char_5_07_b chess_char_5_02_b chess_char_5_03_b chess_char_5_10_b chess_char_5_12_b",
@@ -1179,62 +1219,63 @@
"killed": 12,
"total": 12,
"unspawned": 0,
"bossHpLeft": 6820572,
"rngDraws": 999,
"bossHpLeft": 6905955,
"rngDraws": 1001,
"errors": {"count":0,"kinds":[]},
"players": {
"p1": {"killed":12,"total":12,"perfect":true,"leaks":0,"leaksUncounted":0,"coins":0,"dmg":378748,"bossDmg":211503,"heal":8474,"deaths":1,"layerGains":{}},
"p2": {"killed":0,"total":0,"perfect":true,"leaks":0,"leaksUncounted":0,"coins":0,"dmg":735184,"bossDmg":567925,"heal":8676,"deaths":6,"layerGains":{}}
"p1": {"killed":12,"total":12,"perfect":true,"leaks":0,"leaksUncounted":0,"coins":0,"dmg":358279,"bossDmg":203660,"heal":4886,"deaths":1,"layerGains":{}},
"p2": {"killed":0,"total":0,"perfect":true,"leaks":0,"leaksUncounted":0,"coins":0,"dmg":670269,"bossDmg":490385,"heal":8820,"deaths":8,"layerGains":{}}
},
"units": [
["p1",1,"op","chess_char_5_19_b",2,"uniequip_002_mlynar",3907,1,5,0,0,0,0,0,0],
["p1",2,"op","chess_char_4_01_b",2,"uniequip_002_rmixer",3537,1,9,0,0,0,0,0,0],
["p1",3,"op","chess_char_5_14_b",1,"none",3489.5,1,15,0,0,0,0,0,0],
["p1",4,"op","chess_char_5_17_b",1,"uniequip_002_f12yin",2738,1,17,2,18743,6114,2287,41,1],
["p1",5,"op","chess_char_5_15_b",1,"uniequip_002_thorn2",1989,1,11,2,158666,0,5115,25,5],
["p1",6,"op","chess_char_5_20_b",2,"uniequip_002_aglina",1382,1,19,2,60570,957,0,64,6],
["p1",7,"op","chess_char_5_21_b",1,"uniequip_002_sntlla",1629,1,48,0,95409,3032,116,219,6],
["p1",4,"op","chess_char_5_17_b",1,"uniequip_002_f12yin",2738,1,17,1,24417,1893,995,40,1],
["p1",5,"op","chess_char_5_15_b",1,"uniequip_002_thorn2",1989,1,11,2,129281,0,2712,20,4],
["p1",6,"op","chess_char_5_20_b",2,"uniequip_002_aglina",1382,1,19,1,62301,949,20,64,6],
["p1",7,"op","chess_char_5_21_b",1,"uniequip_002_sntlla",1629,1,51,2,105321,2848,231,226,6],
["p1",8,"op","chess_char_5_22_b",1,"uniequip_002_nymph",1611,1,3,0,0,0,0,0,0],
["p1",9,"op","chess_char_5_23_b",1,"uniequip_002_reckpr",1610,1,7,0,0,0,957,1,1],
["p1",10,"op","chess_char_4_02_b",2,"uniequip_002_mostma",1695,1,13,0,45360,0,0,30,3],
["p1",9,"op","chess_char_5_23_b",1,"uniequip_002_reckpr",1610,1,7,0,0,0,929,2,1],
["p1",10,"op","chess_char_4_02_b",2,"uniequip_002_mostma",1695,1,13,0,36960,0,0,30,3],
["p2",11,"op","chess_char_4_11_b",1,"uniequip_002_cathy",2644,1,6,0,0,0,0,0,0],
["p2",12,"op","chess_char_4_04_b",1,"uniequip_002_ines",2149,1,51,0,113544,5807,112,174,5],
["p2",13,"op","chess_char_4_07_b",1,"uniequip_002_bpipe",0,0,47,0,7612,5859,855,7,3],
["p2",14,"op","chess_char_4_16_b",2,"uniequip_002_texas2",2671.35,1,31,0,108979,0,0,249,2],
["p2",15,"op","chess_char_4_09_b",1,"uniequip_002_mizuki",1135.93,1,18,5,202412,2387,745,84,5],
["p2",16,"op","chess_char_4_06_b",1,"uniequip_002_kroos2",1561,1,12,2,158149,0,0,271,4],
["p2",17,"op","chess_char_4_10_b",1,"uniequip_002_aroma",0,0,20,1,9410,2337,673,8,2],
["p2",18,"op","chess_char_4_12_b",2,"uniequip_002_glady",1142.27,1,22,0,50507,7380,6290,122,5],
["p2",19,"op","chess_char_4_13_b",1,"uniequip_002_gnosis",1989,1,4,0,29201,0,0,31,10],
["p2",20,"op","chess_char_4_14_b",1,"uniequip_002_lionhd",1626,1,8,2,55371,0,0,22,6],
["p2",12,"op","chess_char_4_04_b",1,"uniequip_002_ines",2149,1,54,0,113346,5807,112,174,5],
["p2",13,"op","chess_char_4_07_b",1,"uniequip_002_bpipe",0,0,49,0,4,5859,855,2,2],
["p2",14,"op","chess_char_4_16_b",2,"uniequip_002_texas2",1619,1,50,0,42778,7059,344,190,5],
["p2",15,"op","chess_char_4_09_b",1,"uniequip_002_mizuki",1268.93,1,18,5,204995,2254,745,84,5],
["p2",16,"op","chess_char_4_06_b",1,"uniequip_002_kroos2",1561,1,12,3,160077,0,0,271,4],
["p2",17,"op","chess_char_4_10_b",1,"uniequip_002_aroma",1449.33,1,20,0,9408,888,673,8,2],
["p2",18,"op","chess_char_4_12_b",2,"uniequip_002_glady",1532.27,1,22,0,50178,6810,6090,122,4],
["p2",19,"op","chess_char_4_13_b",1,"uniequip_002_gnosis",1989,1,4,1,30075,0,0,34,11],
["p2",20,"op","chess_char_4_14_b",1,"uniequip_002_lionhd",1626,1,8,1,59410,0,0,24,6],
["p2",21,"token","token_10041_cathy_catsld",null,null,100,1,23,0,0,0,0,0,null],
["p2",22,"token","token_10041_cathy_catsld",null,null,100,1,24,0,0,0,0,0,null],
["-","~1","device","trap_1105_accrate",null,null,100,1,1,0,0,0,0,0,null],
["-","~2","device","trap_1105_accrate",null,null,100,1,2,0,0,0,0,0,null]
],
"enemies": {
"enemy_1402_tgshd_2": [2,2,0,5169,173864],
"enemy_9010_acpupp": [2,2,0,3869,160520],
"enemy_9021_acduml_2": [1,0,0,343,779428],
"enemy_9022_acdumm": [1,0,0,453,0],
"enemy_9023_acdums": [12,12,0,18180,120]
"enemy_1402_tgshd_2": [2,2,0,6652,173864],
"enemy_9010_acpupp": [2,2,0,1619,160520],
"enemy_9021_acduml_2": [1,0,0,0,694045],
"enemy_9022_acdumm": [1,0,0,877,0],
"enemy_9023_acdums": [12,12,0,19360,120]
},
"hooks": [1,49,6000,1174,1314,2552,2708,5457,23,25,64,60,0,30019,1462,5,18,0,1,25,0,6,0],
"events": {"atk":1269,"deploy":29,"die":25,"dmg":2697,"engage":14,"fx":970,"heal":49,"skill":124,"spawn":42,"status":564},
"hooks": [1,52,6000,1110,1260,2516,2697,5451,25,27,65,62,0,30164,1499,5,18,0,1,27,0,7,1],
"events": {"atk":1215,"deploy":32,"die":27,"dmg":2691,"engage":14,"fx":1023,"heal":31,"skill":127,"spawn":42,"status":602},
"fx": {
"beam": 13,
"blink": 2,
"burst": 6,
"charge": 3,
"crit": 126,
"burst": 7,
"charge": 2,
"crit": 135,
"dilemma": 5,
"dodge": 1,
"ember": 2,
"explode": 191,
"explode": 195,
"explosion": 6,
"expose": 182,
"frostNova": 10,
"expose": 200,
"frostNova": 11,
"garrisonGrant": 1,
"iceSpike": 182,
"iceSpike": 190,
"levitate": 5,
"phase": 33,
"pull": 4,
@@ -1245,19 +1286,18 @@
"shield": 1,
"shieldBreak": 1,
"slippery": 2,
"sp": 1,
"splash": 2,
"stealth": 5,
"summon": 8,
"swordRain": 7,
"swordStorm": 2,
"swordRain": 37,
"swordStorm": 5,
"telegraph": 2,
"tornado": 5,
"tornado": 4,
"tornadoPulse": 20,
"weightless": 6,
"zone": 95
"zone": 76
},
"snaps": "2d13cea7 e9e5501a 1907eb82 5ba81caf 5ee8b538 524f35a5 1425a1ad a9b7b4be 5b58af92 8c83af8a 2d164054 4c1fa05e ab022cf5 36aac114 a5eadb46 3f794fc7 1c295490 94ffeeec 47451168 f6114af3"
"snaps": "b2c8103f 91059bdb 14558c87 9a8c7aca 84358f47 3307ce1d c68d6ed2 f8846121 9987dee1 d785c1eb 47303c18 d7e164d1 f3923884 43b344b2 01ede284 10404dbc a9d562ec 8a8c176e 62612be1 a62fd897"
},
"hidden-boss_10-solo": {
"about": "假想敌:管 solo pool 1900000: 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",