diff --git a/docs/PLAYING.md b/docs/PLAYING.md index 700f9ed4..fa1bb832 100644 --- a/docs/PLAYING.md +++ b/docs/PLAYING.md @@ -80,7 +80,7 @@ - **阻挡**看接触:干员阻挡中心距离约 0.7 格以内、与它接触的敌人(地面干员挡不住飞行和近地悬浮的敌人)。敌人卡在两名干员之间时,阻挡它的干员倒下、撤退或被晕眩后,另一名仍与它接触、还有空余阻挡数的干员会**立刻接替阻挡**;都没有空位时敌人才会走掉。被冻结或晕眩的敌人同样会被接触到的干员挡住:干员再部署到它身边就会阻挡它,隐匿的敌人也随之破隐(沉睡、浮空、恐惧的敌人仍然挡不住)。迎面走来的敌人会停在干员格子前面。**阻挡了就一定能打到**:任何干员(包括站在近战位的远程干员和召唤物)总能攻击自己阻挡的敌人,不管它在不在攻击范围内、在干员哪一侧,并且优先攻击它——只有速射手例外:攻击范围内有飞行敌人时先打飞行敌人(特性「优先攻击空中单位」,维护者 2026-10-08 的决定,GitHub #220)(医疗干员除外:咒愈师以外的医疗挡住敌人时照常治疗队友,不会攻击它;「停止攻击」类技能期间也除外;技能原文另有限制的也按原文:普罗旺斯二技能开启时不以生命值高于 80% 的敌人为目标,寒檀二技能的冰凌随机落在攻击范围内的地块上)。 - 开战时干员按**逐列从左到右、每列从上到下**的顺序部署(最左一列最先,与阿戈尔吞噬「更靠左和靠上」的顺序相同),召唤物在所有干员之后。被阻挡的敌人先打阻挡它的干员;没被阻挡的远程敌人先打嘲讽等级高的,同级时打最后部署的(召唤物、最右一列靠下的干员和刚再部署的干员更容易挨打)。隐匿的干员只会被它阻挡的敌人攻击,没被它挡住的敌人的溅射、爆炸、范围技能、留下的伤害区域(包括假想敌:蚀裂被击倒后喷出的毒雾)以及深池伙友卫队、扎罗的减攻速光环也落不到它身上(和官方一样;写明「无视无法选择」的效果如污染秽蚀照常能打到,寒霜的减攻速光环和“墓碑”这类地图效果照常生效);**迷彩**(如忍冬三技能期间击倒敌人后、寒芒克洛丝一技能)同样只会被它阻挡的敌人攻击,也显示为半透明,但躲不开溅射、爆炸和范围伤害(同时打范围内所有单位的普通攻击——如“斩胄之剑”“破胄之锤”“灵幛”——打不到它),也不算隐匿(不触发叙拉古等「隐匿时」效果)。叙拉古的隐匿按时(32 秒 + 每层 0.4 秒)结束;忍冬的迷彩按官方持续到她下一次开技能。**蒂比起飞**期间只挡飞行敌人,地面敌人不会选她为目标(普通攻击、溅射、技能范围、燃烧区域和要选中目标的减益都落不到她身上);飞行和悬浮敌人、写明「无视无法选择」的效果(如污染秽蚀)照常能打到她;地面敌人的光环和全场效果(如“墓碑”让全场攻击力、防御力减半)、她攻击敌人时招来的反制(如重装侦察兵的暴露)照常生效,起飞前已挂上的持续伤害也照常跳。 - **技能自动释放**按官方「技能策略」:一般的手动技能在技能就绪、即将攻击 / 治疗且初始攻击范围内有敌人(治疗技能:有受伤的队友)时释放;**带独立技能范围**的技能(如德克萨斯「剑雨」、凛御银灰「御敌的锋锐」、锏「归于宁静」,不含「攻击范围扩大」类)在**技能范围内出现敌人**时就释放,不必先攻击;**开启后攻击范围比平时大**的手动技能(如莫斯提马「序时之匙」、银灰「真银斩」、史尔特尔「黄昏」、白面鸮「脑啡肽」)在**开启后的攻击范围内出现敌人**(治疗技能:有受伤的队友)时就释放,不必等敌人走进平时的攻击范围,这是本作按玩家反馈有意与官方不同的地方;**重装干员**的手动技能在受到伤害时释放(例外:深巡、雷蛇的二技能,号角的二、三技能,灰毫的一、二技能按玩家反馈改为攻击范围内有敌人时就释放(深巡二技能按开启后更远的攻击范围判断),余的二技能「厚礼上宾」改为周围两格(技能范围)内有敌人时就释放,这是本作有意与官方不同的地方;深巡一技能仍要受到伤害);执旗手 / 战术家 / 吟游者技能就绪即释放,解放者 / 阵法术师在初始攻击范围内有敌人时释放(开启后攻击范围扩大的技能——薄绿「风语」、蜜蜡「沙暴扩散」、卡涅利安「食噬之印」、玛恩纳「未宽解的悲哀」,以及安洁莉娜「秘杖·反重力模式」——同样按开启后的攻击范围判断)。**自动触发**的技能按其本身规则:只作用于队友的(如引星棘刺「度算浪波」、浊心斯卡蒂「同葬无光之愿」、纯烬艾雅法拉「无声润物」)技力满就释放,不用等敌人或伤员;立即生效、本身不是一次攻击的技能(如度算浪波、先锋的回费技能)两次释放之间至少隔一个攻击间隔(释放本身不占用普通攻击),攻速越快放得越勤,迅捷返还的技力再多也不会每一帧都放(GitHub #298);伺夜「领袖的呼唤」「领袖的馈赠」只在场上有狼群时释放:狼群处于战术点形态时,「领袖的呼唤」也会释放并让它立刻带着 1 只狼影回到场上(狼影未满时改为加 1 只狼影,已满时把狼群的生命值回满),「领袖的馈赠」也会释放(立即获得费用,强化留给回来的狼群的下一次攻击);又如古米「备用军粮」在身边(技能范围内)有受伤的队友时就会发动,下一次攻击改为治疗该队友(不用先接敌;她的二技能「食粮烹制」是手动技能,按重装规则在受到伤害时释放);塞雷娅「急救」在她即将攻击时、身边有生命不高于一半的队友才发动,这次攻击直接改为治疗;新约能天使二技能的护盾按官方给攻击范围内**仇恨最高**的队友(嘲讽等级高的优先,同级时给最后部署的),不一定是站在最前面挨打的那个。手动技能的自动释放有 3 秒冷却:开战部署后先等 3 秒,之后同一干员两次自动释放至少间隔 3 秒(可充能的技能不会同时放完)。白铁的「铁钳号·原型机」能被我方干员攻击(不受伤害):它在攻击范围 / 技能范围内时,能作用到它的技能会像遇到敌人一样自动开启并消耗弹药(项目维护者 2026-10-08 按官方体验确认;白铁™多功能平台不会被攻击);技能效果只会挑选敌人、打不到它的技能(如德克萨斯「剑雨」)不会为它开启,留给真正的敌人。 -- **推开 / 拉拽**按官方「力度 − 重量」决定距离:例如野鬃二技能(中等力度)把重量 0 / 1 / 2 / 3 的敌人推开约 2.1 / 1.7 / 0.4 / 0.1 格,重量 4 以上推不动——轻型敌人反而推得更远。野鬃二技能沿她的朝向推开:正前方 45° 以内按上面的距离,身后、侧面或贴身的敌人只被轻推一下(约 0.4 格以内);琳琅诗怀雅三技能的金币则从她身边向外推开,落在她前方 2–4 格的范围(官方「范围2-4」)内的地面敌人和她阻挡的敌人身上。攻击速度最低为 20(沼泽、寒霜等减速叠满时也不会更慢)。 +- **推开 / 拉拽**按官方「力度 − 重量」决定距离:例如野鬃二技能(中等力度)把重量 0 / 1 / 2 / 3 的敌人推开约 2.1 / 1.7 / 0.4 / 0.1 格,重量 4 以上推不动——轻型敌人反而推得更远。野鬃二技能沿她的朝向推开:正前方 45° 以内按上面的距离,身后、侧面或贴身的敌人只被轻推一下(约 0.4 格以内);琳琅诗怀雅三技能的金币则从她身边向外推开,落在她前方 2–4 格的范围(官方「范围2-4」)内的地面敌人和她阻挡的敌人身上。被推开、拉动的敌人会进入官方的**失衡**状态,这段时间里不走路、也不发动普通攻击:推开按力度减重量的档位持续 0.2–约 1.17 秒(中等力度推重量 1 的敌人为 0.8 秒),拉拽持续 1 秒(力度比重量低 2 档时 0.5 秒,拉到身前后也一样),推不动的空中单位(静态刚体)受力时也会停顿 0.1 秒;浮空会立刻解除失衡。画面上的滑行也用同样的时间(默认 2 倍速下现实时间减半)。攻击速度最低为 20(沼泽、寒霜等减速叠满时也不会更慢)。 - **生命回复不是治疗**(与官方一致):吟游者的特性(魔王、浊心斯卡蒂及其海嗣)、调香师的天赋、瑕光二技能、铃兰三技能、锡人和引星棘刺(一、二技能)的炼金单元给友军的「每秒恢复生命」是提高对方的**生命回复速度**,不是治疗:收割者 / 不屈者 / 武者(如隐德来希、圣约送葬人、折桠)这类「无法被友方治疗」的干员和处于禁疗的干员也能吃到,治疗量加成(如「受到的治疗效果提升」)也不会放大它;铃兰三技能开启后的第一秒没有回复。直接治疗(医疗干员的治疗、技能的「恢复…生命」)仍然对这些干员无效。 - **元素损伤条**在单位自己的血条正下方:左边是元素图标,白条是剩余的元素值,只有真正爆发时才会耗尽;爆发后条变成元素的颜色、图标闪烁,在冷却期间慢慢回满(这段时间不会再积累元素损伤)。 - **弹药、狼影和「我执」**也画在血条上(0.2.2):弹药类技能(如隐现的二技能,14 发)开启时,血条下方的技力条换成**分格的黄色弹药条**——一格一发,打一发少一格,补弹时回来;这类技能开启期间脚下不再有持续的金色光环。伺夜的狼群在血条下方有一排**菱形**,亮的是剩下的狼影,暗的是已用掉的空位(最多 3 个),进入战术点形态时消失。斩业星熊进入「我执」后,绿色血条停在 1 点,超出的伤害涨成血条上的**红条**,红条满了才会倒下。这些只是显示,不改变任何战斗数值。 diff --git a/docs/SIM.md b/docs/SIM.md index 7300ccdd..2c8c46d8 100644 --- a/docs/SIM.md +++ b/docs/SIM.md @@ -896,8 +896,8 @@ instance) and skip `'counter'` / `'reflect'` damage. When the guard trips, the l | `moveRedeploy(unit, r, c, { clearSp })` | a 【移动】 (PRTS 术语释义: "不退场,以当前血量在目标位置部署", a special retreat + redeploy): `relocate`'s checks (false = refused, nothing changed), then a new deployment (`deploySeq` / `aggroSeq` / `deployedAt`) and `deploy {initial:false, move:true}` (deploy effects fire again); no `die` / `death`, timer or cost (不屈 / 阿戈尔's revive never see it); HP, buffs and a running skill are kept (owner's deviation, DESIGN §22.3); `clearSp` empties the SP before the deploy handlers run — 乌尔比安 S3's move (kits/ops/chess_char_5_05-ulpia.js) and 【返回】 (`clearSp`; also the 从不混淆的方向 fallback, content/tokens.js) | | `redeploy(unit, { free=true, tile, keepSp })` | immediate (re)deployment of a dead/retreated ally (full HP, `deploy {initial:false}`); `free: false` pays `base.cost` DP (refused without it); without `tile` it lands on the unit's rest tile (`restTile`: where a knocked-out operator lies, else home); `tile: [r, c]` lands on that tile once (home unchanged; refused when off-rect, occupied or a knocked-out operator's tile, no fallback); `keepSp` keeps SP/charges (保留技力), restored before `deploy` fires — but not for a skill that costs no SP, which the reset re-arms as at every deployment (伊内丝 S3 casts again on a 突袭 landing) — 突袭 raids, 阿戈尔 / 不屈 revives where the unit lies | | `refreshRange(unit)`, `setExtraRange(unit, keys)`, `rangeChanged(unit)` | rebuild the ranges after changing `unit.rangeGrid` (流形 copies); extra targetable tiles (absolute keys; merged into every later rebuild until set again; `null` clears; never in `baseRangeKeys`): 蕾缪安 wanted, 维娜 S3 | -| `push(enemy, force, {from, dir, fixed, fixedAngle, inward, effect})`, `pull(enemy, force, {to, center, stop})`, `pullToFront(enemy, unit, force)`, `forceLevel(enemy, force)`, `pushDistance(enemy, force, {effect})` | the official 位移 (PRTS 游戏数据基础 §重量公式 / 推与拉; user playtest #6 item 14): 受力等级 = 力度 (微小力 −1, 小力 0, 中力 1, 较大力 2, 大力 3 …) − current 重量等级 (massLevel, 失重 counts). Push distance per level (`constants.js PUSH_TILES`, PRTS 推与拉's 弹道 column): ≤ −3 → 0, −2 → 0.12, −1 → 0.44, 0 → 1.7, 1 → 2.14, 2 → 2.96, ≥ 3 → 3.53 tiles; `effect` = a 特效 push (`PUSH_TILES_EFFECT`: −2 → 0.085, −1 → 0.374, 0 → 1.562, 1 → 1.987, 2 → 2.773, ≥ 3 → 3.331 — 见行者 S1 / S2, `PUSH_EFFECT_SKILLS`; every other pusher uses the 弹道 column [ASSUMED]); radial (away from `from`; the client's buff template `knockback[relative]`: 莫斯提马 S3, 山 S3, 琳琅诗怀雅 S3 — also PRTS 备注 "推开效果为径向推动") unless `dir` (directional; template `knockback[dir]` = Knockback {`_useSourceDirection` true, `_decreaseForceLevelWhenNotInDirection` 2}: 推击手, 野鬃 S2 "往攻击方向" (charpack char_496_wildmn: buff `wildmn_s_2[force]`) — > 45° off or < 0.25 tile ⇒ radial and level −2; `fixed` waives both (圣聆初雪 S1 朝部署方向, `KnockBackWithCharacterDirection`), `fixedAngle` only the angle (见行者 S2)); `inward` = a push towards `from` (薄绿 S2), stopping at the 急停 radius. Pull: level ≥ 0 → to `to` / the 急停 radius around `center`, −1 → 35 % of the way, −2 → 0.03, ≤ −3 → 0; `pullToFront` aims at the 拉力起点 0.5 tile ahead of the unit with the 急停 radius 0.6708 around it (never moves an enemy the unit itself blocks — nor does a pull towards an ally's centre, e.g. the 流形 S3 pulse) A 静态刚体 (data `staticBody`: every air unit of the mode except “炎佑”, plus 昆图斯 — PRTS 特殊机制 "可以进入失衡状态…但物理层面上无法产生任何速度或移动", "与单位的行动方式无关") moves 0 from every source while the skills that reach it still hit it (薄绿 S2, 锏 S3, the 钩索师 …; player report after 0.1.0) | -| `displace(enemy, {x, y}, tiles)` | the raw mover behind push / pull: along passable tiles (by `motion`: FLY in the rect, else ground-passable), no weight rule; nothing for 失衡免疫 (`noDisplace`: 近地悬浮 incl. 喷气人's 飞行模式, 浮空, the 胄 parts, 守墓石像's statue and flight), 静态刚体 (`def.staticBody`) and leaders (`_displaceable`); unblocks + re-paths | +| `push(enemy, force, {from, dir, fixed, fixedAngle, inward, effect})`, `pull(enemy, force, {to, center, stop})`, `pullToFront(enemy, unit, force)`, `forceLevel(enemy, force)`, `pushDistance(enemy, force, {effect})` | the official 位移 (PRTS 游戏数据基础 §重量公式 / 推与拉; user playtest #6 item 14): 受力等级 = 力度 (微小力 −1, 小力 0, 中力 1, 较大力 2, 大力 3 …) − current 重量等级 (massLevel, 失重 counts). Push distance per level (`constants.js PUSH_TILES`, PRTS 推与拉's 弹道 column): ≤ −3 → 0, −2 → 0.12, −1 → 0.44, 0 → 1.7, 1 → 2.14, 2 → 2.96, ≥ 3 → 3.53 tiles; `effect` = a 特效 push (`PUSH_TILES_EFFECT`: −2 → 0.085, −1 → 0.374, 0 → 1.562, 1 → 1.987, 2 → 2.773, ≥ 3 → 3.331 — 见行者 S1 / S2, `PUSH_EFFECT_SKILLS`; every other pusher uses the 弹道 column [ASSUMED]); radial (away from `from`; the client's buff template `knockback[relative]`: 莫斯提马 S3, 山 S3, 琳琅诗怀雅 S3 — also PRTS 备注 "推开效果为径向推动") unless `dir` (directional; template `knockback[dir]` = Knockback {`_useSourceDirection` true, `_decreaseForceLevelWhenNotInDirection` 2}: 推击手, 野鬃 S2 "往攻击方向" (charpack char_496_wildmn: buff `wildmn_s_2[force]`) — > 45° off or < 0.25 tile ⇒ radial and level −2; `fixed` waives both (圣聆初雪 S1 朝部署方向, `KnockBackWithCharacterDirection`), `fixedAngle` only the angle (见行者 S2)); `inward` = a push towards `from` (薄绿 S2), stopping at the 急停 radius. Pull: level ≥ 0 → to `to` / the 急停 radius around `center`, −1 → 35 % of the way, −2 → 0.03, ≤ −3 → 0; `pullToFront` aims at the 拉力起点 0.5 tile ahead of the unit with the 急停 radius 0.6708 around it (never moves an enemy the unit itself blocks — nor does a pull towards an ally's centre, e.g. the 流形 S3 pulse) A 静态刚体 (data `staticBody`: every air unit of the mode except “炎佑”, plus 昆图斯 — PRTS 特殊机制 "可以进入失衡状态…但物理层面上无法产生任何速度或移动", "与单位的行动方式无关") moves 0 from every source while the skills that reach it still hit it (薄绿 S2, 锏 S3, the 钩索师 …; player report after 0.1.0). **失衡 (UNBALANCE)** (PR #392's idea, its timing re-done from the sources): the move stays instant, then the enemy is held in the 失衡 state — a state machine, not a status (PRTS 失衡位移机制; 异常效果 「失衡…不属于异常效果」: no stun, no immunity, SP untouched), `enemy.unbalanceUntil`, read by `ai.js updateEnemy`: no walking (恐惧 / 诱导 included — no fear exemption) and no normal attack started, a swing short of its frame cut, the attack clip's stand ended; checks that ignore the state (水遁忍者's damage, content abilities) go on — no global skill lock ([ASSUMED] scope: 失衡免疫's 「无法…使用技能」 is not modelled). Length, game seconds: a push — the 位移时间 of its 受力等级, PRTS 游戏数据基础 推力-位移近似对应表 (`constants.js PUSH_UNBALANCE`: −2 → 0.2, −1 → 0.4, 0 → 0.8, 1 → 0.9, 2 → 32/30, ≥ 3 → 35/30), the level push() computes (the −2 correction included), kept when the 特效 column or a wall shortens the slide ([ASSUMED] for the wall; a wall at the first step → the 0.1 s floor [ASSUMED]); a pull — its force window, 推与拉 「作用时间默认为 1 s;若本次受力等级 < −1,作用时间改为 0.5 s」 (`PULL_UNBALANCE` / `_WEAK`), to its end after the 急停 too (「目标将仍保持失衡状态至拉力作用时间结束为止」), none at ≤ −3; a 静态刚体 hit by a force > 0 — the 0.1 s 失衡硬直 floor (`UNBALANCE_MIN`, 特殊机制 静态刚体), no movement; 失衡免疫 and leaders never. 浮空 ends it (术语释义 浮空), so does a 重生. The `displace` fx carries the length (`dur`): the client's slide takes as long (render/units.js slideTo). PR #392's 0.6387·√tiles (from the page's μ = 0.5 单位假设) and its fear exemption are not taken | +| `displace(enemy, {x, y}, tiles, {dur})` | the raw mover behind push / pull: along passable tiles (by `motion`: FLY in the rect, else ground-passable), no weight rule, no 失衡 state of its own (push / pull add it; `dur` only rides on its `displace` fx); nothing for 失衡免疫 (`noDisplace`: 近地悬浮 incl. 喷气人's 飞行模式, 浮空, the 胄 parts, 守墓石像's statue and flight), 静态刚体 (`def.staticBody`) and leaders (`_displaceable`); unblocks + re-paths | | `after(seconds, fn, {owner})`, `every(seconds, fn, {owner, immediate})` | return `{cancel()}`; fn(battle, sched) | | `fx(kind, params)`, `rng()` (+ `rng.int/range/chance/pick/shuffle/weighted`) | never use Math.random; for distances, angles and powers use `hypot`, `sin`, `cos`, `atan2`, `powi` from `server/sim/detmath.js`, never `Math.hypot` / `sin` / `cos` / `atan2` / `pow` / `**` (their last bits differ between browsers) | | `forceAttack(unit, targets?, { noAmmo })` | an immediate attack with the current profile (hooks, attack SP, a running ammo skill's bullet); `noAmmo: true` = spends no bullet and emits no `ammoUsed` (圣约送葬人 extra attack). Returns true when it attacked | @@ -1503,8 +1503,8 @@ id, `loadout` the selection with `diy` = the checked pick `{ charId, skillIndex, `diy` (spec.js keeps `charId` / `skillIndex` / `uniEquipId` when well-formed); Battle fields a DIY slot only with a legal pick (none ⇒ no unit), and each unit resolves its own pick — two players filling one slot id differently are exact. Assumptions taken here (documented choices): element burst numbers for necrosis/apoptosis; unspawned enemies at timeout -are dropped (not leaks); geek drain is non-lethal; tactician reinforcement stats; displacement is instantaneous (the official 失衡 slide over ≈ 0.4–1.2 s is not -modelled — only its distance, `push` / `pull`); pushes PRTS does not classify use the 弹道 distance column (`PUSH_TILES`); +are dropped (not leaks); geek drain is non-lethal; tactician reinforcement stats; displacement is instantaneous, followed by the 失衡 hold (push: the 位移时间 table; pull: the force +window — `push` / `pull`; a wall-shortened slide keeps its row time, a wall at the first step gets the 0.1 s floor); pushes PRTS does not classify use the 弹道 distance column (`PUSH_TILES`); platforms/mounds are ground obstacles that elevate operators; the generic kit maps 凋亡 to `apoptosis` (侵蚀 has no element key yet — enemy content must pick one); 抵抗 covers the control statuses of `RESIST_STATUSES` (the official term lists 晕眩/寒冷/ 冻结/恐惧/诱导…, the rest follow the operator kits that grant it) and caps at 0.95; tactical points prefer enemy path tiles. diff --git a/docs/research/13-knockback-official.md b/docs/research/13-knockback-official.md index 19d20d2d..c7598e02 100644 --- a/docs/research/13-knockback-official.md +++ b/docs/research/13-knockback-official.md @@ -14,7 +14,8 @@ | 摩擦是谁的参数 | **地板(地形)+ 单位质量**,**不是**技能参数:`GrasslandType { NORMAL_LAND, ICE_LAND, SLIME_LAND }`,每格是一条 `GrasslandData { modeIdx, grasslandType, additionalFriction }`,运行时还会被 `UpdateFrictionFactor` / `RestoreFrictionFactor` 临时改写 | | 卫戍协议里有几种地板 | **实际只有普通地面**:11 张地图共 18 种格子字符,无冰面/黏液 ⇒ 本模式下摩擦恒定,滑行时长**不必按地板分档** | | 飞行目标怎么算 | **没有独立的空中摩擦**(`boatAirFactor` / `m_airBase` 属于"船"玩法):飞行用的是**同一套**公式(单位摩擦 × 所在格子的 `additionalFriction`);差别只在**运动模式**(`ENEMY_MOTION_TYPE_FLY`、`HEIGHT_CHANGED_TO_FLY_BLOCK_MOTION_MODE` ⇒ 忽略地面阻挡),以及**失衡免疫 / 静态刚体**的空中单位根本不可位移 | -| 曲线形状 | 恒定减速 ⇒ `d/D = 2k − k²`(ease-out quad)、`T ∝ √D`;客户端用的 `T = 0.14·√D`(夹 0.12–0.45 s)是我们拟定的 [ASSUMED],没有来源给出官方时长 | +| 曲线形状 | 恒定减速 ⇒ `d/D = 2k − k²`(ease-out quad) | +| 推多久 / 拉多久 | **失衡(UNBALANCE)状态机**的时长(0.2.2,PR #392 的思路、按来源重做):推 = PRTS 游戏数据基础「推力-位移近似对应表」的**位移时间**(受力等级 −2/−1/0/1/2/≥3 → 0.2 / 0.4 / 0.8 / 0.9 / 32⁄30 / 35⁄30 游戏秒,正好是 30 fps 的整帧);拉 = 推与拉的**拉力作用时间**(1 s,受力等级 < −1 时 0.5 s,急停后仍保持到结束);静态刚体受力 > 0 时 0.1 s 保底。客户端滑行用同一段游戏时间(默认 2 倍速 ⇒ 现实时间减半);`T = 0.14·√D` 只留作旧录像(fx 不带 `dur`)的回退 [ASSUMED] | ## 1. 官方类与字段(`global-metadata.dat`) @@ -101,14 +102,17 @@ p ×77(预览栏) d ×76(装置) S ×66(起点) I / E ×33(路 ## 5. 客户端的做法(本次实现) -`render/units.js`:模拟位移是**瞬时**的(`sim/battle/displacement.js` 在一次调用里走完 0.1 格步进),快照只带终点, -所以客户端补上中间帧——`UnitView.slideTo(x, y, { friction })` 建立一次滑行,`update()` **逐帧做速度积分** +`render/units.js`:模拟位移是**瞬时**的(`sim/battle/displacement.js` 在一次调用里走完 0.1 格步进),随后敌人处于 +**失衡状态**(0.2.2:不走路、不发动普通攻击,时长见 §0「推多久 / 拉多久」),快照只带终点, +所以客户端补上中间帧——`UnitView.slideTo(x, y, { dur, friction })` 建立一次滑行,`update()` **逐帧做速度积分** (`v ← max(0, v − a·dt)`、`d ← d + v·dt`),终点由模拟给出(**权威**),`v0 = 2D/T`、`a = v0/T` 保证 -`T` 秒内正好走完 `D` 且速度归零 —— 即官方"冲量 + 摩擦"的等效形式;`T = 0.14·√D`(夹 0.12–0.45 s)是我们拟定的 -[ASSUMED](让画面按模拟的距离到位;没有来源给出官方时长),`friction` 是**地板因子**(本模式恒为 1;将来有冰面就乘 -< 1 ⇒ 滑得更久)。`render/app.js` 在插值器开始显示「以带终点的快照结尾」的那一段时就用 `displace` fx 启动滑行: +`T` 秒内正好走完 `D` 且速度归零 —— 即官方"冲量 + 摩擦"的等效形式;`T` = `displace` fx 带来的失衡时长 `dur`(游戏秒)÷ +播放倍率(`ctx.animRate`,默认 2 ⇒ 受力等级 0 的推 0.8 游戏秒 = 0.4 现实秒),滑行结束时模拟的失衡也正好结束;fx 不带 +`dur`(0.2.2 以前的录像)时才回退到 `T = 0.14·√D`(夹 0.12–0.45 s)[ASSUMED]。`friction` 是**地板因子**(本模式恒为 1;将来有冰面就乘 +< 1 ⇒ 滑得更久)。PR #392 的 `0.6387·√格` / `0.3194` 是用 PRTS 页面的「μ = 0.5 单位假设」推出来的,页面没有写出、也对不上 +位移时间表(每档高约一帧),未采用。`render/app.js` 在插值器开始显示「以带终点的快照结尾」的那一段时就用 `displace` fx 启动滑行: 到达那张快照之前画面停在原处,之后从原处减速滑入模拟的实时位置(终点,以及敌人随后继续走的路),落地不跳。 -**模拟层、协议、golden 一律未改。** +(PR #380 合入时模拟层、协议、golden 未改;0.2.2 的失衡状态改了模拟层,`displace` fx 多带一个 `dur`。) 滑行途中死亡:滑行照常走完,尸体停在被推到的位置(模拟里它已经在那里;0.2.2 合入时改掉了原 PR 的「回到出发格」); 倒地的单位交给 `setDown` 放到它的格子上。 diff --git a/public/js/render/app.js b/public/js/render/app.js index e90cc4c8..bcf09699 100644 --- a/public/js/render/app.js +++ b/public/js/render/app.js @@ -1453,7 +1453,7 @@ export async function createFieldView(host, options = {}) { if (e[1] === 'displace') { const d = e[4] && typeof e[4] === 'object' ? e[4] : null; const v = d && d.id != null ? views.get(d.id) : null; - if (v && v.slideTo) v.slideTo(Number(e[2]), Number(e[3])); + if (v && v.slideTo) v.slideTo(Number(e[2]), Number(e[3]), Number(d.dur) > 0 ? { dur: Number(d.dur) } : {}); } // an enemy's mode change — the `form` of a sim setForm fx (shared/protocol.js fxForm: 掠海漂移体 → 爬行模式, user // playtest #5 item 1; 转译基底's forms, a 逐火 ember and its revival, the leaders' 重生, 守墓石像 — user report after @@ -1513,7 +1513,8 @@ export async function createFieldView(host, options = {}) { if (!Array.isArray(e) || e[0] !== 'fx' || e[1] !== 'displace') return; const extra = e[4] && typeof e[4] === 'object' ? e[4] : null; const v = extra && extra.id != null ? views.get(extra.id) : null; - if (v && v.slideTo) v.slideTo(Number(e[2]), Number(e[3]), { at: slideAt }); + // `dur`: the push / pull's 失衡 time in game seconds (battle/displacement.js) — the slide's length + if (v && v.slideTo) v.slideTo(Number(e[2]), Number(e[3]), Number(extra.dur) > 0 ? { at: slideAt, dur: Number(extra.dur) } : { at: slideAt }); } let renderT0Battle = null; // game time of the first rendered battle frame (spawn puffs skip the initial wave) let downSeq = 0; // syncBattle pass counter: a view still marked down after a pass left the `down` list diff --git a/public/js/render/units.js b/public/js/render/units.js index 3db19cf1..f7fd28be 100644 --- a/public/js/render/units.js +++ b/public/js/render/units.js @@ -178,16 +178,14 @@ const RAISED_Z = 0.12; */ export const FLY_HOVER = 1.3; /** - * A push / pull slide (推拉, PR #380 by @xcdoge): real seconds per √tile of travel. The sim displaces at once — - * server/sim/battle/displacement.js walks its 0.1-tile steps inside one call — so the snapshots only ever show the - * destination, and a pushed / pulled enemy appeared at the end of its path (a ≤ 2.5-tile push in one snapshot interval, - * a longer pull snapped). The view now slides there under a constant deceleration (UnitView.slideTo): the official - * knockback abilities (`Knockback`, `KnockBackWithDirection`, `DragTowardSource` in the client's metadata) carry an - * impulse (`m_force`) and a velocity decaying under friction (`m_friction`, the tile's `additionalFriction`), and the data - * has no per-skill duration (docs/research/13-knockback-official.md). The duration T = DISPLACE_SLIDE·√D, kept in - * 0.12–0.45 s, is ours [ASSUMED: a fit so the view arrives where the sim put it — no source gives the official - * timing]; v0 = 2D/T, a = v0/T then run the distance in exactly T. Purely visual: the sim's timing, damage, blocking and - * the golden digests are untouched. + * A push / pull slide (推拉, PR #380 by @xcdoge). The sim displaces at once — server/sim/battle/displacement.js walks its + * 0.1-tile steps inside one call — and then holds the enemy in its 失衡 (UNBALANCE) state (PR #392's idea): a push for the + * 位移时间 of its 受力等级 (PRTS 游戏数据基础 推力-位移近似对应表: 0.2 … 35/30 game s), a pull for its force window (推与拉: + * 0.5 / 1 s). The snapshots only ever show the destination, so the view slides there under a constant deceleration + * (UnitView.slideTo) for that same span: the `displace` fx carries it (`dur`, game seconds) and the view divides it by the + * playback rate (ctx.animRate — 2 game s per real second by default: a 0.8 s push slides 0.4 real s) — it lands as the + * sim's state ends. v0 = 2D/T, a = v0/T then run the distance in exactly T. DISPLACE_SLIDE (real s per √tile, kept in + * 0.12–0.45 s) is only the fallback for an fx without `dur` (a recording made before 0.2.2) [ASSUMED]. */ export const DISPLACE_SLIDE = 0.14; /** @@ -860,7 +858,8 @@ export class UnitView { } /** - * Slide to a displacement's destination (推拉, the `displace` fx at (x, y)) instead of appearing there (DISPLACE_SLIDE). + * Slide to a displacement's destination (推拉, the `displace` fx at (x, y)) instead of appearing there: `opts.dur` = the + * fx's 失衡 time in game seconds (real seconds = dur / ctx.animRate), else the DISPLACE_SLIDE·√D fallback. * `at` (game s): the time of the snapshot that carries the destination — render/app.js starts the slide as soon as the * interpolator shows the interval before it, and until the render clock reaches `at` the view holds where it stood * (the sample in between is a lerp or a snap towards the destination). From then on it eases from there into the @@ -877,8 +876,9 @@ export class UnitView { const D = Math.hypot(dx, dy); if (!this.alive || !(D > 0.05)) { this.x = x; this.y = y; this.slide = null; return; } const f = Number.isFinite(opts.friction) && opts.friction > 0 ? opts.friction : SLIDE_FRICTION; - // a slippery tile (f < 1) slides longer; the duration still follows √D (constant deceleration) - const T = Math.max(0.05, (opts.dur > 0 ? opts.dur : clamp(DISPLACE_SLIDE * Math.sqrt(D), 0.12, 0.45)) / f); + // the sim's 失衡 time (game s) at the playback rate; a slippery tile (f < 1) slides longer + const rate = this.ctx.animRate?.() || 1; + const T = Math.max(0.05, (opts.dur > 0 ? opts.dur / rate : clamp(DISPLACE_SLIDE * Math.sqrt(D), 0.12, 0.45)) / f); // v0 = 2D/T and a = v0/T run the distance in exactly T with the velocity reaching 0 there, integrated in update(). // The official turns a displaced unit towards the force (its _dontChangeFaceByDirection is an opt-in flag), while // our facing comes from the snapshot's vx — which points back down the route the enemy resumes after the diff --git a/server/sim/ai.js b/server/sim/ai.js index 887fcc20..ed27e4dc 100644 --- a/server/sim/ai.js +++ b/server/sim/ai.js @@ -537,13 +537,17 @@ export function updateEnemy(b, e, dt) { // hidden (teleporting) enemies only advance wait legs const stunned = e.s.flags.stun; if (stunned || e.hidden || e.s.flags.fear) b._cutAttackStand(e); + // 失衡 (UNBALANCE, battle/displacement.js _unbalance): a state machine, not a status — 浮空 ends it (PRTS 术语释义 浮空 + // 「触发浮空时清除受到的推/拉力…无法陷入失衡」); while it lasts the enemy neither walks nor starts a normal attack + if (e.s.flags.levitate && e.unbalanceUntil > b.time) e.unbalanceUntil = -Infinity; + const unbalanced = b.time < e.unbalanceUntil; const prevCd = e.atkCd; if (e.atkCd > 0 && !stunned && !e.hidden) e.atkCd = Math.max(0, e.atkCd - dt); - // a stun / freeze / sleep / 浮空 — or leaving the field — takes the enemy out of its attack: a swing short of its damage - // frame does not land, and the attack starts again from its wind-up afterwards (enemyAttack) - if (e.swing && (stunned || e.hidden)) e.swing = false; + // a stun / freeze / sleep / 浮空 / 失衡 — or leaving the field — takes the enemy out of its attack: a swing short of its + // damage frame does not land, and the attack starts again from its wind-up afterwards (enemyAttack) + if (e.swing && (stunned || e.hidden || unbalanced)) e.swing = false; // true: an unblocked ranged enemy in the wind-up of its next attack with a target in range (it stands) - const winding = !e.hidden && !stunned && enemyAttack(b, e, prevCd); + const winding = !e.hidden && !stunned && !unbalanced && enemyAttack(b, e, prevCd); if (!e.alive) return; // a stun / freeze / sleep cuts the attack clip short: no stand left once it ends [ASSUMED]. 沉睡 also holds 不可阻挡 // (PRTS 异常效果 SLEEPING = 无法行动+无敌+不可阻挡): a sleeper's blocker lets go — its swing was cut above; Battle.applyStatus @@ -572,12 +576,13 @@ export function updateEnemy(b, e, dt) { if (b.time < e.pauseUntil) return; // standing for an attack clip (attackStand, GitHub #58): only the walking waits — a checkpoint's WAIT keeps running // and DISAPPEAR / APPEAR legs still happen (advanceRoute); drawn idle (the client plays the clip, then Move again); - // a 恐惧 runs at once (it cannot attack) - const standing = winding || (b.time < e.atkStandUntil && !e.s.flags.fear); + // a 恐惧 runs at once (it cannot attack). 失衡 holds the walking too — under 恐惧 / 诱导 as well (失衡免疫 says 「失衡期间 + // 无法自主移动」; no source exempts a fear) + const standing = winding || unbalanced || (b.time < e.atkStandUntil && !e.s.flags.fear); if (e.s.flags.noMove) { e.moving = false; return; } // standing (a 重生, a form change): drawn idle, not walking // 恐惧 (ba.fear "无法被阻挡并四散逃跑"; PRTS 诱发移动: 恐惧 outranks 诱导): runs to random tiles of the fan away from // its source — a self-inflicted fear flutters inside its own tile (fear.js); the route re-plans once it ends - if (e.s.flags.fear && !e.hidden) { moveFeared(b, e, dt); return; } + if (e.s.flags.fear && !e.hidden) { if (unbalanced) e.moving = false; else moveFeared(b, e, dt); return; } if (e.mem.fearMove) endFear(e); // 诱导 (ba.attract "无法被阻挡并向目标位置移动"): walks to the attract point instead of following its route if (e.s.flags.attract) { if (standing) e.moving = false; else moveAttracted(b, e, dt); return; } diff --git a/server/sim/battle/displacement.js b/server/sim/battle/displacement.js index 6c409430..415722d8 100644 --- a/server/sim/battle/displacement.js +++ b/server/sim/battle/displacement.js @@ -2,7 +2,10 @@ // directional), pull, the raw mover displace and who can be moved at all. // Installed on Battle.prototype by server/sim/Battle.js (a method container: never instantiated; `this` is the battle). -import { COLS, PUSH_TILES, PUSH_TILES_EFFECT, PULL_WEAK_SHARE, PULL_CRAWL, PULL_ORIGIN, PULL_STOP_RADIUS, PUSH_DIRECTIONAL_MIN_DIST } from '../constants.js'; +import { + COLS, PUSH_TILES, PUSH_TILES_EFFECT, PULL_WEAK_SHARE, PULL_CRAWL, PULL_ORIGIN, PULL_STOP_RADIUS, PUSH_DIRECTIONAL_MIN_DIST, + PUSH_UNBALANCE, PULL_UNBALANCE, PULL_UNBALANCE_WEAK, UNBALANCE_MIN, +} from '../constants.js'; import { fin } from './util.js'; import { hypot } from '../detmath.js'; @@ -16,6 +19,18 @@ export function pushTiles(level, effect = false) { return (effect ? PUSH_TILES_EFFECT : PUSH_TILES)[Math.min(3, l)]; } +/** 失衡 (UNBALANCE) of a push of 受力等级 `level`, game seconds (constants.js PUSH_UNBALANCE: ≤ −3 → 0, ≥ 3 → the 3 value). */ +export function pushUnbalance(level) { + const l = Math.round(fin(level, -99)); + return l <= -3 ? 0 : PUSH_UNBALANCE[Math.min(3, l)]; +} + +/** 失衡 of a pull of 受力等级 `level`: its force window (PULL_UNBALANCE, 0.5 s below −1), none at ≤ −3 (force 0). */ +export function pullUnbalance(level) { + const l = Math.round(fin(level, -99)); + return l <= -3 ? 0 : l < -1 ? PULL_UNBALANCE_WEAK : PULL_UNBALANCE; +} + export class BattleDisplacement { /** * 受力等级 of enemy `e` under a push / pull of 力度 `force` (微小力 −1, 小力 0, 中力 1, 较大力 2, 大力 3, 大力+1 4, 特大力 5): @@ -40,7 +55,7 @@ export class BattleDisplacement { * Returns the tiles moved. */ push(e, force, { from = null, dir = null, fixed = false, fixedAngle = false, inward = false, effect = false } = {}) { - if (!this._displaceable(e)) return 0; + if (!this._displaceable(e)) { this._staticForce(e, force); return 0; } let level = this.forceLevel(e, force); const fx0 = fin(from?.x, e.x), fy0 = fin(from?.y, e.y); const vx = e.x - fx0, vy = e.y - fy0, d = hypot(vx, vy); @@ -58,7 +73,12 @@ export class BattleDisplacement { else return 0; let dist = pushTiles(level, effect); if (inward && !(dl > 0)) { ux = -ux; uy = -uy; dist = Math.min(dist, Math.max(0, d - PULL_STOP_RADIUS)); } - return this.displace(e, { x: ux, y: uy }, dist); + // 失衡 for the row's 位移时间 — also when the 特效 column or a wall shortens the slide [ASSUMED for the wall]; a slide a + // wall stops at the first step gets the 0.1 s floor, like a body that cannot move [ASSUMED: 碰撞、停止 is 待补充] + const hold = pushUnbalance(level); + const moved = this.displace(e, { x: ux, y: uy }, dist, { dur: hold }); + if (hold > 0) this._unbalance(e, moved > 0 ? hold : UNBALANCE_MIN); + return moved; } /** @@ -68,12 +88,17 @@ export class BattleDisplacement { * the official 拉力起点 in front of an operator. Returns the tiles moved. */ pull(e, force, { to, center = null, stop = PULL_STOP_RADIUS } = {}) { - if (!this._displaceable(e) || !to) return 0; + if (!to) return 0; + if (!this._displaceable(e)) { this._staticForce(e, force); return 0; } // an enemy the puller itself blocks already stands in front of it (at contact) [ASSUMED: no pull, no unblocking] if (center && center.side === 'ally' && e.blockedBy === center) return 0; + const level = this.forceLevel(e, force); + // 失衡 for the force window, whatever the travel: the 急停 zeroes the movement, the state lasts to the window's end + const hold = pullUnbalance(level); + if (!(hold > 0)) return 0; const tx = fin(to.x, e.x), ty = fin(to.y, e.y); const dx = tx - e.x, dy = ty - e.y, d0 = hypot(dx, dy); - if (!(d0 > 1e-6)) return 0; + if (!(d0 > 1e-6)) { this._unbalance(e, hold); return 0; } const ux = dx / d0, uy = dy / d0; // travel until inside the stop circle around `center` (smaller root of |e + t·u − c| = stop), else up to `to` let full = d0; @@ -84,9 +109,10 @@ export class BattleDisplacement { const disc = wu * wu - w2 + r * r; if (disc >= 0) { const t = -wu - Math.sqrt(disc); if (t >= 0) full = Math.min(full, t); } } - const level = this.forceLevel(e, force); - const dist = level >= 0 ? full : level === -1 ? Math.min(full, PULL_WEAK_SHARE * d0) : level === -2 ? Math.min(full, PULL_CRAWL) : 0; - return dist > 1e-6 ? this.displace(e, { x: ux, y: uy }, dist) : 0; + const dist = level >= 0 ? full : level === -1 ? Math.min(full, PULL_WEAK_SHARE * d0) : Math.min(full, PULL_CRAWL); + const moved = dist > 1e-6 ? this.displace(e, { x: ux, y: uy }, dist, { dur: hold }) : 0; + this._unbalance(e, hold); + return moved; } /** Official distance (tiles) a push of 力度 `force` would move `e` on open ground (0 when it cannot be displaced). */ @@ -107,12 +133,39 @@ export class BattleDisplacement { * 失衡状态 … 但物理层面上无法产生任何速度或移动" — every air unit of the mode except “炎佑”, plus the boss 昆图斯 (build-data * STATIC_BODIES; player report after 0.1.0, "飞机可以被薄绿的技能拉走"). A skill that reaches it still hits it (its targeting * is the skill's own: 锏 S3, 薄绿, the 钩索师 …); only the movement is 0, so distance-based effects (drag damage, 见行者 S2's - * wall stun) come to nothing. [ASSUMED] the 0.1 s 失衡硬直 a 静态刚体 still gets is not modelled (no displacement models it). + * wall stun) come to nothing — but a force > 0 still puts it in the 失衡 state for its 0.1 s floor (_staticForce). */ _displaceable(e) { return !!(e && e.alive && e.side === 'enemy' && !e.isBoss && !e.s.flags.noDisplace && !(e.def && e.def.staticBody)); } + /** + * A push / pull of 力度 `force` on a 静态刚体 (data `staticBody`; not 失衡免疫 `noDisplace` — PRTS 特殊机制 静态刚体: unlike + * 失衡免疫 it "可以进入失衡状态并启用物理,但物理层面上无法产生任何速度或移动", leaving it 「在失去施力后立刻」 with 「0.1 秒保底持续 + * 时间」): a force > 0 (受力等级 ≥ −2) gives the UNBALANCE_MIN state, no movement. Leaders (the boss pool) stay out. + */ + _staticForce(e, force) { + if (!(e && e.alive && e.side === 'enemy' && !e.isBoss && !e.s.flags.noDisplace && e.def && e.def.staticBody)) return; + if (this.forceLevel(e, force) >= -2) this._unbalance(e, UNBALANCE_MIN); + } + + /** + * Put enemy `e` in the 失衡 (UNBALANCE) state for `dur` game seconds from now (a running one is kept when it lasts longer): + * a state machine, not a status (PRTS 异常效果: no 阻止攻击 status — no stun, no immunity, SP untouched) — ai.js + * updateEnemy reads `unbalanceUntil`: the enemy neither walks (恐惧 / 诱导 included) nor starts a normal attack, a swing + * short of its frame is cut; checks that ignore the state (水遁忍者's damage, content abilities) go on. The state machine + * switch ends the attack clip it stood for (PRTS 状态机: the states are exclusive — UNBALANCE, then DEFAULT → MOVE). It + * ends with its time, or at once with 浮空 (术语释义 浮空 「触发浮空时清除受到的推/拉力…无法陷入失衡」, ai.js) or a 重生. + * No global skill lock: enemy abilities keep ticking (the 「使用技能」 part is not modelled — docs/SIM.md). + */ + _unbalance(e, dur) { + if (!(dur > 0) || !e || !e.alive) return; + const until = this.time + dur; + if (!(e.unbalanceUntil >= until)) e.unbalanceUntil = until; + this._cutAttackStand(e); + e.atkStandUntil = -Infinity; + } + /** * Move an enemy `distance` tiles along `dir` = {x, y} (normalised internally) over passable tiles — the raw mover of * push() / pull(), which apply the official 力度 − 重量 rules (content uses those; the old `force` option is gone). @@ -120,7 +173,7 @@ export class BattleDisplacement { * ⇒ no movement (_displaceable). The tiles it may cross follow its movement (`motion`): a hovering enemy walks the * ground, so it stays on ground-passable tiles. */ - displace(e, dir, distance) { + displace(e, dir, distance, { dur = 0 } = {}) { if (!this._displaceable(e) || !dir) return 0; const dxv = fin(dir.x, 0), dyv = fin(dir.y, 0); const len = hypot(dxv, dyv); @@ -144,7 +197,8 @@ export class BattleDisplacement { this._cutAttackStand(e); e.atkStandUntil = -Infinity; if (e.route) e.route.pts = null; - this.fx('displace', { x: e.x, y: e.y, id: e.id }); + // `dur` (game s): the 失衡 the push / pull gives — the client's slide takes that long (render/units.js slideTo) + this.fx('displace', dur > 0 ? { x: e.x, y: e.y, id: e.id, dur } : { x: e.x, y: e.y, id: e.id }); } return moved; } diff --git a/server/sim/battle/spawns.js b/server/sim/battle/spawns.js index 9e3ed1ae..bd8048ff 100644 --- a/server/sim/battle/spawns.js +++ b/server/sim/battle/spawns.js @@ -137,6 +137,7 @@ export class BattleSpawns { e.atkCd = 0; e.pauseUntil = -Infinity; // content holds (暴鸰's drop) e.atkStandUntil = -Infinity; // standing for its attack clip (ai.js attackStand) + e.unbalanceUntil = -Infinity; // 失衡 (UNBALANCE) after a push / pull (battle/displacement.js _unbalance, ai.js) e.atkStandCutAt = -Infinity; // display metadata: when its stand was last cut or ignored (snapshot standCut) e.swing = false; // a normal attack swung, its damage frame not reached yet (ai.js enemyAttack) // every enemy profile starts with the same fields (stable object shapes keep the hot loop's property reads fast); diff --git a/server/sim/constants.js b/server/sim/constants.js index 3308a55d..598ac848 100644 --- a/server/sim/constants.js +++ b/server/sim/constants.js @@ -128,6 +128,21 @@ export const PULL_CRAWL = 0.03; export const PULL_ORIGIN = 0.5; export const PULL_STOP_RADIUS = 0.6708; export const PUSH_DIRECTIONAL_MIN_DIST = 0.25; +/** + * 失衡 (UNBALANCE) — the state machine a force > 0 puts an enemy in (PRTS 失衡位移机制 「当一名敌方单位受到一个任意来源的力, + * 并且受力大小 > 0 时,该敌方单位将进入失衡(UNBALANCE)状态机」; 异常效果图鉴/失衡免疫 「失衡期间无法自主移动、发动攻击、使用技能」 — + * not an abnormal status: 异常效果 「失衡…不属于异常效果,它是一种状态机」, so it is no stun). Its length in game seconds: + * PUSH_UNBALANCE = a push by 受力等级 — PRTS 游戏数据基础 推力-位移近似对应表 「位移时间」 (whole frames at 30 fps: 6, 12, 24, + * 27, 32, 35; the 0.1 s floor is inside them); PULL_UNBALANCE / PULL_UNBALANCE_WEAK = a pull's force window — 推与拉 §拉力 + * 「作用时间默认为 1 s;若本次受力等级 < −1,作用时间改为 0.5 s」, the state lasting to its end after the 急停 too (「目标将仍保持 + * 失衡状态至拉力作用时间结束为止」); UNBALANCE_MIN = the 失衡硬直 floor (「立刻拥有 0.1 s 的“失衡硬直”。此期间无法解除失衡状态机 + * ——哪怕已经没有被移动或者受力」) — what a 静态刚体 hit by a force gets (特殊机制 静态刚体 「失衡状态拥有 0.1 秒保底持续时间」). + * PR #392 by @xcdoge brought the state; its 0.6387·√tiles was derived from the page's μ = 0.5 单位假设, not printed. + */ +export const PUSH_UNBALANCE = Object.freeze({ '-2': 0.2, '-1': 0.4, 0: 0.8, 1: 0.9, 2: 32 / 30, 3: 35 / 30 }); +export const PULL_UNBALANCE = 1; +export const PULL_UNBALANCE_WEAK = 0.5; +export const UNBALANCE_MIN = 0.1; /** * Fallback freeze when a second 寒冷 lands and neither the remaining cold nor the incoming one has a duration diff --git a/server/sim/content/enemies/archetypes.js b/server/sim/content/enemies/archetypes.js index a4e16b1c..5f682f97 100644 --- a/server/sim/content/enemies/archetypes.js +++ b/server/sim/content/enemies/archetypes.js @@ -356,6 +356,7 @@ function reborn({ dur = 0, hpRatio = 1, invincible = 0, onKo = null, during = nu a.state = 'reborn'; a.t0 = b.time; a.noAtk = e.profile.noAttack; + e.unbalanceUntil = -Infinity; // a 重生 is a forced state change: it ends a 失衡 (PRTS 失衡位移机制 「例如复活」) rebirthCleanse(b, e); e.hp = Math.min(1, e.s.maxHp); if (onKo) safe(b, e, () => onKo(b, e, a)); diff --git a/test/golden/bonds.json b/test/golden/bonds.json index 20ac7918..27e31575 100644 --- a/test/golden/bonds.json +++ b/test/golden/bonds.json @@ -93,33 +93,33 @@ "round": 5, "seed": 4108057433, "waveId": "act1autochess_05", - "time": 61.37, - "ticks": 1841, + "time": 60.27, + "ticks": 1808, "reason": "cleared", - "killed": 18, + "killed": 21, "total": 21, "unspawned": 0, "bossHpLeft": null, "rngDraws": 29, "errors": {"count":0,"kinds":[]}, - "players": {"p1":{"killed":18,"total":21,"perfect":false,"leaks":3,"leaksUncounted":0,"coins":0,"dmg":70850,"bossDmg":0,"heal":0,"deaths":1,"layerGains":{}}}, + "players": {"p1":{"killed":21,"total":21,"perfect":true,"leaks":0,"leaksUncounted":0,"coins":0,"dmg":72522,"bossDmg":0,"heal":0,"deaths":0,"layerGains":{}}}, "units": [ - ["p1",1,"op","chess_char_3_12_a",2,null,0,0,3,5,12243,2334,0,30,1], - ["p1",2,"op","chess_char_1_06_a",1,null,1137,1,4,3,2907,0,0,13,1], - ["p1",3,"op","chess_char_1_13_a",1,null,913,1,6,3,3059,0,0,12,1], - ["p1",4,"op","chess_char_3_08_a",1,null,1594,1,8,0,5974,0,0,9,1], + ["p1",1,"op","chess_char_3_12_a",2,null,103.12,1,3,1,14295,2231,0,32,1], + ["p1",2,"op","chess_char_1_06_a",1,null,1137,1,4,2,2896,0,0,13,1], + ["p1",3,"op","chess_char_1_13_a",1,null,913,1,6,3,2746,0,0,12,1], + ["p1",4,"op","chess_char_3_08_a",1,null,1594,1,8,1,6742,0,0,10,1], ["p1",5,"op","chess_char_3_09_a",1,null,1267,1,9,1,13794,0,0,27,1], ["p1",6,"op","chess_char_3_10_a",1,null,1650,1,10,0,7040,0,0,8,1], - ["p1",7,"op","chess_char_3_11_a",1,null,1316,1,5,5,20865,0,0,23,3], - ["p1",8,"op","chess_char_3_13_a",1,null,1064,1,7,1,4968,0,0,29,6], + ["p1",7,"op","chess_char_3_11_a",1,null,1316,1,5,12,20370,0,0,24,3], + ["p1",8,"op","chess_char_3_13_a",1,null,1064,1,7,1,4639,0,0,29,6], ["-","~1","device","trap_1105_accrate",null,null,100,1,1,0,0,0,0,0,null], ["-","~2","device","trap_1105_accrate",null,null,100,1,2,0,0,0,0,0,null] ], - "enemies": {"enemy_1249_lysdb_2":[5,4,1,358,26835],"enemy_1251_lysyta":[15,13,2,36,35523],"enemy_1328_cbjedi":[1,1,0,1940,9000]}, - "hooks": [1,31,1841,178,178,223,218,0,19,22,15,15,0,9915,13,9,21,3,1,19,0,0,0], - "events": {"atk":195,"deploy":8,"die":19,"dmg":218,"engage":8,"fx":36,"leak":3,"skill":30,"spawn":31,"status":21}, - "fx": {"aoe":1,"displace":11,"pull":11,"shieldBreak":5,"strike":3,"taunt":1,"volley":3,"zone":1}, - "snaps": "c6b020b2 1c788562 16d41c60 842c0335 f0c64705 3571b4d8 5874690e" + "enemies": {"enemy_1249_lysdb_2":[5,5,0,243,27000],"enemy_1251_lysyta":[15,15,0,48,37125],"enemy_1328_cbjedi":[1,1,0,1940,9000]}, + "hooks": [1,31,1808,176,176,224,219,0,21,21,15,15,0,9752,12,11,21,0,1,21,0,0,0], + "events": {"atk":194,"deploy":8,"die":21,"dmg":219,"engage":8,"fx":38,"skill":30,"spawn":31,"status":20}, + "fx": {"aoe":1,"displace":12,"pull":12,"shieldBreak":5,"strike":3,"taunt":1,"volley":3,"zone":1}, + "snaps": "c6b020b2 1c788562 9da6272d cd36ff9d d5b5678d 63be814b" }, "bond-deputShip-high": { "about": "助力 high: tier 2 layers 999; chess_char_4_11_b chess_char_1_06_b chess_char_1_13_b chess_char_2_14_b chess_char_1_06_a chess_char_1_13_a chess_char_4_10_b chess_char_4_12_b token_10041_cathy_catsld token_10041_cathy_catsld", @@ -159,7 +159,7 @@ "hooks": [1,21,2964,212,212,351,351,1970,8,8,13,11,0,11247,107,0,8,0,1,7,0,0,0], "events": {"atk":212,"deploy":10,"die":8,"dmg":351,"engage":5,"fx":36,"heal":82,"skill":24,"spawn":21,"status":80}, "fx": {"beam":2,"counter":16,"pull":1,"slippery":2,"taunt":4,"tornado":1,"tornadoPulse":5,"zone":5}, - "snaps": "574ee580 09a0f1f4 bfc664da e9ec3f0c 3b21cd95 a6acc441 a2d8b7ce 321e8fc8 cbae8186 5d84bf4d" + "snaps": "574ee580 09a0f1f4 bfc664da e9ec3f0c 3b21cd95 a6acc441 61c2f36b 303868a6 ffd954e0 97cea3c3" }, "bond-egirShip-low": { "about": "阿戈尔 low: tier 1 layers 1; chess_char_1_04_a chess_char_3_16_a chess_char_2_07_a chess_char_3_18_a chess_char_3_05_a chess_char_3_14_a chess_char_3_17_a chess_char_3_19_a token_10028_vigil_wolf", @@ -281,7 +281,7 @@ "hooks": [1,25,1945,180,180,256,256,235,19,19,6,5,0,7205,14,10,17,0,1,19,0,0,0], "events": {"atk":211,"deploy":8,"die":19,"dmg":255,"engage":6,"fx":28,"skill":11,"spawn":25,"status":42}, "fx": {"crit":4,"displace":6,"ripple":7,"shadowWeave":6,"shield":2,"shieldBreak":1,"stealth":2}, - "snaps": "f706d3f6 37a0b4de 0cfef64a f3908955 0da62a3f ea2a8775 7f375667" + "snaps": "f706d3f6 37a0b4de 0cfef64a f3908955 f673d111 606dc386 b653e7bc" }, "bond-emptyShip-high": { "about": "协防干员 high: tier 1 layers 999; chess_char_4_17_b chess_char_4_18_b chess_char_4_19_b chess_char_4_22_b chess_char_2_14_b chess_char_3_10_b chess_char_4_20_b chess_char_4_21_b", @@ -495,8 +495,8 @@ "round": 5, "seed": 2071095439, "waveId": "act1autochess_05", - "time": 68.33, - "ticks": 2050, + "time": 69.33, + "ticks": 2080, "reason": "cleared", "killed": 16, "total": 16, @@ -505,26 +505,26 @@ "rngDraws": 0, "errors": {"count":0,"kinds":[]}, "players": { - "p1": {"killed":16,"total":16,"perfect":true,"leaks":0,"leaksUncounted":0,"coins":0,"dmg":121762,"bossDmg":0,"heal":13131,"deaths":2,"layerGains":{"kazimierzShip":1}} + "p1": {"killed":16,"total":16,"perfect":true,"leaks":0,"leaksUncounted":0,"coins":0,"dmg":121582,"bossDmg":0,"heal":12260,"deaths":2,"layerGains":{"kazimierzShip":1}} }, "units": [ - ["p1",1,"op","chess_char_2_18_a",0,null,2218,1,7,7,48246,181,0,21,1], + ["p1",1,"op","chess_char_2_18_a",0,null,2218,1,7,7,48933,215,0,20,1], ["p1",2,"op","chess_char_4_23_a",2,null,2179,1,6,0,0,0,0,0,0], - ["p1",3,"op","chess_char_4_22_a",2,null,2022,1,8,4,26794,0,0,19,1], - ["p1",4,"op","chess_char_1_19_a",1,null,0,0,9,0,15153,4425,0,36,1], - ["p1",5,"op","chess_char_2_12_a",1,null,0,0,10,1,24284,7786,3720,58,1], - ["p1",6,"op","chess_char_4_21_a",1,null,1271,1,4,0,0,0,5886,34,1], - ["p1",7,"op","chess_char_4_24_a",1,null,1726,1,5,3,7285,0,0,12,2], - ["p1",8,"op","chess_char_4_25_a",2,null,825.8,1,11,0,0,4162,3525,0,1], + ["p1",3,"op","chess_char_4_22_a",2,null,2022,1,8,3,28294,0,0,18,1], + ["p1",4,"op","chess_char_1_19_a",1,null,0,0,9,0,13701,4425,0,35,1], + ["p1",5,"op","chess_char_2_12_a",1,null,0,0,10,3,21541,7905,3420,56,1], + ["p1",6,"op","chess_char_4_21_a",1,null,1271,1,4,0,0,0,5786,36,1], + ["p1",7,"op","chess_char_4_24_a",1,null,1726,1,5,2,9115,0,0,13,2], + ["p1",8,"op","chess_char_4_25_a",2,null,1024.82,1,11,0,0,2830,3054,0,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] ], - "enemies": {"enemy_1116_liprr":[11,11,0,4424,69696],"enemy_1116_liprr_2":[4,4,0,89,34560],"enemy_1121_lifbos":[1,1,0,8100,23040]}, - "hooks": [1,27,2050,231,231,430,430,1694,18,18,8,7,0,7384,12,17,16,0,1,18,1,0,0], - "events": {"atk":256,"deploy":8,"die":18,"dmg":422,"engage":5,"fx":60,"heal":49,"layer":1,"skill":15,"spawn":27,"status":47}, - "fx": {"displace":16,"garrison":1,"healField":1,"liberate":3,"phase":2,"redistribute":15,"reweave":1,"sandChains":2,"shield":1,"slash":17,"truesilver":1}, - "snaps": "657d1bd5 80aa4e11 12c1b0df 312a31d4 3b4636c0 224b37d2 ec977e01" + "enemies": {"enemy_1116_liprr":[11,11,0,3115,69696],"enemy_1116_liprr_2":[4,4,0,45,34560],"enemy_1121_lifbos":[1,1,0,8275,23040]}, + "hooks": [1,27,2080,221,221,421,421,1602,18,18,8,7,0,7504,13,16,16,0,1,18,1,0,0], + "events": {"atk":245,"deploy":8,"die":18,"dmg":413,"engage":5,"fx":57,"heal":48,"layer":1,"skill":15,"spawn":27,"status":50}, + "fx": {"displace":14,"garrison":1,"healField":1,"liberate":3,"phase":2,"redistribute":15,"reweave":1,"sandChains":2,"shield":1,"slash":16,"truesilver":1}, + "snaps": "657d1bd5 dd4a6c63 5e39c4b6 9485b163 f601c36f 7699a7ce 5912c331" }, "bond-kazimierzShip-high": { "about": "卡西米尔 high: tier 2 layers 999; chess_char_2_18_b chess_char_3_12_b chess_char_5_08_b chess_char_4_19_b chess_char_1_19_b chess_char_2_12_b chess_char_3_17_b chess_char_5_10_b", @@ -535,8 +535,8 @@ "round": 10, "seed": 3009624823, "waveId": "act1autochess_h03", - "time": 87.93, - "ticks": 2638, + "time": 93.77, + "ticks": 2813, "reason": "cleared", "killed": 30, "total": 30, @@ -544,24 +544,24 @@ "bossHpLeft": null, "rngDraws": 18, "errors": {"count":0,"kinds":[]}, - "players": {"p1":{"killed":30,"total":30,"perfect":true,"leaks":0,"leaksUncounted":0,"coins":0,"dmg":404368,"bossDmg":0,"heal":1577,"deaths":3,"layerGains":{}}}, + "players": {"p1":{"killed":30,"total":30,"perfect":true,"leaks":0,"leaksUncounted":0,"coins":0,"dmg":404340,"bossDmg":0,"heal":1392,"deaths":2,"layerGains":{}}}, "units": [ - ["p1",1,"op","chess_char_2_18_b",0,"uniequip_002_ashlok",2119.02,1,3,8,90148,1036,0,17,2], + ["p1",1,"op","chess_char_2_18_b",0,"uniequip_002_ashlok",1083.03,1,3,8,86638,2072,0,16,2], ["p1",2,"op","chess_char_3_12_b",2,"uniequip_002_blemsh",3096,1,5,0,0,0,0,0,0], - ["p1",3,"op","chess_char_5_08_b",2,"uniequip_002_horn",289.17,1,7,10,73608,4063,1577,56,2], - ["p1",4,"op","chess_char_4_19_b",2,"uniequip_002_flamtl",2118,1,8,0,14304,0,0,9,2], - ["p1",5,"op","chess_char_1_19_b",1,"uniequip_002_wildmn",0,0,9,2,77090,1971,0,47,2], - ["p1",6,"op","chess_char_2_12_b",1,"uniequip_002_gravel",0,0,39,3,58835,5158,0,50,2], + ["p1",3,"op","chess_char_5_08_b",2,"uniequip_002_horn",104.7,1,7,8,76711,4063,1392,60,2], + ["p1",4,"op","chess_char_4_19_b",2,"uniequip_002_flamtl",2118,1,8,0,8628,0,0,4,1], + ["p1",5,"op","chess_char_1_19_b",1,"uniequip_002_wildmn",168.71,1,9,4,74360,1802,0,49,2], + ["p1",6,"op","chess_char_2_12_b",1,"uniequip_002_gravel",0,0,40,3,67620,5158,0,59,2], ["p1",7,"op","chess_char_3_17_b",1,"uniequip_002_shotst",3441.6,1,4,7,87314,0,0,29,3], - ["p1",8,"op","chess_char_5_10_b",2,"uniequip_002_lisa",1480,1,6,0,3068,0,0,10,2], + ["p1",8,"op","chess_char_5_10_b",2,"uniequip_002_lisa",1480,1,6,0,3068,0,0,10,1], ["-","~1","device","trap_1105_accrate",null,null,100,1,1,0,0,0,0,0,null], ["-","~2","device","trap_1105_accrate",null,null,100,1,2,0,0,0,0,0,null] ], - "enemies": {"enemy_10124_uashld_2":[2,2,0,4348,124416],"enemy_1043_zomsbr":[23,23,0,0,147049],"enemy_1061_zomshd":[5,5,0,3818,132903]}, - "hooks": [1,41,2638,236,236,479,594,3409,33,33,15,12,0,5348,956,10,30,0,1,45,0,0,5], - "events": {"atk":236,"deploy":9,"die":33,"dmg":473,"engage":7,"fx":55,"skill":27,"spawn":40,"status":123}, - "fx": {"aoe":26,"displace":15,"dodge":5,"flame":2,"overload":2,"shield":2,"volley":3}, - "snaps": "53aefe29 132f9895 66c91b90 58d6bf98 acad140a 29a3f969 e1ede0b1 1f1ddaa7 d9ab9af3" + "enemies": {"enemy_10124_uashld_2":[2,2,0,5834,124416],"enemy_1043_zomsbr":[23,23,0,0,147001],"enemy_1061_zomshd":[5,5,0,3199,132923]}, + "hooks": [1,41,2813,245,245,495,610,3319,32,32,13,12,0,5846,933,10,30,0,1,47,0,0,5], + "events": {"atk":245,"deploy":9,"die":32,"dmg":489,"engage":7,"fx":57,"skill":25,"spawn":40,"status":131}, + "fx": {"aoe":30,"displace":14,"dodge":5,"flame":1,"overload":2,"shield":2,"volley":3}, + "snaps": "fc50a052 495f0e05 8e2ee39a a18a780c aa4d2fed fe06ee8e fc6d9c35 7fa5d1de 99207752 3dde15c6" }, "bond-kjeragShip-low": { "about": "谢拉格 low: tier 1 layers 1; chess_char_1_02_a chess_char_3_02_a chess_char_3_03_a chess_char_3_04_a chess_char_2_05_a chess_char_3_11_a chess_char_4_26_a chess_char_3_01_a", @@ -679,7 +679,7 @@ "hooks": [1,25,1853,125,125,469,469,0,20,20,7,4,15,7562,0,3,17,0,1,20,1,0,0], "events": {"atk":162,"deploy":8,"die":20,"dmg":469,"engage":7,"fx":25,"layer":1,"skill":11,"spawn":25,"status":1}, "fx": {"aoe":2,"buff":1,"displace":2,"garrison":1,"pull":2,"zone":17}, - "snaps": "5869531a e3daaf3e 10aebf7e 0e6098bf 9cea6de8 1658f7ec 83559ae8" + "snaps": "5869531a e3daaf3e 10aebf7e 0e6098bf 9cea6de8 0019f087 1c9009ff" }, "bond-lateranoShip-high": { "about": "拉特兰 high: tier 2 layers 999; chess_char_4_01_b chess_char_5_13_b chess_char_5_14_b chess_char_1_01_b chess_char_2_01_b chess_char_3_01_b chess_char_3_21_b chess_char_4_02_b", @@ -690,8 +690,8 @@ "round": 10, "seed": 4098169220, "waveId": "act1autochess_h03", - "time": 78.37, - "ticks": 2351, + "time": 78.2, + "ticks": 2346, "reason": "cleared", "killed": 30, "total": 30, @@ -699,22 +699,22 @@ "bossHpLeft": null, "rngDraws": 7, "errors": {"count":0,"kinds":[]}, - "players": {"p1":{"killed":30,"total":30,"perfect":true,"leaks":0,"leaksUncounted":0,"coins":0,"dmg":581155,"bossDmg":0,"heal":475,"deaths":2,"layerGains":{}}}, + "players": {"p1":{"killed":30,"total":30,"perfect":true,"leaks":0,"leaksUncounted":0,"coins":0,"dmg":581371,"bossDmg":0,"heal":475,"deaths":2,"layerGains":{}}}, "units": [ - ["p1",1,"op","chess_char_4_01_b",2,"uniequip_002_rmixer",5482.35,1,4,0,7107,0,0,13,1], - ["p1",2,"op","chess_char_5_13_b",1,"uniequip_002_ghost2",3813.44,1,6,2,17177,3812,0,19,1], - ["p1",3,"op","chess_char_5_14_b",1,"none",0,0,7,2,26841,2649,475,5,5], - ["p1",4,"op","chess_char_1_01_b",1,"uniequip_002_inside",1421,1,1,5,238308,0,0,212,1], - ["p1",5,"op","chess_char_2_01_b",1,"uniequip_002_excu",2146,1,2,1,31603,0,0,9,1], - ["p1",6,"op","chess_char_3_01_b",2,"uniequip_002_angel",1887.1,1,3,9,69243,0,0,51,2], - ["p1",7,"op","chess_char_3_21_b",2,"uniequip_002_archet",1590,1,5,6,98994,0,0,64,2], - ["p1",8,"op","chess_char_4_02_b",2,"uniequip_002_mostma",0,0,8,5,91881,1695,0,14,1] + ["p1",1,"op","chess_char_4_01_b",2,"uniequip_002_rmixer",5482.35,1,4,0,9794,0,0,14,1], + ["p1",2,"op","chess_char_5_13_b",1,"uniequip_002_ghost2",3813.44,1,6,3,16963,3812,0,19,1], + ["p1",3,"op","chess_char_5_14_b",1,"none",0,0,7,1,29388,2649,475,5,5], + ["p1",4,"op","chess_char_1_01_b",1,"uniequip_002_inside",1421,1,1,7,235131,0,0,210,1], + ["p1",5,"op","chess_char_2_01_b",1,"uniequip_002_excu",2146,1,2,0,30950,0,0,9,1], + ["p1",6,"op","chess_char_3_01_b",2,"uniequip_002_angel",1887.1,1,3,8,67352,0,0,50,2], + ["p1",7,"op","chess_char_3_21_b",2,"uniequip_002_archet",1590,1,5,4,99557,0,0,64,2], + ["p1",8,"op","chess_char_4_02_b",2,"uniequip_002_mostma",0,0,8,7,92236,1695,0,14,1] ], - "enemies": {"enemy_1006_shield_3":[3,3,0,3812,298598],"enemy_1043_zomsbr":[23,23,0,24,153164],"enemy_1402_tgshd_2":[4,4,0,4320,129393]}, - "hooks": [1,38,2351,407,407,718,718,3946,32,32,14,12,214,4418,26,12,30,0,1,40,0,0,0], - "events": {"atk":478,"deploy":8,"die":32,"dmg":715,"engage":8,"fx":288,"skill":26,"spawn":38,"status":106}, - "fx": {"aoe":5,"buff":2,"counter":2,"displace":27,"expose":238,"reload":1,"ripple":9,"sermon":1,"shield":2,"substitute":1}, - "snaps": "9aca11d4 3a28785b 4e556202 f1e54c63 9ab6817f df61eea0 6a19c875 9b5a706e" + "enemies": {"enemy_1006_shield_3":[3,3,0,3812,298598],"enemy_1043_zomsbr":[23,23,0,24,153380],"enemy_1402_tgshd_2":[4,4,0,4320,129393]}, + "hooks": [1,38,2346,405,405,717,717,4027,32,32,14,12,213,4408,28,11,30,0,1,39,0,0,0], + "events": {"atk":479,"deploy":8,"die":32,"dmg":713,"engage":8,"fx":291,"skill":26,"spawn":38,"status":110}, + "fx": {"aoe":5,"buff":2,"counter":3,"displace":27,"expose":240,"reload":1,"ripple":9,"sermon":1,"shield":2,"substitute":1}, + "snaps": "9aca11d4 b8950805 b7da3a11 1a6ef8cf 6f6a91e6 0373204f 1adfd629 d9404c34" }, "bond-maniShip-low": { "about": "调和 low: tier 1 layers 1; chess_char_3_12_a chess_char_3_16_a chess_char_6_11_a chess_char_1_03_a chess_char_2_04_a chess_char_3_11_a chess_char_3_13_a chess_char_3_14_a token_10030_mlyss_wtrman", @@ -840,34 +840,34 @@ "round": 10, "seed": 2841335436, "waveId": "act1autochess_h03", - "time": 159.63, - "ticks": 4789, + "time": 162.7, + "ticks": 4881, "reason": "cleared", "killed": 18, "total": 18, "unspawned": 0, "bossHpLeft": null, - "rngDraws": 331, + "rngDraws": 315, "errors": {"count":0,"kinds":[]}, - "players": {"p1":{"killed":18,"total":18,"perfect":true,"leaks":0,"leaksUncounted":0,"coins":0,"dmg":346374,"bossDmg":0,"heal":0,"deaths":2,"layerGains":{"visiShip":8}}}, + "players": {"p1":{"killed":18,"total":18,"perfect":true,"leaks":0,"leaksUncounted":0,"coins":0,"dmg":346374,"bossDmg":0,"heal":0,"deaths":2,"layerGains":{"visiShip":12}}}, "units": [ - ["p1",1,"op","chess_char_4_01_b",2,"uniequip_002_rmixer",5482.35,1,3,0,2984,0,0,24,1], - ["p1",2,"op","chess_char_2_11_b",1,"uniequip_002_kazema",2214,1,5,0,7964,2066,0,37,1], - ["p1",3,"op","chess_char_4_04_b",1,"uniequip_002_ines",2149,1,30,4,55839,2149,0,107,4], - ["p1",4,"op","chess_char_4_07_b",1,"uniequip_002_bpipe",2383,1,31,2,35103,2383,0,38,15], - ["p1",5,"op","chess_char_3_01_b",2,"uniequip_002_angel",1887.1,1,7,2,30107,0,0,63,2], - ["p1",6,"op","chess_char_5_22_b",1,"uniequip_002_nymph",1611,1,8,3,59015,0,0,12,7], - ["p1",7,"op","chess_char_4_02_b",2,"uniequip_002_mostma",1695,1,10,2,95332,0,0,24,1], - ["p1",8,"op","chess_char_4_06_b",1,"uniequip_002_kroos2",1763.93,1,4,5,58029,0,0,131,3], + ["p1",1,"op","chess_char_4_01_b",2,"uniequip_002_rmixer",5482.35,1,3,0,3329,0,0,25,1], + ["p1",2,"op","chess_char_2_11_b",1,"uniequip_002_kazema",2214,1,5,0,8105,2066,0,40,1], + ["p1",3,"op","chess_char_4_04_b",1,"uniequip_002_ines",2149,1,30,4,63040,2149,0,105,4], + ["p1",4,"op","chess_char_4_07_b",1,"uniequip_002_bpipe",2383,1,31,3,39080,2383,0,33,13], + ["p1",5,"op","chess_char_3_01_b",2,"uniequip_002_angel",1887.1,1,7,2,26155,0,0,62,2], + ["p1",6,"op","chess_char_5_22_b",1,"uniequip_002_nymph",1611,1,8,4,59088,0,0,12,7], + ["p1",7,"op","chess_char_4_02_b",2,"uniequip_002_mostma",1695,1,10,1,99210,0,0,24,1], + ["p1",8,"op","chess_char_4_06_b",1,"uniequip_002_kroos2",1763.93,1,4,4,46365,0,0,131,3], ["-","~1","device","trap_1105_accrate",null,null,100,1,1,0,0,0,0,0,null], ["-","~2","device","trap_1105_accrate",null,null,100,1,2,0,0,0,0,0,null], ["p1","~1","token","token_10022_kazema_shadow",null,null,2214,0,29,0,2002,0,0,11,null] ], - "enemies": {"enemy_1381_winman":[9,9,0,24,129890],"enemy_1381_winman_2":[5,5,0,1296,97044],"enemy_1387_winshd":[4,4,0,4170,119439]}, - "hooks": [1,31,4789,475,475,806,818,0,20,21,34,32,7,10899,82,7,18,0,1,21,2,3,0], - "events": {"atk":505,"deploy":11,"die":21,"dmg":810,"engage":9,"fx":161,"layer":2,"skill":66,"spawn":29,"status":163}, - "fx": {"aoe":9,"buff":1,"burst":3,"charge":15,"counter":7,"crit":64,"displace":25,"garrison":2,"quadShot":2,"ripple":9,"sentry":1,"sermon":1,"shadowWeave":11,"shield":1,"soul":3,"stealth":4,"substitute":1,"summon":1,"swap":1}, - "snaps": "05658c81 4763132b f0f0f17a 874fa7b3 f292fa20 5e4e84af 75e9493c 8970dac3 ce3bfb0a 59f1ea3d 6fc0a9c1 dccdbcfd 9c72bb85 219dbc66 40b29608 63826fa1" + "enemies": {"enemy_1381_winman":[9,9,0,0,129890],"enemy_1381_winman_2":[5,5,0,1667,97044],"enemy_1387_winshd":[4,4,0,3824,119439]}, + "hooks": [1,31,4881,472,472,793,805,0,20,21,32,30,8,10728,75,7,18,0,1,21,3,3,0], + "events": {"atk":507,"deploy":11,"die":21,"dmg":796,"engage":9,"fx":157,"layer":3,"skill":62,"spawn":29,"status":159}, + "fx": {"aoe":9,"buff":1,"burst":3,"charge":13,"counter":8,"crit":57,"displace":28,"garrison":3,"quadShot":2,"ripple":9,"sentry":1,"sermon":1,"shadowWeave":11,"shield":1,"soul":3,"stealth":4,"substitute":1,"summon":1,"swap":1}, + "snaps": "05658c81 b2907752 ead04df4 478efd02 d1141f15 996c1ea1 2b4a83db a04411b6 a5761ef5 325d24d8 bbf423e9 8aca2f53 c0a962a9 74308e41 8047910b 5c77ad28 de91902b" }, "bond-preciShip-low": { "about": "精准 low: tier 1 layers 1; chess_char_4_11_a chess_char_4_04_a chess_char_4_07_a chess_char_4_09_a chess_char_1_09_a chess_char_1_17_a chess_char_4_10_a chess_char_4_12_a token_10041_cathy_catsld token_10041_cathy_catsld", @@ -887,16 +887,16 @@ "bossHpLeft": null, "rngDraws": 20, "errors": {"count":0,"kinds":[]}, - "players": {"p1":{"killed":21,"total":21,"perfect":true,"leaks":0,"leaksUncounted":0,"coins":0,"dmg":73125,"bossDmg":0,"heal":0,"deaths":0,"layerGains":{"visiShip":6}}}, + "players": {"p1":{"killed":21,"total":21,"perfect":true,"leaks":0,"leaksUncounted":0,"coins":0,"dmg":73125,"bossDmg":0,"heal":0,"deaths":0,"layerGains":{}}}, "units": [ ["p1",1,"op","chess_char_4_11_a",1,null,2144,1,6,0,0,0,0,0,0], - ["p1",2,"op","chess_char_4_04_a",1,null,1760,1,7,3,6607,0,0,27,2], - ["p1",3,"op","chess_char_4_07_a",1,null,1299,1,8,3,7010,439,0,20,4], - ["p1",4,"op","chess_char_4_09_a",1,null,2137.6,1,10,9,31669,0,0,17,2], + ["p1",2,"op","chess_char_4_04_a",1,null,1760,1,7,4,7659,0,0,27,2], + ["p1",3,"op","chess_char_4_07_a",1,null,1299,1,8,0,6555,439,0,20,4], + ["p1",4,"op","chess_char_4_09_a",1,null,2137.6,1,10,10,31509,0,0,17,2], ["p1",5,"op","chess_char_1_09_a",1,null,1770,1,4,0,0,0,0,0,0], ["p1",6,"op","chess_char_1_17_a",1,null,1139,1,5,0,0,0,0,0,0], - ["p1",7,"op","chess_char_4_10_a",1,null,1288,1,9,4,9818,0,0,11,1], - ["p1",8,"op","chess_char_4_12_a",2,null,1754,1,11,2,18022,0,0,19,1], + ["p1",7,"op","chess_char_4_10_a",1,null,1288,1,9,3,9796,0,0,11,1], + ["p1",8,"op","chess_char_4_12_a",2,null,1754,1,11,4,17606,0,0,19,1], ["p1",9,"token","token_10041_cathy_catsld",null,null,100,1,12,0,0,0,0,0,null], ["p1",10,"token","token_10041_cathy_catsld",null,null,100,1,13,0,0,0,0,0,null], ["-","~1","device","trap_1105_accrate",null,null,100,1,1,0,0,0,0,0,null], @@ -904,10 +904,10 @@ ["-","~3","device","trap_1105_accrate",null,null,100,1,3,0,0,0,0,0,null] ], "enemies": {"enemy_1249_lysdb_2":[5,5,0,0,27000],"enemy_1251_lysyta":[15,15,0,0,37125],"enemy_1328_cbjedi":[1,1,0,439,9000]}, - "hooks": [1,34,1618,95,95,149,144,0,21,21,10,7,0,6561,31,1,21,0,1,21,3,0,0], - "events": {"atk":115,"deploy":10,"die":21,"dmg":144,"engage":5,"fx":61,"layer":3,"skill":17,"spawn":34,"status":44}, - "fx": {"charge":4,"dilemma":2,"displace":14,"garrison":3,"levitate":11,"pull":1,"shadowWeave":10,"shieldBreak":5,"slippery":1,"splash":2,"stealth":2,"tornado":1,"tornadoPulse":5}, - "snaps": "48bb3ef4 23226b3d 02c40c18 97634778 43cfd99c cc46bb24" + "hooks": [1,34,1618,95,95,151,146,0,21,21,10,7,0,6582,31,1,21,0,1,21,0,0,0], + "events": {"atk":116,"deploy":10,"die":21,"dmg":146,"engage":5,"fx":57,"skill":17,"spawn":34,"status":42}, + "fx": {"charge":4,"dilemma":2,"displace":13,"levitate":10,"pull":1,"shadowWeave":11,"shieldBreak":5,"slippery":1,"splash":2,"stealth":2,"tornado":1,"tornadoPulse":5}, + "snaps": "48bb3ef4 23226b3d 6c91c88e eab644b2 33a120b8 f5b87943" }, "bond-preciShip-high": { "about": "精准 high: tier 2 layers 999; chess_char_4_11_b chess_char_4_09_b chess_char_1_09_b chess_char_1_17_b chess_char_2_01_b chess_char_4_10_b chess_char_4_12_b chess_char_4_13_b token_10041_cathy_catsld token_10041_cathy_catsld", @@ -1208,23 +1208,23 @@ "errors": {"count":0,"kinds":[]}, "players": {"p1":{"killed":19,"total":19,"perfect":true,"leaks":0,"leaksUncounted":0,"coins":0,"dmg":71550,"bossDmg":0,"heal":0,"deaths":0,"layerGains":{}}}, "units": [ - ["p1",1,"op","chess_char_3_12_a",2,null,1999.05,1,5,2,9348,335,0,22,1], - ["p1",2,"op","chess_char_1_14_a",1,null,1145,1,7,2,2332,0,0,8,0], - ["p1",3,"op","chess_char_2_04_a",1,null,977,1,9,3,8416,0,0,28,1], - ["p1",4,"op","chess_char_3_08_a",1,null,1594,1,11,2,10205,0,0,11,1], - ["p1",5,"op","chess_char_3_09_a",1,null,1267,1,4,1,6596,0,0,18,1], - ["p1",6,"op","chess_char_3_10_a",1,null,1650,1,6,3,7225,0,0,12,1], - ["p1",7,"op","chess_char_3_11_a",1,null,1316,1,8,5,17162,0,0,16,2], - ["p1",8,"op","chess_char_3_14_a",1,null,1251,1,10,1,10266,0,0,27,1], + ["p1",1,"op","chess_char_3_12_a",2,null,1999.05,1,5,2,10075,335,0,22,1], + ["p1",2,"op","chess_char_1_14_a",1,null,1145,1,7,2,2227,0,0,7,0], + ["p1",3,"op","chess_char_2_04_a",1,null,977,1,9,3,8077,0,0,28,1], + ["p1",4,"op","chess_char_3_08_a",1,null,1594,1,11,2,10897,0,0,11,1], + ["p1",5,"op","chess_char_3_09_a",1,null,1267,1,4,1,5548,0,0,18,1], + ["p1",6,"op","chess_char_3_10_a",1,null,1650,1,6,3,6613,0,0,12,1], + ["p1",7,"op","chess_char_3_11_a",1,null,1316,1,8,5,17624,0,0,16,2], + ["p1",8,"op","chess_char_3_14_a",1,null,1251,1,10,1,10489,0,0,28,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] ], "enemies": {"enemy_1010_demon":[3,3,0,162,20250],"enemy_1010_demon_2":[1,1,0,173,13500],"enemy_1071_dftman":[15,15,0,0,37800]}, - "hooks": [1,30,1565,155,155,225,225,0,19,19,8,7,0,7825,42,3,19,0,1,19,0,0,0], - "events": {"atk":209,"deploy":8,"die":19,"dmg":225,"engage":8,"fx":45,"skill":15,"spawn":30,"status":70}, - "fx": {"aoe":1,"displace":19,"pull":19,"sleep":2,"strike":2,"volley":2}, - "snaps": "3fec6d69 cbf41b37 34a06f5a 37ca1c5e 4f72797a ab4a5590" + "hooks": [1,30,1565,155,155,221,221,0,19,19,8,7,0,7825,39,3,19,0,1,19,0,0,0], + "events": {"atk":206,"deploy":8,"die":19,"dmg":221,"engage":8,"fx":47,"skill":15,"spawn":30,"status":66}, + "fx": {"aoe":1,"displace":20,"pull":20,"sleep":2,"strike":2,"volley":2}, + "snaps": "3fec6d69 cbf41b37 0dc808f0 23d91444 2db20031 1441efbb" }, "bond-skillfulShip-high": { "about": "灵巧 high: tier 1 layers 999; chess_char_5_08_b chess_char_5_05_b chess_char_5_07_b chess_char_1_14_b chess_char_2_04_b chess_char_5_02_b chess_char_5_03_b chess_char_5_10_b", @@ -1270,8 +1270,8 @@ "round": 5, "seed": 2364080280, "waveId": "act1autochess_05", - "time": 52.87, - "ticks": 1586, + "time": 55.8, + "ticks": 1674, "reason": "cleared", "killed": 17, "total": 17, @@ -1284,22 +1284,22 @@ }, "units": [ ["p1",1,"op","chess_char_3_16_a",1,null,2716.25,1,3,0,0,0,0,0,0], - ["p1",2,"op","chess_char_4_01_a",2,null,1847.28,1,5,3,11347,2374,0,13,1], + ["p1",2,"op","chess_char_4_01_a",2,null,1874.87,1,5,3,8857,2346,0,12,1], ["p1",3,"op","chess_char_1_08_a",1,null,0,0,6,0,7454,2377,0,15,1], ["p1",4,"op","chess_char_3_18_a",2,null,0,0,10,5,37399,1851,0,38,1], ["p1",5,"op","chess_char_3_19_a",2,null,1798.75,1,7,2,11027,0,0,23,1], ["p1",6,"op","chess_char_3_20_a",1,null,1401.25,1,9,1,1019,0,0,10,1], ["p1",7,"op","chess_char_3_21_a",2,null,1705,1,11,1,18088,0,0,24,1], - ["p1",8,"op","chess_char_4_02_a",2,null,1785,1,4,4,38264,0,0,9,1], + ["p1",8,"op","chess_char_4_02_a",2,null,1785,1,4,4,40753,0,0,10,1], ["p1",9,"token","token_10028_vigil_wolf",null,null,852.9,1,8,1,1546,27,0,3,null], ["-","~1","device","trap_1105_accrate",null,null,100,1,1,0,0,0,0,0,null], ["-","~2","device","trap_1105_accrate",null,null,100,1,2,0,0,0,0,0,null] ], - "enemies": {"enemy_1116_liprr":[11,11,0,41,69696],"enemy_1116_liprr_2":[4,4,0,670,34560],"enemy_1118_lidbox_2":[2,2,0,5918,21888]}, - "hooks": [1,28,1586,168,168,294,294,0,19,19,7,5,5,6893,32,21,17,0,1,24,2,0,0], - "events": {"atk":213,"deploy":9,"die":19,"dmg":292,"engage":8,"fx":46,"layer":2,"skill":12,"spawn":28,"status":98}, - "fx": {"aoe":1,"camouflage":1,"counter":5,"displace":18,"dp":3,"garrison":2,"liberate":3,"phase":4,"ripple":5,"sermon":1,"shield":2,"wolfShadow":1}, - "snaps": "0b626ccd 4c5c3338 6be5bea8 7eb547a7 e3388438 906b4644" + "enemies": {"enemy_1116_liprr":[11,11,0,41,69696],"enemy_1116_liprr_2":[4,4,0,643,34560],"enemy_1118_lidbox_2":[2,2,0,5918,21888]}, + "hooks": [1,28,1674,167,167,291,291,0,19,19,7,5,4,7074,32,20,17,0,1,24,2,0,0], + "events": {"atk":210,"deploy":9,"die":19,"dmg":289,"engage":8,"fx":47,"layer":2,"skill":12,"spawn":28,"status":97}, + "fx": {"aoe":1,"camouflage":1,"counter":4,"displace":19,"dp":3,"garrison":2,"liberate":2,"phase":4,"ripple":6,"sermon":1,"shield":3,"wolfShadow":1}, + "snaps": "0b626ccd 4c5c3338 6be5bea8 7eb547a7 b7dca0f5 333a3221" }, "bond-soloShip-high": { "about": "独行 high: tier 1 layers 999; chess_char_5_19_b chess_char_1_08_b chess_char_5_13_b chess_char_5_14_b chess_char_5_17_b chess_char_5_12_b chess_char_5_15_b chess_char_5_20_b", @@ -1402,26 +1402,26 @@ "total": 30, "unspawned": 0, "bossHpLeft": null, - "rngDraws": 64, + "rngDraws": 62, "errors": {"count":0,"kinds":[]}, - "players": {"p1":{"killed":30,"total":30,"perfect":true,"leaks":0,"leaksUncounted":0,"coins":0,"dmg":202522,"bossDmg":0,"heal":4516,"deaths":0,"layerGains":{}}}, + "players": {"p1":{"killed":30,"total":30,"perfect":true,"leaks":0,"leaksUncounted":0,"coins":0,"dmg":202522,"bossDmg":0,"heal":4488,"deaths":0,"layerGains":{}}}, "units": [ - ["p1",1,"op","chess_char_1_02_b",1,"uniequip_002_yak",46423.75,1,3,0,0,969,0,0,2], - ["p1",2,"op","chess_char_1_10_b",0,"uniequip_002_sunbr",33002.33,1,5,0,0,969,2958,32,32], - ["p1",3,"op","chess_char_2_08_b",1,"uniequip_002_bubble",44584.68,1,7,4,34015,1083,0,0,2], - ["p1",4,"op","chess_char_4_04_b",1,"uniequip_002_ines",25647.6,1,9,12,62234,2801,0,104,4], - ["p1",5,"op","chess_char_5_21_b",1,"uniequip_002_sntlla",21564.7,1,4,4,8965,0,0,31,2], - ["p1",6,"op","chess_char_5_22_b",1,"uniequip_002_nymph",21326.42,1,6,2,27383,0,0,17,9], + ["p1",1,"op","chess_char_1_02_b",1,"uniequip_002_yak",46423.75,1,3,0,0,966,0,0,2], + ["p1",2,"op","chess_char_1_10_b",0,"uniequip_002_sunbr",33002.33,1,5,0,0,966,2930,32,32], + ["p1",3,"op","chess_char_2_08_b",1,"uniequip_002_bubble",44584.68,1,7,3,31639,1061,0,0,2], + ["p1",4,"op","chess_char_4_04_b",1,"uniequip_002_ines",25661.51,1,9,13,63538,2787,0,103,4], + ["p1",5,"op","chess_char_5_21_b",1,"uniequip_002_sntlla",21564.7,1,4,2,9563,0,0,32,2], + ["p1",6,"op","chess_char_5_22_b",1,"uniequip_002_nymph",21326.42,1,6,1,25467,0,0,17,8], ["p1",7,"op","chess_char_5_23_b",1,"uniequip_002_reckpr",21313.18,1,8,0,0,0,1558,5,1], - ["p1",8,"op","chess_char_4_02_b",2,"uniequip_002_mostma",22438.41,1,10,8,69924,1558,0,28,2], + ["p1",8,"op","chess_char_4_02_b",2,"uniequip_002_mostma",22438.41,1,10,11,72314,1558,0,28,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_1251_lysyta_2":[19,19,0,30,70042],"enemy_1252_lysytb_2":[7,7,0,2028,72576],"enemy_1329_cbshld_2":[4,4,0,2415,59904]}, - "hooks": [1,40,3108,221,231,352,365,47,30,30,54,51,0,13933,44,4,30,0,1,30,0,2,0], - "events": {"atk":259,"deploy":8,"die":30,"dmg":365,"engage":3,"fx":152,"heal":47,"skill":105,"spawn":40,"status":102}, - "fx": {"aoe":9,"burst":2,"counter":7,"displace":31,"heal":32,"iceSpike":31,"ripple":15,"shadowWeave":19,"soul":2,"stealth":4}, - "snaps": "900e366c 626212da 8471c8b0 f7f4c418 215efc34 8327ecc4 ac43f75e 954cc114 a17690c7 39dd290a 853a19c1" + "enemies": {"enemy_1251_lysyta_2":[19,19,0,7,70042],"enemy_1252_lysytb_2":[7,7,0,2018,72576],"enemy_1329_cbshld_2":[4,4,0,2415,59904]}, + "hooks": [1,40,3108,217,228,341,354,47,30,30,53,50,0,13734,46,4,30,0,1,30,0,2,0], + "events": {"atk":257,"deploy":8,"die":30,"dmg":354,"engage":3,"fx":150,"heal":47,"skill":103,"spawn":40,"status":107}, + "fx": {"aoe":8,"burst":2,"counter":6,"displace":30,"heal":32,"iceSpike":32,"ripple":15,"shadowWeave":19,"soul":2,"stealth":4}, + "snaps": "900e366c 4c623662 9b24da57 88686361 3743dd96 16bcbb0a ceae7cfe 4efae7da c9a75cab bfea9ee9 664303d4" }, "bond-suntShip-low": { "about": "绝技 low: tier 1 layers 1; chess_char_1_02_b chess_char_4_17_a chess_char_4_18_a chess_char_4_16_a chess_char_1_01_b chess_char_4_12_a chess_char_4_13_a chess_char_4_14_a", @@ -1505,31 +1505,31 @@ "round": 5, "seed": 2212044350, "waveId": "act1autochess_05", - "time": 44.8, - "ticks": 1344, + "time": 45.9, + "ticks": 1377, "reason": "cleared", "killed": 21, "total": 21, "unspawned": 0, "bossHpLeft": null, - "rngDraws": 10, + "rngDraws": 9, "errors": {"count":0,"kinds":[]}, - "players": {"p1":{"killed":21,"total":21,"perfect":true,"leaks":0,"leaksUncounted":0,"coins":0,"dmg":68368,"bossDmg":0,"heal":0,"deaths":0,"layerGains":{"miraShip":1}}}, + "players": {"p1":{"killed":21,"total":21,"perfect":true,"leaks":0,"leaksUncounted":0,"coins":0,"dmg":68408,"bossDmg":0,"heal":0,"deaths":0,"layerGains":{"miraShip":1}}}, "units": [ - ["p1",1,"op","chess_char_4_23_a",2,null,2179,1,2,0,0,0,0,0,0], - ["p1",2,"op","chess_char_4_22_a",2,null,2022,1,4,3,9329,0,0,17,1], - ["p1",3,"op","chess_char_1_19_a",1,null,1482,1,6,2,5103,0,0,14,1], + ["p1",1,"op","chess_char_4_23_a",2,null,3075.82,1,2,0,0,0,0,0,0], + ["p1",2,"op","chess_char_4_22_a",2,null,2918.82,1,4,5,9800,0,0,15,1], + ["p1",3,"op","chess_char_1_19_a",1,null,2378.82,1,6,1,4770,0,0,13,1], ["p1",4,"op","chess_char_1_01_a",1,null,1123,1,7,3,14007,0,0,25,1], - ["p1",5,"op","chess_char_4_24_a",1,null,1726,1,8,3,17595,0,0,18,1], - ["p1",6,"op","chess_char_4_25_a",2,null,1379.73,1,1,0,0,0,0,0,0], - ["p1",7,"op","chess_char_4_26_a",0,null,1368,1,3,0,0,0,0,0,0], - ["p1",8,"op","chess_char_3_01_a",2,null,1511.94,1,5,10,22335,0,0,41,1] + ["p1",5,"op","chess_char_4_24_a",1,null,1726,1,8,3,16645,0,0,17,1], + ["p1",6,"op","chess_char_4_25_a",2,null,1379.73,1,1,0,0,0,0,0,1], + ["p1",7,"op","chess_char_4_26_a",0,null,2264.82,1,3,0,0,0,0,0,0], + ["p1",8,"op","chess_char_3_01_a",2,null,2408.76,1,5,9,23188,0,0,43,1] ], "enemies": {"enemy_1249_lysdb_2":[5,5,0,0,27000],"enemy_1251_lysyta":[15,15,0,0,37125],"enemy_1328_cbjedi":[1,1,0,0,9000]}, - "hooks": [1,29,1344,115,115,272,267,1,21,21,5,3,14,5765,37,0,21,0,1,21,1,0,0], - "events": {"atk":139,"deploy":8,"die":21,"dmg":267,"engage":5,"fx":52,"layer":1,"skill":8,"spawn":29,"status":98}, - "fx": {"buff":1,"displace":12,"garrison":1,"garrisonGrant":1,"mote":16,"sandChains":1,"shieldBreak":5,"slash":6,"sp":1,"spGift":7,"truesilver":1}, - "snaps": "b42f9eae 6a971adf 097a49e0 3a3f507a 006b3559" + "hooks": [1,29,1377,113,113,267,262,1,21,21,6,3,14,5930,35,0,21,0,1,21,1,0,0], + "events": {"atk":137,"deploy":8,"die":21,"dmg":262,"engage":5,"fx":51,"layer":1,"skill":9,"spawn":29,"status":99}, + "fx": {"buff":1,"displace":12,"garrison":1,"garrisonGrant":1,"mote":16,"reweave":1,"sandChains":1,"shieldBreak":5,"slash":5,"sp":1,"spGift":6,"truesilver":1}, + "snaps": "b42f9eae 30c763c9 93204068 0638457f 44034563" }, "bond-swiftShip-high": { "about": "迅捷 high: tier 1 layers 999; chess_char_4_11_b chess_char_1_19_b chess_char_4_07_b chess_char_4_09_b chess_char_1_01_b chess_char_4_06_b chess_char_4_10_b chess_char_4_12_b token_10041_cathy_catsld token_10041_cathy_catsld", @@ -1540,33 +1540,33 @@ "round": 10, "seed": 1175070139, "waveId": "act1autochess_h03", - "time": 112.63, - "ticks": 3379, + "time": 113.1, + "ticks": 3393, "reason": "cleared", "killed": 24, "total": 24, "unspawned": 0, "bossHpLeft": null, - "rngDraws": 324, + "rngDraws": 320, "errors": {"count":0,"kinds":[]}, - "players": {"p1":{"killed":24,"total":24,"perfect":true,"leaks":0,"leaksUncounted":0,"coins":0,"dmg":235584,"bossDmg":0,"heal":433,"deaths":4,"layerGains":{}}}, + "players": {"p1":{"killed":24,"total":24,"perfect":true,"leaks":0,"leaksUncounted":0,"coins":0,"dmg":235584,"bossDmg":0,"heal":562,"deaths":4,"layerGains":{}}}, "units": [ - ["p1",1,"op","chess_char_4_11_b",1,"uniequip_002_cathy",0,0,4,0,35,3842,0,1,1], - ["p1",2,"op","chess_char_1_19_b",1,"uniequip_002_wildmn",0,0,6,0,3603,1971,0,21,1], - ["p1",3,"op","chess_char_4_07_b",1,"uniequip_002_bpipe",0,0,7,1,3163,2383,0,11,11], - ["p1",4,"op","chess_char_4_09_b",1,"uniequip_002_mizuki",2777.6,1,5,5,70228,0,0,29,4], - ["p1",5,"op","chess_char_1_01_b",1,"uniequip_002_inside",1421,1,1,4,25593,0,0,87,6], - ["p1",6,"op","chess_char_4_06_b",1,"uniequip_002_kroos2",1561,1,2,8,68647,0,0,122,3], - ["p1",7,"op","chess_char_4_10_b",1,"uniequip_002_aroma",1664,1,3,4,37818,0,0,19,2], - ["p1",8,"op","chess_char_4_12_b",2,"uniequip_002_glady",0,0,8,2,26495,2665,433,15,2], + ["p1",1,"op","chess_char_4_11_b",1,"uniequip_002_cathy",0,0,4,0,0,4098,0,0,1], + ["p1",2,"op","chess_char_1_19_b",1,"uniequip_002_wildmn",0,0,6,0,5593,1971,0,22,1], + ["p1",3,"op","chess_char_4_07_b",1,"uniequip_002_bpipe",0,0,7,0,2860,2383,0,12,12], + ["p1",4,"op","chess_char_4_09_b",1,"uniequip_002_mizuki",2777.6,1,5,4,69786,0,0,28,4], + ["p1",5,"op","chess_char_1_01_b",1,"uniequip_002_inside",1421,1,1,3,26577,0,0,87,6], + ["p1",6,"op","chess_char_4_06_b",1,"uniequip_002_kroos2",1561,1,2,11,70474,0,0,122,3], + ["p1",7,"op","chess_char_4_10_b",1,"uniequip_002_aroma",1664,1,3,3,33687,0,0,19,3], + ["p1",8,"op","chess_char_4_12_b",2,"uniequip_002_glady",0,0,8,3,26608,2794,562,18,3], ["p1",9,"token","token_10041_cathy_catsld",null,null,100,1,9,0,0,0,0,0,null], ["p1",10,"token","token_10041_cathy_catsld",null,null,100,1,10,0,0,0,0,0,null] ], - "enemies": {"enemy_1010_demon":[7,7,0,970,60480],"enemy_1422_lrsldr_2":[14,14,0,0,88704],"enemy_1425_lrcmra_2":[3,3,0,9891,86400]}, - "hooks": [1,34,3379,323,323,615,615,233,28,28,30,27,87,3581,130,10,24,0,1,28,0,0,0], - "events": {"atk":364,"deploy":10,"die":28,"dmg":615,"engage":8,"fx":162,"skill":57,"spawn":34,"status":221}, - "fx": {"charge":11,"crit":61,"dilemma":4,"displace":16,"garrisonGrant":1,"levitate":21,"overclock":1,"pull":1,"quadShot":3,"slippery":2,"sp":27,"splash":8,"tornado":1,"tornadoPulse":5}, - "snaps": "cb85902a 979c894f c24af28f 18b55b58 f3d9be79 5a09ecf9 0646f478 cd42ac34 c07b9a9a 40c2ab66 32642008 09bbb03f" + "enemies": {"enemy_1010_demon":[7,7,0,534,60480],"enemy_1422_lrsldr_2":[14,14,0,0,88704],"enemy_1425_lrcmra_2":[3,3,0,10712,86400]}, + "hooks": [1,34,3393,326,326,605,605,302,28,28,33,29,87,3660,130,15,24,0,1,28,0,0,0], + "events": {"atk":364,"deploy":10,"die":28,"dmg":605,"engage":7,"fx":163,"skill":62,"spawn":34,"status":206}, + "fx": {"charge":12,"crit":60,"dilemma":4,"displace":18,"garrisonGrant":1,"levitate":22,"overclock":1,"pull":1,"quadShot":3,"slippery":3,"sp":27,"splash":5,"tornado":1,"tornadoPulse":5}, + "snaps": "2c621450 60234b81 3fcc2895 6a156127 0ba0189c bb3c5f45 cfbb3cf5 b1fe0db5 07c28896 fe7620dc e48e3569 aaf8d62c" }, "bond-victoriaShip-low": { "about": "维多利亚 low: tier 1 layers 1; chess_char_3_06_a chess_char_3_02_a chess_char_3_03_a chess_char_3_04_a chess_char_3_05_a chess_char_1_06_a chess_char_2_05_a chess_char_2_10_a", @@ -1671,8 +1671,8 @@ "round": 5, "seed": 3923365115, "waveId": "act1autochess_05", - "time": 60.73, - "ticks": 1822, + "time": 61.03, + "ticks": 1831, "reason": "cleared", "killed": 16, "total": 17, @@ -1680,23 +1680,23 @@ "bossHpLeft": null, "rngDraws": 37, "errors": {"count":0,"kinds":[]}, - "players": {"p1":{"killed":16,"total":17,"perfect":false,"leaks":1,"leaksUncounted":0,"coins":0,"dmg":98282,"bossDmg":0,"heal":4754,"deaths":2,"layerGains":{}}}, + "players": {"p1":{"killed":16,"total":17,"perfect":false,"leaks":1,"leaksUncounted":0,"coins":0,"dmg":97780,"bossDmg":0,"heal":4326,"deaths":2,"layerGains":{}}}, "units": [ - ["p1",1,"op","chess_char_3_12_a",2,null,0,0,3,0,196,2334,0,7,1], + ["p1",1,"op","chess_char_3_12_a",2,null,0,0,3,0,168,2334,0,6,0], ["p1",2,"op","chess_char_3_03_a",1,null,1378,1,6,0,0,0,0,0,0], - ["p1",3,"op","chess_char_2_02_a",1,null,1400,1,1,0,0,0,3267,14,2], - ["p1",4,"op","chess_char_3_08_a",1,null,1594,1,4,2,21129,596,0,8,1], - ["p1",5,"op","chess_char_3_09_a",1,null,1267,1,5,3,22928,721,0,26,1], - ["p1",6,"op","chess_char_3_10_a",1,null,0,0,2,2,9387,2752,0,10,1], + ["p1",3,"op","chess_char_2_02_a",1,null,1400,1,1,0,0,0,2839,14,2], + ["p1",4,"op","chess_char_3_08_a",1,null,1594,1,4,2,21129,168,0,8,1], + ["p1",5,"op","chess_char_3_09_a",1,null,1267,1,5,4,22876,721,0,26,1], + ["p1",6,"op","chess_char_3_10_a",1,null,0,0,2,1,8964,2752,0,10,1], ["p1",7,"op","chess_char_3_11_a",1,null,1316,1,7,6,32494,848,0,25,3], ["p1",8,"op","chess_char_3_13_a",1,null,1064,1,8,3,12149,1487,0,37,7], ["p1",9,"token","token_10000_silent_healrb",null,null,1000,1,29,0,0,0,1487,20,null] ], - "enemies": {"enemy_1116_liprr":[11,11,0,2293,54450],"enemy_1116_liprr_2":[4,4,0,932,27000],"enemy_1118_lidbox_2":[2,1,1,5514,16832]}, - "hooks": [1,28,1822,193,193,205,205,34,18,21,16,16,0,8280,2,27,17,1,1,18,0,0,0], - "events": {"atk":228,"deploy":11,"die":20,"dmg":205,"engage":6,"fx":56,"heal":34,"leak":1,"skill":32,"spawn":26,"status":27}, - "fx": {"aoe":1,"displace":19,"liberate":4,"phase":5,"pull":19,"strike":3,"summon":2,"volley":3}, - "snaps": "1774960c 545a8597 f49caf36 7f8a2b12 0c35034b be56aa15" + "enemies": {"enemy_1116_liprr":[11,11,0,2293,54450],"enemy_1116_liprr_2":[4,4,0,932,27000],"enemy_1118_lidbox_2":[2,1,1,5086,16330]}, + "hooks": [1,28,1831,191,191,202,202,34,18,21,15,15,0,8324,2,26,17,1,1,18,0,0,0], + "events": {"atk":225,"deploy":11,"die":20,"dmg":202,"engage":6,"fx":55,"heal":34,"leak":1,"skill":30,"spawn":26,"status":25}, + "fx": {"aoe":1,"displace":19,"liberate":3,"phase":5,"pull":19,"strike":3,"summon":2,"volley":3}, + "snaps": "1774960c 545a8597 76b2bced 15a43322 4a542e7d 74a46ccc 4ac83a35" }, "bond-visiShip-high": { "about": "远见 high: tier 1 layers 999; chess_char_4_17_b chess_char_4_18_b chess_char_3_03_b chess_char_4_19_b chess_char_4_16_b chess_char_2_02_b chess_char_4_20_b chess_char_4_21_b token_10000_silent_healrb", diff --git a/test/golden/diy.json b/test/golden/diy.json index e69fcb9d..df808a84 100644 --- a/test/golden/diy.json +++ b/test/golden/diy.json @@ -2154,24 +2154,24 @@ "units": [ ["p1",1,"op","chess_char_5_diy1_b",0,"uniequip_002_thumpy",3714,1,3,0,0,0,0,0,0], ["p1",2,"op","chess_char_5_diy2_b",1,"uniequip_002_thumpy",3714,1,4,0,0,0,0,0,0], - ["p1",3,"op","chess_char_5_diy1_b",2,"uniequip_002_thumpy",3714,1,5,13,145789,0,0,0,2], + ["p1",3,"op","chess_char_5_diy1_b",2,"uniequip_002_thumpy",3714,1,5,14,150684,0,0,0,2], ["p1",4,"op","chess_char_6_diy1_a",0,null,2835,1,7,0,0,0,0,0,0], - ["p1",5,"op","chess_char_6_diy2_a",1,null,2835,1,11,36,317889,0,0,0,4], - ["p1",6,"op","chess_char_6_diy1_a",2,null,2733.8,1,13,26,166453,101,0,76,2], - ["p1",7,"op","chess_char_6_diy2_b",0,"none",3222,1,14,11,85131,242,0,124,3], + ["p1",5,"op","chess_char_6_diy2_a",1,null,2835,1,11,36,317896,0,0,0,4], + ["p1",6,"op","chess_char_6_diy1_a",2,null,2733.8,1,13,26,166254,101,0,76,2], + ["p1",7,"op","chess_char_6_diy2_b",0,"none",3222,1,14,11,85132,242,0,124,3], ["p1",8,"op","chess_char_6_diy1_b",1,"none",3464,1,8,9,71995,0,0,0,4], ["p1",9,"op","chess_char_6_diy2_b",2,"none",3283.6,1,12,9,81221,180,0,76,2], ["p1",10,"op","chess_char_6_diy1_b",0,"uniequip_002_thumpy",3914,1,9,0,0,0,0,0,0], - ["p1",11,"op","chess_char_6_diy2_b",1,"uniequip_002_thumpy",3914,1,10,10,90562,0,0,0,1], + ["p1",11,"op","chess_char_6_diy2_b",1,"uniequip_002_thumpy",3914,1,10,9,85858,0,0,0,1], ["p1",12,"op","chess_char_6_diy1_b",2,"uniequip_002_thumpy",3914,1,6,0,0,0,0,0,0], ["-","~1","device","trap_1105_accrate",null,null,100,1,1,0,0,0,0,0,null], ["-","~2","device","trap_1105_accrate",null,null,100,1,2,0,0,0,0,0,null] ], "enemies": {"enemy_1381_winman":[27,27,0,198,150336],"enemy_1381_winman_2":[48,48,0,194,359424],"enemy_1387_winshd":[39,39,0,132,449280]}, - "hooks": [1,128,6000,638,638,2626,4420,0,114,114,18,18,0,21502,828,127,114,0,1,114,0,190,0], - "events": {"atk":777,"deploy":12,"die":114,"dmg":4090,"engage":3,"fx":694,"skill":36,"spawn":128,"status":1988}, - "fx": {"burst":190,"displace":16,"shield":473,"zone":15}, - "snaps": "00a90afe fa730e10 76d04d67 c9bf233b de86509b f197a1be de175653 94b37d97 c588bc93 1c037e9c a091b0f5 fc60818d 1091ad41 1156590c 073916eb 553c9605 8ede4bbf af662205 73e9e673 ea61ed82" + "hooks": [1,128,6000,640,640,2628,4423,0,114,114,18,18,0,21502,828,127,114,0,1,114,0,190,0], + "events": {"atk":779,"deploy":12,"die":114,"dmg":4091,"engage":3,"fx":692,"skill":36,"spawn":128,"status":1989}, + "fx": {"burst":190,"displace":16,"shield":471,"zone":15}, + "snaps": "00a90afe 8ab9145f 036b1fc4 25e62a9f 926a9f27 847ba8da 6f592c87 f0b39913 a8bc3409 c574d2f9 8e6e657a ee991610 3f41e73a acc324f7 c9f42c79 6afc3cf2 6d141175 e21e35cc 68fdc79e 470986f3" }, "diy-054": { "about": "5_diy1_a=zumama/S1 5_diy2_a=zumama/S2 5_diy1_a=zumama/S3 5_diy2_b=zumama/S1 5_diy1_b=zumama/S2 5_diy2_b=zumama/S3 5_diy1_b=zumama/S1/002_zumama 5_diy2_b=zumama/S2/002_zumama 5_diy1_b=zumama/S3/002_zumama 5_diy2_b=zumama/S1/003_zumama 5_diy1_b=zumama/S2/003_zumama 5_diy2_b=zumama/S3/003_zumama", @@ -3613,7 +3613,7 @@ "hooks": [1,99,5790,210,210,471,471,0,36,95,14,14,0,8331,41,2,75,59,1,36,0,0,0], "events": {"atk":210,"deploy":22,"die":36,"dmg":471,"engage":12,"fx":27,"leak":59,"skill":28,"spawn":89,"status":50}, "fx": {"displace":3,"zone":24}, - "snaps": "5eb2501d 26e736c0 4769f628 34b249e5 ed806a8c 857806de 384bcf91 5cf920bd ca5daf2f 3904964f 14f2b39b 454a4bad 2960245d caa268c0 bad55e1b 9062066d f10ce0e8 be8c7b68 92543b58 fa24e103" + "snaps": "5eb2501d 26e736c0 4769f628 4190ceac 853671cd f86bff43 3dae23d4 8c6f3a88 9b818bf2 1a29d028 33da9d2c c3fc11d6 6f2f01e2 a291c463 7e9bf904 63c3f232 7ec4ca47 9e36e01b 3cd2a853 723fe2c4" }, "diy-085": { "about": "6_diy1_a=ray/S1 6_diy2_a=ray/S2 6_diy1_a=ray/S3 6_diy2_b=ray/S1 6_diy1_b=ray/S2 6_diy2_b=ray/S3 6_diy1_b=ray/S1/002_ray 6_diy2_b=ray/S2/002_ray 6_diy1_b=ray/S3/002_ray 6_diy2_b=ray/S1/003_ray 6_diy1_b=ray/S2/003_ray 6_diy2_b=ray/S3/003_ray", @@ -3624,8 +3624,8 @@ "round": 13, "seed": 2664068408, "waveId": "act1autochess_h06", - "time": 226.4, - "ticks": 6792, + "time": 226.57, + "ticks": 6797, "reason": "cleared", "killed": 2, "total": 78, @@ -3633,26 +3633,26 @@ "bossHpLeft": null, "rngDraws": 0, "errors": {"count":0,"kinds":[]}, - "players": {"p1":{"killed":2,"total":78,"perfect":false,"leaks":76,"leaksUncounted":0,"coins":0,"dmg":383987,"bossDmg":0,"heal":0,"deaths":20,"layerGains":{}}}, + "players": {"p1":{"killed":2,"total":78,"perfect":false,"leaks":76,"leaksUncounted":0,"coins":0,"dmg":412514,"bossDmg":0,"heal":0,"deaths":20,"layerGains":{}}}, "units": [ - ["p1",1,"op","chess_char_6_diy1_a",0,null,1507,1,2,1,59958,0,0,76,15], - ["p1",2,"op","chess_char_6_diy2_a",1,null,1507,1,3,0,45777,0,0,66,1], - ["p1",3,"op","chess_char_6_diy1_a",2,null,1507,1,4,0,72785,0,0,78,4], - ["p1",4,"op","chess_char_6_diy2_b",0,"none",0,0,97,0,30814,5367,0,24,5], - ["p1",5,"op","chess_char_6_diy1_b",1,"none",0,0,101,0,16011,5367,0,24,0], - ["p1",6,"op","chess_char_6_diy2_b",2,"none",1789,1,102,1,32490,3578,0,21,1], - ["p1",7,"op","chess_char_6_diy1_b",0,"uniequip_002_ray",0,0,72,0,6322,3978,0,11,2], - ["p1",8,"op","chess_char_6_diy2_b",1,"uniequip_002_ray",0,0,56,0,7663,3978,0,12,0], - ["p1",9,"op","chess_char_6_diy1_b",2,"uniequip_002_ray",0,0,63,0,33694,3978,0,23,1], - ["p1",10,"op","chess_char_6_diy2_b",0,"uniequip_003_ray",0,0,53,0,24248,3978,0,17,3], - ["p1",11,"op","chess_char_6_diy1_b",1,"uniequip_003_ray",0,0,85,0,17897,3978,0,20,1], - ["p1",12,"op","chess_char_6_diy2_b",2,"uniequip_003_ray",0,0,91,0,36327,3978,0,23,1] + ["p1",1,"op","chess_char_6_diy1_a",0,null,1507,1,2,0,67445,0,0,76,15], + ["p1",2,"op","chess_char_6_diy2_a",1,null,1507,1,3,0,48050,0,0,65,1], + ["p1",3,"op","chess_char_6_diy1_a",2,null,1507,1,4,1,80579,0,0,77,4], + ["p1",4,"op","chess_char_6_diy2_b",0,"none",0,0,97,0,35066,5367,0,25,5], + ["p1",5,"op","chess_char_6_diy1_b",1,"none",0,0,101,0,14704,5367,0,23,0], + ["p1",6,"op","chess_char_6_diy2_b",2,"none",1789,1,102,1,29004,3578,0,17,1], + ["p1",7,"op","chess_char_6_diy1_b",0,"uniequip_002_ray",0,0,63,0,16415,3978,0,16,3], + ["p1",8,"op","chess_char_6_diy2_b",1,"uniequip_002_ray",0,0,56,0,7542,3978,0,12,0], + ["p1",9,"op","chess_char_6_diy1_b",2,"uniequip_002_ray",0,0,72,0,32584,3978,0,21,1], + ["p1",10,"op","chess_char_6_diy2_b",0,"uniequip_003_ray",0,0,53,0,25851,3978,0,17,3], + ["p1",11,"op","chess_char_6_diy1_b",1,"uniequip_003_ray",0,0,85,0,17747,3978,0,20,1], + ["p1",12,"op","chess_char_6_diy2_b",2,"uniequip_003_ray",0,0,91,0,37527,3978,0,23,1] ], - "enemies": {"enemy_1045_hammer_2":[18,0,18,15512,62938],"enemy_1061_zomshd":[60,2,58,22668,321048]}, - "hooks": [1,102,6792,439,439,437,437,20476,22,98,34,33,0,17817,60,21,78,76,1,22,0,0,0], - "events": {"atk":439,"deploy":24,"die":22,"dmg":437,"engage":12,"fx":11,"leak":76,"skill":67,"spawn":90,"status":53}, - "fx": {"displace":11}, - "snaps": "ef383942 52aa8e8a 8f415587 34d6878a 85cd9e60 2030f8b5 efa85275 e3cd21a6 f4b97bf9 a5f0a3b3 5f707775 2e81c9fd 67e18fb6 839fbc1f 1f5c02ea 20badd63 d6e70120 0740d56b 7f415109 d30fce5f 819ff4bd d50c03a7 cbd25e70" + "enemies": {"enemy_1045_hammer_2":[18,0,18,12600,41514],"enemy_1061_zomshd":[60,2,58,25580,370999]}, + "hooks": [1,102,6797,439,439,439,439,21112,22,98,35,34,0,17667,60,23,78,76,1,22,0,0,0], + "events": {"atk":439,"deploy":24,"die":22,"dmg":439,"engage":12,"fx":15,"leak":76,"skill":69,"spawn":90,"status":68}, + "fx": {"displace":15}, + "snaps": "302b7a03 2519ff22 acad49df ef6229e8 0ca972e6 99d14293 0b4e6cfe 29980344 1677c1ca 9af09a6e a78d20cb 0e1146f7 b474b3cf 3b82e1a2 255ddf94 3f4712aa 87f33be9 ce3fade5 dad45133 0a4b0f36 d62aae1e fd5fd458 80709e27" }, "diy-086": { "about": "5_diy1_a=ascln/S1 5_diy2_a=ascln/S2 5_diy1_a=ascln/S3 5_diy2_b=ascln/S1 5_diy1_b=ascln/S2 5_diy2_b=ascln/S3 5_diy1_b=ascln/S1/002_ascln 5_diy2_b=ascln/S2/002_ascln 5_diy1_b=ascln/S3/002_ascln 5_diy2_b=ascln/S1/003_ascln 5_diy1_b=ascln/S2/003_ascln 5_diy2_b=ascln/S3/003_ascln", @@ -4302,13 +4302,13 @@ "time": 230, "ticks": 6900, "reason": "timeout", - "killed": 22, + "killed": 21, "total": 114, "unspawned": 0, "bossHpLeft": null, "rngDraws": 890, "errors": {"count":0,"kinds":[]}, - "players": {"p1":{"killed":22,"total":114,"perfect":false,"leaks":92,"leaksUncounted":0,"coins":0,"dmg":312241,"bossDmg":0,"heal":20329,"deaths":29,"layerGains":{}}}, + "players": {"p1":{"killed":21,"total":114,"perfect":false,"leaks":93,"leaksUncounted":0,"coins":0,"dmg":312254,"bossDmg":0,"heal":20329,"deaths":29,"layerGains":{}}}, "units": [ ["p1",1,"op","chess_char_5_diy1_a",0,null,0,0,148,1,9956,5652,0,148,0], ["p1",2,"op","chess_char_5_diy2_a",1,null,1243,1,150,1,5521,4409,0,97,0], @@ -4317,17 +4317,17 @@ ["p1",5,"op","chess_char_5_diy1_b",1,"none",1653,1,151,1,6282,6612,0,143,0], ["p1",6,"op","chess_char_5_diy2_b",2,"none",1653,1,146,2,36603,4959,0,139,0], ["p1",7,"op","chess_char_6_diy1_b",0,"uniequip_002_haak",2149.78,1,149,2,9357,6335,1624,79,2], - ["p1",8,"op","chess_char_6_diy2_b",1,"uniequip_002_haak",3430.5,1,76,2,41964,7890,4483,119,4], - ["p1",9,"op","chess_char_6_diy1_b",2,"uniequip_002_haak",1875.34,1,6,6,95719,5237,4826,172,4], + ["p1",8,"op","chess_char_6_diy2_b",1,"uniequip_002_haak",3430.5,1,76,2,39768,7890,4483,119,4], + ["p1",9,"op","chess_char_6_diy1_b",2,"uniequip_002_haak",1875.34,1,6,5,97929,5237,4826,172,4], ["p1",10,"op","chess_char_6_diy2_b",0,"uniequip_003_haak",2047,1,152,0,3942,8413,328,13,0], ["p1",11,"op","chess_char_6_diy1_b",1,"uniequip_003_haak",1340.78,1,138,2,34594,8894,4094,79,3], ["p1",12,"op","chess_char_6_diy2_b",2,"uniequip_003_haak",0,0,2,4,47959,7022,4975,153,3] ], - "enemies": {"enemy_1381_winman":[27,10,17,53,90589],"enemy_1381_winman_2":[48,12,36,7663,180218],"enemy_1387_winshd":[39,0,37,27489,41434]}, - "hooks": [1,152,6900,1710,1710,1807,2638,215,51,141,16,33,0,14125,527,37,114,90,1,51,0,0,5], - "events": {"atk":1710,"deploy":38,"die":51,"dmg":1791,"engage":12,"fx":305,"heal":206,"leak":90,"skill":76,"spawn":126,"status":796}, + "enemies": {"enemy_1381_winman":[27,9,18,53,90059],"enemy_1381_winman_2":[48,12,36,7663,180738],"enemy_1387_winshd":[39,0,37,27489,41458]}, + "hooks": [1,152,6900,1710,1710,1807,2638,215,50,141,16,33,0,14125,527,37,114,91,1,50,0,0,5], + "events": {"atk":1710,"deploy":38,"die":50,"dmg":1791,"engage":12,"fx":305,"heal":206,"leak":91,"skill":76,"spawn":126,"status":794}, "fx": {"aoe":7,"buff":9,"crit":244,"displace":17,"dodge":5,"heal":5,"shield":7,"volley":11}, - "snaps": "0a6d17b3 cd5b0b94 5c5fe657 cf182993 70392526 4f220cf1 d9a37363 536eea0f 984fbafc 40ad4965 58f6f208 135d5359 46b74bdf 1d768a13 677aee77 e2e6d764 335b70b4 e372b4fb 288dd670 9a638e14 0f4e9c34 eeebe7e0 fdd6d6c3" + "snaps": "0a6d17b3 cd5b0b94 5c5fe657 cf182993 70392526 4f220cf1 d9a37363 536eea0f 984fbafc 40ad4965 58f6f208 135d5359 46b74bdf abe6bc8e 3a83ef6b 5a886fd0 335316f8 d58be294 2e08cd3a 8aeb9e02 1366b589 71a3199f b1ed89f2" }, "diy-102": { "about": "5_diy1_b=phatom/S1/002_phatom 5_diy2_b=phatom/S2/002_phatom 5_diy1_b=phatom/S3/002_phatom 5_diy2_b=phatom/S1/003_phatom 5_diy1_b=phatom/S2/003_phatom 5_diy2_b=phatom/S3/003_phatom 5_diy1_b=phatom/S1/004_phatom 5_diy2_b=phatom/S2/004_phatom 5_diy1_b=phatom/S3/004_phatom 6_diy1_a=phatom/S1 6_diy2_a=phatom/S2 6_diy1_a=phatom/S3", @@ -4369,7 +4369,7 @@ "hooks": [1,162,6900,901,901,932,917,7223,69,154,0,38,0,0,31,73,117,85,1,69,0,0,15], "events": {"atk":901,"deploy":42,"die":69,"dmg":900,"engage":12,"fx":421,"leak":85,"skill":83,"spawn":132,"status":110}, "fx": {"aoe":12,"buff":15,"displace":12,"dodge":15,"expose":352,"shield":15}, - "snaps": "22057a43 e979e325 58c21275 0e318d82 f1a489d0 480e8f9e 36a09ceb bfc0f20e 5886d7cf d7218bb5 646e4158 aecbb06c f728a7d3 6bc561d8 8b6787a4 032775b9 6f4f69d9 f211f597 b58658be 27abff1b ef874327 894a4ac3 f420bec4" + "snaps": "22057a43 e979e325 58c21275 0e318d82 f1a489d0 480e8f9e 36a09ceb bfc0f20e 5886d7cf d7218bb5 646e4158 aecbb06c a19fe55c 3f64f495 dc1a8d69 6bccee64 70e0d18c 1dd120a2 d9751fc3 542489ba 40ebcaf2 5914d84a dc001495" }, "diy-103": { "about": "6_diy1_b=phatom/S1 6_diy2_b=phatom/S2 6_diy1_b=phatom/S3 6_diy2_b=phatom/S1/002_phatom 6_diy1_b=phatom/S2/002_phatom 6_diy2_b=phatom/S3/002_phatom 6_diy1_b=phatom/S1/003_phatom 6_diy2_b=phatom/S2/003_phatom 6_diy1_b=phatom/S3/003_phatom 6_diy2_b=phatom/S1/004_phatom 6_diy1_b=phatom/S2/004_phatom 6_diy2_b=phatom/S3/004_phatom", @@ -4411,7 +4411,7 @@ "hooks": [1,165,6192,692,692,2323,2937,0,52,160,0,37,0,0,39,57,123,108,1,52,0,17,19], "events": {"atk":692,"deploy":39,"die":52,"dmg":2923,"engage":12,"fx":97,"leak":108,"skill":77,"spawn":138,"status":124}, "fx": {"aoe":10,"buff":16,"burst":17,"displace":22,"dodge":19,"shield":13}, - "snaps": "9380cef0 bee89eff 86bcda41 bd8892f9 4844bcdd c1e5ee48 5649303e f41e1610 1899dbef 838bd2f5 3e3f1744 4024460d cb6cfc2a 45a30af7 52850415 1dc8a189 7a68785c 47f22e83 487755f7 ba77a6a2 fb0feb72" + "snaps": "9380cef0 bee89eff 86bcda41 bd8892f9 4844bcdd c1e5ee48 5649303e f41e1610 1899dbef 838bd2f5 3e3f1744 4024460d cb6cfc2a 45a30af7 52850415 aa26afb6 cd574ec5 a91b289d 3af4960e 7ee6e107 069258b3" }, "diy-104": { "about": "5_diy1_a=crosly/S1 5_diy2_a=crosly/S2 5_diy1_a=crosly/S3 5_diy2_b=crosly/S1 5_diy1_b=crosly/S2 5_diy2_b=crosly/S3 5_diy1_b=crosly/S1/002_crosly 5_diy2_b=crosly/S2/002_crosly 5_diy1_b=crosly/S3/002_crosly 5_diy2_b=crosly/S1/003_crosly 5_diy1_b=crosly/S2/003_crosly 5_diy2_b=crosly/S3/003_crosly", @@ -4589,28 +4589,28 @@ "bossHpLeft": null, "rngDraws": 0, "errors": {"count":0,"kinds":[]}, - "players": {"p1":{"killed":3,"total":72,"perfect":false,"leaks":69,"leaksUncounted":0,"coins":0,"dmg":42402,"bossDmg":0,"heal":0,"deaths":22,"layerGains":{}}}, + "players": {"p1":{"killed":3,"total":72,"perfect":false,"leaks":69,"leaksUncounted":0,"coins":0,"dmg":42194,"bossDmg":0,"heal":0,"deaths":22,"layerGains":{}}}, "units": [ ["p1",1,"op","chess_char_5_diy1_a",0,null,1803,1,98,0,0,3606,0,0,0], ["p1",2,"op","chess_char_5_diy2_a",1,null,0,0,96,0,0,5409,0,0,0], ["p1",3,"op","chess_char_5_diy1_a",2,null,0,0,92,0,0,5409,0,0,0], ["p1",4,"op","chess_char_5_diy2_b",0,"none",0,0,82,0,0,4230,0,0,0], ["p1",5,"op","chess_char_5_diy1_b",1,"none",2033.01,1,97,0,0,2197,0,0,0], - ["p1",6,"op","chess_char_5_diy2_b",2,"none",0,0,8,3,23273,2115,0,0,1], + ["p1",6,"op","chess_char_5_diy2_b",2,"none",0,0,8,3,23169,2115,0,0,1], ["p1",7,"op","chess_char_5_diy1_b",0,"uniequip_002_weedy",0,0,51,0,0,4510,0,0,0], ["p1",8,"op","chess_char_5_diy2_b",1,"uniequip_002_weedy",0,0,9,0,0,2255,0,0,0], - ["p1",9,"op","chess_char_5_diy1_b",2,"uniequip_002_weedy",0,0,59,0,12777,4510,0,0,1], + ["p1",9,"op","chess_char_5_diy1_b",2,"uniequip_002_weedy",0,0,59,0,12737,4510,0,0,1], ["p1",10,"op","chess_char_5_diy2_b",0,"uniequip_003_weedy",0,0,62,0,0,4230,0,0,0], ["p1",11,"op","chess_char_5_diy1_b",1,"uniequip_003_weedy",0,0,61,0,0,4230,0,0,0], - ["p1",12,"op","chess_char_5_diy2_b",2,"uniequip_003_weedy",0,0,3,0,6352,2115,0,0,1], + ["p1",12,"op","chess_char_5_diy2_b",2,"uniequip_003_weedy",0,0,3,0,6288,2115,0,0,1], ["-","~1","device","trap_1105_accrate",null,null,100,1,1,0,0,0,0,0,null], ["-","~2","device","trap_1105_accrate",null,null,100,1,2,0,0,0,0,0,null] ], - "enemies": {"enemy_1005_yokai_2":[18,3,15,632,6428],"enemy_1041_lazerd_2":[24,0,24,44183,9581],"enemy_1042_frostd":[30,0,30,0,26393]}, - "hooks": [1,98,6614,160,160,885,885,0,25,94,3,3,0,9977,0,0,72,69,1,25,0,0,0], - "events": {"atk":160,"deploy":24,"die":25,"dmg":885,"fx":3,"leak":69,"skill":6,"spawn":86,"status":46}, + "enemies": {"enemy_1005_yokai_2":[18,3,15,632,6428],"enemy_1041_lazerd_2":[24,0,24,44183,9517],"enemy_1042_frostd":[30,0,30,0,26249]}, + "hooks": [1,98,6614,160,160,881,881,0,25,94,3,3,0,9975,0,0,72,69,1,25,0,0,0], + "events": {"atk":160,"deploy":24,"die":25,"dmg":881,"fx":3,"leak":69,"skill":6,"spawn":86,"status":46}, "fx": {"frostNova":3}, - "snaps": "a368b8f2 d45a8ec9 39e7a9b1 cbff0fb4 a6e1b986 8fbf8c29 a052c127 2ff52619 cbf65d39 e2a931fc e6a3d4c2 c56cde41 634006f9 42d9d356 1b8cdbe5 041abb7d 848b1964 79eba260 a9aacca1 200af66c 0594088c c1749443" + "snaps": "a368b8f2 d45a8ec9 30ee7de6 c857b356 b4a4a683 5b75b91b c8f715e6 3a4f5b39 47f98959 5e0cc29c 5657eee2 e9dbc061 03040f19 e9122076 d9d08605 85abe21d 6978be04 49efe180 8acb7141 162da98c bf2ab02c ee0e1863" }, "diy-109": { "about": "6_diy1_a=weedy/S1 6_diy2_a=weedy/S2 6_diy1_a=weedy/S3 6_diy2_b=weedy/S1 6_diy1_b=weedy/S2 6_diy2_b=weedy/S3 6_diy1_b=weedy/S1/002_weedy 6_diy2_b=weedy/S2/002_weedy 6_diy1_b=weedy/S3/002_weedy 6_diy2_b=weedy/S1/003_weedy 6_diy1_b=weedy/S2/003_weedy 6_diy2_b=weedy/S3/003_weedy", @@ -4630,17 +4630,17 @@ "bossHpLeft": null, "rngDraws": 0, "errors": {"count":0,"kinds":[]}, - "players": {"p1":{"killed":2,"total":123,"perfect":false,"leaks":121,"leaksUncounted":0,"coins":0,"dmg":99270,"bossDmg":0,"heal":0,"deaths":22,"layerGains":{}}}, + "players": {"p1":{"killed":2,"total":123,"perfect":false,"leaks":121,"leaksUncounted":0,"coins":0,"dmg":97030,"bossDmg":0,"heal":0,"deaths":22,"layerGains":{}}}, "units": [ ["p1",1,"op","chess_char_6_diy1_a",0,null,1803,1,150,0,0,3606,0,0,0], ["p1",2,"op","chess_char_6_diy2_a",1,null,0,0,124,0,0,3606,0,0,0], ["p1",3,"op","chess_char_6_diy1_a",2,null,865.31,1,149,0,0,4544,0,0,0], ["p1",4,"op","chess_char_6_diy2_b",0,"none",0,0,79,0,0,4230,0,0,0], ["p1",5,"op","chess_char_6_diy1_b",1,"none",0,0,134,0,0,4230,0,0,0], - ["p1",6,"op","chess_char_6_diy2_b",2,"none",0,0,142,0,32111,4230,0,13,1], + ["p1",6,"op","chess_char_6_diy2_b",2,"none",0,0,142,0,30447,4230,0,13,1], ["p1",7,"op","chess_char_6_diy1_b",0,"uniequip_002_weedy",0,0,5,0,3599,2325,0,4,1], - ["p1",8,"op","chess_char_6_diy2_b",1,"uniequip_002_weedy",0,0,90,1,6006,4650,0,7,0], - ["p1",9,"op","chess_char_6_diy1_b",2,"uniequip_002_weedy",0,0,85,1,11699,4650,0,7,2], + ["p1",8,"op","chess_char_6_diy2_b",1,"uniequip_002_weedy",0,0,90,1,5846,4650,0,7,0], + ["p1",9,"op","chess_char_6_diy1_b",2,"uniequip_002_weedy",0,0,85,1,11283,4650,0,7,2], ["p1",10,"op","chess_char_6_diy2_b",0,"uniequip_003_weedy",0,0,82,0,11535,4230,0,12,4], ["p1",11,"op","chess_char_6_diy1_b",1,"uniequip_003_weedy",0,0,86,0,32542,4230,0,29,0], ["p1",12,"op","chess_char_6_diy2_b",2,"uniequip_003_weedy",0,0,6,0,1778,2115,0,3,1], @@ -4648,11 +4648,11 @@ ["-","~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_1019_jshoot_2":[57,1,56,31655,36790],"enemy_1299_ymkilr_2":[27,0,27,13739,7133],"enemy_1422_lrsldr_2":[39,1,38,1252,55347]}, - "hooks": [1,150,6596,384,384,886,886,0,24,145,9,9,0,16367,6,24,123,121,1,24,0,0,0], - "events": {"atk":430,"deploy":24,"die":24,"dmg":886,"engage":7,"fx":12,"leak":121,"skill":18,"spawn":138,"status":12}, + "enemies": {"enemy_1019_jshoot_2":[57,1,56,31655,36214],"enemy_1299_ymkilr_2":[27,0,27,13739,7133],"enemy_1422_lrsldr_2":[39,1,38,1252,53683]}, + "hooks": [1,150,6596,384,384,826,826,0,24,145,9,9,0,16367,6,24,123,121,1,24,0,0,0], + "events": {"atk":430,"deploy":24,"die":24,"dmg":826,"engage":7,"fx":12,"leak":121,"skill":18,"spawn":138,"status":12}, "fx": {"displace":10,"frostNova":2}, - "snaps": "1ec1058a 353e98bb 34fd9a38 0d51d5b3 93bfc303 1b893497 43d88492 331d5c62 b4a648f7 784992d9 7539f598 aa80f976 b8df1f53 a3b4697d 3e382f0f 78b3385f 3fa32035 f698fb44 7272ecca 864aacc5 d65347bc 4448e28c" + "snaps": "1ec1058a 353e98bb 83a1daa8 5f884a94 bb3ca246 7d5c1665 301aed07 ef2dc437 9e9fdf26 d9c7dc24 89a39fd1 b3f19b5b 472348d6 83f384e8 54de5082 76ea7c3e c116b5b0 3cbffa2d 1efc23df bf4e1b80 1516f9ed 6e7f47a9" }, "diy-110": { "about": "5_diy1_a=wang/S1 5_diy2_a=wang/S2 5_diy1_a=wang/S3 5_diy2_b=wang/S1 5_diy1_b=wang/S2 5_diy2_b=wang/S3 5_diy1_b=wang/S1/002_wang 5_diy2_b=wang/S2/002_wang 5_diy1_b=wang/S3/002_wang 6_diy1_a=wang/S1 6_diy2_a=wang/S2 6_diy1_a=wang/S3", @@ -4870,29 +4870,29 @@ "round": 13, "seed": 4120508441, "waveId": "act1autochess_h06", - "time": 205.97, - "ticks": 6179, + "time": 205.67, + "ticks": 6170, "reason": "cleared", - "killed": 106, + "killed": 99, "total": 93, "unspawned": 0, "bossHpLeft": null, "rngDraws": 8, "errors": {"count":0,"kinds":[]}, - "players": {"p1":{"killed":106,"total":93,"perfect":false,"leaks":83,"leaksUncounted":0,"coins":0,"dmg":604810,"bossDmg":0,"heal":0,"deaths":18,"layerGains":{}}}, + "players": {"p1":{"killed":99,"total":93,"perfect":false,"leaks":90,"leaksUncounted":0,"coins":0,"dmg":573418,"bossDmg":0,"heal":0,"deaths":18,"layerGains":{}}}, "units": [ - ["p1",1,"op","chess_char_6_diy1_a",0,null,0,0,162,10,98104,3768,0,58,2], - ["p1",2,"op","chess_char_6_diy2_a",1,null,0,0,202,16,43127,3768,0,51,2], - ["p1",3,"op","chess_char_6_diy1_a",2,null,0,0,186,8,44934,3768,0,43,1], - ["p1",4,"op","chess_char_6_diy2_b",0,"none",2216,1,191,15,90315,2216,0,76,2], - ["p1",5,"op","chess_char_6_diy1_b",1,"none",1446,1,216,16,102990,5202,0,44,1], - ["p1",6,"op","chess_char_6_diy2_b",2,"none",0,0,170,10,80176,4432,0,47,1], + ["p1",1,"op","chess_char_6_diy1_a",0,null,0,0,166,7,99986,3768,0,58,2], + ["p1",2,"op","chess_char_6_diy2_a",1,null,0,0,202,16,44890,3768,0,48,2], + ["p1",3,"op","chess_char_6_diy1_a",2,null,0,0,189,8,51429,3768,0,45,1], + ["p1",4,"op","chess_char_6_diy2_b",0,"none",2216,1,196,13,75352,2216,0,75,2], + ["p1",5,"op","chess_char_6_diy1_b",1,"none",1446,1,219,17,101720,5202,0,45,1], + ["p1",6,"op","chess_char_6_diy2_b",2,"none",0,0,174,12,76683,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,1,33720,0,0,54,0], - ["p1",9,"op","chess_char_5_diy1_a",2,null,278.33,1,15,1,69590,1081,0,68,4], - ["p1",10,"op","chess_char_5_diy2_b",0,"none",0,0,167,2,7065,3140,0,27,2], - ["p1",11,"op","chess_char_5_diy1_b",1,"none",0,0,159,2,7098,3140,0,21,4], - ["p1",12,"op","chess_char_5_diy2_b",2,"none",0,0,187,2,16680,4710,0,16,1], + ["p1",8,"op","chess_char_5_diy2_a",1,null,1359,1,5,4,35354,0,0,53,0], + ["p1",9,"op","chess_char_5_diy1_a",2,null,1359,1,165,0,49095,1359,0,45,2], + ["p1",10,"op","chess_char_5_diy2_b",0,"none",0,0,171,2,7883,3140,0,27,2], + ["p1",11,"op","chess_char_5_diy1_b",1,"none",0,0,162,2,7097,3140,0,21,4], + ["p1",12,"op","chess_char_5_diy2_b",2,"none",0,0,123,2,12918,3140,0,13,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], @@ -4902,16 +4902,16 @@ ["p1","~4","token","token_10024_ebnhlz_rcube",null,null,1000,0,81,0,4361,0,0,0,null] ], "enemies": { - "enemy_1197_sfshu": [15,9,6,233,53765], - "enemy_1197_sfshu_2": [39,23,16,7938,171426], - "enemy_1198_msfshu": [27,21,6,0,112], - "enemy_1198_msfshu_2": [69,42,27,0,348], - "enemy_9010_acpupp": [39,11,28,21238,449669] + "enemy_1197_sfshu": [15,10,5,370,55235], + "enemy_1197_sfshu_2": [39,22,17,7241,164109], + "enemy_1198_msfshu": [30,22,8,0,114], + "enemy_1198_msfshu_2": [66,34,32,0,298], + "enemy_9010_acpupp": [39,11,28,20997,425268] }, - "hooks": [1,219,6179,587,587,2744,2520,0,124,211,20,18,61,13129,23,42,189,83,1,137,0,0,0], - "events": {"atk":973,"deploy":27,"die":128,"dmg":2520,"engage":11,"fx":145,"leak":83,"skill":38,"spawn":208,"status":442}, - "fx": {"aoe":4,"dash":3,"displace":8,"ember":13,"pull":8,"shieldBreak":36,"summon":36,"takeoff":9,"telegraph":13,"volley":15}, - "snaps": "216e6311 22bbd174 e2861a2f db9fa2cb 9ccc6a30 fe834987 143b56d4 3e1bf123 0a9fb02b eb5b35d6 033fff75 60f27492 bf703ce7 93e8e5aa eb86edae eeb8fb64 a361acb7 20b6a8cd f300097c f0f3ad12 0ab29755" + "hooks": [1,219,6170,557,557,2662,2441,0,117,211,18,17,61,12473,20,37,189,90,1,130,0,0,0], + "events": {"atk":939,"deploy":27,"die":121,"dmg":2441,"engage":11,"fx":141,"leak":90,"skill":35,"spawn":208,"status":456}, + "fx": {"aoe":4,"dash":3,"displace":8,"ember":13,"pull":8,"shieldBreak":32,"summon":36,"takeoff":9,"telegraph":13,"volley":15}, + "snaps": "216e6311 92876c58 8b0ddc22 035398db 3ea00633 7b3355b0 7b146654 a014712a 51edf5e0 9e8a0db4 e46f26df 17a0436f 494febc5 3678c5bd 5df4ce09 eae0f373 a26812ad 7066422d 538eee47 0bfe1acb 554444c7" }, "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", @@ -4922,63 +4922,63 @@ "round": 12, "seed": 2479968306, "waveId": "act1autochess_h05", - "time": 205.6, - "ticks": 6168, + "time": 201.5, + "ticks": 6045, "reason": "cleared", - "killed": 154, + "killed": 156, "total": 96, "unspawned": 0, "bossHpLeft": null, "rngDraws": 0, "errors": {"count":0,"kinds":[]}, - "players": {"p1":{"killed":154,"total":96,"perfect":false,"leaks":78,"leaksUncounted":0,"coins":0,"dmg":511834,"bossDmg":0,"heal":0,"deaths":10,"layerGains":{}}}, + "players": {"p1":{"killed":156,"total":96,"perfect":false,"leaks":70,"leaksUncounted":0,"coins":0,"dmg":502125,"bossDmg":0,"heal":0,"deaths":9,"layerGains":{}}}, "units": [ ["p1",1,"op","chess_char_5_diy1_b",0,"uniequip_002_ebnhlz",1570,1,10,4,57606,0,0,47,5], - ["p1",2,"op","chess_char_5_diy2_b",1,"uniequip_002_ebnhlz",1570,1,11,7,31893,0,0,29,0], - ["p1",3,"op","chess_char_5_diy1_b",2,"uniequip_002_ebnhlz",1570,1,1,6,12372,0,0,24,4], - ["p1",4,"op","chess_char_5_diy2_b",0,"uniequip_003_ebnhlz",1650,1,3,17,38893,0,0,76,8], - ["p1",5,"op","chess_char_5_diy1_b",1,"uniequip_003_ebnhlz",1650,1,5,8,48337,0,0,62,7], - ["p1",6,"op","chess_char_5_diy2_b",2,"uniequip_003_ebnhlz",1650,1,7,11,130273,0,0,49,4], + ["p1",2,"op","chess_char_5_diy2_b",1,"uniequip_002_ebnhlz",1570,1,11,8,31893,0,0,30,0], + ["p1",3,"op","chess_char_5_diy1_b",2,"uniequip_002_ebnhlz",1570,1,1,7,8950,0,0,24,4], + ["p1",4,"op","chess_char_5_diy2_b",0,"uniequip_003_ebnhlz",1650,1,3,21,40584,0,0,76,8], + ["p1",5,"op","chess_char_5_diy1_b",1,"uniequip_003_ebnhlz",1650,1,5,8,49875,0,0,62,7], + ["p1",6,"op","chess_char_5_diy2_b",2,"uniequip_003_ebnhlz",1650,1,7,9,128862,0,0,49,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,6,63169,0,0,49,14], - ["p1",9,"op","chess_char_5_diy1_b",2,"uniequip_004_ebnhlz",1570,1,269,3,6725,3140,0,10,1], - ["p1",10,"op","chess_char_6_diy1_a",0,null,706.13,1,260,5,11720,3371,0,28,2], - ["p1",11,"op","chess_char_6_diy2_a",1,null,0,0,255,4,17497,4077,0,20,0], - ["p1",12,"op","chess_char_6_diy1_a",2,null,0,0,254,2,17986,4077,0,15,1], + ["p1",8,"op","chess_char_5_diy2_b",1,"uniequip_004_ebnhlz",1570,1,12,5,61651,0,0,50,14], + ["p1",9,"op","chess_char_5_diy1_b",2,"uniequip_004_ebnhlz",0,0,158,0,1442,3140,0,6,2], + ["p1",10,"op","chess_char_6_diy1_a",0,null,1359,1,264,7,10369,2718,0,32,2], + ["p1",11,"op","chess_char_6_diy2_a",1,null,53.27,1,252,4,17545,4024,0,21,0], + ["p1",12,"op","chess_char_6_diy1_a",2,null,0,0,250,2,17986,4077,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,0,13232,0,0,0,null], ["p1","~3","token","token_10024_ebnhlz_rcube",null,null,1000,0,50,0,5752,0,0,0,null], - ["p1","~4","token","token_10024_ebnhlz_rcube",null,null,1000,0,73,0,5177,0,0,0,null], - ["p1","~5","token","token_10024_ebnhlz_rcube",null,null,1000,0,75,0,0,0,0,0,null], - ["p1","~6","token","token_10024_ebnhlz_rcube",null,null,1000,0,93,0,5177,0,0,0,null], - ["p1","~7","token","token_10024_ebnhlz_rcube",null,null,1000,0,114,0,14956,0,0,0,null], - ["p1","~8","token","token_10024_ebnhlz_rcube",null,null,1000,0,120,0,0,0,0,0,null], - ["p1","~9","token","token_10024_ebnhlz_rcube",null,null,1000,0,132,0,2876,0,0,0,null], - ["p1","~10","token","token_10024_ebnhlz_rcube",null,null,1000,0,150,0,2305,0,0,0,null], - ["p1","~11","token","token_10024_ebnhlz_rcube",null,null,1000,0,160,0,0,0,0,0,null], - ["p1","~12","token","token_10024_ebnhlz_rcube",null,null,1000,0,168,0,5177,0,0,0,null], - ["p1","~13","token","token_10024_ebnhlz_rcube",null,null,1000,0,199,0,9778,0,0,0,null], - ["p1","~14","token","token_10024_ebnhlz_rcube",null,null,1000,0,207,0,0,0,0,0,null], - ["p1","~15","token","token_10024_ebnhlz_rcube",null,null,1000,0,214,0,2876,0,0,0,null], - ["p1","~16","token","token_10024_ebnhlz_rcube",null,null,1000,0,231,0,2880,0,0,0,null], - ["p1","~17","token","token_10024_ebnhlz_rcube",null,null,1000,0,240,0,0,0,0,0,null], - ["p1","~18","token","token_10024_ebnhlz_rcube",null,null,1000,0,243,0,5177,0,0,0,null], - ["p1","~19","token","token_10024_ebnhlz_rcube",null,null,1000,0,259,0,0,0,0,0,null], - ["p1","~20","token","token_10024_ebnhlz_rcube",null,null,1000,1,268,0,0,0,0,0,null], - ["p1","~21","token","token_10024_ebnhlz_rcube",null,null,1000,1,270,0,0,0,0,0,null] + ["p1","~4","token","token_10024_ebnhlz_rcube",null,null,1000,0,70,0,5177,0,0,0,null], + ["p1","~5","token","token_10024_ebnhlz_rcube",null,null,1000,0,72,0,0,0,0,0,null], + ["p1","~6","token","token_10024_ebnhlz_rcube",null,null,1000,0,85,0,5177,0,0,0,null], + ["p1","~7","token","token_10024_ebnhlz_rcube",null,null,1000,0,108,0,14956,0,0,0,null], + ["p1","~8","token","token_10024_ebnhlz_rcube",null,null,1000,0,114,0,0,0,0,0,null], + ["p1","~9","token","token_10024_ebnhlz_rcube",null,null,1000,0,126,0,2876,0,0,0,null], + ["p1","~10","token","token_10024_ebnhlz_rcube",null,null,1000,0,144,0,2305,0,0,0,null], + ["p1","~11","token","token_10024_ebnhlz_rcube",null,null,1000,0,155,0,0,0,0,0,null], + ["p1","~12","token","token_10024_ebnhlz_rcube",null,null,1000,0,165,0,5177,0,0,0,null], + ["p1","~13","token","token_10024_ebnhlz_rcube",null,null,1000,0,193,0,9778,0,0,0,null], + ["p1","~14","token","token_10024_ebnhlz_rcube",null,null,1000,0,203,0,0,0,0,0,null], + ["p1","~15","token","token_10024_ebnhlz_rcube",null,null,1000,0,210,0,2876,0,0,0,null], + ["p1","~16","token","token_10024_ebnhlz_rcube",null,null,1000,0,227,0,2880,0,0,0,null], + ["p1","~17","token","token_10024_ebnhlz_rcube",null,null,1000,0,236,0,0,0,0,0,null], + ["p1","~18","token","token_10024_ebnhlz_rcube",null,null,1000,0,239,0,5177,0,0,0,null], + ["p1","~19","token","token_10024_ebnhlz_rcube",null,null,1000,0,255,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,23,22,8794,160820], - "enemy_1196_msfyin": [46,33,13,0,194], - "enemy_1197_sfshu": [39,26,13,5871,197074], - "enemy_1198_msfshu": [78,60,18,0,464], + "enemy_1195_sfyin": [45,23,22,8411,157028], + "enemy_1196_msfyin": [46,39,7,0,219], + "enemy_1197_sfshu": [39,24,15,5548,191163], + "enemy_1198_msfshu": [72,58,14,0,455], "enemy_1199_sfjin": [12,12,0,0,186325], - "enemy_1200_msfjin": [12,0,12,0,459] + "enemy_1200_msfjin": [12,0,12,0,463] }, - "hooks": [1,273,6168,461,461,2423,2548,0,164,261,49,47,0,30421,0,28,232,78,1,164,0,0,0], - "events": {"atk":461,"deploy":41,"die":183,"dmg":2548,"engage":11,"fx":193,"leak":78,"skill":96,"spawn":265}, - "fx": {"aoe":13,"displace":17,"pull":17,"summon":82,"volley":64}, - "snaps": "25481013 3b3236fa f6b7b1d9 80f81d61 34ef1943 fc11110a a08ee007 369e405c 41ff7208 5e487926 dafe54d3 1b0b63a8 f995283d 0cacb5c4 02b48bb8 4fb3f62d 355c0b0f e3d263b8 07e90d84 8b402749 0f3160ec" + "hooks": [1,266,6045,462,462,2436,2558,0,165,254,50,48,0,29626,0,23,226,70,1,165,0,0,0], + "events": {"atk":462,"deploy":40,"die":184,"dmg":2558,"engage":11,"fx":189,"leak":70,"skill":98,"spawn":259}, + "fx": {"aoe":13,"displace":17,"pull":17,"summon":80,"volley":62}, + "snaps": "25481013 aa3440f3 4685e7a3 b08da51f 9f758a7e 37f43c16 c79ffc87 98cbe2a3 ba2b8f1a 1407a331 0e301670 3e7c7b8f d9043c7d fd78a0d2 ce3af6b8 cd061667 724823f0 6505b73d 0a991be8 88f7aaf0 6d682149" }, "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", @@ -4992,39 +4992,38 @@ "time": 217.6, "ticks": 6528, "reason": "cleared", - "killed": 3, + "killed": 2, "total": 123, "unspawned": 0, "bossHpLeft": null, - "rngDraws": 10, + "rngDraws": 8, "errors": {"count":0,"kinds":[]}, - "players": {"p1":{"killed":3,"total":123,"perfect":false,"leaks":120,"leaksUncounted":0,"coins":0,"dmg":293861,"bossDmg":0,"heal":0,"deaths":21,"layerGains":{}}}, + "players": {"p1":{"killed":2,"total":123,"perfect":false,"leaks":121,"leaksUncounted":0,"coins":0,"dmg":288443,"bossDmg":0,"heal":0,"deaths":21,"layerGains":{}}}, "units": [ - ["p1",1,"op","chess_char_6_diy1_b",0,"none",0,0,114,1,20547,3140,0,25,2], - ["p1",2,"op","chess_char_6_diy2_b",1,"none",0,0,91,0,27538,3140,0,18,4], - ["p1",3,"op","chess_char_6_diy1_b",2,"none",0,0,131,0,21860,3140,0,9,1], - ["p1",4,"op","chess_char_6_diy2_b",0,"uniequip_002_ebnhlz",0,0,142,1,15719,3140,0,16,1], - ["p1",5,"op","chess_char_6_diy1_b",1,"uniequip_002_ebnhlz",0,0,151,0,18745,4710,0,11,1], - ["p1",6,"op","chess_char_6_diy2_b",2,"uniequip_002_ebnhlz",0,0,78,0,12168,3140,0,7,0], - ["p1",7,"op","chess_char_6_diy1_b",0,"uniequip_003_ebnhlz",0,0,74,0,21305,3490,0,5,0], + ["p1",1,"op","chess_char_6_diy1_b",0,"none",0,0,113,1,21882,3140,0,27,2], + ["p1",2,"op","chess_char_6_diy2_b",1,"none",0,0,90,0,27538,3140,0,18,4], + ["p1",3,"op","chess_char_6_diy1_b",2,"none",0,0,130,0,21860,3140,0,9,1], + ["p1",4,"op","chess_char_6_diy2_b",0,"uniequip_002_ebnhlz",0,0,141,0,16756,3140,0,16,1], + ["p1",5,"op","chess_char_6_diy1_b",1,"uniequip_002_ebnhlz",0,0,150,0,18745,4710,0,11,1], + ["p1",6,"op","chess_char_6_diy2_b",2,"uniequip_002_ebnhlz",0,0,77,0,12168,3140,0,7,0], + ["p1",7,"op","chess_char_6_diy1_b",0,"uniequip_003_ebnhlz",0,0,73,0,21305,3490,0,5,0], ["p1",8,"op","chess_char_6_diy2_b",1,"uniequip_003_ebnhlz",0,0,7,0,13689,1745,0,5,0], - ["p1",9,"op","chess_char_6_diy1_b",2,"uniequip_003_ebnhlz",0,0,9,0,25461,1745,0,8,1], - ["p1",10,"op","chess_char_6_diy2_b",0,"uniequip_004_ebnhlz",0,0,76,0,11814,3140,0,5,0], - ["p1",11,"op","chess_char_6_diy1_b",1,"uniequip_004_ebnhlz",0,0,4,0,29832,1570,0,6,2], - ["p1",12,"op","chess_char_6_diy2_b",2,"uniequip_004_ebnhlz",0,0,6,0,26897,1570,0,7,1], + ["p1",9,"op","chess_char_6_diy1_b",2,"uniequip_003_ebnhlz",0,0,9,0,26215,1745,0,8,1], + ["p1",10,"op","chess_char_6_diy2_b",0,"uniequip_004_ebnhlz",0,0,75,0,11814,3140,0,5,0], + ["p1",11,"op","chess_char_6_diy1_b",1,"uniequip_004_ebnhlz",0,0,4,0,29683,1570,0,5,1], + ["p1",12,"op","chess_char_6_diy2_b",2,"uniequip_004_ebnhlz",0,0,6,0,29794,1570,0,8,1], ["p1","~1","token","token_10024_ebnhlz_rcube",null,null,1000,0,26,0,1907,0,0,0,null], ["p1","~2","token","token_10024_ebnhlz_rcube",null,null,1000,0,27,0,18005,0,0,0,null], ["p1","~3","token","token_10024_ebnhlz_rcube",null,null,1000,0,28,0,5052,0,0,0,null], ["p1","~4","token","token_10024_ebnhlz_rcube",null,null,1000,0,37,1,5491,0,0,0,null], - ["p1","~5","token","token_10024_ebnhlz_rcube",null,null,1000,0,38,0,11294,0,0,0,null], - ["p1","~6","token","token_10024_ebnhlz_rcube",null,null,1000,0,99,0,2724,0,0,0,null], - ["p1","~7","token","token_10024_ebnhlz_rcube",null,null,1000,0,122,0,3814,0,0,0,null] + ["p1","~5","token","token_10024_ebnhlz_rcube",null,null,1000,0,98,0,2724,0,0,0,null], + ["p1","~6","token","token_10024_ebnhlz_rcube",null,null,1000,0,121,0,3814,0,0,0,null] ], - "enemies": {"enemy_1006_shield_3":[21,0,21,6953,122938],"enemy_1043_zomsbr":[66,2,64,16695,90295],"enemy_1402_tgshd_2":[36,1,35,10022,80628]}, - "hooks": [1,151,6528,191,191,342,369,12466,24,151,13,13,0,9395,0,26,123,120,1,24,0,1,0], - "events": {"atk":191,"deploy":28,"die":31,"dmg":369,"engage":12,"fx":116,"leak":120,"skill":26,"spawn":142,"status":44}, - "fx": {"aoe":7,"burst":1,"displace":12,"expose":64,"pull":12,"summon":7,"volley":13}, - "snaps": "691ad5fa 5cba8432 c52d9f6d 791d3fcc f5b1cc32 3d6075f5 5ef4c19a 53164dcf 2f1a5ea4 d47ebc6f 7a076464 66fa0c1a b8e47a22 3d87a654 faa2ab12 0e9fbf65 f854368c df256b93 9f1da643 8c6a7db9 51ddbd95 c7846e9e" + "enemies": {"enemy_1006_shield_3":[21,0,21,8025,130381],"enemy_1043_zomsbr":[66,1,65,15266,80405],"enemy_1402_tgshd_2":[36,1,35,10379,77656]}, + "hooks": [1,150,6528,190,190,340,360,12512,23,150,12,12,0,9354,0,24,123,121,1,23,0,1,0], + "events": {"atk":190,"deploy":27,"die":29,"dmg":360,"engage":12,"fx":105,"leak":121,"skill":24,"spawn":141,"status":42}, + "fx": {"aoe":6,"burst":1,"displace":8,"expose":63,"pull":8,"summon":6,"volley":13}, + "snaps": "691ad5fa 646da9eb a1f8ea41 fe731b91 6da71566 f4f8e4ee 3c0f0da0 fc5fe596 caf68706 1d5933fe 129d0ab4 332dad2e 4bff2df6 9bc1ad09 2c797af1 d1372b1b e9c44ce5 c57571d6 05a6f455 7a1ed9e8 d1f17800 e205c30f" }, "diy-117": { "about": "5_diy1_a=mgllan/S1 5_diy2_a=mgllan/S2 5_diy1_a=mgllan/S3 5_diy2_b=mgllan/S1 5_diy1_b=mgllan/S2 5_diy2_b=mgllan/S3 5_diy1_b=mgllan/S1/002_mgllan 5_diy2_b=mgllan/S2/002_mgllan 5_diy1_b=mgllan/S3/002_mgllan 5_diy2_b=mgllan/S1/003_mgllan 5_diy1_b=mgllan/S2/003_mgllan 5_diy2_b=mgllan/S3/003_mgllan", @@ -5974,32 +5973,32 @@ "time": 230, "ticks": 6900, "reason": "timeout", - "killed": 68, + "killed": 79, "total": 147, "unspawned": 0, "bossHpLeft": null, - "rngDraws": 118, + "rngDraws": 144, "errors": {"count":0,"kinds":[]}, - "players": {"p1":{"killed":68,"total":147,"perfect":false,"leaks":79,"leaksUncounted":0,"coins":0,"dmg":425402,"bossDmg":0,"heal":0,"deaths":16,"layerGains":{}}}, + "players": {"p1":{"killed":79,"total":147,"perfect":false,"leaks":68,"leaksUncounted":0,"coins":0,"dmg":499903,"bossDmg":0,"heal":0,"deaths":16,"layerGains":{}}}, "units": [ - ["p1",1,"op","chess_char_6_diy1_a",2,null,0,0,2,1,6827,2604,0,80,1], - ["p1",2,"op","chess_char_6_diy2_b",2,"uniequip_002_acfend",2085.04,1,4,2,14361,1346,0,132,2], - ["p1",3,"op","chess_char_5_diy1_a",0,null,0,0,166,4,22225,3730,0,92,2], - ["p1",4,"op","chess_char_5_diy2_b",0,"uniequip_002_sharp2",0,0,156,16,106408,4748,0,99,2], - ["p1",5,"op","chess_char_6_diy1_a",2,null,1529,1,172,14,44128,3058,0,45,4], - ["p1",6,"op","chess_char_6_diy2_b",2,"uniequip_002_acpion",1904,1,171,24,182563,3808,0,54,4], - ["p1",7,"op","chess_char_5_diy1_a",2,null,1154,1,170,1,6563,8078,0,80,0], + ["p1",1,"op","chess_char_6_diy1_a",2,null,0,0,2,2,7960,2604,0,88,2], + ["p1",2,"op","chess_char_6_diy2_b",2,"uniequip_002_acfend",1915.64,1,4,2,14168,1515,0,135,2], + ["p1",3,"op","chess_char_5_diy1_a",0,null,0,0,154,3,21404,3730,0,73,1], + ["p1",4,"op","chess_char_5_diy2_b",0,"uniequip_002_sharp2",0,0,159,17,109862,4748,0,103,3], + ["p1",5,"op","chess_char_6_diy1_a",2,null,1408.2,1,170,18,82708,3179,0,51,4], + ["p1",6,"op","chess_char_6_diy2_b",2,"uniequip_002_acpion",0,0,103,27,209614,3808,0,78,5], + ["p1",7,"op","chess_char_5_diy1_a",2,null,1154,1,171,1,9896,8078,0,102,0], ["p1",8,"op","chess_char_5_diy2_b",2,"uniequip_002_acspec",1448,1,1,0,0,0,0,0,0], ["p1",9,"op","chess_char_6_diy1_a",2,null,2638,1,3,0,0,0,0,0,0], ["p1",10,"op","chess_char_6_diy2_b",2,"uniequip_002_acguad",3531,1,5,0,0,0,0,0,0], - ["p1",11,"op","chess_char_5_diy1_a",2,null,1160,1,9,0,17771,0,0,110,2], - ["p1",12,"op","chess_char_5_diy2_b",2,"uniequip_002_acsupo",1430,1,10,1,24555,0,0,122,2] + ["p1",11,"op","chess_char_5_diy1_a",2,null,1160,1,9,0,17385,0,0,107,2], + ["p1",12,"op","chess_char_5_diy2_b",2,"uniequip_002_acsupo",1430,1,10,0,26906,0,0,128,3] ], - "enemies": {"enemy_1166_dusbr_2":[39,22,17,381,107418],"enemy_1169_duphlx_2":[57,28,29,3024,195834],"enemy_1170_dushld_2":[51,18,32,23967,242247]}, - "hooks": [1,172,6900,1024,1024,4900,5024,0,84,162,19,26,0,27771,5929,73,147,78,1,84,0,0,0], - "events": {"atk":1087,"deploy":25,"die":84,"dmg":4988,"engage":9,"fx":207,"leak":78,"skill":56,"spawn":159,"status":804}, - "fx": {"aoe":90,"displace":10,"dodge":4,"dp":46,"slash":57}, - "snaps": "9fc009d3 b712fd02 dd9e6536 ad3afaa9 5e080f95 8c342958 c6b9d04c 6a6288c5 e4728d4d bdcd36f8 1d15491e 3af989d1 db86f390 2b31bb23 3d3a3c2a 09c7eba6 bfb4bdf6 ca3579cc 1af3c782 ec939b4e 4cc81145 6ef95d94 e8fb67c3" + "enemies": {"enemy_1166_dusbr_2":[39,25,14,970,117453],"enemy_1169_duphlx_2":[57,30,27,4546,204769],"enemy_1170_dushld_2":[51,24,25,22147,291668]}, + "hooks": [1,171,6900,1102,1102,4984,5113,0,95,161,22,28,0,28191,6261,85,147,66,1,95,0,0,0], + "events": {"atk":1161,"deploy":24,"die":95,"dmg":5080,"engage":9,"fx":231,"leak":66,"skill":61,"spawn":159,"status":819}, + "fx": {"aoe":93,"displace":8,"dodge":4,"dp":54,"slash":72}, + "snaps": "9fc009d3 b712fd02 f36c2e74 ec6d9389 3d2de85c 5cdae853 72895b52 24ddeed5 16beae87 0af2234c 0786e3e8 578d354d a55f8606 a476a145 a621ed1c 1bd464f3 9c885b76 d6ba58c1 7bc719b2 0cd5f504 82e69c40 1d6109b8 af74aa1e" }, "diy-138": { "about": "6_diy1_a=sharp2 6_diy2_b=sharp2 6_diy1_a=acspec 6_diy2_b=acspec 6_diy1_a=acnipe 6_diy2_b=acnipe 6_diy1_a=accast 6_diy2_b=accast 6_diy1_a=acmedc 6_diy2_b=acmedc 6_diy1_a=acsupo 6_diy2_b=acsupo", diff --git a/test/golden/fields.json b/test/golden/fields.json index 08aa007b..6f876e11 100644 --- a/test/golden/fields.json +++ b/test/golden/fields.json @@ -211,7 +211,7 @@ "weightless": 4, "zone": 197 }, - "snaps": "7917cfe4 719c3d1e 5fce9836 dcc6d1db c6372862 d28f9510 24fc36dd 451a8b51 a84bc802 17264489 87aca75c 241abfe9 0bdd4e23 94a753a7 f66cf2d6 27f37155 8c831d53 112e1ac2 a0065d70 7e66122d" + "snaps": "7917cfe4 719c3d1e 5fce9836 dcc6d1db a0f81e19 1bb7ff13 71e60b46 ed3361e2 91b07871 30bdd282 aa1872cf 6afc60c2 541bc4e0 0a1a43a8 633a6965 f71806d6 cabd0e80 efbd909d 459f4b8b 8ed124b2" }, "boss-boss_2-solo": { "about": "假想敌:铳 solo pool 3000000: chess_char_4_17_b chess_char_4_18_b chess_char_4_23_b chess_char_4_19_b chess_char_4_22_b chess_char_4_20_b chess_char_4_21_b chess_char_4_24_b chess_char_4_25_b chess_char_4_26_b", @@ -259,97 +259,100 @@ "round": 14, "seed": 1428555614, "waveId": "act1autochess_h07_03", - "time": 191.33, - "ticks": 5740, + "time": 191.07, + "ticks": 5732, "reason": "cleared", "killed": 19, "total": 6, "unspawned": 0, "bossHpLeft": 0, - "rngDraws": 1408, + "rngDraws": 1406, "errors": {"count":0,"kinds":[]}, "players": { - "p1": {"killed":19,"total":6,"perfect":true,"leaks":0,"leaksUncounted":0,"coins":0,"dmg":1598736,"bossDmg":1477507,"heal":4950,"deaths":4,"layerGains":{}}, - "p2": {"killed":0,"total":0,"perfect":true,"leaks":0,"leaksUncounted":0,"coins":0,"dmg":2585697,"bossDmg":2522493,"heal":40534,"deaths":3,"layerGains":{}} + "p1": {"killed":19,"total":6,"perfect":true,"leaks":0,"leaksUncounted":0,"coins":0,"dmg":1619158,"bossDmg":1497941,"heal":4080,"deaths":4,"layerGains":{}}, + "p2": {"killed":0,"total":0,"perfect":true,"leaks":0,"leaksUncounted":0,"coins":0,"dmg":2565276,"bossDmg":2502059,"heal":40214,"deaths":2,"layerGains":{}} }, "units": [ - ["p1",1,"op","chess_char_6_03_b",2,"uniequip_002_yu",3700,1,7,0,0,0,2673,0,1], + ["p1",1,"op","chess_char_6_03_b",2,"uniequip_002_yu",3700,1,7,0,0,0,2395,0,1], ["p1",2,"op","chess_char_6_06_b",2,"uniequip_002_pepe",2939,1,11,0,0,0,0,0,0], - ["p1",3,"op","chess_char_6_07_b",2,"uniequip_002_siege2",3101,1,9,1,43,3444,505,43,1], - ["p1",4,"op","chess_char_6_01_b",2,"uniequip_002_lemuen",1745.65,1,13,2,914910,4480,538,59,8], - ["p1",5,"op","chess_char_6_02_b",2,"uniequip_002_sbell2",252.98,1,17,4,348597,8106,407,62,3], - ["p1",6,"op","chess_char_6_04_b",2,"uniequip_002_skadi2",0,0,62,0,26511,12270,434,0,3], - ["p1",7,"op","chess_char_6_05_b",2,"uniequip_002_pasngr",0,0,66,2,169698,7389,372,48,3], - ["p1",8,"op","chess_char_6_08_b",2,"uniequip_002_reed2",1668,1,5,1,32,0,20,15,2], - ["p1",9,"op","chess_char_6_09_b",0,"uniequip_002_cello",1322,1,15,0,38,0,0,10,10], + ["p1",3,"op","chess_char_6_07_b",2,"uniequip_002_siege2",3101,1,9,2,47,3535,101,30,1], + ["p1",4,"op","chess_char_6_01_b",2,"uniequip_002_lemuen",2131.5,1,13,3,947163,4159,423,59,8], + ["p1",5,"op","chess_char_6_02_b",2,"uniequip_002_sbell2",196.86,1,17,1,337196,7383,349,60,3], + ["p1",6,"op","chess_char_6_04_b",2,"uniequip_002_skadi2",0,0,61,1,26509,12339,419,0,3], + ["p1",7,"op","chess_char_6_05_b",2,"uniequip_002_pasngr",0,0,65,2,169268,7389,372,48,3], + ["p1",8,"op","chess_char_6_08_b",2,"uniequip_002_reed2",1668,1,5,0,31,0,20,14,1], + ["p1",9,"op","chess_char_6_09_b",0,"uniequip_002_cello",1322,1,15,0,38,0,0,9,9], ["p1",10,"op","chess_char_6_11_b",2,"uniequip_002_mlyss",1893,1,23,0,95529,0,0,193,5], ["p1",11,"token","token_10017_skadi2_dedant",null,null,138,0,26,0,0,0,0,0,null], - ["p2",12,"op","chess_char_6_15_b",2,"uniequip_002_qiubai",3801.6,1,31,1,462835,0,0,197,3], - ["p2",13,"op","chess_char_6_19_b",2,"uniequip_002_blkkgt",2767,1,60,0,25,2767,0,7,1], - ["p2",14,"op","chess_char_5_01_b",1,"uniequip_002_excu2",2314,1,57,0,9,3172,480,9,1], + ["p2",12,"op","chess_char_6_15_b",2,"uniequip_002_qiubai",3801.6,1,31,2,463396,0,0,196,3], + ["p2",13,"op","chess_char_6_19_b",2,"uniequip_002_blkkgt",2767,1,12,1,31,129,0,5,2], + ["p2",14,"op","chess_char_5_01_b",1,"uniequip_002_excu2",2314,1,55,0,16,3647,960,16,1], ["p2",15,"op","chess_char_6_17_b",2,"uniequip_002_nearl2",6287.75,1,32,0,315064,2551,0,89,3], - ["p2",16,"op","chess_char_6_12_b",1,"uniequip_002_rosmon",3175.48,1,16,7,206450,2551,646,71,4], - ["p2",17,"op","chess_char_6_13_b",1,"uniequip_002_angel2",2436.5,1,20,1,1392349,6026,1618,341,6], - ["p2",18,"op","chess_char_6_14_b",2,"uniequip_002_lumen",2088.9,1,22,0,0,3550,4850,56,1], - ["p2",19,"op","chess_char_6_16_b",2,"uniequip_002_halo2",1582.9,1,25,0,76316,1525,0,135,4], - ["p2",20,"op","chess_char_6_18_b",2,"uniequip_002_whitw2",1541,1,59,0,103614,1541,0,19,2], - ["p2",21,"op","chess_char_6_20_b",2,"uniequip_002_agoat2",1662.1,1,18,0,0,2296,32939,56,2], + ["p2",16,"op","chess_char_6_12_b",1,"uniequip_002_rosmon",3175.48,1,16,6,206430,3608,591,71,4], + ["p2",17,"op","chess_char_6_13_b",1,"uniequip_002_angel2",2436.5,1,20,2,1376335,6026,1630,340,6], + ["p2",18,"op","chess_char_6_14_b",2,"uniequip_002_lumen",2088.9,1,22,0,0,3550,5117,54,1], + ["p2",19,"op","chess_char_6_16_b",2,"uniequip_002_halo2",1582.9,1,25,0,76191,1525,0,135,4], + ["p2",20,"op","chess_char_6_18_b",2,"uniequip_002_whitw2",1541,1,59,0,103616,1541,0,20,2], + ["p2",21,"op","chess_char_6_20_b",2,"uniequip_002_agoat2",1662.1,1,18,0,0,2238,31915,54,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], ["-","~4","device","trap_1105_accrate",null,null,100,1,4,0,0,0,0,0,null], - ["p1","~1","token","token_10030_mlyss_wtrman",null,null,1586.2,1,24,0,43364,0,0,86,1], + ["p1","~1","token","token_10030_mlyss_wtrman",null,null,1586.2,1,24,0,43363,0,0,86,1], ["p2","~1","token","token_10019_nearl2_sword",null,null,8280,0,41,0,9679,0,0,0,null], ["p1","~2","token","token_10030_mlyss_wtrman",null,null,1989.96,0,42,0,3,0,0,3,null], ["p1","~1","token","token_10017_skadi2_dedant",null,null,100,0,49,0,0,0,0,0,null], - ["p1","~3","token","token_10030_mlyss_wtrman",null,null,1586.2,0,50,0,4,0,0,4,null], + ["p1","~3","token","token_10030_mlyss_wtrman",null,null,1586.2,0,50,0,2,0,0,2,null], ["p2","~2","token","token_10019_nearl2_sword",null,null,6600,0,51,0,9679,0,0,0,null], - ["p1","~1","token","token_10040_siege2_vlion",null,null,4834.05,0,54,0,6,686,0,6,null], - ["p1","~2","token","token_10040_siege2_vlion",null,null,5520,0,55,1,1,0,0,1,null], - ["p1","~4","token","token_10030_mlyss_wtrman",null,null,1989.96,0,56,0,0,0,0,0,null], - ["p2","~3","token","token_10019_nearl2_sword",null,null,6600,0,61,0,9679,0,0,0,null], + ["p1","~4","token","token_10030_mlyss_wtrman",null,null,1989.96,0,54,0,0,0,0,0,null], + ["p1","~1","token","token_10040_siege2_vlion",null,null,389.75,0,56,0,9,5130,0,9,null], + ["p1","~2","token","token_10040_siege2_vlion",null,null,5520,0,57,0,0,0,0,0,null], + ["p2","~3","token","token_10019_nearl2_sword",null,null,6600,0,60,0,4839,0,0,0,null], ["p1","~2","token","token_10017_skadi2_dedant",null,null,100,0,63,0,0,0,0,0,null], - ["p1","~5","token","token_10030_mlyss_wtrman",null,null,1586.2,0,65,0,0,0,0,0,null] + ["p1","~5","token","token_10030_mlyss_wtrman",null,null,1586.2,0,64,0,0,0,0,0,null] ], "enemies": { "enemy_1197_sfshu_2": [2,2,0,0,28809], "enemy_1198_msfshu_2": [6,6,0,0,102], "enemy_1209_sfden_2": [2,2,0,0,154793], "enemy_1210_msfden_2": [2,2,0,0,386], - "enemy_9021_acduml": [1,1,0,0,4000000], - "enemy_9023_acdums": [9,7,0,51573,343] + "enemy_9021_acduml": [1,1,0,2129,4000000], + "enemy_9023_acdums": [9,7,0,51838,343] }, - "hooks": [1,66,5740,1515,1515,4047,4898,2384,27,41,64,59,352,41270,2004,3,22,0,1,26,0,9,0], - "events": {"atk":1799,"deploy":40,"die":41,"dmg":4608,"engage":20,"fx":1249,"heal":429,"skill":123,"spawn":59,"status":880}, + "hooks": [1,65,5732,1497,1497,4051,4936,2166,26,40,63,58,354,40822,1984,3,22,0,1,26,0,10,2], + "events": {"atk":1782,"deploy":39,"die":40,"dmg":4646,"engage":19,"fx":1230,"heal":455,"skill":121,"spawn":59,"status":837}, "fx": { - "airstrike": 131, - "appear": 2, + "airstrike": 124, + "appear": 1, "beam": 11, + "blessing": 1, "blink": 2, "bombard": 69, "bombardShell": 69, "buff": 3, - "burst": 9, + "burst": 10, "copy": 1, - "disappear": 2, + "disappear": 1, "displace": 1, + "dodge": 2, "dp": 5, "drone": 208, "droneLock": 18, "drones": 2, - "explode": 446, - "finale": 1, + "explode": 428, + "extraAttack": 5, + "finale": 2, "firewall": 1, "garrisonGrant": 1, - "lightning": 41, + "lightning": 38, "link": 7, "lock": 69, "lure": 3, - "phase": 43, + "phase": 42, "radiantSword": 3, "scorchBurst": 1, - "slash": 11, - "snow": 46, + "slash": 21, + "snow": 38, "split": 4, "steal": 6, "storm": 3, @@ -360,7 +363,7 @@ "tide": 3, "wanted": 1 }, - "snaps": "8c6eb9d3 796da093 9e3c16b7 fa7000d5 926c8ad7 67aaf44d 103ae7ee 039c0ebf 643fb2b7 a0782c00 fecc7c1b cb345ec9 91041fc2 a804912d eb1541bb 9a8fa181 5b07d6da 6e725bcd 0274cab6 809f5b01" + "snaps": "8c6eb9d3 796da093 9e3c16b7 fa7000d5 926c8ad7 f6cd064c 78697556 fed4cadf f5ea4a01 770df7f2 ff609399 52322e58 9b7ed238 669666d5 19bed882 6d67f5c1 4d304319 3f680d1a e2f8d2c9 86bcc5a3" }, "boss-boss_3-solo": { "about": "假想敌:管 solo pool 2000000: chess_char_5_08_b chess_char_5_11_b chess_char_5_05_b chess_char_5_06_b chess_char_5_13_b chess_char_5_07_b chess_char_5_02_b chess_char_5_03_b chess_char_5_10_b chess_char_5_12_b", @@ -425,81 +428,81 @@ "time": 200, "ticks": 6000, "reason": "forced", - "killed": 11, + "killed": 12, "total": 14, "unspawned": 0, - "bossHpLeft": 7442429, - "rngDraws": 603, + "bossHpLeft": 7375628, + "rngDraws": 586, "errors": {"count":0,"kinds":[]}, "players": { - "p1": {"killed":11,"total":14,"perfect":false,"leaks":1,"leaksUncounted":0,"coins":0,"dmg":965296,"bossDmg":315248,"heal":24127,"deaths":18,"layerGains":{}}, - "p2": {"killed":0,"total":0,"perfect":false,"leaks":2,"leaksUncounted":0,"coins":0,"dmg":976369,"bossDmg":642323,"heal":8096,"deaths":19,"layerGains":{}} + "p1": {"killed":12,"total":14,"perfect":false,"leaks":1,"leaksUncounted":0,"coins":0,"dmg":1051588,"bossDmg":348531,"heal":24590,"deaths":18,"layerGains":{}}, + "p2": {"killed":0,"total":0,"perfect":false,"leaks":1,"leaksUncounted":0,"coins":0,"dmg":1024342,"bossDmg":675841,"heal":11551,"deaths":18,"layerGains":{}} }, "units": [ - ["p1",1,"op","chess_char_5_19_b",2,"uniequip_002_mlynar",1529.8,1,61,4,131692,6704,420,24,1], - ["p1",2,"op","chess_char_4_01_b",2,"uniequip_002_rmixer",3310.19,1,60,0,17700,8610,1117,15,2], - ["p1",3,"op","chess_char_5_14_b",1,"none",0,0,49,0,44334,11949,2625,19,9], - ["p1",4,"op","chess_char_5_17_b",1,"uniequip_002_f12yin",0,0,59,0,16983,9696,260,10,1], - ["p1",5,"op","chess_char_5_15_b",1,"uniequip_002_thorn2",0,0,55,4,362158,4171,661,91,13], - ["p1",6,"op","chess_char_5_20_b",2,"uniequip_002_aglina",0,0,57,1,79306,9954,1941,30,4], - ["p1",7,"op","chess_char_5_21_b",1,"uniequip_002_sntlla",0,0,19,0,109465,4097,2126,150,4], - ["p1",8,"op","chess_char_5_22_b",1,"uniequip_002_nymph",1058.29,1,64,1,97795,2559,395,36,12], - ["p1",9,"op","chess_char_5_23_b",1,"uniequip_002_reckpr",0,0,52,0,0,3684,12457,28,2], - ["p1",10,"op","chess_char_4_02_b",2,"uniequip_002_mostma",1695,1,68,0,105862,4163,2126,50,2], - ["p2",11,"op","chess_char_4_11_b",1,"uniequip_002_cathy",2188.83,1,66,0,377,7381,183,1,1], - ["p2",12,"op","chess_char_4_04_b",1,"uniequip_002_ines",1498.75,1,56,0,184372,6810,464,178,8], - ["p2",13,"op","chess_char_4_07_b",1,"uniequip_002_bpipe",1732.75,1,63,0,29484,5698,282,37,9], - ["p2",14,"op","chess_char_4_16_b",2,"uniequip_002_texas2",0,0,58,0,105272,10473,1325,156,6], - ["p2",15,"op","chess_char_4_09_b",1,"uniequip_002_mizuki",0,0,53,0,214160,6276,721,42,4], - ["p2",16,"op","chess_char_4_06_b",1,"uniequip_002_kroos2",0,0,54,0,149179,3584,462,129,2], - ["p2",17,"op","chess_char_4_10_b",1,"uniequip_002_aroma",0,0,14,0,0,3064,652,0,0], - ["p2",18,"op","chess_char_4_12_b",2,"uniequip_002_glady",1838.43,1,67,0,64191,5913,3287,74,5], - ["p2",19,"op","chess_char_4_13_b",1,"uniequip_002_gnosis",1501.32,1,62,1,69313,2825,348,69,20], - ["p2",20,"op","chess_char_4_14_b",1,"uniequip_002_lionhd",1105.8,1,65,0,160021,2518,372,71,13], + ["p1",1,"op","chess_char_5_19_b",2,"uniequip_002_mlynar",1529.8,1,60,3,127646,6704,420,23,1], + ["p1",2,"op","chess_char_4_01_b",2,"uniequip_002_rmixer",3313.03,1,59,1,18993,8260,1117,13,2], + ["p1",3,"op","chess_char_5_14_b",1,"none",0,0,49,0,54350,11582,2258,18,11], + ["p1",4,"op","chess_char_5_17_b",1,"uniequip_002_f12yin",0,0,57,0,16983,9470,33,10,1], + ["p1",5,"op","chess_char_5_15_b",1,"uniequip_002_thorn2",0,0,58,2,402657,4059,549,98,15], + ["p1",6,"op","chess_char_5_20_b",2,"uniequip_002_aglina",0,0,55,1,85045,10014,2086,30,4], + ["p1",7,"op","chess_char_5_21_b",1,"uniequip_002_sntlla",0,0,19,0,117239,4097,2126,150,4], + ["p1",8,"op","chess_char_5_22_b",1,"uniequip_002_nymph",1058.29,1,62,4,118723,2559,395,35,12], + ["p1",9,"op","chess_char_5_23_b",1,"uniequip_002_reckpr",0,0,52,0,0,4792,13480,30,3], + ["p1",10,"op","chess_char_4_02_b",2,"uniequip_002_mostma",0,0,15,0,109953,4163,2126,50,2], + ["p2",11,"op","chess_char_4_11_b",1,"uniequip_002_cathy",2188.83,1,66,0,0,7281,83,0,1], + ["p2",12,"op","chess_char_4_04_b",1,"uniequip_002_ines",1498.75,1,56,0,187084,8315,1970,180,7], + ["p2",13,"op","chess_char_4_07_b",1,"uniequip_002_bpipe",1732.75,1,61,0,22843,5698,282,31,7], + ["p2",14,"op","chess_char_4_16_b",2,"uniequip_002_texas2",1163.83,1,67,0,106760,9794,192,151,7], + ["p2",15,"op","chess_char_4_09_b",1,"uniequip_002_mizuki",2322.43,1,63,1,270484,5747,2514,55,5], + ["p2",16,"op","chess_char_4_06_b",1,"uniequip_002_kroos2",0,0,53,0,148207,3584,462,128,2], + ["p2",17,"op","chess_char_4_10_b",1,"uniequip_002_aroma",0,0,14,0,0,3934,1521,0,0], + ["p2",18,"op","chess_char_4_12_b",2,"uniequip_002_glady",0,0,20,0,63317,5817,3585,73,4], + ["p2",19,"op","chess_char_4_13_b",1,"uniequip_002_gnosis",1501.32,1,64,0,62705,2825,348,61,18], + ["p2",20,"op","chess_char_4_14_b",1,"uniequip_002_lionhd",1105.8,1,65,0,162943,2741,594,71,13], ["p2",21,"token","token_10041_cathy_catsld",null,null,100,1,21,0,0,0,0,0,null], ["p2",22,"token","token_10041_cathy_catsld",null,null,100,1,22,0,0,0,0,0,null] ], - "enemies": {"enemy_1010_demon":[4,4,0,2399,200612],"enemy_1438_dspred":[10,7,3,20089,783482],"enemy_1521_dslily":[1,0,0,91219,957571]}, - "hooks": [1,66,6000,1142,1221,2845,2969,7176,48,53,118,115,15,33079,1090,15,15,3,1,51,0,28,1], - "events": {"atk":1370,"deploy":51,"die":50,"dmg":2956,"engage":18,"fx":751,"heal":83,"leak":3,"skill":233,"spawn":37,"status":933}, + "enemies": {"enemy_1010_demon":[4,4,0,0,200612],"enemy_1438_dspred":[10,8,2,22920,850945],"enemy_1521_dslily":[1,0,0,92214,1024372]}, + "hooks": [1,65,6000,1136,1220,2973,3099,7497,48,52,119,116,13,32881,1121,17,15,2,1,51,0,30,1], + "events": {"atk":1383,"deploy":50,"die":50,"dmg":3085,"engage":17,"fx":796,"heal":85,"leak":2,"skill":235,"spawn":37,"status":959}, "fx": { - "aoe": 24, + "aoe": 26, "appear": 9, "blink": 2, - "burst": 28, - "charge": 9, - "counter": 15, - "crit": 62, - "dilemma": 4, + "burst": 30, + "charge": 7, + "counter": 13, + "crit": 60, + "dilemma": 5, "disappear": 9, - "displace": 28, + "displace": 27, "dodge": 1, "explosion": 13, - "frostNova": 20, + "frostNova": 18, "grow": 1, "iceSpike": 119, "overclock": 1, "pull": 4, "quadShot": 2, "ripple": 14, - "rockfall": 17, + "rockfall": 15, "sentry": 3, "sermon": 2, - "shadowWeave": 4, - "shield": 5, - "soul": 4, - "sp": 6, - "stealth": 8, - "swordRain": 35, - "swordStorm": 6, + "shadowWeave": 5, + "shield": 4, + "soul": 5, + "sp": 14, + "stealth": 7, + "swordRain": 38, + "swordStorm": 7, "tentacle": 6, "tide": 5, - "tornado": 5, + "tornado": 4, "tornadoPulse": 20, "weightless": 4, - "zone": 256 + "zone": 296 }, - "snaps": "c2a7999d e9680942 e3840c7b c97157bb 354f818f 3033850d 40141175 5bb20676 7decc120 5f1771eb 27360f23 279c31ce f92ff344 600f9424 a1bc5b00 660e7954 a15ab6cb bc529b51 2952b6f1 8bf7f205" + "snaps": "98983314 a631783a ccc2dc9a bfd1a9d0 9c652c81 40f8d98e 08d313bf e5981c81 697be22d b0240d7c 1d954142 c60f8007 a74df9a8 9f265f02 2eea5c29 3ceddda5 818cf4b3 d569afac 20be7df9 ac07bc57" }, "boss-boss_4-solo": { "about": "盐风主教昆图斯 solo pool 4200000: chess_char_4_17_b chess_char_4_18_b chess_char_4_23_b chess_char_4_19_b chess_char_4_22_b chess_char_4_20_b chess_char_4_21_b chess_char_4_24_b chess_char_4_25_b chess_char_4_26_b", @@ -707,83 +710,49 @@ "killed": 5, "total": 6, "unspawned": 0, - "bossHpLeft": 6932482, - "rngDraws": 708, + "bossHpLeft": 6865243, + "rngDraws": 696, "errors": {"count":0,"kinds":[]}, "players": { - "p1": {"killed":5,"total":6,"perfect":true,"leaks":0,"leaksUncounted":0,"coins":0,"dmg":1096623,"bossDmg":528737,"heal":2146,"deaths":5,"layerGains":{}}, - "p2": {"killed":0,"total":0,"perfect":true,"leaks":0,"leaksUncounted":0,"coins":0,"dmg":1199975,"bossDmg":498782,"heal":1246,"deaths":19,"layerGains":{}} + "p1": {"killed":5,"total":6,"perfect":true,"leaks":0,"leaksUncounted":0,"coins":0,"dmg":1004720,"bossDmg":520003,"heal":4942,"deaths":5,"layerGains":{}}, + "p2": {"killed":0,"total":0,"perfect":true,"leaks":0,"leaksUncounted":0,"coins":0,"dmg":1297546,"bossDmg":574755,"heal":673,"deaths":17,"layerGains":{}} }, "units": [ - ["p1",1,"op","chess_char_5_19_b",2,"uniequip_002_mlynar",3907,1,3,1,211527,0,0,46,3], + ["p1",1,"op","chess_char_5_19_b",2,"uniequip_002_mlynar",3907,1,3,0,141185,0,0,30,2], ["p1",2,"op","chess_char_4_01_b",2,"uniequip_002_rmixer",3537,1,1,0,0,0,0,0,0], - ["p1",3,"op","chess_char_5_14_b",1,"none",2174,1,5,1,39624,0,0,0,16], - ["p1",4,"op","chess_char_5_17_b",1,"uniequip_002_f12yin",4654.6,1,11,1,4568,0,0,6,1], - ["p1",5,"op","chess_char_5_15_b",1,"uniequip_002_thorn2",1170,1,7,1,407448,0,0,83,18], - ["p1",6,"op","chess_char_5_20_b",2,"uniequip_002_aglina",1382,1,13,0,198029,0,0,73,6], - ["p1",7,"op","chess_char_5_21_b",1,"uniequip_002_sntlla",1629,1,66,0,24193,1629,0,43,2], - ["p1",8,"op","chess_char_5_22_b",1,"uniequip_002_nymph",1611,1,67,0,140802,3222,0,46,15], - ["p1",9,"op","chess_char_5_23_b",1,"uniequip_002_reckpr",1610,1,65,0,4316,3220,2146,3,1], - ["p1",10,"op","chess_char_4_02_b",2,"uniequip_002_mostma",1695,1,9,0,66114,0,0,47,3], - ["p2",11,"op","chess_char_4_11_b",1,"uniequip_002_cathy",2644,1,49,0,4798,9646,260,10,1], - ["p2",12,"op","chess_char_4_04_b",1,"uniequip_002_ines",190.91,1,63,0,134122,15240,280,209,6], + ["p1",3,"op","chess_char_5_14_b",1,"none",2174,1,5,1,34607,0,0,0,13], + ["p1",4,"op","chess_char_5_17_b",1,"uniequip_002_f12yin",4654.6,1,11,1,25069,1974,1974,15,1], + ["p1",5,"op","chess_char_5_15_b",1,"uniequip_002_thorn2",1170,1,7,2,341600,0,0,82,15], + ["p1",6,"op","chess_char_5_20_b",2,"uniequip_002_aglina",1382,1,13,0,197578,0,0,73,6], + ["p1",7,"op","chess_char_5_21_b",1,"uniequip_002_sntlla",0,0,15,0,28546,1629,0,52,2], + ["p1",8,"op","chess_char_5_22_b",1,"uniequip_002_nymph",0,0,51,0,161857,3453,231,51,17], + ["p1",9,"op","chess_char_5_23_b",1,"uniequip_002_reckpr",1610,1,65,0,5482,3220,2737,3,1], + ["p1",10,"op","chess_char_4_02_b",2,"uniequip_002_mostma",1695,1,9,0,68797,0,0,47,3], + ["p2",11,"op","chess_char_4_11_b",1,"uniequip_002_cathy",2644,1,49,0,4798,9640,253,10,1], + ["p2",12,"op","chess_char_4_04_b",1,"uniequip_002_ines",3438.4,1,64,0,149533,11992,280,208,6], ["p2",13,"op","chess_char_4_07_b",1,"uniequip_002_bpipe",2383,1,6,0,0,0,0,0,0], - ["p2",14,"op","chess_char_4_16_b",2,"uniequip_002_texas2",0,0,61,0,60730,13618,706,128,7], - ["p2",15,"op","chess_char_4_09_b",1,"uniequip_002_mizuki",2777.6,1,14,0,201953,0,0,114,6], - ["p2",16,"op","chess_char_4_06_b",1,"uniequip_002_kroos2",1561,1,8,1,634150,0,0,182,3], + ["p2",14,"op","chess_char_4_16_b",2,"uniequip_002_texas2",1619,1,63,0,82108,13503,0,131,8], + ["p2",15,"op","chess_char_4_09_b",1,"uniequip_002_mizuki",2777.6,1,14,0,204765,0,0,114,6], + ["p2",16,"op","chess_char_4_06_b",1,"uniequip_002_kroos2",1561,1,8,1,622803,0,0,179,3], ["p2",17,"op","chess_char_4_10_b",1,"uniequip_002_aroma",1664,1,12,0,0,0,0,0,0], - ["p2",18,"op","chess_char_4_12_b",2,"uniequip_002_glady",2232,1,47,0,40597,2232,0,106,5], - ["p2",19,"op","chess_char_4_13_b",1,"uniequip_002_gnosis",0,0,58,0,47100,5967,0,39,9], - ["p2",20,"op","chess_char_4_14_b",1,"uniequip_002_lionhd",0,0,59,0,76526,4878,0,22,4], + ["p2",18,"op","chess_char_4_12_b",2,"uniequip_002_glady",2232,1,47,0,42523,2232,0,106,5], + ["p2",19,"op","chess_char_4_13_b",1,"uniequip_002_gnosis",1989,1,60,0,73498,3978,0,65,15], + ["p2",20,"op","chess_char_4_14_b",1,"uniequip_002_lionhd",500.43,1,61,0,117517,4518,140,36,7], ["p2",21,"token","token_10041_cathy_catsld",null,null,100,1,21,0,0,0,0,0,null], ["p2",22,"token","token_10041_cathy_catsld",null,null,100,1,22,0,0,0,0,0,null] ], "enemies": { - "enemy_10028_vtswd": [3,3,0,0,0], - "enemy_10029_vtshld": [5,5,0,0,0], - "enemy_10030_vtwand": [5,5,0,0,0], - "enemy_10085_hllevi_2": [2,1,0,0,1068467], - "enemy_1010_demon": [4,4,0,12402,200612], - "enemy_9032_aclionk": [1,0,0,47250,1027518] + "enemy_10028_vtswd": [1,1,0,0,0], + "enemy_10029_vtshld": [8,8,0,0,0], + "enemy_10030_vtwand": [3,3,0,0,0], + "enemy_10085_hllevi_2": [2,1,0,0,1006896], + "enemy_1010_demon": [4,4,0,14161,200612], + "enemy_9032_aclionk": [1,0,0,41978,1094757] }, - "hooks": [1,65,6000,1150,1164,2296,2310,431,42,44,106,101,0,32028,744,8,20,0,1,30,0,2,0], - "events": {"atk":1232,"deploy":45,"die":44,"dmg":2254,"engage":15,"fx":761,"heal":7,"skill":207,"spawn":42,"status":1102}, - "fx": { - "aoe": 44, - "appear": 6, - "blink": 2, - "burst": 2, - "crit": 109, - "dilemma": 6, - "disappear": 6, - "displace": 19, - "equip": 18, - "explosion": 4, - "frostNova": 9, - "garrisonGrant": 1, - "iceSpike": 33, - "overclock": 1, - "pull": 4, - "quadShot": 3, - "revive": 2, - "ripple": 25, - "sentry": 4, - "shadowWeave": 5, - "shield": 1, - "soul": 2, - "sp": 19, - "stealth": 6, - "sword": 1, - "swordRain": 26, - "swordStorm": 7, - "telegraph": 21, - "tornado": 5, - "tornadoPulse": 20, - "vest": 5, - "weightless": 6, - "zone": 339 - }, - "snaps": "8ef2441b ee06d28e 0f318fc5 8e4156fd 466da928 e81f42d7 7687b463 1723e66d 7f419938 8e9ddd0f 9f00d62e 2aa9f2dd bca0bec4 90e786de 4f33ccda b4b8971e b9cab80b b4845fa4 1fdd7096 42eef665" + "hooks": [1,63,6000,1187,1211,2290,2305,620,39,41,111,106,0,34547,890,9,19,0,1,27,0,3,0], + "events": {"atk":1274,"deploy":44,"die":41,"dmg":2220,"engage":15,"fx":723,"heal":7,"skill":217,"spawn":41,"status":1221}, + "fx": {"aoe":38,"appear":6,"blink":2,"burst":3,"crit":109,"dilemma":6,"disappear":6,"displace":21,"equip":15,"explosion":7,"frostNova":15,"garrisonGrant":1,"iceSpike":44,"overclock":1,"pull":4,"quadShot":3,"revive":2,"ripple":25,"sentry":4,"shadowWeave":6,"shield":1,"soul":3,"sp":15,"stealth":6,"swordRain":44,"swordStorm":8,"telegraph":20,"tornado":5,"tornadoPulse":20,"vest":8,"weightless":6,"zone":269}, + "snaps": "8ef2441b 1f0b7d9b 358031de d7fac848 6bc45581 c14c05ea 9d45ac22 41b0826b f08fb48f f40bdbfc 557a25e0 2ffc6990 e3eab3cd 4805839b 41854b5c efd95f41 8e8c177f 7bd3b7ee 5f3edf58 060ad10f" }, "boss-boss_6-solo": { "about": "阿利斯泰尔,帝国余晖 solo pool 3980000: chess_char_4_17_b chess_char_4_18_b chess_char_4_23_b chess_char_4_19_b chess_char_4_22_b chess_char_4_20_b chess_char_4_21_b chess_char_4_24_b chess_char_4_25_b chess_char_4_26_b", @@ -960,24 +929,24 @@ "killed": 16, "total": 14, "unspawned": 0, - "bossHpLeft": 12585770, + "bossHpLeft": 12585798, "rngDraws": 666, "errors": {"count":0,"kinds":[]}, "players": { - "p1": {"killed":16,"total":14,"perfect":true,"leaks":0,"leaksUncounted":0,"coins":0,"dmg":2677042,"bossDmg":1550396,"heal":58431,"deaths":17,"layerGains":{}}, + "p1": {"killed":16,"total":14,"perfect":true,"leaks":0,"leaksUncounted":0,"coins":0,"dmg":2676913,"bossDmg":1550369,"heal":58431,"deaths":17,"layerGains":{}}, "p2": {"killed":0,"total":0,"perfect":true,"leaks":0,"leaksUncounted":0,"coins":0,"dmg":560253,"bossDmg":262771,"heal":20725,"deaths":25,"layerGains":{}} }, "units": [ - ["p1",1,"op","chess_char_5_19_b",2,"uniequip_002_mlynar",7814,1,90,1,335665,24097,655,20,3], + ["p1",1,"op","chess_char_5_19_b",2,"uniequip_002_mlynar",7814,1,90,2,334546,24097,655,20,3], ["p1",2,"op","chess_char_4_01_b",2,"uniequip_002_rmixer",7074,1,87,0,4861,9337,790,6,1], ["p1",3,"op","chess_char_5_14_b",1,"none",4348,1,71,2,352602,19433,5661,5,16], ["p1",4,"op","chess_char_5_17_b",1,"uniequip_002_f12yin",0,0,70,1,48055,29763,5829,84,2], - ["p1",5,"op","chess_char_5_15_b",1,"uniequip_002_thorn2",0,0,74,5,875533,5355,675,71,9], + ["p1",5,"op","chess_char_5_15_b",1,"uniequip_002_thorn2",0,0,74,5,876096,5355,675,71,9], ["p1",6,"op","chess_char_5_20_b",2,"uniequip_002_aglina",0,0,75,2,761501,15781,75,35,3], ["p1",7,"op","chess_char_5_21_b",1,"uniequip_002_sntlla",3258,1,81,0,5686,3481,223,18,2], ["p1",8,"op","chess_char_5_22_b",1,"uniequip_002_nymph",1855.46,1,80,2,211918,4930,342,30,11], ["p1",9,"op","chess_char_5_23_b",1,"uniequip_002_reckpr",3082.61,1,72,0,0,14900,44126,38,4], - ["p1",10,"op","chess_char_4_02_b",2,"uniequip_002_mostma",0,0,84,2,81221,10225,55,13,2], + ["p1",10,"op","chess_char_4_02_b",2,"uniequip_002_mostma",0,0,84,1,81648,10225,55,13,2], ["p2",11,"op","chess_char_4_11_b",1,"uniequip_002_cathy",0,0,76,0,0,8420,223,0,2], ["p2",12,"op","chess_char_4_04_b",1,"uniequip_002_ines",0,0,82,0,27913,14385,4392,91,4], ["p2",13,"op","chess_char_4_07_b",1,"uniequip_002_bpipe",0,0,91,0,6283,14796,2285,9,3], @@ -995,13 +964,13 @@ "enemy_10027_vtsk": [6,4,0,137764,1019681], "enemy_1005_yokai": [4,4,0,0,10699], "enemy_1229_darmy_2": [8,8,0,6104,294231], - "enemy_9013_acstmk_2": [1,0,0,63941,1814230], + "enemy_9013_acstmk_2": [1,0,0,63941,1814202], "enemy_9014_acstma": [6,5,0,5661,38754], "enemy_9015_acstmb": [3,2,0,9835,83569], "enemy_9016_acstmr": [8,7,0,0,150] }, - "hooks": [1,92,6000,904,910,2960,3146,8374,72,74,107,101,6,25061,1027,17,36,0,1,61,0,5,9], - "events": {"atk":1083,"deploy":56,"die":74,"dmg":3143,"engage":18,"fx":652,"heal":62,"skill":208,"spawn":58,"status":990}, + "hooks": [1,92,6000,904,910,2963,3149,8374,72,74,107,101,6,25061,1027,17,36,0,1,62,0,5,9], + "events": {"atk":1083,"deploy":56,"die":74,"dmg":3146,"engage":18,"fx":653,"heal":62,"skill":208,"spawn":58,"status":991}, "fx": { "aoe": 42, "appear": 7, @@ -1013,7 +982,7 @@ "crit": 59, "dilemma": 3, "disappear": 8, - "displace": 1, + "displace": 2, "dodge": 9, "explode": 10, "explosion": 4, @@ -1045,7 +1014,7 @@ "weightless": 3, "zone": 180 }, - "snaps": "0499777c 2a8a8958 27548bdc 4d50b14c 2d952e29 e8bac176 f62bddd6 c54603c8 eec4acbb 0e35cf5c f32cd036 b1a89b99 601ad31e 90860daf 260abb25 982d94cf 1e000364 bf1ae288 42ae578f 9af424ea" + "snaps": "0499777c 2a8a8958 27548bdc 4d50b14c 2d952e29 e8bac176 f62bddd6 c54603c8 51656465 9ecf84f7 f5a69ccb 658967be 427da03c 135738d4 c9cadaf0 ae8120c2 8af17fbf 3fc4b1b1 5b218cee 89d8e629" }, "hidden-boss_8-solo": { "about": "假想敌:胄 solo pool 7200000: chess_char_4_17_b chess_char_4_18_b chess_char_4_23_b chess_char_4_19_b chess_char_4_22_b chess_char_4_20_b chess_char_4_21_b chess_char_4_24_b chess_char_4_25_b chess_char_4_26_b", @@ -1112,36 +1081,36 @@ "killed": 8, "total": 8, "unspawned": 0, - "bossHpLeft": 3630612, - "rngDraws": 1662, + "bossHpLeft": 3636991, + "rngDraws": 1645, "errors": {"count":0,"kinds":[]}, "players": { - "p1": {"killed":8,"total":8,"perfect":true,"leaks":0,"leaksUncounted":0,"coins":0,"dmg":1794629,"bossDmg":784436,"heal":15524,"deaths":4,"layerGains":{}}, - "p2": {"killed":0,"total":0,"perfect":true,"leaks":0,"leaksUncounted":0,"coins":0,"dmg":3269574,"bossDmg":1142028,"heal":135845,"deaths":10,"layerGains":{}} + "p1": {"killed":8,"total":8,"perfect":true,"leaks":0,"leaksUncounted":0,"coins":0,"dmg":1813003,"bossDmg":790560,"heal":15516,"deaths":4,"layerGains":{}}, + "p2": {"killed":0,"total":0,"perfect":true,"leaks":0,"leaksUncounted":0,"coins":0,"dmg":3233639,"bossDmg":1129525,"heal":130347,"deaths":10,"layerGains":{}} }, "units": [ ["p1",1,"op","chess_char_6_03_b",2,"uniequip_002_yu",2601.77,1,66,0,0,11336,7438,0,2], ["p1",2,"op","chess_char_6_06_b",2,"uniequip_002_pepe",2939,1,11,0,25365,227,0,37,1], ["p1",3,"op","chess_char_6_07_b",2,"uniequip_002_siege2",2535.79,1,17,0,53146,4017,0,51,2], - ["p1",4,"op","chess_char_6_01_b",2,"uniequip_002_lemuen",204.28,1,7,1,1342715,2333,0,58,8], + ["p1",4,"op","chess_char_6_01_b",2,"uniequip_002_lemuen",204.28,1,7,1,1363387,2333,0,58,8], ["p1",5,"op","chess_char_6_02_b",2,"uniequip_002_sbell2",1933,1,9,0,33316,9693,0,46,2], ["p1",6,"op","chess_char_6_04_b",2,"uniequip_002_skadi2",954.58,1,55,0,35830,12093,529,0,4], ["p1",7,"op","chess_char_6_05_b",2,"uniequip_002_pasngr",2451.4,1,13,1,69554,0,0,0,11], ["p1",8,"op","chess_char_6_08_b",2,"uniequip_002_reed2",1668,1,19,0,25534,0,6790,69,2], ["p1",9,"op","chess_char_6_09_b",0,"uniequip_002_cello",0,0,21,1,149440,13231,0,27,27], - ["p1",10,"op","chess_char_6_11_b",2,"uniequip_002_mlyss",1893,1,60,0,52895,9393,349,86,3], + ["p1",10,"op","chess_char_6_11_b",2,"uniequip_002_mlyss",1893,1,60,0,50598,9393,349,84,3], ["p1",11,"token","token_10017_skadi2_dedant",null,null,138,0,28,0,0,0,0,0,null], ["p1",12,"token","token_10030_mlyss_wtrman",null,null,0,0,24,0,0,1640,318,4,1], - ["p2",13,"op","chess_char_6_15_b",2,"uniequip_002_qiubai",2934.34,1,68,4,710575,23146,0,309,3], - ["p2",14,"op","chess_char_6_19_b",2,"uniequip_002_blkkgt",0,0,59,0,232725,17856,0,43,4], - ["p2",15,"op","chess_char_5_01_b",1,"uniequip_002_excu2",0,0,65,0,10825,7320,2355,28,2], - ["p2",16,"op","chess_char_6_17_b",2,"uniequip_002_nearl2",0,0,58,1,487339,27040,0,77,3], - ["p2",17,"op","chess_char_6_12_b",1,"uniequip_002_rosmon",154.97,1,8,0,687440,9532,0,73,3], - ["p2",18,"op","chess_char_6_13_b",1,"uniequip_002_angel2",0,0,14,0,764724,13832,5897,258,5], - ["p2",19,"op","chess_char_6_14_b",2,"uniequip_002_lumen",1662.91,1,20,0,0,1375,16017,80,1], + ["p2",13,"op","chess_char_6_15_b",2,"uniequip_002_qiubai",2057.07,1,67,4,707045,24024,0,312,3], + ["p2",14,"op","chess_char_6_19_b",2,"uniequip_002_blkkgt",0,0,59,0,231858,17841,0,41,4], + ["p2",15,"op","chess_char_5_01_b",1,"uniequip_002_excu2",0,0,65,0,4091,6660,1695,24,2], + ["p2",16,"op","chess_char_6_17_b",2,"uniequip_002_nearl2",0,0,58,1,483793,26213,0,71,3], + ["p2",17,"op","chess_char_6_12_b",1,"uniequip_002_rosmon",173.1,1,8,0,687440,10444,0,73,3], + ["p2",18,"op","chess_char_6_13_b",1,"uniequip_002_angel2",0,0,14,0,742766,9295,4040,242,5], + ["p2",19,"op","chess_char_6_14_b",2,"uniequip_002_lumen",1662.91,1,20,0,0,1375,14267,80,1], ["p2",20,"op","chess_char_6_16_b",2,"uniequip_002_halo2",0,0,10,0,95777,1439,0,122,3], - ["p2",21,"op","chess_char_6_18_b",2,"uniequip_002_whitw2",1665.1,1,41,0,217005,24166,0,59,4], - ["p2",22,"op","chess_char_6_20_b",2,"uniequip_002_agoat2",1592.1,1,25,0,0,15377,111577,83,2], + ["p2",21,"op","chess_char_6_18_b",2,"uniequip_002_whitw2",1680.1,1,41,0,217704,24241,0,59,4], + ["p2",22,"op","chess_char_6_20_b",2,"uniequip_002_agoat2",1662.1,1,25,0,0,14000,110345,83,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], @@ -1155,25 +1124,25 @@ ["p1","~1","token","token_10040_siege2_vlion",null,null,3730,0,52,0,4750,270,0,10,null], ["p1","~1","token","token_10017_skadi2_dedant",null,null,138,0,56,0,0,0,0,0,null], ["p2","~2","token","token_10019_nearl2_sword",null,null,0,0,57,0,22974,6599,0,0,null], - ["p1","~4","token","token_10030_mlyss_wtrman",null,null,1322,1,61,0,0,155,99,0,1], + ["p1","~4","token","token_10030_mlyss_wtrman",null,null,1322,1,61,0,0,155,92,0,1], ["p1","~2","token","token_10017_skadi2_dedant",null,null,100,0,62,0,0,0,0,0,null], ["p1","~2","token","token_10040_siege2_vlion",null,null,4000,0,63,0,0,0,0,0,null], - ["p2","~3","token","token_10019_nearl2_sword",null,null,0,0,64,0,33414,6564,0,17,null], - ["p1","~3","token","token_10017_skadi2_dedant",null,null,100,1,67,0,0,0,0,0,null] + ["p2","~3","token","token_10019_nearl2_sword",null,null,0,0,64,0,33414,6564,0,16,null], + ["p1","~3","token","token_10017_skadi2_dedant",null,null,100,1,68,0,0,0,0,0,null] ], "enemies": { "enemy_1267_nhpbr_2": [6,6,0,1500,141894], "enemy_9007_acelem": [2,2,0,18532,309587], - "enemy_9017_achunt_2": [2,0,0,59249,1969388], - "enemy_9018_actrpa": [1,0,0,55276,817281], - "enemy_9019_actrpb": [1,0,0,32171,721099], - "enemy_9020_actrpc": [1,0,0,23279,1188232] + "enemy_9017_achunt_2": [2,0,0,58104,1963009], + "enemy_9018_actrpa": [1,0,0,51655,811529], + "enemy_9019_actrpb": [1,0,0,30033,718108], + "enemy_9020_actrpc": [1,0,0,24632,1185793] }, - "hooks": [1,66,6000,1758,1758,7275,13707,2687,28,39,95,89,290,48364,2980,15,13,0,1,36,0,16,0], - "events": {"atk":2126,"deploy":47,"die":39,"dmg":13183,"engage":22,"fx":2170,"heal":969,"skill":184,"spawn":53,"status":815}, + "hooks": [1,66,6000,1727,1727,7189,13487,2668,28,39,95,89,277,48035,2985,15,13,0,1,29,0,16,0], + "events": {"atk":2084,"deploy":47,"die":39,"dmg":12976,"engage":22,"fx":2157,"heal":966,"skill":184,"spawn":53,"status":821}, "fx": { - "airstrike": 90, - "beam": 30, + "airstrike": 84, + "beam": 26, "blessing": 1, "blink": 5, "bombard": 72, @@ -1187,7 +1156,7 @@ "drone": 320, "droneLock": 14, "drones": 4, - "extraAttack": 7, + "extraAttack": 5, "finale": 4, "firewall": 2, "garrisonGrant": 1, @@ -1209,11 +1178,10 @@ "sunBurst": 3, "talent": 5, "tide": 4, - "undying": 1, "wanted": 6, "zone": 6 }, - "snaps": "2a921421 57801ce9 e8f35705 fba04fd7 d2a6440c a3b24855 aaf86c72 6f6a7236 9ab1a1c0 cc7ebf44 74e3130d 4886a375 96efb424 6885b63d 54551891 71bfe69c 67cfb8f5 a4f55f17 8e12a9a1 ca3b950e" + "snaps": "2a921421 57801ce9 e8f35705 fba04fd7 d2a6440c a3b24855 a2d10035 e394b69f 7de21c75 bd6caaad ea4accdc 41ef5240 67c52051 5cd402c4 583f7ecc 859a9f1c 2c2aa8dd d206cf4c 4b695b81 674f683a" }, "hidden-boss_9-solo": { "about": "假想敌:铳 solo pool 2800000: chess_char_5_08_b chess_char_5_11_b chess_char_5_05_b chess_char_5_06_b chess_char_5_13_b chess_char_5_07_b chess_char_5_02_b chess_char_5_03_b chess_char_5_10_b chess_char_5_12_b", @@ -1315,7 +1283,7 @@ "enemy_9022_acdumm": [1,0,0,2791,0], "enemy_9023_acdums": [12,10,0,101874,716] }, - "hooks": [1,64,6000,1067,1191,4282,4885,9023,42,44,92,88,0,24850,1157,16,18,0,1,45,0,38,0], + "hooks": [1,64,6000,1067,1191,4280,4883,9023,42,44,92,88,0,24850,1157,16,18,0,1,45,0,38,0], "events": {"atk":1205,"deploy":44,"die":44,"dmg":4464,"engage":18,"fx":1910,"heal":421,"skill":180,"spawn":42,"status":980}, "fx": { "aoe": 16, @@ -1359,7 +1327,7 @@ "weightless": 2, "zone": 160 }, - "snaps": "f891236c f6672d61 0a4a6ca4 afae713f d621e422 91c68a01 7ea311f1 012e8866 5abf3b77 9efa9721 3f89db8d 12ebc10f c6cfa9e0 426d996e ec4be4af 4a0889a2 7023a3a1 61c0368c 4b538cec 7d3911a5" + "snaps": "f891236c f6672d61 f9ae299a bd864733 a34ff855 ee6e490a 8d637482 2808cda1 b8ebc810 72052abe c42b6edb 8a1ce86d f52b121e 6ec9eb74 6a1199ed 05aa4e08 5d012397 6fee9656 361ddec2 24e36087" }, "hidden-boss_10-solo": { "about": "假想敌:管 solo pool 7600000: chess_char_4_17_b chess_char_4_18_b chess_char_4_23_b chess_char_4_19_b chess_char_4_22_b chess_char_4_20_b chess_char_4_21_b chess_char_4_24_b chess_char_4_25_b chess_char_4_26_b", diff --git a/test/golden/matches.json b/test/golden/matches.json index 46ccfb36..5874b86f 100644 --- a/test/golden/matches.json +++ b/test/golden/matches.json @@ -99,7 +99,7 @@ "combat": "client", "boost": null, "setup": {"stageId":"act1autochess_m03","bossId":"boss_5","hiddenBossId":"boss_8","factions":["TIMES","DOT","INVISIBLE"]}, - "end": {"victory":false,"roundsPassed":13,"hiddenReached":false,"hiddenCleared":false,"reason":"defeat","teamLp":0,"bossPoolLeft":66750,"virtualMs":106900}, + "end": {"victory":false,"roundsPassed":13,"hiddenReached":false,"hiddenCleared":false,"reason":"defeat","teamLp":0,"bossPoolLeft":68613,"virtualMs":106900}, "rng": {"setup":25,"shop":207,"waves":0,"draft":10,"bots":8480,"meta":14}, "errors": {"engine":0,"logged":0,"sim":0,"dispatcher":0}, "rounds": [ @@ -134,11 +134,11 @@ }, { "round": 12, - "ai_0": [1,18,12,0,0,6,8,"a01c862d",134,"arcaneShip 0/2, deputShip 0/8, emptyShip 0/4, kazimierzShip 0/8, kjeragShip 0/14, miraShip 1/7, preciShip 0/12, sargonShip 0/8, siracusaShip 2/93, soloShip 1/16, steadShip 0/6, suntShip 1/2, swiftShip 1/16",22,31,9,109] + "ai_0": [1,17,12,0,0,6,8,"a01c862d",134,"arcaneShip 0/2, deputShip 0/8, emptyShip 0/4, kazimierzShip 0/8, kjeragShip 0/14, miraShip 1/7, preciShip 0/12, sargonShip 0/8, siracusaShip 2/93, soloShip 1/16, steadShip 0/6, suntShip 1/2, swiftShip 1/16",21,31,10,109] }, { "round": 13, - "ai_0": [1,18,12,0,0,6,8,"d9f5c26d",210,"arcaneShip 0/2, deputShip 2/12, emptyShip 1/8, kazimierzShip 0/16, kjeragShip 0/22, miraShip 1/11, preciShip 0/12, sargonShip 0/8, siracusaShip 1/117, soloShip 1/20, steadShip 0/6, suntShip 1/6, swiftShip 1/36",115,35,0,121] + "ai_0": [1,17,12,0,0,6,8,"d9f5c26d",210,"arcaneShip 0/2, deputShip 2/12, emptyShip 1/8, kazimierzShip 0/16, kjeragShip 0/22, miraShip 1/11, preciShip 0/12, sargonShip 0/8, siracusaShip 1/117, soloShip 1/20, steadShip 0/6, suntShip 1/6, swiftShip 1/36",115,35,0,121] } ], "players": { @@ -152,7 +152,7 @@ "title": {"id":"comment_2","name":"不朽盟约","picId":"comment_icon_2","text":"激活的盟约层数总和最高"}, "trophies": 0, "reward": 320, - "stats": {"activatedLayers":270,"bossDamage":323250,"dmgDealt":2309910,"gold":131,"itemsEquipped":23,"kills":385,"leaks":9,"lpLost":9,"merges":5,"perfectRounds":12,"refreshes":15}, + "stats": {"activatedLayers":270,"bossDamage":321387,"dmgDealt":2293260,"gold":131,"itemsEquipped":23,"kills":384,"leaks":10,"lpLost":10,"merges":5,"perfectRounds":12,"refreshes":15}, "lineup": ["3_20_b@12,5[3_06_e_a+4_08_e_a]","2_14_a@12,7","5_20_b@11,5[6_09_e_a+5_02_e_b]","5_10_a@11,8[4_07_e_a+3_08_e_b]","6_11_a@10,3[4_12_e_a+5_02_e_b]","3_18_a@10,8[2_04_e_b+4_05_e_b]","1_08_a@9,4[1_01_e_a+1_02_e_a]","6_19_a@9,5[4_04_e_a+4_10_e_a]"], "bonds": ["arcaneShip 0/2","deputShip 1/14","emptyShip 1/10","kazimierzShip 0/16","kjeragShip 1/24","maniShip 1/2","miraShip 1/13","preciShip 0/12","sargonShip 0/8","siracusaShip 1/139","soloShip 1/22","steadShip 0/6","suntShip 1/8","swiftShip 1/38"] } @@ -312,8 +312,8 @@ "combat": "client", "boost": null, "setup": {"stageId":"act1autochess_m03","bossId":"boss_5","hiddenBossId":"boss_10","factions":["ELEMENT","DOT","REFLECTION"]}, - "end": {"victory":false,"roundsPassed":12,"hiddenReached":false,"hiddenCleared":false,"reason":"eliminated","teamLp":null,"bossPoolLeft":null,"virtualMs":101900}, - "rng": {"setup":25,"shop":213,"waves":0,"draft":42,"bots":8170,"meta":86}, + "end": {"victory":false,"roundsPassed":13,"hiddenReached":false,"hiddenCleared":false,"reason":"defeat","teamLp":0,"bossPoolLeft":368784,"virtualMs":107800}, + "rng": {"setup":25,"shop":229,"waves":0,"draft":42,"bots":8402,"meta":87}, "errors": {"engine":0,"logged":0,"sim":0,"dispatcher":0}, "rounds": [ {"round":1,"ai_0":[1,29,4,0,0,1,2,"e4d89f1f",0,"",5,5,0,4]}, @@ -357,23 +357,23 @@ }, { "round": 13, - "ai_0": [0,0,14,0,0,6,0,"811c9dc5",0,"arcaneShip 0/30, kazimierzShip 0/36, kjeragShip 0/34, lateranoShip 0/3, preciShip 0/30, sargonShip 0/2, steadShip 0/8, swiftShip 0/30",21,29,8,127] + "ai_0": [1,1,14,0,0,6,8,"6670dd28",138,"arcaneShip 0/30, kazimierzShip 1/36, kjeragShip 1/34, lateranoShip 0/3, preciShip 2/30, sargonShip 0/2, soloShip 1/0, steadShip 1/8, suntShip 1/0, swiftShip 1/30, visiShip 1/0",22,29,7,127] } ], "players": { "ai_0": { - "alive": false, + "alive": true, "victory": false, - "roundsPassed": 12, - "eliminatedRound": 13, + "roundsPassed": 13, + "eliminatedRound": null, "lp": 0, "bandId": "band_ducklord", - "title": {"id":"comment_4","name":"精英云集","picId":"comment_icon_4","text":"晋升精锐次数最多"}, + "title": {"id":"comment_2","name":"不朽盟约","picId":"comment_icon_2","text":"激活的盟约层数总和最高"}, "trophies": 0, - "reward": 298, - "stats": {"activatedLayers":0,"bossDamage":0,"dmgDealt":1907013,"gold":127,"itemsEquipped":8,"kills":254,"leaks":29,"lpLost":29,"merges":5,"perfectRounds":8,"refreshes":17}, - "lineup": [], - "bonds": ["arcaneShip 0/30","kazimierzShip 0/36","kjeragShip 0/34","lateranoShip 0/3","preciShip 0/30","sargonShip 0/2","steadShip 0/8","swiftShip 0/30"] + "reward": 340, + "stats": {"activatedLayers":138,"bossDamage":411216,"dmgDealt":2602534,"gold":139,"itemsEquipped":11,"kills":269,"leaks":28,"lpLost":28,"merges":5,"perfectRounds":8,"refreshes":19}, + "lineup": ["3_17_a@12,6","6_12_a@12,7","4_20_a@11,8[2_01_e_a+3_01_e_a]","3_11_a@10,3","1_02_b@10,5[4_02_e_a]","1_19_b@10,8","6_19_a@9,5[4_05_e_a+4_08_e_a]","2_18_a@9,8[4_11_e_a+1_05_e_b]"], + "bonds": ["arcaneShip 0/30","kazimierzShip 1/36","kjeragShip 1/34","lateranoShip 0/3","preciShip 2/30","sargonShip 0/2","soloShip 1/0","steadShip 1/8","suntShip 1/0","swiftShip 1/30","visiShip 1/0"] } } }, @@ -395,7 +395,7 @@ {"round":2,"ai_0":[1,27,5,0,0,1,4,"eee78fe4",0,"kazimierzShip 0/2, sargonShip 0/4, soloShip 1/0, swiftShip 0/2",10,10,0,9]}, {"round":3,"ai_0":[1,27,6,0,1,1,6,"d5f9d956",1,"kazimierzShip 0/2, sargonShip 0/8, soloShip 1/1, swiftShip 0/2",11,9,0,15]}, {"round":4,"ai_0":[1,27,8,0,1,2,8,"247bff16",4,"kazimierzShip 0/4, kjeragShip 0/2, sargonShip 0/8, soloShip 1/1, steadShip 1/3, swiftShip 0/4",11,9,0,23]}, - {"round":5,"ai_0":[1,27,9,0,0,3,8,"5fdaa5e6",5,"kazimierzShip 0/4, kjeragShip 0/2, sargonShip 0/8, soloShip 1/1, steadShip 1/4, swiftShip 0/4",21,21,0,31]}, + {"round":5,"ai_0":[1,27,9,0,0,3,8,"4e7476b8",5,"kazimierzShip 0/4, kjeragShip 0/2, sargonShip 0/8, soloShip 1/1, steadShip 1/4, swiftShip 0/4",21,21,0,31]}, { "round": 6, "ai_0": [1,27,9,0,0,3,8,"3bdfd652",23,"deputShip 1/2, kazimierzShip 0/4, kjeragShip 0/2, sargonShip 0/8, siracusaShip 1/8, soloShip 1/3, steadShip 1/10, swiftShip 0/4",56,17,0,40] @@ -436,7 +436,7 @@ "title": {"id":"comment_4","name":"精英云集","picId":"comment_icon_4","text":"晋升精锐次数最多"}, "trophies": 0, "reward": 255, - "stats": {"activatedLayers":0,"bossDamage":0,"dmgDealt":1683862,"gold":111,"itemsEquipped":13,"kills":235,"leaks":49,"lpLost":35,"merges":2,"perfectRounds":8,"refreshes":6}, + "stats": {"activatedLayers":0,"bossDamage":0,"dmgDealt":1678545,"gold":111,"itemsEquipped":13,"kills":235,"leaks":49,"lpLost":35,"merges":2,"perfectRounds":8,"refreshes":6}, "lineup": [], "bonds": ["arcaneShip 0/18","deputShip 0/14","emptyShip 0/10","kazimierzShip 0/8","kjeragShip 0/27","preciShip 0/23","sargonShip 0/8","siracusaShip 0/69","soloShip 0/15","steadShip 0/17","swiftShip 0/8"] } @@ -469,23 +469,23 @@ }, { "round": 6, - "ai_0": [1,17,9,0,2,3,8,"12a1dcbb",16,"arcaneShip 0/4, kazimierzShip 0/2, kjeragShip 0/4, lateranoShip 0/3, preciShip 1/4, sargonShip 0/2, steadShip 2/4, swiftShip 1/8",17,21,4,38] + "ai_0": [1,19,9,0,2,3,8,"12a1dcbb",16,"arcaneShip 0/4, kazimierzShip 0/2, kjeragShip 0/4, lateranoShip 0/3, preciShip 1/4, sargonShip 0/2, steadShip 2/4, swiftShip 1/8",19,21,2,38] }, { "round": 7, - "ai_0": [1,16,12,0,2,4,8,"932a36c9",18,"arcaneShip 0/4, kazimierzShip 1/2, kjeragShip 0/4, lateranoShip 0/3, preciShip 1/4, sargonShip 0/2, soloShip 1/0, steadShip 2/4, swiftShip 1/8",27,28,1,50] + "ai_0": [1,18,12,0,2,4,8,"932a36c9",18,"arcaneShip 0/4, kazimierzShip 1/2, kjeragShip 0/4, lateranoShip 0/3, preciShip 1/4, sargonShip 0/2, soloShip 1/0, steadShip 2/4, swiftShip 1/8",27,28,1,50] }, { "round": 8, - "ai_0": [1,15,13,0,0,4,8,"c470c9bb",26,"arcaneShip 1/8, kazimierzShip 1/2, kjeragShip 0/8, lateranoShip 0/3, preciShip 0/4, sargonShip 0/2, soloShip 1/0, steadShip 2/8, swiftShip 1/8",19,20,1,62] + "ai_0": [1,17,13,0,0,4,8,"c470c9bb",26,"arcaneShip 1/8, kazimierzShip 1/2, kjeragShip 0/8, lateranoShip 0/3, preciShip 0/4, sargonShip 0/2, soloShip 1/0, steadShip 2/8, swiftShip 1/8",19,20,1,62] }, { "round": 9, - "ai_0": [1,5,12,0,1,4,8,"096b1e6c",62,"arcaneShip 1/18, kazimierzShip 1/2, kjeragShip 1/13, lateranoShip 0/3, preciShip 1/13, sargonShip 0/2, soloShip 1/0, steadShip 1/8, suntShip 1/0, swiftShip 1/8",17,32,15,72] + "ai_0": [1,7,12,0,1,4,8,"096b1e6c",62,"arcaneShip 1/18, kazimierzShip 1/2, kjeragShip 1/13, lateranoShip 0/3, preciShip 1/13, sargonShip 0/2, soloShip 1/0, steadShip 1/8, suntShip 1/0, swiftShip 1/8",17,32,15,72] }, { "round": 10, - "ai_0": [1,2,13,0,0,5,8,"568e11b8",62,"arcaneShip 1/18, kazimierzShip 1/6, kjeragShip 1/13, lateranoShip 0/3, preciShip 2/17, sargonShip 0/2, soloShip 1/0, steadShip 1/8, suntShip 1/0, swiftShip 0/8",27,30,3,86] + "ai_0": [1,4,13,0,0,5,8,"568e11b8",62,"arcaneShip 1/18, kazimierzShip 1/6, kjeragShip 1/13, lateranoShip 0/3, preciShip 2/17, sargonShip 0/2, soloShip 1/0, steadShip 1/8, suntShip 1/0, swiftShip 0/8",27,30,3,86] }, { "round": 11, @@ -503,7 +503,7 @@ "title": {"id":"comment_4","name":"精英云集","picId":"comment_icon_4","text":"晋升精锐次数最多"}, "trophies": 0, "reward": 213, - "stats": {"activatedLayers":0,"bossDamage":0,"dmgDealt":1690078,"gold":98,"itemsEquipped":6,"kills":166,"leaks":43,"lpLost":37,"merges":3,"perfectRounds":4,"refreshes":10}, + "stats": {"activatedLayers":0,"bossDamage":0,"dmgDealt":1692524,"gold":98,"itemsEquipped":6,"kills":168,"leaks":41,"lpLost":35,"merges":3,"perfectRounds":4,"refreshes":10}, "lineup": [], "bonds": ["arcaneShip 0/18","kazimierzShip 0/10","kjeragShip 0/18","lateranoShip 0/3","preciShip 0/26","raidShip 0/24","sargonShip 0/2","steadShip 0/8","swiftShip 0/8"] } @@ -519,7 +519,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":62,"bossPoolLeft":0,"virtualMs":116900}, + "end": {"victory":true,"roundsPassed":14,"hiddenReached":false,"hiddenCleared":false,"reason":"victory","teamLp":59,"bossPoolLeft":0,"virtualMs":116900}, "rng": {"setup":25,"shop":449,"waves":0,"draft":40,"bots":21637,"meta":8}, "errors": {"engine":0,"logged":0,"sim":0,"dispatcher":0}, "rounds": [ @@ -581,12 +581,12 @@ { "round": 12, "ai_0": [1,45,14,0,0,6,8,"dd5db63e",168,"arcaneShip 2/46, miraShip 1/6, preciShip 0/10, sargonShip 0/10, siracusaShip 1/68, skillfulShip 1/18, soloShip 1/6, suntShip 1/0, swiftShip 1/24",105,32,0,113], - "ai_1": [1,28,12,0,0,6,8,"992eaa0c",157,"arcaneShip 2/28, kazimierzShip 1/30, kjeragShip 0/8, lateranoShip 0/8, preciShip 1/45, sargonShip 0/10, steadShip 1/0, suntShip 1/0, swiftShip 1/54",103,32,2,114] + "ai_1": [1,28,12,0,0,6,8,"992eaa0c",157,"arcaneShip 2/28, kazimierzShip 1/30, kjeragShip 0/8, lateranoShip 0/8, preciShip 1/45, sargonShip 0/10, steadShip 1/0, suntShip 1/0, swiftShip 1/54",104,32,1,114] }, { "round": 13, "ai_0": [1,38,12,0,2,6,8,"d0654a7f",214,"arcaneShip 2/70, miraShip 1/12, preciShip 0/10, sargonShip 0/10, siracusaShip 1/98, skillfulShip 1/28, soloShip 1/6, suntShip 1/0, swiftShip 0/32",27,34,7,125], - "ai_1": [1,24,12,0,0,6,8,"dc3bc59a",189,"arcaneShip 2/34, kazimierzShip 1/38, kjeragShip 0/8, lateranoShip 0/8, preciShip 1/50, sargonShip 0/10, steadShip 1/0, suntShip 1/0, swiftShip 1/67",30,34,4,125] + "ai_1": [1,21,12,0,0,6,8,"dc3bc59a",189,"arcaneShip 2/34, kazimierzShip 1/38, kjeragShip 0/8, lateranoShip 0/8, preciShip 1/50, sargonShip 0/10, steadShip 1/0, suntShip 1/0, swiftShip 1/67",27,34,7,125] } ], "players": { @@ -600,7 +600,7 @@ "title": {"id":"comment_2","name":"不朽盟约","picId":"comment_icon_2","text":"激活的盟约层数总和最高"}, "trophies": 4, "reward": 400, - "stats": {"activatedLayers":250,"bossDamage":511134,"dmgDealt":3170636,"gold":139,"itemsEquipped":12,"kills":335,"leaks":7,"lpLost":7,"merges":5,"perfectRounds":12,"refreshes":23}, + "stats": {"activatedLayers":250,"bossDamage":479924,"dmgDealt":3139636,"gold":139,"itemsEquipped":12,"kills":333,"leaks":7,"lpLost":7,"merges":5,"perfectRounds":12,"refreshes":23}, "lineup": ["3_19_b@11,7[2_04_e_b]","5_12_a@11,8","4_10_a@10,5[1_02_e_b+2_01_e_a]","6_06_a@9,4","1_08_b@9,5","6_16_a@9,7","5_20_a@9,8[3_05_e_a+3_02_e_b]","3_13_b@9,9"], "bonds": ["arcaneShip 2/86","miraShip 1/12","preciShip 0/10","sargonShip 0/10","siracusaShip 1/110","skillfulShip 1/36","soloShip 1/6","suntShip 1/0","swiftShip 0/32"] }, @@ -609,12 +609,12 @@ "victory": true, "roundsPassed": 14, "eliminatedRound": null, - "lp": 24, + "lp": 21, "bandId": "band_dusk", "title": {"id":"comment_1","name":"卫戍之星","picId":"comment_icon_1","text":"对敌方领袖造成伤害最高(仅胜利时)"}, "trophies": 4, "reward": 400, - "stats": {"activatedLayers":199,"bossDamage":906366,"dmgDealt":3780569,"gold":137,"itemsEquipped":18,"kills":323,"leaks":6,"lpLost":4,"merges":5,"perfectRounds":11,"refreshes":13}, + "stats": {"activatedLayers":199,"bossDamage":937576,"dmgDealt":3727447,"gold":137,"itemsEquipped":18,"kills":321,"leaks":8,"lpLost":7,"merges":5,"perfectRounds":11,"refreshes":13}, "lineup": ["4_20_a@12,8[3_06_e_a]","1_17_b@11,7[3_08_e_a]","4_02_b@11,8[3_02_e_a+4_03_e_b]","4_01_b@10,7[4_04_e_a+1_02_e_a]","6_17_a@10,8[4_06_e_a+4_08_e_a]","6_19_a@9,4[1_05_e_a+1_01_e_a]","4_14_a@9,8","5_07_a@9,9"], "bonds": ["arcaneShip 2/34","kazimierzShip 1/38","kjeragShip 0/8","lateranoShip 0/8","preciShip 2/55","raidShip 1/0","sargonShip 0/10","suntShip 1/0","swiftShip 1/72"] } @@ -691,7 +691,7 @@ }, { "round": 12, - "ai_0": [1,3,13,0,0,6,8,"a701cd86",125,"kazimierzShip 1/29, kjeragShip 0/2, raidShip 1/49, skillfulShip 0/9, soloShip 1/3, steadShip 2/18, suntShip 1/0, swiftShip 1/26, visiShip 1/0",31,50,19,114], + "ai_0": [1,3,13,0,0,6,8,"a701cd86",125,"kazimierzShip 1/29, kjeragShip 0/2, raidShip 1/49, skillfulShip 0/9, soloShip 1/3, steadShip 2/18, suntShip 1/0, swiftShip 1/26, visiShip 1/0",32,50,18,114], "ai_1": [1,2,13,0,0,6,8,"62b855c3",71,"arcaneShip 0/2, kazimierzShip 0/2, preciShip 1/63, sargonShip 0/4, siracusaShip 2/8, skillfulShip 0/6, soloShip 1/0, suntShip 1/0, swiftShip 0/23",23,50,27,114] }, { @@ -711,7 +711,7 @@ "title": {"id":"comment_4","name":"精英云集","picId":"comment_icon_4","text":"晋升精锐次数最多"}, "trophies": 3, "reward": 298, - "stats": {"activatedLayers":0,"bossDamage":0,"dmgDealt":2920409,"gold":127,"itemsEquipped":9,"kills":226,"leaks":65,"lpLost":32,"merges":4,"perfectRounds":9,"refreshes":12}, + "stats": {"activatedLayers":0,"bossDamage":0,"dmgDealt":2909987,"gold":127,"itemsEquipped":9,"kills":227,"leaks":64,"lpLost":32,"merges":4,"perfectRounds":9,"refreshes":12}, "lineup": [], "bonds": ["kazimierzShip 0/45","kjeragShip 0/10","miraShip 0/7","raidShip 0/49","skillfulShip 0/9","soloShip 0/3","steadShip 0/18","swiftShip 0/46","yanShip 0/6"] }, @@ -772,7 +772,7 @@ { "round": 5, "ai_0": [1,23,10,0,0,3,8,"d8f34b72",27,"deputShip 1/12, kazimierzShip 0/4, skillfulShip 1/7, swiftShip 1/8",53,16,0,33], - "ai_1": [1,45,9,0,0,3,8,"1cdacd0e",21,"deputShip 1/4, kazimierzShip 0/7, swiftShip 1/17",47,16,6,32], + "ai_1": [1,45,9,0,0,3,8,"df2ac198",21,"deputShip 1/4, kazimierzShip 0/7, swiftShip 1/17",43,16,10,32], "ai_2": [1,27,9,0,0,3,8,"b7b66774",14,"siracusaShip 1/10, soloShip 1/4, yanShip 0/1",52,16,1,31] }, { @@ -789,13 +789,13 @@ }, { "round": 8, - "ai_0": [1,13,11,0,1,4,8,"3c234f18",78,"deputShip 2/24, kazimierzShip 0/4, lateranoShip 1/4, skillfulShip 1/26, soloShip 1/8, swiftShip 1/16",7,20,13,60], + "ai_0": [1,13,11,0,1,4,8,"3c234f18",78,"deputShip 2/24, kazimierzShip 0/4, lateranoShip 1/4, skillfulShip 1/26, soloShip 1/8, swiftShip 1/16",8,20,12,60], "ai_1": [1,35,11,0,0,4,8,"e467c2a4",77,"deputShip 2/16, kazimierzShip 0/7, siracusaShip 1/10, skillfulShip 1/4, soloShip 0/8, suntShip 1/12, swiftShip 1/35",6,20,14,60], "ai_2": [1,17,11,0,0,4,8,"e7b660e2",62,"siracusaShip 1/52, soloShip 1/4, swiftShip 1/6, yanShip 0/1",9,20,11,58] }, { "round": 9, - "ai_0": [1,3,13,0,2,4,8,"c27d4a4b",110,"deputShip 2/28, kazimierzShip 0/4, lateranoShip 1/11, miraShip 1/4, skillfulShip 1/35, soloShip 1/12, swiftShip 1/20",35,22,12,73], + "ai_0": [1,3,13,0,2,4,8,"c27d4a4b",110,"deputShip 2/28, kazimierzShip 0/4, lateranoShip 1/11, miraShip 1/4, skillfulShip 1/35, soloShip 1/12, swiftShip 1/20",34,22,10,73], "ai_1": [1,26,12,0,0,4,8,"ab750cbb",82,"deputShip 1/18, kazimierzShip 0/7, raidShip 1/4, siracusaShip 1/20, skillfulShip 1/8, soloShip 1/10, steadShip 1/8, suntShip 1/14, swiftShip 0/37",44,22,9,72], "ai_2": [1,7,12,0,4,4,8,"335cbc51",78,"siracusaShip 1/68, soloShip 1/4, suntShip 1/0, swiftShip 1/6, yanShip 0/1",36,22,16,69] }, @@ -829,7 +829,7 @@ "title": {"id":"comment_6","name":"挥金如土","picId":"comment_icon_6","text":"消耗资金最多"}, "trophies": 2, "reward": 191, - "stats": {"activatedLayers":0,"bossDamage":0,"dmgDealt":1401967,"gold":87,"itemsEquipped":4,"kills":221,"leaks":37,"lpLost":30,"merges":1,"perfectRounds":6,"refreshes":17}, + "stats": {"activatedLayers":0,"bossDamage":0,"dmgDealt":1390676,"gold":87,"itemsEquipped":4,"kills":225,"leaks":34,"lpLost":30,"merges":1,"perfectRounds":6,"refreshes":17}, "lineup": [], "bonds": ["deputShip 0/33","kazimierzShip 0/4","lateranoShip 0/16","miraShip 0/6","siracusaShip 0/10","skillfulShip 0/45","soloShip 0/12","swiftShip 0/28"] }, @@ -843,7 +843,7 @@ "title": {"id":"comment_4","name":"精英云集","picId":"comment_icon_4","text":"晋升精锐次数最多"}, "trophies": 2, "reward": 255, - "stats": {"activatedLayers":0,"bossDamage":0,"dmgDealt":2425484,"gold":107,"itemsEquipped":9,"kills":246,"leaks":104,"lpLost":49,"merges":4,"perfectRounds":4,"refreshes":18}, + "stats": {"activatedLayers":0,"bossDamage":0,"dmgDealt":2425486,"gold":107,"itemsEquipped":9,"kills":242,"leaks":108,"lpLost":49,"merges":4,"perfectRounds":4,"refreshes":18}, "lineup": [], "bonds": ["deputShip 0/30","kazimierzShip 0/7","raidShip 0/12","siracusaShip 0/41","skillfulShip 0/25","soloShip 0/16","steadShip 0/28","suntShip 0/20","swiftShip 0/37"] }, @@ -1044,14 +1044,14 @@ "rounds": [ { "round": 1, - "ai_0": [1,45,4,0,0,1,2,"cf5de4b4",0,"kazimierzShip 0/2, swiftShip 0/2",5,5,0,4], - "ai_1": [1,26,4,0,0,1,2,"59374416",0,"kazimierzShip 0/2, sargonShip 0/2, swiftShip 0/2",5,5,0,4], + "ai_0": [1,45,4,0,0,1,2,"79943064",0,"kazimierzShip 0/2, swiftShip 0/2",5,5,0,4], + "ai_1": [1,26,4,0,0,1,2,"704ffa4d",0,"kazimierzShip 0/2, sargonShip 0/2, swiftShip 0/2",5,5,0,4], "ai_2": [1,28,4,0,0,1,2,"eb0c1458",0,"deputShip 0/2, victoriaShip 0/2",2,5,3,4], "ai_3": [1,26,4,0,0,1,2,"ba03322a",0,"soloShip 1/0",5,5,0,4] }, { "round": 2, - "ai_0": [1,45,5,0,0,1,4,"62de86cd",4,"kazimierzShip 0/4, swiftShip 1/4",8,8,0,9], + "ai_0": [1,45,5,0,0,1,4,"e8a46594",4,"kazimierzShip 0/4, swiftShip 1/4",8,8,0,9], "ai_1": [1,26,5,0,0,1,4,"a2ec5116",5,"kazimierzShip 0/5, sargonShip 0/2, soloShip 1/0, swiftShip 1/5",8,8,0,9], "ai_2": [1,28,5,0,0,1,3,"70d74d61",0,"deputShip 0/4, kjeragShip 0/2, soloShip 1/0, victoriaShip 0/6",7,8,1,9], "ai_3": [1,26,5,0,0,1,4,"9e98d014",0,"sargonShip 0/2, soloShip 1/0",8,8,0,9] @@ -1073,64 +1073,64 @@ { "round": 5, "ai_0": [1,35,9,0,0,3,8,"62c03eb5",8,"arcaneShip 0/8, kazimierzShip 0/4, preciShip 0/8, swiftShip 1/8",4,17,13,32], - "ai_1": [1,16,9,0,0,3,8,"f7768b7d",8,"arcaneShip 1/2, kazimierzShip 0/5, kjeragShip 0/2, preciShip 0/2, sargonShip 0/4, soloShip 1/0, steadShip 0/2, swiftShip 1/6",6,17,11,30], - "ai_2": [1,19,11,0,0,3,8,"d90f1f12",24,"deputShip 1/10, kazimierzShip 0/2, kjeragShip 0/10, siracusaShip 0/4, skillfulShip 0/2, soloShip 1/8, steadShip 0/4, swiftShip 1/6, victoriaShip 0/10, yanShip 0/2",8,17,9,32], + "ai_1": [1,16,9,0,0,3,8,"f7768b7d",8,"arcaneShip 1/2, kazimierzShip 0/5, kjeragShip 0/2, preciShip 0/2, sargonShip 0/4, soloShip 1/0, steadShip 0/2, swiftShip 1/6",5,17,12,30], + "ai_2": [1,20,11,0,0,3,8,"246c804d",22,"deputShip 1/10, kazimierzShip 0/2, kjeragShip 0/12, siracusaShip 0/4, soloShip 1/8, steadShip 0/4, swiftShip 1/4, victoriaShip 0/12, yanShip 0/2",9,17,8,32], "ai_3": [1,16,8,0,0,3,8,"080ecfab",3,"arcaneShip 0/2, preciShip 0/2, sargonShip 0/2, siracusaShip 1/0, soloShip 1/3",3,17,14,31] }, { "round": 6, "ai_0": [1,35,9,0,0,3,8,"844b219a",33,"arcaneShip 0/8, kazimierzShip 0/4, kjeragShip 0/5, preciShip 2/20, suntShip 1/0, swiftShip 1/13",14,14,0,41], "ai_1": [1,16,9,0,0,3,8,"6faf7f5a",34,"arcaneShip 0/2, deputShip 1/2, kazimierzShip 1/13, kjeragShip 0/2, preciShip 0/2, sargonShip 0/4, siracusaShip 0/6, soloShip 1/2, steadShip 0/2, swiftShip 1/17",13,14,1,40], - "ai_2": [1,19,9,0,0,3,8,"b0c01f2d",55,"deputShip 1/12, egirShip 0/2, kazimierzShip 0/4, kjeragShip 0/10, raidShip 0/2, siracusaShip 0/4, skillfulShip 0/2, soloShip 1/12, steadShip 2/18, swiftShip 1/13, victoriaShip 0/10, yanShip 0/2",14,14,0,41], + "ai_2": [1,20,9,0,0,3,8,"b0c01f2d",53,"deputShip 1/13, egirShip 0/2, kazimierzShip 0/4, kjeragShip 0/12, raidShip 0/2, siracusaShip 0/4, soloShip 1/12, steadShip 2/18, swiftShip 1/10, victoriaShip 0/12, yanShip 0/2",14,14,0,41], "ai_3": [1,16,9,0,0,3,8,"06355ccd",24,"arcaneShip 0/2, deputShip 1/2, preciShip 0/2, sargonShip 1/9, siracusaShip 1/8, soloShip 1/5",6,14,8,41] }, { "round": 7, - "ai_0": [1,25,10,0,0,4,8,"8510e7b4",45,"arcaneShip 0/8, kazimierzShip 0/4, kjeragShip 0/5, preciShip 2/27, suntShip 1/0, swiftShip 1/18",8,21,13,51], + "ai_0": [1,25,10,0,0,4,8,"8510e7b4",45,"arcaneShip 0/8, kazimierzShip 0/4, kjeragShip 0/5, preciShip 2/27, suntShip 1/0, swiftShip 1/18",7,21,14,51], "ai_1": [1,6,10,0,0,4,8,"017dac16",57,"arcaneShip 1/4, deputShip 1/4, kazimierzShip 1/27, kjeragShip 0/2, preciShip 0/2, sargonShip 0/4, siracusaShip 0/6, soloShip 0/2, steadShip 0/2, swiftShip 1/22",4,21,17,49], - "ai_2": [1,19,10,0,0,4,8,"0c6b8294",83,"deputShip 1/14, egirShip 0/4, kazimierzShip 0/4, kjeragShip 0/12, raidShip 0/4, siracusaShip 0/4, skillfulShip 0/4, soloShip 1/14, steadShip 2/36, swiftShip 1/19, victoriaShip 0/10, yanShip 0/2",21,21,0,52], + "ai_2": [1,20,10,0,0,4,8,"0c6b8294",80,"deputShip 1/15, egirShip 0/4, kazimierzShip 0/4, kjeragShip 0/14, raidShip 0/4, siracusaShip 0/4, skillfulShip 0/2, soloShip 1/14, steadShip 2/35, swiftShip 1/16, victoriaShip 0/12, yanShip 0/2",21,21,0,52], "ai_3": [1,6,10,0,0,4,8,"1968962a",25,"arcaneShip 0/2, deputShip 1/4, preciShip 0/2, sargonShip 0/9, siracusaShip 1/12, skillfulShip 1/2, soloShip 1/7",2,21,19,52] }, { "round": 8, "ai_0": [1,21,11,0,0,4,8,"8a1b740d",78,"arcaneShip 1/10, deputShip 1/2, kazimierzShip 0/7, kjeragShip 0/5, preciShip 2/36, suntShip 1/2, swiftShip 1/28",5,9,4,61], "ai_1": [0,0,11,0,0,4,0,"811c9dc5",0,"arcaneShip 0/4, deputShip 0/8, emptyShip 0/4, kazimierzShip 0/38, kjeragShip 0/2, preciShip 0/2, sargonShip 0/8, siracusaShip 0/6, soloShip 0/6, steadShip 0/2, swiftShip 0/22",2,9,7,60], - "ai_2": [1,13,11,0,0,4,8,"4075ce4e",91,"arcaneShip 2/9, deputShip 1/18, egirShip 0/6, kazimierzShip 0/4, kjeragShip 0/12, lateranoShip 0/2, raidShip 0/4, siracusaShip 0/4, skillfulShip 0/4, soloShip 1/18, steadShip 1/46, swiftShip 0/21, victoriaShip 0/10, yanShip 0/2",3,9,6,63], + "ai_2": [1,14,11,0,0,4,8,"4075ce4e",91,"arcaneShip 2/9, deputShip 1/19, egirShip 0/6, kazimierzShip 0/4, kjeragShip 0/14, lateranoShip 0/2, raidShip 0/4, siracusaShip 0/4, skillfulShip 0/2, soloShip 1/18, steadShip 1/45, swiftShip 0/18, victoriaShip 0/12, yanShip 0/2",3,9,6,63], "ai_3": [0,0,11,0,0,4,0,"811c9dc5",0,"arcaneShip 0/2, deputShip 0/6, preciShip 0/2, sargonShip 0/9, siracusaShip 0/26, skillfulShip 0/4, soloShip 0/9, swiftShip 0/6",0,9,9,63] }, { "round": 9, "ai_0": [1,21,12,0,1,4,8,"82251d49",167,"arcaneShip 2/16, deputShip 0/2, indomShip 1/12, kazimierzShip 1/37, kjeragShip 0/5, preciShip 2/67, suntShip 1/2, swiftShip 1/33",8,19,11,73], "ai_1": [0,0,0,0,0,4,0,"811c9dc5",0,"arcaneShip 0/4, deputShip 0/8, emptyShip 0/4, kazimierzShip 0/38, kjeragShip 0/2, preciShip 0/2, sargonShip 0/8, siracusaShip 0/6, soloShip 0/6, steadShip 0/2, swiftShip 0/22",null,null,null,60], - "ai_2": [1,13,12,0,1,4,8,"33626d88",142,"arcaneShip 2/18, deputShip 1/22, egirShip 0/8, kazimierzShip 0/4, kjeragShip 0/12, lateranoShip 0/4, raidShip 0/4, siracusaShip 0/4, skillfulShip 1/6, soloShip 1/22, steadShip 1/58, swiftShip 0/21, victoriaShip 1/16, yanShip 0/2",19,19,0,76], + "ai_2": [1,14,12,0,1,4,8,"33626d88",141,"arcaneShip 2/18, deputShip 1/23, egirShip 0/8, kazimierzShip 0/4, kjeragShip 0/14, lateranoShip 0/4, raidShip 0/4, siracusaShip 0/4, skillfulShip 1/4, soloShip 1/22, steadShip 1/56, swiftShip 0/18, victoriaShip 1/18, yanShip 0/2",19,19,0,76], "ai_3": [0,0,0,0,0,4,0,"811c9dc5",0,"arcaneShip 0/2, deputShip 0/6, preciShip 0/2, sargonShip 0/9, siracusaShip 0/26, skillfulShip 0/4, soloShip 0/9, swiftShip 0/6",null,null,null,63] }, { "round": 10, - "ai_0": [1,21,13,0,2,5,8,"a8c1652a",199,"arcaneShip 2/16, deputShip 0/2, indomShip 1/22, kazimierzShip 1/45, kjeragShip 0/5, preciShip 2/76, suntShip 1/2, swiftShip 1/38",13,25,12,86], + "ai_0": [1,21,13,0,2,5,8,"a8c1652a",219,"arcaneShip 2/16, deputShip 0/2, indomShip 1/24, kazimierzShip 1/55, kjeragShip 0/5, preciShip 2/84, suntShip 1/2, swiftShip 1/38",15,25,10,86], "ai_1": [0,0,0,0,0,4,0,"811c9dc5",0,"arcaneShip 0/4, deputShip 0/8, emptyShip 0/4, kazimierzShip 0/38, kjeragShip 0/2, preciShip 0/2, sargonShip 0/8, siracusaShip 0/6, soloShip 0/6, steadShip 0/2, swiftShip 0/22",null,null,null,60], - "ai_2": [1,13,13,0,2,5,8,"b6041c07",181,"arcaneShip 2/27, deputShip 1/26, egirShip 0/10, kazimierzShip 0/4, kjeragShip 0/12, lateranoShip 0/4, raidShip 0/4, siracusaShip 0/4, skillfulShip 1/10, soloShip 1/24, steadShip 1/68, swiftShip 0/21, victoriaShip 1/26, yanShip 0/2",25,25,0,88], + "ai_2": [1,14,13,0,2,5,8,"b6041c07",180,"arcaneShip 2/27, deputShip 1/27, egirShip 0/10, kazimierzShip 0/4, kjeragShip 0/14, lateranoShip 0/4, raidShip 0/4, siracusaShip 0/4, skillfulShip 1/8, soloShip 1/24, steadShip 1/66, swiftShip 0/18, victoriaShip 1/28, yanShip 0/2",25,25,0,88], "ai_3": [0,0,0,0,0,4,0,"811c9dc5",0,"arcaneShip 0/2, deputShip 0/6, preciShip 0/2, sargonShip 0/9, siracusaShip 0/26, skillfulShip 0/4, soloShip 0/9, swiftShip 0/6",null,null,null,63] }, { "round": 11, - "ai_0": [1,11,14,0,3,5,8,"7de6a28e",265,"arcaneShip 2/22, deputShip 0/2, indomShip 0/22, kazimierzShip 1/76, kjeragShip 0/16, preciShip 2/94, suntShip 1/2, swiftShip 1/71",9,25,16,101], + "ai_0": [1,11,14,0,3,5,8,"7de6a28e",283,"arcaneShip 2/22, deputShip 0/2, indomShip 0/24, kazimierzShip 1/86, kjeragShip 0/16, preciShip 2/102, suntShip 1/2, swiftShip 1/71",10,25,15,101], "ai_1": [0,0,0,0,0,4,0,"811c9dc5",0,"arcaneShip 0/4, deputShip 0/8, emptyShip 0/4, kazimierzShip 0/38, kjeragShip 0/2, preciShip 0/2, sargonShip 0/8, siracusaShip 0/6, soloShip 0/6, steadShip 0/2, swiftShip 0/22",null,null,null,60], - "ai_2": [1,7,14,0,1,5,8,"e9b19bda",237,"arcaneShip 1/37, deputShip 2/32, egirShip 0/10, kazimierzShip 0/4, kjeragShip 0/12, lateranoShip 0/4, raidShip 0/4, siracusaShip 0/4, skillfulShip 1/16, soloShip 1/30, steadShip 1/82, suntShip 1/4, swiftShip 0/21, victoriaShip 1/36, yanShip 0/4",19,25,6,102], + "ai_2": [1,8,14,0,1,5,8,"e9b19bda",236,"arcaneShip 1/37, deputShip 2/33, egirShip 0/10, kazimierzShip 0/4, kjeragShip 0/14, lateranoShip 0/4, raidShip 0/4, siracusaShip 0/4, skillfulShip 1/14, soloShip 1/30, steadShip 1/80, suntShip 1/4, swiftShip 0/18, victoriaShip 1/38, yanShip 0/4",19,25,6,102], "ai_3": [0,0,0,0,0,4,0,"811c9dc5",0,"arcaneShip 0/2, deputShip 0/6, preciShip 0/2, sargonShip 0/9, siracusaShip 0/26, skillfulShip 0/4, soloShip 0/9, swiftShip 0/6",null,null,null,63] }, { "round": 12, - "ai_0": [1,1,15,0,0,6,8,"2ed340cf",311,"arcaneShip 2/22, deputShip 0/2, indomShip 0/22, kazimierzShip 1/94, kjeragShip 0/16, preciShip 2/107, suntShip 1/2, swiftShip 1/86",8,47,39,115], + "ai_0": [1,1,15,0,0,6,8,"2ed340cf",329,"arcaneShip 2/22, deputShip 0/2, indomShip 0/24, kazimierzShip 1/104, kjeragShip 0/16, preciShip 2/115, suntShip 1/2, swiftShip 1/86",8,47,39,115], "ai_1": [0,0,0,0,0,4,0,"811c9dc5",0,"arcaneShip 0/4, deputShip 0/8, emptyShip 0/4, kazimierzShip 0/38, kjeragShip 0/2, preciShip 0/2, sargonShip 0/8, siracusaShip 0/6, soloShip 0/6, steadShip 0/2, swiftShip 0/22",null,null,null,60], - "ai_2": [0,0,13,0,0,5,0,"811c9dc5",0,"arcaneShip 0/55, deputShip 0/36, egirShip 0/10, kazimierzShip 0/4, kjeragShip 0/12, lateranoShip 0/4, raidShip 0/4, siracusaShip 0/6, skillfulShip 0/26, soloShip 0/34, steadShip 0/98, suntShip 0/6, swiftShip 0/21, victoriaShip 0/42, yanShip 0/6",20,47,27,114], + "ai_2": [0,0,13,0,0,5,0,"811c9dc5",0,"arcaneShip 0/55, deputShip 0/37, egirShip 0/10, kazimierzShip 0/4, kjeragShip 0/14, lateranoShip 0/4, raidShip 0/4, siracusaShip 0/6, skillfulShip 0/24, soloShip 0/34, steadShip 0/96, suntShip 0/6, swiftShip 0/18, victoriaShip 0/44, yanShip 0/6",24,47,23,114], "ai_3": [0,0,0,0,0,4,0,"811c9dc5",0,"arcaneShip 0/2, deputShip 0/6, preciShip 0/2, sargonShip 0/9, siracusaShip 0/26, skillfulShip 0/4, soloShip 0/9, swiftShip 0/6",null,null,null,63] }, { "round": 13, - "ai_0": [0,0,12,0,0,6,0,"811c9dc5",0,"arcaneShip 0/32, deputShip 0/2, indomShip 0/22, kazimierzShip 0/109, kjeragShip 0/19, preciShip 0/121, suntShip 0/2, swiftShip 0/107",11,39,28,126], + "ai_0": [0,0,12,0,0,6,0,"811c9dc5",0,"arcaneShip 0/32, deputShip 0/2, indomShip 0/24, kazimierzShip 0/119, kjeragShip 0/19, preciShip 0/129, suntShip 0/2, swiftShip 0/107",10,39,29,126], "ai_1": [0,0,0,0,0,4,0,"811c9dc5",0,"arcaneShip 0/4, deputShip 0/8, emptyShip 0/4, kazimierzShip 0/38, kjeragShip 0/2, preciShip 0/2, sargonShip 0/8, siracusaShip 0/6, soloShip 0/6, steadShip 0/2, swiftShip 0/22",null,null,null,60], - "ai_2": [0,0,0,0,0,5,0,"811c9dc5",0,"arcaneShip 0/55, deputShip 0/36, egirShip 0/10, kazimierzShip 0/4, kjeragShip 0/12, lateranoShip 0/4, raidShip 0/4, siracusaShip 0/6, skillfulShip 0/26, soloShip 0/34, steadShip 0/98, suntShip 0/6, swiftShip 0/21, victoriaShip 0/42, yanShip 0/6",null,null,null,114], + "ai_2": [0,0,0,0,0,5,0,"811c9dc5",0,"arcaneShip 0/55, deputShip 0/37, egirShip 0/10, kazimierzShip 0/4, kjeragShip 0/14, lateranoShip 0/4, raidShip 0/4, siracusaShip 0/6, skillfulShip 0/24, soloShip 0/34, steadShip 0/96, suntShip 0/6, swiftShip 0/18, victoriaShip 0/44, yanShip 0/6",null,null,null,114], "ai_3": [0,0,0,0,0,4,0,"811c9dc5",0,"arcaneShip 0/2, deputShip 0/6, preciShip 0/2, sargonShip 0/9, siracusaShip 0/26, skillfulShip 0/4, soloShip 0/9, swiftShip 0/6",null,null,null,63] } ], @@ -1145,9 +1145,9 @@ "title": {"id":"comment_4","name":"精英云集","picId":"comment_icon_4","text":"晋升精锐次数最多"}, "trophies": 3, "reward": 298, - "stats": {"activatedLayers":0,"bossDamage":0,"dmgDealt":3412269,"gold":126,"itemsEquipped":13,"kills":112,"leaks":136,"lpLost":54,"merges":3,"perfectRounds":5,"refreshes":15}, + "stats": {"activatedLayers":0,"bossDamage":0,"dmgDealt":3520258,"gold":126,"itemsEquipped":13,"kills":113,"leaks":135,"lpLost":54,"merges":3,"perfectRounds":5,"refreshes":15}, "lineup": [], - "bonds": ["arcaneShip 0/32","deputShip 0/2","indomShip 0/22","kazimierzShip 0/109","kjeragShip 0/19","preciShip 0/121","suntShip 0/2","swiftShip 0/107"] + "bonds": ["arcaneShip 0/32","deputShip 0/2","indomShip 0/24","kazimierzShip 0/119","kjeragShip 0/19","preciShip 0/129","suntShip 0/2","swiftShip 0/107"] }, "ai_1": { "alive": false, @@ -1159,7 +1159,7 @@ "title": null, "trophies": 1, "reward": 149, - "stats": {"activatedLayers":0,"bossDamage":0,"dmgDealt":815705,"gold":60,"itemsEquipped":3,"kills":62,"leaks":36,"lpLost":27,"merges":1,"perfectRounds":4,"refreshes":3}, + "stats": {"activatedLayers":0,"bossDamage":0,"dmgDealt":828223,"gold":60,"itemsEquipped":3,"kills":61,"leaks":37,"lpLost":27,"merges":1,"perfectRounds":4,"refreshes":3}, "lineup": [], "bonds": ["arcaneShip 0/4","deputShip 0/8","emptyShip 0/4","kazimierzShip 0/38","kjeragShip 0/2","preciShip 0/2","sargonShip 0/8","siracusaShip 0/6","soloShip 0/6","steadShip 0/2","swiftShip 0/22"] }, @@ -1173,9 +1173,9 @@ "title": {"id":"comment_6","name":"挥金如土","picId":"comment_icon_6","text":"消耗资金最多"}, "trophies": 2, "reward": 255, - "stats": {"activatedLayers":0,"bossDamage":0,"dmgDealt":4957507,"gold":114,"itemsEquipped":8,"kills":197,"leaks":52,"lpLost":31,"merges":3,"perfectRounds":6,"refreshes":20}, + "stats": {"activatedLayers":0,"bossDamage":0,"dmgDealt":4946661,"gold":114,"itemsEquipped":8,"kills":200,"leaks":47,"lpLost":30,"merges":3,"perfectRounds":6,"refreshes":20}, "lineup": [], - "bonds": ["arcaneShip 0/55","deputShip 0/36","egirShip 0/10","kazimierzShip 0/4","kjeragShip 0/12","lateranoShip 0/4","raidShip 0/4","siracusaShip 0/6","skillfulShip 0/26","soloShip 0/34","steadShip 0/98","suntShip 0/6","swiftShip 0/21","victoriaShip 0/42","yanShip 0/6"] + "bonds": ["arcaneShip 0/55","deputShip 0/37","egirShip 0/10","kazimierzShip 0/4","kjeragShip 0/14","lateranoShip 0/4","raidShip 0/4","siracusaShip 0/6","skillfulShip 0/24","soloShip 0/34","steadShip 0/96","suntShip 0/6","swiftShip 0/18","victoriaShip 0/44","yanShip 0/6"] }, "ai_3": { "alive": false, @@ -1314,7 +1314,7 @@ "combat": "client", "boost": {"lp":400,"layers":300}, "setup": {"stageId":"act1autochess_m02","bossId":"boss_5","hiddenBossId":"boss_10","factions":["TIMES","ELEMENT","DOT"]}, - "end": {"victory":true,"roundsPassed":15,"hiddenReached":true,"hiddenCleared":true,"reason":"victory","teamLp":399,"bossPoolLeft":0,"virtualMs":113700}, + "end": {"victory":true,"roundsPassed":15,"hiddenReached":true,"hiddenCleared":true,"reason":"victory","teamLp":398,"bossPoolLeft":0,"virtualMs":113700}, "rng": {"setup":25,"shop":346,"waves":0,"draft":42,"bots":10350,"meta":3}, "errors": {"engine":0,"logged":0,"sim":0,"dispatcher":0}, "rounds": [ @@ -1377,12 +1377,12 @@ "victory": true, "roundsPassed": 15, "eliminatedRound": null, - "lp": 399, + "lp": 398, "bandId": "band_paganini", "title": {"id":"comment_1","name":"卫戍之星","picId":"comment_icon_1","text":"对敌方领袖造成伤害最高(仅胜利时)"}, "trophies": 0, "reward": 425, - "stats": {"activatedLayers":2281,"bossDamage":4580000,"dmgDealt":6374793,"gold":175,"itemsEquipped":25,"kills":378,"leaks":0,"lpLost":0,"merges":5,"perfectRounds":13,"refreshes":34}, + "stats": {"activatedLayers":2281,"bossDamage":4580000,"dmgDealt":6374918,"gold":175,"itemsEquipped":25,"kills":377,"leaks":0,"lpLost":0,"merges":5,"perfectRounds":13,"refreshes":34}, "lineup": ["4_02_b@12,7[3_08_e_a+1_02_e_b]","6_01_a@12,8[3_03_e_a+3_02_e_a]","6_16_a@11,5","3_18_a@11,8[4_11_e_a+4_05_e_b]","4_10_a@10,4[1_05_e_b]","6_05_a@10,5","4_01_b@10,6[4_06_e_a+4_05_e_a]","1_08_b@9,9[4_10_e_a]"], "bonds": ["arcaneShip 2/389","deputShip 0/300","egirShip 0/300","emptyShip 0/300","indomShip 0/308","investShip 0/300","kazimierzShip 0/308","kjeragShip 0/300","lateranoShip 1/322","maniShip 0/300","miraShip 0/300","preciShip 1/302","raidShip 0/300","sargonShip 0/300","siracusaShip 1/345","skillfulShip 0/335","soloShip 1/307","steadShip 0/300","suntShip 1/300","swiftShip 1/316","victoriaShip 0/300","visiShip 0/300","yanShip 0/300"] } @@ -1479,7 +1479,7 @@ "title": {"id":"comment_1","name":"卫戍之星","picId":"comment_icon_1","text":"对敌方领袖造成伤害最高(仅胜利时)"}, "trophies": 8, "reward": 425, - "stats": {"activatedLayers":3362,"bossDamage":7735924,"dmgDealt":20519044,"gold":154,"itemsEquipped":21,"kills":287,"leaks":8,"lpLost":0,"merges":7,"perfectRounds":12,"refreshes":21}, + "stats": {"activatedLayers":3362,"bossDamage":7735924,"dmgDealt":20519193,"gold":154,"itemsEquipped":21,"kills":287,"leaks":8,"lpLost":0,"merges":7,"perfectRounds":12,"refreshes":21}, "lineup": ["4_09_b@11,5[3_11_e_a+3_11_e_b]","6_11_a@11,8","3_13_b@10,3","3_05_b@10,8[1_01_e_a+6_09_e_a]","6_16_a@9,6","6_05_a@9,7[3_02_e_a]","4_14_b@9,8[2_01_e_a+1_02_e_b]","5_07_a@9,9[4_10_e_b]"], "bonds": ["arcaneShip 1/365","deputShip 0/304","egirShip 1/362","emptyShip 0/300","indomShip 0/300","investShip 0/300","kazimierzShip 0/302","kjeragShip 0/308","lateranoShip 0/300","maniShip 1/300","miraShip 0/300","preciShip 1/345","raidShip 1/423","sargonShip 1/300","siracusaShip 0/300","skillfulShip 1/338","soloShip 1/307","steadShip 0/333","suntShip 1/300","swiftShip 1/322","victoriaShip 0/300","visiShip 0/300","yanShip 0/300"] }, @@ -1509,7 +1509,7 @@ "combat": "client", "boost": null, "setup": {"stageId":"act1autochess_m01","bossId":"boss_5","hiddenBossId":"boss_10","factions":["DOT","INVISIBLE","REFLECTION"]}, - "end": {"victory":true,"roundsPassed":14,"hiddenReached":false,"hiddenCleared":false,"reason":"victory","teamLp":40,"bossPoolLeft":0,"virtualMs":121400}, + "end": {"victory":true,"roundsPassed":14,"hiddenReached":false,"hiddenCleared":false,"reason":"victory","teamLp":34,"bossPoolLeft":0,"virtualMs":118400}, "rng": {"setup":25,"shop":489,"waves":0,"draft":34,"bots":18039,"meta":11}, "errors": {"engine":0,"logged":0,"sim":0,"dispatcher":0}, "rounds": [ @@ -1550,33 +1550,33 @@ }, { "round": 8, - "h_0": [1,28,13,0,2,4,8,"2bca9c35",59,"arcaneShip 1/7, kazimierzShip 0/8, preciShip 0/4, raidShip 1/44, skillfulShip 1/0, swiftShip 1/8, yanShip 0/1",14,15,1,62], + "h_0": [1,28,13,0,2,4,8,"2bca9c35",59,"arcaneShip 1/7, kazimierzShip 0/8, preciShip 0/4, raidShip 1/44, skillfulShip 1/0, swiftShip 1/8, yanShip 0/1",15,15,0,62], "ai_0": [1,23,12,0,0,4,8,"17716ab9",95,"arcaneShip 0/2, deputShip 1/14, kazimierzShip 0/8, lateranoShip 1/30, preciShip 0/10, sargonShip 0/2, skillfulShip 1/2, soloShip 1/2, suntShip 1/12, swiftShip 1/35",15,15,0,61] }, { "round": 9, "h_0": [1,28,14,0,0,4,8,"6e857f7b",98,"arcaneShip 1/11, kazimierzShip 1/20, preciShip 0/8, raidShip 1/56, skillfulShip 0/3, soloShip 1/0, suntShip 1/0, swiftShip 1/11, yanShip 0/1",23,23,0,78], - "ai_0": [1,23,12,0,2,4,8,"4e17a01f",138,"arcaneShip 0/2, deputShip 1/16, kazimierzShip 0/8, lateranoShip 1/35, preciShip 1/17, sargonShip 0/2, skillfulShip 1/9, soloShip 0/5, suntShip 1/14, swiftShip 1/47",23,23,0,73] + "ai_0": [1,23,12,0,2,4,8,"4e17a01f",144,"arcaneShip 0/2, deputShip 1/16, kazimierzShip 0/8, lateranoShip 1/38, preciShip 1/20, sargonShip 0/2, skillfulShip 1/9, soloShip 0/5, suntShip 1/14, swiftShip 1/47",23,23,0,73] }, { "round": 10, "h_0": [1,28,12,0,0,5,8,"00fe855c",114,"arcaneShip 1/11, kazimierzShip 1/28, preciShip 0/8, raidShip 1/64, skillfulShip 0/3, soloShip 1/0, suntShip 1/0, swiftShip 1/11, yanShip 0/1",31,31,0,88], - "ai_0": [1,23,14,0,0,5,8,"b70033a0",160,"arcaneShip 0/2, deputShip 0/16, kazimierzShip 0/8, lateranoShip 1/38, preciShip 2/27, sargonShip 0/2, skillfulShip 1/14, soloShip 1/5, suntShip 1/14, swiftShip 1/62",31,31,0,88] + "ai_0": [1,23,14,0,0,5,8,"b70033a0",166,"arcaneShip 0/2, deputShip 0/16, kazimierzShip 0/8, lateranoShip 1/41, preciShip 2/30, sargonShip 0/2, skillfulShip 1/14, soloShip 1/5, suntShip 1/14, swiftShip 1/62",31,31,0,88] }, { "round": 11, - "h_0": [1,27,12,0,0,5,8,"7c35f14c",146,"arcaneShip 1/11, kazimierzShip 1/40, miraShip 1/4, preciShip 0/8, raidShip 1/76, skillfulShip 0/3, soloShip 1/0, suntShip 1/0, swiftShip 1/15, yanShip 0/1",23,25,2,100], - "ai_0": [1,23,12,0,0,5,8,"0e29ce35",193,"arcaneShip 0/2, deputShip 0/16, kazimierzShip 0/8, lateranoShip 1/41, preciShip 2/40, sargonShip 0/2, skillfulShip 1/19, soloShip 1/5, suntShip 1/14, swiftShip 1/74",25,25,0,101] + "h_0": [1,27,12,0,0,5,8,"7c35f14c",149,"arcaneShip 1/14, kazimierzShip 1/40, miraShip 1/4, preciShip 0/8, raidShip 1/76, skillfulShip 0/3, soloShip 1/0, suntShip 1/0, swiftShip 1/15, yanShip 0/1",23,25,2,100], + "ai_0": [1,23,12,0,0,5,8,"0e29ce35",205,"arcaneShip 0/2, deputShip 0/16, kazimierzShip 0/8, lateranoShip 1/47, preciShip 2/46, sargonShip 0/2, skillfulShip 1/19, soloShip 1/5, suntShip 1/14, swiftShip 1/74",25,25,0,101] }, { "round": 12, - "h_0": [1,27,12,0,0,6,8,"c8e0476d",181,"arcaneShip 1/14, kazimierzShip 1/52, miraShip 1/8, preciShip 0/8, raidShip 1/88, skillfulShip 0/3, soloShip 1/0, suntShip 1/0, swiftShip 1/19, yanShip 0/1",27,31,4,112], - "ai_0": [1,23,12,0,0,6,8,"55f8656e",229,"arcaneShip 0/2, deputShip 0/16, kazimierzShip 0/8, lateranoShip 1/47, preciShip 2/53, sargonShip 0/2, skillfulShip 1/24, soloShip 1/5, suntShip 1/14, swiftShip 1/86",31,31,0,112] + "h_0": [1,24,12,0,0,6,8,"c8e0476d",184,"arcaneShip 1/17, kazimierzShip 1/52, miraShip 1/8, preciShip 0/8, raidShip 1/88, skillfulShip 0/3, soloShip 1/0, suntShip 1/0, swiftShip 1/19, yanShip 0/1",28,31,3,112], + "ai_0": [1,20,12,0,0,6,8,"54a25cd7",241,"arcaneShip 0/2, deputShip 0/16, kazimierzShip 0/8, lateranoShip 1/53, preciShip 2/59, sargonShip 0/2, skillfulShip 1/24, soloShip 1/5, suntShip 1/14, swiftShip 1/86",28,31,3,112] }, { "round": 13, - "h_0": [1,17,12,0,0,6,8,"b18b37b2",191,"arcaneShip 0/14, kazimierzShip 1/60, miraShip 1/12, preciShip 0/8, raidShip 1/96, skillfulShip 0/3, soloShip 1/0, suntShip 1/0, swiftShip 1/23, yanShip 0/1",17,57,40,124], - "ai_0": [1,23,12,0,0,6,8,"dc15adde",265,"arcaneShip 0/2, deputShip 0/16, kazimierzShip 0/8, lateranoShip 1/53, preciShip 2/63, sargonShip 0/2, skillfulShip 1/29, soloShip 1/5, suntShip 1/14, swiftShip 1/101, visiShip 1/0",57,57,0,126] + "h_0": [1,14,12,0,0,6,8,"005da75b",208,"arcaneShip 1/17, kazimierzShip 1/60, miraShip 1/12, preciShip 0/8, raidShip 1/96, skillfulShip 0/3, soloShip 1/0, suntShip 1/0, swiftShip 1/23, yanShip 0/1",17,57,40,124], + "ai_0": [1,20,12,0,0,6,8,"dc15adde",283,"arcaneShip 0/2, deputShip 0/16, kazimierzShip 0/8, lateranoShip 1/59, preciShip 2/72, sargonShip 0/2, skillfulShip 1/29, soloShip 1/5, suntShip 1/14, swiftShip 1/104, visiShip 1/0",57,57,0,126] } ], "players": { @@ -1585,28 +1585,28 @@ "victory": true, "roundsPassed": 14, "eliminatedRound": null, - "lp": 17, + "lp": 14, "bandId": "band_amedic", "title": {"id":"comment_4","name":"精英云集","picId":"comment_icon_4","text":"晋升精锐次数最多"}, "trophies": 4, "reward": 400, - "stats": {"activatedLayers":198,"bossDamage":380567,"dmgDealt":2997433,"gold":136,"itemsEquipped":21,"kills":268,"leaks":47,"lpLost":11,"merges":3,"perfectRounds":9,"refreshes":21}, - "lineup": ["6_18_a@12,3","4_10_a@12,4[2_01_e_b+2_04_e_a]","1_17_b@11,3[4_03_e_a+1_01_e_a]","5_20_a@11,8[6_05_e_a+3_06_e_a]","3_17_b@10,3","3_12_a@10,4[1_02_e_a+3_11_e_a]","5_07_a@10,7","1_19_b@10,8[2_01_e_b+4_04_e_b]"], - "bonds": ["arcaneShip 2/18","kazimierzShip 1/60","miraShip 1/12","preciShip 0/8","raidShip 1/96","siracusaShip 1/12","skillfulShip 0/3","soloShip 1/0","suntShip 1/0","swiftShip 0/23","yanShip 0/1"] + "stats": {"activatedLayers":201,"bossDamage":239344,"dmgDealt":2835179,"gold":134,"itemsEquipped":22,"kills":267,"leaks":45,"lpLost":14,"merges":3,"perfectRounds":10,"refreshes":21}, + "lineup": ["6_18_a@12,3[2_01_e_b]","4_10_a@12,4","1_17_b@11,3[4_03_e_a+1_01_e_a]","5_20_a@11,8[6_05_e_a+3_06_e_a]","3_17_b@10,3","3_12_a@10,4[1_02_e_a+3_11_e_a]","5_07_a@10,7[4_02_e_b+4_11_e_a]","1_19_b@10,8[2_01_e_b+4_04_e_b]"], + "bonds": ["arcaneShip 2/21","kazimierzShip 1/60","miraShip 1/12","preciShip 0/8","raidShip 1/96","siracusaShip 1/12","skillfulShip 0/3","soloShip 1/0","suntShip 1/0","swiftShip 0/23","yanShip 0/1"] }, "ai_0": { "alive": true, "victory": true, "roundsPassed": 14, "eliminatedRound": null, - "lp": 23, + "lp": 20, "bandId": "band_chiave", "title": {"id":"comment_1","name":"卫戍之星","picId":"comment_icon_1","text":"对敌方领袖造成伤害最高(仅胜利时)"}, "trophies": 4, "reward": 400, - "stats": {"activatedLayers":296,"bossDamage":399433,"dmgDealt":3904432,"gold":140,"itemsEquipped":17,"kills":327,"leaks":0,"lpLost":0,"merges":3,"perfectRounds":13,"refreshes":22}, + "stats": {"activatedLayers":314,"bossDamage":540656,"dmgDealt":3686133,"gold":140,"itemsEquipped":17,"kills":311,"leaks":3,"lpLost":3,"merges":3,"perfectRounds":12,"refreshes":22}, "lineup": ["3_21_a@12,3[4_08_e_a+6_02_e_a]","4_25_a@12,4","2_01_a@12,5[3_01_e_a]","6_12_a@11,3[1_05_e_a+3_11_e_a]","4_14_b@11,4[1_05_e_b+4_07_e_a]","1_01_b@10,3[3_08_e_a]","5_01_a@10,4[4_05_e_a]","2_13_a@9,4[4_02_e_b]"], - "bonds": ["arcaneShip 0/2","deputShip 0/16","emptyShip 1/0","kazimierzShip 0/8","lateranoShip 1/56","preciShip 2/76","sargonShip 0/2","skillfulShip 1/34","soloShip 0/5","suntShip 1/14","swiftShip 1/113","visiShip 1/3"] + "bonds": ["arcaneShip 0/2","deputShip 0/16","emptyShip 1/0","kazimierzShip 0/8","lateranoShip 1/62","preciShip 2/85","sargonShip 0/2","skillfulShip 1/34","soloShip 0/5","suntShip 1/14","swiftShip 1/116","visiShip 1/3"] } }, "standIns": { @@ -1638,8 +1638,8 @@ "combat": "client", "boost": null, "setup": {"stageId":"act1autochess_m03","bossId":"boss_7","hiddenBossId":"boss_10","factions":["ELEMENT","INVISIBLE","REFLECTION"]}, - "end": {"victory":true,"roundsPassed":14,"hiddenReached":false,"hiddenCleared":false,"reason":"victory","teamLp":55,"bossPoolLeft":0,"virtualMs":119900}, - "rng": {"setup":25,"shop":477,"waves":0,"draft":34,"bots":16274,"meta":23}, + "end": {"victory":true,"roundsPassed":14,"hiddenReached":false,"hiddenCleared":false,"reason":"victory","teamLp":47,"bossPoolLeft":0,"virtualMs":118400}, + "rng": {"setup":25,"shop":477,"waves":0,"draft":34,"bots":16274,"meta":24}, "errors": {"engine":0,"logged":0,"sim":0,"dispatcher":0}, "rounds": [ {"round":1,"h_0":[1,27,4,0,0,5,1,"3e4697a0",0,"",5,5,0,3],"ai_0":[1,28,4,0,0,1,2,"a1734bc6",0,"sargonShip 0/2, soloShip 1/0",5,5,0,4]}, @@ -1687,13 +1687,13 @@ }, { "round": 12, - "h_0": [1,27,12,0,0,6,8,"efd0ac13",413,"arcaneShip 0/2, indomShip 1/26, kazimierzShip 0/8, kjeragShip 0/8, maniShip 1/0, preciShip 1/129, sargonShip 1/169, steadShip 2/54, suntShip 1/0, swiftShip 0/40, victoriaShip 1/35, visiShip 0/6",33,33,0,117], - "ai_0": [1,28,12,0,0,6,8,"931d261f",245,"preciShip 1/105, sargonShip 1/107, skillfulShip 1/3, soloShip 1/0, suntShip 1/0, victoriaShip 0/5, visiShip 1/0, yanShip 1/30",27,33,6,113] + "h_0": [1,25,12,0,0,6,8,"efd0ac13",419,"arcaneShip 0/2, indomShip 1/28, kazimierzShip 0/8, kjeragShip 0/8, maniShip 1/0, preciShip 1/130, sargonShip 1/170, steadShip 2/54, suntShip 1/0, swiftShip 0/40, victoriaShip 1/37, visiShip 0/6",31,33,2,117], + "ai_0": [1,22,12,0,0,6,8,"931d261f",245,"preciShip 1/105, sargonShip 1/107, skillfulShip 1/3, soloShip 1/0, suntShip 1/0, victoriaShip 0/5, visiShip 1/0, yanShip 1/30",27,33,6,113] }, { "round": 13, - "h_0": [1,27,12,0,0,6,8,"e1220022",484,"arcaneShip 0/2, indomShip 1/28, kazimierzShip 0/8, kjeragShip 0/8, maniShip 1/0, preciShip 1/161, sargonShip 1/193, steadShip 2/59, suntShip 1/0, swiftShip 0/40, victoriaShip 1/43, visiShip 0/6",50,50,0,130], - "ai_0": [1,28,12,0,0,6,8,"a2f4a969",302,"preciShip 1/134, sargonShip 1/131, skillfulShip 1/3, soloShip 1/0, suntShip 1/0, victoriaShip 0/5, visiShip 1/0, yanShip 1/34",50,50,0,127] + "h_0": [1,25,12,0,0,6,8,"e1220022",494,"arcaneShip 0/2, indomShip 1/32, kazimierzShip 0/8, kjeragShip 0/8, maniShip 1/0, preciShip 1/162, sargonShip 1/194, steadShip 2/59, suntShip 1/0, swiftShip 0/40, victoriaShip 1/47, visiShip 0/6",50,50,0,130], + "ai_0": [1,22,12,0,0,6,8,"a2f4a969",302,"preciShip 1/134, sargonShip 1/131, skillfulShip 1/3, soloShip 1/0, suntShip 1/0, victoriaShip 0/5, visiShip 1/0, yanShip 1/34",50,50,0,127] } ], "players": { @@ -1702,26 +1702,26 @@ "victory": true, "roundsPassed": 14, "eliminatedRound": null, - "lp": 27, + "lp": 25, "bandId": "band_yu", "title": {"id":"comment_2","name":"不朽盟约","picId":"comment_icon_2","text":"激活的盟约层数总和最高"}, "trophies": 4, "reward": 400, - "stats": {"activatedLayers":496,"bossDamage":678256,"dmgDealt":4102418,"gold":141,"itemsEquipped":24,"kills":319,"leaks":0,"lpLost":0,"merges":2,"perfectRounds":13,"refreshes":19}, + "stats": {"activatedLayers":506,"bossDamage":680576,"dmgDealt":3897100,"gold":141,"itemsEquipped":24,"kills":311,"leaks":2,"lpLost":2,"merges":2,"perfectRounds":12,"refreshes":19}, "lineup": ["4_20_b@11,8[3_05_e_a+5_03_e_a]","6_11_a@10,4[6_05_e_a+4_06_e_a]","5_02_a@10,6[5_01_e_a+6_01_e_a]","6_07_a@10,8[2_04_e_a+6_09_e_a]","3_16_a@9,4[4_05_e_a+3_09_e_a]","2_08_b@9,5[3_11_e_a+3_07_e_a]","6_03_a@9,6[4_04_e_b+2_01_e_a]","4_07_a@9,9[4_11_e_a+4_02_e_a]"], - "bonds": ["arcaneShip 0/2","indomShip 1/28","kazimierzShip 0/8","kjeragShip 0/8","maniShip 1/0","preciShip 1/161","sargonShip 1/195","steadShip 2/63","suntShip 1/0","swiftShip 0/40","victoriaShip 1/49","visiShip 0/6"] + "bonds": ["arcaneShip 0/2","indomShip 1/32","kazimierzShip 0/8","kjeragShip 0/8","maniShip 1/0","preciShip 1/162","sargonShip 1/196","steadShip 2/63","suntShip 1/0","swiftShip 0/40","victoriaShip 1/53","visiShip 0/6"] }, "ai_0": { "alive": true, "victory": true, "roundsPassed": 14, "eliminatedRound": null, - "lp": 28, + "lp": 22, "bandId": "band_mlyss", "title": {"id":"comment_1","name":"卫戍之星","picId":"comment_icon_1","text":"对敌方领袖造成伤害最高(仅胜利时)"}, "trophies": 4, "reward": 400, - "stats": {"activatedLayers":316,"bossDamage":896744,"dmgDealt":3970823,"gold":140,"itemsEquipped":19,"kills":279,"leaks":10,"lpLost":0,"merges":4,"perfectRounds":10,"refreshes":21}, + "stats": {"activatedLayers":316,"bossDamage":894424,"dmgDealt":3968281,"gold":140,"itemsEquipped":19,"kills":279,"leaks":10,"lpLost":6,"merges":4,"perfectRounds":10,"refreshes":21}, "lineup": ["5_02_a@12,8[3_01_e_a+5_01_e_a]","2_04_b@11,7[2_04_e_a+3_08_e_a]","5_03_a@11,8","3_13_a@10,5","6_08_a@10,6","4_04_b@10,8[4_02_e_a+4_08_e_a]","3_03_a@9,8[4_06_e_b]","6_06_a@9,9[4_10_e_a+4_07_e_a]"], "bonds": ["preciShip 1/134","sargonShip 1/131","skillfulShip 1/3","suntShip 1/0","victoriaShip 0/5","visiShip 1/10","yanShip 1/38"] } diff --git a/test/golden/roster.json b/test/golden/roster.json index 35e2da6e..15609f9d 100644 --- a/test/golden/roster.json +++ b/test/golden/roster.json @@ -78,50 +78,50 @@ "time": 110, "ticks": 3300, "reason": "timeout", - "killed": 29, + "killed": 33, "total": 43, "unspawned": 0, "bossHpLeft": null, - "rngDraws": 88, + "rngDraws": 93, "errors": {"count":0,"kinds":[]}, - "players": {"p1":{"killed":29,"total":43,"perfect":false,"leaks":15,"leaksUncounted":0,"coins":8,"dmg":264848,"bossDmg":0,"heal":6152,"deaths":14,"layerGains":{}}}, + "players": {"p1":{"killed":33,"total":43,"perfect":false,"leaks":11,"leaksUncounted":0,"coins":8,"dmg":268583,"bossDmg":0,"heal":5978,"deaths":14,"layerGains":{}}}, "units": [ - ["p1",1,"op","chess_char_1_02_b",1,"uniequip_002_yak",3645.23,1,63,2,9693,5979,0,26,1], + ["p1",1,"op","chess_char_1_02_b",1,"uniequip_002_yak",3936.6,1,63,0,7676,5373,0,19,1], ["p1",2,"op","chess_char_1_20_a",1,null,2857.4,1,1,0,0,0,0,0,0], - ["p1",3,"op","chess_char_1_04_b",1,"uniequip_002_udflow",2252.64,1,4,0,5543,1523,0,8,1], - ["p1",4,"op","chess_char_1_08_b",1,"uniequip_002_texas",0,0,7,1,11498,3473,0,2,3], - ["p1",5,"op","chess_char_1_18_a",1,null,0,0,60,3,3495,6928,350,7,2], - ["p1",6,"op","chess_char_1_19_a",1,null,97.98,1,64,0,9055,5682,0,14,1], + ["p1",3,"op","chess_char_1_04_b",1,"uniequip_002_udflow",2009.21,1,4,1,6099,1766,0,7,1], + ["p1",4,"op","chess_char_1_08_b",1,"uniequip_002_texas",0,0,7,0,9407,3473,0,2,3], + ["p1",5,"op","chess_char_1_18_a",1,null,0,0,60,1,2876,6828,250,5,2], + ["p1",6,"op","chess_char_1_19_a",1,null,1079.08,1,62,1,7557,4701,0,12,1], ["p1",7,"op","chess_char_1_17_a",1,null,0,0,5,0,0,1481,0,0,0], - ["p1",8,"op","chess_char_1_01_b",1,"uniequip_002_inside",0,0,8,6,60897,4121,0,62,3], - ["p1",9,"op","chess_char_1_03_b",1,"uniequip_002_leizi",1062.94,1,62,4,29852,2554,0,16,1], - ["p1",10,"op","chess_char_1_06_b",1,"uniequip_002_vendla",0,0,61,5,25517,7173,5802,30,2], - ["p1",11,"op","chess_char_1_07_b",0,"uniequip_002_prove",0,0,58,3,40515,5955,0,27,0], - ["p1",12,"op","chess_char_1_09_b",1,"uniequip_002_caper",801.74,1,2,5,68783,2078,0,44,2] + ["p1",8,"op","chess_char_1_01_b",1,"uniequip_002_inside",0,0,8,8,60608,4326,0,62,3], + ["p1",9,"op","chess_char_1_03_b",1,"uniequip_002_leizi",0,0,6,8,34679,1808,0,18,1], + ["p1",10,"op","chess_char_1_06_b",1,"uniequip_002_vendla",0,0,61,3,27588,6894,5728,31,2], + ["p1",11,"op","chess_char_1_07_b",0,"uniequip_002_prove",1985.1,1,64,3,40852,5955,0,27,0], + ["p1",12,"op","chess_char_1_09_b",1,"uniequip_002_caper",63.1,1,2,8,71241,2816,0,47,2] ], "enemies": { "enemy_1000_gopro_2": [1,1,0,0,2938], "enemy_10065_ftzlc": [1,1,0,0,6566], "enemy_10112_ymgds": [1,1,0,0,8640], - "enemy_1019_jshoot": [9,3,5,14290,15838], + "enemy_1019_jshoot": [9,5,3,14360,16444], "enemy_1040_bombd": [1,1,0,0,6912], - "enemy_1043_zomsbr": [18,17,1,317,84858], + "enemy_1043_zomsbr": [18,18,0,317,84347], "enemy_1116_liprr": [1,1,0,0,9504], "enemy_1168_dumage_2": [1,1,0,2185,11232], "enemy_1199_sfjin": [1,1,0,0,11232], - "enemy_1200_msfjin": [1,0,1,0,19], - "enemy_1234_dsubrl": [1,0,1,6718,14990], - "enemy_1288_duskls_2": [1,0,1,0,10368], - "enemy_1299_ymkilr": [3,1,2,3997,14688], + "enemy_1200_msfjin": [1,0,1,0,23], + "enemy_1234_dsubrl": [1,1,0,3994,17280], + "enemy_1288_duskls_2": [1,0,1,0,12050], + "enemy_1299_ymkilr": [3,1,2,4833,18893], "enemy_1381_winman_2": [1,1,0,0,13478], - "enemy_1501_demonk": [1,0,0,8205,23695], - "enemy_2005_axetro": [1,0,0,7946,26640], - "enemy_9011_acrefr": [1,0,0,0,3251] + "enemy_1501_demonk": [1,0,0,9043,18620], + "enemy_2005_axetro": [1,0,0,6913,27169], + "enemy_9011_acrefr": [1,0,0,489,3255] }, - "hooks": [1,64,3300,376,376,473,517,3286,43,54,16,18,48,7606,34,12,44,11,1,44,0,0,0], - "events": {"atk":398,"bounty":4,"deploy":20,"die":43,"dmg":517,"engage":10,"fx":83,"heal":36,"leak":11,"skill":37,"spawn":56,"status":68}, - "fx": {"aoe":5,"counter":14,"crit":23,"displace":10,"dp":3,"ember":1,"pulse":22,"revive":1,"sp":1,"summon":1,"taunt":2}, - "snaps": "e780a460 61ee47ae bdf76d96 06fbd6a7 1037bf32 f06a06c4 cbd23de7 17d297e3 95dffa16 fe0088d3 7c8c9766" + "hooks": [1,64,3300,366,366,453,478,2506,47,54,16,18,48,7433,39,13,44,7,1,48,0,0,0], + "events": {"atk":393,"bounty":4,"deploy":20,"die":47,"dmg":478,"engage":10,"fx":72,"heal":36,"leak":7,"skill":38,"spawn":56,"status":79}, + "fx": {"aoe":5,"counter":15,"crit":25,"displace":7,"dp":3,"ember":1,"pulse":11,"revive":1,"sp":1,"summon":1,"taunt":2}, + "snaps": "e780a460 61ee47ae bdf76d96 b7009eb8 5a69ee99 cabe470e 209737c5 242ac4a4 89d424d9 96be567b 6f54375c" }, "roster-003": { "about": "pass 0 band 2: chess_char_1_10_b chess_char_1_12_b chess_char_1_20_b chess_char_1_18_b chess_char_1_19_b chess_char_1_13_b chess_char_1_14_b chess_char_1_17_b chess_char_2_01_a chess_char_2_02_a chess_char_2_04_a chess_char_2_05_a token_10000_silent_healrb", @@ -139,52 +139,52 @@ "total": 34, "unspawned": 0, "bossHpLeft": null, - "rngDraws": 59, + "rngDraws": 88, "errors": {"count":0,"kinds":[]}, "players": { - "p1": {"killed":83,"total":34,"perfect":false,"leaks":2,"leaksUncounted":0,"coins":14,"dmg":119766,"bossDmg":0,"heal":20323,"deaths":3,"layerGains":{"preciShip":3}} + "p1": {"killed":83,"total":34,"perfect":false,"leaks":2,"leaksUncounted":0,"coins":14,"dmg":119870,"bossDmg":0,"heal":20269,"deaths":7,"layerGains":{"preciShip":3}} }, "units": [ - ["p1",1,"op","chess_char_1_10_b",0,"uniequip_002_sunbr",2493,1,5,0,0,0,288,2,2], - ["p1",2,"op","chess_char_1_12_b",1,"uniequip_002_estell",2589,1,7,7,2056,288,0,26,1], - ["p1",3,"op","chess_char_1_20_b",1,"uniequip_002_liskam",2892,1,10,17,24011,363,0,70,1], - ["p1",4,"op","chess_char_1_18_b",1,"uniequip_002_utage",809.38,1,11,10,22101,9469,6924,99,1], - ["p1",5,"op","chess_char_1_19_b",1,"uniequip_002_wildmn",0,0,14,6,43152,8749,0,83,2], - ["p1",6,"op","chess_char_1_13_b",1,"uniequip_002_podego",2446.5,1,8,5,1049,0,0,4,2], - ["p1",7,"op","chess_char_1_14_b",1,"uniequip_002_greyy",1505,1,12,8,2578,2093,0,20,1], + ["p1",1,"op","chess_char_1_10_b",0,"uniequip_002_sunbr",2493,1,5,2,2,0,988,8,6], + ["p1",2,"op","chess_char_1_12_b",1,"uniequip_002_estell",2589,1,7,9,7146,1520,1000,28,2], + ["p1",3,"op","chess_char_1_20_b",1,"uniequip_002_liskam",0,0,10,19,19947,5053,0,73,1], + ["p1",4,"op","chess_char_1_18_b",1,"uniequip_002_utage",0,0,11,13,25993,9090,5736,84,1], + ["p1",5,"op","chess_char_1_19_b",1,"uniequip_002_wildmn",0,0,14,6,42667,8674,0,73,2], + ["p1",6,"op","chess_char_1_13_b",1,"uniequip_002_podego",2446.5,1,8,6,1056,0,0,7,3], + ["p1",7,"op","chess_char_1_14_b",1,"uniequip_002_greyy",0,0,12,7,2571,1505,0,13,1], ["p1",8,"op","chess_char_1_17_b",1,"uniequip_002_indigo",0,0,15,7,9634,1613,0,9,1], - ["p1",9,"op","chess_char_2_01_a",1,null,1694,1,4,9,3985,0,0,22,1], - ["p1",10,"op","chess_char_2_02_a",1,null,1400,1,6,0,0,0,7363,39,4], - ["p1",11,"op","chess_char_2_04_a",1,null,977,1,9,14,11200,0,0,58,3], - ["p1",12,"op","chess_char_2_05_a",1,null,0,0,13,0,0,5030,2430,22,1], - ["p1",13,"token","token_10000_silent_healrb",null,null,1000,1,106,0,0,0,3318,55,null], + ["p1",9,"op","chess_char_2_01_a",1,null,1694,1,4,9,5280,0,0,23,1], + ["p1",10,"op","chess_char_2_02_a",1,null,1400,1,6,0,0,468,7206,36,4], + ["p1",11,"op","chess_char_2_04_a",1,null,0,0,9,5,5573,977,0,35,2], + ["p1",12,"op","chess_char_2_05_a",1,null,0,0,13,0,0,4834,3012,24,1], + ["p1",13,"token","token_10000_silent_healrb",null,null,1000,1,106,0,0,0,2326,34,null], ["-","~1","device","trap_1105_accrate",null,null,100,1,1,0,0,0,0,0,null], ["-","~2","device","trap_1105_accrate",null,null,100,1,2,0,0,0,0,0,null], ["-","~3","device","trap_1105_accrate",null,null,100,1,3,0,0,0,0,0,null] ], "enemies": { "enemy_10018_sgrobh": [1,1,0,1580,6750], - "enemy_10067_ftsjc": [1,1,0,1748,11700], + "enemy_10067_ftsjc": [1,1,0,1455,11700], "enemy_10116_ymgtop": [1,1,0,423,9000], "enemy_1041_lazerd": [1,1,0,418,2430], - "enemy_1116_liprr_2": [1,1,0,42,6750], + "enemy_1116_liprr_2": [1,1,0,28,6750], "enemy_1169_duphlx": [1,1,0,11,3600], - "enemy_1195_sfyin": [12,12,0,68,21600], + "enemy_1195_sfyin": [12,12,0,201,21600], "enemy_1196_msfyin": [24,24,0,0,48], - "enemy_1197_sfshu": [9,9,0,211,20250], + "enemy_1197_sfshu": [9,9,0,185,20250], "enemy_1198_msfshu": [27,27,0,0,81], "enemy_1200_msfjin": [1,1,0,0,27], - "enemy_1234_dsubrl_2": [1,1,0,9584,12600], - "enemy_1292_duskld": [1,1,0,992,9010], - "enemy_1387_winshd": [1,0,0,286,10513], - "enemy_1502_crowns": [1,1,0,144,5400], - "enemy_2008_flking": [1,0,0,10423,0], + "enemy_1234_dsubrl_2": [1,1,0,13797,12600], + "enemy_1292_duskld": [1,1,0,1847,9010], + "enemy_1387_winshd": [1,0,0,980,9222], + "enemy_1502_crowns": [1,1,0,718,5400], + "enemy_2008_flking": [1,0,0,10415,1394], "enemy_9016_acstmr": [1,1,0,0,7] }, - "hooks": [1,105,3300,579,579,660,773,241,86,90,20,19,0,15985,207,29,85,0,1,92,1,0,0], - "events": {"atk":656,"bounty":7,"deploy":17,"die":90,"dmg":749,"engage":9,"fx":101,"heal":212,"layer":1,"skill":39,"spawn":101,"status":228}, - "fx": {"aoe":1,"blink":1,"displace":8,"ember":1,"explode":9,"garrison":1,"heal":2,"phase":1,"pulse":41,"reveal":1,"sleep":7,"summon":25,"undying":1,"zone":2}, - "snaps": "23086eb2 62198379 4013be03 54f09692 fac5503d 7def8563 16aff8bb 1c932c52 15f57f1a 500e8654 2f228080" + "hooks": [1,105,3300,517,517,702,858,209,90,94,25,25,0,15229,237,31,85,0,1,99,1,0,0], + "events": {"atk":627,"bounty":7,"deploy":17,"die":94,"dmg":827,"engage":10,"fx":113,"heal":185,"layer":1,"skill":50,"spawn":101,"status":179}, + "fx": {"aoe":1,"displace":10,"ember":1,"explode":8,"garrison":1,"heal":6,"pulse":50,"reveal":1,"sleep":5,"summon":25,"undying":2,"zone":3}, + "snaps": "28541aa3 4bc641fa 2745aed0 22253b77 14448657 af1d85b8 b71522f3 bfad6114 7d9f43fd eeb4d043 86486863" }, "roster-004": { "about": "pass 0 band 2: chess_char_2_08_a chess_char_2_17_a chess_char_2_18_a chess_char_2_07_a chess_char_2_09_a chess_char_2_11_a chess_char_2_13_a chess_char_2_16_a chess_char_2_12_a chess_char_2_06_a chess_char_2_10_a chess_char_2_14_a", @@ -385,56 +385,56 @@ "time": 140, "ticks": 4200, "reason": "timeout", - "killed": 110, + "killed": 118, "total": 71, "unspawned": 0, "bossHpLeft": null, "rngDraws": 63, "errors": {"count":0,"kinds":[]}, - "players": {"p1":{"killed":110,"total":71,"perfect":false,"leaks":53,"leaksUncounted":1,"coins":4,"dmg":209618,"bossDmg":0,"heal":1552,"deaths":11,"layerGains":{}}}, + "players": {"p1":{"killed":118,"total":71,"perfect":false,"leaks":47,"leaksUncounted":1,"coins":4,"dmg":212178,"bossDmg":0,"heal":1557,"deaths":11,"layerGains":{}}}, "units": [ - ["p1",1,"op","chess_char_3_12_a",2,null,2334,1,185,2,2951,2334,989,14,1], - ["p1",2,"op","chess_char_3_16_a",1,null,2173,1,189,0,455,3725,564,1,1], - ["p1",3,"op","chess_char_3_18_a",2,null,1481,1,190,5,10060,2962,0,29,1], - ["p1",4,"op","chess_char_3_08_a",1,null,1326,1,4,12,23818,268,0,20,2], - ["p1",5,"op","chess_char_3_09_a",1,null,746.2,1,7,15,23603,521,0,63,2], + ["p1",1,"op","chess_char_3_12_a",2,null,2334,1,187,2,2951,2334,989,14,1], + ["p1",2,"op","chess_char_3_16_a",1,null,2173,1,191,0,455,3730,568,1,1], + ["p1",3,"op","chess_char_3_18_a",2,null,1481,1,192,5,10060,2962,0,29,1], + ["p1",4,"op","chess_char_3_08_a",1,null,1326,1,4,22,24950,268,0,20,2], + ["p1",5,"op","chess_char_3_09_a",1,null,746.2,1,7,14,24218,521,0,63,2], ["p1",6,"op","chess_char_3_10_a",1,null,0,0,10,18,13862,1650,0,25,2], - ["p1",7,"op","chess_char_3_11_a",1,null,1316,1,188,9,10052,1316,0,18,3], - ["p1",8,"op","chess_char_3_13_a",1,null,1064,1,178,3,5421,1064,0,21,9], - ["p1",9,"op","chess_char_3_14_a",1,null,0,0,5,10,17911,1251,0,42,2], + ["p1",7,"op","chess_char_3_11_a",1,null,1316,1,190,9,10052,1316,0,18,3], + ["p1",8,"op","chess_char_3_13_a",1,null,1064,1,180,3,5421,1064,0,21,9], + ["p1",9,"op","chess_char_3_14_a",1,null,0,0,5,9,18702,1251,0,42,2], ["p1",10,"op","chess_char_3_17_a",1,null,0,0,8,7,43134,2246,0,63,4], - ["p1",11,"op","chess_char_3_19_a",2,null,731,1,145,15,35381,2147,0,94,2], - ["p1",12,"op","chess_char_3_20_a",1,null,1121,1,184,3,5552,1121,0,38,1], + ["p1",11,"op","chess_char_3_19_a",2,null,731,1,147,17,34717,2147,0,94,2], + ["p1",12,"op","chess_char_3_20_a",1,null,1121,1,186,3,5552,1121,0,38,1], ["p1",13,"token","token_10028_vigil_wolf",null,null,280.26,0,108,4,4379,1680,0,14,null], ["-","~1","device","trap_1105_accrate",null,null,100,1,1,0,0,0,0,0,null], ["-","~2","device","trap_1105_accrate",null,null,100,1,2,0,0,0,0,0,null], - ["p1","~1","token","token_10028_vigil_wolf",null,null,405.92,1,146,7,13040,2038,0,31,null] + ["p1","~1","token","token_10028_vigil_wolf",null,null,405.92,1,148,5,13725,2038,0,31,null] ], "enemies": { "enemy_10029_vtshld": [1,0,0,0,0], "enemy_10073_mpcar": [1,1,0,0,2304], - "enemy_10127_rkmbst_2": [1,0,1,5253,29207], - "enemy_1045_hammer": [1,0,1,518,3908], + "enemy_10127_rkmbst_2": [1,0,1,5055,29207], + "enemy_1045_hammer": [1,0,1,518,4353], "enemy_1121_lifbos_2": [1,0,1,1204,3004], "enemy_1172_dugago": [1,0,1,80,4589], - "enemy_1195_sfyin": [36,27,9,815,73499], - "enemy_1195_sfyin_2": [15,8,7,1557,41167], - "enemy_1196_msfyin": [54,46,8,0,93], - "enemy_1196_msfyin_2": [16,9,7,0,33], + "enemy_1195_sfyin": [36,27,9,800,75304], + "enemy_1195_sfyin_2": [15,9,6,1595,41687], + "enemy_1196_msfyin": [54,50,4,0,101], + "enemy_1196_msfyin_2": [18,10,8,0,34], "enemy_1197_sfshu": [9,6,3,523,22048], - "enemy_1198_msfshu": [18,10,8,0,39], + "enemy_1198_msfshu": [18,12,6,0,41], "enemy_1203_sfhu": [1,1,0,4545,7488], "enemy_1204_msfhu": [4,0,4,0,2], - "enemy_1252_lysytb_2": [1,0,1,2323,3559], + "enemy_1252_lysytb_2": [1,0,1,2323,3336], "enemy_1305_mhslim": [1,1,0,184,1382], "enemy_1407_hummbd": [1,1,0,77,5184], "enemy_1512_mcmstr": [1,0,1,6792,11323], "enemy_2021_syfish": [1,0,1,0,788] }, - "hooks": [1,189,4200,602,602,858,862,392,122,176,30,29,0,18633,16,36,164,53,1,129,0,0,0], - "events": {"atk":734,"bounty":2,"deploy":23,"die":123,"dmg":852,"engage":14,"fx":133,"heal":2,"leak":53,"skill":59,"spawn":180,"status":55}, - "fx": {"aoe":2,"camouflage":1,"displace":22,"dp":2,"explode":21,"phase":1,"pull":22,"revive":2,"sp":1,"strike":3,"summon":44,"volley":7,"wolfShadow":2,"wolfShadowLost":3}, - "snaps": "8447aca6 0085b7c9 33307063 cd2bf975 e6c8eeb1 7331d165 340230f4 4e983e4a fd8f005c e400c6cd 0e8b1aa8 9330488b d2efc4c0 40e02a59" + "hooks": [1,191,4200,602,602,873,877,395,130,178,30,29,0,18626,16,36,166,47,1,137,0,0,0], + "events": {"atk":745,"bounty":2,"deploy":23,"die":131,"dmg":867,"engage":14,"fx":134,"heal":2,"leak":47,"skill":59,"spawn":182,"status":55}, + "fx": {"aoe":2,"camouflage":1,"displace":22,"dp":2,"explode":21,"phase":1,"pull":22,"revive":2,"sp":1,"strike":3,"summon":45,"volley":7,"wolfShadow":2,"wolfShadowLost":3}, + "snaps": "8447aca6 0085b7c9 33307063 cd2bf975 f5188834 86cd303d d41a351f 70d279f4 ed1143e8 4c8ae8f7 3ee55ff1 1af8a398 c1b71010 b0f4b62c" }, "roster-008": { "about": "pass 0 band 4: chess_char_3_06_b chess_char_3_12_b chess_char_3_02_b chess_char_3_03_b chess_char_3_04_b chess_char_3_05_b chess_char_3_21_a chess_char_3_01_b chess_char_3_08_b chess_char_3_09_b chess_char_3_10_b chess_char_3_11_b", @@ -448,7 +448,7 @@ "time": 170, "ticks": 5100, "reason": "timeout", - "killed": 45, + "killed": 47, "total": 83, "unspawned": 0, "bossHpLeft": null, @@ -456,13 +456,13 @@ "errors": {"count":0,"kinds":[]}, "players": { "p1": { - "killed": 45, + "killed": 47, "total": 83, "perfect": false, - "leaks": 42, + "leaks": 40, "leaksUncounted": 1, "coins": 8, - "dmg": 509318, + "dmg": 506600, "bossDmg": 0, "heal": 5038, "deaths": 15, @@ -478,10 +478,10 @@ ["p1",6,"op","chess_char_3_05_b",2,"uniequip_002_skadi",3123.21,1,124,13,85727,23739,0,41,2], ["p1",7,"op","chess_char_3_21_a",2,null,0,0,2,3,24933,1464,0,22,1], ["p1",8,"op","chess_char_3_01_b",2,"uniequip_002_angel",0,0,3,2,78698,1887,0,50,2], - ["p1",9,"op","chess_char_3_08_b",1,"uniequip_002_mint",0,0,4,1,25619,6586,0,9,1], + ["p1",9,"op","chess_char_3_08_b",1,"uniequip_002_mint",0,0,4,2,27253,6586,0,9,1], ["p1",10,"op","chess_char_3_09_b",1,"uniequip_002_haini",613.6,1,137,0,34921,2041,0,30,1], - ["p1",11,"op","chess_char_3_10_b",1,"uniequip_002_pinecn",0,0,1,2,12042,2220,0,10,1], - ["p1",12,"op","chess_char_3_11_b",1,"uniequip_002_snhunt",0,0,5,5,67101,1850,0,36,9], + ["p1",11,"op","chess_char_3_10_b",1,"uniequip_002_pinecn",0,0,1,3,10140,2220,0,10,1], + ["p1",12,"op","chess_char_3_11_b",1,"uniequip_002_snhunt",0,0,5,5,64651,1850,0,36,9], ["p1","~1","token","token_10031_swire2_gdtrap",null,null,1000,0,13,0,0,0,0,0,null], ["p1","~2","token","token_10031_swire2_gdtrap",null,null,1000,0,45,0,0,0,0,0,null], ["p1","~3","token","token_10031_swire2_gdtrap",null,null,1000,0,46,0,0,0,0,0,null], @@ -515,22 +515,22 @@ "enemy_10030_vtwand": [1,0,0,0,0], "enemy_1007_slime": [1,1,0,0,950], "enemy_10138_xdsnow": [1,1,0,13,9504], - "enemy_1045_hammer_2": [1,0,1,10435,19290], + "enemy_1045_hammer_2": [1,0,1,11085,19290], "enemy_1148_dssbr": [1,1,0,0,4838], "enemy_1172_dugago_2": [1,0,1,3146,18990], "enemy_1203_sfhu_2": [1,1,0,3612,15120], - "enemy_1204_msfhu_2": [4,0,4,0,29], + "enemy_1204_msfhu_2": [4,1,3,0,33], "enemy_1254_lypa_2": [1,1,0,1003,17280], "enemy_1305_mhslim_2": [1,1,0,614,3110], - "enemy_1415_mmkabi_2": [1,0,1,724,26704], - "enemy_1513_dekght": [1,0,1,8165,11440], - "enemy_2021_syfish": [60,37,23,2548,276038], + "enemy_1415_mmkabi_2": [1,0,1,74,26704], + "enemy_1513_dekght": [1,0,1,8165,8125], + "enemy_2021_syfish": [60,38,22,2548,276631], "enemy_2025_syufo": [13,2,8,36905,106023] }, - "hooks": [1,137,5100,539,539,1062,1157,387,60,130,21,23,0,8443,80,45,88,39,1,66,12,12,0], - "events": {"atk":624,"bounty":4,"deploy":49,"die":91,"dmg":1084,"engage":12,"fx":231,"heal":386,"layer":12,"leak":39,"skill":47,"spawn":128,"status":130}, - "fx": {"aoe":20,"blink":3,"buff":1,"burst":12,"coin":29,"displace":32,"explode":34,"garrison":8,"layer":4,"pull":32,"revive":6,"shield":1,"shieldBreak":1,"strike":9,"summon":29,"telegraph":1,"volley":9}, - "snaps": "17903402 6c8167ba 07381013 82bb886b 608b7ec4 49a9f161 e85b61cf 22016225 ee0925e6 4ee5eeb2 8a500100 aa9abb07 2ce0b42a fcb5b9cb d8b6506e b8cd651a b26cce51" + "hooks": [1,137,5100,539,539,1072,1167,387,62,130,21,23,0,8443,79,46,88,37,1,68,12,12,0], + "events": {"atk":636,"bounty":4,"deploy":49,"die":93,"dmg":1087,"engage":12,"fx":233,"heal":386,"layer":12,"leak":37,"skill":47,"spawn":128,"status":128}, + "fx": {"aoe":20,"blink":3,"buff":1,"burst":12,"coin":29,"displace":33,"explode":34,"garrison":8,"layer":4,"pull":33,"revive":6,"shield":1,"shieldBreak":1,"strike":9,"summon":29,"telegraph":1,"volley":9}, + "snaps": "17903402 6c8167ba 07381013 82bb886b 608b7ec4 49a9f161 e85b61cf 67fd6d17 22a61f87 b284b6f6 4e0b242d df66d3a4 158e2cfb 11543d94 9a2ac26f d2946799 f4dc978a" }, "roster-009": { "about": "pass 0 band 4: chess_char_3_16_b chess_char_4_01_a chess_char_3_18_b chess_char_4_04_a chess_char_3_13_b chess_char_3_14_b chess_char_3_17_b chess_char_3_19_b chess_char_3_20_b chess_char_3_21_b chess_char_4_02_a chess_char_4_06_a token_10028_vigil_wolf", @@ -548,23 +548,23 @@ "total": 63, "unspawned": 0, "bossHpLeft": null, - "rngDraws": 148, + "rngDraws": 149, "errors": {"count":0,"kinds":[]}, "players": {"p1":{"killed":171,"total":63,"perfect":true,"leaks":0,"leaksUncounted":0,"coins":12,"dmg":279620,"bossDmg":0,"heal":0,"deaths":1,"layerGains":{}}}, "units": [ ["p1",1,"op","chess_char_3_16_b",1,"uniequip_002_snakek",5363,1,3,0,0,0,0,0,0], ["p1",2,"op","chess_char_4_01_a",2,null,4563.74,1,6,0,0,0,0,0,0], ["p1",3,"op","chess_char_3_18_b",2,"uniequip_002_vulpis",3494.6,1,8,4,10170,0,0,14,2], - ["p1",4,"op","chess_char_4_04_a",1,null,1465.9,1,12,11,16299,1579,0,155,4], - ["p1",5,"op","chess_char_3_13_b",1,"uniequip_002_malist",2378.75,1,9,21,12399,0,0,66,31], - ["p1",6,"op","chess_char_3_14_b",1,"uniequip_002_slbell",2793.95,1,10,6,7013,0,0,41,3], - ["p1",7,"op","chess_char_3_17_b",1,"uniequip_002_shotst",2359.13,1,14,21,29176,2653,0,59,8], - ["p1",8,"op","chess_char_3_19_b",2,"uniequip_002_vigil",3110.54,1,4,3,3125,0,0,7,4], - ["p1",9,"op","chess_char_3_20_b",1,"uniequip_002_kjera",2508.5,1,7,0,306,0,0,9,2], - ["p1",10,"op","chess_char_3_21_b",2,"uniequip_002_archet",2750.7,1,11,71,123157,0,0,204,5], - ["p1",11,"op","chess_char_4_02_a",2,null,2470.44,1,166,15,63554,2470,0,36,2], - ["p1",12,"op","chess_char_4_06_a",1,null,2111.67,1,13,18,11022,44,0,75,2], - ["p1",13,"token","token_10028_vigil_wolf",null,null,146.08,1,5,1,3398,3432,0,30,null], + ["p1",4,"op","chess_char_4_04_a",1,null,1465.9,1,12,13,14651,1579,0,156,4], + ["p1",5,"op","chess_char_3_13_b",1,"uniequip_002_malist",2378.75,1,9,18,10500,0,0,70,31], + ["p1",6,"op","chess_char_3_14_b",1,"uniequip_002_slbell",2447.16,1,10,8,6578,347,0,43,3], + ["p1",7,"op","chess_char_3_17_b",1,"uniequip_002_shotst",1518.03,1,14,22,30620,3494,0,60,9], + ["p1",8,"op","chess_char_3_19_b",2,"uniequip_002_vigil",3110.54,1,4,2,2569,0,0,7,4], + ["p1",9,"op","chess_char_3_20_b",1,"uniequip_002_kjera",2094.42,1,7,0,337,414,0,9,2], + ["p1",10,"op","chess_char_3_21_b",2,"uniequip_002_archet",2750.7,1,11,68,126148,0,0,205,5], + ["p1",11,"op","chess_char_4_02_a",2,null,2470.44,1,166,15,64528,2470,0,36,2], + ["p1",12,"op","chess_char_4_06_a",1,null,2015.73,1,13,20,10995,140,0,75,2], + ["p1",13,"token","token_10028_vigil_wolf",null,null,674.03,1,5,1,2524,3784,0,30,null], ["-","~1","device","trap_1105_accrate",null,null,100,1,1,0,0,0,0,0,null], ["-","~2","device","trap_1105_accrate",null,null,100,1,2,0,0,0,0,0,null] ], @@ -577,7 +577,7 @@ "enemy_1174_duholy": [1,1,0,932,16200], "enemy_1195_sfyin": [33,33,0,55,71280], "enemy_1196_msfyin": [66,66,0,0,132], - "enemy_1197_sfshu": [12,12,0,0,32400], + "enemy_1197_sfshu": [12,12,0,96,32400], "enemy_1198_msfshu": [36,36,0,0,108], "enemy_1199_sfjin": [6,6,0,0,42120], "enemy_1200_msfjin": [6,6,0,0,192], @@ -585,13 +585,13 @@ "enemy_1267_nhpbr": [1,1,0,400,4860], "enemy_1320_wdrrl_2": [1,1,0,1061,27000], "enemy_1422_lrsldr": [1,1,0,0,5076], - "enemy_1513_dekght_2": [1,1,0,7730,43200], + "enemy_1513_dekght_2": [1,1,0,9684,43200], "enemy_2034_sythef": [1,1,0,0,8640] }, - "hooks": [1,187,4674,713,713,1306,1290,0,172,172,63,61,0,21782,106,10,171,0,1,179,0,0,0], - "events": {"atk":886,"bounty":6,"deploy":14,"die":172,"dmg":1290,"engage":11,"fx":176,"skill":124,"spawn":186,"status":238}, - "fx": {"camouflage":1,"crit":24,"displace":30,"dp":5,"explode":4,"phase":1,"ripple":8,"shadowWeave":24,"shield":2,"stealth":4,"summon":51,"telegraph":6,"volley":8,"wolfShadow":4,"wolfShadowLost":3,"zone":1}, - "snaps": "69a7f9d4 a676cad6 57a90446 c208123b ae74e9b8 1b323369 8b5283e9 4c70fd14 717d3193 f69fe3aa 1e6c1532 ddb7d885 f774a464 57e74ab4 20bd8a39 ac5fa54d" + "hooks": [1,187,4674,724,724,1316,1300,0,172,172,64,62,0,21795,111,8,171,0,1,180,0,0,0], + "events": {"atk":902,"bounty":6,"deploy":14,"die":172,"dmg":1299,"engage":11,"fx":182,"skill":126,"spawn":186,"status":238}, + "fx": {"camouflage":1,"crit":20,"displace":29,"dp":5,"explode":7,"phase":1,"ripple":8,"shadowWeave":28,"shield":2,"shieldBreak":1,"stealth":4,"summon":51,"telegraph":6,"volley":9,"wolfShadow":5,"wolfShadowLost":4,"zone":1}, + "snaps": "69a7f9d4 a676cad6 57a90446 2b5bc93f 44bf59d1 20609e24 c9411ff3 c887c191 22915f4f 777777ee 8d8df3ad 4f0dc6c1 889db822 d2bc409a c4c665fb 8bf694ed" }, "roster-010": { "about": "pass 0 band 4: chess_char_4_17_a chess_char_4_18_a chess_char_4_11_a chess_char_4_19_a chess_char_4_07_a chess_char_4_16_a chess_char_4_09_a chess_char_4_10_a chess_char_4_12_a chess_char_4_13_a chess_char_4_14_a chess_char_4_20_a token_10041_cathy_catsld token_10041_cathy_catsld", @@ -605,27 +605,27 @@ "time": 170, "ticks": 5100, "reason": "timeout", - "killed": 45, + "killed": 44, "total": 69, "unspawned": 0, "bossHpLeft": null, - "rngDraws": 99, + "rngDraws": 94, "errors": {"count":0,"kinds":[]}, "players": { - "p1": {"killed":45,"total":69,"perfect":false,"leaks":57,"leaksUncounted":0,"coins":4,"dmg":442763,"bossDmg":0,"heal":3335,"deaths":23,"layerGains":{"preciShip":12}} + "p1": {"killed":44,"total":69,"perfect":false,"leaks":58,"leaksUncounted":0,"coins":4,"dmg":438561,"bossDmg":0,"heal":3295,"deaths":23,"layerGains":{"preciShip":12}} }, "units": [ - ["p1",1,"op","chess_char_4_17_a",1,null,0,0,5,0,3672,2849,0,7,0], + ["p1",1,"op","chess_char_4_17_a",1,null,0,0,5,0,7251,2849,0,14,0], ["p1",2,"op","chess_char_4_18_a",1,null,0,0,6,0,3167,4489,1622,4,4], ["p1",3,"op","chess_char_4_11_a",1,null,2144,1,133,0,1453,2934,0,3,1], ["p1",4,"op","chess_char_4_19_a",2,null,0,0,90,1,12530,3120,0,27,1], ["p1",5,"op","chess_char_4_07_a",1,null,1738,1,134,0,1793,3476,0,2,1], - ["p1",6,"op","chess_char_4_16_a",2,null,0,0,126,6,107272,7475,1245,36,8], + ["p1",6,"op","chess_char_4_16_a",2,null,0,0,126,3,97746,7475,1245,36,6], ["p1",7,"op","chess_char_4_09_a",1,null,0,0,120,0,30872,2672,0,19,1], - ["p1",8,"op","chess_char_4_10_a",1,null,0,0,107,0,35046,4379,0,18,1], - ["p1",9,"op","chess_char_4_12_a",2,null,0,0,104,2,27366,3976,468,20,1], - ["p1",10,"op","chess_char_4_13_a",1,null,0,0,96,1,30170,3174,0,50,4], - ["p1",11,"op","chess_char_4_14_a",1,null,0,0,88,15,154931,2552,0,26,2], + ["p1",8,"op","chess_char_4_10_a",1,null,0,0,107,1,31925,4894,0,18,1], + ["p1",9,"op","chess_char_4_12_a",2,null,0,0,100,2,25457,3936,428,18,1], + ["p1",10,"op","chess_char_4_13_a",1,null,0,0,96,1,30391,3174,0,50,4], + ["p1",11,"op","chess_char_4_14_a",1,null,0,0,88,16,161487,2552,0,27,3], ["p1",12,"op","chess_char_4_20_a",2,null,0,0,4,4,34490,1217,0,13,1], ["p1",13,"token","token_10041_cathy_catsld",null,null,100,1,17,0,0,0,0,0,null], ["p1",14,"token","token_10041_cathy_catsld",null,null,100,1,16,0,0,0,0,0,null], @@ -635,26 +635,26 @@ ], "enemies": { "enemy_10034_cnvsax": [1,1,0,344,42998], - "enemy_1005_yokai": [24,17,7,0,62851], - "enemy_1005_yokai_2": [27,8,14,4793,74644], - "enemy_1005_yokai_3": [6,0,5,17691,104777], + "enemy_1005_yokai": [24,17,7,0,63503], + "enemy_1005_yokai_2": [27,8,14,4609,74481], + "enemy_1005_yokai_3": [6,0,5,17480,104731], "enemy_10083_hlbird": [1,1,0,0,6450], - "enemy_10144_xdelk_2": [1,0,1,2927,43644], - "enemy_1050_lslime": [1,0,1,9204,17718], + "enemy_10144_xdelk_2": [1,0,1,2927,45336], + "enemy_1050_lslime": [1,0,1,9539,20439], "enemy_1158_divman": [1,1,0,461,14189], - "enemy_1174_duholy_2": [1,0,1,2161,5126], + "enemy_1174_duholy_2": [1,0,1,1152,6043], "enemy_1204_msfhu_2": [1,0,1,0,10], "enemy_1267_nhpbr_2": [1,0,1,160,8090], - "enemy_1269_nhfly": [33,17,16,4510,35939], - "enemy_1321_wdarft": [1,0,1,0,5210], + "enemy_1269_nhfly": [33,16,17,5535,27200], + "enemy_1321_wdarft": [1,0,1,0,3974], "enemy_1422_lrsldr_2": [1,0,1,0,21116], - "enemy_1516_jakill": [1,0,1,62,0], + "enemy_1516_jakill": [1,0,1,582,0], "enemy_2034_sythef_2": [1,0,1,0,0] }, - "hooks": [1,132,5100,457,457,1127,1077,332,71,119,25,26,0,8109,376,12,102,51,1,200,3,0,41], - "events": {"atk":557,"bounty":2,"deploy":27,"die":68,"dmg":985,"engage":12,"fx":195,"heal":7,"layer":3,"leak":51,"skill":52,"spawn":119,"status":335}, - "fx": {"block":9,"catShield":2,"charge":1,"dilemma":1,"dodge":41,"explode":18,"explosion":2,"featherArrow":1,"flame":1,"frostNova":4,"garrison":3,"garrisonGrant":1,"overclock":1,"phase":1,"pull":1,"riposte":2,"rockslide":4,"shieldBreak":5,"slippery":1,"summon":11,"swordRain":46,"swordStorm":8,"telegraph":2,"thorns":16,"tornado":1,"tornadoPulse":5,"undying":7}, - "snaps": "06e15d5c 9c6e5b81 2ecc1e6a 71fee850 b79ab0d2 3601a029 af7e3130 8290988c ef603826 41e4badb 232f36b3 92680cda 18b57768 3253586c 584ddab4 65fdbd7c 43bb928d" + "hooks": [1,132,5100,442,442,1125,1088,303,68,119,24,25,0,7928,385,11,102,52,1,201,3,0,23], + "events": {"atk":540,"bounty":2,"deploy":27,"die":67,"dmg":996,"engage":12,"fx":194,"heal":7,"layer":3,"leak":52,"skill":50,"spawn":119,"status":345}, + "fx": {"block":14,"catShield":2,"charge":1,"dilemma":1,"dodge":23,"explode":18,"explosion":3,"featherArrow":1,"flame":1,"frostNova":4,"garrison":3,"garrisonGrant":1,"overclock":1,"phase":1,"pull":1,"riposte":2,"rockslide":4,"shieldBreak":5,"slippery":1,"summon":11,"swordRain":46,"swordStorm":6,"telegraph":2,"thorns":29,"tornado":1,"tornadoPulse":5,"undying":7}, + "snaps": "06e15d5c 9c6e5b81 9f5d725d b13396df 98ecac6a f6ce7a0e 93fdfd13 934d9971 f00721d3 0f063f43 efae5003 e36862a5 bf3bd5e8 864b2548 d1bf8652 213491b2 c2b8be45" }, "roster-011": { "about": "pass 0 band 5: chess_char_4_23_a chess_char_4_01_b chess_char_4_22_a chess_char_4_04_b chess_char_4_07_b chess_char_4_09_b chess_char_4_21_a chess_char_4_24_a chess_char_4_25_a chess_char_4_26_a chess_char_4_02_b chess_char_4_06_b", @@ -668,28 +668,28 @@ "time": 190, "ticks": 5700, "reason": "timeout", - "killed": 78, + "killed": 79, "total": 78, "unspawned": 0, "bossHpLeft": null, - "rngDraws": 231, + "rngDraws": 230, "errors": {"count":0,"kinds":[]}, "players": { - "p1": {"killed":78,"total":78,"perfect":false,"leaks":4,"leaksUncounted":0,"coins":12,"dmg":698950,"bossDmg":0,"heal":15928,"deaths":5,"layerGains":{"visiShip":8}} + "p1": {"killed":79,"total":78,"perfect":false,"leaks":3,"leaksUncounted":0,"coins":12,"dmg":698244,"bossDmg":0,"heal":16417,"deaths":5,"layerGains":{"visiShip":4}} }, "units": [ - ["p1",1,"op","chess_char_4_23_a",2,null,4358,1,99,11,140344,15336,0,111,3], - ["p1",2,"op","chess_char_4_01_b",2,"uniequip_002_rmixer",102.62,1,8,5,46833,5323,0,48,1], - ["p1",3,"op","chess_char_4_22_a",2,null,2022,1,6,13,88212,0,0,108,2], - ["p1",4,"op","chess_char_4_04_b",1,"uniequip_002_ines",2149,1,9,11,81681,912,912,177,6], - ["p1",5,"op","chess_char_4_07_b",1,"uniequip_002_bpipe",2383,1,100,2,13185,2918,611,45,17], - ["p1",6,"op","chess_char_4_09_b",1,"uniequip_002_mizuki",1736,1,12,13,126109,490,656,60,6], + ["p1",1,"op","chess_char_4_23_a",2,null,4358,1,99,12,139568,15336,0,111,3], + ["p1",2,"op","chess_char_4_01_b",2,"uniequip_002_rmixer",102.62,1,8,5,47852,5323,0,48,1], + ["p1",3,"op","chess_char_4_22_a",2,null,2022,1,6,15,83626,0,0,108,2], + ["p1",4,"op","chess_char_4_04_b",1,"uniequip_002_ines",2149,1,9,10,81585,912,912,175,6], + ["p1",5,"op","chess_char_4_07_b",1,"uniequip_002_bpipe",2383,1,100,1,12506,3042,734,46,18], + ["p1",6,"op","chess_char_4_09_b",1,"uniequip_002_mizuki",1736,1,12,12,124814,741,812,60,6], ["p1",7,"op","chess_char_4_21_a",1,null,1271,1,3,0,0,0,10978,55,2], - ["p1",8,"op","chess_char_4_24_a",1,null,1726,1,4,6,93889,0,0,93,5], - ["p1",9,"op","chess_char_4_25_a",2,null,1221,1,85,0,0,2172,586,0,2], - ["p1",10,"op","chess_char_4_26_a",0,null,1368,1,14,0,0,1870,2125,7,0], - ["p1",11,"op","chess_char_4_02_b",2,"uniequip_002_mostma",1359,1,5,11,90717,336,0,45,2], - ["p1",12,"op","chess_char_4_06_b",1,"uniequip_002_kroos2",1561,1,101,5,17979,3121,60,101,2], + ["p1",8,"op","chess_char_4_24_a",1,null,1726,1,4,7,93004,0,0,93,5], + ["p1",9,"op","chess_char_4_25_a",2,null,1221,1,85,0,0,2172,662,0,2], + ["p1",10,"op","chess_char_4_26_a",0,null,1368,1,14,0,0,1870,2259,7,0], + ["p1",11,"op","chess_char_4_02_b",2,"uniequip_002_mostma",1359,1,5,10,95777,336,0,46,2], + ["p1",12,"op","chess_char_4_06_b",1,"uniequip_002_kroos2",1561,1,101,5,19511,3121,60,101,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] ], @@ -708,13 +708,13 @@ "enemy_1325_cbgpro": [1,1,0,0,3040], "enemy_1425_lrcmra": [1,1,0,324,16000], "enemy_1517_xi": [1,1,0,11243,48000], - "enemy_2048_smgrd": [1,1,0,5522,40000], - "enemy_9011_acrefr": [12,8,0,11500,318808] + "enemy_2048_smgrd": [1,1,0,5609,40000], + "enemy_9011_acrefr": [12,9,0,11787,318125] }, - "hooks": [1,101,5700,972,972,2317,2716,1581,83,83,48,44,30,29691,498,34,82,0,1,84,2,0,1], - "events": {"atk":1788,"bounty":6,"deploy":17,"die":83,"dmg":2486,"engage":9,"fx":280,"heal":79,"layer":2,"skill":92,"spawn":96,"status":1157}, - "fx": {"camouflage":2,"charge":17,"counter":30,"crit":38,"dilemma":6,"displace":7,"dodge":1,"explode":1,"garrison":2,"healField":2,"jungleSoul":3,"mote":26,"quadShot":1,"redistribute":30,"revive":1,"reweave":2,"ripple":15,"sandChains":5,"sermon":1,"shadowWeave":35,"shield":4,"slash":36,"stealth":6,"summon":1,"telegraph":6,"truesilver":2}, - "snaps": "4ec6c58b 31b6e4f7 b3a1832d 1d3aef5f a87a8d54 03884138 51cdef78 9ed2fd94 6dc7967a 5abbf904 1c8c11b7 1d22075e 459d6f35 c29e281e 36befd7b 59fdbfb6 ba6c43fa eafb4ef7 2ce67130" + "hooks": [1,101,5700,973,973,2312,2712,1746,84,84,49,45,30,29802,490,34,82,0,1,85,1,0,0], + "events": {"atk":1786,"bounty":6,"deploy":17,"die":84,"dmg":2482,"engage":9,"fx":281,"heal":79,"layer":1,"skill":94,"spawn":96,"status":1143}, + "fx": {"camouflage":2,"charge":18,"counter":30,"crit":37,"dilemma":6,"displace":7,"explode":1,"garrison":1,"healField":2,"jungleSoul":3,"mote":26,"quadShot":1,"redistribute":30,"revive":1,"reweave":2,"ripple":17,"sandChains":5,"sermon":1,"shadowWeave":36,"shield":4,"slash":36,"stealth":6,"summon":1,"telegraph":6,"truesilver":2}, + "snaps": "4ec6c58b 31b6e4f7 b3a1832d 7fb1648c 667f2020 f9e3b739 abb3f8fa d43cec00 81828927 23349a66 a56c1fc9 c942c114 2b41ad62 7c637dc3 d9577229 4acbab9d 79be14af d6e74675 ba50dd99" }, "roster-012": { "about": "pass 0 band 5: chess_char_4_17_b chess_char_4_18_b chess_char_4_11_b chess_char_4_19_b chess_char_4_22_b chess_char_4_16_b chess_char_4_10_b chess_char_4_12_b chess_char_4_13_b chess_char_4_14_b chess_char_4_20_b chess_char_4_21_b token_10041_cathy_catsld token_10041_cathy_catsld", @@ -777,7 +777,7 @@ "hooks": [1,125,4847,485,485,1427,1424,821,110,113,83,82,0,17042,1514,29,100,1,1,119,1,0,3], "events": {"atk":636,"bounty":5,"deploy":22,"die":112,"dmg":1415,"engage":10,"fx":275,"heal":212,"layer":1,"leak":1,"skill":167,"spawn":117,"status":1018}, "fx": {"beam":6,"blink":2,"block":2,"displace":11,"dodge":3,"explode":6,"explosion":23,"featherArrow":4,"flame":3,"frostNova":35,"garrison":1,"garrisonGrant":1,"healField":2,"overclock":1,"palsy":1,"pull":2,"revive":4,"riposte":2,"rockslide":4,"shieldBreak":9,"slash":30,"summon":1,"swordRain":28,"swordStorm":6,"telegraph":3,"thorns":1,"tornado":2,"tornadoPulse":10,"truesilver":3,"zone":69}, - "snaps": "ccfbde35 4d2aba8a 8dfe85b0 528967cd 3dbb0c86 c06ed10c 2e96bd48 7b9b35a5 b7b36032 323ec922 4199cd1a 0940cade b87b745a ff75d11f 64cca2ce b9bb5bac fc4d294c" + "snaps": "ccfbde35 4d2aba8a 8dfe85b0 528967cd 3dbb0c86 c06ed10c 2e96bd48 7b9b35a5 81a8026f 675eec02 948b697a 13acafbe ccecc7ba 12eda37f 39b76bae 6dc9150c ed5e09ac" }, "roster-013": { "about": "pass 0 band 5: chess_char_4_23_b chess_char_5_08_a chess_char_5_01_a chess_char_5_05_a chess_char_5_06_a chess_char_5_07_a chess_char_4_24_b chess_char_4_25_b chess_char_4_26_b chess_char_5_02_a chess_char_5_03_a chess_char_5_10_a", @@ -1135,7 +1135,7 @@ "hooks": [1,193,5965,895,895,1366,1742,349,184,186,46,43,123,35603,1303,179,174,0,1,193,3,3,0], "events": {"atk":910,"bounty":6,"deploy":19,"die":186,"dmg":1518,"engage":11,"fx":201,"heal":138,"layer":3,"skill":89,"spawn":188,"status":918}, "fx": {"airstrike":33,"beam":6,"burst":3,"cleanse":3,"displace":1,"dp":3,"drone":50,"droneLock":21,"drones":1,"emergency":7,"explode":16,"finale":4,"garrison":3,"link":2,"scorchBurst":18,"slash":17,"steal":3,"summon":3,"sunBurst":2,"talent":3,"undying":2}, - "snaps": "43b03df4 4fcc619d 2be2121d b478fa2a 1c29c601 b33d14b7 0584e2d0 82b225f7 09241fe7 4f2805dd 3462bfac 3ffdbd77 73f9a044 2a84c2d8 8d905cc5 3ebb29ff 02a7318c 9bab956c 7db8bfe9 5cc46ec7" + "snaps": "43b03df4 4fcc619d 2be2121d b478fa2a 1c29c601 96aa34d3 0e886eac f600ec73 907ca853 552e1671 341eafc8 6e0f6a0b 372bf3a0 624a0dcc 83ca1bb1 b6c00e03 87871968 eb329c28 18669ab5 6b1c8ca3" }, "roster-018": { "about": "pass 0 band 7: chess_char_6_03_b chess_char_6_06_b chess_char_6_07_b chess_char_6_20_a chess_char_6_01_b chess_char_6_02_b chess_char_6_04_b chess_char_6_05_b chess_char_6_08_b chess_char_6_09_b chess_char_6_11_b chess_char_6_12_b token_10017_skadi2_dedant token_10030_mlyss_wtrman", @@ -1247,19 +1247,19 @@ "coins": 12, "dmg": 3002858, "bossDmg": 0, - "heal": 151109, + "heal": 151373, "deaths": 0, "layerGains": {"deputShip":12} } }, "units": [ ["p1",1,"op","chess_char_6_15_b",2,"uniequip_002_qiubai",6263.63,1,14,26,881807,49881,0,208,3], - ["p1",2,"op","chess_char_6_19_b",2,"uniequip_002_blkkgt",6087.4,1,9,8,257902,2105,0,9,3], + ["p1",2,"op","chess_char_6_19_b",2,"uniequip_002_blkkgt",6087.4,1,9,8,257902,2368,0,9,3], ["p1",3,"op","chess_char_5_01_b",0,"uniequip_003_excu2",4049.22,1,10,0,8361,1953,200,3,0], ["p1",4,"op","chess_char_5_05_b",0,"none",12815,1,7,0,0,1000,100,0,0], ["p1",5,"op","chess_char_6_17_b",2,"uniequip_002_nearl2",10122.44,1,24,20,425280,48361,0,105,3], ["p1",6,"op","chess_char_6_13_b",1,"uniequip_002_angel2",4873,1,2,28,540782,10588,1317,60,2], - ["p1",7,"op","chess_char_6_14_b",2,"uniequip_002_lumen",4177.8,1,3,0,0,0,9754,78,1], + ["p1",7,"op","chess_char_6_14_b",2,"uniequip_002_lumen",4177.8,1,3,0,0,0,10017,78,1], ["p1",8,"op","chess_char_6_16_b",2,"uniequip_002_halo2",3165.8,1,4,1,81240,0,0,48,2], ["p1",9,"op","chess_char_6_18_b",2,"uniequip_002_whitw2",3390.2,1,8,17,575679,1000,0,72,3], ["p1",10,"op","chess_char_6_20_b",2,"uniequip_002_agoat2",3475.3,1,12,0,0,37945,139738,69,2], @@ -1282,13 +1282,13 @@ "enemy_1367_dseed": [1,1,0,0,8600], "enemy_1439_dslntf_2": [1,1,0,20025,94596], "enemy_2003_rockman": [1,1,0,1417,214991], - "enemy_9007_acelem": [12,12,0,41756,1238347], + "enemy_9007_acelem": [12,12,0,42020,1238347], "enemy_9009_acfort": [1,1,0,3643,68797] }, - "hooks": [1,125,6028,925,925,2810,3369,649,108,113,30,27,55,22777,1447,79,108,0,1,108,2,7,0], - "events": {"atk":1296,"bounty":6,"deploy":17,"die":113,"dmg":3164,"engage":10,"fx":532,"heal":537,"layer":2,"skill":57,"spawn":123,"status":448}, + "hooks": [1,125,6028,925,925,2811,3370,648,108,113,30,27,55,22777,1447,79,108,0,1,108,2,7,0], + "events": {"atk":1296,"bounty":6,"deploy":17,"die":113,"dmg":3165,"engage":10,"fx":532,"heal":536,"layer":2,"skill":57,"spawn":123,"status":448}, "fx": {"airstrike":17,"aoe":11,"beam":24,"blink":2,"bombard":10,"bombardShell":10,"burst":7,"cleanse":2,"displace":4,"drone":353,"droneLock":45,"drones":3,"emergency":1,"finale":3,"garrison":2,"garrisonGrant":1,"link":4,"radiantSword":3,"slash":21,"steal":2,"summon":3,"sunBurst":1,"talent":3}, - "snaps": "01a34277 0e7ad63e efd260c2 caa9f746 70118f40 b3efb03c de6d6921 949345a2 044a2b7f 708e7b55 4d219240 d5449fa5 16d7d388 9acd59d5 6a170c8e 5cb70efa f2ae5891 7f3e163c 63a11ec8 d5bcbf3a" + "snaps": "01a34277 0e7ad63e efd260c2 caa9f746 70118f40 b3efb03c de6d6921 949345a2 7e82b678 f52d675c 2ff925cb 4ac8700c f634f469 4fe3ff96 e4da1646 afc659b2 2a175c39 f51d0224 234f4ad0 8b7bcae2" }, "roster-020": { "about": "pass 1 band 1: chess_char_1_02_a chess_char_1_04_a chess_char_1_10_a chess_char_1_08_a chess_char_1_12_a chess_char_1_01_a chess_char_1_03_a chess_char_1_06_a chess_char_1_07_a chess_char_1_09_a chess_char_1_13_a chess_char_1_14_a", @@ -1897,28 +1897,28 @@ "time": 190, "ticks": 5700, "reason": "timeout", - "killed": 64, + "killed": 72, "total": 76, "unspawned": 0, "bossHpLeft": null, - "rngDraws": 141, + "rngDraws": 137, "errors": {"count":0,"kinds":[]}, "players": { - "p1": {"killed":64,"total":76,"perfect":false,"leaks":12,"leaksUncounted":0,"coins":6,"dmg":808362,"bossDmg":0,"heal":46581,"deaths":6,"layerGains":{"preciShip":8}} + "p1": {"killed":72,"total":76,"perfect":false,"leaks":4,"leaksUncounted":0,"coins":6,"dmg":855320,"bossDmg":0,"heal":46424,"deaths":5,"layerGains":{"preciShip":8}} }, "units": [ - ["p1",1,"op","chess_char_4_17_b",0,"uniequip_003_hsguma",294.8,1,94,0,8514,6981,0,54,2], - ["p1",2,"op","chess_char_4_18_b",0,"uniequip_003_mudrok",5522.9,1,99,5,76661,9083,3182,50,2], + ["p1",1,"op","chess_char_4_17_b",0,"uniequip_003_hsguma",855.47,1,94,0,8514,6421,0,54,2], + ["p1",2,"op","chess_char_4_18_b",0,"uniequip_003_mudrok",5522.9,1,5,12,137510,5514,5325,90,3], ["p1",3,"op","chess_char_4_11_b",0,"none",2544,1,86,0,6128,6333,0,32,0], - ["p1",4,"op","chess_char_4_19_b",0,"uniequip_003_flamtl",1943,1,83,4,74590,3126,0,76,13], - ["p1",5,"op","chess_char_4_22_b",0,"none",2379,1,12,11,125646,18243,0,123,41], - ["p1",6,"op","chess_char_4_16_b",0,"uniequip_003_texas2",1609,1,14,10,118693,20183,0,168,2], + ["p1",4,"op","chess_char_4_19_b",0,"uniequip_003_flamtl",1943,1,83,4,72764,3365,0,74,13], + ["p1",5,"op","chess_char_4_22_b",0,"none",2379,1,12,14,126025,17637,0,124,41], + ["p1",6,"op","chess_char_4_16_b",0,"uniequip_003_texas2",1609,1,14,13,117650,18252,0,168,2], ["p1",7,"op","chess_char_4_10_b",0,"none",1514,1,8,0,0,0,0,0,0], - ["p1",8,"op","chess_char_4_12_b",0,"uniequip_003_glady",4456.2,1,9,0,59468,0,0,30,26], - ["p1",9,"op","chess_char_4_13_b",0,"uniequip_003_gnosis",1974,1,13,13,141663,0,0,100,100], - ["p1",10,"op","chess_char_4_14_b",0,"none",0,0,73,3,30168,3092,0,14,3], - ["p1",11,"op","chess_char_4_20_b",0,"uniequip_003_fartth",1499,1,6,17,166831,0,0,82,4], - ["p1",12,"op","chess_char_4_21_b",0,"none",1524,1,10,0,0,0,43399,61,4], + ["p1",8,"op","chess_char_4_12_b",0,"uniequip_003_glady",4456.2,1,9,3,63571,0,0,34,28], + ["p1",9,"op","chess_char_4_13_b",0,"uniequip_003_gnosis",1974,1,13,8,142846,0,0,101,101], + ["p1",10,"op","chess_char_4_14_b",0,"none",1546,1,99,1,17041,3092,0,8,2], + ["p1",11,"op","chess_char_4_20_b",0,"uniequip_003_fartth",1499,1,6,16,163271,0,0,82,4], + ["p1",12,"op","chess_char_4_21_b",0,"none",1524,1,10,0,0,0,41099,61,4], ["p1",13,"token","token_10041_cathy_catsld",null,null,100,1,16,0,0,0,0,0,null], ["p1",14,"token","token_10041_cathy_catsld",null,null,100,1,15,0,0,0,0,0,null], ["-","~1","device","trap_1105_accrate",null,null,100,1,1,0,0,0,0,0,null], @@ -1926,20 +1926,20 @@ ], "enemies": { "enemy_1006_shield_2": [1,1,0,366,16589], - "enemy_1010_demon": [21,17,4,34710,234366], + "enemy_1010_demon": [21,21,0,32464,261274], "enemy_1019_jshoot_2": [1,1,0,129,4479], "enemy_1148_dssbr": [1,1,0,0,4645], "enemy_1198_msfshu": [1,1,0,0,5], "enemy_1269_nhfly": [1,1,0,533,0], - "enemy_1320_wdrrl_2": [6,2,3,11472,116114], + "enemy_1320_wdrrl_2": [6,3,2,15003,140316], "enemy_1387_winshd": [1,1,0,2918,19907], - "enemy_1422_lrsldr_2": [42,39,3,1365,371802], - "enemy_1539_reid": [1,0,1,15550,40456] + "enemy_1422_lrsldr_2": [42,42,0,1715,383201], + "enemy_1539_reid": [1,0,1,7486,24905] }, - "hooks": [1,97,5700,1034,1034,1118,1102,123,70,81,197,195,0,16443,2326,63,76,11,1,85,1,0,8], - "events": {"atk":1088,"bounty":3,"deploy":19,"die":70,"dmg":1090,"engage":10,"fx":84,"heal":115,"layer":1,"leak":11,"skill":395,"spawn":92,"status":429}, - "fx": {"block":8,"charge":4,"displace":19,"dodge":8,"dp":13,"explode":4,"garrison":1,"garrisonGrant":1,"revive":1,"riposte":8,"shieldBreak":12,"swordRain":2,"telegraph":1,"undying":2}, - "snaps": "8285ab52 9e70080e a7c10a1e 192dab0b 40a84501 f7c55fa6 88ea3b8a 8d6efb4d 630fcfc6 772e22aa 624415dc f071b098 39ef0344 0961f483 027e3ae9 6bad7832 df731dc0 16849966 f7249471" + "hooks": [1,97,5700,1092,1092,1172,1157,127,77,80,200,199,0,16940,2320,68,76,3,1,84,1,0,8], + "events": {"atk":1143,"bounty":3,"deploy":19,"die":77,"dmg":1139,"engage":10,"fx":84,"heal":121,"layer":1,"leak":3,"skill":402,"spawn":92,"status":452}, + "fx": {"block":7,"charge":4,"displace":16,"dodge":8,"dp":13,"explode":5,"garrison":1,"garrisonGrant":1,"riposte":8,"shieldBreak":18,"swordRain":2,"undying":1}, + "snaps": "8285ab52 6fd65ebc 6f14bfe5 6afc4793 320fd5a9 b55ab40a 56b0c5b8 466755bb 27f410e5 54a5e39c 3105543e 858c7c28 c88fd1b6 29f59d2f 9f8a9f34 cf042b90 8bfd2013 6888b81d 02fcb210" }, "roster-032": { "about": "pass 1 band 5: chess_char_4_23_b chess_char_5_08_a chess_char_5_01_a chess_char_5_05_a chess_char_5_06_a chess_char_5_07_a chess_char_4_24_b chess_char_4_25_b chess_char_4_26_b chess_char_5_02_a chess_char_5_03_a chess_char_5_10_a", @@ -1969,21 +1969,21 @@ "coins": 4, "dmg": 1027851, "bossDmg": 0, - "heal": 133329, + "heal": 132091, "deaths": 9, "layerGains": {"sargonShip":25} } }, "units": [ ["p1",1,"op","chess_char_4_23_b",0,"uniequip_003_gvial2",0,0,100,6,55704,12833,7201,41,1], - ["p1",2,"op","chess_char_5_08_a",0,null,0,0,77,9,96743,4819,2199,27,9], + ["p1",2,"op","chess_char_5_08_a",0,null,0,0,77,9,95157,4819,2199,27,9], ["p1",3,"op","chess_char_5_01_a",0,null,1967,1,11,3,22366,932,932,25,1], - ["p1",4,"op","chess_char_5_05_a",0,null,6147,1,13,21,223297,52451,40817,50,22], - ["p1",5,"op","chess_char_5_06_a",0,null,1133.44,1,15,27,442625,59116,56580,127,35], + ["p1",4,"op","chess_char_5_05_a",0,null,6147,1,13,21,224883,51685,40270,50,22], + ["p1",5,"op","chess_char_5_06_a",0,null,1133.44,1,15,27,442625,58644,56107,127,35], ["p1",6,"op","chess_char_5_07_a",0,null,2216,1,102,0,6,2215,0,6,1], ["p1",7,"op","chess_char_4_24_b",0,"uniequip_003_billro",1978,1,103,1,82826,1978,0,25,3], ["p1",8,"op","chess_char_4_25_b",0,"none",2982,1,87,0,0,4733,1751,0,2], - ["p1",9,"op","chess_char_4_26_b",1,"none",1482,1,88,0,0,9084,20113,32,3], + ["p1",9,"op","chess_char_4_26_b",1,"none",1482,1,88,0,0,9084,19894,32,3], ["p1",10,"op","chess_char_5_02_a",0,null,1208,1,97,2,27288,5469,3735,75,1], ["p1",11,"op","chess_char_5_03_a",0,null,1206,1,4,2,57903,0,0,77,7], ["p1",12,"op","chess_char_5_10_a",0,null,1184,1,101,0,19093,1184,0,40,2], @@ -1999,14 +1999,14 @@ "enemy_1168_dumage_2": [1,1,0,2963,16174], "enemy_1208_msfji": [1,0,1,0,59], "enemy_1299_ymkilr_2": [10,6,4,50098,185312], - "enemy_1422_lrsldr_2": [42,40,2,13480,556334], + "enemy_1422_lrsldr_2": [42,40,2,12241,556334], "enemy_1433_dsbasi_2": [1,1,0,932,14183], "enemy_2025_syufo": [1,0,1,5469,9694] }, - "hooks": [1,103,5700,823,823,3255,3506,6134,80,89,87,86,9,25932,386,80,80,8,1,116,7,3,0], - "events": {"atk":1308,"bounty":2,"deploy":20,"die":81,"dmg":3506,"engage":10,"fx":186,"heal":1058,"layer":7,"leak":8,"skill":173,"spawn":95,"status":355}, + "hooks": [1,103,5700,819,819,3250,3501,6123,80,89,87,86,9,25932,386,80,80,8,1,116,7,3,0], + "events": {"atk":1304,"bounty":2,"deploy":20,"die":81,"dmg":3501,"engage":10,"fx":186,"heal":1052,"layer":7,"leak":8,"skill":173,"spawn":95,"status":355}, "fx": {"anchor":22,"aoe":7,"bloodBattle":5,"burst":3,"camouflage":2,"displace":29,"ember":1,"explode":6,"extraAttack":4,"garrison":7,"garrisonGrant":1,"mote":56,"reborn":1,"shell":3,"spGift":36,"zone":3}, - "snaps": "081da39e 3e9bded5 546a9685 5d9692fc a0e3c592 060a5462 3b9d8ec7 d5fb168e c6e70fb2 fd25a934 1913bcc1 112882b2 6914176b e229210a 87b12b30 b5ba23f7 7eb48111 87002903 04bad58b" + "snaps": "081da39e 3e9bded5 546a9685 2ee63d86 7f4610d0 8cd9ed6a 09a886a3 b9ab5848 c73f5fee 138a8259 1bdc3e58 b4be4487 fa91162e a0fa5569 5d6f1e63 f2e13250 e4390d81 c24f7f33 1d4dd37b" }, "roster-033": { "about": "pass 1 band 6: chess_char_5_11_a chess_char_5_19_a chess_char_5_13_a chess_char_5_14_a chess_char_5_06_b chess_char_5_17_a chess_char_5_12_a chess_char_5_15_a chess_char_5_20_a chess_char_5_21_a chess_char_5_22_a chess_char_5_23_a", @@ -2404,33 +2404,21 @@ "rngDraws": 29, "errors": {"count":0,"kinds":[]}, "players": { - "p1": { - "killed": 47, - "total": 52, - "perfect": false, - "leaks": 5, - "leaksUncounted": 1, - "coins": 6, - "dmg": 440079, - "bossDmg": 0, - "heal": 13648, - "deaths": 1, - "layerGains": {"miraShip":1,"raidShip":27} - } + "p1": {"killed":47,"total":52,"perfect":false,"leaks":5,"leaksUncounted":1,"coins":6,"dmg":440079,"bossDmg":0,"heal":13665,"deaths":1,"layerGains":{"raidShip":27}} }, "units": [ ["p1",1,"op","chess_char_3_12_a",1,null,4481.28,1,29,8,53301,3605,3608,222,9], ["p1",2,"op","chess_char_3_12_b",1,"none",5637.12,1,31,6,51231,479,479,143,7], ["p1",3,"op","chess_char_3_18_a",1,null,1481,1,10,0,7643,0,0,0,7], ["p1",4,"op","chess_char_3_18_b",1,"none",1715.43,1,57,4,77894,5011,3036,137,9], - ["p1",5,"op","chess_char_3_04_a",2,null,1864,1,9,4,38720,34,34,94,3], + ["p1",5,"op","chess_char_3_04_a",2,null,1864,1,9,5,39120,51,51,94,3], ["p1",6,"op","chess_char_3_05_a",1,null,5876,1,11,3,26580,4580,4580,80,1], ["p1",7,"op","chess_char_3_04_b",2,"uniequip_004_swire2",2658.89,1,73,5,40260,275,275,54,3], ["p1",8,"op","chess_char_3_05_b",1,"none",6821.76,1,61,3,32949,1630,1636,23,3], - ["p1",9,"op","chess_char_3_01_a",1,null,1511.94,1,1,2,4527,0,0,47,2], - ["p1",10,"op","chess_char_3_19_a",1,null,1439,1,4,1,31340,0,0,101,4], - ["p1",11,"op","chess_char_3_21_a",1,null,1364,1,7,9,66107,0,0,177,17], - ["p1",12,"op","chess_char_3_01_b",1,"none",1965.6,1,2,2,7790,0,0,47,2], + ["p1",9,"op","chess_char_3_01_a",1,null,1511.94,1,1,1,4192,0,0,46,2], + ["p1",10,"op","chess_char_3_19_a",1,null,1439,1,4,0,31620,0,0,101,4], + ["p1",11,"op","chess_char_3_21_a",1,null,1364,1,7,10,65763,0,0,177,17], + ["p1",12,"op","chess_char_3_01_b",1,"none",1965.6,1,2,2,7790,0,0,46,2], ["p1",13,"token","token_10028_vigil_wolf",null,null,880,1,5,0,1737,0,0,7,null] ], "enemies": { @@ -2441,15 +2429,15 @@ "enemy_1208_msfji_2": [1,1,0,0,32], "enemy_1302_ymtro_2": [1,1,0,0,32400], "enemy_1381_winman": [21,21,0,1157,131544], - "enemy_1381_winman_2": [12,12,0,1085,101088], + "enemy_1381_winman_2": [12,12,0,1102,101088], "enemy_1387_winshd": [12,7,0,8431,121750], "enemy_1438_dspred": [1,1,0,2934,14256], "enemy_2034_sythef": [1,1,0,25,8640] }, - "hooks": [1,74,5100,1392,1392,1946,1946,3274,48,55,67,64,0,15874,103,85,53,0,1,48,7,0,0], - "events": {"atk":1392,"bounty":3,"deploy":21,"die":55,"dmg":1946,"engage":12,"fx":146,"heal":8,"layer":7,"skill":131,"spawn":66,"status":167}, - "fx": {"aoe":31,"blink":4,"bondMilestone":1,"buff":6,"coin":50,"displace":8,"dp":20,"garrison":7,"shield":1,"volley":17,"wolfShadow":1}, - "snaps": "b7d44319 4fc048ae 28ee4e6e c9c603c2 55d0890f 7dc46b6f 45f82890 a80e21f1 4798eff8 d051d766 d7744b9f bb5fd3de c958366f 0c72b3be 3c5f8167 11cd7bde 9e47cb83" + "hooks": [1,74,5100,1391,1391,1946,1946,3277,48,55,67,64,0,15874,103,86,53,0,1,48,6,0,0], + "events": {"atk":1391,"bounty":3,"deploy":21,"die":55,"dmg":1946,"engage":12,"fx":145,"heal":8,"layer":6,"skill":131,"spawn":66,"status":167}, + "fx": {"aoe":31,"blink":4,"bondMilestone":1,"buff":6,"coin":50,"displace":8,"dp":20,"garrison":6,"shield":1,"volley":17,"wolfShadow":1}, + "snaps": "b7d44319 4fc048ae 28ee4e6e c9c603c2 55d0890f 7dc46b6f 45f82890 a80e21f1 4798eff8 d051d766 d7744b9f 8f75050e 6b39ddea 434592eb 4c2804c6 615628a3 81d412fe" }, "roster-040": { "about": "pass 2 band 4: chess_char_4_01_a chess_char_4_17_a chess_char_4_18_a chess_char_4_04_a chess_char_4_07_a chess_char_4_16_a chess_char_4_09_a chess_char_3_19_b chess_char_3_21_b chess_char_4_02_a chess_char_4_12_a chess_char_4_13_a token_10028_vigil_wolf", @@ -2467,44 +2455,43 @@ "total": 65, "unspawned": 0, "bossHpLeft": null, - "rngDraws": 290, + "rngDraws": 314, "errors": {"count":0,"kinds":[]}, - "players": {"p1":{"killed":28,"total":65,"perfect":false,"leaks":37,"leaksUncounted":0,"coins":4,"dmg":539070,"bossDmg":0,"heal":532,"deaths":29,"layerGains":{}}}, + "players": {"p1":{"killed":28,"total":65,"perfect":false,"leaks":37,"leaksUncounted":0,"coins":4,"dmg":561208,"bossDmg":0,"heal":460,"deaths":29,"layerGains":{}}}, "units": [ - ["p1",1,"op","chess_char_4_01_a",1,null,0,0,3,1,4146,2638,0,43,1], - ["p1",2,"op","chess_char_4_17_a",2,null,0,0,6,0,15255,2849,0,27,1], - ["p1",3,"op","chess_char_4_18_a",2,null,0,0,8,0,14465,2867,0,13,1], - ["p1",4,"op","chess_char_4_04_a",2,null,1380.13,1,103,3,44236,7420,0,27,5], + ["p1",1,"op","chess_char_4_01_a",1,null,0,0,3,0,2677,2638,0,54,1], + ["p1",2,"op","chess_char_4_17_a",2,null,2438.68,1,104,1,17340,3259,0,29,1], + ["p1",3,"op","chess_char_4_18_a",2,null,0,0,8,0,15871,2867,0,14,1], + ["p1",4,"op","chess_char_4_04_a",2,null,395.34,1,103,8,65906,8405,0,48,5], ["p1",5,"op","chess_char_4_07_a",2,null,0,0,84,0,2834,8690,0,12,1], - ["p1",6,"op","chess_char_4_16_a",1,null,520.98,1,102,0,60790,8201,0,23,7], - ["p1",7,"op","chess_char_4_09_a",2,null,1179.06,1,101,1,13963,1493,0,18,0], - ["p1",8,"op","chess_char_3_19_b",1,"none",0,0,92,6,63680,3296,0,75,2], - ["p1",9,"op","chess_char_3_21_b",1,"uniequip_004_archet",0,0,94,6,149953,3180,0,64,7], - ["p1",10,"op","chess_char_4_02_a",1,null,0,0,88,4,62899,2856,0,20,1], - ["p1",11,"op","chess_char_4_12_a",1,null,0,0,89,4,41821,4040,532,37,1], + ["p1",6,"op","chess_char_4_16_a",1,null,641.81,1,102,0,62045,8080,0,23,7], + ["p1",7,"op","chess_char_4_09_a",2,null,969.81,1,92,1,19207,1702,0,20,1], + ["p1",8,"op","chess_char_3_19_b",1,"none",0,0,100,3,42286,3296,0,73,1], + ["p1",9,"op","chess_char_3_21_b",1,"uniequip_004_archet",0,0,93,4,165665,3180,0,71,8], + ["p1",10,"op","chess_char_4_02_a",1,null,0,0,88,5,60853,2856,0,20,1], + ["p1",11,"op","chess_char_4_12_a",1,null,0,0,89,3,41495,3968,460,36,1], ["p1",12,"op","chess_char_4_13_a",2,null,0,0,77,3,65028,3174,0,64,1], - ["p1",13,"token","token_10028_vigil_wolf",null,null,1026,0,5,0,0,0,0,0,null], + ["p1",13,"token","token_10028_vigil_wolf",null,null,567.5,0,101,0,0,3219,0,0,null], ["-","~1","device","trap_1105_accrate",null,null,100,1,1,0,0,0,0,0,null], - ["-","~2","device","trap_1105_accrate",null,null,100,1,2,0,0,0,0,0,null], - ["p1","~1","token","token_10028_vigil_wolf",null,null,854.06,0,93,0,0,1161,0,0,null] + ["-","~2","device","trap_1105_accrate",null,null,100,1,2,0,0,0,0,0,null] ], "enemies": { - "enemy_1005_yokai": [24,15,9,0,61406], - "enemy_1005_yokai_2": [27,10,12,9640,95871], - "enemy_1005_yokai_3": [6,0,5,21276,242322], + "enemy_1005_yokai": [24,14,10,0,58116], + "enemy_1005_yokai_2": [27,10,13,11839,120127], + "enemy_1005_yokai_3": [6,1,4,20879,232521], "enemy_10065_ftzlc": [1,1,0,0,16339], - "enemy_10162_mnctpt": [1,0,1,5059,43013], + "enemy_10162_mnctpt": [1,0,1,6673,47734], "enemy_1119_vofsd": [1,1,0,0,47298], "enemy_1196_msfyin_2": [1,1,0,0,7], - "enemy_1254_lypa_2": [1,0,1,9973,29143], - "enemy_1367_dseed": [1,0,1,0,1995], - "enemy_1517_xi": [1,0,1,5916,1676], - "enemy_9016_acstmr": [1,0,1,0,0] + "enemy_1254_lypa_2": [1,0,1,10588,31313], + "enemy_1367_dseed": [1,0,1,0,2182], + "enemy_1517_xi": [1,0,1,4956,5540], + "enemy_9016_acstmr": [1,0,1,0,31] }, - "hooks": [1,102,5100,642,642,976,1028,371,57,91,28,27,29,9673,247,15,65,31,1,63,0,2,9], - "events": {"atk":719,"bounty":2,"deploy":35,"die":60,"dmg":1021,"engage":12,"fx":91,"leak":31,"skill":55,"spawn":81,"status":269}, - "fx": {"beam":5,"block":2,"buff":3,"burst":2,"coldWind":1,"dodge":9,"dp":2,"iceSpike":1,"overclock":1,"overload":1,"revive":4,"rockfall":1,"sentry":6,"shadowWeave":19,"shield":6,"shieldBreak":7,"stone":1,"summon":1,"swordStorm":7,"telegraph":2,"volley":7,"wake":1,"wolfShadow":1,"zone":1}, - "snaps": "1a929dbc 7451dcc4 0ee48092 20e4366e 344bb7d6 c4ddc413 f7b86fa8 ba9b29f8 5fd594a5 5be4437d 366984c4 7d7082b1 98b0b2f1 2eca0438 b1da6518 1e074864 280e1bad" + "hooks": [1,103,5100,734,734,1094,1100,320,58,92,29,28,19,10332,251,15,65,32,1,66,0,1,23], + "events": {"atk":818,"bounty":2,"deploy":36,"die":60,"dmg":1093,"engage":12,"fx":111,"leak":32,"skill":57,"spawn":80,"status":271}, + "fx": {"beam":5,"block":3,"buff":2,"burst":1,"coldWind":1,"dodge":23,"dp":1,"explode":1,"iceSpike":1,"overclock":1,"overload":1,"revive":3,"ripple":1,"rockfall":1,"sentry":6,"shadowWeave":21,"shield":7,"shieldBreak":6,"stone":1,"summon":1,"swordStorm":7,"telegraph":3,"volley":8,"wake":1,"wolfShadow":1,"wolfShadowLost":3,"zone":1}, + "snaps": "1a929dbc 10d3e1a1 32c57a4c 453c40de 39991d46 d1badb60 93a80ae5 3f5fd356 9790cf11 f7a44c04 7d48a2d9 fcd195ec 791a30be ab595962 df33ce42 438bb413 ba2b787d" }, "roster-041": { "about": "pass 2 band 5: chess_char_4_23_a chess_char_4_01_b chess_char_4_19_a chess_char_4_22_a chess_char_4_04_b chess_char_4_07_b chess_char_4_09_b chess_char_4_20_a chess_char_4_24_a chess_char_4_25_a chess_char_4_02_b chess_char_4_12_b", @@ -2522,40 +2509,40 @@ "total": 47, "unspawned": 0, "bossHpLeft": null, - "rngDraws": 39, + "rngDraws": 35, "errors": {"count":0,"kinds":[]}, - "players": {"p1":{"killed":46,"total":47,"perfect":false,"leaks":1,"leaksUncounted":0,"coins":8,"dmg":526018,"bossDmg":0,"heal":15976,"deaths":5,"layerGains":{}}}, + "players": {"p1":{"killed":46,"total":47,"perfect":false,"leaks":1,"leaksUncounted":0,"coins":8,"dmg":525754,"bossDmg":0,"heal":11766,"deaths":4,"layerGains":{}}}, "units": [ - ["p1",1,"op","chess_char_4_23_a",1,null,0,0,6,1,36052,2179,0,57,2], - ["p1",2,"op","chess_char_4_01_b",1,"none",4593.08,1,9,1,5749,397,0,62,1], - ["p1",3,"op","chess_char_4_19_a",1,null,0,0,59,0,1924,5063,0,43,3], - ["p1",4,"op","chess_char_4_22_a",1,null,2022,1,7,0,203,707,18,6,1], - ["p1",5,"op","chess_char_4_04_b",2,"uniequip_002_ines",0,0,52,4,69846,16432,0,119,2], + ["p1",1,"op","chess_char_4_23_a",1,null,2179,1,65,2,22185,2179,0,43,2], + ["p1",2,"op","chess_char_4_01_b",1,"none",4829.79,1,9,0,4678,161,0,56,1], + ["p1",3,"op","chess_char_4_19_a",1,null,279.88,1,58,0,2312,4737,0,50,4], + ["p1",4,"op","chess_char_4_22_a",1,null,2022,1,7,0,290,24,0,9,1], + ["p1",5,"op","chess_char_4_04_b",2,"uniequip_002_ines",2149,1,64,5,80714,13555,0,98,3], ["p1",6,"op","chess_char_4_07_b",2,"none",2233,1,8,0,0,0,0,0,0], - ["p1",7,"op","chess_char_4_09_b",2,"uniequip_004_mizuki",1756,1,12,24,295735,1193,0,52,2], - ["p1",8,"op","chess_char_4_20_a",1,null,1217,1,2,2,20266,0,0,81,3], - ["p1",9,"op","chess_char_4_24_a",2,null,1726,1,3,11,64854,0,0,25,4], - ["p1",10,"op","chess_char_4_25_a",1,null,1221,1,4,0,3366,0,0,0,3], + ["p1",7,"op","chess_char_4_09_b",2,"uniequip_004_mizuki",1756,1,12,24,294418,588,0,52,2], + ["p1",8,"op","chess_char_4_20_a",1,null,1217,1,2,2,21189,0,0,81,3], + ["p1",9,"op","chess_char_4_24_a",2,null,1726,1,3,9,70217,0,0,25,4], + ["p1",10,"op","chess_char_4_25_a",1,null,1221,1,4,2,1692,0,0,0,3], ["p1",11,"op","chess_char_4_02_b",1,"none",2966.25,1,1,0,0,0,0,0,0], - ["p1",12,"op","chess_char_4_12_b",1,"none",4562.3,1,5,3,28023,0,0,72,4], - ["p1","~1","token","char_613_acmedc",null,null,1314,1,13,0,0,0,15959,19,2] + ["p1",12,"op","chess_char_4_12_b",1,"none",4562.3,1,5,2,28059,0,0,70,4], + ["p1","~1","token","char_613_acmedc",null,null,1314,1,13,0,0,0,11766,16,2] ], "enemies": { - "enemy_1001_bigbo": [1,1,0,2198,17600], + "enemy_1001_bigbo": [1,1,0,2105,17600], "enemy_10097_crshd": [1,1,0,0,8000], "enemy_1045_hammer": [1,1,0,864,8000], - "enemy_1045_hammer_2": [6,5,0,16620,92229], - "enemy_1061_zomshd": [33,33,0,4296,371379], + "enemy_1045_hammer_2": [6,5,0,14153,94451], + "enemy_1061_zomshd": [33,33,0,2349,368893], "enemy_1166_dusbr": [1,1,0,0,2400], "enemy_1204_msfhu_2": [1,1,0,0,5], "enemy_1288_duskls_2": [1,1,0,0,4805], - "enemy_1427_lrnazg": [1,1,0,649,12000], - "enemy_2010_csdcr": [1,1,0,1080,9600] + "enemy_1427_lrnazg": [1,1,0,709,12000], + "enemy_2010_csdcr": [1,1,0,800,9600] }, - "hooks": [1,63,5700,638,638,1045,1040,16158,51,52,27,24,45,26424,83,49,47,0,1,52,0,0,11], - "events": {"atk":949,"bounty":4,"deploy":16,"die":52,"dmg":1003,"engage":9,"fx":178,"heal":36,"skill":51,"spawn":60,"status":342}, - "fx": {"aoe":3,"beam":2,"devour":4,"displace":53,"dodge":11,"ember":1,"garrisonGrant":1,"link":3,"mote":56,"overload":3,"reweave":3,"riposte":5,"ripple":2,"sentry":4,"shadowWeave":18,"shield":3,"snow":1,"summon":1,"wake":4}, - "snaps": "903d6a08 54ed0b39 a5926312 e06609d8 d934b95c f7f55901 ea89d0e0 89193a86 d2705c22 d4e888ca 3ac948ff 97bcf3d4 3390f555 7b4ec718 55959646 3dc3ef0b 4446f6f0 e98ede33 e9343e0a" + "hooks": [1,65,5700,585,585,978,969,15770,50,51,29,24,45,27263,88,50,47,0,1,51,0,0,15], + "events": {"atk":868,"bounty":4,"deploy":18,"die":51,"dmg":934,"engage":9,"fx":189,"heal":26,"skill":53,"spawn":60,"status":364}, + "fx": {"aoe":4,"beam":3,"devour":4,"displace":50,"dodge":15,"ember":1,"garrisonGrant":1,"link":3,"mote":55,"overload":3,"reweave":3,"riposte":9,"ripple":2,"sentry":4,"shadowWeave":24,"shield":2,"snow":1,"summon":1,"wake":4}, + "snaps": "16582b38 4b611f79 fc5f370d f37bce54 1013d4bf 82eb8ef8 703acf6a e8ce017e 7c4c601e e9aefda5 e699abc5 e2bc82ea 81a451c8 6f0f0d96 4754f9f5 2e1c5ee0 077777be a3327f6b 1ba4aea7" }, "roster-042": { "about": "pass 2 band 5: chess_char_4_17_b chess_char_4_18_b chess_char_4_23_b chess_char_4_19_b chess_char_4_22_b chess_char_5_01_a chess_char_4_16_b chess_char_4_13_b chess_char_4_20_b chess_char_4_24_b chess_char_4_25_b chess_char_5_02_a", @@ -2595,14 +2582,14 @@ ["p1",2,"op","chess_char_4_18_b",2,"none",6783,1,5,0,0,0,0,0,0], ["p1",3,"op","chess_char_4_23_b",1,"uniequip_004_gvial2",3667.3,1,7,1,14104,123,123,6,1], ["p1",4,"op","chess_char_4_19_b",1,"none",2525.9,1,10,0,23540,1439,0,5,4], - ["p1",5,"op","chess_char_4_22_b",1,"uniequip_002_svrash",3339.7,1,11,3,38288,7309,4592,48,1], + ["p1",5,"op","chess_char_4_22_b",1,"uniequip_002_svrash",3339.7,1,11,3,38288,7309,4512,48,1], ["p1",6,"op","chess_char_5_01_a",2,null,0,0,56,4,51648,11544,3873,52,1], ["p1",7,"op","chess_char_4_16_b",1,"none",658.3,1,73,14,149695,5766,656,115,6], ["p1",8,"op","chess_char_4_13_b",2,"uniequip_004_gnosis",2553.2,1,8,5,33793,0,0,42,3], ["p1",9,"op","chess_char_4_20_b",1,"none",1844.7,1,9,15,99818,998,0,47,2], ["p1",10,"op","chess_char_4_24_b",2,"none",2571.4,1,12,8,161836,6702,551,45,4], ["p1",11,"op","chess_char_4_25_b",1,"uniequip_002_cetsyr",2172.3,1,4,2,15745,0,0,0,3], - ["p1",12,"op","chess_char_5_02_a",1,null,1570.4,1,6,7,117674,633,11937,24,4], + ["p1",12,"op","chess_char_5_02_a",1,null,1570.4,1,6,7,117674,633,12017,24,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] ], @@ -2619,10 +2606,10 @@ "enemy_1512_mcmstr": [1,1,0,5348,92160], "enemy_9008_acbunn": [1,1,0,1028,13824] }, - "hooks": [1,77,4804,498,498,1222,1233,1563,67,64,29,26,3,16171,1879,43,59,0,1,70,50,0,6], - "events": {"atk":610,"bounty":4,"deploy":16,"die":64,"dmg":1050,"engage":9,"fx":182,"heal":131,"layer":50,"skill":55,"spawn":73,"status":288}, - "fx": {"aoe":4,"bombard":5,"bombardShell":5,"coldWind":3,"devour":4,"displace":1,"dodge":6,"explode":22,"extraAttack":9,"garrison":26,"garrisonGrant":1,"iceSpike":3,"link":2,"mote":33,"overload":1,"revive":1,"reweave":3,"shieldBreak":1,"sleepGuard":4,"snow":1,"swordStorm":6,"telegraph":2,"zone":39}, - "snaps": "6e6cd551 0a57f9de 2e71cf0f 17a84a1d 76ac0e19 3bc65f34 335a0eba 3d3be75c 70af313e 8ab9d9eb e18092b4 f3302e53 c52c8f3b e39fbb70 b6a62e34 fbd754d1" + "hooks": [1,77,4804,498,498,1222,1233,1545,67,64,29,26,3,16171,1879,43,59,0,1,70,50,0,6], + "events": {"atk":610,"bounty":4,"deploy":16,"die":64,"dmg":1050,"engage":9,"fx":183,"heal":130,"layer":50,"skill":55,"spawn":73,"status":288}, + "fx": {"aoe":4,"bombard":5,"bombardShell":5,"coldWind":3,"devour":4,"displace":2,"dodge":6,"explode":22,"extraAttack":9,"garrison":26,"garrisonGrant":1,"iceSpike":3,"link":2,"mote":33,"overload":1,"revive":1,"reweave":3,"shieldBreak":1,"sleepGuard":4,"snow":1,"swordStorm":6,"telegraph":2,"zone":39}, + "snaps": "6e6cd551 0a57f9de 2e71cf0f 17a84a1d 887baea6 9fc899ab a5269265 a2a687a7 955e2c69 049afe28 5bec820f 9c5b8568 a8342098 53ef11cf 353e98b3 40d8183e" }, "roster-043": { "about": "pass 2 band 5: chess_char_5_08_a chess_char_5_11_a chess_char_5_05_a chess_char_5_06_a chess_char_5_13_a chess_char_5_14_a chess_char_5_07_a chess_char_5_17_a chess_char_5_03_a chess_char_5_10_a chess_char_5_12_a chess_char_5_15_a", @@ -2633,51 +2620,51 @@ "round": 10, "seed": 955578768, "waveId": "act1autochess_h03", - "time": 168.63, - "ticks": 5059, + "time": 172.3, + "ticks": 5169, "reason": "cleared", "killed": 55, "total": 64, "unspawned": 0, "bossHpLeft": null, - "rngDraws": 197, + "rngDraws": 246, "errors": {"count":0,"kinds":[]}, "players": { - "p1": {"killed":55,"total":64,"perfect":false,"leaks":9,"leaksUncounted":0,"coins":4,"dmg":917471,"bossDmg":0,"heal":25613,"deaths":15,"layerGains":{"indomShip":45}} + "p1": {"killed":55,"total":64,"perfect":false,"leaks":9,"leaksUncounted":0,"coins":4,"dmg":924251,"bossDmg":0,"heal":24122,"deaths":14,"layerGains":{"indomShip":45}} }, "units": [ - ["p1",1,"op","chess_char_5_08_a",1,null,0,0,76,7,99459,8527,2199,31,2], - ["p1",2,"op","chess_char_5_11_a",2,null,3618.8,1,92,0,8448,13778,1010,17,2], - ["p1",3,"op","chess_char_5_05_a",1,null,6232.41,1,78,6,86944,41233,12040,33,0], - ["p1",4,"op","chess_char_5_06_a",1,null,3013,1,74,5,89954,8914,3898,15,3], - ["p1",5,"op","chess_char_5_13_a",2,null,1521.62,1,37,7,121611,17521,0,34,1], + ["p1",1,"op","chess_char_5_08_a",1,null,0,0,4,6,95289,4902,1100,28,2], + ["p1",2,"op","chess_char_5_11_a",2,null,3618.8,1,90,0,8448,14018,1991,17,2], + ["p1",3,"op","chess_char_5_05_a",1,null,6209.3,1,65,4,73753,34284,10490,30,0], + ["p1",4,"op","chess_char_5_06_a",1,null,2863,1,75,5,96401,9833,4076,12,3], + ["p1",5,"op","chess_char_5_13_a",2,null,1546.02,1,37,9,101933,14783,0,38,1], ["p1",6,"op","chess_char_5_14_a",2,null,1732,1,7,5,43541,7604,3392,63,1], - ["p1",7,"op","chess_char_5_07_a",1,null,2216,1,84,0,2357,3215,0,3,0], - ["p1",8,"op","chess_char_5_17_a",2,null,1545.08,1,90,2,65729,7205,0,68,2], - ["p1",9,"op","chess_char_5_03_a",1,null,1206,1,6,6,135747,6373,3073,42,3], - ["p1",10,"op","chess_char_5_10_a",1,null,1162.34,1,65,5,28706,4356,0,56,1], - ["p1",11,"op","chess_char_5_12_a",2,null,694,1,67,3,95716,10214,0,35,1], - ["p1",12,"op","chess_char_5_15_a",2,null,926,1,58,9,139259,4584,0,80,1], + ["p1",7,"op","chess_char_5_07_a",1,null,2216,1,83,0,2357,3215,0,3,0], + ["p1",8,"op","chess_char_5_17_a",2,null,0,0,64,3,132702,9300,0,80,2], + ["p1",9,"op","chess_char_5_03_a",1,null,1206,1,6,6,131191,6253,3073,39,3], + ["p1",10,"op","chess_char_5_10_a",1,null,1162.34,1,66,3,27494,3656,0,52,1], + ["p1",11,"op","chess_char_5_12_a",2,null,698.68,1,68,4,90952,11059,0,36,1], + ["p1",12,"op","chess_char_5_15_a",2,null,926,1,58,10,120189,4993,0,83,2], ["-","~1","device","trap_1105_accrate",null,null,100,0,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_10084_hlegle": [1,0,1,13362,5751], + "enemy_10084_hlegle": [1,0,1,12642,5751], "enemy_1041_lazerd": [1,0,1,3650,3309], "enemy_1161_tidmag_2": [1,1,0,5338,13271], "enemy_1202_msfzhi_2": [1,1,0,0,7], - "enemy_1267_nhpbr_2": [33,32,1,31390,294340], - "enemy_1270_nhstlk_2": [12,12,0,38343,318505], + "enemy_1267_nhpbr_2": [33,32,1,31192,294340], + "enemy_1270_nhstlk_2": [12,12,0,33455,318505], "enemy_1275_dwlock_2": [1,1,0,5427,23224], "enemy_1422_lrsldr": [1,1,0,0,7797], "enemy_2004_balloon": [1,0,1,164,19473], - "enemy_9006_actoxi": [12,7,5,19200,231793] + "enemy_9006_actoxi": [12,7,5,15843,238573] }, - "hooks": [1,94,5059,727,727,2318,2424,4400,70,81,17,11,18,29643,777,65,64,9,1,97,9,7,1], - "events": {"atk":817,"bounty":2,"deploy":27,"die":72,"dmg":2397,"engage":12,"fx":126,"heal":1145,"layer":9,"leak":9,"skill":28,"spawn":79,"status":466}, - "fx": {"aoe":6,"beam":1,"bloodBattle":2,"burst":7,"crit":17,"displace":10,"dodge":1,"dollEnd":1,"downed":2,"ember":1,"explode":1,"garrison":9,"meltdown":4,"overload":2,"reborn":1,"revive":8,"steal":2,"substitute":5,"swap":3,"telegraph":2,"zone":41}, - "snaps": "1683cbba c8489b09 157c0969 ce05ea97 58c14c23 9cb16f9e 18492dac 031d7b31 f419a567 3c35057c faf50a85 24f7f8ea afc61728 13e61918 b78203c7 89b7950a b46e858a" + "hooks": [1,92,5169,715,715,2291,2389,4393,69,80,18,14,18,29847,766,70,64,9,1,95,9,7,2], + "events": {"atk":816,"bounty":2,"deploy":25,"die":71,"dmg":2370,"engage":12,"fx":159,"heal":1157,"layer":9,"leak":9,"skill":32,"spawn":79,"status":457}, + "fx": {"aoe":6,"beam":1,"bloodBattle":1,"burst":7,"crit":23,"displace":35,"dodge":2,"dollEnd":1,"downed":2,"ember":1,"explode":1,"garrison":9,"meltdown":4,"overload":2,"reborn":1,"revive":7,"steal":2,"substitute":5,"swap":3,"telegraph":2,"zone":44}, + "snaps": "1683cbba c8489b09 157c0969 ce05ea97 58c14c23 9cb16f9e 18492dac 031d7b31 46a621ac f5de529b cee8a24f b70e4e74 39a90c54 b7a8e753 72f0deab a2ac15f9 ac8909ef f6c5d065" }, "roster-044": { "about": "pass 2 band 6: chess_char_5_19_a chess_char_5_11_b chess_char_5_19_b chess_char_5_13_b chess_char_5_14_b chess_char_5_17_b chess_char_5_20_a chess_char_5_22_a chess_char_5_12_b chess_char_5_15_b chess_char_5_20_b chess_char_5_22_b", @@ -2688,67 +2675,70 @@ "round": 12, "seed": 2595819878, "waveId": "act1autochess_h05", - "time": 225.23, - "ticks": 6757, + "time": 221, + "ticks": 6630, "reason": "cleared", - "killed": 107, + "killed": 103, "total": 119, "unspawned": 0, "bossHpLeft": null, - "rngDraws": 104, + "rngDraws": 113, "errors": {"count":0,"kinds":[]}, - "players": {"p1":{"killed":107,"total":119,"perfect":false,"leaks":12,"leaksUncounted":0,"coins":8,"dmg":3438971,"bossDmg":0,"heal":34802,"deaths":15,"layerGains":{}}}, + "players": {"p1":{"killed":103,"total":119,"perfect":false,"leaks":16,"leaksUncounted":0,"coins":8,"dmg":3407531,"bossDmg":0,"heal":38331,"deaths":14,"layerGains":{}}}, "units": [ - ["p1",1,"op","chess_char_5_19_a",1,null,3241,1,163,4,41252,10539,1203,43,4], - ["p1",2,"op","chess_char_5_11_b",2,"none",0,0,133,2,7843,18562,20456,30,3], - ["p1",3,"op","chess_char_5_19_b",1,"uniequip_002_mlynar",3907,1,151,1,75581,8142,328,25,4], - ["p1",4,"op","chess_char_5_13_b",2,"uniequip_004_ghost2",3498.12,1,9,2,115644,21203,878,29,2], - ["p1",5,"op","chess_char_5_14_b",2,"none",1747.41,1,141,16,270463,16523,7240,133,4], - ["p1",6,"op","chess_char_5_17_b",2,"none",2578,1,165,1,161842,15590,530,49,5], - ["p1",7,"op","chess_char_5_20_a",1,null,1108,1,3,2,42826,1688,403,344,4], - ["p1",8,"op","chess_char_5_22_a",2,null,1237,1,4,9,159503,5774,1590,154,3], - ["p1",9,"op","chess_char_5_12_b",2,"uniequip_004_dusk",1667,1,13,7,404614,0,0,64,2], - ["p1",10,"op","chess_char_5_15_b",2,"uniequip_002_thorn2",1170,1,14,48,1651638,0,0,174,6], - ["p1",11,"op","chess_char_5_20_b",1,"uniequip_004_aglina",1292,1,5,6,117395,1688,403,413,5], - ["p1",12,"op","chess_char_5_22_b",2,"none",1511,1,11,8,377360,1913,433,190,4], + ["p1",1,"op","chess_char_5_19_a",1,null,302.39,1,134,2,39813,13079,977,48,4], + ["p1",2,"op","chess_char_5_11_b",2,"none",3380.99,1,145,1,6275,17755,26578,36,3], + ["p1",3,"op","chess_char_5_19_b",1,"uniequip_002_mlynar",3907,1,106,2,91122,8834,1078,31,3], + ["p1",4,"op","chess_char_5_13_b",2,"uniequip_004_ghost2",3498.12,1,9,3,116180,10709,88,21,1], + ["p1",5,"op","chess_char_5_14_b",2,"none",0,0,142,16,280983,15962,4857,103,4], + ["p1",6,"op","chess_char_5_17_b",2,"none",2578,1,167,3,205432,15613,897,58,5], + ["p1",7,"op","chess_char_5_20_a",1,null,1108,1,3,1,39942,1688,424,345,5], + ["p1",8,"op","chess_char_5_22_a",2,null,1237,1,4,7,158291,5774,1373,152,3], + ["p1",9,"op","chess_char_5_12_b",2,"uniequip_004_dusk",1667,1,13,8,458856,0,0,64,2], + ["p1",10,"op","chess_char_5_15_b",2,"uniequip_002_thorn2",1170,1,14,40,1523335,0,0,172,6], + ["p1",11,"op","chess_char_5_20_b",1,"uniequip_004_aglina",1292,1,5,6,115270,1688,424,426,5], + ["p1",12,"op","chess_char_5_22_b",2,"none",1511,1,11,13,357628,1913,469,184,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], - ["p1","~1","token","token_10015_dusk_drgn",null,null,0,0,31,0,478,2050,53,2,null], - ["p1","~2","token","token_10015_dusk_drgn",null,null,0,0,34,0,1015,2130,133,4,null], - ["p1","~3","token","token_10015_dusk_drgn",null,null,0,0,41,0,663,2067,70,3,null], - ["p1","~4","token","token_10015_dusk_drgn",null,null,0,0,49,0,271,2000,3,1,null], - ["p1","~5","token","token_10015_dusk_drgn",null,null,0,0,52,0,601,2067,70,3,null], - ["p1","~6","token","token_10015_dusk_drgn",null,null,0,0,57,0,1289,2092,95,5,null], - ["p1","~7","token","token_10015_dusk_drgn",null,null,0,0,62,0,836,1997,0,4,null], - ["p1","~8","token","token_10015_dusk_drgn",null,null,0,0,68,1,286,1997,0,2,null], - ["p1","~9","token","token_10015_dusk_drgn",null,null,0,0,74,0,1154,2089,92,5,null], - ["p1","~10","token","token_10015_dusk_drgn",null,null,0,0,82,0,1076,2115,118,4,null], - ["p1","~11","token","token_10015_dusk_drgn",null,null,0,0,139,0,199,2000,3,1,null], - ["p1","~12","token","token_10015_dusk_drgn",null,null,0,0,143,0,823,2067,70,3,null], - ["p1","~13","token","token_10015_dusk_drgn",null,null,0,0,147,0,1233,1997,0,4,null], - ["p1","~14","token","token_10015_dusk_drgn",null,null,0,0,152,0,404,1997,0,1,null], - ["p1","~15","token","token_10015_dusk_drgn",null,null,0,0,154,0,557,1997,0,2,null], - ["p1","~16","token","token_10015_dusk_drgn",null,null,0,0,158,0,613,1997,0,2,null], - ["p1","~17","token","token_10015_dusk_drgn",null,null,0,0,162,0,716,2045,48,3,null], - ["p1","~18","token","token_10015_dusk_drgn",null,null,576.81,0,164,0,796,1999,578,4,null] + ["p1","~1","token","token_10015_dusk_drgn",null,null,0,0,31,0,637,2060,63,3,null], + ["p1","~2","token","token_10015_dusk_drgn",null,null,0,0,36,0,1114,2130,133,4,null], + ["p1","~3","token","token_10015_dusk_drgn",null,null,0,0,43,0,785,2044,47,3,null], + ["p1","~4","token","token_10015_dusk_drgn",null,null,0,0,51,0,728,2064,67,3,null], + ["p1","~5","token","token_10015_dusk_drgn",null,null,0,0,56,0,1114,2050,53,5,null], + ["p1","~6","token","token_10015_dusk_drgn",null,null,0,0,61,0,398,1997,0,2,null], + ["p1","~7","token","token_10015_dusk_drgn",null,null,0,0,65,1,613,1997,0,3,null], + ["p1","~8","token","token_10015_dusk_drgn",null,null,0,0,71,0,955,2030,33,4,null], + ["p1","~9","token","token_10015_dusk_drgn",null,null,0,0,80,0,1862,2225,228,7,null], + ["p1","~10","token","token_10015_dusk_drgn",null,null,0,0,126,0,239,1997,0,1,null], + ["p1","~11","token","token_10015_dusk_drgn",null,null,0,0,129,0,876,2124,127,4,null], + ["p1","~12","token","token_10015_dusk_drgn",null,null,0,0,136,0,597,2064,67,3,null], + ["p1","~13","token","token_10015_dusk_drgn",null,null,0,0,144,0,199,2000,3,1,null], + ["p1","~14","token","token_10015_dusk_drgn",null,null,0,0,147,0,279,2002,5,1,null], + ["p1","~15","token","token_10015_dusk_drgn",null,null,0,0,149,0,249,2000,3,1,null], + ["p1","~16","token","token_10015_dusk_drgn",null,null,0,0,152,0,1214,2145,148,5,null], + ["p1","~17","token","token_10015_dusk_drgn",null,null,0,0,156,0,199,1997,0,1,null], + ["p1","~18","token","token_10015_dusk_drgn",null,null,0,0,158,0,557,1997,0,2,null], + ["p1","~19","token","token_10015_dusk_drgn",null,null,0,0,162,0,597,2052,55,3,null], + ["p1","~20","token","token_10015_dusk_drgn",null,null,0,0,165,0,796,2100,103,4,null], + ["p1","~21","token","token_10015_dusk_drgn",null,null,1423.84,0,166,0,398,601,28,2,null] ], "enemies": { - "enemy_10042_prtrop_2": [1,1,0,1732,23888], - "enemy_1010_demon": [42,41,1,25172,934856], + "enemy_10042_prtrop_2": [1,1,0,0,23888], + "enemy_1010_demon": [42,39,3,25517,920815], "enemy_10122_uacann_2": [1,1,0,20029,29860], "enemy_1072_dlancer": [1,1,0,0,17916], - "enemy_1172_dugago_2": [1,0,1,3395,22864], + "enemy_1172_dugago_2": [1,0,1,1027,10552], "enemy_1229_darmy": [1,1,0,0,12541], "enemy_1325_cbgpro": [1,1,0,0,11347], - "enemy_1422_lrsldr_2": [45,45,0,6900,739031], - "enemy_1425_lrcmra_2": [24,15,9,78414,1570549], - "enemy_1502_crowns": [1,1,0,27,17916], - "enemy_2085_skzjxd": [1,0,1,0,90313] + "enemy_1422_lrsldr_2": [45,43,2,8292,728181], + "enemy_1425_lrcmra_2": [24,15,9,78862,1542786], + "enemy_1502_crowns": [1,1,0,0,17916], + "enemy_2085_skzjxd": [1,0,1,0,127789] }, - "hooks": [1,165,6757,1862,1862,4721,4732,7233,139,152,46,44,0,27340,2790,132,119,12,1,143,0,0,0], - "events": {"atk":2250,"bounty":4,"deploy":44,"die":140,"dmg":4732,"engage":30,"fx":133,"heal":145,"leak":12,"skill":90,"spawn":151,"status":809}, - "fx": {"crit":21,"displace":37,"explode":5,"sp":10,"substitute":4,"summon":18,"swap":3,"teleport":12,"zone":23}, - "snaps": "390205c8 64b194ac 764c64e9 d08a179a c89dbbb8 58483a89 f0c4a3aa 2207231c cf1dfe92 820e711a bce8df8c 1b39a7ec 38d0f91d 0af170df ac801290 043f1d7e 1c2d9bab 89a33e74 e7dbf207 64456a14 90e05b01 6bbea8ea ecea2b80" + "hooks": [1,167,6630,1856,1856,4937,4941,6598,137,154,45,43,0,27109,3367,143,119,16,1,140,0,0,0], + "events": {"atk":2300,"bounty":4,"deploy":46,"die":138,"dmg":4941,"engage":33,"fx":155,"heal":170,"leak":16,"skill":88,"spawn":154,"status":788}, + "fx": {"crit":28,"displace":48,"explode":5,"sp":11,"substitute":3,"summon":21,"swap":3,"teleport":13,"zone":23}, + "snaps": "390205c8 83144cc8 bbf1f4aa 5e26fd44 e650b42d bc99a847 154d5aaf 9284ad8e 7094d37f 9be2c896 4dcdb9de 30207c7b 4294ea35 fc2622c7 5269b707 ec3b358a 8cc1ea8c 12f29b80 3a82d9d8 25f0ac02 5854dabc 9205e4b4 ef9f876b" }, "roster-045": { "about": "pass 2 band 6: chess_char_6_03_a chess_char_6_06_a chess_char_6_07_a chess_char_6_01_a chess_char_6_02_a chess_char_6_04_a chess_char_6_05_a chess_char_6_08_a chess_char_6_09_a chess_char_6_11_a chess_char_6_12_a chess_char_6_13_a token_10017_skadi2_dedant", @@ -2843,7 +2833,7 @@ "rngDraws": 73, "errors": {"count":0,"kinds":[]}, "players": { - "p1": {"killed":2,"total":134,"perfect":false,"leaks":132,"leaksUncounted":0,"coins":2,"dmg":296933,"bossDmg":0,"heal":7131,"deaths":25,"layerGains":{"swiftShip":8}} + "p1": {"killed":2,"total":134,"perfect":false,"leaks":132,"leaksUncounted":0,"coins":2,"dmg":296951,"bossDmg":0,"heal":7131,"deaths":25,"layerGains":{"swiftShip":8}} }, "units": [ ["p1",1,"op","chess_char_6_03_b",1,"uniequip_002_yu",0,0,3,1,25387,9467,957,5,1], @@ -2851,7 +2841,7 @@ ["p1",3,"op","chess_char_6_19_a",1,null,0,0,4,0,12406,2168,0,11,0], ["p1",4,"op","chess_char_6_17_a",1,null,2698,1,168,0,46350,8769,0,19,5], ["p1",5,"op","chess_char_6_14_a",1,null,0,0,64,0,0,4002,1296,3,0], - ["p1",6,"op","chess_char_6_16_a",1,null,1992.43,1,164,0,8647,9044,1220,14,2], + ["p1",6,"op","chess_char_6_16_a",1,null,1992.43,1,164,0,8665,9044,1220,14,2], ["p1",7,"op","chess_char_6_18_a",1,null,0,0,108,1,21917,2284,0,11,1], ["p1",8,"op","chess_char_6_20_a",1,null,0,0,158,0,0,8319,3122,7,0], ["p1",9,"op","chess_char_6_01_b",1,"uniequip_002_lemuen",0,0,10,0,18194,1765,258,8,1], @@ -2869,15 +2859,15 @@ "enemy_1062_rager_2": [1,0,1,3918,34676], "enemy_1169_duphlx_2": [1,0,1,186,7664], "enemy_1209_sfden": [1,0,1,0,0], - "enemy_1267_nhpbr_2": [87,1,86,4631,186748], + "enemy_1267_nhpbr_2": [87,1,86,4631,186765], "enemy_1305_mhslim": [1,0,1,0,0], "enemy_1439_dslntf": [1,0,1,397,0], "enemy_2034_sythef_2": [1,0,1,0,0] }, - "hooks": [1,167,6632,244,244,541,551,1258,27,163,11,10,5,4610,454,16,134,132,1,28,1,1,0], - "events": {"atk":342,"bounty":1,"deploy":33,"die":31,"dmg":542,"engage":8,"fx":174,"heal":22,"layer":1,"leak":132,"skill":21,"spawn":149,"status":450}, + "hooks": [1,167,6632,244,244,541,551,1258,27,163,11,10,5,4610,465,16,134,132,1,28,1,1,0], + "events": {"atk":342,"bounty":1,"deploy":33,"die":31,"dmg":542,"engage":8,"fx":174,"heal":22,"layer":1,"leak":132,"skill":21,"spawn":149,"status":452}, "fx": {"blessing":1,"blink":2,"burst":1,"camouflage":2,"displace":3,"explode":72,"garrison":1,"garrisonGrant":2,"link":3,"snow":7,"sunBurst":3,"talent":3,"telegraph":2,"zone":72}, - "snaps": "7cdf7066 e20e2d49 aa5de392 916cd872 c09dc5a0 b4090036 29b6982d d55f5160 43009c41 4fef8e7b a9dbc902 7acd38c1 056dab18 67d8ba30 d739a230 ff7fc2e4 6846e710 c2736812 c6e00652 6f33d1e1 fc0a02d4 c1fbd451 6ecf057b" + "snaps": "7cdf7066 e20e2d49 aa5de392 916cd872 c09dc5a0 b4090036 29b6982d d55f5160 43009c41 4fef8e7b a9dbc902 7acd38c1 056dab18 67d8ba30 d739a230 ff7fc2e4 6846e710 c2736812 c6e00652 5c1492c6 619c8b94 b34171fa e4a3e774" }, "roster-047": { "about": "pass 2 band 7: chess_char_6_06_b chess_char_6_15_b chess_char_6_07_b chess_char_6_17_b chess_char_6_08_b chess_char_6_09_b chess_char_6_11_b chess_char_6_12_b chess_char_6_13_b chess_char_6_14_b chess_char_6_16_b chess_char_6_18_b token_10030_mlyss_wtrman", diff --git a/test/golden/standins.json b/test/golden/standins.json index 6e3f6062..3903cc48 100644 --- a/test/golden/standins.json +++ b/test/golden/standins.json @@ -142,20 +142,20 @@ "total": 74, "unspawned": 0, "bossHpLeft": null, - "rngDraws": 278, + "rngDraws": 270, "errors": {"count":0,"kinds":[]}, - "players": {"p1":{"killed":41,"total":74,"perfect":false,"leaks":33,"leaksUncounted":0,"coins":8,"dmg":322054,"bossDmg":0,"heal":40884,"deaths":10,"layerGains":{}}}, + "players": {"p1":{"killed":41,"total":74,"perfect":false,"leaks":33,"leaksUncounted":0,"coins":8,"dmg":320925,"bossDmg":0,"heal":42417,"deaths":10,"layerGains":{}}}, "units": [ ["p1",1,"op","chess_char_5_08_a",2,null,2206.8,1,91,0,5895,3841,0,57,1], - ["p1",2,"op","chess_char_5_14_a",2,null,0,0,90,23,138688,7595,0,63,6], - ["p1",3,"op","chess_char_5_19_a",0,null,349.6,1,89,6,47622,15311,0,100,3], + ["p1",2,"op","chess_char_5_14_a",2,null,353,1,90,24,145090,7662,0,66,6], + ["p1",3,"op","chess_char_5_19_a",0,null,784.8,1,89,6,42209,15296,0,99,3], ["p1",4,"op","chess_char_5_07_a",2,null,2564,1,92,0,12112,3824,0,24,1], - ["p1",5,"op","chess_char_5_13_a",2,null,1801,1,11,7,56384,10325,0,123,4], - ["p1",6,"op","chess_char_5_17_a",2,null,20,1,81,1,7284,4998,0,77,0], - ["p1",7,"op","chess_char_5_10_a",2,null,932,1,2,1,7776,0,0,58,2], - ["p1",8,"op","chess_char_5_11_a",2,null,1224,1,3,0,0,0,40884,67,2], - ["p1",9,"op","chess_char_5_12_a",2,null,1160,1,4,0,19936,0,0,79,2], - ["p1",10,"op","chess_char_5_15_a",2,null,0,0,84,2,8336,14152,0,96,2], + ["p1",5,"op","chess_char_5_13_a",2,null,1520,1,11,6,55817,10325,0,121,4], + ["p1",6,"op","chess_char_5_17_a",2,null,0,0,81,1,5190,6413,0,69,0], + ["p1",7,"op","chess_char_5_10_a",2,null,932,1,2,1,9099,0,0,69,2], + ["p1",8,"op","chess_char_5_11_a",2,null,1224,1,3,0,0,0,42417,68,2], + ["p1",9,"op","chess_char_5_12_a",2,null,1160,1,4,0,19147,0,0,75,2], + ["p1",10,"op","chess_char_5_15_a",2,null,0,0,84,2,8346,13732,0,96,2], ["p1",11,"op","chess_char_5_18_a",2,null,0,0,1,1,11149,1272,0,22,1], ["p1",12,"op","chess_char_5_20_a",2,null,0,0,5,0,6872,1972,0,38,2] ], @@ -168,14 +168,14 @@ "enemy_10087_hlchgr": [1,1,0,38,4800], "enemy_10094_crstf": [1,1,0,28,3200], "enemy_10097_crshd": [1,1,0,0,8000], - "enemy_1166_dusbr_2": [42,28,14,2956,110452], - "enemy_1170_dushld_2": [12,5,6,26204,45033], - "enemy_9011_acrefr": [12,1,7,22144,124041] + "enemy_1166_dusbr_2": [42,27,15,2888,108284], + "enemy_1170_dushld_2": [12,6,5,31043,51138], + "enemy_9011_acrefr": [12,1,8,18420,118976] }, - "hooks": [1,92,5700,1025,1025,1522,1523,112,51,79,26,26,0,27108,3400,51,74,28,1,52,0,0,10], - "events": {"atk":1128,"bounty":4,"deploy":18,"die":51,"dmg":1522,"engage":11,"fx":134,"heal":106,"leak":28,"skill":55,"spawn":86,"status":609}, - "fx": {"aoe":30,"displace":1,"dodge":16,"dp":29,"phase":1,"slash":48,"sp":1,"spGain":8}, - "snaps": "530ce9ab 3259d8c0 918a3cff a85e2d90 3b23751a 8f259c98 9faf0458 b98e7e80 e64fb37d 38b17953 2458f514 b2894d2f 6c036845 609d268d 5a2493c6 23bae8dc e4a6485d 424e64d1 745ddf7a" + "hooks": [1,92,5700,1024,1024,1534,1535,115,51,80,26,27,0,27292,3473,49,74,29,1,52,0,0,10], + "events": {"atk":1125,"bounty":4,"deploy":18,"die":51,"dmg":1534,"engage":11,"fx":132,"heal":109,"leak":29,"skill":55,"spawn":86,"status":626}, + "fx": {"aoe":30,"displace":1,"dodge":13,"dp":30,"phase":1,"slash":48,"sp":1,"spGain":8}, + "snaps": "530ce9ab 3259d8c0 918a3cff a85e2d90 3b23751a 8f259c98 9faf0458 b98e7e80 e64fb37d 38b17953 2458f514 b2894d2f 6c036845 395d7cfe a9ead632 07893f6c 64586b5e 9402040c 55700def" }, "standin-04": { "about": "normal band 6 as stand-ins: chess_char_6_03_a→char_610_acfend chess_char_6_02_a→char_608_acpion chess_char_6_07_a→char_617_sharp2 chess_char_6_10_a→char_617_sharp2 chess_char_6_11_a→char_608_acpion chess_char_6_06_a→char_609_acguad chess_char_5_22_a→char_611_acnipe chess_char_6_01_a→char_611_acnipe chess_char_6_04_a→char_614_acsupo chess_char_6_05_a→char_611_acnipe chess_char_6_08_a→char_612_accast chess_char_6_09_a→char_613_acmedc", @@ -240,24 +240,24 @@ "round": 12, "seed": 4096833445, "waveId": "act1autochess_h05", - "time": 220.27, - "ticks": 6608, + "time": 216.03, + "ticks": 6481, "reason": "cleared", - "killed": 5, + "killed": 8, "total": 104, "unspawned": 0, "bossHpLeft": null, - "rngDraws": 225, + "rngDraws": 234, "errors": {"count":0,"kinds":[]}, "players": { - "p1": {"killed":5,"total":104,"perfect":false,"leaks":99,"leaksUncounted":0,"coins":0,"dmg":418583,"bossDmg":0,"heal":451,"deaths":23,"layerGains":{"raidShip":3}} + "p1": {"killed":8,"total":104,"perfect":false,"leaks":96,"leaksUncounted":0,"coins":0,"dmg":433423,"bossDmg":0,"heal":451,"deaths":22,"layerGains":{"raidShip":3}} }, "units": [ ["p1",1,"op","chess_char_6_17_a",2,null,0,0,130,1,102521,9556,0,46,1], - ["p1",2,"op","chess_char_6_13_a",2,null,0,0,135,0,25983,10386,0,85,0], - ["p1",3,"op","chess_char_6_19_a",2,null,1154,1,136,3,24753,9232,0,127,0], + ["p1",2,"op","chess_char_6_13_a",2,null,0,0,133,1,28392,9232,0,79,0], + ["p1",3,"op","chess_char_6_19_a",2,null,514.2,1,135,4,32421,9872,0,139,0], ["p1",4,"op","chess_char_6_12_a",2,null,671.78,1,7,0,141278,975,0,83,2], - ["p1",5,"op","chess_char_6_15_a",2,null,0,0,134,1,53745,4965,0,110,2], + ["p1",5,"op","chess_char_6_15_a",2,null,0,0,134,2,58508,4965,0,113,2], ["p1",6,"op","chess_char_6_18_a",2,null,1372,1,85,0,70303,1372,0,42,2], ["p1",7,"op","chess_char_6_20_a",2,null,1224,1,4,0,0,451,451,1,1], ["-","~1","device","trap_1105_accrate",null,null,100,1,1,0,0,0,0,0,null], @@ -273,14 +273,14 @@ "enemy_10144_xdelk_2": [1,0,1,0,0], "enemy_10156_mncrer": [1,0,1,0,1476], "enemy_10159_mntrjn": [1,0,1,0,0], - "enemy_1381_winman": [27,4,23,2007,92343], - "enemy_1381_winman_2": [39,0,39,8923,168815], - "enemy_1387_winshd": [30,1,29,16725,136197] + "enemy_1381_winman": [27,6,21,3255,100648], + "enemy_1381_winman_2": [39,1,38,9029,175774], + "enemy_1387_winshd": [30,1,29,14859,135775] }, - "hooks": [1,136,6608,592,592,980,980,2,28,129,8,25,0,15091,2491,28,104,99,1,28,1,0,0], - "events": {"atk":623,"deploy":29,"die":30,"dmg":888,"engage":6,"fx":65,"heal":1,"layer":1,"leak":99,"skill":52,"spawn":114,"status":507}, - "fx": {"aoe":5,"blink":2,"camouflage":1,"displace":29,"dodge":1,"dp":2,"explode":7,"garrison":1,"garrisonGrant":2,"slash":8,"zone":7}, - "snaps": "7d1098cf a2545bc6 e235d106 8dfcbe4d 7418beb3 b07a14d3 d8595728 777b37c0 fcf9e593 4701b892 b3bb788e 48db2071 75eccfeb 54b87291 0c274801 025d0454 6e6490df e548bc32 a587ffae 097958c2 b5acd030 f192d5d8" + "hooks": [1,135,6481,604,604,990,990,2,30,128,8,24,0,14943,2502,30,104,96,1,30,1,0,0], + "events": {"atk":635,"deploy":28,"die":32,"dmg":897,"engage":6,"fx":55,"heal":1,"layer":1,"leak":96,"skill":50,"spawn":114,"status":500}, + "fx": {"aoe":5,"blink":2,"camouflage":1,"displace":18,"dodge":2,"dp":2,"explode":7,"garrison":1,"garrisonGrant":2,"slash":8,"zone":7}, + "snaps": "7d1098cf a2545bc6 e235d106 8dfcbe4d cbd66f3e d02eb500 28229c34 df0ed6a9 90a49dcf b9747bc6 d343d0fd 88a84b18 fa841456 6ea8596f afa61e73 45aa5112 7782a063 f7161b9b d3da53b7 1175003f aae5f017 59ce2b8b" }, "standin-06": { "about": "elite band 5 as stand-ins: chess_char_3_12_b→char_608_acpion chess_char_4_09_b→char_617_sharp2 chess_char_3_05_b→char_601_cguard chess_char_3_18_b→char_609_acguad chess_char_4_04_b→char_607_cspec chess_char_4_07_b→char_601_cguard chess_char_4_16_b→char_615_acspec chess_char_3_01_b→char_603_csnipe chess_char_3_04_b→char_605_cmedic chess_char_3_21_b→char_611_acnipe chess_char_4_02_b→char_611_acnipe chess_char_4_13_b→char_614_acsupo", @@ -411,28 +411,28 @@ "round": 12, "seed": 2456427706, "waveId": "act1autochess_h05", - "time": 226.63, - "ticks": 6799, + "time": 216.37, + "ticks": 6491, "reason": "cleared", - "killed": 42, + "killed": 44, "total": 179, "unspawned": 0, "bossHpLeft": null, - "rngDraws": 981, + "rngDraws": 964, "errors": {"count":0,"kinds":[]}, - "players": {"p1":{"killed":42,"total":179,"perfect":false,"leaks":137,"leaksUncounted":0,"coins":2,"dmg":1733157,"bossDmg":0,"heal":77968,"deaths":13,"layerGains":{}}}, + "players": {"p1":{"killed":44,"total":179,"perfect":false,"leaks":135,"leaksUncounted":0,"coins":2,"dmg":1792553,"bossDmg":0,"heal":75042,"deaths":12,"layerGains":{}}}, "units": [ - ["p1",1,"op","chess_char_5_08_b",2,"uniequip_002_acfend",3242.12,1,7,5,122124,8280,0,159,4], - ["p1",2,"op","chess_char_5_14_b",2,"uniequip_002_acpion",1904,1,201,14,520028,10508,0,46,6], - ["p1",3,"op","chess_char_5_19_b",0,"uniequip_002_sharp2",4154.5,1,207,5,264095,31935,0,79,3], - ["p1",4,"op","chess_char_5_07_b",2,"none",3334,1,205,2,42880,20656,0,36,3], - ["p1",5,"op","chess_char_5_13_b",2,"uniequip_002_acguad",3411,1,206,4,80947,12473,0,40,2], - ["p1",6,"op","chess_char_5_17_b",2,"uniequip_002_acspec",1448,1,188,4,90888,27092,0,116,0], - ["p1",7,"op","chess_char_5_10_b",2,"none",1131,1,4,2,64373,0,0,134,4], - ["p1",8,"op","chess_char_5_11_b",2,"uniequip_002_acmedc",2262.4,1,5,0,0,0,77968,77,3], - ["p1",9,"op","chess_char_5_12_b",2,"uniequip_002_acsupo",1430,1,11,3,105459,0,0,135,3], - ["p1",10,"op","chess_char_5_15_b",2,"none",1510,1,13,0,83399,0,0,215,4], - ["p1",11,"op","chess_char_5_18_b",2,"uniequip_002_acnipe",2380.5,1,6,3,266479,0,0,178,3], + ["p1",1,"op","chess_char_5_08_b",2,"uniequip_002_acfend",3328.04,1,7,6,120405,8494,0,163,4], + ["p1",2,"op","chess_char_5_14_b",2,"uniequip_002_acpion",1904,1,200,13,582727,10397,0,50,7], + ["p1",3,"op","chess_char_5_19_b",0,"uniequip_002_sharp2",0,0,164,5,264095,31935,0,79,3], + ["p1",4,"op","chess_char_5_07_b",2,"none",3334,1,204,2,41162,20656,0,35,3], + ["p1",5,"op","chess_char_5_13_b",2,"uniequip_002_acguad",0,0,130,4,91514,12473,0,48,2], + ["p1",6,"op","chess_char_5_17_b",2,"uniequip_002_acspec",1448,1,155,3,70659,22528,0,98,0], + ["p1",7,"op","chess_char_5_10_b",2,"none",1131,1,4,2,71806,0,0,146,4], + ["p1",8,"op","chess_char_5_11_b",2,"uniequip_002_acmedc",2262.4,1,5,0,0,0,75042,73,3], + ["p1",9,"op","chess_char_5_12_b",2,"uniequip_002_acsupo",1430,1,11,2,108370,0,0,138,3], + ["p1",10,"op","chess_char_5_15_b",2,"none",1510,1,13,0,84172,0,0,215,4], + ["p1",11,"op","chess_char_5_18_b",2,"uniequip_002_acnipe",2380.5,1,6,7,265158,0,0,156,3], ["p1",12,"op","chess_char_5_20_b",2,"uniequip_002_acsupo",1430,1,14,0,92485,0,0,125,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], @@ -447,14 +447,14 @@ "enemy_1118_lidbox_2": [1,0,1,0,809], "enemy_1119_vofsd": [1,0,1,0,889], "enemy_1121_lifbos": [1,0,1,4806,7013], - "enemy_1249_lysdb_2": [60,18,42,37448,866144], - "enemy_1251_lysyta": [63,22,41,7583,520464], - "enemy_1254_lypa_2": [48,1,47,58748,262208] + "enemy_1249_lysdb_2": [60,20,40,34591,927986], + "enemy_1251_lysyta": [63,22,41,7408,522114], + "enemy_1254_lypa_2": [48,1,47,57320,258113] }, - "hooks": [1,207,6799,1790,1790,3161,3225,149,55,192,38,43,0,26658,17254,63,179,137,1,55,0,0,6], - "events": {"atk":2022,"bounty":1,"deploy":25,"die":55,"dmg":3200,"engage":11,"fx":302,"heal":133,"leak":137,"skill":88,"spawn":194,"status":1230}, - "fx": {"aoe":120,"displace":8,"dodge":31,"dp":20,"liberate":1,"phase":1,"shieldBreak":60,"slash":48,"sp":1,"spGain":12}, - "snaps": "c4ba1bfb fae78ec3 4853328f 674d8548 bcbe6142 1a53e0eb 214c2462 a608c08f 504eb3ba 4e0e6e68 d4d1daf8 a6dc8003 1ce13419 a363753a 07e954ca 3e70563d 7e686001 0f4877a6 ba4f9efe e6778a6d 6675e221 520b5fe5 4464a0d3" + "hooks": [1,204,6491,1773,1773,3184,3244,143,56,191,39,41,0,24792,17208,64,179,135,1,56,0,0,10], + "events": {"atk":2011,"bounty":1,"deploy":22,"die":56,"dmg":3226,"engage":11,"fx":311,"heal":124,"leak":135,"skill":86,"spawn":194,"status":1260}, + "fx": {"aoe":120,"displace":6,"dodge":33,"dp":20,"liberate":1,"phase":1,"shieldBreak":60,"slash":56,"sp":3,"spGain":11}, + "snaps": "c4ba1bfb fae78ec3 4853328f 674d8548 bcbe6142 1a53e0eb e36dd50a c1fffc0d 6b8ca6c2 ea59d397 fcda4d5a 0b327687 9c504162 f940765a ed653c1f 40083fa0 8b28d76e faf8fc30 827f9624 f00940c5 a4839ca3 7cbbb8ee" }, "standin-09": { "about": "elite band 7 as stand-ins: chess_char_6_03_b→char_610_acfend chess_char_6_02_b→char_608_acpion chess_char_6_07_b→char_617_sharp2 chess_char_6_10_b→char_617_sharp2 chess_char_6_11_b→char_608_acpion chess_char_6_06_b→char_609_acguad chess_char_5_22_b→char_611_acnipe chess_char_6_01_b→char_611_acnipe chess_char_6_04_b→char_614_acsupo chess_char_6_05_b→char_611_acnipe chess_char_6_08_b→char_612_accast chess_char_6_09_b→char_613_acmedc", @@ -524,43 +524,43 @@ "time": 230, "ticks": 6900, "reason": "timeout", - "killed": 28, + "killed": 29, "total": 131, "unspawned": 0, "bossHpLeft": null, - "rngDraws": 263, + "rngDraws": 293, "errors": {"count":0,"kinds":[]}, "players": { - "p1": {"killed":28,"total":131,"perfect":false,"leaks":103,"leaksUncounted":0,"coins":2,"dmg":538265,"bossDmg":0,"heal":10974,"deaths":25,"layerGains":{"raidShip":6}} + "p1": {"killed":29,"total":131,"perfect":false,"leaks":102,"leaksUncounted":0,"coins":2,"dmg":542398,"bossDmg":0,"heal":10974,"deaths":25,"layerGains":{"raidShip":6}} }, "units": [ - ["p1",1,"op","chess_char_6_17_b",2,"uniequip_002_acpion",954.91,1,164,10,211581,13444,0,77,10], - ["p1",2,"op","chess_char_6_13_b",2,"uniequip_002_acspec",0,0,165,5,46991,13356,0,106,0], - ["p1",3,"op","chess_char_6_19_b",2,"uniequip_002_acspec",1484,1,166,4,75038,16324,0,138,0], + ["p1",1,"op","chess_char_6_17_b",2,"uniequip_002_acpion",1904,1,164,10,209944,12495,0,67,10], + ["p1",2,"op","chess_char_6_13_b",2,"uniequip_002_acspec",0,0,162,6,51334,11872,0,120,0], + ["p1",3,"op","chess_char_6_19_b",2,"uniequip_002_acspec",0,0,165,4,76465,17808,0,154,0], ["p1",4,"op","chess_char_6_12_b",2,"uniequip_002_accast",2265.49,1,4,4,78264,281,0,32,2], - ["p1",5,"op","chess_char_6_15_b",2,"uniequip_002_acsupo",0,0,147,2,54506,6494,0,39,3], + ["p1",5,"op","chess_char_6_15_b",2,"uniequip_002_acsupo",0,0,148,2,54506,6494,0,39,3], ["p1",6,"op","chess_char_6_18_b",2,"uniequip_002_accast",1819,1,8,3,71885,900,0,43,2], ["p1",7,"op","chess_char_6_20_b",2,"uniequip_002_acmedc",1464,1,9,0,0,4263,10974,19,1], ["-","~1","device","trap_1105_accrate",null,null,100,1,1,0,0,0,0,0,null], ["-","~2","device","trap_1105_accrate",null,null,100,1,2,0,0,0,0,0,null] ], "enemies": { - "enemy_1006_shield_3": [21,1,20,16907,164634], - "enemy_1043_zomsbr": [66,22,44,908,136175], + "enemy_1006_shield_3": [21,1,20,13939,164939], + "enemy_1043_zomsbr": [66,23,43,617,138600], "enemy_1162_magmot": [1,0,1,4704,11483], "enemy_1165_duhond": [1,1,0,93,4645], "enemy_1165_duhond_2": [1,0,1,0,0], "enemy_1166_dusbr": [1,0,1,0,0], "enemy_1166_dusbr_2": [1,0,1,0,0], "enemy_1168_dumage": [1,1,0,1897,7465], - "enemy_1168_dumage_2": [1,1,0,4932,10783], + "enemy_1168_dumage_2": [1,1,0,4286,10783], "enemy_1169_duphlx": [1,0,1,0,1489], - "enemy_1402_tgshd_2": [36,2,33,25620,201592] + "enemy_1402_tgshd_2": [36,2,33,28576,202995] }, - "hooks": [1,166,6900,578,578,900,914,7048,53,158,18,38,0,8737,1167,48,131,102,1,53,1,1,0], - "events": {"atk":585,"bounty":1,"deploy":33,"die":56,"dmg":848,"engage":6,"fx":539,"heal":25,"layer":1,"leak":102,"skill":78,"spawn":140,"status":384}, - "fx": {"aoe":4,"blink":3,"burst":1,"displace":18,"dodge":1,"dp":20,"expose":414,"garrison":1,"garrisonGrant":3,"slash":74}, - "snaps": "fba27448 40f8ddeb 904aa1c4 7f5fd3e3 9795959e b8c7a6c7 f5b1092e b4109451 8082d0cc a86cc61b fb1870c6 9cf94d5d 1d3df05d ceb38c64 2d46f54e 5fd7022a d8ef7fcc 55250098 09b8ad07 d6c97808 bbb9cfcc a2163482 34deba04" + "hooks": [1,165,6900,595,595,924,938,6943,54,158,18,38,0,8737,1171,47,131,101,1,54,1,1,0], + "events": {"atk":602,"bounty":1,"deploy":32,"die":57,"dmg":868,"engage":6,"fx":580,"heal":25,"layer":1,"leak":101,"skill":76,"spawn":140,"status":383}, + "fx": {"aoe":4,"blink":3,"burst":1,"displace":21,"dodge":3,"dp":20,"expose":450,"garrison":1,"garrisonGrant":3,"slash":74}, + "snaps": "fba27448 40f8ddeb 904aa1c4 7f5fd3e3 9795959e 7e944cb9 a1f602a2 23ce8d11 bc4a8a16 bf530478 d8ce6699 3c7531f2 1723301e 3a33e4a9 1776e2c7 9f4e39b8 4a745c4f 04ba5967 cbaf6007 94a5d280 8d5c37cb 5d25eb40 2be9ff1d" } } } diff --git a/test/render/unitview.test.js b/test/render/unitview.test.js index bc86b85b..30e32113 100644 --- a/test/render/unitview.test.js +++ b/test/render/unitview.test.js @@ -611,6 +611,24 @@ describe('a push / pull slide (推拉: the official impulse under friction)', () assert.equal(ice.x, 7.7, 'the destination is authoritative whatever the floor'); }); + test('the slide takes the sim\'s 失衡 time: the fx `dur` (game s) at the playback rate — 0.8 s at 2× is 0.4 real s', async () => { + const at2 = async (id) => { + const ctx = fakeViewCtx(fake.P, { assets: store({ spine: true }), cam, animRate: () => 2 }); + const v = new UnitView(ctx, { id, side: 'enemy', kind: 'enemy', defId: 'enemy_1007_slime', x: 5, y: 12, maxHp: 100 }, {}); + await tick(); await tick(); + return v; + }; + const push = await at2(11), pull = await at2(12), old = await at2(13); + push.slideTo(6.7, 12, { dur: 0.8 }); // a 受力等级 0 push (1.7 tiles, PRTS 位移时间 0.8 s) + assert.ok(Math.abs(push.slide.dur - 0.4) < 1e-9, `${push.slide.dur}`); + pull.slideTo(3, 12, { dur: 1 }); // a pull's force window + assert.ok(Math.abs(pull.slide.dur - 0.5) < 1e-9, `${pull.slide.dur}`); + old.slideTo(6.7, 12); // an fx without `dur` (an older recording): the fallback + assert.ok(Math.abs(old.slide.dur - Math.min(0.45, Math.max(0.12, 0.14 * Math.sqrt(1.7)))) < 1e-9, `${old.slide.dur}`); + step(push, push.slide.dur); + assert.equal(push.x, 6.7, 'lands on the destination'); + }); + test('the duration follows √distance, not distance', async () => { const near = await view(4), far = await view(5); near.slideTo(6.2, 12); far.slideTo(10.5, 12); // 1.2 vs 5.5 tiles diff --git a/test/sim/feedback1b-displacement.test.js b/test/sim/feedback1b-displacement.test.js index 35e88b00..5f3e2977 100644 --- a/test/sim/feedback1b-displacement.test.js +++ b/test/sim/feedback1b-displacement.test.js @@ -13,7 +13,8 @@ // - 守墓石像 turns into a flyer at run time (data WALK, no 静态刚体): its statue ("无法被阻挡,自缚,失衡免疫,免疫浮空") and its // flight ("变为飞行单位,失衡免疫") are 失衡免疫 (PRTS 守墓石像 / 愤怒的守墓石像 天赋). // Unchanged: ground enemies keep the 力度 − 重量 tables (DESIGN §20.3); the hovering 吉兆飞鳞 / 掠海漂移体 are 失衡免疫 while they -// hover and displaceable once grounded (no 静态刚体 on their pages). [ASSUMED] the 0.1 s 失衡硬直 of a 静态刚体 is not modelled. +// hover and displaceable once grounded (no 静态刚体 on their pages). Since 0.2.2 a force > 0 on a 静态刚体 gives its 0.1 s 失衡 +// floor (特殊机制 静态刚体 「失衡状态拥有 0.1 秒保底持续时间」; battle/displacement.js _staticForce): it pauses, never moves. import { test } from 'node:test'; import assert from 'node:assert/strict'; @@ -105,7 +106,7 @@ test('B5 (the player\'s scenario): 薄绿 S2 hits the drones but never drags the } }); -test('B5 (the player\'s scenario): on act2 m01 a round-7 drone flies past 薄绿 on its route, hit after hit', REAL, () => { +test('B5 (the player\'s scenario): on act2 m01 a round-7 drone flies past 薄绿 on its route, hit after hit — never moved, only held 0.1 s per force', REAL, () => { // round 7's FLY route 10 (… (11,8) → (11,6) → (10,6) → (10,5) …) passes her x-1 range on the melee tile (10,7) const { routes } = spawnsFromTemplate(getDefaultSource().getWave('act1autochess_07')); assert.equal(routes[10].motion, 'FLY'); @@ -123,10 +124,12 @@ test('B5 (the player\'s scenario): on act2 m01 a round-7 drone flies past 薄绿 }; const ref = fly(false), got = fly(true); assert.ok(got.hits >= 5, `S2 hits the drone (${got.hits} hits)`); - assert.equal(got.path.length, ref.path.length, 'it reaches the goal on the same tick'); - let dev = 0; - for (let i = 0; i < ref.path.length; i++) dev = Math.max(dev, Math.hypot(got.path[i][0] - ref.path[i][0], got.path[i][1] - ref.path[i][1])); - approx(dev, 0, 1e-9, 'its flight is the undisturbed one'); + // every place it passes is a place of the undisturbed flight: the pulls never move it, they only hold it a moment + const key = (p) => `${p[0].toFixed(6)},${p[1].toFixed(6)}`; + const route = new Set(ref.path.map(key)); + assert.ok(got.path.every((p) => route.has(key(p))), 'its flight is the undisturbed one, with pauses'); + const late = got.path.length - ref.path.length; // ticks; the 0.1 s floor is 3 ticks, overlapping holds merge + assert.ok(late > 0 && late <= got.hits * 4, `held for ${late} ticks over ${got.hits} hits`); checkInvariants(got.h.b); }); diff --git a/test/sim/unbalance.test.js b/test/sim/unbalance.test.js new file mode 100644 index 00000000..76456a4d --- /dev/null +++ b/test/sim/unbalance.test.js @@ -0,0 +1,151 @@ +// 失衡 (UNBALANCE) after a push / pull — PR #392 by @xcdoge brought the state; its timing re-done from the sources +// (docs/research/13-knockback-official.md): a state machine, not a status (PRTS 失衡位移机制; 异常效果: 「不属于异常效果」), during +// which the enemy neither walks nor starts a normal attack (异常效果图鉴/失衡免疫 「失衡期间无法自主移动、发动攻击、使用技能」). +// - a push: the 位移时间 of its 受力等级 (PRTS 游戏数据基础 推力-位移近似对应表: 0.2 / 0.4 / 0.8 / 0.9 / 32⁄30 / 35⁄30 s); +// - a pull: its force window (推与拉 §拉力: 1 s, 0.5 s below 受力等级 −1), to its end after the 急停 too; +// - a 静态刚体 hit by a force > 0: the 0.1 s 失衡硬直 floor, no movement (特殊机制 静态刚体); 失衡免疫: never; +// - 浮空 ends it (术语释义 浮空); the move itself stays instant (the unbalanced() talents keyed off the jump). +import { test } from 'node:test'; +import assert from 'node:assert/strict'; +import { makeBattle, enemyRec, chessRec, checkInvariants } from '../helpers/battleHarness.js'; +import { PUSH_UNBALANCE, PULL_UNBALANCE, PULL_UNBALANCE_WEAK, UNBALANCE_MIN, PUSH_TILES, TICK } from '../../server/sim/constants.js'; + +const near = (a, b, eps = 1e-9) => Math.abs(a - b) <= eps; +const WALL = chessRec({ id: 't_wall', profession: 'TANK', stats: { atk: 0, maxHp: 1e7, blockCnt: 0 }, rangeGrid: [[0, 0]], skill: null }); + +/** One walker (weight `mass`) on an open stage; `units` / `o` extra makeBattle options. */ +function field({ mass = 1, enemy = {}, units = [], ...o } = {}) { + const h = makeBattle({ + content: 'none', autoFinish: false, timeLimit: 120, captureNoisy: true, hooks: ['attack'], + defs: { enemies: { enemy_w: enemyRec({ key: 'enemy_w', hp: 1e7, speed: 1, mass, ...enemy }) }, chess: { t_wall: WALL } }, + enemies: [{ key: 'enemy_w', pos: [10, 7] }], units, ...o, + }); + h.step(); + return { h, e: h.enemy('enemy_w') }; +} +/** Seconds until `e` moves again (its position changes), up to `max`. */ +function stillFor(h, e, max = 3) { + const x = e.x, y = e.y, t0 = h.b.time; + while (h.b.time - t0 < max) { + h.step(); + if (!near(e.x, x) || !near(e.y, y)) return h.b.time - t0; + } + return Infinity; +} + +test('a push holds the enemy for the 位移时间 of its 受力等级 (PRTS 游戏数据基础), then it walks on', () => { + for (const [force, level] of [[-1, -2], [0, -1], [1, 0], [2, 1], [3, 2], [4, 3], [6, 3]]) { + const { h, e } = field(); + const t0 = h.b.time; + const moved = h.b.push(e, force, { from: { x: e.x + 1, y: e.y } }); // to the left: room for 3.53 tiles + assert.ok(near(moved, PUSH_TILES[level], 1e-6), `力度 ${force}: moved ${moved}`); + const want = PUSH_UNBALANCE[level]; + assert.ok(near(e.unbalanceUntil - t0, want), `受力等级 ${level}: ${e.unbalanceUntil - t0} s, want ${want}`); + const t = stillFor(h, e); + assert.ok(t >= want - 1e-9 && t <= want + 2 * TICK + 1e-9, `受力等级 ${level}: walks again after ${t.toFixed(3)} s`); + assert.ok(!e.s.flags.stun, 'no stun status'); + checkInvariants(h.b); + } + assert.deepEqual([PUSH_UNBALANCE[0], PUSH_UNBALANCE[3]], [0.8, 35 / 30], 'the table: 24 and 35 frames'); +}); + +test('no normal attack while it lasts — a 恐惧 does not walk out of it either (no exemption)', () => { + // a ranged enemy shooting the wall operator: pushed, it holds its fire for 0.8 s, then shoots again + const { h, e } = field({ mass: 0, enemy: { atk: 100, range: 6, bat: 0.5, speed: 0 }, units: [{ chessId: 't_wall', row: 10, col: 3 }] }); + assert.ok(h.runUntil(() => h.hooksOf('attack').some((c) => c.attacker === e), 5), 'it shoots the wall'); + const shots = () => h.hooksOf('attack').filter((c) => c.attacker === e).length; + const n0 = shots(), t0 = h.b.time; + h.b.push(e, 0, { from: { x: e.x - 1, y: e.y } }); // 受力等级 0: 0.8 s + h.run(0.8 - TICK); + assert.equal(shots(), n0, 'no attack in the 0.8 s'); + assert.ok(h.runUntil(() => shots() > n0, 3), 'then it attacks again'); + assert.ok(h.b.time - t0 >= 0.8 - 1e-9); + // 恐惧: still held + const f = field({ mass: 0 }); + f.h.b.applyStatus(f.e, 'fear', { duration: 5, force: true }); + f.h.b.push(f.e, 0, { from: { x: f.e.x - 1, y: f.e.y } }); + assert.ok(stillFor(f.h, f.e) >= 0.8 - 1e-9, 'a feared enemy stays put through the hold'); +}); + +test('the −2 angle correction picks the row: a directional push off by more than 45° holds 0.2 s', () => { + const { h, e } = field(); // weight 1: 中力 (1) → 受力等级 0, corrected −2 + const t0 = h.b.time; + const moved = h.b.push(e, 1, { from: { x: e.x, y: e.y - 1 }, dir: { x: 1, y: 0 } }); + assert.ok(near(moved, PUSH_TILES[-2], 1e-6), `the radial −2 push: ${moved}`); + assert.ok(near(e.unbalanceUntil - t0, PUSH_UNBALANCE[-2])); +}); + +test('the row time stays when the 特效 column or a wall shortens the slide; a wall at the first step gives the 0.1 s floor', () => { + const eff = field({ mass: 0 }); + const t0 = eff.h.b.time; + const m = eff.h.b.push(eff.e, 0, { from: { x: eff.e.x - 1, y: eff.e.y }, effect: true }); + assert.ok(m < PUSH_TILES[0] && near(eff.e.unbalanceUntil - t0, PUSH_UNBALANCE[0]), '特效 push: shorter, same 0.8 s'); + // against the field's edge: 1.7 tiles asked, a little moved, then none + const wall = field({ mass: 0 }); + wall.e.x = 9.6; + const t1 = wall.h.b.time; + const m1 = wall.h.b.push(wall.e, 0, { from: { x: wall.e.x - 1, y: wall.e.y } }); + assert.ok(m1 > 0 && m1 < PUSH_TILES[0], `stopped by the edge after ${m1}`); + assert.ok(near(wall.e.unbalanceUntil - t1, PUSH_UNBALANCE[0]), 'still the row time [ASSUMED]'); + const m2 = wall.h.b.push(wall.e, 0, { from: { x: wall.e.x - 1, y: wall.e.y } }); + assert.equal(m2, 0, 'no room left'); + assert.ok(near(wall.e.unbalanceUntil - t1, PUSH_UNBALANCE[0]), 'a running longer state is kept'); + const w2 = field({ mass: 0 }); + w2.e.x = 9.6; + w2.h.b.push(w2.e, 0, { from: { x: w2.e.x - 1, y: w2.e.y } }); + w2.h.run(1); + const t2 = w2.h.b.time; + assert.equal(w2.h.b.push(w2.e, 0, { from: { x: w2.e.x - 1, y: w2.e.y } }), 0); + assert.ok(near(w2.e.unbalanceUntil - t2, UNBALANCE_MIN), 'stopped at once: the 0.1 s floor [ASSUMED]'); +}); + +test('a pull holds for its force window (推与拉): 1 s, 0.5 s below 受力等级 −1, to the end after the 急停; ≤ −3 nothing', () => { + for (const [force, mass, want] of [[1, 1, PULL_UNBALANCE], [0, 1, PULL_UNBALANCE], [-1, 1, PULL_UNBALANCE_WEAK], [-2, 1, 0]]) { + const { h, e } = field({ mass }); + const t0 = h.b.time; + h.b.pull(e, force, { to: { x: 3, y: 10 } }); + const got = Number.isFinite(e.unbalanceUntil) ? e.unbalanceUntil - t0 : 0; + assert.ok(near(got, want), `力度 ${force} − 重量 ${mass}: ${got} s, want ${want}`); + } + // already inside the 急停 circle: no movement, the state for the whole window + const { h, e } = field(); + const t0 = h.b.time; + assert.equal(h.b.pull(e, 1, { to: { x: e.x - 0.3, y: e.y }, center: { x: e.x - 0.3, y: e.y } }), 0); + assert.ok(near(e.unbalanceUntil - t0, PULL_UNBALANCE), '急停 at once: still 1 s'); + assert.ok(stillFor(h, e) >= PULL_UNBALANCE - 1e-9); +}); + +test('a 静态刚体 hit by a force > 0 gets the 0.1 s floor and never moves; 失衡免疫 never enters it', () => { + const s = field({ enemy: { motion: 'FLY' } }); + s.e.def = { ...s.e.def, staticBody: true }; + const x0 = s.e.x, t0 = s.h.b.time; + assert.equal(s.h.b.push(s.e, 3, { from: { x: s.e.x - 1, y: s.e.y } }), 0); + assert.equal(s.e.x, x0, 'not moved'); + assert.ok(near(s.e.unbalanceUntil - t0, UNBALANCE_MIN), '0.1 s'); + const s2 = field({ enemy: { motion: 'FLY' } }); + s2.e.def = { ...s2.e.def, staticBody: true }; + s2.h.b.pull(s2.e, -3, { to: { x: 3, y: 10 } }); // 受力等级 −4: force 0 + assert.ok(!Number.isFinite(s2.e.unbalanceUntil), 'no force, no state'); + const im = field(); + im.h.b.addBuff(im.e, { key: 'test:immune', flags: { noDisplace: true } }); + im.h.b.push(im.e, 3, { from: { x: im.e.x - 1, y: im.e.y } }); + im.h.b.pull(im.e, 3, { to: { x: 3, y: 10 } }); + assert.ok(!Number.isFinite(im.e.unbalanceUntil), '失衡免疫: never'); +}); + +test('浮空 ends the state at once (术语释义 浮空)', () => { + const { h, e } = field({ mass: 0 }); + h.b.push(e, 3, { from: { x: e.x - 1, y: e.y } }); + assert.ok(e.unbalanceUntil > h.b.time); + h.b.applyStatus(e, 'levitate', { duration: 0.5, force: true }); + h.step(); + assert.ok(!(e.unbalanceUntil > h.b.time), 'cleared'); +}); + +test('the displace fx carries the state\'s game seconds for the client\'s slide', () => { + const { h, e } = field({ mass: 0 }); + h.b.drainEvents(); + h.b.push(e, 1, { from: { x: e.x - 1, y: e.y } }); + const fx = (h.b.drainEvents() || []).find((t) => t[0] === 'fx' && t[1] === 'displace'); + assert.ok(fx && near(fx[4].dur, PUSH_UNBALANCE[1]), JSON.stringify(fx)); +});