feedback1b WG: 奥术 re-measured; bonds the mode never activates read 本局禁用

Player report after 0.1.0: "奥术盟约不生效". Measured on a real 险境 battle
(Match._normalOpts) and the same battle from its BattleSpec (browser path):
the bond works - member arts hits debuff the target x(1.2 + 0.01*L) for 3 s,
later arts hits land multiplied, the 3-member tier gives x1.4 below 50 % HP,
in-battle layer gains apply live, browser = server.

What a player sees instead: 标准模拟 switches 奥术 off (official
inactiveBondIdList, with 9 other bonds) while 深靛 洛洛 阿罗玛 夕 圣聆初雪 stay in
the pool through their other bond; their cards showed 奥术 like any bond and
the detail chip read "0/2 未激活" with three deployed. Shop / reward cards,
the detail card's bond chips and the bond popup now mark such a bond
本局禁用 (gameLogic modeOffBonds over config.modes[modeId].inactiveBondIds).

The PRTS 盟约记录 奥术 note (one instance per unit and target) is documented
next to the one-effective-instance rule it fits (SIM.md, bond header).
This commit is contained in:
sganggs committed 2026-10-03 02:31:35 +08:00
1 parent 7f134737ce
commit b4fa21a0a6
11 files changed
+295 -39

No files matched your search

+15
View File
@@ -439,6 +439,21 @@ export function briefingBondTip(name, state, bannedN = 0) {
return name;
}
/**
* The bonds a mode never activates (config.json modes[modeId].inactiveBondIds = the official modeDataDict
* inactiveBondIdList: 标准模拟 leaves 拉特兰 阿戈尔 卡西米尔 灵巧 奥术 奇迹 投资人 突袭 独行 绝技 off). Operators that also carry an
* enabled bond stay in the pool (server pool.js drawDisabledBonds) — 标准's 深靛 洛洛 阿罗玛 夕 圣聆初雪 still show 奥术 — and
* the server leaves such a bond out of m.private.bonds, so without a mark a card read "奥术 0/2 未激活" with three 奥术
* operators deployed (player report after 0.1.0: "奥术盟约不生效"). The shop / reward cards, the detail card's bond chips
* and the bond popup mark these 本局禁用 (briefingBondTip 'off').
* @param {any} mode config.json modes[modeId] (data.js getMode), or null
* @returns {Set<string>}
*/
export function modeOffBonds(mode) {
const list = isObj(mode) && Array.isArray(mode.inactiveBondIds) ? mode.inactiveBondIds : [];
return new Set(list.filter((b) => typeof b === 'string'));
}
// ---- shop ---------------------------------------------------------------------------------------------
/**