Feat: Strait of Hormuz map (#2747)

## Description:
Introduces the Strait of Hormuz section in the Persian Gulf as a map!
This map is actually crazy fun to play on because of how the water
narrows to a small strait where control is necessary otherwise enemies
can transport boat to you easily. I figured a strategic map based on
modern-ish day conflicts would fit the theme, but man it's a great map
to play on.

### Full Map
<img width="2739" height="1822" alt="image"
src="https://github.com/user-attachments/assets/f35bdefa-723a-4bb2-9dc9-fb42898528ce"
/>

### In game with nations
<img width="2218" height="1502" alt="image"
src="https://github.com/user-attachments/assets/00e350cf-8654-4638-8654-178accdf6a48"
/>



## 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:

bijx
This commit is contained in:
bijx
2025-12-31 18:55:43 -05:00
committed by GitHub
parent 59b9cf521a
commit 9d5f167446
12 changed files with 235 additions and 1 deletions
+1
View File
@@ -45,6 +45,7 @@ export const MapDescription: Record<keyof typeof GameMapType, string> = {
Manicouagan: "Manicouagan",
Lemnos: "Lemnos",
TwoLakes: "Two Lakes",
StraitOfHormuz: "Strait of Hormuz",
};
@customElement("map-display")
+1
View File
@@ -86,6 +86,7 @@ const numPlayersConfig = {
[GameMapType.World]: [50, 30, 20],
[GameMapType.Lemnos]: [20, 15, 10],
[GameMapType.TwoLakes]: [60, 50, 40],
[GameMapType.StraitOfHormuz]: [40, 36, 30],
} as const satisfies Record<GameMapType, [number, number, number]>;
export abstract class DefaultServerConfig implements ServerConfig {
+2
View File
@@ -108,6 +108,7 @@ export enum GameMapType {
Manicouagan = "Manicouagan",
Lemnos = "Lemnos",
TwoLakes = "Two Lakes",
StraitOfHormuz = "Strait of Hormuz",
}
export type GameMapName = keyof typeof GameMapType;
@@ -147,6 +148,7 @@ export const mapCategories: Record<string, GameMapType[]> = {
GameMapType.Manicouagan,
GameMapType.Lemnos,
GameMapType.TwoLakes,
GameMapType.StraitOfHormuz,
],
fantasy: [
GameMapType.Pangaea,
+1
View File
@@ -58,6 +58,7 @@ const frequency: Partial<Record<GameMapName, number>> = {
World: 8,
Lemnos: 3,
TwoLakes: 6,
StraitOfHormuz: 4,
};
interface MapWithMode {