diff --git a/server/sim/content/bonds/addon/battle.js b/server/sim/content/bonds/addon/battle.js index c82f91d6..0409d520 100644 --- a/server/sim/content/bonds/addon/battle.js +++ b/server/sim/content/bonds/addon/battle.js @@ -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; diff --git a/test/content/feedback5-we2-raid-148.test.js b/test/content/feedback5-we2-raid-148.test.js index 2ddb03f7..e2945483 100644 --- a/test/content/feedback5-we2-raid-148.test.js +++ b/test/content/feedback5-we2-raid-148.test.js @@ -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'); }); diff --git a/test/golden/fields.json b/test/golden/fields.json index 124be0c7..7c34b4a4 100644 --- a/test/golden/fields.json +++ b/test/golden/fields.json @@ -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",