From 5b98b27608880a1a208d3852b04c69a6d27e96f8 Mon Sep 17 00:00:00 2001 From: 22314621 Date: Sat, 16 May 2026 16:10:37 +0300 Subject: [PATCH] fix: remove double x() dereference in MIRV separation point calc mg.x() takes a TileRef and returns a number (x coordinate). The code was calling mg.x(mg.x(tile)), feeding the numeric result back into x() which expects a TileRef. This produces an incorrect midpoint for MIRV warhead separation, causing warheads to spread from a wrong position on the map. --- src/core/execution/MIRVExecution.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/core/execution/MIRVExecution.ts b/src/core/execution/MIRVExecution.ts index 3fef4c8941..d06d9e23cd 100644 --- a/src/core/execution/MIRVExecution.ts +++ b/src/core/execution/MIRVExecution.ts @@ -82,7 +82,7 @@ export class MirvExecution implements Execution { }); this.mg.stats().bombLaunch(this.player, this.targetPlayer, UnitType.MIRV); const x = Math.floor( - (this.mg.x(this.dst) + this.mg.x(this.mg.x(this.nuke.tile()))) / 2, + (this.mg.x(this.dst) + this.mg.x(this.nuke.tile())) / 2, ); const y = Math.max(0, this.mg.y(this.dst) - 500) + 50; this.separateDst = this.mg.ref(x, y);