feedback5 WY: 拟态物质 with 2 copies owned and none left in the pool gives nothing instead of a random same-bond operator (GitHub #207)

The item text 「若已拥有至少2名该初始干员,则再获得1名该初始干员;否则随机获得1名同盟约初始干员」: the 否则 is the
case of fewer than 2 owned. builtinMeta's use_equip_reward_char_chess returned only when grantChess(base) gave a piece,
so an elite 溯光星源 plus 2 normal copies (all 5 Ⅵ阶 copies) fell through to the same-bond roll (白面鸮 in the report's
seed). Now with 2 owned it asks for the 3rd and stops; the item is still consumed. The bots' carrier choice
(itemTarget) skips 2 copies whose pool is out.

Tests: test/content/items.test.js (the report with the normal and golden item; 2 copies with the pool drained; 2 copies
with copies left still merge), test/match/bot-smarter.test.js (no carrier on a pair whose pool is out); both fail
without the fix. Docs: META built-ins and bot items, research 04 / 06, DESIGN §25.13.1.
Golden unchanged.
This commit is contained in:
sganggs committed 2026-10-06 20:55:49 +08:00
1 parent e1ffcd1b07
commit 463352d9bc
8 files changed
+92 -11

No files matched your search

+26 -2
View File
@@ -9,7 +9,8 @@ later merges of feedback4 brought the rest of 0.1.4 in. The workstreams, each on
after review with its golden scenarios named: R1–R6 (refactor, tooling), W5A (golden results), W5B / W5D / W5G /
K1–K3 / W5N (补位), W5H / W5K / O1–O24 (自选编队 and its operator kits), W5I / W5S (languages, phases 1 and 2), W5C /
W5E / W5F / W5J / W5L (fidelity, wave 1), WE1 / WE2 (the follow-ups the kit waves reported), W5M, W5R and the feedback4
merges (the 0.1.4 ports), W5V (the owner's items of 2026-10-06), W5U (packaging) and W5T (the docs). Each rule was
merges (the 0.1.4 ports), W5V (the owner's items of 2026-10-06), W5U (packaging), W5T (the docs) and W5Y (round 18:
three GitHub issues and three community PRs). Each rule was
checked against the official data and PRTS; anything no source backs is marked [ASSUMED].
The normative sections were rewritten with the streams: §0 (the DIY slots), §2 (the layout), §5.5 (the enemy damage
frame, the block-count target rule), §5.6 (the trigger rules), §8.1 / §8.3 (`welcome.diyKitted`, `standIns`, `diy`,
@@ -21,7 +22,7 @@ rules (GitHub #181, #187 / #170, follow-ups) → §25.7; WE2, data / match / UI
what stays [ASSUMED] and the questions left to the owner → §25.10. The closing additions: the owner's decisions of
2026-10-06 (望's stock, skill triggers through summon areas, the 突袭 landing, GitHub #148) and the items the sources
settled (泥岩's 闭锁; 忍冬, 深靛, 阿) → §25.11; release packaging and the asset manifest (the 自选 voices, the summons
with no Spine model) → §25.12.
with no Spine model) → §25.12; round 18 — 拟态物质 at the copy cap (GitHub #207) → §25.13.
Decisions of the owner: 2026-10-04 — the server stays on plain `node:http` + `ws`, no web framework (§25.1);
2026-10-05 — the 补位 plan (§25.3); the 自选编队 rules, the collab operators out of the pool, ISW-A refused (§25.4);
@@ -829,3 +830,26 @@ answers and checked the remaining items against PRTS and the client (W5V's commi
(no `diy.excluded` operator keeps art; one lower-case module icon per type; no two manifest URLs differ only in case;
orphans compared case-insensitively), `test/assets.test.js` (the empty-array rule). Docs: docs/DEPLOY.md §7, the
README download section (full and lite), docs/ASSETS.md.
### 25.13 Round 18: GitHub #207, #175, #169 and the community PRs #192, #209, #211 (W5Y; the owner's decisions of 2026-10-06) — `server/match/builtinMeta.js`, `server/match/bot.js itemTarget`
The round-18 triage of the open issues and pull requests left three bugs and three community changes for 0.2.0; the
owner decided the open questions on 2026-10-06. Each item is one commit (W5Y) naming the golden scenarios it moved; a
ported PR credits its author there and here.
#### 25.13.1 拟态物质 with 2 copies owned and the pool out gives nothing (GitHub #207) — `server/match/builtinMeta.js` (`use_equip_reward_char_chess`), `server/match/bot.js itemTarget`
- **Seen** (GitHub #207, reproduced in the triage): an elite 溯光星源 plus 2 normal copies hold all 5 of the Ⅵ阶 pool's
copies (3 + 2); 拟态物质 on one of the normal copies gave a random same-bond operator (白面鸮 on that seed; 至简 is in
the same roll). Also in 0.1.4.
- **Official**: the item text 「若已拥有至少2名该初始干员,则再获得1名该初始干员;否则随机获得1名同盟约初始干员」 — the 否则 is
the case of fewer than 2 owned; research 06 §7: some effects fail when the copy cap is hit.
- **Cause**: with 2 owned the handler returned only when `grantChess(base)` gave a piece; the null of an empty pool fell
through to the same-bond roll.
- **Now**: with 2 normal copies owned the item asks for the 3rd and stops there — none left in the pool, nothing is
given (the item is still consumed); the same-bond operator is only for fewer than 2 owned. With copies left the 3rd
copy still merges into the elite. The bots' carrier choice skips 2 copies whose pool is out.
- Golden: unchanged (no corpus match equips it on a pair whose pool is out). Tests: `test/content/items.test.js` (the
report — an elite and 2 normal 溯光星源, normal and golden item: nothing granted, no other operator, consumed; 2 copies
with the pool drained: nothing; 2 copies with copies left: the elite), `test/match/bot-smarter.test.js` (no bot carrier
on a pair whose pool is out). Docs: docs/META.md (built-ins, the bots' items), research 04 / 06.