feedback7 R22-GHSIM: 大帝 加急调派 stacks without a cap — the 21st deployment and every later one still halve the next redeploy (GitHub #328, PR #329 by @IceCodeNew, re-implemented); golden: unchanged

PRTS 卫戍协议:盟约 下半 and its PRTS盟约记录: 「我方干员每次部署后再部署时间减少50%」 with the note 「※该策略效果可无限
叠加」; the data's buff (act1autochess_band16_buff, respawn_time −0.5) names no cap. The per-deployment ×0.5 stack was
capped at 20 (since the initial import, no source); maxStacks is now unbounded, the multiplicative stack itself is
unchanged (the "each deployment" reading was [ASSUMED] cumulative — the 无限叠加 note backs it). Golden: unchanged (no
corpus battle deploys one operator more than 20 times under 大帝).
This commit is contained in:
sganggs committed 2026-10-08 19:16:34 +08:00
1 parent 7e8b435f7c
commit ca671f2fd0
2 files changed
+16 -3

No files matched your search

+4 -3
View File
@@ -16,8 +16,9 @@
// act1autochess_band13_buff 克莱门莎 崇高牺牲 a <bond_id> operator knocked down ⇒ +its tier (等阶) <bond_id> layers
// (bond_add_type by_charlevel; no "已激活" in the text ⇒ requireActive false)
// act1autochess_band16_buff 大帝 加急调派 "每次部署后再部署时间减少50%": every deployment of an operator stacks one
// redeploy ×(1 + respawn_time) for the rest of the battle [ASSUMED cumulative:
// "每次" — the first redeploy is −50 % under either reading]
// redeploy ×(1 + respawn_time) for the rest of the battle, with no cap (PRTS
// 卫戍协议:盟约 下半 / PRTS盟约记录 备注 "※该策略效果可无限叠加"; a 20-stack cap
// until 0.2.2 — GitHub #328, PR #329)
// act1autochess_band17_buff 桑葚 药枚实验 at combat start the player's units on the front-most (最右边) column: each
// attack has `prob` to gain 1 shield layer (max 1)
// act1autochess_band18_buff 休谟斯 回收利用 a ground (地面) operator's skill ends ⇒ a random operator on its 4
@@ -106,7 +107,7 @@ const BY_KEY = {
battle.on('deploy', (c) => {
const u = c.unit;
if (!isOp(u) || u.ownerId !== ps.playerId) return;
battle.addBuff(u, { key, mods: { redeployMul: mul }, refresh: 'stack', stacks: 1, maxStacks: 20, persist: true, allowDead: true });
battle.addBuff(u, { key, mods: { redeployMul: mul }, refresh: 'stack', stacks: 1, maxStacks: Infinity, persist: true, allowDead: true });
});
},
+12
View File
@@ -587,6 +587,18 @@ test('大帝 加急调派: every deployment halves the operator\'s next redeploy
cover('band_emperor');
});
test('大帝 加急调派 stacks without a cap: the 21st and 22nd deployments still halve the next redeploy (PRTS "※该策略效果可无限叠加"; GitHub #328, PR #329)', () => {
const h = fight({ band: 'band_emperor', units: [{ chessId: 't_op', row: 10, col: 4 }] });
h.step(1);
const u = h.unit('t_op');
for (let n = 1; n <= 22; n++) {
h.b.retreat(u, { reason: 'raid' });
close(u.respawnAt - u.deathAt, 20 / 2 ** n, `after deployment ${n}`);
if (n < 22) assert.ok(h.b._deploy(u), `deployment ${n + 1}`);
}
assert.equal(u.findBuff('band:band_emperor').stacks, 22);
});
test('桑葚 药枚实验: the units on the right-most column get a 25 % chance per attack of 1 shield layer (max 1)', () => {
const ops = { t_op: op('t_op'), t_b: op('t_b') };
for (const [v, want] of [[0.24, 1], [0.26, 0]]) {