feedback6: merge R21H — 器物 (频次) enemies take the 攻坚 HP share and not 补给线's (the data's exclusion list names exactly the 14 器物), leader summons take the round's enemy scaling (PR #272 by @CXUtk, re-implemented from the data); tools/golden.mjs keeps R21H's roundMods import and drops uniteStageId (removed by R21B); golden regenerated on the merge — vs the parent exactly R21H's 74 scenarios, vs the branch only the other streams' moves

This commit is contained in:
sganggs committed 2026-10-07 18:21:01 +08:00
commit a9fe794c3f
20 files changed
+1493 -1326

No files matched your search

+1 -1
View File
@@ -1 +1 @@
{"season":"act2autochess","seasonName":"卫戍协议:盟约","modes":{"mode_training_1":{"modeId":"mode_training_1","name":"入门协议","code":"AC-TR-1","sortId":1,"type":"LOCAL","difficulty":"TRAINING","inScope":false,"color":"#4ed8af","iconId":"mode_training_icon","backgroundId":"background_training","desc":"用以熟悉协议内容的模式","effectDescList":["·仅可使用预置的调配干员","·无奖励","·无法用于解锁策略"],"unlockText":null,"specialPhaseTime":150,"activeBondIds":["yanShip","sargonShip","victoriaShip","kjeragShip","lateranoShip","egirShip","siracusaShip","kazimierzShip","preciShip","swiftShip","skillfulShip","arcaneShip","steadShip","deputShip","visiShip","miraShip","investShip","raidShip","indomShip","maniShip","emptyShip","soloShip","suntShip"],"inactiveBondIds":[],"inactiveEnemyKeys":[],"lastRound":4,"bossRound":4,"hiddenRound":null,"rounds":{"1":{"template":"act1autochess_tr01","bossTemplates":null,"combatTimeLimit":40,"levelMaxPlayTime":40,"prepTime":999,"prepTimeData":999,"isSpPrepare":false,"isBoss":false,"isHidden":false,"bossOvertimeAfter":null},"2":{"template":"act1autochess_tr02","bossTemplates":null,"combatTimeLimit":45,"levelMaxPlayTime":45,"prepTime":999,"prepTimeData":999,"isSpPrepare":false,"isBoss":false,"isHidden":false,"bossOvertimeAfter":null},"3":{"template":"act1autochess_tr02","bossTemplates":null,"combatTimeLimit":45,"levelMaxPlayTime":45,"prepTime":999,"prepTimeData":999,"isSpPrepare":true,"isBoss":false,"isHidden":false,"bossOvertimeAfter":null},"4":{"template":null,"bossTemplates":{"boss_7":"act1autochess_tr04"},"combatTimeLimit":null,"levelMaxPlayTime":180,"prepTime":999,"prepTimeData":999,"isSpPrepare":false,"isBoss":true,"isHidden":false,"bossOvertimeAfter":150}},"spRounds":[3],"combatTimeLimit":{"1":40,"2":45,"3":45,"4":null},"enemyScale":{"1":{"atk":1,"hp":1,"speed":1,"assumed":true},"2":{"atk":1,"hp":1,"speed":1,"assumed":true},"3":{"atk":1,"hp":1,"speed":1,"assumed":true},"4":{"atk":1,"hp":1,"speed":1,"assumed":true}},"bossHpScale":{"bloodPointKey":null,"unaffectedByEnemyScale":true},"upgradePrices":[4,4,6,9,12],"maxShopLevel":6,"shopSlots":{"1":{"chess":3,"item":0},"2":{"chess":3,"item":0},"3":{"chess":3,"item":0},"4":{"chess":3,"item":0},"5":{"chess":3,"item":1},"6":{"chess":3,"item":1}},"levelTagColors":{"1":"#434343","2":"#626654","3":"#445760","4":"#615B74","5":"#6C5E41","6":"#5d341e"},"stages":["act1autochess_m01"],"bossWeights":{"boss_7":5},"hiddenBossWeights":{}},"mode_single_funny":{"modeId":"mode_single_funny","name":"标准模拟","code":"AC-1","sortId":2,"type":"SINGLE","difficulty":"FUNNY","inScope":true,"color":"#f6a329","iconId":"mode_funny_icon","backgroundId":"background_funny","desc":"时长较短的模拟训练","effectDescList":["·可以快速完成作战","·常规奖励"],"unlockText":"通关【入门协议】后解锁","specialPhaseTime":150,"activeBondIds":["yanShip","sargonShip","victoriaShip","kjeragShip","siracusaShip","preciShip","swiftShip","steadShip","deputShip","visiShip","indomShip","maniShip","emptyShip"],"inactiveBondIds":["lateranoShip","egirShip","kazimierzShip","skillfulShip","arcaneShip","miraShip","investShip","raidShip","soloShip","suntShip"],"inactiveEnemyKeys":["enemy_1112_emppnt","enemy_1207_sfji","enemy_1275_dwlock_2","enemy_1234_dsubrl_2","enemy_10122_uacann_2","enemy_1272_nhtank_2","enemy_9008_acbunn","enemy_1174_duholy_2","enemy_1355_mrfly_2","enemy_1197_sfshu_2","enemy_10067_ftsjc","enemy_1270_nhstlk_2","enemy_1283_sgkill","enemy_1175_dushdo_2","enemy_1254_lypa_2","enemy_1425_lrcmra_2","enemy_1329_cbshld_2","enemy_1072_dlancer"],"lastRound":9,"bossRound":9,"hiddenRound":null,"rounds":{"1":{"template":"act1autochess_01","bossTemplates":null,"combatTimeLimit":45,"levelMaxPlayTime":45,"prepTime":null,"prepTimeData":300,"isSpPrepare":false,"isBoss":false,"isHidden":false,"bossOvertimeAfter":null},"2":{"template":"act1autochess_02","bossTemplates":null,"combatTimeLimit":45,"levelMaxPlayTime":45,"prepTime":null,"prepTimeData":300,"isSpPrepare":false,"isBoss":false,"isHidden":false,"bossOvertimeAfter":null},"3":{"template":"act1autochess_03","bossTemplates":null,"combatTimeLimit":55,"levelMaxPlayTime":55,"prepTime":null,"prepTimeData":300,"isSpPrepare":false,"isBoss":false,"isHidden":false,"bossOvertimeAfter":null},"4":{"template":"act1autochess_04","bossTemplates":null,"combatTimeLimit":55,"levelMaxPlayTime":55,"prepTime":null,"prepTimeData":300,"isSpPrepare":false,"isBoss":false,"isHidden":false,"bossOvertimeAfter":null},"5":{"template":"act1autochess_05","bossTemplates":null,"combatTimeLimit":55,"levelMaxPlayTime":55,"prepTime":null,"prepTimeData":300,"isSpPrepare":false,"isBoss":false,"isHidden":false,"bossOvertimeAfter":null},"6":{"template":"act1autochess_06","bossTemplates":null,"combatTimeLimit":70,"levelMaxPlayTime":70,"prepTime":null,"prepTimeData":300,"isSpPrepare":false,"isBoss":false,"isHidden":false,"bossOvertimeAfter":null},"7":{"template":"act1autochess_07","bossTemplates":nuLine truncated
{"season":"act2autochess","seasonName":"卫戍协议:盟约","modes":{"mode_training_1":{"modeId":"mode_training_1","name":"入门协议","code":"AC-TR-1","sortId":1,"type":"LOCAL","difficulty":"TRAINING","inScope":false,"color":"#4ed8af","iconId":"mode_training_icon","backgroundId":"background_training","desc":"用以熟悉协议内容的模式","effectDescList":["·仅可使用预置的调配干员","·无奖励","·无法用于解锁策略"],"unlockText":null,"specialPhaseTime":150,"activeBondIds":["yanShip","sargonShip","victoriaShip","kjeragShip","lateranoShip","egirShip","siracusaShip","kazimierzShip","preciShip","swiftShip","skillfulShip","arcaneShip","steadShip","deputShip","visiShip","miraShip","investShip","raidShip","indomShip","maniShip","emptyShip","soloShip","suntShip"],"inactiveBondIds":[],"inactiveEnemyKeys":[],"lastRound":4,"bossRound":4,"hiddenRound":null,"rounds":{"1":{"template":"act1autochess_tr01","bossTemplates":null,"combatTimeLimit":40,"levelMaxPlayTime":40,"prepTime":999,"prepTimeData":999,"isSpPrepare":false,"isBoss":false,"isHidden":false,"bossOvertimeAfter":null},"2":{"template":"act1autochess_tr02","bossTemplates":null,"combatTimeLimit":45,"levelMaxPlayTime":45,"prepTime":999,"prepTimeData":999,"isSpPrepare":false,"isBoss":false,"isHidden":false,"bossOvertimeAfter":null},"3":{"template":"act1autochess_tr02","bossTemplates":null,"combatTimeLimit":45,"levelMaxPlayTime":45,"prepTime":999,"prepTimeData":999,"isSpPrepare":true,"isBoss":false,"isHidden":false,"bossOvertimeAfter":null},"4":{"template":null,"bossTemplates":{"boss_7":"act1autochess_tr04"},"combatTimeLimit":null,"levelMaxPlayTime":180,"prepTime":999,"prepTimeData":999,"isSpPrepare":false,"isBoss":true,"isHidden":false,"bossOvertimeAfter":150}},"spRounds":[3],"combatTimeLimit":{"1":40,"2":45,"3":45,"4":null},"enemyScale":{"1":{"atk":1,"hp":1,"speed":1,"assumed":true},"2":{"atk":1,"hp":1,"speed":1,"assumed":true},"3":{"atk":1,"hp":1,"speed":1,"assumed":true},"4":{"atk":1,"hp":1,"speed":1,"assumed":true}},"bossHpScale":{"bloodPointKey":null,"unaffectedByEnemyScale":true},"upgradePrices":[4,4,6,9,12],"maxShopLevel":6,"shopSlots":{"1":{"chess":3,"item":0},"2":{"chess":3,"item":0},"3":{"chess":3,"item":0},"4":{"chess":3,"item":0},"5":{"chess":3,"item":1},"6":{"chess":3,"item":1}},"levelTagColors":{"1":"#434343","2":"#626654","3":"#445760","4":"#615B74","5":"#6C5E41","6":"#5d341e"},"stages":["act1autochess_m01"],"bossWeights":{"boss_7":5},"hiddenBossWeights":{}},"mode_single_funny":{"modeId":"mode_single_funny","name":"标准模拟","code":"AC-1","sortId":2,"type":"SINGLE","difficulty":"FUNNY","inScope":true,"color":"#f6a329","iconId":"mode_funny_icon","backgroundId":"background_funny","desc":"时长较短的模拟训练","effectDescList":["·可以快速完成作战","·常规奖励"],"unlockText":"通关【入门协议】后解锁","specialPhaseTime":150,"activeBondIds":["yanShip","sargonShip","victoriaShip","kjeragShip","siracusaShip","preciShip","swiftShip","steadShip","deputShip","visiShip","indomShip","maniShip","emptyShip"],"inactiveBondIds":["lateranoShip","egirShip","kazimierzShip","skillfulShip","arcaneShip","miraShip","investShip","raidShip","soloShip","suntShip"],"inactiveEnemyKeys":["enemy_1112_emppnt","enemy_1207_sfji","enemy_1275_dwlock_2","enemy_1234_dsubrl_2","enemy_10122_uacann_2","enemy_1272_nhtank_2","enemy_9008_acbunn","enemy_1174_duholy_2","enemy_1355_mrfly_2","enemy_1197_sfshu_2","enemy_10067_ftsjc","enemy_1270_nhstlk_2","enemy_1283_sgkill","enemy_1175_dushdo_2","enemy_1254_lypa_2","enemy_1425_lrcmra_2","enemy_1329_cbshld_2","enemy_1072_dlancer"],"lastRound":9,"bossRound":9,"hiddenRound":null,"rounds":{"1":{"template":"act1autochess_01","bossTemplates":null,"combatTimeLimit":45,"levelMaxPlayTime":45,"prepTime":null,"prepTimeData":300,"isSpPrepare":false,"isBoss":false,"isHidden":false,"bossOvertimeAfter":null},"2":{"template":"act1autochess_02","bossTemplates":null,"combatTimeLimit":45,"levelMaxPlayTime":45,"prepTime":null,"prepTimeData":300,"isSpPrepare":false,"isBoss":false,"isHidden":false,"bossOvertimeAfter":null},"3":{"template":"act1autochess_03","bossTemplates":null,"combatTimeLimit":55,"levelMaxPlayTime":55,"prepTime":null,"prepTimeData":300,"isSpPrepare":false,"isBoss":false,"isHidden":false,"bossOvertimeAfter":null},"4":{"template":"act1autochess_04","bossTemplates":null,"combatTimeLimit":55,"levelMaxPlayTime":55,"prepTime":null,"prepTimeData":300,"isSpPrepare":false,"isBoss":false,"isHidden":false,"bossOvertimeAfter":null},"5":{"template":"act1autochess_05","bossTemplates":null,"combatTimeLimit":55,"levelMaxPlayTime":55,"prepTime":null,"prepTimeData":300,"isSpPrepare":false,"isBoss":false,"isHidden":false,"bossOvertimeAfter":null},"6":{"template":"act1autochess_06","bossTemplates":null,"combatTimeLimit":70,"levelMaxPlayTime":70,"prepTime":null,"prepTimeData":300,"isSpPrepare":false,"isBoss":false,"isHidden":false,"bossOvertimeAfter":null},"7":{"template":"act1autochess_07","bossTemplates":nuLine truncated
+1
View File
@@ -129,6 +129,7 @@ the preview being read by a human in 90 s, and losing LP early (fewer rounds to
| Bounty spawn timing | was: the bounty units appended after the host action's own units | **official: inserted among them at floor((i+1)·len/(n+1)), then the list spread over the window** (client `_InsertSpActionToNormal` + `_CalculateActionPredelay`, decoded; `waves.js withBounties`) |
| 联防 spawn timing | was: owner k at +min(0.5·k, 5) s, each owner's units over the whole window [ASSUMED] | **official (decoded `_CalculateActionPredelayConsiderUid`): owner k at +0.5·k s, unit step min(max(W/M, 0.05·W), 5 s), M = largest owner group** — a lone leaker's units now come 5 s apart instead of up to 40 s |
| Leader / leader-part multipliers | was: leaders and their parts never scaled | **official: the round multipliers are the ENEMY effects 攻坚装备 / II / III / 补给线 / 急行军 (`enemy_attribute_mul`; `enemy_exclude` = 炎佑 — plus the TIMES tokens for 补给线 — never a leader) ⇒ parts take HP/ATK/speed, the leader ATK/speed; only the leader's HP (the server pool) is exempt** ("领袖单位于服务器的生命值加成不受上述加成影响"). Co-op 终极 R14: leader ATK ×2.14; solo 标准: ×0.7 |
| 频次 器物 and leader summons (0.2.1, PR #272 by @CXUtk) | was: a 器物's hit count was the data's whatever the difficulty (the spawn's HP multiplier was overwritten); a leader's mid-fight summons (死亡集群's 妖怪, 刺胄之弹, 余音, 不祥幻影) took no round effect | **official data: 攻坚装备 / II / III leave out only 炎佑, 补给线 / 补给线II also the 14 器物 keys** (activity_table aceffect_enemy_2 / 2_2 `enemy_exclude`) ⇒ a 器物 needs data × hp / supplyHp hits (config `supplyHp`: co-op 终极 R5–R15, the HP-only 1.2 steps and the 1.08), rounded [ASSUMED]; the summons take the round's HP (a hit count too) / ATK / speed through the boss field's `flags.enemyScale`, 死亡集群's `summon.hp_ratio` on top. Solo 标准 青铜镜 30 → 23 hits, co-op 终极 R14 30 → 129; 炎佑 is an ally here, never scaled. The 逐火 / 再生 husk counts (talent `Revive[Trigger].prop_max_hp`) stay as they were [open] |
| Ground routes | was: 8-dir A*, m02 crates active | **official 4-dir SPFA + smoothing, crates cost 1000, m02 without crates** (research 08 §3) |
| Income / upgrade curve | R1–R3 VERIFIED, +1/round cap 12 ASSUMED | kept (the model's level curve follows it) |
| Operator stats per tier | chess status T1 E1 L55 … T6 E2 L1, elites E2 + skill 7 (03) — DATA | faithful: power comes from layers, elites and skills, which is why the model carries them |
+1 -1
View File
@@ -70,7 +70,7 @@ Top level: `{ season, seasonName, modes, economy, lpCapPerRound, bossOvertimeAft
| `rounds[r]` | see below | per-round schedule |
| `spRounds` | `[3,9,11]` | rounds whose prep opens with a 机变 draft |
| `combatTimeLimit[r]` | `{"1":45,…,"14":null}` | = `rounds[r].combatTimeLimit`: **real** seconds of the forced-2× battle (DESIGN §4) |
| `enemyScale[r]` | `{"atk":1.1,"hp":1.2,"speed":1,"kAtk":1,"kHp":1}` | non-boss enemy multipliers (research 01 A3): `atk = atkBase·1.1^kAtk`, `hp = hpBase·1.2^kHp·extra`, `speed` 1.15 on ABYSS from R3. Apply to level-0 stats after special-enemy replacement, also to bounty/special enemies. **Leader HP pools excluded.** |
| `enemyScale[r]` | `{"atk":1.1,"hp":1.2,"speed":1,"kAtk":1,"kHp":1}` | non-boss enemy multipliers (research 01 A3): `atk = atkBase·1.1^kAtk`, `hp = hpBase·1.2^kHp·extra`, `speed` 1.15 on ABYSS from R3; `supplyHp` (only when ≠ 1, co-op 终极 R5–R15) = the share of `hp` from 补给线 / 补给线II (1.2^(kHp − kAtk) · extra), which the 14 器物 hit-count keys do not take (their `enemy_exclude`). Apply to level-0 stats after special-enemy replacement, also to bounty/special enemies and to the leaders' mid-fight summons. **Leader HP pools excluded.** |
| `bossHpScale` | `{"bloodPointKey":"bloodPointAbyss","unaffectedByEnemyScale":true}` | which `bloodPoint` column the mode reads; the pool rule's keys live in the global `bossHpScale` below — one set here would override it for this mode (`gamedata.js bossPoolShareOf`) |
| `upgradePrices` | `[5,8,11,12,13]` | base price L1→2 … L5→6 (−1 per round start, floor 0, reset after upgrade) |
| `maxShopLevel` | `6` | |
+7 -1
View File
@@ -397,14 +397,20 @@ export class GameData {
return typeof v === 'number' && Number.isFinite(v) && v > 0 ? v : null;
}
/** Official enemy multipliers of round r (config enemyScale: the PRTS table + 终极 speed ×1.15 from R3). */
/**
* Official enemy multipliers of round r (config enemyScale: the PRTS table + 终极 speed ×1.15 from R3). `supplyHpMul`
* (only when ≠ 1: co-op 终极 R5–R15) = the share of hpMul from 补给线 / 补给线II (config `supplyHp`), effects whose
* `enemy_exclude` leaves out the 14 器物 hit-count keys — they take hpMul / supplyHpMul (archetypes.js `times`).
*/
baseEnemyScale(r) {
const e = this.mode.enemyScale && this.mode.enemyScale[String(r)];
if (!e || typeof e !== 'object') return { hpMul: 1, atkMul: 1, speedMul: 1 };
const supply = numOr(e.supplyHp, 1);
return {
hpMul: Math.max(0.01, numOr(e.hp, 1)),
atkMul: Math.max(0, numOr(e.atk, 1)),
speedMul: Math.max(0.01, numOr(e.speed, 1)),
...(supply > 0 && supply !== 1 ? { supplyHpMul: supply } : {}),
};
}
+2 -1
View File
@@ -99,7 +99,8 @@ export class MatchBoss {
spawns: this._sanitizeSpawns(spawns),
routes: wave.routes,
sharedBoss: this.bossPool,
flags: { layerGainsEnabled: false, ...this.gd.dp },
// the round's enemy effects for the leaders' mid-fight summons (server/sim/content/bosses.js summonMods)
flags: { layerGainsEnabled: false, ...this.gd.dp, enemyScale: this.gd.enemyScale(this.round) },
fieldId,
enemyOverrides: wave.overrides,
waveId: wave.templateId,
+11 -3
View File
@@ -234,6 +234,13 @@ export function scaleFor(gd, r) {
return gd.enemyScale(r);
}
/** The spawn mods of a round's scale for a non-leader enemy: HP / ATK / speed, plus `supplyHpMul` when the round has one. */
export function roundMods(scale) {
const m = { hpMul: scale.hpMul, atkMul: scale.atkMul, speedMul: scale.speedMul };
if (scale.supplyHpMul != null) m.supplyHpMul = scale.supplyHpMul;
return m;
}
/** Slot class of an enemy that has no placeholder slot (literal template keys, bounty adds). */
export function classOf(gd, enemyKey) {
const e = gd.enemy(enemyKey);
@@ -327,8 +334,9 @@ function templateSpawns(gd, tpl, round, pick) {
interval: count > 1 ? step : 0,
// the round multipliers are ENEMY effects on every enemy but 炎佑 (aceffect_enemy_1–5 `enemy_attribute_mul`,
// enemy_exclude = enemy_9012_acloon): leader parts take them all; the leader takes ATK / speed but not HP — its HP
// is the server pool, "领袖单位于服务器的生命值加成不受上述加成影响" (PRTS 下半)
mods: isBoss ? { atkMul: scale.atkMul, speedMul: scale.speedMul, slot } : { hpMul: scale.hpMul, atkMul: scale.atkMul, speedMul: scale.speedMul, slot },
// is the server pool, "领袖单位于服务器的生命值加成不受上述加成影响" (PRTS 下半). `supplyHpMul` (roundMods) rides along for
// the 器物 hit-count units, which 补给线 / 补给线II leave out (archetypes.js `times`; also a 频次 enemy's death spawn)
mods: isBoss ? { atkMul: scale.atkMul, speedMul: scale.speedMul, slot } : { ...roundMods(scale), slot },
actionIndex: i,
preview: previewInfo(gd, key, routes[routeIndex], isBoss, leader),
};
@@ -528,7 +536,7 @@ function bountyPlan(gd, round, wave, bounties, playerId, side) {
routeIndex,
count: run.len,
interval: run.len > 1 ? step : 0,
mods: { hpMul: scale.hpMul, atkMul: scale.atkMul, speedMul: scale.speedMul, slot: classOf(gd, c.enemyKey), bountyId: b.id },
mods: { ...roundMods(scale), slot: classOf(gd, c.enemyKey), bountyId: b.id },
tag: 'bounty',
ownerPlayerId: playerId,
preview: previewInfo(gd, c.enemyKey, routes[routeIndex], false, leader),
+24 -7
View File
@@ -240,6 +240,23 @@ function branchSpawn(b, tpl, name, phaseIdx, { fallback = null, mods = null, at
return out;
}
/**
* Spawn mods of a leader's mid-fight summon (死亡集群's 妖怪, 刺胄之弹, “裂管之音”/“断弦之音”, 不祥幻影): the round's enemy
* effects (攻坚装备 / II / III, 补给线 / II, 急行军 — `enemy_attribute_mul` / `enemy_move_speed_mul` on 所有敌人, `enemy_exclude`
* only 炎佑 and, for 补给线, the 器物) reach a summon like any enemy; only the leader's own HP, the server pool, is exempt
* ("领袖单位于服务器的生命值加成不受上述加成影响", PRTS 下半). They come as the battle's `flags.enemyScale` (gd.enemyScale of the
* boss round, set by the match — a BattleSpec flag, so browsers run the same); `hpRatio` = the skill's own summon HP ratio
* (死亡集群 `summon.hp_ratio`), multiplied in. No flags (tests, tools): the ratio alone. Until 0.2.1 the summons took no
* round effect at all (PR #272). 王权号令's equipment is left out: invulnerable, untargetable, it never fights.
*/
function summonMods(b, hpRatio = null) {
const s = b.flags && b.flags.enemyScale;
if (!s || typeof s !== 'object') return hpRatio ? { hpMul: hpRatio } : null;
const m = { hpMul: (Number.isFinite(s.hpMul) && s.hpMul > 0 ? s.hpMul : 1) * (hpRatio || 1), atkMul: s.atkMul, speedMul: s.speedMul };
if (s.supplyHpMul != null) m.supplyHpMul = s.supplyHpMul;
return m;
}
// ---------------------------------------------------------------------------------------------------------------
// install
@@ -398,8 +415,8 @@ function kitHelm(ab, e, b, tpl) {
const hpMul = s2.bb['summon.hp_ratio'] > 0 ? s2.bb['summon.hp_ratio'] : null;
const key = s2.bs.enemy_key ?? 'enemy_1005_yokai';
const drones = branchSpawn(b2, tpl, s2.bs.branch_id ?? 'boss_summon_enemy', 0, {
mods: hpMul ? { hpMul } : null, at: { x: e2.x, y: e2.y },
fallback: () => [b2.spawnEnemy(key, { pos: [e2.y, e2.x], route: toGoal(b2, e2.x, e2.y, 'FLY'), mods: hpMul ? { hpMul } : null })].filter(Boolean),
mods: summonMods(b2, hpMul), at: { x: e2.x, y: e2.y },
fallback: () => [b2.spawnEnemy(key, { pos: [e2.y, e2.x], route: toGoal(b2, e2.x, e2.y, 'FLY'), mods: summonMods(b2, hpMul) })].filter(Boolean),
});
b2.fx('summon', { x: e2.x, y: e2.y, id: e2.id, key, n: drones.length });
const ratio = s2.bb.hp_ratio ?? 0;
@@ -429,7 +446,7 @@ export function droneLinkBase(boss, base = DRONE_LINK_BASE) {
/** Launch a 刺胄之弹 from `boss` at `target`'s tile. */
function fireShell(b, boss, target) {
const tr = target.tileR, tc = target.tileC;
const sh = b.spawnEnemy(SHELL_KEY, { pos: [boss.y, boss.x], route: { motion: 'FLY', start: [boss.y, boss.x], end: [tr, tc], steps: [{ t: 'wait', s: 99999 }] }, tag: 'part', countInTotal: false, ownerPlayerId: boss.ownerId });
const sh = b.spawnEnemy(SHELL_KEY, { pos: [boss.y, boss.x], route: { motion: 'FLY', start: [boss.y, boss.x], end: [tr, tc], steps: [{ t: 'wait', s: 99999 }] }, tag: 'part', countInTotal: false, ownerPlayerId: boss.ownerId, mods: summonMods(b) });
if (!sh) return null;
sh.mem.ab.shell = { tr, tc, boss };
b.fx('shell', { x: boss.x, y: boss.y, id: sh.id, tx: tc, ty: tr, r: 1.5, kind: 'helmShell' });
@@ -440,7 +457,7 @@ function kitShell(ab, e) {
const stun = T(ab, 'killed.duration') ?? 0, dot = T(ab, 'killed.value') ?? 0;
return [{
spawn(b, e2) {
setHits(e2, e2.def.maxHp); hitCount(b, e2, true); // 需要数次攻击击倒
setHits(e2, e2.base.maxHp); hitCount(b, e2, true); // 需要数次攻击击倒 (× the round's HP: summonMods)
b.addBuff(e2, { key: 'boss:shellGuard', persist: true, flags: { noDisplace: true } }); // 失衡免疫 (PRTS 天赋; also 静态刚体)
},
tick(b, e2, a, dt) {
@@ -762,7 +779,7 @@ function kitEcho(ab, e) {
const s = ab.sk.Skill;
return [
{
spawn(b, e2) { setHits(e2, e2.def.maxHp); hitCount(b, e2, true); e2.blockWeight = ECHO_BLOCK_WEIGHT; setEchoForm(b, e2, 'dark'); },
spawn(b, e2) { setHits(e2, e2.base.maxHp); hitCount(b, e2, true); e2.blockWeight = ECHO_BLOCK_WEIGHT; setEchoForm(b, e2, 'dark'); }, // hits × the round's HP (summonMods)
taken(c, b, e2) { const s = c.source || c.credit; if (s && s.side === 'ally') echoHit(b, e2); }, // 受到伤害时以自身为中心造成一次范围伤害 (a 无来源 burst too)
},
s && {
@@ -784,7 +801,7 @@ function pipeCore(ab, e, b, tpl, { form, prefix }) {
const key = ab.tS['1.enemy_key'] ?? ECHO_KEY;
const P = { acc: 0, atk: Infinity }; // first strike as soon as an echo of its form exists (engine attack rule)
const summon = (b2, e2) => {
const got = branchSpawn(b2, tpl, 'summon_enemy', 0, { at: { x: e2.x, y: e2.y }, fallback: () => [b2.spawnEnemy(key, { pos: [e2.y, e2.x], route: toGoal(b2, e2.x, e2.y) })].filter(Boolean) });
const got = branchSpawn(b2, tpl, 'summon_enemy', 0, { mods: summonMods(b2), at: { x: e2.x, y: e2.y }, fallback: () => [b2.spawnEnemy(key, { pos: [e2.y, e2.x], route: toGoal(b2, e2.x, e2.y), mods: summonMods(b2) })].filter(Boolean) });
for (const u of got) if (u.defId === ECHO_KEY && form === 'gold') setEchoForm(b2, u, 'gold');
b2.fx('summon', { x: e2.x, y: e2.y, id: e2.id, key, n: got.length });
};
@@ -962,7 +979,7 @@ function kitLucien(ab, e) {
const route = remainingRoute(e2);
const from = blinkForward(b, e2, s.bb.dist ?? 1.5);
if (!from) return;
const ph = b.spawnEnemy(PHANTOM_KEY, { pos: [from.y, from.x], route, ownerPlayerId: e2.ownerId, sourcePlayerId: e2.sourcePlayerId });
const ph = b.spawnEnemy(PHANTOM_KEY, { pos: [from.y, from.x], route, ownerPlayerId: e2.ownerId, sourcePlayerId: e2.sourcePlayerId, mods: summonMods(b) });
if (ph) b.fx('summon', { x: from.x, y: from.y, id: e2.id, key: PHANTOM_KEY, n: 1 });
},
}];
+15 -2
View File
@@ -34,8 +34,21 @@ const unblockable = () => ({ spawn(b, e) { b.addBuff(e, { key: 'ab:unblockable',
*/
const runWhenHit = (v) => ({ taken(c, b, e, a) { if (a.on || !(v > 0)) return; a.on = true; b.addBuff(e, { key: 'ab:duckRun', persist: true, mods: { moveMul: 1 + v } }); } });
/** 频次: maxHp = hits. */
const times = (artsOnly = false) => ({ spawn(b, e) { setHits(e, e.def.maxHp); hitCount(b, e, true, artsOnly); } });
/**
* 频次 (the 14 器物 keys, kitTimes): maxHp = hits = the data's max HP × the spawn's HP multiplier. The round effects reach
* these units like any enemy (攻坚装备 / II / III leave out only 炎佑), but not 补给线 / 补给线II, whose `enemy_exclude` lists
* exactly these 14 keys (activity_table aceffect_enemy_2 / 2_2, data/effects.json): that share (`mods.supplyHpMul`, co-op
* 终极 R5–R15) comes out again — a 频次 enemy's death spawn inherits the parent's mods, so it travels with them. Whole hits:
* setHits rounds [ASSUMED: no source says how a fractional count rounds]. Until 0.2.1 the count was the data's whatever
* the difficulty (PR #272).
*/
const times = (artsOnly = false) => ({
spawn(b, e) {
const s = Number(e.mods && e.mods.supplyHpMul);
setHits(e, e.base.maxHp / (Number.isFinite(s) && s > 0 ? s : 1));
hitCount(b, e, true, artsOnly);
},
});
/** "只能被阻挡数大于等于N的单位阻挡". */
const blockWeight = (n) => ({ spawn(b, e) { e.blockWeight = n; } });
+1 -1
View File
@@ -302,7 +302,7 @@ export function stepToward(u, tx, ty, dist) {
return false;
}
/** Set a 频次 unit's hits (maxHp := hits, full). */
/** Set a 频次 unit's hits (maxHp := hits, full): `n` rounded to a whole count, at least 1. */
export function setHits(e, n) {
const h = Math.max(1, Math.round(n));
e.base.maxHp = h;
+69 -3
View File
@@ -218,11 +218,11 @@ const TIMES_KEYS = ['enemy_1196_msfyin', 'enemy_1196_msfyin_2', 'enemy_1198_msfs
'enemy_1202_msfzhi', 'enemy_1202_msfzhi_2', 'enemy_1204_msfhu', 'enemy_1204_msfhu_2', 'enemy_1208_msfji', 'enemy_1208_msfji_2', 'enemy_1210_msfden', 'enemy_1210_msfden_2'];
for (const key of TIMES_KEYS) {
const artsOnly = /1204/.test(key);
test(`${nm(key)}: 频次 — needs exactly ${E[key].stats.maxHp} ${artsOnly ? 'arts/true ' : ''}hits, unblockable`, () => {
test(`${nm(key)}: 频次 — needs ${E[key].stats.maxHp} × the round's HP ${artsOnly ? 'arts/true ' : ''}hits, unblockable`, () => {
const h = arena({ units: [{ chessId: 't_gun', row: 12, col: 3 }], hooks: ['death'], mods: { hpMul: 3 } });
h.step();
const e = put(h, key, [10, 7], { mods: { hpMul: 3 } }); // wave HP scaling must not change the hit count
const n = E[key].stats.maxHp;
const e = put(h, key, [10, 7], { mods: { hpMul: 3 } }); // the round's HP multiplier (攻坚装备) scales the hit count (PR #272)
const n = E[key].stats.maxHp * 3;
assert.equal(e.s.maxHp, n);
assert.ok(e.s.flags.unblockable);
const g = h.unit('t_gun');
@@ -236,6 +236,33 @@ for (const key of TIMES_KEYS) {
});
}
// PR #272 (感谢 @CXUtk): 补给线 / 补给线II leave out exactly these 14 keys (+ 炎佑); 攻坚装备 / II / III and 急行军 only 炎佑
const EFFECTS = JSON.parse(fs.readFileSync(new URL('../../data/effects.json', import.meta.url), 'utf8'));
const excludeOf = (id) => new Set(String(EFFECTS[id].params.enemy_exclude).split('|'));
test('频次 器物 vs the round effects: the 14 kitTimes keys are exactly 补给线 / 补给线II\'s enemy_exclude (+ 炎佑); 攻坚装备 / II / III / 急行军 leave out only 炎佑', () => {
for (const id of ['aceffect_enemy_2', 'aceffect_enemy_2_2']) assert.deepEqual([...excludeOf(id)].sort(), ['enemy_9012_acloon', ...TIMES_KEYS].sort(), id);
for (const id of ['aceffect_enemy_1', 'aceffect_enemy_3', 'aceffect_enemy_4', 'aceffect_enemy_5']) assert.deepEqual([...excludeOf(id)], ['enemy_9012_acloon'], id);
});
test('频次 器物: hits = data × hpMul / supplyHpMul (补给线\'s share out, 攻坚装备 kept), rounded [ASSUMED]; a 频次 enemy\'s death spawn inherits that', () => {
const h = arena();
h.step();
// co-op 终极 R6: hp 1.2⁴ × 1.08 (补给线) — the mirror takes 1.2⁴ only: 30 × 2.0736 = 62.2 → 62
const mods = { hpMul: 2.239488, atkMul: 1.4641, speedMul: 0, supplyHpMul: 1.08 };
const jin = put(h, 'enemy_1200_msfjin', [10, 7], { mods });
assert.equal(jin.s.maxHp, 62);
const parent = put(h, 'enemy_1199_sfjin', [10, 9], { mods });
approx(parent.s.maxHp, E.enemy_1199_sfjin.stats.maxHp * 2.239488, 1e-9, '身观 itself takes 补给线');
h.b.kill(parent, null);
h.step();
const child = h.enemies().find((e) => e.defId === 'enemy_1200_msfjin' && e !== jin);
assert.ok(child, '身观 leaves its 青铜镜');
assert.equal(child.s.maxHp, 62);
// solo 标准 (攻坚装备III, HP ×0.75): fewer hits — 2 → 1.5 → 2, 3 → 2.25 → 2, 30 → 22.5 → 23
for (const [key, n] of [['enemy_1196_msfyin', 2], ['enemy_1196_msfyin_2', 2], ['enemy_1200_msfjin', 23]]) assert.equal(put(h, key, [11, 7], { mods: { hpMul: 0.75 } }).s.maxHp, n, key);
assert.equal(put(h, 'enemy_1196_msfyin', [11, 8]).s.maxHp, 2, 'no mods: the data\'s count');
});
for (const key of ['enemy_1200_msfjin', 'enemy_1204_msfhu', 'enemy_1288_duskls']) {
test(`${nm(key)}: 频次 hits keep their DamageInfo — a self-excluding bonus-on-damaged attacker never recurses, death hooks fire`, () => {
const h = arena({
@@ -2276,6 +2303,45 @@ test('template overrides of talents/skills are honoured (卢西恩 evade 0.2 in
const bossArena = (o = {}) => arena({ kind: 'boss', sharedBoss: pool(o.hp ?? 1e6), ...o });
const setTpl = (id) => (b) => { b.opts.templateId = id; };
// PR #272 (感谢 @CXUtk): a leader's mid-fight summons are enemies like any other — the round's effects reach them
test('leader summons take the round\'s enemy effects (flags.enemyScale): HP — hit counts too — ATK, speed; the leader keeps the pool', () => {
const enemyScale = { hpMul: 2, atkMul: 1.5, speedMul: 1.15, supplyHpMul: 1.08 };
const stats = (u, msg) => {
assert.ok(u, msg);
const d = E[u.defId].stats;
approx(u.base.atk, d.atk * 1.5, 1e-9, `${msg}: ATK`);
approx(u.base.moveSpeed, d.moveSpeed * 1.15, 1e-9, `${msg}: speed`);
};
for (const [key, tpl] of [['enemy_9013_acstmk', 'act1autochess_h07_01'], ['enemy_9013_acstmk_2', 'act1autochess_h08_01']]) {
const h = bossArena({ flags: { enemyScale }, units: [{ chessId: 't_wall', row: 10, col: 6 }], setup: setTpl(tpl) });
h.step();
const boss = put(h, key, [3, 10], { tag: 'boss', mods: { atkMul: 1.5, speedMul: 1.15 } });
boss.profile.noAttack = true;
assert.equal(boss.s.maxHp, h.b.sharedBoss.maxHp, `${key}: the leader's HP is the pool`);
assert.ok(h.runUntil(() => alive(h, 'enemy_1005_yokai').length > 0, 90), `${key}: 死亡集群`);
const drone = alive(h, 'enemy_1005_yokai')[0];
stats(drone, `${key} 妖怪`);
approx(drone.s.maxHp, E.enemy_1005_yokai.stats.maxHp * 2 * (skb(key, '2').bb['summon.hp_ratio'] ?? 1), 1e-9, `${key} 妖怪: HP × the round × its summon.hp_ratio`);
assert.ok(h.runUntil(() => alive(h, 'enemy_9016_acstmr').length > 0, 90), `${key}: 刺胄之弹`);
const shell = alive(h, 'enemy_9016_acstmr')[0];
stats(shell, `${key} 刺胄之弹`);
assert.equal(shell.s.maxHp, E.enemy_9016_acstmr.stats.maxHp * 2, `${key} 刺胄之弹: hits × the round's HP`);
}
const p = bossArena({ flags: { enemyScale }, setup: setTpl('act1autochess_h07_03') });
p.step();
put(p, 'enemy_9021_acduml', [3, 10], { tag: 'boss', mods: { atkMul: 1.5, speedMul: 1.15 } });
assert.ok(p.runUntil(() => alive(p, 'enemy_9023_acdums').length > 0, 90), '假想敌:管 summons');
const echo = alive(p, 'enemy_9023_acdums')[0];
stats(echo, '余音');
assert.equal(echo.s.maxHp, E.enemy_9023_acdums.stats.maxHp * 2, '余音: hits × the round\'s HP');
// without the flag (tools, tests): the data's numbers
const q = bossArena({ units: [{ chessId: 't_wall', row: 10, col: 6 }], setup: setTpl('act1autochess_h07_01') });
q.step();
put(q, 'enemy_9013_acstmk', [3, 10], { tag: 'boss' }).profile.noAttack = true;
assert.ok(q.runUntil(() => alive(q, 'enemy_9016_acstmr').length > 0, 90));
assert.equal(alive(q, 'enemy_9016_acstmr')[0].s.maxHp, E.enemy_9016_acstmr.stats.maxHp);
});
test('假想敌:胄: arts ray on a random target in range; <20 % pool: damage taken ×0.5, still one 刺胄之弹 (PRTS 能力修正)', () => {
const h = bossArena({ units: [{ chessId: 't_wall', row: 10, col: 6 }, { chessId: 't_wall2', row: 12, col: 4 }] });
h.step();
+22 -22
View File
@@ -1326,41 +1326,41 @@
"round": 10,
"seed": 3252010875,
"waveId": "act1autochess_h03",
"time": 89.2,
"ticks": 2676,
"time": 95,
"ticks": 2850,
"reason": "cleared",
"killed": 66,
"killed": 65,
"total": 66,
"unspawned": 0,
"bossHpLeft": null,
"rngDraws": 45,
"rngDraws": 48,
"errors": {"count":0,"kinds":[]},
"players": {"p1":{"killed":66,"total":66,"perfect":true,"leaks":0,"leaksUncounted":0,"coins":0,"dmg":155671,"bossDmg":0,"heal":2251,"deaths":3,"layerGains":{}}},
"players": {"p1":{"killed":65,"total":66,"perfect":false,"leaks":1,"leaksUncounted":0,"coins":0,"dmg":155888,"bossDmg":0,"heal":2001,"deaths":3,"layerGains":{}}},
"units": [
["p1",1,"op","chess_char_5_19_b",2,"uniequip_002_mlynar",3907,1,6,15,32191,0,0,23,2],
["p1",2,"op","chess_char_1_08_b",1,"uniequip_002_texas",0,0,7,4,5226,2974,49,18,3],
["p1",3,"op","chess_char_5_13_b",1,"uniequip_002_ghost2",3364.8,1,8,7,15573,6038,339,22,1],
["p1",4,"op","chess_char_5_14_b",1,"none",1994,1,78,6,20263,1994,0,14,6],
["p1",5,"op","chess_char_5_17_b",1,"uniequip_002_f12yin",2738,1,77,15,24518,3763,1025,28,1],
["p1",6,"op","chess_char_5_12_b",0,"uniequip_002_dusk",1787,1,4,5,15652,0,0,12,9],
["p1",7,"op","chess_char_5_15_b",1,"uniequip_002_thorn2",1170,1,5,7,14176,0,838,9,3],
["p1",8,"op","chess_char_5_20_b",2,"uniequip_002_aglina",1382,1,9,7,28071,0,0,26,3],
["p1",1,"op","chess_char_5_19_b",2,"uniequip_002_mlynar",3907,1,6,15,33315,0,0,39,2],
["p1",2,"op","chess_char_1_08_b",1,"uniequip_002_texas",0,0,7,5,3589,2974,49,27,3],
["p1",3,"op","chess_char_5_13_b",1,"uniequip_002_ghost2",3364.8,1,8,8,14536,6279,321,29,1],
["p1",4,"op","chess_char_5_14_b",1,"none",1994,1,78,4,19427,1994,0,19,6],
["p1",5,"op","chess_char_5_17_b",1,"uniequip_002_f12yin",2738,1,77,14,21324,3845,1107,29,1],
["p1",6,"op","chess_char_5_12_b",0,"uniequip_002_dusk",1787,1,4,2,20983,0,0,17,13],
["p1",7,"op","chess_char_5_15_b",1,"uniequip_002_thorn2",1170,1,5,7,11681,0,524,23,5],
["p1",8,"op","chess_char_5_20_b",2,"uniequip_002_aglina",1382,1,9,10,31033,0,0,28,3],
["-","~1","device","trap_1105_accrate",null,null,100,1,1,0,0,0,0,0,null],
["-","~2","device","trap_1105_accrate",null,null,100,1,2,0,0,0,0,0,null],
["-","~3","device","trap_1105_accrate",null,null,100,1,3,0,0,0,0,0,null]
],
"enemies": {
"enemy_1195_sfyin": [14,14,0,1193,69673],
"enemy_1196_msfyin": [28,28,0,0,56],
"enemy_1195_sfyin": [14,14,0,1197,69673],
"enemy_1196_msfyin": [28,28,0,0,140],
"enemy_1197_sfshu": [5,5,0,0,31104],
"enemy_1198_msfshu": [15,15,0,0,45],
"enemy_1207_sfji": [2,2,0,13576,54743],
"enemy_1208_msfji": [2,2,0,0,50]
"enemy_1198_msfshu": [15,15,0,0,105],
"enemy_1207_sfji": [2,2,0,13896,54743],
"enemy_1208_msfji": [2,1,1,0,123]
},
"hooks": [1,79,2676,169,169,334,332,514,69,69,28,26,0,7815,53,16,66,0,1,79,0,0,2],
"events": {"atk":215,"deploy":10,"die":69,"dmg":332,"engage":8,"fx":84,"heal":8,"skill":54,"spawn":77,"status":142},
"fx": {"aoe":11,"crit":5,"dodge":2,"dp":3,"sp":3,"substitute":2,"summon":21,"swap":1,"weightless":3,"zone":33},
"snaps": "99559343 38c0d1a5 92dc29fe fc9b8613 719b1867 a2a129fe 0a35c013 011b0232 25a525eb"
"hooks": [1,79,2850,227,227,541,540,516,68,69,34,32,0,9658,95,15,66,1,1,80,0,0,1],
"events": {"atk":325,"deploy":10,"die":68,"dmg":540,"engage":8,"fx":132,"heal":5,"leak":1,"skill":66,"spawn":77,"status":205},
"fx": {"aoe":11,"crit":6,"dodge":1,"dp":3,"sp":3,"substitute":2,"summon":21,"swap":2,"weightless":3,"zone":80},
"snaps": "4de8008e 99d182d1 a8f4f0c5 df96a884 5bbd3905 e7892318 62171b43 6d8da250 74135c6b f1a63873"
},
"bond-steadShip-low": {
"about": "坚守 low: tier 1 layers 1; chess_char_1_02_a chess_char_1_10_a chess_char_4_11_a chess_char_4_04_a chess_char_4_07_a chess_char_4_09_a chess_char_4_06_a chess_char_4_10_a token_10041_cathy_catsld token_10041_cathy_catsld",
+237 -235
View File
@@ -1439,44 +1439,44 @@
"round": 13,
"seed": 2415735691,
"waveId": "act1autochess_h06",
"time": 198.77,
"ticks": 5963,
"time": 207.9,
"ticks": 6237,
"reason": "cleared",
"killed": 127,
"total": 248,
"killed": 90,
"total": 217,
"unspawned": 0,
"bossHpLeft": null,
"rngDraws": 528,
"rngDraws": 485,
"errors": {"count":0,"kinds":[]},
"players": {"p1":{"killed":127,"total":248,"perfect":false,"leaks":121,"leaksUncounted":0,"coins":0,"dmg":267377,"bossDmg":0,"heal":0,"deaths":25,"layerGains":{}}},
"players": {"p1":{"killed":90,"total":217,"perfect":false,"leaks":127,"leaksUncounted":0,"coins":0,"dmg":218051,"bossDmg":0,"heal":0,"deaths":27,"layerGains":{}}},
"units": [
["p1",1,"op","chess_char_5_diy1_b",0,"uniequip_002_chyue",0,0,140,17,47439,5370,0,82,19],
["p1",2,"op","chess_char_5_diy2_b",1,"uniequip_002_chyue",0,0,217,18,65349,5370,0,95,10],
["p1",3,"op","chess_char_5_diy1_b",2,"uniequip_002_chyue",0,0,228,3,10207,8055,0,29,1],
["p1",4,"op","chess_char_5_diy2_b",0,"uniequip_003_chyue",2475,1,254,14,13888,4950,0,45,8],
["p1",5,"op","chess_char_5_diy1_b",1,"uniequip_003_chyue",2438.69,1,240,22,20944,4986,0,46,7],
["p1",6,"op","chess_char_5_diy2_b",2,"uniequip_003_chyue",2308.09,1,232,14,21948,5117,0,64,5],
["p1",7,"op","chess_char_6_diy1_a",0,null,908.85,1,234,9,34758,5571,0,72,13],
["p1",8,"op","chess_char_6_diy2_a",1,null,0,0,150,5,3382,4320,0,29,7],
["p1",9,"op","chess_char_6_diy1_a",2,null,0,0,144,14,3803,4320,0,45,3],
["p1",10,"op","chess_char_6_diy2_b",0,"none",0,0,138,9,31709,4950,0,54,12],
["p1",11,"op","chess_char_6_diy1_b",1,"none",0,0,155,2,13456,4950,0,14,10],
["p1",12,"op","chess_char_6_diy2_b",2,"none",0,0,169,0,494,4950,0,14,0],
["p1",1,"op","chess_char_5_diy1_b",0,"uniequip_002_chyue",0,0,207,5,12948,8055,0,40,8],
["p1",2,"op","chess_char_5_diy2_b",1,"uniequip_002_chyue",0,0,221,7,19501,8055,0,33,5],
["p1",3,"op","chess_char_5_diy1_b",2,"uniequip_002_chyue",0,0,202,1,6954,8055,0,29,1],
["p1",4,"op","chess_char_5_diy2_b",0,"uniequip_003_chyue",0,0,181,17,63220,4950,0,105,20],
["p1",5,"op","chess_char_5_diy1_b",1,"uniequip_003_chyue",2475,1,239,13,18020,4950,0,40,6],
["p1",6,"op","chess_char_5_diy2_b",2,"uniequip_003_chyue",2326.83,1,200,7,20127,5098,0,68,5],
["p1",7,"op","chess_char_6_diy1_a",0,null,979.66,1,203,10,35380,5500,0,71,14],
["p1",8,"op","chess_char_6_diy2_a",1,null,0,0,142,9,2139,4320,0,47,7],
["p1",9,"op","chess_char_6_diy1_a",2,null,0,0,138,10,1642,4320,0,55,4],
["p1",10,"op","chess_char_6_diy2_b",0,"none",0,0,131,8,31834,4950,0,56,12],
["p1",11,"op","chess_char_6_diy1_b",1,"none",0,0,145,3,5774,4950,0,14,10],
["p1",12,"op","chess_char_6_diy2_b",2,"none",0,0,151,0,512,4950,0,14,0],
["-","~1","device","trap_1105_accrate",null,null,100,1,1,0,0,0,0,0,null],
["-","~2","device","trap_1105_accrate",null,null,100,1,2,0,0,0,0,0,null],
["-","~3","device","trap_1105_accrate",null,null,100,1,3,0,0,0,0,0,null]
],
"enemies": {
"enemy_1195_sfyin": [39,22,17,970,75010],
"enemy_1196_msfyin": [44,23,21,0,48],
"enemy_1197_sfshu": [48,35,13,3201,147111],
"enemy_1198_msfshu": [105,47,58,0,170],
"enemy_1207_sfji": [12,0,12,58738,45038]
"enemy_1195_sfyin": [39,17,22,805,56979],
"enemy_1196_msfyin": [34,18,16,0,63],
"enemy_1197_sfshu": [48,28,20,2868,116122],
"enemy_1198_msfshu": [84,27,57,0,183],
"enemy_1207_sfji": [12,0,12,64480,44704]
},
"hooks": [1,280,5963,788,788,877,866,0,152,273,95,95,0,10080,4,84,248,121,1,152,0,0,11],
"events": {"atk":788,"deploy":29,"die":152,"dmg":866,"engage":12,"fx":106,"leak":121,"skill":190,"spawn":263,"status":26},
"fx": {"aoe":38,"dodge":11,"summon":57},
"snaps": "c1000a12 952fb358 26ba7e72 2a5ea53c b4c2e651 3be7c5cd 12243347 cc57bd96 5506d1ae b873cf9d 9a8c0ab3 7aad7334 ab833a5e 1f2db83b a86f95ce 87b015ed ece0d7e0 6ab5fa09 f910ab6c 438f31d5"
"hooks": [1,250,6237,746,746,818,814,0,117,244,92,92,0,8450,3,74,217,127,1,117,0,0,4],
"events": {"atk":746,"deploy":30,"die":117,"dmg":814,"engage":12,"fx":80,"leak":127,"skill":184,"spawn":232,"status":24},
"fx": {"aoe":31,"dodge":4,"summon":45},
"snaps": "1a23faf0 9d929d98 457bab31 18024dbd e5bdb01e fdd772a6 7c0b784b 046b1f35 f6a411bc 992bff30 9050cf2f 18551e63 3a2e8f9e ff193637 d4aca635 19e92e35 5f8f6118 0c5e9ffc 7f7add80 f3dc6b78 77b6d67e"
},
"diy-037": {
"about": "5_diy1_a=huang/S1 5_diy2_a=huang/S2 5_diy1_a=huang/S3 5_diy2_b=huang/S1 5_diy1_b=huang/S2 5_diy2_b=huang/S3 6_diy1_b=chyue/S1/002_chyue 6_diy2_b=chyue/S2/002_chyue 6_diy1_b=chyue/S3/002_chyue 6_diy2_b=chyue/S1/003_chyue 6_diy1_b=chyue/S2/003_chyue 6_diy2_b=chyue/S3/003_chyue",
@@ -1610,40 +1610,40 @@
"time": 201.23,
"ticks": 6037,
"reason": "cleared",
"killed": 34,
"killed": 13,
"total": 128,
"unspawned": 0,
"bossHpLeft": null,
"rngDraws": 619,
"rngDraws": 620,
"errors": {"count":0,"kinds":[]},
"players": {"p1":{"killed":34,"total":128,"perfect":false,"leaks":94,"leaksUncounted":0,"coins":0,"dmg":596015,"bossDmg":0,"heal":0,"deaths":4,"layerGains":{}}},
"players": {"p1":{"killed":13,"total":128,"perfect":false,"leaks":115,"leaksUncounted":0,"coins":0,"dmg":586176,"bossDmg":0,"heal":0,"deaths":4,"layerGains":{}}},
"units": [
["p1",1,"op","chess_char_5_diy1_b",0,"uniequip_002_shwaz",1815,1,5,7,35578,0,0,45,9],
["p1",2,"op","chess_char_5_diy2_b",1,"uniequip_002_shwaz",1815,1,7,5,39475,0,0,43,2],
["p1",3,"op","chess_char_5_diy1_b",2,"uniequip_002_shwaz",1815,1,9,0,15894,0,0,16,3],
["p1",4,"op","chess_char_5_diy2_b",0,"uniequip_003_shwaz",1685,1,11,0,44202,0,0,39,7],
["p1",5,"op","chess_char_5_diy1_b",1,"uniequip_003_shwaz",1685,1,13,0,45056,0,0,33,2],
["p1",6,"op","chess_char_5_diy2_b",2,"uniequip_003_shwaz",1685,1,6,1,61126,0,0,64,4],
["p1",7,"op","chess_char_6_diy1_a",0,null,1393,1,8,6,20875,0,0,45,9],
["p1",8,"op","chess_char_6_diy2_a",1,null,1393,1,10,0,122779,0,0,114,3],
["p1",9,"op","chess_char_6_diy1_a",2,null,1393,1,12,0,55948,0,0,72,4],
["p1",10,"op","chess_char_6_diy2_b",0,"none",1685,1,14,0,115374,0,0,106,21],
["p1",11,"op","chess_char_6_diy1_b",1,"none",0,0,85,11,11479,3370,0,28,2],
["p1",12,"op","chess_char_6_diy2_b",2,"none",0,0,84,4,28230,3370,0,24,2],
["p1",1,"op","chess_char_5_diy1_b",0,"uniequip_002_shwaz",1815,1,5,2,32391,0,0,44,8],
["p1",2,"op","chess_char_5_diy2_b",1,"uniequip_002_shwaz",1815,1,7,1,53749,0,0,42,2],
["p1",3,"op","chess_char_5_diy1_b",2,"uniequip_002_shwaz",1815,1,9,0,16432,0,0,16,3],
["p1",4,"op","chess_char_5_diy2_b",0,"uniequip_003_shwaz",1685,1,11,0,45972,0,0,39,7],
["p1",5,"op","chess_char_5_diy1_b",1,"uniequip_003_shwaz",1685,1,13,0,41233,0,0,33,2],
["p1",6,"op","chess_char_5_diy2_b",2,"uniequip_003_shwaz",1685,1,6,1,57577,0,0,64,4],
["p1",7,"op","chess_char_6_diy1_a",0,null,1393,1,8,3,18014,0,0,44,8],
["p1",8,"op","chess_char_6_diy2_a",1,null,1393,1,10,0,124987,0,0,114,3],
["p1",9,"op","chess_char_6_diy1_a",2,null,1393,1,12,0,52551,0,0,72,4],
["p1",10,"op","chess_char_6_diy2_b",0,"none",1685,1,14,0,123180,0,0,106,21],
["p1",11,"op","chess_char_6_diy1_b",1,"none",0,0,85,3,2281,3370,0,29,2],
["p1",12,"op","chess_char_6_diy2_b",2,"none",0,0,82,3,17810,3370,0,21,2],
["-","~1","device","trap_1105_accrate",null,null,100,1,1,0,0,0,0,0,null],
["-","~2","device","trap_1105_accrate",null,null,100,1,2,0,0,0,0,0,null]
],
"enemies": {
"enemy_1195_sfyin": [39,4,35,400,200686],
"enemy_1196_msfyin": [8,6,2,0,12],
"enemy_1197_sfshu": [48,7,41,839,320293],
"enemy_1198_msfshu": [21,17,4,0,51],
"enemy_1207_sfji": [12,0,12,5501,74973]
"enemy_1195_sfyin": [39,4,35,400,198544],
"enemy_1196_msfyin": [8,1,7,0,14],
"enemy_1197_sfshu": [48,7,41,1704,329842],
"enemy_1198_msfshu": [21,1,20,0,50],
"enemy_1207_sfji": [12,0,12,4635,57726]
},
"hooks": [1,144,6037,636,636,626,626,0,38,132,68,68,0,21155,177,6,128,94,1,38,0,0,0],
"events": {"atk":636,"deploy":14,"die":38,"dmg":626,"engage":12,"fx":205,"leak":94,"skill":136,"spawn":142,"status":133},
"fx": {"crit":194,"summon":11},
"snaps": "0554c5a8 e78ea414 c6990544 b9f54729 e2b21a7f 0dbe7930 ccf53237 87482459 ee7c77b7 bfab94f2 f73fc190 1220e613 0675e793 b4bbfedd ab33dde8 660b9569 2360c277 c6bbfa17 9399ec7e 34e2473e e51abbdd"
"hooks": [1,144,6037,633,633,629,629,0,17,132,66,66,0,21155,184,8,128,115,1,17,0,0,0],
"events": {"atk":633,"deploy":14,"die":17,"dmg":629,"engage":12,"fx":204,"leak":115,"skill":132,"spawn":142,"status":156},
"fx": {"crit":193,"summon":11},
"snaps": "a81db56c 5ae3f24a 73d1fad7 b0842fa5 f3139e73 0ad499fa 05959505 debe6670 1f927392 79fb844b 857f60eb 2c6b3c5e 8e9390ed 14e0565a 27509ef9 01360be0 8043f851 d6ab89e3 38594c9a 2366e458 2cc9f4df"
},
"diy-041": {
"about": "6_diy1_b=shwaz/S1/002_shwaz 6_diy2_b=shwaz/S2/002_shwaz 6_diy1_b=shwaz/S3/002_shwaz 6_diy2_b=shwaz/S1/003_shwaz 6_diy1_b=shwaz/S2/003_shwaz 6_diy2_b=shwaz/S3/003_shwaz 5_diy1_a=bgsnow/S1 5_diy2_a=bgsnow/S2 5_diy1_a=bgsnow/S3 5_diy2_b=bgsnow/S1 5_diy1_b=bgsnow/S2 5_diy2_b=bgsnow/S3",
@@ -2264,44 +2264,44 @@
"round": 13,
"seed": 3238296381,
"waveId": "act1autochess_h06",
"time": 225.67,
"ticks": 6770,
"reason": "cleared",
"killed": 56,
"total": 209,
"time": 230,
"ticks": 6900,
"reason": "timeout",
"killed": 52,
"total": 230,
"unspawned": 0,
"bossHpLeft": null,
"rngDraws": 0,
"errors": {"count":0,"kinds":[]},
"players": {"p1":{"killed":56,"total":209,"perfect":false,"leaks":153,"leaksUncounted":0,"coins":0,"dmg":390355,"bossDmg":0,"heal":4571,"deaths":15,"layerGains":{}}},
"players": {"p1":{"killed":52,"total":230,"perfect":false,"leaks":178,"leaksUncounted":0,"coins":0,"dmg":445790,"bossDmg":0,"heal":4571,"deaths":15,"layerGains":{}}},
"units": [
["p1",1,"op","chess_char_5_diy1_a",0,null,0,0,5,1,3179,2960,0,4,2],
["p1",2,"op","chess_char_5_diy2_a",1,null,0,0,9,3,5517,2960,0,4,1],
["p1",1,"op","chess_char_5_diy1_a",0,null,0,0,5,3,14598,2960,0,16,4],
["p1",2,"op","chess_char_5_diy2_a",1,null,0,0,9,0,4599,2960,0,4,1],
["p1",3,"op","chess_char_5_diy1_a",2,null,0,0,10,3,31416,2960,0,14,1],
["p1",4,"op","chess_char_5_diy2_b",0,"none",0,0,116,2,11832,7372,0,12,4],
["p1",5,"op","chess_char_5_diy1_b",1,"none",0,0,12,1,21239,3686,0,11,1],
["p1",6,"op","chess_char_5_diy2_b",2,"none",0,0,6,4,28186,3686,0,12,1],
["p1",7,"op","chess_char_6_diy1_b",0,"uniequip_003_zumama",2797.82,1,151,10,66574,5444,0,66,0],
["p1",8,"op","chess_char_6_diy2_b",1,"uniequip_003_zumama",0,0,185,4,12070,8242,0,16,0],
["p1",9,"op","chess_char_6_diy1_b",2,"uniequip_003_zumama",3969.97,1,217,5,10480,4272,0,23,0],
["p1",10,"op","chess_char_6_diy2_b",0,"uniequip_004_zumama",4501,1,231,7,53708,4501,0,41,0],
["p1",11,"op","chess_char_6_diy1_b",1,"uniequip_004_zumama",0,0,107,1,9246,9002,0,12,0],
["p1",12,"op","chess_char_6_diy2_b",2,"uniequip_004_zumama",4501,1,104,15,136908,9072,4571,80,2],
["p1",4,"op","chess_char_5_diy2_b",0,"none",0,0,124,1,11832,7372,0,12,4],
["p1",5,"op","chess_char_5_diy1_b",1,"none",0,0,12,1,21240,3686,0,11,1],
["p1",6,"op","chess_char_5_diy2_b",2,"none",0,0,6,0,2172,3686,0,4,0],
["p1",7,"op","chess_char_6_diy1_b",0,"uniequip_003_zumama",0,0,163,4,34967,8242,0,37,0],
["p1",8,"op","chess_char_6_diy2_b",1,"uniequip_003_zumama",2339.87,1,4,17,120927,1781,0,107,3],
["p1",9,"op","chess_char_6_diy1_b",2,"uniequip_003_zumama",0,0,204,0,4166,8242,0,8,0],
["p1",10,"op","chess_char_6_diy2_b",0,"uniequip_004_zumama",4501,1,239,7,53718,4501,0,51,0],
["p1",11,"op","chess_char_6_diy1_b",1,"uniequip_004_zumama",4501,1,252,1,9246,9002,0,12,0],
["p1",12,"op","chess_char_6_diy2_b",2,"uniequip_004_zumama",4501,1,107,15,136908,9072,4571,80,2],
["-","~1","device","trap_1105_accrate",null,null,100,1,1,0,0,0,0,0,null],
["-","~2","device","trap_1105_accrate",null,null,100,1,2,0,0,0,0,0,null],
["-","~3","device","trap_1105_accrate",null,null,100,1,3,0,0,0,0,0,null]
],
"enemies": {
"enemy_1195_sfyin": [39,19,20,5268,140752],
"enemy_1196_msfyin": [38,7,31,0,19],
"enemy_1197_sfshu": [48,24,24,6324,218337],
"enemy_1198_msfshu": [72,6,66,0,33],
"enemy_1207_sfji": [12,0,12,52566,31214]
"enemy_1195_sfyin": [39,22,17,6913,157660],
"enemy_1196_msfyin": [44,0,42,0,21],
"enemy_1197_sfshu": [48,29,19,7513,265300],
"enemy_1198_msfshu": [87,1,86,0,65],
"enemy_1207_sfji": [12,0,12,50039,22744]
},
"hooks": [1,231,6770,679,679,798,798,1027,71,224,12,14,0,9359,4,74,209,153,1,71,0,0,0],
"events": {"atk":679,"deploy":19,"die":71,"dmg":716,"engage":12,"fx":161,"leak":153,"skill":32,"spawn":224,"status":40},
"fx": {"aoe":2,"crit":2,"shield":23,"summon":43,"thorns":91},
"snaps": "44b079f5 41c0f0d3 f0330b5c d26e8f74 4b8e4d2e 59f5254e c84417fd 49cc25b4 4a64bb12 ff7e209b 539f22d0 cd33c720 9c73f43b 1dde0fc7 bd7e767a c9e68fb8 2fb831f5 2fc8ce94 0ab99c4a 0e384a26 eba5606d c49679ec eebb08b5"
"hooks": [1,252,6900,759,759,869,869,1027,67,243,16,19,0,12471,936,82,230,176,1,67,0,0,0],
"events": {"atk":759,"deploy":19,"die":67,"dmg":803,"engage":12,"fx":148,"leak":176,"skill":40,"spawn":245,"status":57},
"fx": {"aoe":2,"crit":2,"shield":16,"summon":51,"thorns":77},
"snaps": "44b079f5 024ed548 a516c154 debf4cd8 14bf5336 14284329 dbf48220 1c8cdbe6 95356546 b9f41230 b20e0578 a771cf99 23addcf7 74f1b1f1 efd4fdbd cd6f7505 82a58340 d2e04746 3a966878 c12298d5 7587367d 7a015a08 5b59e35c"
},
"diy-057": {
"about": "5_diy1_b=judge/S1/002_judge 5_diy2_b=judge/S2/002_judge 5_diy1_b=judge/S3/002_judge 5_diy2_b=judge/S1/003_judge 5_diy1_b=judge/S2/003_judge 5_diy2_b=judge/S3/003_judge 6_diy1_a=judge/S1 6_diy2_a=judge/S2 6_diy1_a=judge/S3 6_diy2_b=judge/S1 6_diy1_b=judge/S2 6_diy2_b=judge/S3",
@@ -2516,25 +2516,25 @@
"time": 193.03,
"ticks": 5791,
"reason": "cleared",
"killed": 28,
"killed": 14,
"total": 108,
"unspawned": 0,
"bossHpLeft": null,
"rngDraws": 0,
"errors": {"count":0,"kinds":[]},
"players": {"p1":{"killed":28,"total":108,"perfect":false,"leaks":80,"leaksUncounted":0,"coins":0,"dmg":237399,"bossDmg":0,"heal":0,"deaths":20,"layerGains":{}}},
"players": {"p1":{"killed":14,"total":108,"perfect":false,"leaks":94,"leaksUncounted":0,"coins":0,"dmg":237304,"bossDmg":0,"heal":0,"deaths":20,"layerGains":{}}},
"units": [
["p1",1,"op","chess_char_5_diy1_a",0,null,0,0,103,0,8216,5596,0,15,3],
["p1",2,"op","chess_char_5_diy2_a",1,null,0,0,100,5,19955,5596,0,21,0],
["p1",3,"op","chess_char_5_diy1_a",2,null,0,0,117,4,16908,6772,0,24,1],
["p1",4,"op","chess_char_5_diy2_b",0,"none",0,0,97,1,17165,6768,0,22,5],
["p1",1,"op","chess_char_5_diy1_a",0,null,0,0,103,2,8220,5596,0,19,4],
["p1",2,"op","chess_char_5_diy2_a",1,null,0,0,100,1,19852,5596,0,22,0],
["p1",3,"op","chess_char_5_diy1_a",2,null,0,0,117,1,16908,6772,0,24,1],
["p1",4,"op","chess_char_5_diy2_b",0,"none",0,0,97,0,17165,6768,0,22,5],
["p1",5,"op","chess_char_5_diy1_b",1,"none",0,0,90,3,40520,6768,0,18,0],
["p1",6,"op","chess_char_5_diy2_b",2,"none",0,0,88,1,13764,6768,0,16,0],
["p1",7,"op","chess_char_5_diy1_b",0,"uniequip_002_lessng",0,0,86,0,21999,7228,0,16,4],
["p1",8,"op","chess_char_5_diy2_b",1,"uniequip_002_lessng",3614,1,131,3,10442,3614,0,19,0],
["p1",9,"op","chess_char_5_diy1_b",2,"uniequip_002_lessng",0,0,127,4,16114,7228,0,28,1],
["p1",10,"op","chess_char_5_diy2_b",0,"uniequip_003_lessng",0,0,7,2,16091,4847,0,24,6],
["p1",11,"op","chess_char_5_diy1_b",1,"uniequip_003_lessng",0,0,9,3,18919,4724,0,20,0],
["p1",8,"op","chess_char_5_diy2_b",1,"uniequip_002_lessng",3614,1,131,2,10445,3614,0,22,0],
["p1",9,"op","chess_char_5_diy1_b",2,"uniequip_002_lessng",0,0,127,0,16115,7228,0,29,1],
["p1",10,"op","chess_char_5_diy2_b",0,"uniequip_003_lessng",0,0,7,0,16091,4847,0,24,6],
["p1",11,"op","chess_char_5_diy1_b",1,"uniequip_003_lessng",0,0,9,2,18919,4724,0,20,0],
["p1",12,"op","chess_char_5_diy2_b",2,"uniequip_003_lessng",0,0,11,2,37305,7132,0,27,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]
@@ -2542,14 +2542,14 @@
"enemies": {
"enemy_1197_sfshu": [18,4,14,5996,29860],
"enemy_1197_sfshu_2": [27,7,20,14122,76720],
"enemy_1198_msfshu": [12,8,4,0,25],
"enemy_1198_msfshu_2": [21,9,12,0,41],
"enemy_9010_acpupp": [30,0,30,52923,130754]
"enemy_1198_msfshu": [12,1,11,0,29],
"enemy_1198_msfshu_2": [21,2,19,0,46],
"enemy_9010_acpupp": [30,0,30,52923,130650]
},
"hooks": [1,131,5791,346,346,374,374,0,48,128,21,27,0,4489,0,31,108,80,1,51,0,0,0],
"events": {"atk":346,"deploy":21,"die":48,"dmg":374,"engage":12,"fx":14,"leak":80,"skill":42,"spawn":122,"status":67},
"hooks": [1,131,5791,355,355,383,383,0,34,128,22,28,0,4501,0,31,108,94,1,37,0,0,0],
"events": {"atk":355,"deploy":21,"die":34,"dmg":383,"engage":12,"fx":14,"leak":94,"skill":44,"spawn":122,"status":67},
"fx": {"revive":3,"summon":11},
"snaps": "9350db09 08a4a55b da0b8f45 0cff43a9 ce7c624d 6dc73d4a e61dcf5c faffc67f d9c3a69a ab003df4 2a190b3d 9f830881 37cbfa70 a86dfd6f 254d09a1 8395b476 007e0351 2b452f0a ce52a220 c9c4bb44"
"snaps": "9350db09 46e4bb4a ebdd9667 88278f65 58553d6d 0f31af52 4bc7db28 5678e60f 7606f544 4aaf6ca7 6a126874 207fd6bf 9c2df80e f080b38b 9e8c40c6 56cf7bbf 0a9ed412 b2039710 0c776be6 35e3e7b4"
},
"diy-063": {
"about": "6_diy1_a=lessng/S1 6_diy2_a=lessng/S2 6_diy1_a=lessng/S3 6_diy2_b=lessng/S1 6_diy1_b=lessng/S2 6_diy2_b=lessng/S3 6_diy1_b=lessng/S1/002_lessng 6_diy2_b=lessng/S2/002_lessng 6_diy1_b=lessng/S3/002_lessng 6_diy2_b=lessng/S1/003_lessng 6_diy1_b=lessng/S2/003_lessng 6_diy2_b=lessng/S3/003_lessng",
@@ -2908,38 +2908,38 @@
"time": 205.03,
"ticks": 6151,
"reason": "cleared",
"killed": 35,
"total": 111,
"killed": 24,
"total": 114,
"unspawned": 0,
"bossHpLeft": null,
"rngDraws": 0,
"errors": {"count":0,"kinds":[]},
"players": {"p1":{"killed":35,"total":111,"perfect":false,"leaks":76,"leaksUncounted":0,"coins":0,"dmg":754945,"bossDmg":0,"heal":0,"deaths":14,"layerGains":{}}},
"players": {"p1":{"killed":24,"total":114,"perfect":false,"leaks":90,"leaksUncounted":0,"coins":0,"dmg":755413,"bossDmg":0,"heal":0,"deaths":14,"layerGains":{}}},
"units": [
["p1",1,"op","chess_char_5_diy1_b",0,"uniequip_002_phenxi",1,1,4,4,115469,1795,0,72,3],
["p1",2,"op","chess_char_5_diy2_b",1,"uniequip_002_phenxi",1,1,7,7,243241,1795,0,75,7],
["p1",3,"op","chess_char_5_diy1_b",2,"uniequip_002_phenxi",1,1,5,6,219326,1795,0,73,1],
["p1",4,"op","chess_char_5_diy2_b",0,"uniequip_003_phenxi",1,1,8,4,122894,1795,0,78,3],
["p1",5,"op","chess_char_5_diy1_b",1,"uniequip_003_phenxi",942,1,130,2,6490,4446,0,8,0],
["p1",6,"op","chess_char_5_diy2_b",2,"uniequip_003_phenxi",0,0,102,10,9952,3592,0,14,0],
["p1",7,"op","chess_char_5_diy1_b",0,"uniequip_004_phenxi",0,0,123,0,2778,3762,0,3,0],
["p1",8,"op","chess_char_5_diy2_b",1,"uniequip_004_phenxi",0,0,9,0,8362,1881,0,8,0],
["p1",9,"op","chess_char_5_diy1_b",2,"uniequip_004_phenxi",0,0,70,0,12062,3762,0,8,0],
["p1",10,"op","chess_char_6_diy1_a",0,null,0,0,69,0,4889,3080,0,6,0],
["p1",11,"op","chess_char_6_diy2_a",1,null,0,0,2,1,3414,1540,0,8,0],
["p1",12,"op","chess_char_6_diy1_a",2,null,0,0,75,1,6070,3080,0,8,0]
["p1",1,"op","chess_char_5_diy1_b",0,"uniequip_002_phenxi",1,1,4,4,117530,1795,0,73,3],
["p1",2,"op","chess_char_5_diy2_b",1,"uniequip_002_phenxi",1,1,7,8,239894,1795,0,75,7],
["p1",3,"op","chess_char_5_diy1_b",2,"uniequip_002_phenxi",1,1,5,1,230787,1795,0,74,1],
["p1",4,"op","chess_char_5_diy2_b",0,"uniequip_003_phenxi",1,1,8,5,121472,1795,0,78,3],
["p1",5,"op","chess_char_5_diy1_b",1,"uniequip_003_phenxi",942,1,133,0,6142,4446,0,10,0],
["p1",6,"op","chess_char_5_diy2_b",2,"uniequip_003_phenxi",0,0,108,0,9125,3592,0,13,0],
["p1",7,"op","chess_char_5_diy1_b",0,"uniequip_004_phenxi",0,0,126,0,2778,3762,0,3,0],
["p1",8,"op","chess_char_5_diy2_b",1,"uniequip_004_phenxi",0,0,9,1,4722,1881,0,8,0],
["p1",9,"op","chess_char_5_diy1_b",2,"uniequip_004_phenxi",0,0,70,0,11058,3762,0,8,0],
["p1",10,"op","chess_char_6_diy1_a",0,null,0,0,69,0,4281,3080,0,6,0],
["p1",11,"op","chess_char_6_diy2_a",1,null,0,0,2,1,3657,1540,0,10,0],
["p1",12,"op","chess_char_6_diy1_a",2,null,0,0,75,4,3967,3080,0,8,0]
],
"enemies": {
"enemy_1197_sfshu": [18,7,11,435,107852],
"enemy_1197_sfshu_2": [27,5,22,5268,168806],
"enemy_1198_msfshu": [21,16,5,0,53],
"enemy_1198_msfshu_2": [15,7,8,0,45],
"enemy_9010_acpupp": [30,0,30,7685,478189]
"enemy_1197_sfshu": [18,9,9,435,110630],
"enemy_1197_sfshu_2": [27,4,23,5377,172557],
"enemy_1198_msfshu": [27,11,16,0,160],
"enemy_1198_msfshu_2": [12,0,12,0,60],
"enemy_9010_acpupp": [30,0,30,7685,472006]
},
"hooks": [1,130,6151,333,326,923,5343,0,49,125,14,13,0,241,0,16,111,76,1,50,0,0,0],
"events": {"atk":326,"deploy":19,"die":49,"dmg":916,"engage":12,"fx":161,"leak":76,"skill":27,"spawn":123,"status":39},
"fx": {"aoe":103,"ember":1,"revive":1,"shieldBreak":1,"summon":12,"telegraph":1,"zone":42},
"snaps": "6c75ef78 8c753e63 afd42afc e9768c62 b0074fc0 537944a4 8c0f69b9 2edda84d 01776ce4 241d0783 b26a10e1 f405c6ea fdffc7bc fec23845 99026dec 0c61f159 36a8ceb1 370ec509 0950b6b8 eeb3f599 9130f811"
"hooks": [1,133,6151,337,330,1021,5402,0,38,128,14,13,0,245,0,16,114,90,1,38,0,0,0],
"events": {"atk":330,"deploy":19,"die":38,"dmg":1021,"engage":12,"fx":159,"leak":90,"skill":27,"spawn":126,"status":37},
"fx": {"aoe":104,"summon":13,"zone":42},
"snaps": "3b8a9367 c87c034a 9e4cd0cb e501be4c e04b9ff2 9f8fa016 de186bcf d81068a7 62091db9 1ce8cf30 a73719c8 9ac4c744 d010a467 1acc4e4c 96bc99a2 ed3e17a3 bd54f9c3 f5c27b5f bfee3b1b a9f49a0d 8e0b830e"
},
"diy-069": {
"about": "6_diy1_b=phenxi/S1 6_diy2_b=phenxi/S2 6_diy1_b=phenxi/S3 6_diy2_b=phenxi/S1/002_phenxi 6_diy1_b=phenxi/S2/002_phenxi 6_diy2_b=phenxi/S3/002_phenxi 6_diy1_b=phenxi/S1/003_phenxi 6_diy2_b=phenxi/S2/003_phenxi 6_diy1_b=phenxi/S3/003_phenxi 6_diy2_b=phenxi/S1/004_phenxi 6_diy1_b=phenxi/S2/004_phenxi 6_diy2_b=phenxi/S3/004_phenxi",
@@ -3125,40 +3125,40 @@
"time": 206.6,
"ticks": 6198,
"reason": "cleared",
"killed": 69,
"total": 156,
"killed": 68,
"total": 159,
"unspawned": 0,
"bossHpLeft": null,
"rngDraws": 139,
"errors": {"count":0,"kinds":[]},
"players": {"p1":{"killed":69,"total":156,"perfect":false,"leaks":87,"leaksUncounted":0,"coins":0,"dmg":832457,"bossDmg":0,"heal":7269,"deaths":17,"layerGains":{}}},
"players": {"p1":{"killed":68,"total":159,"perfect":false,"leaks":91,"leaksUncounted":0,"coins":0,"dmg":831822,"bossDmg":0,"heal":7866,"deaths":17,"layerGains":{}}},
"units": [
["p1",1,"op","chess_char_6_diy1_b",0,"uniequip_002_thorns",0,0,146,9,20380,5374,0,28,1],
["p1",2,"op","chess_char_6_diy2_b",1,"uniequip_002_thorns",0,0,185,2,10717,8566,505,10,1],
["p1",3,"op","chess_char_6_diy1_b",2,"uniequip_002_thorns",0,0,115,8,16176,5374,0,29,1],
["p1",4,"op","chess_char_6_diy2_b",0,"uniequip_003_thorns",0,0,179,2,13335,7731,0,21,1],
["p1",5,"op","chess_char_6_diy1_b",1,"uniequip_003_thorns",0,0,109,0,9082,5581,427,15,1],
["p1",6,"op","chess_char_6_diy2_b",2,"uniequip_003_thorns",0,0,104,1,10242,5154,0,15,0],
["p1",7,"op","chess_char_5_diy1_a",0,null,0,0,169,0,5512,6633,0,15,0],
["p1",8,"op","chess_char_5_diy2_a",1,null,2211,1,3,0,0,0,0,0,0],
["p1",9,"op","chess_char_5_diy1_a",2,null,2211,1,5,6,174278,0,0,14,3],
["p1",10,"op","chess_char_5_diy2_b",0,"none",2674,1,7,0,2,0,0,2,0],
["p1",11,"op","chess_char_5_diy1_b",1,"none",2674,1,166,5,121257,5380,5380,66,5],
["p1",12,"op","chess_char_5_diy2_b",2,"none",2674,1,11,36,451477,957,957,79,4],
["p1",1,"op","chess_char_6_diy1_b",0,"uniequip_002_thorns",0,0,148,5,18225,5374,0,34,1],
["p1",2,"op","chess_char_6_diy2_b",1,"uniequip_002_thorns",0,0,191,0,10732,8566,505,13,1],
["p1",3,"op","chess_char_6_diy1_b",2,"uniequip_002_thorns",0,0,117,6,11360,5374,0,28,1],
["p1",4,"op","chess_char_6_diy2_b",0,"uniequip_003_thorns",0,0,185,4,10605,7731,0,20,1],
["p1",5,"op","chess_char_6_diy1_b",1,"uniequip_003_thorns",0,0,111,1,8206,5581,427,15,1],
["p1",6,"op","chess_char_6_diy2_b",2,"uniequip_003_thorns",0,0,106,1,10782,5154,0,15,0],
["p1",7,"op","chess_char_5_diy1_a",0,null,0,0,175,0,5512,6633,0,15,0],
["p1",8,"op","chess_char_5_diy2_a",1,null,2211,1,169,1,14,0,0,0,3],
["p1",9,"op","chess_char_5_diy1_a",2,null,2211,1,5,15,177706,0,0,14,3],
["p1",10,"op","chess_char_5_diy2_b",0,"none",2674,1,7,3,27,0,0,17,2],
["p1",11,"op","chess_char_5_diy1_b",1,"none",2674,1,172,7,126197,5977,5977,80,5],
["p1",12,"op","chess_char_5_diy2_b",2,"none",2674,1,11,25,452456,957,957,98,4],
["-","~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_1197_sfshu": [15,10,5,1079,71664],
"enemy_1197_sfshu_2": [39,11,28,6068,176418],
"enemy_1198_msfshu": [30,15,15,0,57],
"enemy_1198_msfshu_2": [33,27,6,0,108],
"enemy_9010_acpupp": [39,6,33,43603,584211]
"enemy_1197_sfshu": [15,10,5,959,78156],
"enemy_1197_sfshu_2": [39,12,27,4901,183075],
"enemy_1198_msfshu": [30,15,15,0,161],
"enemy_1198_msfshu_2": [36,25,11,0,305],
"enemy_9010_acpupp": [39,6,33,45487,570125]
},
"hooks": [1,185,6198,375,375,956,1040,443,86,173,17,17,0,15437,0,47,156,87,1,92,0,0,6],
"events": {"atk":390,"deploy":27,"die":86,"dmg":1040,"engage":11,"fx":449,"heal":7,"leak":87,"skill":34,"spawn":170,"status":6},
"fx": {"blink":5,"dash":12,"dodge":6,"ember":6,"shield":139,"slash":250,"summon":21,"telegraph":6,"thorns":4},
"snaps": "5fad6b5a 5f6d142a 2ed3cca7 8ded74f6 34372ddd f9944767 0d25cb12 305c5825 c6cf1c8b fe585687 e55dfe73 573a84ea 807ffd4e e8b09909 2b70927b 8460917c 0ee8b4d8 8fb0ca82 4dd9b0fa 807a578c e1231bab"
"hooks": [1,191,6198,424,424,1215,1302,443,85,176,22,22,0,19110,9,44,159,91,1,91,0,0,4],
"events": {"atk":464,"deploy":30,"die":85,"dmg":1302,"engage":11,"fx":522,"heal":7,"leak":91,"skill":44,"spawn":173,"status":10},
"fx": {"blink":8,"dash":15,"dodge":4,"ember":6,"shield":139,"slash":318,"summon":22,"telegraph":6,"thorns":4},
"snaps": "5fad6b5a 0043637b befe987a 5a809388 f3b216ed e6432ccc 9a0ad579 e7f678f4 d12227ef fa147525 e3d8e771 ce8b5af6 d69d89c5 837aab3b 933912d5 361189ba f8eaca63 4b8761a1 4a67be9d a5ba109f fbeb3ae0"
},
"diy-074": {
"about": "5_diy1_b=chen3/S1/002_chen3 5_diy2_b=chen3/S2/002_chen3 5_diy1_b=chen3/S3/002_chen3 6_diy1_a=chen3/S1 6_diy2_a=chen3/S2 6_diy1_a=chen3/S3 6_diy2_b=chen3/S1 6_diy1_b=chen3/S2 6_diy2_b=chen3/S3 6_diy1_b=chen3/S1/002_chen3 6_diy2_b=chen3/S2/002_chen3 6_diy1_b=chen3/S3/002_chen3",
@@ -3866,45 +3866,45 @@
"round": 13,
"seed": 452598099,
"waveId": "act1autochess_h06",
"time": 215.83,
"ticks": 6475,
"time": 218.7,
"ticks": 6561,
"reason": "cleared",
"killed": 336,
"killed": 281,
"total": 345,
"unspawned": 0,
"bossHpLeft": null,
"rngDraws": 0,
"errors": {"count":0,"kinds":[]},
"players": {"p1":{"killed":336,"total":345,"perfect":false,"leaks":9,"leaksUncounted":0,"coins":0,"dmg":904054,"bossDmg":0,"heal":64807,"deaths":0,"layerGains":{}}},
"players": {"p1":{"killed":281,"total":345,"perfect":false,"leaks":64,"leaksUncounted":0,"coins":0,"dmg":905070,"bossDmg":0,"heal":64884,"deaths":0,"layerGains":{}}},
"units": [
["p1",1,"op","chess_char_6_diy1_b",0,"none",3288,1,5,64,10906,0,0,97,8],
["p1",2,"op","chess_char_6_diy2_b",1,"none",3288,1,7,17,2135,0,0,133,1],
["p1",3,"op","chess_char_6_diy1_b",2,"none",3288,1,10,34,138238,9520,0,96,3],
["p1",4,"op","chess_char_6_diy2_b",0,"uniequip_002_mcnist",3288,1,11,126,142436,0,0,136,11],
["p1",5,"op","chess_char_6_diy1_b",1,"uniequip_002_mcnist",3288,1,13,34,158373,4961,0,165,2],
["p1",6,"op","chess_char_6_diy2_b",2,"uniequip_002_mcnist",3288,1,15,61,451966,24113,0,110,3],
["p1",1,"op","chess_char_6_diy1_b",0,"none",3288,1,5,80,5833,0,0,135,11],
["p1",2,"op","chess_char_6_diy2_b",1,"none",3288,1,7,20,1634,0,0,159,1],
["p1",3,"op","chess_char_6_diy1_b",2,"none",3288,1,10,31,130728,9299,0,101,3],
["p1",4,"op","chess_char_6_diy2_b",0,"uniequip_002_mcnist",3288,1,11,74,139377,0,0,137,11],
["p1",5,"op","chess_char_6_diy1_b",1,"uniequip_002_mcnist",3288,1,13,22,170547,4912,0,165,2],
["p1",6,"op","chess_char_6_diy2_b",2,"uniequip_002_mcnist",3288,1,15,54,456950,24460,0,110,3],
["p1",7,"op","chess_char_5_diy1_a",0,null,1469,1,8,0,0,0,0,0,0],
["p1",8,"op","chess_char_5_diy2_a",1,null,1469,1,12,0,0,0,0,0,0],
["p1",9,"op","chess_char_5_diy1_a",2,null,1469,1,14,0,0,0,0,0,0],
["p1",10,"op","chess_char_5_diy2_b",0,"none",1578,1,4,0,0,0,17831,58,3],
["p1",11,"op","chess_char_5_diy1_b",1,"none",1578,1,6,0,0,0,23844,64,0],
["p1",12,"op","chess_char_5_diy2_b",2,"none",1578,1,9,0,0,26213,23132,64,0],
["p1",10,"op","chess_char_5_diy2_b",0,"none",1578,1,4,0,0,0,18204,57,3],
["p1",11,"op","chess_char_5_diy1_b",1,"none",1578,1,6,0,0,0,24349,65,0],
["p1",12,"op","chess_char_5_diy2_b",2,"none",1578,1,9,0,0,26213,22331,64,0],
["-","~1","device","trap_1105_accrate",null,null,100,1,1,0,0,0,0,0,null],
["-","~2","device","trap_1105_accrate",null,null,100,1,2,0,0,0,0,0,null],
["-","~3","device","trap_1105_accrate",null,null,100,1,3,0,0,0,0,0,null]
],
"enemies": {
"enemy_1195_sfyin": [39,39,0,1691,223591],
"enemy_1196_msfyin": [78,78,0,0,156],
"enemy_1197_sfshu": [48,48,0,29381,343985],
"enemy_1198_msfshu": [144,142,2,0,429],
"enemy_1199_sfjin": [18,18,0,33735,335386],
"enemy_1200_msfjin": [18,11,7,0,507]
"enemy_1195_sfyin": [39,39,0,1498,223591],
"enemy_1196_msfyin": [78,71,7,0,444],
"enemy_1197_sfshu": [48,48,0,29281,343985],
"enemy_1198_msfshu": [144,105,39,0,1119],
"enemy_1199_sfjin": [18,18,0,34105,335386],
"enemy_1200_msfjin": [18,0,18,0,545]
},
"hooks": [1,360,6475,1393,1393,2613,2613,186,336,345,31,27,70,12631,50,102,345,9,1,336,0,0,0],
"events": {"atk":1393,"deploy":12,"die":336,"dmg":2515,"engage":6,"fx":201,"heal":186,"leak":9,"skill":58,"spawn":360,"status":122},
"hooks": [1,360,6561,1463,1463,3564,3564,186,281,345,34,30,79,12661,93,102,345,64,1,281,0,0,0],
"events": {"atk":1463,"deploy":12,"die":281,"dmg":3455,"engage":6,"fx":201,"heal":186,"leak":64,"skill":64,"spawn":360,"status":201},
"fx": {"aoe":74,"shield":22,"summon":105},
"snaps": "c440567a 326191ee 7e3d8c87 47daeb5e c7c735f7 1755f028 2b541c5e f89a8611 eaa0aba3 84318826 a33536fa 9f4cdc41 0fb1a26a 7b6fa7c3 fa10e857 a17eab26 26c4562a 381da959 c655ea80 38574f75 01939af7 8546a5f1"
"snaps": "c440567a 326191ee 6e13735c 6294204e 903d4619 42ebb129 ed0a2127 3e1e2f3f dbcce0e6 f90995f9 c20ec877 a4b4a7e3 586740c9 3c7c258b e2a3fa20 a6f29460 2912e8b4 6861a912 57bb2ee3 52f32f3f f2257cf0 a6659339"
},
"diy-092": {
"about": "5_diy1_b=kalts/S1/002_kalts 5_diy2_b=kalts/S2/002_kalts 5_diy1_b=kalts/S3/002_kalts 5_diy2_b=kalts/S1/003_kalts 5_diy1_b=kalts/S2/003_kalts 5_diy2_b=kalts/S3/003_kalts 5_diy1_b=kalts/S1/004_kalts 5_diy2_b=kalts/S2/004_kalts 5_diy1_b=kalts/S3/004_kalts 6_diy1_a=kalts/S1 6_diy2_a=kalts/S2 6_diy1_a=kalts/S3",
@@ -4858,48 +4858,48 @@
"round": 13,
"seed": 4120508441,
"waveId": "act1autochess_h06",
"time": 206.37,
"ticks": 6191,
"time": 205.67,
"ticks": 6170,
"reason": "cleared",
"killed": 129,
"total": 192,
"killed": 100,
"total": 189,
"unspawned": 0,
"bossHpLeft": null,
"rngDraws": 8,
"errors": {"count":0,"kinds":[]},
"players": {"p1":{"killed":129,"total":192,"perfect":false,"leaks":63,"leaksUncounted":0,"coins":0,"dmg":561571,"bossDmg":0,"heal":0,"deaths":16,"layerGains":{}}},
"players": {"p1":{"killed":100,"total":189,"perfect":false,"leaks":89,"leaksUncounted":0,"coins":0,"dmg":609653,"bossDmg":0,"heal":0,"deaths":17,"layerGains":{}}},
"units": [
["p1",1,"op","chess_char_6_diy1_a",0,null,1884,1,190,7,57368,1884,0,56,2],
["p1",2,"op","chess_char_6_diy2_a",1,null,0,0,210,27,52153,3768,0,39,2],
["p1",3,"op","chess_char_6_diy1_a",2,null,1884,1,221,16,37799,1884,0,43,1],
["p1",4,"op","chess_char_6_diy2_b",0,"none",2216,1,193,10,78818,2216,0,66,2],
["p1",5,"op","chess_char_6_diy1_b",1,"none",0,0,153,18,103390,4432,0,41,1],
["p1",6,"op","chess_char_6_diy2_b",2,"none",0,0,182,14,109565,4432,0,47,1],
["p1",1,"op","chess_char_6_diy1_a",0,null,0,0,161,8,69701,3768,0,54,2],
["p1",2,"op","chess_char_6_diy2_a",1,null,0,0,204,15,41743,3768,0,44,2],
["p1",3,"op","chess_char_6_diy1_a",2,null,0,0,189,12,49954,3768,0,46,1],
["p1",4,"op","chess_char_6_diy2_b",0,"none",2216,1,178,7,117557,2216,0,77,2],
["p1",5,"op","chess_char_6_diy1_b",1,"none",1422.73,1,215,17,93749,5225,0,44,1],
["p1",6,"op","chess_char_6_diy2_b",2,"none",0,0,176,11,94818,4432,0,47,1],
["p1",7,"op","chess_char_5_diy1_a",0,null,1359,1,4,0,0,0,0,0,0],
["p1",8,"op","chess_char_5_diy2_a",1,null,1359,1,5,6,24701,0,0,53,0],
["p1",9,"op","chess_char_5_diy1_a",2,null,1359,1,176,0,49332,1359,0,40,2],
["p1",10,"op","chess_char_5_diy2_b",0,"none",0,0,181,4,15428,3140,0,38,3],
["p1",11,"op","chess_char_5_diy1_b",1,"none",0,0,174,1,9156,3140,0,21,4],
["p1",12,"op","chess_char_5_diy2_b",2,"none",0,0,141,4,11236,3140,0,12,1],
["p1",8,"op","chess_char_5_diy2_a",1,null,1359,1,5,5,30902,0,0,55,0],
["p1",9,"op","chess_char_5_diy1_a",2,null,278.33,1,15,1,66599,1081,0,68,4],
["p1",10,"op","chess_char_5_diy2_b",0,"none",0,0,175,1,15233,3140,0,43,3],
["p1",11,"op","chess_char_5_diy1_b",1,"none",0,0,166,2,6798,3140,0,21,4],
["p1",12,"op","chess_char_5_diy2_b",2,"none",0,0,135,1,11065,3140,0,12,1],
["-","~1","device","trap_1105_accrate",null,null,100,1,1,0,0,0,0,0,null],
["-","~2","device","trap_1105_accrate",null,null,100,1,2,0,0,0,0,0,null],
["-","~3","device","trap_1105_accrate",null,null,100,1,3,0,0,0,0,0,null],
["p1","~1","token","token_10024_ebnhlz_rcube",null,null,1000,0,37,0,1572,0,0,0,null],
["p1","~2","token","token_10024_ebnhlz_rcube",null,null,1000,0,52,0,0,0,0,0,null],
["p1","~3","token","token_10024_ebnhlz_rcube",null,null,1000,0,67,0,6859,0,0,0,null],
["p1","~1","token","token_10024_ebnhlz_rcube",null,null,1000,0,34,0,1575,0,0,0,null],
["p1","~2","token","token_10024_ebnhlz_rcube",null,null,1000,0,52,0,3144,0,0,0,null],
["p1","~3","token","token_10024_ebnhlz_rcube",null,null,1000,0,67,0,2620,0,0,0,null],
["p1","~4","token","token_10024_ebnhlz_rcube",null,null,1000,0,81,0,4195,0,0,0,null]
],
"enemies": {
"enemy_1197_sfshu": [15,10,5,2063,50904],
"enemy_1197_sfshu_2": [39,23,16,5263,152695],
"enemy_1198_msfshu": [30,28,2,0,84],
"enemy_1198_msfshu_2": [69,56,13,0,226],
"enemy_9010_acpupp": [39,12,27,17592,423507]
"enemy_1197_sfshu": [15,11,4,2080,58231],
"enemy_1197_sfshu_2": [39,21,18,3512,160052],
"enemy_1198_msfshu": [33,18,15,0,121],
"enemy_1198_msfshu_2": [63,39,24,0,294],
"enemy_9010_acpupp": [39,11,28,22908,456855]
},
"hooks": [1,221,6191,535,535,2462,2297,0,145,212,19,17,61,12752,17,34,192,63,1,159,0,0,0],
"events": {"atk":872,"deploy":26,"die":149,"dmg":2297,"engage":11,"fx":142,"leak":63,"skill":36,"spawn":211,"status":405},
"fx": {"aoe":4,"dash":3,"displace":8,"ember":14,"pull":8,"shieldBreak":28,"summon":37,"takeoff":9,"telegraph":14,"volley":17},
"snaps": "97d774f4 3a87e9c0 6315b127 d1ff957b 8b0cf599 cd2f1e7f fbdd679f 412975ca 7f643d57 ccd4ce7b 195534c4 83f343e9 2b37fa28 4b4448e3 fa4c1991 54fdfdf3 92e18880 6f78e175 eb683f36 f3f09809 12111fc4"
"hooks": [1,218,6170,582,582,2644,2428,0,117,210,21,20,61,13276,14,37,189,89,1,131,0,0,0],
"events": {"atk":977,"deploy":26,"die":121,"dmg":2428,"engage":11,"fx":146,"leak":89,"skill":41,"spawn":208,"status":453},
"fx": {"aoe":4,"dash":3,"displace":7,"ember":14,"pull":7,"revive":1,"shieldBreak":37,"summon":36,"takeoff":9,"telegraph":14,"volley":14},
"snaps": "1a9afff1 735fe7a7 1918eaaf 8286b650 c34878b6 23b206b8 2da76912 ea20a6d2 0dd1f805 a61b9d88 3794c6bc 5ef559b8 83dc413e 0a93386d 8a6964ef 1228b9a3 b751872a b5a034fd fbdfc5c5 daa6fd02 d18ebbc1"
},
"diy-115": {
"about": "5_diy1_b=ebnhlz/S1/002_ebnhlz 5_diy2_b=ebnhlz/S2/002_ebnhlz 5_diy1_b=ebnhlz/S3/002_ebnhlz 5_diy2_b=ebnhlz/S1/003_ebnhlz 5_diy1_b=ebnhlz/S2/003_ebnhlz 5_diy2_b=ebnhlz/S3/003_ebnhlz 5_diy1_b=ebnhlz/S1/004_ebnhlz 5_diy2_b=ebnhlz/S2/004_ebnhlz 5_diy1_b=ebnhlz/S3/004_ebnhlz 6_diy1_a=ebnhlz/S1 6_diy2_a=ebnhlz/S2 6_diy1_a=ebnhlz/S3",
@@ -4910,61 +4910,63 @@
"round": 12,
"seed": 2479968306,
"waveId": "act1autochess_h05",
"time": 192.17,
"ticks": 5765,
"time": 197.73,
"ticks": 5932,
"reason": "cleared",
"killed": 208,
"total": 259,
"killed": 144,
"total": 227,
"unspawned": 0,
"bossHpLeft": null,
"rngDraws": 0,
"errors": {"count":0,"kinds":[]},
"players": {"p1":{"killed":208,"total":259,"perfect":false,"leaks":51,"leaksUncounted":0,"coins":0,"dmg":536734,"bossDmg":0,"heal":0,"deaths":8,"layerGains":{}}},
"players": {"p1":{"killed":144,"total":227,"perfect":false,"leaks":83,"leaksUncounted":0,"coins":0,"dmg":497662,"bossDmg":0,"heal":0,"deaths":8,"layerGains":{}}},
"units": [
["p1",1,"op","chess_char_5_diy1_b",0,"uniequip_002_ebnhlz",1570,1,10,7,61901,0,0,45,5],
["p1",2,"op","chess_char_5_diy2_b",1,"uniequip_002_ebnhlz",1570,1,11,9,33720,0,0,27,0],
["p1",3,"op","chess_char_5_diy1_b",2,"uniequip_002_ebnhlz",1570,1,1,12,16864,0,0,24,4],
["p1",4,"op","chess_char_5_diy2_b",0,"uniequip_003_ebnhlz",1650,1,3,19,52771,0,0,72,8],
["p1",5,"op","chess_char_5_diy1_b",1,"uniequip_003_ebnhlz",1650,1,5,10,53069,0,0,62,6],
["p1",6,"op","chess_char_5_diy2_b",2,"uniequip_003_ebnhlz",1650,1,7,13,129334,0,0,51,4],
["p1",7,"op","chess_char_5_diy1_b",0,"uniequip_004_ebnhlz",1570,1,9,0,0,0,0,0,3],
["p1",8,"op","chess_char_5_diy2_b",1,"uniequip_004_ebnhlz",1570,1,12,8,66486,0,0,49,13],
["p1",9,"op","chess_char_5_diy1_b",2,"uniequip_004_ebnhlz",0,0,252,4,9422,3140,0,13,3],
["p1",10,"op","chess_char_6_diy1_a",0,null,0,0,184,10,13387,2718,0,35,2],
["p1",11,"op","chess_char_6_diy2_a",1,null,0,0,172,4,13432,2718,0,18,0],
["p1",12,"op","chess_char_6_diy1_a",2,null,358.44,1,288,1,15932,3719,0,14,1],
["p1",1,"op","chess_char_5_diy1_b",0,"uniequip_002_ebnhlz",1570,1,10,2,55141,0,0,47,5],
["p1",2,"op","chess_char_5_diy2_b",1,"uniequip_002_ebnhlz",1570,1,11,9,32478,0,0,29,0],
["p1",3,"op","chess_char_5_diy1_b",2,"uniequip_002_ebnhlz",1570,1,1,3,10361,0,0,24,4],
["p1",4,"op","chess_char_5_diy2_b",0,"uniequip_003_ebnhlz",1650,1,3,18,41709,0,0,77,8],
["p1",5,"op","chess_char_5_diy1_b",1,"uniequip_003_ebnhlz",1650,1,5,7,49468,0,0,62,7],
["p1",6,"op","chess_char_5_diy2_b",2,"uniequip_003_ebnhlz",1650,1,7,12,130468,0,0,51,4],
["p1",7,"op","chess_char_5_diy1_b",0,"uniequip_004_ebnhlz",1570,1,9,1,1,0,0,1,3],
["p1",8,"op","chess_char_5_diy2_b",1,"uniequip_004_ebnhlz",1570,1,12,4,62765,0,0,49,14],
["p1",9,"op","chess_char_5_diy1_b",2,"uniequip_004_ebnhlz",0,0,168,1,1006,3140,0,6,2],
["p1",10,"op","chess_char_6_diy1_a",0,null,0,0,154,4,11892,2718,0,32,2],
["p1",11,"op","chess_char_6_diy2_a",1,null,1359,1,261,3,13309,2718,0,18,0],
["p1",12,"op","chess_char_6_diy1_a",2,null,358.44,1,257,3,16428,3719,0,15,1],
["p1","~1","token","token_10024_ebnhlz_rcube",null,null,1000,0,29,0,0,0,0,0,null],
["p1","~2","token","token_10024_ebnhlz_rcube",null,null,1000,0,30,1,12752,0,0,0,null],
["p1","~3","token","token_10024_ebnhlz_rcube",null,null,1000,0,55,0,5544,0,0,0,null],
["p1","~4","token","token_10024_ebnhlz_rcube",null,null,1000,0,78,0,4990,0,0,0,null],
["p1","~5","token","token_10024_ebnhlz_rcube",null,null,1000,0,80,0,0,0,0,0,null],
["p1","~6","token","token_10024_ebnhlz_rcube",null,null,1000,0,100,0,4990,0,0,0,null],
["p1","~7","token","token_10024_ebnhlz_rcube",null,null,1000,0,130,0,12197,0,0,0,null],
["p1","~8","token","token_10024_ebnhlz_rcube",null,null,1000,0,133,0,0,0,0,0,null],
["p1","~9","token","token_10024_ebnhlz_rcube",null,null,1000,0,146,0,2772,0,0,0,null],
["p1","~10","token","token_10024_ebnhlz_rcube",null,null,1000,0,163,0,2221,0,0,0,null],
["p1","~11","token","token_10024_ebnhlz_rcube",null,null,1000,0,169,0,0,0,0,0,null],
["p1","~12","token","token_10024_ebnhlz_rcube",null,null,1000,0,183,0,4990,0,0,0,null],
["p1","~13","token","token_10024_ebnhlz_rcube",null,null,1000,0,211,0,9425,0,0,0,null],
["p1","~14","token","token_10024_ebnhlz_rcube",null,null,1000,0,219,0,0,0,0,0,null],
["p1","~15","token","token_10024_ebnhlz_rcube",null,null,1000,0,233,0,2772,0,0,0,null],
["p1","~16","token","token_10024_ebnhlz_rcube",null,null,1000,0,254,0,2776,0,0,0,null],
["p1","~17","token","token_10024_ebnhlz_rcube",null,null,1000,1,266,0,0,0,0,0,null],
["p1","~18","token","token_10024_ebnhlz_rcube",null,null,1000,0,271,0,4990,0,0,0,null],
["p1","~19","token","token_10024_ebnhlz_rcube",null,null,1000,0,289,0,0,0,0,0,null]
["p1","~2","token","token_10024_ebnhlz_rcube",null,null,1000,0,30,0,12753,0,0,0,null],
["p1","~3","token","token_10024_ebnhlz_rcube",null,null,1000,0,50,0,5544,0,0,0,null],
["p1","~4","token","token_10024_ebnhlz_rcube",null,null,1000,0,72,0,4990,0,0,0,null],
["p1","~5","token","token_10024_ebnhlz_rcube",null,null,1000,0,74,0,0,0,0,0,null],
["p1","~6","token","token_10024_ebnhlz_rcube",null,null,1000,0,90,0,4990,0,0,0,null],
["p1","~7","token","token_10024_ebnhlz_rcube",null,null,1000,0,111,0,14415,0,0,0,null],
["p1","~8","token","token_10024_ebnhlz_rcube",null,null,1000,0,117,0,0,0,0,0,null],
["p1","~9","token","token_10024_ebnhlz_rcube",null,null,1000,0,127,0,2772,0,0,0,null],
["p1","~10","token","token_10024_ebnhlz_rcube",null,null,1000,0,143,0,2221,0,0,0,null],
["p1","~11","token","token_10024_ebnhlz_rcube",null,null,1000,0,151,0,0,0,0,0,null],
["p1","~12","token","token_10024_ebnhlz_rcube",null,null,1000,0,162,0,4990,0,0,0,null],
["p1","~13","token","token_10024_ebnhlz_rcube",null,null,1000,0,191,0,9425,0,0,0,null],
["p1","~14","token","token_10024_ebnhlz_rcube",null,null,1000,0,199,0,0,0,0,0,null],
["p1","~15","token","token_10024_ebnhlz_rcube",null,null,1000,0,209,0,2772,0,0,0,null],
["p1","~16","token","token_10024_ebnhlz_rcube",null,null,1000,0,229,0,2776,0,0,0,null],
["p1","~17","token","token_10024_ebnhlz_rcube",null,null,1000,0,238,0,0,0,0,0,null],
["p1","~18","token","token_10024_ebnhlz_rcube",null,null,1000,0,241,0,4990,0,0,0,null],
["p1","~19","token","token_10024_ebnhlz_rcube",null,null,1000,0,256,0,0,0,0,0,null],
["p1","~20","token","token_10024_ebnhlz_rcube",null,null,1000,1,265,0,0,0,0,0,null],
["p1","~21","token","token_10024_ebnhlz_rcube",null,null,1000,1,266,0,0,0,0,0,null]
],
"enemies": {
"enemy_1195_sfyin": [45,29,16,6630,173980],
"enemy_1196_msfyin": [58,47,11,0,100],
"enemy_1197_sfshu": [39,31,8,5665,206300],
"enemy_1198_msfshu": [93,80,13,0,255],
"enemy_1195_sfyin": [45,19,26,7158,146790],
"enemy_1196_msfyin": [38,29,9,0,168],
"enemy_1197_sfshu": [39,27,12,5137,197243],
"enemy_1198_msfshu": [81,57,24,0,476],
"enemy_1199_sfjin": [12,12,0,0,186325],
"enemy_1200_msfjin": [12,9,3,0,348]
"enemy_1200_msfjin": [12,0,12,0,437]
},
"hooks": [1,295,5765,454,454,2006,2133,0,216,285,49,46,0,29129,0,33,259,51,1,216,0,0,0],
"events": {"atk":454,"deploy":36,"die":234,"dmg":2133,"engage":11,"fx":203,"leak":51,"skill":95,"spawn":290},
"fx": {"aoe":13,"displace":15,"pull":15,"summon":91,"volley":69},
"snaps": "b588f908 3e494b66 7fb32537 71b0eef7 0ba2102c 45f5c079 34965635 623d36c9 810d632b 7b7fa948 20347259 f0c4c4f6 24670c39 5239293a 330c3bae e630058a 2ecdf26a 6f55e7d9 c10e6084 afcaf641"
"hooks": [1,266,5932,455,455,2393,2515,0,152,254,50,48,0,28986,0,22,227,83,1,152,0,0,0],
"events": {"atk":455,"deploy":39,"die":171,"dmg":2515,"engage":12,"fx":190,"leak":83,"skill":98,"spawn":260},
"fx": {"aoe":13,"displace":16,"pull":16,"summon":79,"volley":66},
"snaps": "91fb3c6f d3e10878 3d853179 26896ae7 e696337d 1b2da6ff 1bfeee0d fb774e06 5e77f18b f80d9662 7bee428a 4509ab74 436b4bf2 4fa574ff 5bfc1409 939750df de739552 428b1f77 3229b466 9655ba53"
},
"diy-116": {
"about": "6_diy1_b=ebnhlz/S1 6_diy2_b=ebnhlz/S2 6_diy1_b=ebnhlz/S3 6_diy2_b=ebnhlz/S1/002_ebnhlz 6_diy1_b=ebnhlz/S2/002_ebnhlz 6_diy2_b=ebnhlz/S3/002_ebnhlz 6_diy1_b=ebnhlz/S1/003_ebnhlz 6_diy2_b=ebnhlz/S2/003_ebnhlz 6_diy1_b=ebnhlz/S3/003_ebnhlz 6_diy2_b=ebnhlz/S1/004_ebnhlz 6_diy1_b=ebnhlz/S2/004_ebnhlz 6_diy2_b=ebnhlz/S3/004_ebnhlz",
+432 -421
View File
File diff suppressed because it is too large. Load diff
+85 -85
View File
@@ -16,7 +16,7 @@
"combat": "client",
"boost": null,
"setup": {"stageId":"act1autochess_m01","bossId":"boss_5","hiddenBossId":null,"factions":["TIMES","DOT","INVISIBLE"]},
"end": {"victory":false,"roundsPassed":8,"hiddenReached":false,"hiddenCleared":false,"reason":"defeat","teamLp":0,"bossPoolLeft":91555,"virtualMs":68100},
"end": {"victory":false,"roundsPassed":8,"hiddenReached":false,"hiddenCleared":false,"reason":"defeat","teamLp":0,"bossPoolLeft":76685,"virtualMs":68100},
"rng": {"setup":16,"shop":81,"waves":0,"draft":0,"bots":5205,"meta":0},
"errors": {"engine":0,"logged":0,"sim":0,"dispatcher":0},
"rounds": [
@@ -43,7 +43,7 @@
"title": {"id":"comment_2","name":"不朽盟约","picId":"comment_icon_2","text":"激活的盟约层数总和最高"},
"trophies": 0,
"reward": 100,
"stats": {"activatedLayers":75,"bossDamage":108445,"dmgDealt":711959,"gold":71,"itemsEquipped":14,"kills":169,"leaks":0,"lpLost":0,"merges":2,"perfectRounds":8,"refreshes":4},
"stats": {"activatedLayers":75,"bossDamage":123315,"dmgDealt":682384,"gold":71,"itemsEquipped":14,"kills":169,"leaks":0,"lpLost":0,"merges":2,"perfectRounds":8,"refreshes":4},
"lineup": ["2_14_a@12,3","1_13_a@11,3","3_14_a@11,8[5_02_e_b+2_01_e_a]","3_10_a@10,3","3_16_a@10,4[3_03_e_a+2_04_e_a]","5_14_a@10,7[4_08_e_a+4_05_e_a]","3_05_a@10,8","3_20_b@9,8[5_02_e_b+1_01_e_a]"],
"bonds": ["deputShip 2/9","emptyShip 1/6","indomShip 0/5","kjeragShip 1/16","preciShip 0/2","sargonShip 0/8","steadShip 1/38","swiftShip 1/6"]
}
@@ -59,7 +59,7 @@
"combat": "client",
"boost": null,
"setup": {"stageId":"act1autochess_m01","bossId":"boss_5","hiddenBossId":null,"factions":["ELEMENT","DOT","REFLECTION"]},
"end": {"victory":false,"roundsPassed":8,"hiddenReached":false,"hiddenCleared":false,"reason":"defeat","teamLp":0,"bossPoolLeft":107027,"virtualMs":68100},
"end": {"victory":false,"roundsPassed":8,"hiddenReached":false,"hiddenCleared":false,"reason":"defeat","teamLp":0,"bossPoolLeft":112117,"virtualMs":68100},
"rng": {"setup":16,"shop":161,"waves":0,"draft":0,"bots":5205,"meta":43},
"errors": {"engine":0,"logged":0,"sim":0,"dispatcher":0},
"rounds": [
@@ -83,7 +83,7 @@
"title": {"id":"comment_2","name":"不朽盟约","picId":"comment_icon_2","text":"激活的盟约层数总和最高"},
"trophies": 0,
"reward": 100,
"stats": {"activatedLayers":128,"bossDamage":92973,"dmgDealt":696253,"gold":78,"itemsEquipped":16,"kills":142,"leaks":0,"lpLost":0,"merges":0,"perfectRounds":8,"refreshes":18},
"stats": {"activatedLayers":128,"bossDamage":87883,"dmgDealt":640107,"gold":78,"itemsEquipped":16,"kills":141,"leaks":0,"lpLost":0,"merges":0,"perfectRounds":8,"refreshes":18},
"lineup": ["3_20_a@12,3[4_07_e_a+3_04_e_b]","2_14_a@12,4","2_05_a@12,6","3_10_a@11,3","4_14_a@11,8[4_02_e_a+4_08_e_a]","1_06_a@10,3[5_02_e_a+2_03_e_a]","1_02_a@10,4[3_08_e_a+2_01_e_b]","4_11_a@10,8[4_04_e_a+1_01_e_a]"],
"bonds": ["deputShip 2/40","emptyShip 1/12","kjeragShip 1/28","steadShip 0/26","swiftShip 1/18","victoriaShip 1/30"]
}
@@ -99,7 +99,7 @@
"combat": "client",
"boost": null,
"setup": {"stageId":"act1autochess_m03","bossId":"boss_5","hiddenBossId":"boss_8","factions":["TIMES","DOT","INVISIBLE"]},
"end": {"victory":true,"roundsPassed":15,"hiddenReached":true,"hiddenCleared":true,"reason":"victory","teamLp":27,"bossPoolLeft":0,"virtualMs":112800},
"end": {"victory":true,"roundsPassed":14,"hiddenReached":true,"hiddenCleared":false,"reason":"victory","teamLp":0,"bossPoolLeft":60290,"virtualMs":112800},
"rng": {"setup":25,"shop":233,"waves":0,"draft":10,"bots":8923,"meta":6},
"errors": {"engine":0,"logged":0,"sim":0,"dispatcher":0},
"rounds": [
@@ -141,23 +141,23 @@
},
{
"round": 13,
"ai_0": [1,27,12,0,0,6,8,"168e12ee",337,"arcaneShip 2/18, kazimierzShip 0/10, kjeragShip 0/2, preciShip 2/59, sargonShip 0/8, siracusaShip 1/212, soloShip 1/3, steadShip 0/2, suntShip 1/0, swiftShip 1/45",115,115,0,121]
"ai_0": [1,27,12,0,0,6,8,"168e12ee",331,"arcaneShip 2/18, kazimierzShip 0/10, kjeragShip 0/2, preciShip 2/65, sargonShip 0/8, siracusaShip 1/200, soloShip 1/3, steadShip 0/2, suntShip 1/0, swiftShip 1/45",115,115,0,121]
}
],
"players": {
"ai_0": {
"alive": true,
"victory": true,
"roundsPassed": 15,
"roundsPassed": 14,
"eliminatedRound": null,
"lp": 27,
"lp": 0,
"bandId": "band_ermengard",
"title": {"id":"comment_1","name":"卫戍之星","picId":"comment_icon_1","text":"对敌方领袖造成伤害最高(仅胜利时)"},
"trophies": 0,
"reward": 400,
"stats": {"activatedLayers":400,"bossDamage":1327500,"dmgDealt":3289069,"gold":144,"itemsEquipped":16,"kills":386,"leaks":0,"lpLost":0,"merges":4,"perfectRounds":13,"refreshes":18},
"stats": {"activatedLayers":394,"bossDamage":1267210,"dmgDealt":3259304,"gold":144,"itemsEquipped":16,"kills":389,"leaks":0,"lpLost":0,"merges":4,"perfectRounds":13,"refreshes":18},
"lineup": ["6_08_a@12,8","1_17_b@11,7","4_14_a@11,8[5_03_e_a]","6_18_a@10,4[3_02_e_a+3_05_e_a]","4_10_a@10,5[3_02_e_b+3_08_e_b]","6_02_a@10,6","1_19_b@10,8[4_05_e_a]","1_08_a@9,9[1_01_e_a+1_02_e_b]"],
"bonds": ["arcaneShip 2/34","kazimierzShip 0/10","kjeragShip 0/2","miraShip 1/3","preciShip 2/73","sargonShip 0/8","siracusaShip 1/232","soloShip 1/3","steadShip 0/2","suntShip 1/0","swiftShip 1/55","yanShip 0/6"]
"bonds": ["arcaneShip 2/34","kazimierzShip 0/10","kjeragShip 0/2","miraShip 1/3","preciShip 2/79","sargonShip 0/8","siracusaShip 1/220","soloShip 1/3","steadShip 0/2","suntShip 1/0","swiftShip 1/55","yanShip 0/6"]
}
}
},
@@ -230,7 +230,7 @@
"title": {"id":"comment_1","name":"卫戍之星","picId":"comment_icon_1","text":"对敌方领袖造成伤害最高(仅胜利时)"},
"trophies": 0,
"reward": 400,
"stats": {"activatedLayers":106,"bossDamage":390000,"dmgDealt":2363014,"gold":142,"itemsEquipped":10,"kills":251,"leaks":35,"lpLost":24,"merges":3,"perfectRounds":9,"refreshes":21},
"stats": {"activatedLayers":106,"bossDamage":390000,"dmgDealt":2489398,"gold":142,"itemsEquipped":10,"kills":253,"leaks":35,"lpLost":24,"merges":3,"perfectRounds":9,"refreshes":21},
"lineup": ["5_10_a@12,7[3_11_e_a]","1_01_b@11,4","3_17_b@11,5[2_01_e_a+4_08_e_a]","6_17_a@11,6","3_05_a@11,7","2_18_a@10,3","4_01_a@10,4[1_05_e_a+4_10_e_a]","5_01_a@10,6[4_04_e_a+4_06_e_a]"],
"bonds": ["arcaneShip 0/2","kazimierzShip 1/4","kjeragShip 0/8","lateranoShip 1/31","preciShip 0/42","raidShip 1/24","sargonShip 0/2","soloShip 1/0","steadShip 2/20","suntShip 1/0","swiftShip 0/7","visiShip 1/27"]
}
@@ -246,7 +246,7 @@
"combat": "client",
"boost": null,
"setup": {"stageId":"act1autochess_m03","bossId":"boss_5","hiddenBossId":"boss_8","factions":["TIMES","DOT","INVISIBLE"]},
"end": {"victory":true,"roundsPassed":14,"hiddenReached":true,"hiddenCleared":false,"reason":"victory","teamLp":0,"bossPoolLeft":2940151,"virtualMs":113700},
"end": {"victory":true,"roundsPassed":14,"hiddenReached":true,"hiddenCleared":false,"reason":"victory","teamLp":0,"bossPoolLeft":2945733,"virtualMs":113700},
"rng": {"setup":25,"shop":254,"waves":0,"draft":42,"bots":8257,"meta":13},
"errors": {"engine":0,"logged":0,"sim":0,"dispatcher":0},
"rounds": [
@@ -302,7 +302,7 @@
"title": {"id":"comment_1","name":"卫戍之星","picId":"comment_icon_1","text":"对敌方领袖造成伤害最高(仅胜利时)"},
"trophies": 0,
"reward": 425,
"stats": {"activatedLayers":498,"bossDamage":1439849,"dmgDealt":3333294,"gold":151,"itemsEquipped":18,"kills":423,"leaks":0,"lpLost":0,"merges":4,"perfectRounds":13,"refreshes":21},
"stats": {"activatedLayers":498,"bossDamage":1434267,"dmgDealt":3409508,"gold":151,"itemsEquipped":18,"kills":422,"leaks":0,"lpLost":0,"merges":4,"perfectRounds":13,"refreshes":21},
"lineup": ["4_14_b@12,8[5_01_e_a+2_01_e_b]","3_19_a@11,7[3_02_e_b]","4_20_b@11,8[3_11_e_b+3_06_e_a]","4_10_a@10,6","6_17_a@10,8[4_10_e_b+4_05_e_a]","5_07_a@9,4","1_08_a@9,5[1_01_e_a+1_02_e_a]","1_19_b@9,9[3_08_e_a+3_01_e_a]"],
"bonds": ["arcaneShip 1/18","kazimierzShip 1/96","kjeragShip 0/2","miraShip 1/3","preciShip 1/76","raidShip 1/132","sargonShip 0/8","siracusaShip 1/119","soloShip 1/1","steadShip 0/11","suntShip 1/0","swiftShip 1/53"]
}
@@ -318,7 +318,7 @@
"combat": "client",
"boost": null,
"setup": {"stageId":"act1autochess_m03","bossId":"boss_5","hiddenBossId":"boss_10","factions":["ELEMENT","DOT","REFLECTION"]},
"end": {"victory":true,"roundsPassed":14,"hiddenReached":false,"hiddenCleared":false,"reason":"victory","teamLp":13,"bossPoolLeft":0,"virtualMs":107800},
"end": {"victory":true,"roundsPassed":14,"hiddenReached":false,"hiddenCleared":false,"reason":"victory","teamLp":9,"bossPoolLeft":0,"virtualMs":107800},
"rng": {"setup":25,"shop":315,"waves":0,"draft":42,"bots":8690,"meta":112},
"errors": {"engine":0,"logged":0,"sim":0,"dispatcher":0},
"rounds": [
@@ -355,15 +355,15 @@
},
{
"round": 11,
"ai_0": [1,19,13,0,1,5,8,"a0ee08e8",204,"arcaneShip 1/24, kazimierzShip 0/2, kjeragShip 0/8, lateranoShip 0/3, preciShip 1/56, sargonShip 1/66, siracusaShip 1/58, soloShip 1/0, steadShip 0/8, swiftShip 0/5",28,28,0,108]
"ai_0": [1,15,13,0,1,5,8,"a0ee08e8",202,"arcaneShip 1/24, kazimierzShip 0/2, kjeragShip 0/8, lateranoShip 0/3, preciShip 1/55, sargonShip 1/65, siracusaShip 1/58, soloShip 1/0, steadShip 0/8, swiftShip 0/5",24,28,4,108]
},
{
"round": 12,
"ai_0": [1,19,13,0,1,6,8,"a5da0b66",250,"arcaneShip 1/24, kazimierzShip 0/2, kjeragShip 0/8, lateranoShip 0/3, preciShip 2/77, sargonShip 1/91, siracusaShip 1/58, steadShip 0/8, swiftShip 0/5",45,45,0,121]
"ai_0": [1,15,13,0,1,6,8,"a5da0b66",246,"arcaneShip 1/24, kazimierzShip 0/2, kjeragShip 0/8, lateranoShip 0/3, preciShip 2/75, sargonShip 1/89, siracusaShip 1/58, steadShip 0/8, swiftShip 0/5",45,45,0,121]
},
{
"round": 13,
"ai_0": [1,13,13,0,1,6,8,"a849c6cf",167,"arcaneShip 0/24, kazimierzShip 0/2, kjeragShip 0/8, lateranoShip 0/3, miraShip 1/2, preciShip 1/77, sargonShip 0/91, siracusaShip 2/88, steadShip 0/8, swiftShip 0/5",23,29,6,135]
"ai_0": [1,9,13,0,1,6,8,"a849c6cf",168,"arcaneShip 0/24, kazimierzShip 0/2, kjeragShip 0/8, lateranoShip 0/3, miraShip 1/3, preciShip 1/75, sargonShip 0/89, siracusaShip 2/90, steadShip 0/8, swiftShip 0/5",23,29,6,135]
}
],
"players": {
@@ -372,14 +372,14 @@
"victory": true,
"roundsPassed": 14,
"eliminatedRound": null,
"lp": 13,
"lp": 9,
"bandId": "band_ducklord",
"title": {"id":"comment_1","name":"卫戍之星","picId":"comment_icon_1","text":"对敌方领袖造成伤害最高(仅胜利时)"},
"trophies": 0,
"reward": 425,
"stats": {"activatedLayers":235,"bossDamage":780000,"dmgDealt":3069328,"gold":148,"itemsEquipped":21,"kills":291,"leaks":16,"lpLost":16,"merges":4,"perfectRounds":10,"refreshes":31},
"stats": {"activatedLayers":235,"bossDamage":780000,"dmgDealt":3064834,"gold":148,"itemsEquipped":21,"kills":283,"leaks":20,"lpLost":20,"merges":4,"perfectRounds":9,"refreshes":31},
"lineup": ["5_20_a@12,5[3_08_e_a+3_07_e_a]","5_02_a@12,6[1_05_e_b]","6_01_a@12,7","6_12_a@11,8","4_10_b@10,3[3_11_e_a]","5_07_a@10,7[4_05_e_a+4_10_e_b]","4_16_a@10,8[4_02_e_a]","5_10_a@9,8"],
"bonds": ["arcaneShip 1/39","emptyShip 1/0","kazimierzShip 0/2","kjeragShip 0/8","lateranoShip 0/3","miraShip 0/2","preciShip 2/77","raidShip 1/0","sargonShip 0/91","siracusaShip 1/119","steadShip 0/8","swiftShip 0/5"]
"bonds": ["arcaneShip 1/39","emptyShip 1/0","kazimierzShip 0/2","kjeragShip 0/8","lateranoShip 0/3","miraShip 0/3","preciShip 2/75","raidShip 1/0","sargonShip 0/89","siracusaShip 1/121","steadShip 0/8","swiftShip 0/5"]
}
}
},
@@ -393,8 +393,8 @@
"combat": "client",
"boost": null,
"setup": {"stageId":"act1autochess_m03","bossId":"boss_5","hiddenBossId":"boss_8","factions":["TIMES","DOT","INVISIBLE"]},
"end": {"victory":false,"roundsPassed":13,"hiddenReached":false,"hiddenCleared":false,"reason":"defeat","teamLp":0,"bossPoolLeft":2852438,"virtualMs":107800},
"rng": {"setup":25,"shop":205,"waves":0,"draft":42,"bots":8029,"meta":9},
"end": {"victory":false,"roundsPassed":13,"hiddenReached":false,"hiddenCleared":false,"reason":"defeat","teamLp":0,"bossPoolLeft":2159842,"virtualMs":107800},
"rng": {"setup":25,"shop":191,"waves":0,"draft":42,"bots":8028,"meta":6},
"errors": {"engine":0,"logged":0,"sim":0,"dispatcher":0},
"rounds": [
{"round":1,"ai_0":[1,27,4,0,0,1,2,"cc1bac8f",0,"sargonShip 0/2, soloShip 1/0",5,5,0,4]},
@@ -407,35 +407,35 @@
},
{
"round": 6,
"ai_0": [1,27,9,0,0,3,8,"0e30e70c",36,"kazimierzShip 0/8, kjeragShip 0/2, raidShip 1/11, sargonShip 0/8, siracusaShip 1/17, soloShip 1/1, steadShip 1/7, suntShip 1/0, swiftShip 0/8",56,56,0,41]
"ai_0": [1,25,9,0,0,3,8,"28d64424",36,"kazimierzShip 0/8, kjeragShip 0/2, raidShip 1/11, sargonShip 0/8, siracusaShip 1/17, soloShip 1/1, steadShip 1/7, suntShip 1/0, swiftShip 0/8",54,56,2,41]
},
{
"round": 7,
"ai_0": [1,27,10,0,0,4,8,"c990b80e",64,"kazimierzShip 0/8, kjeragShip 0/2, raidShip 1/28, sargonShip 0/8, siracusaShip 1/23, soloShip 1/1, steadShip 1/12, suntShip 1/0, swiftShip 0/8",28,28,0,52]
"ai_0": [1,25,10,0,0,4,8,"ab25b282",62,"kazimierzShip 0/8, kjeragShip 0/2, raidShip 1/27, sargonShip 0/8, siracusaShip 1/23, soloShip 1/1, steadShip 1/11, suntShip 1/0, swiftShip 0/8",28,28,0,52]
},
{
"round": 8,
"ai_0": [1,18,11,0,0,4,8,"4818bec0",86,"kazimierzShip 0/8, kjeragShip 0/2, raidShip 1/41, sargonShip 0/8, siracusaShip 1/31, soloShip 1/1, steadShip 0/12, suntShip 1/0, swiftShip 1/13",10,19,9,62]
"ai_0": [1,22,11,0,0,4,8,"b9ec26e5",87,"kazimierzShip 0/8, kjeragShip 0/2, raidShip 1/40, sargonShip 0/8, siracusaShip 1/33, soloShip 1/1, steadShip 0/11, suntShip 1/0, swiftShip 1/13",16,19,3,62]
},
{
"round": 9,
"ai_0": [1,18,12,0,0,4,8,"24bfb351",154,"kazimierzShip 1/24, kjeragShip 0/2, preciShip 1/9, raidShip 1/57, sargonShip 0/8, siracusaShip 1/45, soloShip 1/1, steadShip 0/12, swiftShip 1/18",34,34,0,73]
"ai_0": [1,22,12,0,0,4,8,"6567f156",163,"kazimierzShip 1/28, kjeragShip 0/2, preciShip 1/13, raidShip 1/56, sargonShip 0/8, siracusaShip 1/47, soloShip 1/1, steadShip 0/11, swiftShip 1/18",34,34,0,73]
},
{
"round": 10,
"ai_0": [1,18,12,0,0,5,8,"de2a44e5",202,"kazimierzShip 1/40, kjeragShip 0/2, preciShip 1/18, raidShip 1/71, sargonShip 0/8, siracusaShip 1/49, soloShip 1/1, steadShip 0/12, swiftShip 1/23",24,24,0,85]
"ai_0": [1,22,12,0,0,5,8,"de2a44e5",210,"kazimierzShip 1/44, kjeragShip 0/2, preciShip 1/22, raidShip 1/71, sargonShip 0/8, siracusaShip 1/49, soloShip 1/1, steadShip 0/11, swiftShip 1/23",24,24,0,85]
},
{
"round": 11,
"ai_0": [1,11,12,0,0,5,8,"701a7d6f",252,"kazimierzShip 1/56, kjeragShip 0/2, preciShip 1/26, raidShip 1/81, sargonShip 0/8, siracusaShip 1/65, soloShip 1/1, steadShip 0/12, suntShip 1/0, swiftShip 1/23",27,34,7,96]
"ai_0": [1,22,12,0,1,5,8,"efe038c9",271,"kazimierzShip 1/64, kjeragShip 0/2, preciShip 1/30, raidShip 1/86, sargonShip 0/8, siracusaShip 1/67, soloShip 1/1, steadShip 0/11, suntShip 1/0, swiftShip 1/23",34,34,0,96]
},
{
"round": 12,
"ai_0": [1,1,12,0,0,6,8,"2c61d1eb",292,"kazimierzShip 1/76, kjeragShip 0/2, preciShip 1/34, raidShip 1/93, sargonShip 0/8, siracusaShip 1/65, soloShip 1/1, steadShip 0/12, suntShip 1/0, swiftShip 1/23",15,31,16,109]
"ai_0": [1,12,13,0,0,6,8,"c9c17eab",363,"arcaneShip 1/0, kazimierzShip 1/100, kjeragShip 0/2, preciShip 1/54, raidShip 1/114, sargonShip 0/8, siracusaShip 1/71, soloShip 1/1, steadShip 0/11, suntShip 1/0, swiftShip 1/23",21,31,10,111]
},
{
"round": 13,
"ai_0": [1,1,12,0,0,6,8,"f046804c",373,"kazimierzShip 1/92, kjeragShip 0/2, miraShip 1/3, preciShip 1/52, raidShip 1/109, sargonShip 0/8, siracusaShip 1/83, soloShip 1/1, steadShip 0/12, suntShip 1/0, swiftShip 1/33",115,115,0,120]
"ai_0": [1,2,12,0,0,6,8,"6a87b062",476,"arcaneShip 1/6, kazimierzShip 1/120, kjeragShip 0/2, miraShip 1/3, preciShip 1/72, raidShip 1/150, sargonShip 0/8, siracusaShip 1/91, soloShip 1/1, steadShip 0/11, suntShip 1/0, swiftShip 1/33",92,115,23,125]
}
],
"players": {
@@ -449,9 +449,9 @@
"title": {"id":"comment_2","name":"不朽盟约","picId":"comment_icon_2","text":"激活的盟约层数总和最高"},
"trophies": 0,
"reward": 340,
"stats": {"activatedLayers":407,"bossDamage":147562,"dmgDealt":2602554,"gold":131,"itemsEquipped":15,"kills":374,"leaks":32,"lpLost":26,"merges":4,"perfectRounds":10,"refreshes":15},
"lineup": ["4_14_b@12,6","3_19_a@12,7[3_02_e_b]","4_20_b@11,8[3_11_e_b+5_01_e_a]","4_10_a@10,3","3_12_a@10,6[4_05_e_a+4_10_e_b]","1_08_a@10,7[1_01_e_a+1_02_e_a]","1_19_b@10,8[3_08_e_a+3_01_e_a]","3_05_a@9,9[2_01_e_a+3_06_e_a]"],
"bonds": ["kazimierzShip 1/92","kjeragShip 0/2","miraShip 1/3","preciShip 1/62","raidShip 1/109","sargonShip 0/8","siracusaShip 1/97","soloShip 1/1","steadShip 0/12","suntShip 1/0","swiftShip 1/43"]
"stats": {"activatedLayers":513,"bossDamage":840158,"dmgDealt":4177068,"gold":137,"itemsEquipped":16,"kills":382,"leaks":38,"lpLost":25,"merges":4,"perfectRounds":9,"refreshes":13},
"lineup": ["4_14_b@12,5[2_01_e_a+5_01_e_a]","3_19_a@12,6[3_02_e_b]","4_20_b@11,8[3_11_e_b+3_06_e_a]","4_10_a@10,3","5_07_a@10,7","6_17_a@10,8[4_10_e_b]","1_08_a@9,5[1_01_e_a+1_02_e_a]","1_19_b@9,9[3_08_e_a+3_01_e_a]"],
"bonds": ["arcaneShip 1/12","kazimierzShip 1/120","kjeragShip 0/2","miraShip 0/3","preciShip 1/82","raidShip 1/150","sargonShip 0/8","siracusaShip 1/105","soloShip 1/1","steadShip 0/11","suntShip 1/0","swiftShip 1/43"]
}
}
},
@@ -516,7 +516,7 @@
"combat": "client",
"boost": null,
"setup": {"stageId":"act2autochess_m04","bossId":"boss_3","hiddenBossId":"boss_8","factions":["FLY","TIMES","DOT"]},
"end": {"victory":true,"roundsPassed":14,"hiddenReached":false,"hiddenCleared":false,"reason":"victory","teamLp":39,"bossPoolLeft":0,"virtualMs":116900},
"end": {"victory":true,"roundsPassed":14,"hiddenReached":false,"hiddenCleared":false,"reason":"victory","teamLp":40,"bossPoolLeft":0,"virtualMs":118400},
"rng": {"setup":25,"shop":413,"waves":0,"draft":40,"bots":21608,"meta":11},
"errors": {"engine":0,"logged":0,"sim":0,"dispatcher":0},
"rounds": [
@@ -577,13 +577,13 @@
},
{
"round": 12,
"ai_0": [1,37,12,0,0,6,8,"e51a7992",179,"arcaneShip 1/26, egirShip 1/78, preciShip 0/10, raidShip 1/7, sargonShip 0/10, siracusaShip 1/32, skillfulShip 0/8, soloShip 1/6, suntShip 1/0, swiftShip 1/30",105,105,0,114],
"ai_1": [1,19,12,0,0,6,8,"1d33396d",189,"arcaneShip 2/22, indomShip 0/6, kazimierzShip 1/64, kjeragShip 0/10, preciShip 2/76, sargonShip 0/10, soloShip 1/0, steadShip 0/9, suntShip 1/0, swiftShip 1/27",105,105,0,111]
"ai_0": [1,37,12,0,0,6,8,"e51a7992",187,"arcaneShip 1/26, egirShip 1/87, preciShip 0/10, raidShip 1/6, sargonShip 0/10, siracusaShip 1/32, skillfulShip 0/8, soloShip 1/6, suntShip 1/0, swiftShip 1/30",103,105,2,114],
"ai_1": [1,19,12,0,0,6,8,"4af8a77b",202,"arcaneShip 2/22, indomShip 0/6, kazimierzShip 1/64, kjeragShip 0/10, preciShip 2/89, sargonShip 0/10, soloShip 1/0, steadShip 0/9, suntShip 1/0, swiftShip 1/27",105,105,0,111]
},
{
"round": 13,
"ai_0": [1,30,12,0,0,6,8,"588a1c67",208,"arcaneShip 2/49, egirShip 1/109, preciShip 0/10, raidShip 0/7, sargonShip 0/10, siracusaShip 1/44, skillfulShip 0/8, soloShip 1/6, steadShip 1/0, suntShip 1/0, swiftShip 0/30",27,34,7,126],
"ai_1": [1,9,12,0,2,6,8,"a04ac729",253,"arcaneShip 1/24, indomShip 0/6, kazimierzShip 1/80, kjeragShip 0/10, miraShip 1/0, preciShip 2/108, sargonShip 0/10, siracusaShip 1/6, soloShip 1/0, steadShip 0/9, suntShip 1/0, swiftShip 1/35",23,34,11,124]
"ai_0": [1,30,12,0,0,6,8,"588a1c67",217,"arcaneShip 2/49, egirShip 1/118, preciShip 0/10, raidShip 0/6, sargonShip 0/10, siracusaShip 1/44, skillfulShip 0/8, soloShip 1/6, steadShip 1/0, suntShip 1/0, swiftShip 0/30",27,34,7,126],
"ai_1": [1,10,12,0,2,6,8,"a04ac729",266,"arcaneShip 1/24, indomShip 0/6, kazimierzShip 1/80, kjeragShip 0/10, miraShip 1/0, preciShip 2/121, sargonShip 0/10, siracusaShip 1/6, soloShip 1/0, steadShip 0/9, suntShip 1/0, swiftShip 1/35",25,34,9,124]
}
],
"players": {
@@ -597,23 +597,23 @@
"title": {"id":"comment_3","name":"坚若磐石","picId":"comment_icon_3","text":"目标生命值损失最少"},
"trophies": 4,
"reward": 400,
"stats": {"activatedLayers":239,"bossDamage":440927,"dmgDealt":2994796,"gold":139,"itemsEquipped":18,"kills":322,"leaks":18,"lpLost":15,"merges":4,"perfectRounds":9,"refreshes":17},
"stats": {"activatedLayers":247,"bossDamage":422635,"dmgDealt":2968544,"gold":139,"itemsEquipped":18,"kills":318,"leaks":20,"lpLost":15,"merges":4,"perfectRounds":8,"refreshes":17},
"lineup": ["6_16_a@11,8","4_10_b@10,5[3_01_e_a+1_02_e_b]","6_15_a@10,7","5_05_a@10,8[3_09_e_a]","3_05_a@9,4[3_05_e_a+3_07_e_a]","3_18_a@9,5[4_05_e_a]","3_09_a@9,8[4_07_e_a+1_05_e_b]","1_08_b@9,9[4_03_e_a+4_04_e_a]"],
"bonds": ["arcaneShip 2/65","egirShip 1/109","preciShip 0/10","raidShip 1/7","sargonShip 0/10","siracusaShip 1/52","skillfulShip 0/8","soloShip 1/6","suntShip 1/0","swiftShip 0/30"]
"bonds": ["arcaneShip 2/65","egirShip 1/118","preciShip 0/10","raidShip 1/6","sargonShip 0/10","siracusaShip 1/52","skillfulShip 0/8","soloShip 1/6","suntShip 1/0","swiftShip 0/30"]
},
"ai_1": {
"alive": true,
"victory": true,
"roundsPassed": 14,
"eliminatedRound": null,
"lp": 9,
"lp": 10,
"bandId": "band_dusk",
"title": {"id":"comment_1","name":"卫戍之星","picId":"comment_icon_1","text":"对敌方领袖造成伤害最高(仅胜利时)"},
"trophies": 4,
"reward": 400,
"stats": {"activatedLayers":269,"bossDamage":976573,"dmgDealt":3630098,"gold":139,"itemsEquipped":19,"kills":312,"leaks":20,"lpLost":19,"merges":5,"perfectRounds":10,"refreshes":13},
"stats": {"activatedLayers":282,"bossDamage":994865,"dmgDealt":3663366,"gold":139,"itemsEquipped":19,"kills":316,"leaks":18,"lpLost":18,"merges":5,"perfectRounds":10,"refreshes":13},
"lineup": ["1_17_b@11,7","4_20_b@11,8[5_02_e_a+1_02_e_a]","4_10_a@10,5","6_19_a@10,7[4_06_e_a+4_05_e_a]","1_19_b@10,8[2_04_e_b+4_08_e_b]","5_02_a@9,7","5_20_a@9,8","1_08_b@9,9"],
"bonds": ["arcaneShip 1/28","indomShip 0/6","kazimierzShip 1/80","kjeragShip 0/10","miraShip 1/0","preciShip 2/108","sargonShip 0/10","siracusaShip 1/18","soloShip 1/0","steadShip 0/9","suntShip 1/0","swiftShip 1/35"]
"bonds": ["arcaneShip 1/28","indomShip 0/6","kazimierzShip 1/80","kjeragShip 0/10","miraShip 1/0","preciShip 2/121","sargonShip 0/10","siracusaShip 1/18","soloShip 1/0","steadShip 0/9","suntShip 1/0","swiftShip 1/35"]
}
}
},
@@ -708,7 +708,7 @@
"title": {"id":"comment_5","name":"万事俱备","picId":"comment_icon_5","text":"装备配发数量最多"},
"trophies": 2,
"reward": 255,
"stats": {"activatedLayers":0,"bossDamage":0,"dmgDealt":1461472,"gold":113,"itemsEquipped":10,"kills":161,"leaks":72,"lpLost":28,"merges":2,"perfectRounds":5,"refreshes":9},
"stats": {"activatedLayers":0,"bossDamage":0,"dmgDealt":1461486,"gold":113,"itemsEquipped":10,"kills":161,"leaks":72,"lpLost":28,"merges":2,"perfectRounds":5,"refreshes":9},
"lineup": [],
"bonds": ["deputShip 0/2","indomShip 0/8","kazimierzShip 0/2","kjeragShip 0/2","raidShip 0/2","siracusaShip 0/32","skillfulShip 0/12","soloShip 0/5","steadShip 0/14","suntShip 0/2","swiftShip 0/12"]
},
@@ -722,7 +722,7 @@
"title": {"id":"comment_4","name":"精英云集","picId":"comment_icon_4","text":"晋升精锐次数最多"},
"trophies": 3,
"reward": 298,
"stats": {"activatedLayers":0,"bossDamage":0,"dmgDealt":3663883,"gold":136,"itemsEquipped":11,"kills":257,"leaks":40,"lpLost":31,"merges":4,"perfectRounds":8,"refreshes":22},
"stats": {"activatedLayers":0,"bossDamage":0,"dmgDealt":3663893,"gold":136,"itemsEquipped":11,"kills":257,"leaks":40,"lpLost":31,"merges":4,"perfectRounds":8,"refreshes":22},
"lineup": [],
"bonds": ["arcaneShip 0/40","kazimierzShip 0/2","preciShip 0/84","sargonShip 0/80","skillfulShip 0/14","swiftShip 0/10"]
}
@@ -738,8 +738,8 @@
"combat": "client",
"boost": null,
"setup": {"stageId":"act2autochess_m03","bossId":"boss_4","hiddenBossId":"boss_9","factions":["FLY","TIMES","REFLECTION"]},
"end": {"victory":false,"roundsPassed":11,"hiddenReached":false,"hiddenCleared":false,"reason":"eliminated","teamLp":null,"bossPoolLeft":null,"virtualMs":113850},
"rng": {"setup":25,"shop":550,"waves":0,"draft":75,"bots":24012,"meta":18},
"end": {"victory":false,"roundsPassed":11,"hiddenReached":false,"hiddenCleared":false,"reason":"eliminated","teamLp":null,"bossPoolLeft":null,"virtualMs":114100},
"rng": {"setup":25,"shop":507,"waves":0,"draft":74,"bots":23150,"meta":14},
"errors": {"engine":0,"logged":0,"sim":0,"dispatcher":0},
"rounds": [
{
@@ -768,9 +768,9 @@
},
{
"round": 5,
"ai_0": [1,23,9,0,0,3,8,"61eb7d90",20,"deputShip 1/12, kazimierzShip 0/2, soloShip 1/2, swiftShip 1/6",53,53,0,32],
"ai_0": [1,23,9,0,0,3,8,"61eb7d90",20,"deputShip 1/12, kazimierzShip 0/2, soloShip 1/2, swiftShip 1/6",52,53,1,32],
"ai_1": [1,43,10,0,0,3,8,"b4417f25",27,"deputShip 2/6, kazimierzShip 0/7, swiftShip 1/21",53,53,0,34],
"ai_2": [1,27,9,0,2,3,8,"a15e1321",10,"indomShip 1/4, siracusaShip 1/0, soloShip 1/6, yanShip 0/1",53,53,0,31]
"ai_2": [1,27,9,0,2,3,8,"d36660af",10,"indomShip 1/4, siracusaShip 1/0, soloShip 1/6, yanShip 0/1",48,53,5,31]
},
{
"round": 6,
@@ -793,26 +793,26 @@
{
"round": 9,
"ai_0": [1,3,12,0,1,4,8,"7e93ff85",153,"deputShip 1/45, emptyShip 1/2, kazimierzShip 0/4, lateranoShip 1/29, skillfulShip 1/35, soloShip 1/8, steadShip 1/14, suntShip 1/2, swiftShip 1/18",48,58,10,78],
"ai_1": [1,29,12,0,1,4,8,"1c039dc7",113,"deputShip 1/14, kazimierzShip 0/7, raidShip 1/14, siracusaShip 1/26, soloShip 0/4, suntShip 1/8, swiftShip 1/51",56,60,4,76],
"ai_2": [1,9,16,0,0,4,8,"a9a38e4e",84,"deputShip 0/4, indomShip 0/8, miraShip 1/10, siracusaShip 2/58, skillfulShip 0/4, soloShip 1/12, suntShip 1/4, swiftShip 0/9, yanShip 0/1",41,49,8,82]
"ai_1": [1,23,12,0,1,4,8,"723e25d7",113,"deputShip 1/14, kazimierzShip 0/7, raidShip 1/14, siracusaShip 1/26, soloShip 0/4, suntShip 1/8, swiftShip 1/51",53,64,11,76],
"ai_2": [1,7,16,0,0,4,8,"a9a38e4e",81,"deputShip 0/4, indomShip 0/8, miraShip 1/9, siracusaShip 2/56, skillfulShip 0/4, soloShip 1/12, suntShip 1/4, swiftShip 0/9, yanShip 0/1",36,47,11,82]
},
{
"round": 10,
"ai_0": [0,0,13,0,0,5,0,"811c9dc5",0,"arcaneShip 0/4, deputShip 0/48, emptyShip 0/5, kazimierzShip 0/4, lateranoShip 0/36, skillfulShip 0/38, soloShip 0/8, steadShip 0/18, suntShip 0/2, swiftShip 0/23",8,18,10,91],
"ai_1": [1,19,13,0,0,5,8,"fc1d75ab",140,"deputShip 1/16, kazimierzShip 0/7, raidShip 1/21, siracusaShip 1/32, soloShip 0/4, suntShip 1/10, swiftShip 1/61",7,18,11,88],
"ai_2": [1,1,12,0,0,5,8,"d01eec8b",102,"deputShip 0/4, indomShip 0/8, miraShip 1/12, siracusaShip 2/64, skillfulShip 0/4, soloShip 1/12, suntShip 0/4, swiftShip 1/14, yanShip 0/1",10,18,8,93]
"ai_1": [1,13,13,0,0,5,8,"fc1d75ab",140,"deputShip 1/16, kazimierzShip 0/7, raidShip 1/21, siracusaShip 1/32, soloShip 0/4, suntShip 1/10, swiftShip 1/61",7,18,11,88],
"ai_2": [0,0,12,0,0,5,0,"811c9dc5",0,"deputShip 0/4, indomShip 0/8, miraShip 0/12, siracusaShip 0/64, skillfulShip 0/4, soloShip 0/12, suntShip 0/4, swiftShip 0/14, yanShip 0/1",9,18,9,93]
},
{
"round": 11,
"ai_0": [0,0,0,0,0,5,0,"811c9dc5",0,"arcaneShip 0/4, deputShip 0/48, emptyShip 0/5, kazimierzShip 0/4, lateranoShip 0/36, skillfulShip 0/38, soloShip 0/8, steadShip 0/18, suntShip 0/2, swiftShip 0/23",null,null,null,91],
"ai_1": [1,9,12,0,2,5,8,"17a87146",162,"deputShip 0/16, kazimierzShip 0/7, raidShip 1/29, siracusaShip 1/41, soloShip 1/4, suntShip 1/10, swiftShip 1/69, visiShip 1/9",7,25,18,101],
"ai_2": [0,0,12,0,0,5,0,"811c9dc5",0,"deputShip 0/4, indomShip 0/8, miraShip 0/12, siracusaShip 0/84, skillfulShip 0/4, soloShip 0/12, suntShip 0/4, swiftShip 0/16, yanShip 0/1",10,25,15,105]
"ai_1": [1,3,12,0,1,5,8,"d996affb",151,"deputShip 0/16, kazimierzShip 0/7, preciShip 1/5, raidShip 1/26, siracusaShip 1/44, soloShip 0/4, suntShip 0/10, swiftShip 1/67, visiShip 1/9",9,25,16,101],
"ai_2": [0,0,0,0,0,5,0,"811c9dc5",0,"deputShip 0/4, indomShip 0/8, miraShip 0/12, siracusaShip 0/64, skillfulShip 0/4, soloShip 0/12, suntShip 0/4, swiftShip 0/14, yanShip 0/1",null,null,null,93]
},
{
"round": 12,
"ai_0": [0,0,0,0,0,5,0,"811c9dc5",0,"arcaneShip 0/4, deputShip 0/48, emptyShip 0/5, kazimierzShip 0/4, lateranoShip 0/36, skillfulShip 0/38, soloShip 0/8, steadShip 0/18, suntShip 0/2, swiftShip 0/23",null,null,null,91],
"ai_1": [0,0,16,0,0,6,0,"811c9dc5",0,"arcaneShip 0/6, deputShip 0/16, kazimierzShip 0/7, raidShip 0/34, siracusaShip 0/47, soloShip 0/4, suntShip 0/10, swiftShip 0/74, visiShip 0/22",4,57,53,119],
"ai_2": [0,0,0,0,0,5,0,"811c9dc5",0,"deputShip 0/4, indomShip 0/8, miraShip 0/12, siracusaShip 0/84, skillfulShip 0/4, soloShip 0/12, suntShip 0/4, swiftShip 0/16, yanShip 0/1",null,null,null,105]
"ai_1": [0,0,15,0,0,6,0,"811c9dc5",0,"arcaneShip 0/14, deputShip 0/16, kazimierzShip 0/7, preciShip 0/10, raidShip 0/31, siracusaShip 0/48, soloShip 0/4, suntShip 0/10, swiftShip 0/72, visiShip 0/22",8,57,49,118],
"ai_2": [0,0,0,0,0,5,0,"811c9dc5",0,"deputShip 0/4, indomShip 0/8, miraShip 0/12, siracusaShip 0/64, skillfulShip 0/4, soloShip 0/12, suntShip 0/4, swiftShip 0/14, yanShip 0/1",null,null,null,93]
}
],
"players": {
@@ -823,10 +823,10 @@
"eliminatedRound": 10,
"lp": 0,
"bandId": "band_chiave",
"title": {"id":"comment_6","name":"挥金如土","picId":"comment_icon_6","text":"消耗资金最多"},
"title": {"id":"comment_5","name":"万事俱备","picId":"comment_icon_5","text":"装备配发数量最多"},
"trophies": 2,
"reward": 191,
"stats": {"activatedLayers":0,"bossDamage":0,"dmgDealt":1395734,"gold":91,"itemsEquipped":6,"kills":212,"leaks":37,"lpLost":30,"merges":2,"perfectRounds":4,"refreshes":11},
"stats": {"activatedLayers":0,"bossDamage":0,"dmgDealt":1390519,"gold":91,"itemsEquipped":6,"kills":211,"leaks":38,"lpLost":30,"merges":2,"perfectRounds":3,"refreshes":11},
"lineup": [],
"bonds": ["arcaneShip 0/4","deputShip 0/48","emptyShip 0/5","kazimierzShip 0/4","lateranoShip 0/36","skillfulShip 0/38","soloShip 0/8","steadShip 0/18","suntShip 0/2","swiftShip 0/23"]
},
@@ -837,26 +837,26 @@
"eliminatedRound": 12,
"lp": 0,
"bandId": "band_sarkazb",
"title": {"id":"comment_5","name":"万事俱备","picId":"comment_icon_5","text":"装备配发数量最多"},
"title": {"id":"comment_4","name":"精英云集","picId":"comment_icon_4","text":"晋升精锐次数最多"},
"trophies": 2,
"reward": 255,
"stats": {"activatedLayers":0,"bossDamage":0,"dmgDealt":2604413,"gold":119,"itemsEquipped":12,"kills":270,"leaks":105,"lpLost":46,"merges":2,"perfectRounds":6,"refreshes":23},
"stats": {"activatedLayers":0,"bossDamage":0,"dmgDealt":3136317,"gold":118,"itemsEquipped":13,"kills":279,"leaks":106,"lpLost":52,"merges":4,"perfectRounds":6,"refreshes":21},
"lineup": [],
"bonds": ["arcaneShip 0/6","deputShip 0/16","kazimierzShip 0/7","raidShip 0/34","siracusaShip 0/47","soloShip 0/4","suntShip 0/10","swiftShip 0/74","visiShip 0/22"]
"bonds": ["arcaneShip 0/14","deputShip 0/16","kazimierzShip 0/7","preciShip 0/10","raidShip 0/31","siracusaShip 0/48","soloShip 0/4","suntShip 0/10","swiftShip 0/72","visiShip 0/22"]
},
"ai_2": {
"alive": false,
"victory": false,
"roundsPassed": 10,
"eliminatedRound": 11,
"roundsPassed": 9,
"eliminatedRound": 10,
"lp": 0,
"bandId": "band_lmlee",
"title": {"id":"comment_4","name":"精英云集","picId":"comment_icon_4","text":"晋升精锐次数最多"},
"title": {"id":"comment_6","name":"挥金如土","picId":"comment_icon_6","text":"消耗资金最多"},
"trophies": 2,
"reward": 213,
"stats": {"activatedLayers":0,"bossDamage":0,"dmgDealt":1845779,"gold":105,"itemsEquipped":12,"kills":181,"leaks":72,"lpLost":36,"merges":4,"perfectRounds":3,"refreshes":14},
"reward": 191,
"stats": {"activatedLayers":0,"bossDamage":0,"dmgDealt":1280412,"gold":93,"itemsEquipped":9,"kills":160,"leaks":66,"lpLost":29,"merges":4,"perfectRounds":2,"refreshes":10},
"lineup": [],
"bonds": ["deputShip 0/4","indomShip 0/8","miraShip 0/12","siracusaShip 0/84","skillfulShip 0/4","soloShip 0/12","suntShip 0/4","swiftShip 0/16","yanShip 0/1"]
"bonds": ["deputShip 0/4","indomShip 0/8","miraShip 0/12","siracusaShip 0/64","skillfulShip 0/4","soloShip 0/12","suntShip 0/4","swiftShip 0/14","yanShip 0/1"]
}
}
},
@@ -977,7 +977,7 @@
"title": {"id":"comment_3","name":"坚若磐石","picId":"comment_icon_3","text":"目标生命值损失最少"},
"trophies": 3,
"reward": 250,
"stats": {"activatedLayers":203,"bossDamage":70558,"dmgDealt":1490268,"gold":140,"itemsEquipped":20,"kills":293,"leaks":0,"lpLost":0,"merges":4,"perfectRounds":13,"refreshes":20},
"stats": {"activatedLayers":203,"bossDamage":69646,"dmgDealt":1489355,"gold":140,"itemsEquipped":20,"kills":293,"leaks":0,"lpLost":0,"merges":4,"perfectRounds":13,"refreshes":20},
"lineup": ["6_14_a@12,3","3_16_a@11,7[4_06_e_a+6_03_e_a]","4_24_a@10,3[6_07_e_a]","2_17_b@10,4[1_02_e_a]","2_08_b@9,3[4_04_e_a+5_01_e_a]","1_12_b@9,4[3_02_e_a+3_08_e_a]","3_13_b@9,8[2_04_e_a+1_05_e_a]","6_05_a@9,9[3_05_e_b+3_07_e_a]"],
"bonds": ["deputShip 1/63","indomShip 0/4","kjeragShip 0/12","sargonShip 1/45","steadShip 2/95","visiShip 0/8"]
},
@@ -991,7 +991,7 @@
"title": {"id":"comment_1","name":"卫戍之星","picId":"comment_icon_1","text":"对敌方领袖造成伤害最高(仅胜利时)"},
"trophies": 3,
"reward": 250,
"stats": {"activatedLayers":384,"bossDamage":417152,"dmgDealt":1941627,"gold":128,"itemsEquipped":19,"kills":284,"leaks":0,"lpLost":0,"merges":6,"perfectRounds":13,"refreshes":9},
"stats": {"activatedLayers":384,"bossDamage":413886,"dmgDealt":1938359,"gold":128,"itemsEquipped":19,"kills":284,"leaks":0,"lpLost":0,"merges":6,"perfectRounds":13,"refreshes":9},
"lineup": ["5_10_a@12,8[4_03_e_b+3_04_e_b]","5_02_a@11,6","6_12_a@11,7","1_13_b@11,8","6_20_a@10,3","3_18_b@10,8[2_01_e_b+4_12_e_a]","4_14_a@9,8[4_06_e_a+3_11_e_a]","1_08_b@9,9[1_01_e_b+3_01_e_a]"],
"bonds": ["deputShip 1/32","emptyShip 1/18","preciShip 2/159","sargonShip 0/2","siracusaShip 1/90","swiftShip 1/85"]
},
@@ -1005,7 +1005,7 @@
"title": {"id":"comment_2","name":"不朽盟约","picId":"comment_icon_2","text":"激活的盟约层数总和最高"},
"trophies": 3,
"reward": 250,
"stats": {"activatedLayers":307,"bossDamage":246847,"dmgDealt":1661325,"gold":129,"itemsEquipped":23,"kills":294,"leaks":0,"lpLost":0,"merges":4,"perfectRounds":13,"refreshes":11},
"stats": {"activatedLayers":307,"bossDamage":254144,"dmgDealt":1668623,"gold":129,"itemsEquipped":23,"kills":294,"leaks":0,"lpLost":0,"merges":4,"perfectRounds":13,"refreshes":11},
"lineup": ["4_21_b@11,3[3_07_e_a]","5_02_a@11,6[6_03_e_a+4_03_e_a]","6_12_a@11,7[3_11_e_a+1_02_e_a]","5_20_a@11,8[4_02_e_a+5_02_e_b]","3_18_a@10,4[4_06_e_a+5_01_e_b]","2_16_b@9,4[4_04_e_a+4_05_e_a]","1_13_b@9,8[4_08_e_a+4_12_e_a]","4_14_a@9,9[3_06_e_a+2_01_e_b]"],
"bonds": ["deputShip 1/14","preciShip 2/92","sargonShip 0/8","siracusaShip 1/142","steadShip 0/16","swiftShip 1/59","yanShip 0/1"]
},
@@ -1019,7 +1019,7 @@
"title": {"id":"comment_5","name":"万事俱备","picId":"comment_icon_5","text":"装备配发数量最多"},
"trophies": 3,
"reward": 250,
"stats": {"activatedLayers":249,"bossDamage":405443,"dmgDealt":1842625,"gold":138,"itemsEquipped":31,"kills":282,"leaks":1,"lpLost":0,"merges":2,"perfectRounds":12,"refreshes":18},
"stats": {"activatedLayers":249,"bossDamage":402324,"dmgDealt":1839503,"gold":138,"itemsEquipped":31,"kills":282,"leaks":1,"lpLost":0,"merges":2,"perfectRounds":12,"refreshes":18},
"lineup": ["6_12_a@11,7[4_03_e_a+2_01_e_b]","6_05_a@11,8","4_10_a@10,3[4_06_e_a]","4_10_a@10,4[5_03_e_a+3_01_e_b]","2_16_a@10,7[5_02_e_a+4_06_e_b]","4_16_a@10,8[4_05_e_a+4_07_e_a]","4_14_b@9,8[6_03_e_a+4_09_e_a]"],
"bonds": ["deputShip 0/16","kjeragShip 0/5","preciShip 2/131","siracusaShip 1/88","swiftShip 1/30","yanShip 0/7"]
}
@@ -1128,7 +1128,7 @@
"title": {"id":"comment_4","name":"精英云集","picId":"comment_icon_4","text":"晋升精锐次数最多"},
"trophies": 2,
"reward": 213,
"stats": {"activatedLayers":0,"bossDamage":0,"dmgDealt":1582681,"gold":98,"itemsEquipped":11,"kills":86,"leaks":75,"lpLost":48,"merges":3,"perfectRounds":4,"refreshes":13},
"stats": {"activatedLayers":0,"bossDamage":0,"dmgDealt":1582775,"gold":98,"itemsEquipped":11,"kills":86,"leaks":75,"lpLost":48,"merges":3,"perfectRounds":4,"refreshes":13},
"lineup": [],
"bonds": ["arcaneShip 0/22","indomShip 0/4","kazimierzShip 0/28","preciShip 0/8","swiftShip 0/14"]
},
@@ -1142,7 +1142,7 @@
"title": {"id":"comment_6","name":"挥金如土","picId":"comment_icon_6","text":"消耗资金最多"},
"trophies": 1,
"reward": 170,
"stats": {"activatedLayers":0,"bossDamage":0,"dmgDealt":1254589,"gold":76,"itemsEquipped":9,"kills":80,"leaks":39,"lpLost":35,"merges":1,"perfectRounds":5,"refreshes":10},
"stats": {"activatedLayers":0,"bossDamage":0,"dmgDealt":1254499,"gold":76,"itemsEquipped":9,"kills":80,"leaks":39,"lpLost":35,"merges":1,"perfectRounds":5,"refreshes":10},
"lineup": [],
"bonds": ["arcaneShip 0/4","kazimierzShip 0/23","kjeragShip 0/2","preciShip 0/30","sargonShip 0/4","steadShip 0/18","swiftShip 0/20"]
},
@@ -1186,7 +1186,7 @@
"combat": "server",
"boost": null,
"setup": {"stageId":"act1autochess_m01","bossId":"boss_1","hiddenBossId":"boss_9","factions":["FLY","DOT","REFLECTION"]},
"end": {"victory":true,"roundsPassed":14,"hiddenReached":false,"hiddenCleared":false,"reason":"victory","teamLp":32,"bossPoolLeft":0,"virtualMs":119900},
"end": {"victory":true,"roundsPassed":14,"hiddenReached":false,"hiddenCleared":false,"reason":"victory","teamLp":27,"bossPoolLeft":0,"virtualMs":119900},
"rng": {"setup":25,"shop":511,"waves":0,"draft":34,"bots":18062,"meta":112},
"errors": {"engine":0,"logged":0,"sim":0,"dispatcher":0},
"rounds": [
@@ -1262,12 +1262,12 @@
"victory": true,
"roundsPassed": 14,
"eliminatedRound": null,
"lp": 9,
"lp": 8,
"bandId": "band_doberm",
"title": {"id":"comment_1","name":"卫戍之星","picId":"comment_icon_1","text":"对敌方领袖造成伤害最高(仅胜利时)"},
"trophies": 4,
"reward": 400,
"stats": {"activatedLayers":285,"bossDamage":757732,"dmgDealt":3727425,"gold":142,"itemsEquipped":20,"kills":265,"leaks":43,"lpLost":21,"merges":4,"perfectRounds":10,"refreshes":23},
"stats": {"activatedLayers":285,"bossDamage":774837,"dmgDealt":3726837,"gold":142,"itemsEquipped":20,"kills":260,"leaks":43,"lpLost":21,"merges":4,"perfectRounds":10,"refreshes":23},
"lineup": ["5_20_a@11,3[4_07_e_a+1_01_e_a]","5_12_a@11,6[6_09_e_a+3_08_e_b]","6_11_a@11,7","2_10_a@10,3[3_05_e_a+3_11_e_b]","4_10_a@10,7[4_09_e_a+1_05_e_a]","1_08_b@10,8[1_02_e_a+5_03_e_a]","4_11_b@9,8[4_08_e_a]","6_07_a@9,9[4_10_e_a+4_05_e_a]"],
"bonds": ["arcaneShip 2/74","deputShip 0/18","indomShip 0/8","kjeragShip 0/2","maniShip 1/0","miraShip 1/12","preciShip 0/4","siracusaShip 1/132","soloShip 1/30","steadShip 0/2","suntShip 1/8","victoriaShip 1/29","visiShip 0/8"]
},
@@ -1276,12 +1276,12 @@
"victory": true,
"roundsPassed": 14,
"eliminatedRound": null,
"lp": 23,
"lp": 19,
"bandId": "band_malkie",
"title": {"id":"comment_3","name":"坚若磐石","picId":"comment_icon_3","text":"目标生命值损失最少"},
"trophies": 4,
"reward": 400,
"stats": {"activatedLayers":166,"bossDamage":592268,"dmgDealt":3922620,"gold":132,"itemsEquipped":21,"kills":253,"leaks":15,"lpLost":5,"merges":3,"perfectRounds":9,"refreshes":22},
"stats": {"activatedLayers":166,"bossDamage":575163,"dmgDealt":3850159,"gold":132,"itemsEquipped":21,"kills":253,"leaks":15,"lpLost":5,"merges":3,"perfectRounds":9,"refreshes":22},
"lineup": ["3_20_a@12,3[4_03_e_a+5_01_e_a]","5_10_a@11,3[1_01_e_a+3_04_e_b]","5_02_a@11,6","1_17_a@11,7[5_07_e_a+1_02_e_b]","3_11_b@10,3[3_03_e_a+5_02_e_b]","1_08_b@10,8[3_06_e_a+4_11_e_a]","1_02_b@9,4[4_10_e_a+4_08_e_b]","6_18_a@9,9[3_11_e_a+5_02_e_a]"],
"bonds": ["arcaneShip 0/4","indomShip 0/8","kjeragShip 1/28","preciShip 2/88","siracusaShip 1/50","soloShip 1/0","steadShip 0/8","suntShip 1/0","victoriaShip 0/8","visiShip 0/8"]
}
@@ -1347,7 +1347,7 @@
},
{
"round": 12,
"ai_0": [1,398,14,0,0,6,8,"402ad3d6",2480,"arcaneShip 1/310, deputShip 0/300, egirShip 0/300, emptyShip 0/300, indomShip 1/300, investShip 0/300, kazimierzShip 1/308, kjeragShip 0/310, lateranoShip 0/300, maniShip 0/300, miraShip 0/300, preciShip 1/314, raidShip 0/300, sargonShip 0/300, siracusaShip 0/306, skillfulShip 0/316, soloShip 1/307, steadShip 1/312, suntShip 1/300, swiftShip 1/329, victoriaShip 0/300, visiShip 0/300, yanShip 0/300",114,114,0,112]
"ai_0": [1,398,14,0,0,6,8,"a4a36dee",2480,"arcaneShip 1/310, deputShip 0/300, egirShip 0/300, emptyShip 0/300, indomShip 1/300, investShip 0/300, kazimierzShip 1/308, kjeragShip 0/310, lateranoShip 0/300, maniShip 0/300, miraShip 0/300, preciShip 1/314, raidShip 0/300, sargonShip 0/300, siracusaShip 0/306, skillfulShip 0/316, soloShip 1/307, steadShip 1/312, suntShip 1/300, swiftShip 1/329, victoriaShip 0/300, visiShip 0/300, yanShip 0/300",114,114,0,112]
},
{
"round": 13,
@@ -1365,7 +1365,7 @@
"title": {"id":"comment_1","name":"卫戍之星","picId":"comment_icon_1","text":"对敌方领袖造成伤害最高(仅胜利时)"},
"trophies": 0,
"reward": 425,
"stats": {"activatedLayers":2931,"bossDamage":4580000,"dmgDealt":6350822,"gold":167,"itemsEquipped":19,"kills":371,"leaks":2,"lpLost":2,"merges":5,"perfectRounds":12,"refreshes":35},
"stats": {"activatedLayers":2931,"bossDamage":4580000,"dmgDealt":6377549,"gold":167,"itemsEquipped":19,"kills":375,"leaks":2,"lpLost":2,"merges":5,"perfectRounds":12,"refreshes":35},
"lineup": ["1_17_b@12,7[1_05_e_a]","3_17_a@12,8[1_02_e_b+2_01_e_b]","6_16_a@11,5","5_06_a@11,8[5_02_e_a+4_04_e_a]","4_14_b@10,4[1_01_e_b]","2_18_b@10,5[1_02_e_a+4_03_e_a]","3_16_a@9,5[4_02_e_a]","1_19_b@9,9[1_05_e_b+2_01_e_a]"],
"bonds": ["arcaneShip 1/348","deputShip 0/300","egirShip 0/300","emptyShip 0/300","indomShip 1/300","investShip 0/300","kazimierzShip 1/311","kjeragShip 0/310","lateranoShip 0/300","maniShip 0/300","miraShip 0/300","preciShip 1/338","raidShip 0/300","sargonShip 0/300","siracusaShip 0/306","skillfulShip 1/350","soloShip 1/307","steadShip 1/322","suntShip 1/300","swiftShip 1/355","victoriaShip 0/300","visiShip 0/300","yanShip 0/300"]
}
@@ -1462,7 +1462,7 @@
"title": {"id":"comment_2","name":"不朽盟约","picId":"comment_icon_2","text":"激活的盟约层数总和最高"},
"trophies": 8,
"reward": 425,
"stats": {"activatedLayers":2908,"bossDamage":3909426,"dmgDealt":15927135,"gold":176,"itemsEquipped":24,"kills":286,"leaks":0,"lpLost":0,"merges":6,"perfectRounds":13,"refreshes":31},
"stats": {"activatedLayers":2908,"bossDamage":3890526,"dmgDealt":16114688,"gold":176,"itemsEquipped":24,"kills":287,"leaks":0,"lpLost":0,"merges":6,"perfectRounds":13,"refreshes":31},
"lineup": ["3_16_b@12,8[4_02_e_b+5_01_e_a]","3_11_b@11,8[3_01_e_a+1_01_e_b]","3_20_a@10,3[3_07_e_a+3_04_e_b]","1_02_b@10,4[1_02_e_a+4_05_e_a]","5_06_a@10,8[4_04_e_a+2_01_e_a]","4_21_b@9,7","6_12_a@9,8[3_08_e_a+1_05_e_a]","5_10_a@9,9[4_06_e_a]"],
"bonds": ["arcaneShip 0/314","deputShip 1/317","egirShip 0/300","emptyShip 1/306","indomShip 1/306","investShip 0/300","kazimierzShip 0/302","kjeragShip 1/345","lateranoShip 0/300","maniShip 0/300","miraShip 0/300","preciShip 1/340","raidShip 0/300","sargonShip 0/300","siracusaShip 0/300","skillfulShip 1/323","soloShip 0/306","steadShip 1/353","suntShip 1/312","swiftShip 0/302","victoriaShip 0/300","visiShip 1/306","yanShip 0/300"]
},
@@ -1476,7 +1476,7 @@
"title": {"id":"comment_1","name":"卫戍之星","picId":"comment_icon_1","text":"对敌方领袖造成伤害最高(仅胜利时)"},
"trophies": 8,
"reward": 425,
"stats": {"activatedLayers":2599,"bossDamage":9978950,"dmgDealt":31241047,"gold":160,"itemsEquipped":33,"kills":277,"leaks":1,"lpLost":0,"merges":5,"perfectRounds":12,"refreshes":36},
"stats": {"activatedLayers":2599,"bossDamage":9997506,"dmgDealt":31495731,"gold":160,"itemsEquipped":33,"kills":277,"leaks":1,"lpLost":0,"merges":5,"perfectRounds":12,"refreshes":36},
"lineup": ["3_16_a@12,8[3_03_e_b+4_04_e_b]","2_10_b@11,5[2_03_e_b+3_02_e_a]","1_06_b@11,8[4_09_e_b+2_03_e_b]","2_17_a@10,4[5_02_e_a+5_09_e_a]","5_06_a@10,8[3_09_e_b+3_09_e_b]","4_21_a@9,6[5_03_e_a+3_06_e_a]","5_02_a@9,8[3_06_e_b+1_05_e_a]","1_17_a@9,9[4_09_e_b+3_10_e_b]"],
"bonds": ["arcaneShip 1/316","deputShip 1/316","egirShip 0/300","emptyShip 0/300","indomShip 1/306","investShip 0/300","kazimierzShip 0/300","kjeragShip 0/300","lateranoShip 0/300","maniShip 0/300","miraShip 0/300","preciShip 1/392","raidShip 0/300","sargonShip 0/300","siracusaShip 0/300","skillfulShip 1/306","soloShip 1/314","steadShip 1/345","suntShip 1/304","swiftShip 0/300","victoriaShip 0/316","visiShip 0/300","yanShip 0/300"]
}
@@ -1573,7 +1573,7 @@
"title": {"id":"comment_4","name":"精英云集","picId":"comment_icon_4","text":"晋升精锐次数最多"},
"trophies": 4,
"reward": 400,
"stats": {"activatedLayers":193,"bossDamage":239043,"dmgDealt":2465246,"gold":144,"itemsEquipped":20,"kills":246,"leaks":68,"lpLost":13,"merges":6,"perfectRounds":9,"refreshes":24},
"stats": {"activatedLayers":193,"bossDamage":256067,"dmgDealt":2603172,"gold":144,"itemsEquipped":20,"kills":247,"leaks":68,"lpLost":13,"merges":6,"perfectRounds":9,"refreshes":24},
"lineup": ["5_10_a@12,3[1_02_e_b]","5_15_a@11,3[3_11_e_a]","3_13_b@11,8[1_01_e_a]","3_19_b@10,3[4_07_e_a+3_01_e_a]","4_16_a@10,7[4_03_e_b+3_07_e_a]","1_08_b@10,8[4_11_e_b+4_02_e_a]","6_05_a@9,8[6_09_e_a+6_01_e_b]","5_02_a@9,9"],
"bonds": ["arcaneShip 0/11","kazimierzShip 0/16","kjeragShip 0/8","miraShip 1/24","preciShip 1/50","sargonShip 1/22","siracusaShip 1/34","soloShip 1/0","suntShip 1/0","swiftShip 1/63","yanShip 0/13"]
},
@@ -1587,7 +1587,7 @@
"title": {"id":"comment_1","name":"卫戍之星","picId":"comment_icon_1","text":"对敌方领袖造成伤害最高(仅胜利时)"},
"trophies": 4,
"reward": 400,
"stats": {"activatedLayers":292,"bossDamage":540957,"dmgDealt":3504212,"gold":140,"itemsEquipped":22,"kills":267,"leaks":45,"lpLost":10,"merges":6,"perfectRounds":12,"refreshes":21},
"stats": {"activatedLayers":292,"bossDamage":523933,"dmgDealt":3576514,"gold":140,"itemsEquipped":22,"kills":267,"leaks":45,"lpLost":10,"merges":6,"perfectRounds":12,"refreshes":21},
"lineup": ["1_01_b@12,3[2_01_e_a+3_07_e_b]","3_21_b@11,3[1_05_e_b+4_08_e_b]","5_20_a@11,8","3_01_b@10,3[5_09_e_a+6_05_e_a]","3_18_a@10,7","4_16_a@10,8[4_11_e_a+4_02_e_a]","6_01_a@9,8[3_07_e_a+3_08_e_b]","4_21_a@9,9"],
"bonds": ["arcaneShip 0/2","deputShip 0/38","kazimierzShip 0/8","lateranoShip 1/83","miraShip 1/6","preciShip 0/2","raidShip 0/2","sargonShip 0/2","siracusaShip 1/66","skillfulShip 1/68","suntShip 1/14","swiftShip 1/55"]
}
+547 -538
View File
File diff suppressed because it is too large. Load diff
+1
View File
@@ -79,6 +79,7 @@ for (const n of [1, 2, 3, 4]) {
assert.deepEqual(f.opts.rect, GEO.BOSS_RECT);
assert.equal(f.opts.timeLimit, Infinity);
assert.equal(f.opts.flags.layerGainsEnabled, false);
assert.deepEqual(f.opts.flags.enemyScale, m.gd.enemyScale(14), 'the round\'s enemy effects for the leader\'s summons (PR #272)');
assert.ok(f.opts.players.every((p) => p.lpForBoss === m.teamLp));
if (f.opts.players.length === 2) {
assert.deepEqual(f.opts.players.map((p) => p.side), ['L', 'R']);
+24
View File
@@ -179,6 +179,30 @@ test('boss templates: leaders never scaled, pairs use the multi template, single
assert.equal(w.pick, setup.picks[9], 'solo 标准: the leader round uses slot 9');
});
test('co-op 终极: supplyHpMul = the 补给线 / 补给线II share of hp (hp ÷ it = the 攻坚装备 stacks 1.2^kAtk); wave and bounty mods carry it (PR #272)', () => {
const gd = new GameData(DATA, 'mode_multi_abyss');
for (const [r, row] of Object.entries(gd.mode.enemyScale)) {
const sc = gd.enemyScale(Number(r));
assert.ok(Math.abs(sc.hpMul / (sc.supplyHpMul ?? 1) - 1.2 ** row.kAtk) < 1e-5, `R${r}: ${sc.hpMul} / ${sc.supplyHpMul}`);
}
assert.equal(gd.enemyScale(4).supplyHpMul, undefined);
assert.equal(gd.enemyScale(5).supplyHpMul, 1.2); // 补给线II
assert.equal(gd.enemyScale(6).supplyHpMul, 1.08); // 补给线
for (const id of ['mode_single_funny', 'mode_single_abyss', 'mode_multi_hard']) {
const g = new GameData(DATA, id);
for (const r of Object.keys(g.mode.enemyScale)) assert.equal(g.enemyScale(Number(r)).supplyHpMul, undefined, `${id} R${r}`);
}
const key = 'enemy_1200_msfjin';
const picks = [];
picks[6] = { round: 6, type: 'TIMES', key, normal: key, elite: key, fly: false, firstHalf: true };
const wave = buildNormalWave(gd, createRng(1), { picks }, 6);
const tokens = wave.spawns.filter((s) => s.enemyKey === key);
assert.ok(tokens.length > 0);
for (const s of tokens) assert.deepEqual([s.mods.hpMul, s.mods.supplyHpMul], [gd.enemyScale(6).hpMul, 1.08]);
const [b] = bountySpawns(gd, 6, wave, [{ id: 'jin', card: { enemyKey: key, count: 1 } }], 'p1');
assert.deepEqual([b.mods.hpMul, b.mods.supplyHpMul], [gd.enemyScale(6).hpMul, 1.08]);
});
test('bounty spawns: joined to the template\'s first normal action of the enemy\'s class, spread over its window; no solo ×0.7', () => {
const gd = new GameData(DATA, 'mode_multi_hard');
const picks = [];
+1 -1
View File
@@ -397,7 +397,7 @@ export function runBoss({ data, mode, difficulty, round, seed, profile = 1, boss
const b = m.newBattle({
seed: deriveSeed(m.seed, `${fieldId}:${round}`), kind: hidden ? 'hidden' : 'boss', modeId: m.modeId, round, stageId: m.stageId,
rect: { ...GEO.BOSS_RECT }, timeLimit: Infinity, players: inputs, spawns: m._sanitizeSpawns(spawns), routes: wave.routes,
sharedBoss: pool, flags: { layerGainsEnabled: false, ...gd.dp }, fieldId, enemyOverrides: wave.overrides, waveId: wave.templateId, bossId: id,
sharedBoss: pool, flags: { layerGainsEnabled: false, ...gd.dp, enemyScale: gd.enemyScale(round) }, fieldId, enemyOverrides: wave.overrides, waveId: wave.templateId, bossId: id,
});
b.on('enemyLeak', (ctx) => {
const e = ctx && ctx.enemy;
+9 -1
View File
@@ -3470,7 +3470,13 @@ const DEFAULT_ENEMY_MULTIPLIERS = {
abyssMoveSpeedMulFromRound3: 1.15,
};
/** Enemy stat multipliers {atk, hp, speed} of one round (research 01 A3; leader HP pools excluded). */
/**
* Enemy stat multipliers {atk, hp, speed} of one round (research 01 A3; leader HP pools excluded). `supplyHp` (only
* when ≠ 1) = the share of `hp` that comes from 补给线 / 补给线II: the HP-only steps — 1.2^(kHp − kAtk), 补给线II "最大生命值
* +20%" with no ATK (攻坚装备 always brings ATK ×1.1, so kAtk counts its stacks) — times `extra` 1.08 (补给线). Those two
* effects leave out the 14 器物 hit-count keys (activity_table aceffect_enemy_2 / 2_2 `enemy_exclude`, data/effects.json),
* which take hp / supplyHp (server/sim/content/enemies/archetypes.js `times`).
*/
function enemyScaleFor(table, type, difficulty, round, isHidden) {
const t = table?.[type === 'SINGLE' ? 'single' : 'multi']?.[difficulty];
if (!t) return { atk: 1, hp: 1, speed: 1, assumed: true };
@@ -3480,8 +3486,10 @@ function enemyScaleFor(table, type, difficulty, round, isHidden) {
const kHp = t.kHp ? pick(t.kHp, t.hiddenHp) : pick(t.k, t.hidden);
const extra = t.hpExtra ? (isHidden ? t.hiddenHpExtra ?? 1 : t.hpExtra[Math.min(i, t.hpExtra.length - 1)] ?? 1) : 1;
const speedMul = difficulty === 'ABYSS' && round >= 3 ? (table.abyssMoveSpeedMulFromRound3 ?? 1.15) : 1;
const supplyHp = cleanNum(1.2 ** Math.max(0, kHp - kAtk) * extra);
return {
atk: cleanNum(t.atkBase * 1.1 ** kAtk), hp: cleanNum(t.hpBase * 1.2 ** kHp * extra), speed: speedMul, kAtk, kHp,
...(supplyHp !== 1 ? { supplyHp } : {}),
};
}
+3 -3
View File
@@ -67,7 +67,7 @@ import { DataSource } from '../server/sim/simdata.js';
import { buildBattleSpec, createBattleFromSpec } from '../server/sim/spec.js';
import { createRng, deriveSeed } from '../server/sim/rng.js';
import { GameData } from '../server/match/gamedata.js';
import { setupMatchWaves, buildNormalWave, buildBossWave, buildUniteWave, isFlyKey, routeByMotion } from '../server/match/waves.js';
import { setupMatchWaves, buildNormalWave, buildBossWave, buildUniteWave, isFlyKey, routeByMotion, roundMods } from '../server/match/waves.js';
import { buildDeployMap, positionClass, canPlace, ownerRangeKeys, tileKey } from '../server/match/board.js';
import { computeBonds, bondSnapshot } from '../server/match/bondsMeta.js';
import { Match } from '../server/match/Match.js';
@@ -405,7 +405,7 @@ function extraSpawns(gd, routes, keys, round, pid, t0 = 8, step = 5) {
const fly = isFlyKey(gd, key);
let routeIndex = routeByMotion(routes, fly);
if (!(routeIndex >= 0)) routeIndex = 0;
const s = { time: t0 + i * step, enemyKey: key, routeIndex, count: 1, interval: 0, mods: { hpMul: scale.hpMul, atkMul: scale.atkMul, speedMul: scale.speedMul, slot: fly ? 'NF' : 'N' }, ownerPlayerId: pid };
const s = { time: t0 + i * step, enemyKey: key, routeIndex, count: 1, interval: 0, mods: { ...roundMods(scale), slot: fly ? 'NF' : 'N' }, ownerPlayerId: pid };
if (i % 2 === 0) { s.tag = 'bounty'; s.bounty = { coins: 2, ownerPlayerId: pid }; s.mods.bountyCoins = 2; }
return s;
});
@@ -593,7 +593,7 @@ export function fieldScenarios() {
scenarios.push({
id: `${hidden ? 'hidden' : 'boss'}-${bossId}-${solo ? 'solo' : 'pair'}`, family: 'fields', kind: hidden ? 'hidden' : 'boss', modeId, round, stageId, seed,
rect: { ...GEO.BOSS_RECT }, timeLimit: Infinity, routes: wave.routes, waveId: wave.templateId, enemyOverrides: wave.overrides,
flags: { layerGainsEnabled: false, ...gd.dp }, bossId, boss: { poolHp: pool, poolMax: pool }, fieldId: 'b1', cap: 200,
flags: { layerGainsEnabled: false, ...gd.dp, enemyScale: gd.enemyScale(round) }, bossId, boss: { poolHp: pool, poolMax: pool }, fieldId: 'b1', cap: 200,
players, spawns: wave.spawns.map((s) => ({ ...s })),
about: `${data.bosses[bossId].name} ${solo ? 'solo' : 'pair'} pool ${pool}: ${players.map((p) => placeName(p.units).join(' ')).join(' | ')}`,
});