feedback5 WE2: effects, reward pools and 机变 cards that grant a random operator also draw the player's 自选 pieces (#9)
「自选干员放入后模拟中的补给池随机范围也将被相应扩大」: player/diy.js diyStockEntries (every slotted piece with copies left; the roll's own tier rules, no 调度中心 gate) joins effectsMeta ctx.rollChess / ctx.rollPool (spDraft rollPool extra + chessOf: bonds through the player's view) and the 驰援 fallback in choices.js. Granted from the player's own stock (poolOf). Docs: META, PLAYING. Golden: no scenario moved.
This commit is contained in:
1 parent
7a3d53faf6
commit
7b83028139
7 files changed
+124
-11
No files matched your search
@@ -482,9 +482,13 @@ function applyDefault(m, ps, card) {
|
||||
handled = true;
|
||||
break;
|
||||
case 'single_special_choice_gain_bond_chess': {
|
||||
// the player's 自选 stock joins the draw, its bonds read through the player's view (player/diy.js diyStockEntries)
|
||||
const pgd = ps.gd || gd;
|
||||
const hasBond = (cid) => { const c = pgd.chess(cid); return !!(c && Array.isArray(c.bonds) && c.bonds.includes(bs.bond)); };
|
||||
for (let i = 0; i < count; i++) {
|
||||
const id = m.pool.roll(m.rngMeta, { maxTier: Math.max(1, ps.shop.level), filter: (cid) => { const c = gd.chess(cid); return !!(c && Array.isArray(c.bonds) && c.bonds.includes(bs.bond)); } })
|
||||
|| m.pool.roll(m.rngMeta, { maxTier: 6, filter: (cid) => { const c = gd.chess(cid); return !!(c && Array.isArray(c.bonds) && c.bonds.includes(bs.bond)); } });
|
||||
const extra = typeof ps.diyStockEntries === 'function' ? ps.diyStockEntries() : null;
|
||||
const id = m.pool.roll(m.rngMeta, { maxTier: Math.max(1, ps.shop.level), filter: hasBond, extra })
|
||||
|| m.pool.roll(m.rngMeta, { maxTier: 6, filter: hasBond, extra });
|
||||
if (id) ps.acquireChess(id, { source: 'choice' });
|
||||
}
|
||||
handled = true;
|
||||
|
||||
Reference in new issue
Block a user