New Map! "Surrounded" 🏝️ (#2770)

## Description:

A new map where you basically have to hop from island to island :) 
We don't have such a map at the moment.
There is a special center island which isn't necessary to get 80% of the
map.
This map could be very interesting in team games. One hydro will destroy
an entire island.
Size: 1976 x 1976
Nations: 8

<img width="949" height="951" alt="Screenshot 2026-01-02 214219"
src="https://github.com/user-attachments/assets/7139bcc9-6a05-414d-90c1-33cc36dd94fb"
/>

## 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
This commit is contained in:
FloPinguin
2026-01-02 22:09:59 +01:00
committed by GitHub
parent 4877e202f6
commit 1eee8b4ddb
13 changed files with 116 additions and 1 deletions
+1
View File
@@ -46,6 +46,7 @@ export const MapDescription: Record<keyof typeof GameMapType, string> = {
Lemnos: "Lemnos",
TwoLakes: "Two Lakes",
StraitOfHormuz: "Strait of Hormuz",
Surrounded: "Surrounded",
};
@customElement("map-display")
+1
View File
@@ -87,6 +87,7 @@ const numPlayersConfig = {
[GameMapType.Lemnos]: [20, 15, 10],
[GameMapType.TwoLakes]: [60, 50, 40],
[GameMapType.StraitOfHormuz]: [40, 36, 30],
[GameMapType.Surrounded]: [56, 28, 14], // 4, 2, 1 players per island
} as const satisfies Record<GameMapType, [number, number, number]>;
export abstract class DefaultServerConfig implements ServerConfig {
+2
View File
@@ -109,6 +109,7 @@ export enum GameMapType {
Lemnos = "Lemnos",
TwoLakes = "Two Lakes",
StraitOfHormuz = "Strait of Hormuz",
Surrounded = "Surrounded",
}
export type GameMapName = keyof typeof GameMapType;
@@ -159,6 +160,7 @@ export const mapCategories: Record<string, GameMapType[]> = {
GameMapType.BaikalNukeWars,
GameMapType.FourIslands,
GameMapType.Svalmel,
GameMapType.Surrounded,
],
};
+1
View File
@@ -59,6 +59,7 @@ const frequency: Partial<Record<GameMapName, number>> = {
Lemnos: 3,
TwoLakes: 6,
StraitOfHormuz: 4,
Surrounded: 4,
};
interface MapWithMode {