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
+8 -2
View File
@@ -1,10 +1,12 @@
import { AttackExecution } from "../src/core/execution/AttackExecution";
import { SpawnExecution } from "../src/core/execution/SpawnExecution";
import { Game, Player, PlayerInfo, PlayerType } from "../src/core/game/Game";
import { GameID } from "../src/core/Schemas";
import { GOLD_INDEX_WAR, GOLD_INDEX_WORK } from "../src/core/StatsSchemas";
import { setup } from "./util/Setup";
let game: Game;
const gameID: GameID = "game_id";
let player1: Player;
let player2: Player;
@@ -18,8 +20,12 @@ describe("AttackStats", () => {
player1 = game.player("player1");
player2 = game.player("player2");
game.addExecution(new SpawnExecution(player1.info(), game.ref(50, 50)));
game.addExecution(new SpawnExecution(player2.info(), game.ref(50, 55)));
game.addExecution(
new SpawnExecution(gameID, player1.info(), game.ref(50, 50)),
);
game.addExecution(
new SpawnExecution(gameID, player2.info(), game.ref(50, 55)),
);
while (game.inSpawnPhase()) {
game.executeNextTick();