From c4381a9ad3828b06764ab1a21fc1514e37aacfd7 Mon Sep 17 00:00:00 2001 From: Evan Date: Sun, 16 Mar 2025 20:39:20 -0700 Subject: [PATCH] encirclement bug: ensure player is inscribed before losing territory --- src/core/execution/PlayerExecution.ts | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/src/core/execution/PlayerExecution.ts b/src/core/execution/PlayerExecution.ts index 0bb98bec1..9d5cb9b5c 100644 --- a/src/core/execution/PlayerExecution.ts +++ b/src/core/execution/PlayerExecution.ts @@ -149,7 +149,13 @@ export class PlayerExecution implements Execution { if (enemies.size != 1) { return false; } - return this.mg.playerBySmallID(Array.from(enemies)[0]) as Player; + const enemy = this.mg.playerBySmallID(Array.from(enemies)[0]) as Player; + const enemyBox = calculateBoundingBox(this.mg, enemy.borderTiles()); + const clusterBox = calculateBoundingBox(this.mg, cluster); + if (inscribed(enemyBox, clusterBox)) { + return enemy; + } + return false; } private isSurrounded(cluster: Set): boolean {