Improve random spawn (#2503)

## Description:

This is a previously approved PR with an additional commit that fixes
case when nations change spawn & jump around, their previous territory
wasn't getting deleted.

## Please complete the following:

- [x] I have added screenshots for all UI updates
- [x] I process any text displayed to the user through translateText()
and I've added it to the en.json file
- [x] I have added relevant tests to the test directory
- [x] I confirm I have thoroughly tested these changes and take full
responsibility for any bugs introduced

## Please put your Discord username so you can be contacted if a bug or
regression is found:

nikolaj_mykola

---------

Co-authored-by: Evan <evanpelle@gmail.com>
This commit is contained in:
Mykola
2025-12-20 13:35:30 -08:00
committed by GitHub
co-authored by Evan
parent 4ee3319397
commit 6112547273
22 changed files with 320 additions and 254 deletions
+12 -2
View File
@@ -9,11 +9,13 @@ import {
UnitType,
} from "../src/core/game/Game";
import { TileRef } from "../src/core/game/GameMap";
import { GameID } from "../src/core/Schemas";
import { setup } from "./util/Setup";
import { executeTicks } from "./util/utils";
describe("DeleteUnitExecution Security Tests", () => {
let game: Game;
const gameID: GameID = "game_id";
let player: Player;
let enemyPlayer: Player;
let unit: Unit;
@@ -45,8 +47,16 @@ describe("DeleteUnitExecution Security Tests", () => {
const enemySpawn: TileRef = game.ref(0, 15);
game.addExecution(
new SpawnExecution(game.player(player1Info.id).info(), playerSpawn),
new SpawnExecution(game.player(player2Info.id).info(), enemySpawn),
new SpawnExecution(
gameID,
game.player(player1Info.id).info(),
playerSpawn,
),
new SpawnExecution(
gameID,
game.player(player2Info.id).info(),
enemySpawn,
),
);
while (game.inSpawnPhase()) {