feedback5 CB4: silenced at its death, 萨卡兹枯朽战士 (组长) releases no 污染秽蚀 (community report of 2026-10-06, item 10)

Official: PRTS 特殊机制 死亡爆炸 「默认可沉默」; the client's PollutedDie buff uses template projectile_on_killed, which
checks CheckAbnormalFlag SILENCED (unset) before EmitProjectile — the template of 高能源石虫's SILENCE-flagged blast. Its
handbook line alone is NORMAL, so the handbook rule missed it; kitPolluted's death ability is now `sil`, and the
silence test names the two keys as template exceptions (audit of all 243 prefabs: 刺胄之弹 is the only other such line,
left for later).

Golden: 5 bot matches, each with silenced 枯朽战士 deaths (14-83 per match, counted instrumented): solo-NORMAL-1,
coop2-NORMAL-3, coop4-ABYSS-7, coop2-NORMAL-8-serverrun, coop2-NORMAL-14-standins.
Tests: test/content/enemies_bosses.test.js (silence rule + both keys; 3 fail on the parent). Docs: DESIGN §25.18.2.
This commit is contained in:
sganggs committed 2026-10-07 01:48:00 +08:00
1 parent 219ab31a3d
commit 7fb6a1c8b4
5 files changed
+102 -40

No files matched your search

+10
View File
@@ -630,7 +630,17 @@ const kitSelfFear = (ab) => [selfFear(ab)];
* after a block ends, the warrior's own block that the knock-out releases included (Battle._stealthSwitch). */
const kitEmber = (ab) => [husk({ hits: T(ab, 'Revive[Trigger].prop_max_hp'), delay: T(ab, 'Revive[Trigger].interval') })];
/**
* 萨卡兹枯朽战士 / 组长 · death: 【污染秽蚀】 (PRTS 天赋 "{{特殊机制|死亡爆炸}}(释放半径2.0,持续8s的【污染秽蚀】)"). Silenced at its
* death it releases nothing: PRTS 特殊机制 死亡爆炸 "如无特殊说明,此能力默认可沉默…若不处于沉默状态,将会…释放", and the
* client agrees — its PollutedDie ability is a buff of template `projectile_on_killed` (battle prefab
* enemy_1267_nhpbr / _2), whose ON_OWNER_KILLED first checks `CheckAbnormalFlag SILENCED` (unset) before it emits the
* pollution projectile — the template of 高能源石虫's SILENCE-flagged blast too. Its handbook line alone is NORMAL, the one
* exception to the handbook rule of content/enemies.js (community report of 2026-10-06, item 10: until 0.2.0 a
* silenced one still poisoned its blockers).
*/
const kitPolluted = (ab) => [{
sil: true,
death(c, b, e) {
if (c.reason !== 'killed') return;
pollution(b, e, e.x, e.y, T(ab, 'PollutedDie.projectile_range') ?? 1, T(ab, 'PollutedDie.projectile_life_time') ?? 0,