0.2.5-dev: 萨卡兹枯朽战士 (and every enemy sharing its death fog) leaves no 污秽侵蚀 when it dies silenced — the owner's official-play recall, against the PRTS / in-game wording (#470); the 调度中心 5 / 6 promotion reward includes 自选 operators of the newly reached tier (#515, after research; the owner's decision); golden: unchanged

This commit is contained in:
sganggs committed 2026-10-12 15:24:07 +08:00
1 parent a8ff5e7c1d
commit 9b37a68fcf
15 files changed
+157 -49

No files matched your search

+57
View File
@@ -464,3 +464,60 @@ continues the same layer gap (191 → 206). The human settle row first differs a
267 → 282; final bonds move 奥术 27 → 30, 拉特兰 17 → 23 and 精准 53 → 59. This scenario was not among the 45 that
already differed from 0.2.4 (§30.9, §30.16), so the release-relative total is now 46. The other 286 digests match
the preceding candidate.
### 30.20 Silenced 枯朽 death fog, and 自选 in the promotion reward
Two owner decisions of 2026-10-12. Neither is a new pool or a change to any other silence rule.
**#470.** `enemy_1267_nhpbr` (萨卡兹枯朽战士) and `enemy_1267_nhpbr_2` (萨卡兹枯朽战士组长) share one death ability,
PollutedDie 【污染秽蚀】 (`kitPolluted`). A death while `flags.silence` is set creates no zone. The owner's official-play
recall is that killing one which already shows the silence icon leaves no fog. That recall contradicts the PRTS /
in-game text 「不可沉默」. Both handbook lines are `format: "NORMAL"` ("被击倒时释放污染秽蚀,使周围我方持续损失生命"),
not `SILENCE`. 0.2.0 already withheld the fog (§25.18.2), from the general 死亡爆炸 line "如无特殊说明,此能力默认可沉默"
and a client-template reading of `projectile_on_killed`. That section stays as the 0.2.0 reading. The reason recorded
now is the owner's recall, against 「不可沉默」. The local gamedata cache does not contain the string 「不可沉默」; the
contradiction is the issue title and the owner's statement.
The same ability is only those two keys. Checked and left unchanged: 萨卡兹枯朽战车 / 尖端 (`enemy_1272_nhtank`, `_2`)
秽蚀轰击 is an attack skill with `_ignoreSilence` and `silenceImmune`; 枯朽之种 (`enemy_1269_nhfly`) self-destructs and
is silence-immune; 枯朽萃聚使徒 (`enemy_1321_wdarft`) summons seeds and is silence-immune; 萨卡兹枯朽前锋 / 辟路前锋
(`enemy_1422_lrsldr`, `_2`) deal arts while in a 源石污染区; 假想敌:蚀裂 (`enemy_9006_actoxi`) has a different death
cloud that was already silenceable; 高能源石虫's 死亡爆炸 is a different ability. A silence that has expired does not
stop the fog. A leak (`reason !== 'killed'`) still creates none. A killing blow that would apply silence only if the
target is still alive is not this case: the report is the icon already showing.
**#515.** The promotion reward (three different operators, one tier above the 调度中心, at most 6, price 0) includes
自选 operators of the newly reached tier, the way the ordinary shop includes them once the 调度中心 is at that tier.
`pushRewardOffer` with no explicit `ids` now passes `diyStockEntries()` into `pool.roll`. The tier filter is unchanged,
including the downward walk when a tier has no further distinct chess (playtest #6 item 19). Shop level 4 rolls reward
tier 5, so a stocked tier-5 自选 piece can appear and a tier-6 piece cannot. Shop level 5 rolls reward tier 6, so a
stocked tier-6 piece can appear; a tier-5 piece appears only if that roll walks down. Shop level 6 still can roll tier
6. Shop level 3 rolls tier 4 and has no tier-4 自选 piece. The ordinary shop (`economy.js`, `diyRollEntries`) still
waits for `shopLevel` 5 / 6. Effect offers that pass explicit `ids` do not roll. A 自选 piece is not guaranteed. A slot
whose every bond is banned still has no stock. `left <= 0` stays out. Copy counts 8 / 5 stay [ASSUMED] and unchanged.
Seen: 卫戍协议/帮助 干员的获得与精锐化 describes a temporary refresh of three operators one tier above the 调度中心 and
does not say that 自选 are excluded. The next section's note "仅在调度中心等级 ≥ 干员所在等阶时,该干员才有可能出现在栏位中"
is the persistent shop: binding it to the refresh would leave a level-4 调度中心 with no tier-5 operator.
`shopLevelDisplayDataDict` lists the tier-5 DIY slots at level 5 and the tier-6 slots at level 6; those rows are visible
shop chess, and no second pool excludes them. No parsed page names 自选 inside the refresh. The inclusion is the
owner's decision of 2026-10-12, not a new [ASSUMED]. 0.2.0 §25 had [ASSUMED] that the reward used the slot's shop
level; that sentence stays there, and this section reverses it.
Normative lines: `server/match/player/acquire.js` `pushRewardOffer`, `server/match/player/diy.js`, META.md §3,
DATA.md `rewardOffer` and §18, design/match.md economy, PLAYING.md 自选编队, SIM.md enemy damage zones,
`server/sim/content/enemies/archetypes.js` `kitPolluted`. Tests: `test/match/diy-shop.test.js` (the reward tallies;
the level-4 ordinary shop still rolls no tier-5 自选 piece), `test/content/enemies_bosses.test.js` (both keys, silenced
and after the silence runs out).
`npm run golden:update` recomputed all 287 scenarios. No scenario was added or removed, and no digest moved.
#470 does not change the sim: the fog was already withheld. #515 can change a promotion reward only when the seat
has stocked 自选 of the reward tier and the 调度中心 is still below that slot's shop level. The two DIY matches start
at shop level 5. `coop2-NORMAL-5-coverage-diy` rolls its only reward after the shop is already 6, where both iterators
include the tier-6 stock, so the offer is the same. `coop2-NORMAL-70-diy` rolls four tier-6 rewards while the shop is
still 5. On this seed the card the seat takes is the same operator as before. Rounds 8–10 differ only in an untaken
card (round 8 swaps the other two; rounds 9 and 10 replace the third). The other level-5 offer is unchanged. Both
level-6 offers match the previous roll, including the one that shows the tier-6 自选 piece, which the shop gate already
allowed. The digest records
shop draws, fielded pieces, board hashes and the rng state, not an untaken reward card, so the stored scenario does
not move. The release-relative total against 0.2.4 stays 46.