From 05c4a67e17c1b172cedfdc7c89afa7a166d1796f Mon Sep 17 00:00:00 2001 From: FloPinguin <25036848+FloPinguin@users.noreply.github.com> Date: Sun, 5 Apr 2026 21:33:59 +0200 Subject: [PATCH] =?UTF-8?q?Exclude=20extreme=20modifiers=20on=20Four=20Isl?= =?UTF-8?q?ands=20=F0=9F=8F=9D=EF=B8=8F=20(#3593)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit ## Description: I saw multiple occasions of 3h long four islands team games because of the 2x gold multiplier. For example [here](https://www.reddit.com/r/Openfront/comments/1sca6g4/endless_game/). People just get too many SAMs. Without the extreme gold amount, team games on four islands are actually fun. This PR excludes `goldMultiplier` and `startingGold25M` from special game modifiers when the map is FourIslands. ## 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: FloPinguin --- src/server/MapPlaylist.ts | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/src/server/MapPlaylist.ts b/src/server/MapPlaylist.ts index 4395ea1f1..7e5d1a7d1 100644 --- a/src/server/MapPlaylist.ts +++ b/src/server/MapPlaylist.ts @@ -225,6 +225,12 @@ export class MapPlaylist { excludedModifiers.push("isRandomSpawn"); } + // No extreme modifiers on FourIslands - Causes 3h long stalemates + if (map === GameMapType.FourIslands) { + excludedModifiers.push("goldMultiplier"); + excludedModifiers.push("startingGold25M"); + } + // Hard nations modifier only applies when nations are present (not HvN, which is always hard) if (mode === GameMode.Team) { excludedModifiers.push("isHardNations"); @@ -324,7 +330,6 @@ export class MapPlaylist { disabledUnits.push(UnitType.SAMLauncher); } - // 3min peace = 180s = 1800 ticks // 4min peace = 240s = 2400 ticks const peaceTimeDuration = isPeaceTime ? 240 * 10 : undefined;