From a4cf49216081b27960bc1ec6a15e729c336739a1 Mon Sep 17 00:00:00 2001 From: sganggs Date: Sun, 4 Oct 2026 00:33:33 +0800 Subject: [PATCH] =?UTF-8?q?feedback2=20WH:=20=E8=8D=92=E8=8A=9C=E6=8B=89?= =?UTF-8?q?=E6=99=AE=E5=85=B0=E5=BE=B7=20S3's=20drones=20pick=20the=20near?= =?UTF-8?q?est=20enemy=20by=20its=20position=20(a=20huge=20leader's=20cent?= =?UTF-8?q?re),=20the=20owner's=20decision=20so=20leader=20rounds=20stay?= =?UTF-8?q?=20close=20to=200.1.1?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- server/sim/content/kits/tier6.js | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/server/sim/content/kits/tier6.js b/server/sim/content/kits/tier6.js index 0e43e828..9f84dc96 100644 --- a/server/sim/content/kits/tier6.js +++ b/server/sim/content/kits/tier6.js @@ -2801,15 +2801,16 @@ function whitw2(bb, chess, def) { }; // speed v → v + acc·dt (capped); the distance covered at the mean of the two (exact under constant acceleration) const accelerate = (d, lim, dt) => { const v1 = Math.min(lim.max, d.v + lim.acc * dt), s = ((d.v + v1) / 2) * dt; d.v = v1; return s; }; - // ② the selectable enemy nearest to the drone, ties broken by the one nearest to her. [ASSUMED] a huge enemy's distance - // is to its hit rectangle (body.js bodyDist), as in the sim's other nearest-enemy picks (targeting.js sortEnemyTargets - // 'nearest' / 'farthest', tier3 enemiesAround, 异客's storm chain, 溯光星源's bounces and links): a huge leader (胄, 管 …) - // is near every drone around it, so in such a round the drones mostly lock the leader + // ② the selectable enemy nearest to the drone, ties broken by the one nearest to her. [ASSUMED] distances are measured + // to every enemy's position (a huge enemy's centre, its 判定中心) — the owner's decision of 2026-10-04: the centre, so + // leader rounds stay close to 0.1.1; the sim's general convention for operator-side distance picks, the hit rectangle + // (body.js bodyDist: targeting.js sortEnemyTargets 'nearest', tier3 enemiesAround, 异客 / 溯光星源's chains), was + // considered — it made a huge leader (胄, 管) the nearest enemy of every drone around it (DESIGN §22.9) const pickTarget = (battle, unit, d, ok) => { let best = null, bd = Infinity, bh = Infinity; for (const e of battle.enemies) { if (!ok(e)) continue; - const de = bodyDist(e, d.x, d.y), dh = bodyDist(e, unit.x, unit.y); + const de = Math.hypot(e.x - d.x, e.y - d.y), dh = Math.hypot(e.x - unit.x, e.y - unit.y); if (de < bd - 1e-9 || (de <= bd + 1e-9 && dh < bh - 1e-9)) { best = e; bd = de; bh = dh; } } return best;