Playtest #6 follow-up (v2.5.1): leader HP review — 直接乘算, one debuff instance, 999 layer cap, 限伤; elite to the board; 假想敌:胄 kit
- co-op leaders died within seconds: leader HP is the official data (40 values pinned); bond / strategy / item / 机变 / 特质 "+X%" bonuses now add up (PRTS 直接乘算) instead of compounding; a same-named enemy debuff keeps one (strongest) instance per target (奥术 across a pair field); leader parts pass damage 1:1; fixed co-op pool (the user's call) - official limits read from the client: each bond stops at 999 layers (MAX_GARRISON_STACK); a leader hit of 300000+ in boss / hidden battles is cancelled (MAX_BATTLE_DAMAGE, 限伤) — shared/constants.js switches, research 11 - a merge that consumes a deployed copy puts the elite on that tile and facing (user-confirmed); gold target highlight, promotion effect - 假想敌:胄 per PRTS: one shell, shells within range, any drone death costs 2 % max HP, 剑/锤 sorties and 瘫痪 - DESIGN §20.10–§20.14; 2842 unit tests, all 28 browser suites green; Chrome = Node on boss fields
This commit is contained in:
1 parent
6464e4b46a
commit
620f88c0d8
81 files changed
+4194
-447
No files matched your search
+4
-2
@@ -10,7 +10,8 @@
|
||||
// --humans N the first N seats are human seats on "AI 托管" (exercises the human views / m.private paths)
|
||||
// --seeds N run N consecutive seeds and print an aggregate (rounds survived, LP by round, outcomes)
|
||||
// --lp N override every player's starting LP (reach later rounds / the Final Assault while balancing)
|
||||
// --layers N at the boss round's prep, add N layers to every bond of every player (reach the Hidden Core)
|
||||
// --layers N at the boss round's prep, add N layers to every bond of every player (reach the Hidden Core); a raw
|
||||
// write (no onLayers milestones) that stops at BOND_LAYER_CAP (999, shared/constants.js) like every gain
|
||||
// --difficulty ALL sweep all four difficulties
|
||||
// --content sim content mode (default full)
|
||||
// --rehearsal N layouts each bot rehearses per prep with the real sim (default: the Match default, 3; 0 = off,
|
||||
@@ -35,6 +36,7 @@ import { VirtualScheduler } from '../server/match/scheduler.js';
|
||||
import { attachAudit } from '../server/match/audit.js';
|
||||
import { Battle } from '../server/sim/Battle.js';
|
||||
import { getData } from '../server/data.js';
|
||||
import { layerGainRoom } from '../shared/constants.js';
|
||||
|
||||
const argv = process.argv.slice(2);
|
||||
const opt = {};
|
||||
@@ -130,7 +132,7 @@ function runOne(seed, difficulty) {
|
||||
last = key;
|
||||
if (lpOverride && m.phase === 'PREP' && m.round === 1) for (const ps of m.players.values()) ps.lp = lpOverride;
|
||||
if (layerBoost && m.phase === 'PREP' && m.round === m.gd.bossRound) {
|
||||
for (const ps of m.alivePlayers()) { for (const id of m.gd.bondIds) ps.layers[id] = (ps.layers[id] || 0) + layerBoost; ps.recompute(); }
|
||||
for (const ps of m.alivePlayers()) { for (const id of m.gd.bondIds) { const before = ps.layers[id] || 0; ps.layers[id] = before + layerGainRoom(before, layerBoost); } ps.recompute(); }
|
||||
}
|
||||
if (m.phase === 'SETTLE' || ((m.phase === 'RESULT') && (m.round === m.gd.bossRound || m.round === m.gd.hiddenRound))) {
|
||||
const row = { round: m.round, unite: !!m.unitePlan, players: {} };
|
||||
|
||||
Reference in new issue
Block a user