feedback5 CB4: 自制投石机's targeting ignores its block (索敌不受阻挡影响) — blocked by an operator on the 排气格栅 with nobody else in range it does not attack, as in the official game (community report of 2026-10-06, item 24)
The 「投石车」 is 自制投石机 (enemy_10162_mnctpt), the 「蒸汽地板」 the 排气格栅 smog (隐匿 to enemy ranged attacks). PRTS 天赋 「索敌不受阻挡影响」: the blocker exception (a blocked enemy attacks its blocker whatever its selectability) does not apply to it. New enemy profile field `blockFree` (spawns.js): attackTargets selects as if unblocked, canTargetAlly refuses a 隐匿 / 迷彩 blocker to it, sortAllyTargets puts no blocker first. Other enemies unchanged. Golden: standin-06 (the bounty catapult, blocked by 忍冬, now shoots by 仇恨值 — checked instrumented). Tests: test/sim/feedback5-catapult-smog.test.js (3; 2 fail on the parent). Docs: DESIGN §25.18.7, docs/SIM.md.
This commit is contained in:
1 parent
d40cb4e79e
commit
fdb3ae1b46
9 files changed
+127
-52
No files matched your search
+5
-2
@@ -718,10 +718,13 @@ export function attackWindup(e) {
|
||||
return a && a.dur > 0 ? clipHit(a) / clipSpeed(e, a) : 0;
|
||||
}
|
||||
|
||||
/** The allies `e` could hit now: its blocker (and, with a range, the others in reach), passing its own target rule. */
|
||||
/**
|
||||
* The allies `e` could hit now: its blocker (and, with a range, the others in reach), passing its own target rule. An
|
||||
* enemy whose 索敌不受阻挡影响 (profile `blockFree`: 自制投石机) selects as if unblocked: the allies in reach it may target.
|
||||
*/
|
||||
function attackTargets(b, e, radius, reach, own) {
|
||||
let targets = [];
|
||||
if (e.blockedBy) {
|
||||
if (e.blockedBy && !(radius > 0 && e.profile && e.profile.blockFree)) {
|
||||
const bl = e.blockedBy;
|
||||
if (radius > 0) {
|
||||
targets = b.alliesInRadius(e.x, e.y, reach, null).filter((a) => a === bl || canTargetAlly(e, a, true));
|
||||
|
||||
Reference in new issue
Block a user