Adds Gulf of Guinea map (#4590)

## Description:

Adds Gulf of Guinea map to the game:
https://en.wikipedia.org/wiki/Gulf_of_Guinea

Final map of the "pirate maps" for v33 , alongside Irish Sea and Levant.
The map is designed so that all the trade from the mainland, which
covers 2 of the four corners of the "square" (inverse L) passes through
3 small islands, which although small in size they will super-boost
pirates in that zone. The mainland is otherwise fairly lineal, playing
like maps like Conakry.

Also some sub-saharan african representation

The map is decorated with Impassable terrain in its southern border, and
has additional nations for Hvn and Solo games


https://github.com/user-attachments/assets/9c9fd8c0-fefb-46c4-8720-55e90401681e

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

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

tri.star1011
This commit is contained in:
RickD004
2026-07-13 09:17:02 -07:00
committed by GitHub
parent e57939aba1
commit 558f2e20db
17 changed files with 725 additions and 0 deletions
+35
View File
@@ -122,6 +122,11 @@
"code": "Anarchist flag",
"name": "Anarchist Flag"
},
{
"code": "Ambazonia",
"continent": "Africa",
"name": "Ambazonia"
},
{
"code": "ad",
"continent": "Europe",
@@ -132,6 +137,11 @@
"continent": "Africa",
"name": "Angola"
},
{
"code": "gq-an",
"continent": "Africa",
"name": "Annobon"
},
{
"code": "aq",
"continent": "Antarctica",
@@ -356,6 +366,11 @@
"continent": "Asia",
"name": "Bhutan"
},
{
"code": "Biafra",
"continent": "Africa",
"name": "Biafra"
},
{
"code": "bo",
"continent": "South America",
@@ -1426,11 +1441,21 @@
"continent": "South America",
"name": "Kingdom of Araucania and Patagonia"
},
{
"code": "Kingdom of Benin",
"continent": "Africa",
"name": "Kingdom of Benin"
},
{
"code": "Kingdom Of Cyprus",
"continent": "Europe",
"name": "Kingdom of Cyprus"
},
{
"code": "Kingdom of Dahomey",
"continent": "Africa",
"name": "Kingdom of Dahomey"
},
{
"code": "Kingdom of Egypt",
"continent": "Africa",
@@ -1461,6 +1486,11 @@
"continent": "Asia",
"name": "Kingdom of Judah"
},
{
"code": "Kingdom of Kongo",
"continent": "Africa",
"name": "Kingdom of Kongo"
},
{
"code": "Kingdom of Syria",
"continent": "Asia",
@@ -1752,6 +1782,11 @@
"continent": "Africa",
"name": "Mali"
},
{
"code": "Mali Empire",
"continent": "Africa",
"name": "Mali Empire"
},
{
"code": "mt",
"continent": "Europe",
File diff suppressed because one or more lines are too long

After

Width:  |  Height:  |  Size: 19 KiB

File diff suppressed because one or more lines are too long

After

Width:  |  Height:  |  Size: 7.5 KiB

File diff suppressed because one or more lines are too long

After

Width:  |  Height:  |  Size: 33 KiB

File diff suppressed because one or more lines are too long

After

Width:  |  Height:  |  Size: 20 KiB

File diff suppressed because one or more lines are too long

After

Width:  |  Height:  |  Size: 16 KiB

+3
View File
@@ -0,0 +1,3 @@
<svg xmlns="http://www.w3.org/2000/svg" width="150" height="150" viewBox="0 0 150 150">
<image href="data:image/png;base64,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" x="7.500" y="32.813" width="135.000" height="84.375" />
</svg>

After

Width:  |  Height:  |  Size: 4.1 KiB

File diff suppressed because one or more lines are too long

After

Width:  |  Height:  |  Size: 22 KiB

+1
View File
@@ -958,6 +958,7 @@
"germany": "Germany",
"giantworldmap": "Giant World Map",
"greatlakes": "Great Lakes",
"gulfofguinea": "Gulf Of Guinea",
"gulfofstlawrence": "Gulf of St. Lawrence",
"halkidiki": "Halkidiki",
"hawaii": "Hawaii",
+336
View File
@@ -0,0 +1,336 @@
{
"additionalNations": [
{
"coordinates": [148, 66],
"flag": "bj",
"name": "Cotonou"
},
{
"coordinates": [398, 7],
"flag": "ng",
"name": "Ikeja"
},
{
"coordinates": [1056, 198],
"flag": "ng",
"name": "Sapele"
},
{
"coordinates": [1262, 88],
"flag": "ng",
"name": "Asaba"
},
{
"coordinates": [1335, 88],
"flag": "ng",
"name": "Awka"
},
{
"coordinates": [815, 31],
"flag": "ng",
"name": "Ondo"
},
{
"coordinates": [628, 20],
"flag": "ng",
"name": "Epe"
},
{
"coordinates": [1335, 320],
"flag": "ng",
"name": "Owerri"
},
{
"coordinates": [1491, 254],
"flag": "ng",
"name": "Umuahia"
},
{
"coordinates": [1479, 388],
"flag": "ng",
"name": "Aba"
},
{
"coordinates": [1576, 430],
"flag": "ng",
"name": "Uyo"
},
{
"coordinates": [1058, 491],
"flag": "ng",
"name": "Forcados"
},
{
"coordinates": [1175, 476],
"flag": "ng",
"name": "Yenagoa"
},
{
"coordinates": [1244, 352],
"flag": "ng",
"name": "Omoko"
},
{
"coordinates": [1748, 23],
"flag": "ng",
"name": "Ogoja"
},
{
"coordinates": [1674, 193],
"flag": "ng",
"name": "Ikom"
},
{
"coordinates": [1314, 210],
"flag": "ng",
"name": "Onitsha"
},
{
"coordinates": [1863, 563],
"flag": "cm",
"name": "Buea"
},
{
"coordinates": [2126, 706],
"flag": "cm",
"name": "Edea"
},
{
"coordinates": [2105, 839],
"flag": "cm",
"name": "Kribi"
},
{
"coordinates": [2300, 725],
"flag": "cm",
"name": "Eseka"
},
{
"coordinates": [2017, 389],
"flag": "cm",
"name": "Nkongsamba"
},
{
"coordinates": [1877, 204],
"flag": "cm",
"name": "Mamfe"
},
{
"coordinates": [2181, 7],
"flag": "cm",
"name": "Kumbo"
},
{
"coordinates": [2486, 522],
"flag": "cm",
"name": "Ntui"
},
{
"coordinates": [2333, 404],
"flag": "cm",
"name": "Bafia"
},
{
"coordinates": [2236, 904],
"flag": "cm",
"name": "Ebolowa"
},
{
"coordinates": [2250, 1066],
"flag": "cm",
"name": "Ambam"
},
{
"coordinates": [2469, 985],
"flag": "cm",
"name": "Sangmelima"
},
{
"coordinates": [1751, 812],
"flag": "gq",
"name": "Luba"
},
{
"coordinates": [2011, 1344],
"flag": "gq",
"name": "Acalayong"
},
{
"coordinates": [2009, 1287],
"flag": "gq",
"name": "Mbini"
},
{
"coordinates": [2454, 1241],
"flag": "gq",
"name": "Mongomo"
},
{
"coordinates": [2037, 2180],
"flag": "ga",
"name": "Sette Cama"
},
{
"coordinates": [2305, 1967],
"flag": "ga",
"name": "Mouila"
},
{
"coordinates": [2474, 2150],
"flag": "ga",
"name": "Ndende"
},
{
"coordinates": [2298, 1622],
"flag": "ga",
"name": "Ndojole"
},
{
"coordinates": [2145, 1595],
"flag": "ga",
"name": "Kango"
},
{
"coordinates": [2465, 1442],
"flag": "ga",
"name": "Lara"
},
{
"coordinates": [1990, 1652],
"flag": "ga",
"name": "Foulenzem"
}
],
"categories": ["africa", "new"],
"id": "GulfOfGuinea",
"map": {
"height": 2200,
"num_land_tiles": 1788041,
"width": 2500
},
"map16x": {
"height": 550,
"num_land_tiles": 109223,
"width": 625
},
"map4x": {
"height": 1100,
"num_land_tiles": 443514,
"width": 1250
},
"multiplayer_frequency": 5,
"name": "Gulf Of Guinea",
"nations": [
{
"coordinates": [1807, 739],
"flag": "gq",
"name": "Malabo"
},
{
"coordinates": [1463, 1251],
"flag": "st",
"name": "Principe"
},
{
"coordinates": [1299, 1567],
"flag": "st",
"name": "Sao Tome"
},
{
"coordinates": [1035, 1992],
"flag": "gq-an",
"name": "Annobon"
},
{
"coordinates": [1987, 1535],
"flag": "ga",
"name": "Libreville"
},
{
"coordinates": [2468, 700],
"flag": "cm",
"name": "Yaounde"
},
{
"coordinates": [2058, 611],
"flag": "cm",
"name": "Douala"
},
{
"coordinates": [1695, 401],
"flag": "ng",
"name": "Calabar"
},
{
"coordinates": [1371, 464],
"flag": "ng",
"name": "Port Harcourt"
},
{
"coordinates": [2096, 1167],
"flag": "gq",
"name": "Bata"
},
{
"coordinates": [2334, 1238],
"flag": "gq",
"name": "Ciudad de la Paz"
},
{
"coordinates": [1796, 1793],
"flag": "ga",
"name": "Port-Gentil"
},
{
"coordinates": [1096, 281],
"flag": "ng",
"name": "Warri"
},
{
"coordinates": [1055, 69],
"flag": "ng",
"name": "Benin City"
},
{
"coordinates": [1516, 55],
"flag": "ng",
"name": "Enugu"
},
{
"coordinates": [2180, 225],
"flag": "cm",
"name": "Bafoussam"
},
{
"coordinates": [2099, 75],
"flag": "cm",
"name": "Bamenda"
},
{
"coordinates": [475, 37],
"flag": "ng",
"name": "Lagos"
},
{
"coordinates": [265, 48],
"flag": "bj",
"name": "Porto-Novo"
},
{
"coordinates": [19, 109],
"flag": "tg",
"name": "Lome"
},
{
"coordinates": [2197, 1809],
"flag": "ga",
"name": "Lambarene"
},
{
"coordinates": [1926, 2023],
"flag": "ga",
"name": "Omboue"
}
],
"translation_key": "map.gulfofguinea"
}
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
Binary file not shown.

After

Width:  |  Height:  |  Size: 7.2 KiB