(+${renderTroops(popRate)})
-
Date: Wed, 12 Feb 2025 02:28:55 +0200
Subject: [PATCH 24/27] Fixed bots flags not working
---
resources/maps/BlackSea.json | 154 +++++-----
resources/maps/Europe.json | 475 ++++++++++++++++++------------
resources/maps/WorldMap.json | 553 ++++++++++++++++++-----------------
3 files changed, 645 insertions(+), 537 deletions(-)
diff --git a/resources/maps/BlackSea.json b/resources/maps/BlackSea.json
index b63603c68..2a17e64ae 100644
--- a/resources/maps/BlackSea.json
+++ b/resources/maps/BlackSea.json
@@ -1,79 +1,79 @@
{
- "name": "BlackSea",
- "width": 1500,
- "height": 1100,
- "nations": [
- {
- "coordinates": [
- 122,
- 647
- ],
- "name": "Bulgaria",
- "strength": 1,
- "flag": "BG"
- },
- {
- "coordinates": [
- 513,
- 929
- ],
- "name": "Turkiye",
- "strength": 2,
- "flag": "TR"
- },
- {
- "coordinates": [
- 123,
- 237
- ],
- "name": "Romania",
- "strength": 1,
- "flag": "RO"
- },
- {
- "coordinates": [
- 300,
- 188
- ],
- "name": "Maldova",
- "strength": 1,
- "flag": "MD"
- },
- {
- "coordinates": [
- 737,
- 120
- ],
- "name": "Ukraine",
- "strength": 1,
- "flag": "UA"
- },
- {
- "coordinates": [
- 1180,
- 354
- ],
- "name": "Russia",
- "strength": 3,
- "flag": "RU"
- },
- {
- "coordinates": [
- 1362,
- 722
- ],
- "name": "Georgia",
- "strength": 1,
- "flag": "GE"
- },
- {
- "coordinates": [
- 1382,
- 943
- ],
- "name": "Armenia",
- "strength": 1,
- "flag": "AM"
- }
- ]
+ "name": "BlackSea",
+ "width": 1500,
+ "height": 1100,
+ "nations": [
+ {
+ "coordinates": [
+ 122,
+ 647
+ ],
+ "name": "Bulgaria",
+ "strength": 1,
+ "flag": "bg"
+ },
+ {
+ "coordinates": [
+ 513,
+ 929
+ ],
+ "name": "Turkiye",
+ "strength": 2,
+ "flag": "tr"
+ },
+ {
+ "coordinates": [
+ 123,
+ 237
+ ],
+ "name": "Romania",
+ "strength": 1,
+ "flag": "ro"
+ },
+ {
+ "coordinates": [
+ 300,
+ 188
+ ],
+ "name": "Maldova",
+ "strength": 1,
+ "flag": "md"
+ },
+ {
+ "coordinates": [
+ 737,
+ 120
+ ],
+ "name": "Ukraine",
+ "strength": 1,
+ "flag": "ua"
+ },
+ {
+ "coordinates": [
+ 1180,
+ 354
+ ],
+ "name": "Russia",
+ "strength": 3,
+ "flag": "ru"
+ },
+ {
+ "coordinates": [
+ 1362,
+ 722
+ ],
+ "name": "Georgia",
+ "strength": 1,
+ "flag": "ge"
+ },
+ {
+ "coordinates": [
+ 1382,
+ 943
+ ],
+ "name": "Armenia",
+ "strength": 1,
+ "flag": "am"
+ }
+ ]
}
\ No newline at end of file
diff --git a/resources/maps/Europe.json b/resources/maps/Europe.json
index 7f1de6115..9900f1401 100644
--- a/resources/maps/Europe.json
+++ b/resources/maps/Europe.json
@@ -1,193 +1,286 @@
{
- "name": "Europe",
- "width": 2000,
- "height": 1000,
- "nations": [
- {
- "coordinates": [171, 171],
- "name": "Iceland 🇮🇸",
- "strength": 1,
- "flag": "IS"
- },
- {
- "coordinates": [477, 473],
- "name": "Ireland 🇮🇪",
- "strength": 1,
- "flag": "IE"
- },
- {
- "coordinates": [650, 500],
- "name": "England 🇬🇧",
- "strength": 3,
- "flag": "GB"
- },
- {
- "coordinates": [560, 800],
- "name": "Spain 🇪🇸",
- "strength": 2,
- "flag": "ES"
- },
- {
- "coordinates": [726, 616],
- "name": "France 🇫🇷",
- "strength": 2,
- "flag": "FR"
- },
- {
- "coordinates": [1050, 745],
- "name": "Italy 🇮🇹",
- "strength": 1,
- "flag": "IT"
- },
- {
- "coordinates": [872, 634],
- "name": "Switzerland 🇨ðŸ‡",
- "strength": 1,
- "flag": "CH"
- },
- {
- "coordinates": [960, 271],
- "name": "Norway 🇳🇴",
- "strength": 1,
- "flag": "NO"
- },
- {
- "coordinates": [1095, 336],
- "name": "Sweden 🇸🇪",
- "strength": 1,
- "flag": "SE"
- },
- {
- "coordinates": [1403, 235],
- "name": "Finland 🇫🇮",
- "strength": 1,
- "flag": "FI"
- },
- {
- "coordinates": [775, 541],
- "name": "Belgium 🇧🇪",
- "strength": 1,
- "flag": "BE"
- },
- {
- "coordinates": [868, 487],
- "name": "Netherlands 🇳🇱",
- "strength": 1,
- "flag": "NL"
- },
- {
- "coordinates": [1000, 480],
- "name": "Germany 🇩🇪",
- "strength": 1,
- "flag": "DE"
- },
- {
- "coordinates": [1017, 628],
- "name": "Austria 🇦🇹",
- "strength": 1,
- "flag": "AT"
- },
- {
- "coordinates": [1120, 477],
- "name": "Poland 🇵🇱",
- "strength": 1,
- "flag": "PL"
- },
- {
- "coordinates": [1060, 530],
- "name": "Czechia 🇨🇿",
- "strength": 1,
- "flag": "CZ"
- },
- {
- "coordinates": [1540, 602],
- "name": "Ukraine 🇺🇦",
- "strength": 1,
- "flag": "UA"
- },
- {
- "coordinates": [1500, 440],
- "name": "Belarus 🇧🇾",
- "strength": 1,
- "flag": "BY"
- },
- {
- "coordinates": [1400, 670],
- "name": "Romania 🇷🇴",
- "strength": 1,
- "flag": "RO"
- },
- {
- "coordinates": [1580, 834],
- "name": "Turkiye 🇹🇷",
- "strength": 1,
- "flag": "TR"
- },
- {
- "coordinates": [525, 955],
- "name": "Morocco 🇲🇦",
- "strength": 1,
- "flag": "MA"
- },
- {
- "coordinates": [1674, 449],
- "name": "Russia 🇷🇺",
- "strength": 3,
- "flag": "RU"
- },
- {
- "coordinates": [1750, 950],
- "name": "Syria 🇸🇾",
- "strength": 1,
- "flag": "SY"
- },
- {
- "coordinates": [1930, 950],
- "name": "Iraq 🇮🇶",
- "strength": 1,
- "flag": "IQ"
- },
- {
- "coordinates": [1900, 720],
- "name": "Georgia 🇬🇪",
- "strength": 1,
- "flag": "GE"
- },
- {
- "coordinates": [950, 930],
- "name": "Tunisia 🇹🇳",
- "strength": 1,
- "flag": "TN"
- },
- {
- "coordinates": [740, 940],
- "name": "Algeria 🇩🇿",
- "strength": 1,
- "flag": "DZ"
- },
- {
- "coordinates": [460, 830],
- "name": "Portugal 🇵🇹",
- "strength": 1,
- "flag": "PT"
- },
- {
- "coordinates": [1300, 830],
- "name": "Greece 🇬🇷",
- "strength": 1,
- "flag": "GR"
- },
- {
- "coordinates": [1270, 700],
- "name": "Serbia 🇷🇸",
- "strength": 1,
- "flag": "RS"
- },
- {
- "coordinates": [1200, 630],
- "name": "Hungary ðŸ‡ðŸ‡º",
- "strength": 1,
- "flag": "HU"
- }
- ]
+ "name": "Europe",
+ "width": 2000,
+ "height": 1000,
+ "nations": [
+ {
+ "coordinates": [
+ 171,
+ 171
+ ],
+ "name": "Iceland 🇮🇸",
+ "strength": 1,
+ "flag": "is"
+ },
+ {
+ "coordinates": [
+ 477,
+ 473
+ ],
+ "name": "Ireland 🇮🇪",
+ "strength": 1,
+ "flag": "ie"
+ },
+ {
+ "coordinates": [
+ 650,
+ 500
+ ],
+ "name": "England 🇬🇧",
+ "strength": 3,
+ "flag": "gb"
+ },
+ {
+ "coordinates": [
+ 560,
+ 800
+ ],
+ "name": "Spain 🇪🇸",
+ "strength": 2,
+ "flag": "es"
+ },
+ {
+ "coordinates": [
+ 726,
+ 616
+ ],
+ "name": "France 🇫🇷",
+ "strength": 2,
+ "flag": "fr"
+ },
+ {
+ "coordinates": [
+ 1050,
+ 745
+ ],
+ "name": "Italy 🇮🇹",
+ "strength": 1,
+ "flag": "it"
+ },
+ {
+ "coordinates": [
+ 872,
+ 634
+ ],
+ "name": "Switzerland 🇨ðŸ‡",
+ "strength": 1,
+ "flag": "ch"
+ },
+ {
+ "coordinates": [
+ 960,
+ 271
+ ],
+ "name": "Norway 🇳🇴",
+ "strength": 1,
+ "flag": "no"
+ },
+ {
+ "coordinates": [
+ 1095,
+ 336
+ ],
+ "name": "Sweden 🇸🇪",
+ "strength": 1,
+ "flag": "se"
+ },
+ {
+ "coordinates": [
+ 1403,
+ 235
+ ],
+ "name": "Finland 🇫🇮",
+ "strength": 1,
+ "flag": "fi"
+ },
+ {
+ "coordinates": [
+ 775,
+ 541
+ ],
+ "name": "Belgium 🇧🇪",
+ "strength": 1,
+ "flag": "be"
+ },
+ {
+ "coordinates": [
+ 868,
+ 487
+ ],
+ "name": "Netherlands 🇳🇱",
+ "strength": 1,
+ "flag": "nl"
+ },
+ {
+ "coordinates": [
+ 1000,
+ 480
+ ],
+ "name": "Germany 🇩🇪",
+ "strength": 1,
+ "flag": "de"
+ },
+ {
+ "coordinates": [
+ 1017,
+ 628
+ ],
+ "name": "Austria 🇦🇹",
+ "strength": 1,
+ "flag": "at"
+ },
+ {
+ "coordinates": [
+ 1120,
+ 477
+ ],
+ "name": "Poland 🇵🇱",
+ "strength": 1,
+ "flag": "pl"
+ },
+ {
+ "coordinates": [
+ 1060,
+ 530
+ ],
+ "name": "Czechia 🇨🇿",
+ "strength": 1,
+ "flag": "cz"
+ },
+ {
+ "coordinates": [
+ 1540,
+ 602
+ ],
+ "name": "Ukraine 🇺🇦",
+ "strength": 1,
+ "flag": "ua"
+ },
+ {
+ "coordinates": [
+ 1500,
+ 440
+ ],
+ "name": "Belarus 🇧🇾",
+ "strength": 1,
+ "flag": "by"
+ },
+ {
+ "coordinates": [
+ 1400,
+ 670
+ ],
+ "name": "Romania 🇷🇴",
+ "strength": 1,
+ "flag": "ro"
+ },
+ {
+ "coordinates": [
+ 1580,
+ 834
+ ],
+ "name": "Turkiye 🇹🇷",
+ "strength": 1,
+ "flag": "tr"
+ },
+ {
+ "coordinates": [
+ 525,
+ 955
+ ],
+ "name": "Morocco 🇲🇦",
+ "strength": 1,
+ "flag": "ma"
+ },
+ {
+ "coordinates": [
+ 1674,
+ 449
+ ],
+ "name": "Russia 🇷🇺",
+ "strength": 3,
+ "flag": "ru"
+ },
+ {
+ "coordinates": [
+ 1750,
+ 950
+ ],
+ "name": "Syria 🇸🇾",
+ "strength": 1,
+ "flag": "sy"
+ },
+ {
+ "coordinates": [
+ 1930,
+ 950
+ ],
+ "name": "Iraq 🇮🇶",
+ "strength": 1,
+ "flag": "iq"
+ },
+ {
+ "coordinates": [
+ 1900,
+ 720
+ ],
+ "name": "Georgia 🇬🇪",
+ "strength": 1,
+ "flag": "ge"
+ },
+ {
+ "coordinates": [
+ 950,
+ 930
+ ],
+ "name": "Tunisia 🇹🇳",
+ "strength": 1,
+ "flag": "tn"
+ },
+ {
+ "coordinates": [
+ 740,
+ 940
+ ],
+ "name": "Algeria 🇩🇿",
+ "strength": 1,
+ "flag": "dz"
+ },
+ {
+ "coordinates": [
+ 460,
+ 830
+ ],
+ "name": "Portugal 🇵🇹",
+ "strength": 1,
+ "flag": "pt"
+ },
+ {
+ "coordinates": [
+ 1300,
+ 830
+ ],
+ "name": "Greece 🇬🇷",
+ "strength": 1,
+ "flag": "gr"
+ },
+ {
+ "coordinates": [
+ 1270,
+ 700
+ ],
+ "name": "Serbia 🇷🇸",
+ "strength": 1,
+ "flag": "rs"
+ },
+ {
+ "coordinates": [
+ 1200,
+ 630
+ ],
+ "name": "Hungary ðŸ‡ðŸ‡º",
+ "strength": 1,
+ "flag": "hu"
+ }
+ ]
}
\ No newline at end of file
diff --git a/resources/maps/WorldMap.json b/resources/maps/WorldMap.json
index 4bfd542b8..9900f1401 100644
--- a/resources/maps/WorldMap.json
+++ b/resources/maps/WorldMap.json
@@ -1,271 +1,286 @@
{
- "name": "World",
- "width": 2000,
- "height": 1000,
- "nations": [
- {
- "coordinates": [375, 272],
- "flag": "US",
- "name": "USA 🇺🇸",
- "strength": 3
- },
- {
- "coordinates": [372, 136],
- "flag": "CA",
- "name": "Canada 🇨🇦",
- "strength": 2
- },
- {
- "coordinates": [375, 374],
- "flag": "MX",
- "name": "Mexico 🇲🇽",
- "strength": 1
- },
- {
- "coordinates": [500, 378],
- "flag": "CU",
- "name": "Cuba 🇨🇺",
- "strength": 1
- },
- {
- "coordinates": [524, 474],
- "flag": "CO",
- "name": "Colombia 🇨🇴",
- "strength": 1
- },
- {
- "coordinates": [593, 473],
- "flag": "VE",
- "name": "Venezuela 🇻🇪",
- "strength": 1
- },
- {
- "coordinates": [596, 705],
- "flag": "AR",
- "name": "Argentina 🇦🇷",
- "strength": 1
- },
- {
- "coordinates": [637, 567],
- "flag": "BR",
- "name": "Brazil 🇧🇷",
- "strength": 1
- },
- {
- "coordinates": [1280, 975],
- "flag": "AQ",
- "name": "Antartica 🇦🇶",
- "strength": 3
- },
- {
- "coordinates": [709, 57],
- "flag": "GL",
- "name": "Greenland 🇬🇱",
- "strength": 2
- },
- {
- "coordinates": [831, 112],
- "flag": "IS",
- "name": "Iceland 🇮🇸",
- "strength": 1
- },
- {
- "coordinates": [925, 186],
- "flag": "GB",
- "name": "England 🇬🇧",
- "strength": 3
- },
- {
- "coordinates": [887, 183],
- "flag": "IE",
- "name": "Ireland 🇮🇪",
- "strength": 1
- },
- {
- "coordinates": [908, 264],
- "flag": "ES",
- "name": "Spain 🇪🇸",
- "strength": 1
- },
- {
- "coordinates": [1004, 250],
- "flag": "IT",
- "name": "Italy 🇮🇹",
- "strength": 1
- },
- {
- "coordinates": [958, 220],
- "flag": "FR",
- "name": "France 🇫🇷",
- "strength": 2
- },
- {
- "coordinates": [997, 205],
- "flag": "DE",
- "name": "Germany 🇩🇪",
- "strength": 1
- },
- {
- "coordinates": [1064, 101],
- "flag": "SE",
- "name": "Sweden 🇸🇪",
- "strength": 1
- },
- {
- "coordinates": [1046, 193],
- "flag": "PL",
- "name": "Poland 🇵🇱",
- "strength": 1
- },
- {
- "coordinates": [1061, 188],
- "flag": "BY",
- "name": "Belarus 🇧🇾",
- "strength": 1
- },
- {
- "coordinates": [1073, 243],
- "flag": "RO",
- "name": "Romania 🇷🇴",
- "strength": 1
- },
- {
- "coordinates": [1161, 274],
- "flag": "TR",
- "name": "Turkiye 🇹🇷",
- "strength": 1
- },
- {
- "coordinates": [969, 133],
- "flag": "NO",
- "name": "Norway 🇳🇴",
- "strength": 1
- },
- {
- "coordinates": [1062, 133],
- "flag": "FI",
- "name": "Finland 🇫🇮",
- "strength": 1
- },
- {
- "coordinates": [1099, 211],
- "flag": "UA",
- "name": "Ukraine 🇺🇦",
- "strength": 1
- },
- {
- "coordinates": [1344, 136],
- "flag": "RU",
- "name": "Russia 🇷🇺",
- "strength": 3
- },
- {
- "coordinates": [1537, 186],
- "flag": "MN",
- "name": "Mongolia 🇲🇳",
- "strength": 1
- },
- {
- "coordinates": [1524, 328],
- "flag": "CN",
- "name": "China 🇨🇳",
- "strength": 3
- },
- {
- "coordinates": [1368, 373],
- "flag": "IN",
- "name": "India 🇮🇳",
- "strength": 2
- },
- {
- "coordinates": [1276, 239],
- "flag": "KZ",
- "name": "Kazakhstan 🇰🇿",
- "strength": 1
- },
- {
- "coordinates": [1238, 309],
- "flag": "IR",
- "name": "Iran 🇮🇷",
- "strength": 1
- },
- {
- "coordinates": [1178, 351],
- "flag": "SA",
- "name": "Saudi Arabia 🇸🇦",
- "strength": 1
- },
- {
- "coordinates": [1679, 657],
- "flag": "AU",
- "name": "Australia 🇦🇺",
- "strength": 2
- },
- {
- "coordinates": [1890, 775],
- "flag": "NZ",
- "name": "New Zealand 🇳🇿",
- "strength": 0.5
- },
- {
- "coordinates": [918, 342],
- "flag": "DZ",
- "name": "Algeria 🇩🇿",
- "strength": 1
- },
- {
- "coordinates": [1030, 332],
- "flag": "LY",
- "name": "Libya 🇱🇾",
- "strength": 1
- },
- {
- "coordinates": [1092, 335],
- "flag": "EG",
- "name": "Egypt 🇪🇬",
- "strength": 1
- },
- {
- "coordinates": [963, 410],
- "flag": "NE",
- "name": "Niger 🇳🇪",
- "strength": 1
- },
- {
- "coordinates": [1112, 406],
- "flag": "SD",
- "name": "Sudan 🇸🇩",
- "strength": 1
- },
- {
- "coordinates": [1074, 508],
- "flag": "CD",
- "name": "DRC 🇨🇩",
- "strength": 1
- },
- {
- "coordinates": [1154, 443],
- "flag": "ET",
- "name": "Ethiopia 🇪🇹",
- "strength": 1
- },
- {
- "coordinates": [1075, 707],
- "flag": "ZA",
- "name": "South Africa 🇿🇦",
- "strength": 1
- },
- {
- "coordinates": [1194, 627],
- "flag": "MG",
- "name": "Madagascar 🇲🇬",
- "strength": 0.5
- },
- {
- "coordinates": [1052, 420],
- "flag": "TD",
- "name": "Chad 🇹🇩",
- "strength": 1
- }
- ]
+ "name": "Europe",
+ "width": 2000,
+ "height": 1000,
+ "nations": [
+ {
+ "coordinates": [
+ 171,
+ 171
+ ],
+ "name": "Iceland 🇮🇸",
+ "strength": 1,
+ "flag": "is"
+ },
+ {
+ "coordinates": [
+ 477,
+ 473
+ ],
+ "name": "Ireland 🇮🇪",
+ "strength": 1,
+ "flag": "ie"
+ },
+ {
+ "coordinates": [
+ 650,
+ 500
+ ],
+ "name": "England 🇬🇧",
+ "strength": 3,
+ "flag": "gb"
+ },
+ {
+ "coordinates": [
+ 560,
+ 800
+ ],
+ "name": "Spain 🇪🇸",
+ "strength": 2,
+ "flag": "es"
+ },
+ {
+ "coordinates": [
+ 726,
+ 616
+ ],
+ "name": "France 🇫🇷",
+ "strength": 2,
+ "flag": "fr"
+ },
+ {
+ "coordinates": [
+ 1050,
+ 745
+ ],
+ "name": "Italy 🇮🇹",
+ "strength": 1,
+ "flag": "it"
+ },
+ {
+ "coordinates": [
+ 872,
+ 634
+ ],
+ "name": "Switzerland 🇨ðŸ‡",
+ "strength": 1,
+ "flag": "ch"
+ },
+ {
+ "coordinates": [
+ 960,
+ 271
+ ],
+ "name": "Norway 🇳🇴",
+ "strength": 1,
+ "flag": "no"
+ },
+ {
+ "coordinates": [
+ 1095,
+ 336
+ ],
+ "name": "Sweden 🇸🇪",
+ "strength": 1,
+ "flag": "se"
+ },
+ {
+ "coordinates": [
+ 1403,
+ 235
+ ],
+ "name": "Finland 🇫🇮",
+ "strength": 1,
+ "flag": "fi"
+ },
+ {
+ "coordinates": [
+ 775,
+ 541
+ ],
+ "name": "Belgium 🇧🇪",
+ "strength": 1,
+ "flag": "be"
+ },
+ {
+ "coordinates": [
+ 868,
+ 487
+ ],
+ "name": "Netherlands 🇳🇱",
+ "strength": 1,
+ "flag": "nl"
+ },
+ {
+ "coordinates": [
+ 1000,
+ 480
+ ],
+ "name": "Germany 🇩🇪",
+ "strength": 1,
+ "flag": "de"
+ },
+ {
+ "coordinates": [
+ 1017,
+ 628
+ ],
+ "name": "Austria 🇦🇹",
+ "strength": 1,
+ "flag": "at"
+ },
+ {
+ "coordinates": [
+ 1120,
+ 477
+ ],
+ "name": "Poland 🇵🇱",
+ "strength": 1,
+ "flag": "pl"
+ },
+ {
+ "coordinates": [
+ 1060,
+ 530
+ ],
+ "name": "Czechia 🇨🇿",
+ "strength": 1,
+ "flag": "cz"
+ },
+ {
+ "coordinates": [
+ 1540,
+ 602
+ ],
+ "name": "Ukraine 🇺🇦",
+ "strength": 1,
+ "flag": "ua"
+ },
+ {
+ "coordinates": [
+ 1500,
+ 440
+ ],
+ "name": "Belarus 🇧🇾",
+ "strength": 1,
+ "flag": "by"
+ },
+ {
+ "coordinates": [
+ 1400,
+ 670
+ ],
+ "name": "Romania 🇷🇴",
+ "strength": 1,
+ "flag": "ro"
+ },
+ {
+ "coordinates": [
+ 1580,
+ 834
+ ],
+ "name": "Turkiye 🇹🇷",
+ "strength": 1,
+ "flag": "tr"
+ },
+ {
+ "coordinates": [
+ 525,
+ 955
+ ],
+ "name": "Morocco 🇲🇦",
+ "strength": 1,
+ "flag": "ma"
+ },
+ {
+ "coordinates": [
+ 1674,
+ 449
+ ],
+ "name": "Russia 🇷🇺",
+ "strength": 3,
+ "flag": "ru"
+ },
+ {
+ "coordinates": [
+ 1750,
+ 950
+ ],
+ "name": "Syria 🇸🇾",
+ "strength": 1,
+ "flag": "sy"
+ },
+ {
+ "coordinates": [
+ 1930,
+ 950
+ ],
+ "name": "Iraq 🇮🇶",
+ "strength": 1,
+ "flag": "iq"
+ },
+ {
+ "coordinates": [
+ 1900,
+ 720
+ ],
+ "name": "Georgia 🇬🇪",
+ "strength": 1,
+ "flag": "ge"
+ },
+ {
+ "coordinates": [
+ 950,
+ 930
+ ],
+ "name": "Tunisia 🇹🇳",
+ "strength": 1,
+ "flag": "tn"
+ },
+ {
+ "coordinates": [
+ 740,
+ 940
+ ],
+ "name": "Algeria 🇩🇿",
+ "strength": 1,
+ "flag": "dz"
+ },
+ {
+ "coordinates": [
+ 460,
+ 830
+ ],
+ "name": "Portugal 🇵🇹",
+ "strength": 1,
+ "flag": "pt"
+ },
+ {
+ "coordinates": [
+ 1300,
+ 830
+ ],
+ "name": "Greece 🇬🇷",
+ "strength": 1,
+ "flag": "gr"
+ },
+ {
+ "coordinates": [
+ 1270,
+ 700
+ ],
+ "name": "Serbia 🇷🇸",
+ "strength": 1,
+ "flag": "rs"
+ },
+ {
+ "coordinates": [
+ 1200,
+ 630
+ ],
+ "name": "Hungary ðŸ‡ðŸ‡º",
+ "strength": 1,
+ "flag": "hu"
+ }
+ ]
}
\ No newline at end of file
From f7422268071fec17aac8fef2c0b9da50f974a4d6 Mon Sep 17 00:00:00 2001
From: Evan
Date: Tue, 11 Feb 2025 16:41:20 -0800
Subject: [PATCH 25/27] fix country codes
---
resources/maps/BlackSea.json | 2 +-
resources/maps/Europe.json | 384 +++++++++++++++----------------
resources/maps/Mena.json | 70 +++---
resources/maps/NorthAmerica.json | 32 +--
resources/maps/Oceania.json | 66 +++---
5 files changed, 277 insertions(+), 277 deletions(-)
diff --git a/resources/maps/BlackSea.json b/resources/maps/BlackSea.json
index 3b2e42087..ae90b80cb 100644
--- a/resources/maps/BlackSea.json
+++ b/resources/maps/BlackSea.json
@@ -52,4 +52,4 @@
"flag": "am"
}
]
-}
\ No newline at end of file
+}
diff --git a/resources/maps/Europe.json b/resources/maps/Europe.json
index be6b6c0ff..885344df5 100644
--- a/resources/maps/Europe.json
+++ b/resources/maps/Europe.json
@@ -1,193 +1,193 @@
{
- "name": "Europe",
- "width": 2000,
- "height": 1000,
- "nations": [
- {
- "coordinates": [171, 171],
- "name": "Iceland",
- "strength": 1,
- "flag": "is"
- },
- {
- "coordinates": [477, 473],
- "name": "Ireland",
- "strength": 1,
- "flag": "ie"
- },
- {
- "coordinates": [650, 500],
- "name": "United Kingdom",
- "strength": 3,
- "flag": "gb"
- },
- {
- "coordinates": [560, 800],
- "name": "Spain",
- "strength": 2,
- "flag": "es"
- },
- {
- "coordinates": [726, 616],
- "name": "France",
- "strength": 2,
- "flag": "fr"
- },
- {
- "coordinates": [1050, 745],
- "name": "Italy",
- "strength": 1,
- "flag": "it"
- },
- {
- "coordinates": [872, 634],
- "name": "Switzerland",
- "strength": 1,
- "flag": "ch"
- },
- {
- "coordinates": [960, 271],
- "name": "Norway",
- "strength": 1,
- "flag": "no"
- },
- {
- "coordinates": [1095, 336],
- "name": "Sweden",
- "strength": 1,
- "flag": "se"
- },
- {
- "coordinates": [1403, 235],
- "name": "Finland",
- "strength": 1,
- "flag": "fi"
- },
- {
- "coordinates": [775, 541],
- "name": "Belgium",
- "strength": 1,
- "flag": "be"
- },
- {
- "coordinates": [868, 487],
- "name": "Netherlands",
- "strength": 1,
- "flag": "nl"
- },
- {
- "coordinates": [1000, 480],
- "name": "Germany",
- "strength": 1,
- "flag": "de"
- },
- {
- "coordinates": [1017, 628],
- "name": "Austria",
- "strength": 1,
- "flag": "at"
- },
- {
- "coordinates": [1120, 477],
- "name": "Poland",
- "strength": 1,
- "flag": "pl"
- },
- {
- "coordinates": [1060, 530],
- "name": "Czech Republic",
- "strength": 1,
- "flag": "cz"
- },
- {
- "coordinates": [1540, 602],
- "name": "Ukraine",
- "strength": 1,
- "flag": "ua"
- },
- {
- "coordinates": [1500, 440],
- "name": "Belarus",
- "strength": 1,
- "flag": "by"
- },
- {
- "coordinates": [1400, 670],
- "name": "Romania",
- "strength": 1,
- "flag": "ro"
- },
- {
- "coordinates": [1580, 834],
- "name": "Turkey",
- "strength": 1,
- "flag": "tr"
- },
- {
- "coordinates": [525, 955],
- "name": "Morocco",
- "strength": 1,
- "flag": "ma"
- },
- {
- "coordinates": [1674, 449],
- "name": "Russian Federation",
- "strength": 3,
- "flag": "ru"
- },
- {
- "coordinates": [1750, 950],
- "name": "Syrian Arab Republic",
- "strength": 1,
- "flag": "sy"
- },
- {
- "coordinates": [1930, 950],
- "name": "Iraq",
- "strength": 1,
- "flag": "iq"
- },
- {
- "coordinates": [1900, 720],
- "name": "Georgia",
- "strength": 1,
- "flag": "ge"
- },
- {
- "coordinates": [950, 930],
- "name": "Tunisia",
- "strength": 1,
- "flag": "tn"
- },
- {
- "coordinates": [740, 940],
- "name": "Algeria",
- "strength": 1,
- "flag": "dz"
- },
- {
- "coordinates": [460, 830],
- "name": "Portugal",
- "strength": 1,
- "flag": "pt"
- },
- {
- "coordinates": [1300, 830],
- "name": "Greece",
- "strength": 1,
- "flag": "gr"
- },
- {
- "coordinates": [1270, 700],
- "name": "Serbia",
- "strength": 1,
- "flag": "rs"
- },
- {
- "coordinates": [1200, 630],
- "name": "Hungary",
- "strength": 1,
- "flag": "hu"
- }
- ]
- }
\ No newline at end of file
+ "name": "Europe",
+ "width": 2000,
+ "height": 1000,
+ "nations": [
+ {
+ "coordinates": [171, 171],
+ "name": "Iceland",
+ "strength": 1,
+ "flag": "is"
+ },
+ {
+ "coordinates": [477, 473],
+ "name": "Ireland",
+ "strength": 1,
+ "flag": "ie"
+ },
+ {
+ "coordinates": [650, 500],
+ "name": "United Kingdom",
+ "strength": 3,
+ "flag": "gb"
+ },
+ {
+ "coordinates": [560, 800],
+ "name": "Spain",
+ "strength": 2,
+ "flag": "es"
+ },
+ {
+ "coordinates": [726, 616],
+ "name": "France",
+ "strength": 2,
+ "flag": "fr"
+ },
+ {
+ "coordinates": [1050, 745],
+ "name": "Italy",
+ "strength": 1,
+ "flag": "it"
+ },
+ {
+ "coordinates": [872, 634],
+ "name": "Switzerland",
+ "strength": 1,
+ "flag": "ch"
+ },
+ {
+ "coordinates": [960, 271],
+ "name": "Norway",
+ "strength": 1,
+ "flag": "no"
+ },
+ {
+ "coordinates": [1095, 336],
+ "name": "Sweden",
+ "strength": 1,
+ "flag": "se"
+ },
+ {
+ "coordinates": [1403, 235],
+ "name": "Finland",
+ "strength": 1,
+ "flag": "fi"
+ },
+ {
+ "coordinates": [775, 541],
+ "name": "Belgium",
+ "strength": 1,
+ "flag": "be"
+ },
+ {
+ "coordinates": [868, 487],
+ "name": "Netherlands",
+ "strength": 1,
+ "flag": "nl"
+ },
+ {
+ "coordinates": [1000, 480],
+ "name": "Germany",
+ "strength": 1,
+ "flag": "de"
+ },
+ {
+ "coordinates": [1017, 628],
+ "name": "Austria",
+ "strength": 1,
+ "flag": "at"
+ },
+ {
+ "coordinates": [1120, 477],
+ "name": "Poland",
+ "strength": 1,
+ "flag": "pl"
+ },
+ {
+ "coordinates": [1060, 530],
+ "name": "Czech Republic",
+ "strength": 1,
+ "flag": "cz"
+ },
+ {
+ "coordinates": [1540, 602],
+ "name": "Ukraine",
+ "strength": 1,
+ "flag": "ua"
+ },
+ {
+ "coordinates": [1500, 440],
+ "name": "Belarus",
+ "strength": 1,
+ "flag": "by"
+ },
+ {
+ "coordinates": [1400, 670],
+ "name": "Romania",
+ "strength": 1,
+ "flag": "ro"
+ },
+ {
+ "coordinates": [1580, 834],
+ "name": "Turkey",
+ "strength": 1,
+ "flag": "tr"
+ },
+ {
+ "coordinates": [525, 955],
+ "name": "Morocco",
+ "strength": 1,
+ "flag": "ma"
+ },
+ {
+ "coordinates": [1674, 449],
+ "name": "Russian Federation",
+ "strength": 3,
+ "flag": "ru"
+ },
+ {
+ "coordinates": [1750, 950],
+ "name": "Syrian Arab Republic",
+ "strength": 1,
+ "flag": "sy"
+ },
+ {
+ "coordinates": [1930, 950],
+ "name": "Iraq",
+ "strength": 1,
+ "flag": "iq"
+ },
+ {
+ "coordinates": [1900, 720],
+ "name": "Georgia",
+ "strength": 1,
+ "flag": "ge"
+ },
+ {
+ "coordinates": [950, 930],
+ "name": "Tunisia",
+ "strength": 1,
+ "flag": "tn"
+ },
+ {
+ "coordinates": [740, 940],
+ "name": "Algeria",
+ "strength": 1,
+ "flag": "dz"
+ },
+ {
+ "coordinates": [460, 830],
+ "name": "Portugal",
+ "strength": 1,
+ "flag": "pt"
+ },
+ {
+ "coordinates": [1300, 830],
+ "name": "Greece",
+ "strength": 1,
+ "flag": "gr"
+ },
+ {
+ "coordinates": [1270, 700],
+ "name": "Serbia",
+ "strength": 1,
+ "flag": "rs"
+ },
+ {
+ "coordinates": [1200, 630],
+ "name": "Hungary",
+ "strength": 1,
+ "flag": "hu"
+ }
+ ]
+}
diff --git a/resources/maps/Mena.json b/resources/maps/Mena.json
index 30a4937e6..15d36cc3c 100644
--- a/resources/maps/Mena.json
+++ b/resources/maps/Mena.json
@@ -7,211 +7,211 @@
"coordinates": [200, 100],
"name": "Spain",
"strength": 1,
- "flag": "ES"
+ "flag": "es"
},
{
"coordinates": [50, 135],
"name": "Portugal",
"strength": 1,
- "flag": "PT"
+ "flag": "pt"
},
{
"coordinates": [125, 375],
"name": "Morocco",
"strength": 1,
- "flag": "MA"
+ "flag": "ma"
},
{
"coordinates": [425, 300],
"name": "Algeria",
"strength": 1,
- "flag": "DZ"
+ "flag": "dz"
},
{
"coordinates": [600, 275],
"name": "Tunisia",
"strength": 1,
- "flag": "TN"
+ "flag": "tn"
},
{
"coordinates": [750, 450],
"name": "Libyan Arab Jamahiriya",
"strength": 1,
- "flag": "LY"
+ "flag": "ly"
},
{
"coordinates": [1100, 450],
"name": "Egypt",
"strength": 1,
- "flag": "EG"
+ "flag": "eg"
},
{
"coordinates": [1333, 333],
"name": "Israel",
"strength": 1,
- "flag": "IL"
+ "flag": "il"
},
{
"coordinates": [1338, 388],
"name": "Palestinian Territory, Occupied",
"strength": 1,
- "flag": "PS"
+ "flag": "ps"
},
{
"coordinates": [1370, 325],
"name": "Lebanon",
"strength": 1,
- "flag": "LB"
+ "flag": "lb"
},
{
"coordinates": [1228, 728],
"name": "Sudan",
"strength": 1,
- "flag": "SD"
+ "flag": "sd"
},
{
"coordinates": [1450, 275],
"name": "Syrian Arab Republic",
"strength": 1,
- "flag": "SY"
+ "flag": "sy"
},
{
"coordinates": [1600, 300],
"name": "Iraq",
"strength": 1,
- "flag": "IQ"
+ "flag": "iq"
},
{
"coordinates": [1550, 600],
"name": "Saudi Arabia",
"strength": 1,
- "flag": "SA"
+ "flag": "sa"
},
{
"coordinates": [1700, 850],
"name": "Yemen",
"strength": 1,
- "flag": "YE"
+ "flag": "ye"
},
{
"coordinates": [1950, 725],
"name": "Oman",
"strength": 1,
- "flag": "OM"
+ "flag": "om"
},
{
"coordinates": [1860, 620],
"name": "United Arab Emirates",
"strength": 1,
- "flag": "AE"
+ "flag": "ae"
},
{
"coordinates": [1730, 580],
"name": "Qatar",
"strength": 1,
- "flag": "QA"
+ "flag": "qa"
},
{
"coordinates": [1900, 350],
"name": "Iran, Islamic Republic Of",
"strength": 1,
- "flag": "IR"
+ "flag": "ir"
},
{
"coordinates": [1300, 150],
"name": "Turkey",
"strength": 1,
- "flag": "TR"
+ "flag": "tr"
},
{
"coordinates": [675, 50],
"name": "Italy",
"strength": 1,
- "flag": "IT"
+ "flag": "it"
},
{
"coordinates": [950, 125],
"name": "Greece",
"strength": 1,
- "flag": "GR"
+ "flag": "gr"
},
{
"coordinates": [1000, 25],
"name": "Bulgaria",
"strength": 1,
- "flag": "BG"
+ "flag": "bg"
},
{
"coordinates": [1980, 45],
"name": "Uzbekistan",
"strength": 1,
- "flag": "UZ"
+ "flag": "uz"
},
{
"coordinates": [1400, 400],
"name": "Jordan",
"strength": 1,
- "flag": "JO"
+ "flag": "jo"
},
{
"coordinates": [750, 930],
"name": "Chad",
"strength": 1,
- "flag": "TD"
+ "flag": "td"
},
{
"coordinates": [500, 900],
"name": "Niger",
"strength": 1,
- "flag": "NE"
+ "flag": "ne"
},
{
"coordinates": [230, 940],
"name": "Mali",
"strength": 1,
- "flag": "ML"
+ "flag": "ml"
},
{
"coordinates": [40, 830],
"name": "Mauritania",
"strength": 1,
- "flag": "MR"
+ "flag": "mr"
},
{
"coordinates": [1490, 980],
"name": "Eritrea",
"strength": 1,
- "flag": "ER"
+ "flag": "er"
},
{
"coordinates": [1630, 460],
"name": "Kuwait",
"strength": 1,
- "flag": "KW"
+ "flag": "kw"
},
{
"coordinates": [1550, 25],
"name": "Georgia",
"strength": 1,
- "flag": "GE"
+ "flag": "ge"
},
{
"coordinates": [1640, 100],
"name": "Azerbaijan",
"strength": 1,
- "flag": "AZ"
+ "flag": "az"
},
{
"coordinates": [1226, 280],
"name": "Cyprus",
"strength": 1,
- "flag": "CY"
+ "flag": "cy"
},
{
"coordinates": [1800, 40],
"name": "Kazakhstan",
"strength": 1,
- "flag": "KZ"
+ "flag": "kz"
}
]
}
diff --git a/resources/maps/NorthAmerica.json b/resources/maps/NorthAmerica.json
index a93917d43..4c789d21a 100644
--- a/resources/maps/NorthAmerica.json
+++ b/resources/maps/NorthAmerica.json
@@ -7,97 +7,97 @@
"coordinates": [1280, 582],
"name": "United States",
"strength": 3,
- "flag": "US"
+ "flag": "us"
},
{
"coordinates": [1235, 509],
"name": "Canada",
"strength": 2,
- "flag": "CA"
+ "flag": "ca"
},
{
"coordinates": [983, 832],
"name": "Mexico",
"strength": 2,
- "flag": "MX"
+ "flag": "mx"
},
{
"coordinates": [1126, 871],
"name": "Belize",
"strength": 1,
- "flag": "BZ"
+ "flag": "bz"
},
{
"coordinates": [1096, 893],
"name": "Guatemala",
"strength": 1,
- "flag": "GT"
+ "flag": "gt"
},
{
"coordinates": [1124, 916],
"name": "El Salvador",
"strength": 1,
- "flag": "SV"
+ "flag": "sv"
},
{
"coordinates": [1143, 906],
"name": "Honduras",
"strength": 1,
- "flag": "HN"
+ "flag": "hn"
},
{
"coordinates": [1157, 937],
"name": "Nicaragua",
"strength": 1,
- "flag": "NI"
+ "flag": "ni"
},
{
"coordinates": [1184, 963],
"name": "Costa Rica",
"strength": 1,
- "flag": "CR"
+ "flag": "cr"
},
{
"coordinates": [1235, 974],
"name": "Panama",
"strength": 1,
- "flag": "PA"
+ "flag": "pa"
},
{
"coordinates": [1304, 997],
"name": "Colombia",
"strength": 1,
- "flag": "CO"
+ "flag": "co"
},
{
"coordinates": [1392, 955],
"name": "Venezuela",
"strength": 1,
- "flag": "VE"
+ "flag": "ve"
},
{
"coordinates": [1228, 802],
"name": "Cuba",
"strength": 1,
- "flag": "CU"
+ "flag": "cu"
},
{
"coordinates": [1263, 857],
"name": "Jamaica",
"strength": 1,
- "flag": "JM"
+ "flag": "jm"
},
{
"coordinates": [1326, 849],
"name": "Haiti",
"strength": 1,
- "flag": "HT"
+ "flag": "ht"
},
{
"coordinates": [1358, 852],
"name": "Dominican Republic",
"strength": 1,
- "flag": "DO"
+ "flag": "do"
}
]
}
diff --git a/resources/maps/Oceania.json b/resources/maps/Oceania.json
index 4d492a8af..c321f1672 100644
--- a/resources/maps/Oceania.json
+++ b/resources/maps/Oceania.json
@@ -7,199 +7,199 @@
"coordinates": [718, 738],
"name": "Australia",
"strength": 1,
- "flag": "AU"
+ "flag": "au"
},
{
"coordinates": [1050, 809],
"name": "New Zealand",
"strength": 1,
- "flag": "NZ"
+ "flag": "nz"
},
{
"coordinates": [686, 407],
"name": "Papua New Guinea",
"strength": 1,
- "flag": "PG"
+ "flag": "pg"
},
{
"coordinates": [436, 407],
"name": "Timor-Leste",
"strength": 1,
- "flag": "TL"
+ "flag": "tl"
},
{
"coordinates": [182, 378],
"name": "Indonesia",
"strength": 1,
- "flag": "ID"
+ "flag": "id"
},
{
"coordinates": [292, 243],
"name": "Brunei Darussalam",
"strength": 1,
- "flag": "BN"
+ "flag": "bn"
},
{
"coordinates": [152, 282],
"name": "Singapore",
"strength": 1,
- "flag": "SG"
+ "flag": "sg"
},
{
"coordinates": [120, 261],
"name": "Malaysia",
"strength": 1,
- "flag": "MY"
+ "flag": "my"
},
{
"coordinates": [106, 129],
"name": "Thailand",
"strength": 1,
- "flag": "TH"
+ "flag": "th"
},
{
"coordinates": [51, 42],
"name": "Myanmar",
"strength": 1,
- "flag": "MM"
+ "flag": "mm"
},
{
"coordinates": [158, 162],
"name": "Cambodia",
"strength": 1,
- "flag": "KH"
+ "flag": "kh"
},
{
"coordinates": [182, 43],
"name": "Viet Nam",
"strength": 1,
- "flag": "VN"
+ "flag": "vn"
},
{
"coordinates": [143, 37],
"name": "Lao People's Democratic Republic",
"strength": 1,
- "flag": "LA"
+ "flag": "la"
},
{
"coordinates": [278, 18],
"name": "Hong Kong",
"strength": 1,
- "flag": "HK"
+ "flag": "hk"
},
{
"coordinates": [359, 1],
"name": "Taiwan, Province of China",
"strength": 1,
- "flag": "TW"
+ "flag": "tw"
},
{
"coordinates": [366, 119],
"name": "Philippines",
"strength": 1,
- "flag": "PH"
+ "flag": "ph"
},
{
"coordinates": [536, 207],
"name": "Palau",
"strength": 1,
- "flag": "PW"
+ "flag": "pw"
},
{
"coordinates": [834, 215],
"name": "Micronesia, Federated States of",
"strength": 1,
- "flag": "FM"
+ "flag": "fm"
},
{
"coordinates": [664, 113],
"name": "Guam",
"strength": 1,
- "flag": "GU"
+ "flag": "gu"
},
{
"coordinates": [1042, 317],
"name": "Marshall Islands",
"strength": 1,
- "flag": "MH"
+ "flag": "mh"
},
{
"coordinates": [799, 385],
"name": "Papua New Guinea",
"strength": 1,
- "flag": "PG"
+ "flag": "pg"
},
{
"coordinates": [862, 442],
"name": "Solomon Islands",
"strength": 1,
- "flag": "SB"
+ "flag": "sb"
},
{
"coordinates": [945, 497],
"name": "Vanuatu",
"strength": 1,
- "flag": "VU"
+ "flag": "vu"
},
{
"coordinates": [930, 574],
"name": "New Caledonia",
"strength": 1,
- "flag": "NC"
+ "flag": "nc"
},
{
"coordinates": [1085, 526],
"name": "Fiji",
"strength": 1,
- "flag": "FJ"
+ "flag": "fj"
},
{
"coordinates": [1169, 568],
"name": "Tonga",
"strength": 1,
- "flag": "TO"
+ "flag": "to"
},
{
"coordinates": [1236, 541],
"name": "Niue",
"strength": 1,
- "flag": "NU"
+ "flag": "nu"
},
{
"coordinates": [1204, 473],
"name": "Samoa",
"strength": 1,
- "flag": "WS"
+ "flag": "ws"
},
{
"coordinates": [1491, 523],
"name": "Cook Islands",
"strength": 1,
- "flag": "CK"
+ "flag": "ck"
},
{
"coordinates": [1623, 424],
"name": "French Polynesia",
"strength": 1,
- "flag": "PF"
+ "flag": "pf"
},
{
"coordinates": [1393, 278],
"name": "Kiribati",
"strength": 1,
- "flag": "KI"
+ "flag": "ki"
},
{
"coordinates": [1420, 56],
"name": "United States",
"strength": 1,
- "flag": "US"
+ "flag": "us"
},
{
"coordinates": [1996, 644],
"name": "Chile",
"strength": 1,
- "flag": "CL"
+ "flag": "cl"
}
]
}
From f7075f2f759e41d7ccaa3b29dfa69edd2d5999a9 Mon Sep 17 00:00:00 2001
From: Evan
Date: Tue, 11 Feb 2025 17:06:07 -0800
Subject: [PATCH 26/27] give humans more vibrant colors
---
src/core/configuration/PastelTheme.ts | 119 +++++++++++++++++++++++++-
1 file changed, 118 insertions(+), 1 deletion(-)
diff --git a/src/core/configuration/PastelTheme.ts b/src/core/configuration/PastelTheme.ts
index 813687911..a5bfac6b6 100644
--- a/src/core/configuration/PastelTheme.ts
+++ b/src/core/configuration/PastelTheme.ts
@@ -1,5 +1,11 @@
import { Colord, colord, random } from "colord";
-import { Game, PlayerID, PlayerInfo, TerrainType } from "../game/Game";
+import {
+ Game,
+ PlayerID,
+ PlayerInfo,
+ PlayerType,
+ TerrainType,
+} from "../game/Game";
import { Theme } from "./Config";
import { time } from "console";
import { PseudoRandom } from "../PseudoRandom";
@@ -122,6 +128,112 @@ export const pastelTheme = new (class implements Theme {
colord({ r: 170, g: 150, b: 170 }), // Dusty Rose
];
+ private humanColors: Colord[] = [
+ // Original set
+ colord({ r: 235, g: 75, b: 75 }), // Bright Red
+ colord({ r: 67, g: 190, b: 84 }), // Fresh Green
+ colord({ r: 59, g: 130, b: 246 }), // Royal Blue
+ colord({ r: 245, g: 158, b: 11 }), // Amber
+ colord({ r: 236, g: 72, b: 153 }), // Deep Pink
+ colord({ r: 48, g: 178, b: 180 }), // Teal
+ colord({ r: 168, g: 85, b: 247 }), // Vibrant Purple
+ colord({ r: 251, g: 191, b: 36 }), // Marigold
+ colord({ r: 74, g: 222, b: 128 }), // Mint
+ colord({ r: 239, g: 68, b: 68 }), // Crimson
+ colord({ r: 34, g: 197, b: 94 }), // Emerald
+ colord({ r: 96, g: 165, b: 250 }), // Sky Blue
+ colord({ r: 249, g: 115, b: 22 }), // Tangerine
+ colord({ r: 192, g: 132, b: 252 }), // Lavender
+ colord({ r: 45, g: 212, b: 191 }), // Turquoise
+ colord({ r: 244, g: 114, b: 182 }), // Rose
+ colord({ r: 132, g: 204, b: 22 }), // Lime
+ colord({ r: 56, g: 189, b: 248 }), // Light Blue
+ colord({ r: 234, g: 179, b: 8 }), // Sunflower
+ colord({ r: 217, g: 70, b: 239 }), // Fuchsia
+ colord({ r: 16, g: 185, b: 129 }), // Sea Green
+ colord({ r: 251, g: 146, b: 60 }), // Light Orange
+ colord({ r: 147, g: 51, b: 234 }), // Bright Purple
+ colord({ r: 79, g: 70, b: 229 }), // Indigo
+ colord({ r: 245, g: 101, b: 101 }), // Coral
+ colord({ r: 134, g: 239, b: 172 }), // Light Green
+ colord({ r: 59, g: 130, b: 246 }), // Cerulean
+ colord({ r: 253, g: 164, b: 175 }), // Salmon Pink
+ colord({ r: 147, g: 197, b: 253 }), // Powder Blue
+ colord({ r: 252, g: 211, b: 77 }), // Golden
+ colord({ r: 190, g: 92, b: 251 }), // Amethyst
+ colord({ r: 82, g: 183, b: 136 }), // Jade
+ colord({ r: 248, g: 113, b: 113 }), // Warm Red
+ colord({ r: 99, g: 202, b: 253 }), // Azure
+ colord({ r: 240, g: 171, b: 252 }), // Orchid
+ colord({ r: 163, g: 230, b: 53 }), // Yellow Green
+ colord({ r: 234, g: 88, b: 12 }), // Burnt Orange
+ colord({ r: 125, g: 211, b: 252 }), // Crystal Blue
+ colord({ r: 251, g: 113, b: 133 }), // Watermelon
+ colord({ r: 52, g: 211, b: 153 }), // Spearmint
+ colord({ r: 167, g: 139, b: 250 }), // Periwinkle
+ colord({ r: 245, g: 158, b: 11 }), // Honey
+ colord({ r: 110, g: 231, b: 183 }), // Seafoam
+ colord({ r: 233, g: 213, b: 255 }), // Light Lilac
+ colord({ r: 202, g: 138, b: 4 }), // Rich Gold
+ colord({ r: 151, g: 255, b: 187 }), // Fresh Mint
+ colord({ r: 220, g: 38, b: 38 }), // Ruby
+ colord({ r: 124, g: 58, b: 237 }), // Royal Purple
+ colord({ r: 45, g: 212, b: 191 }), // Ocean
+ colord({ r: 252, g: 165, b: 165 }), // Peach
+
+ // Additional 50 colors
+ colord({ r: 179, g: 136, b: 255 }), // Light Purple
+ colord({ r: 133, g: 77, b: 14 }), // Chocolate
+ colord({ r: 52, g: 211, b: 153 }), // Aquamarine
+ colord({ r: 234, g: 179, b: 8 }), // Mustard
+ colord({ r: 236, g: 72, b: 153 }), // Hot Pink
+ colord({ r: 147, g: 197, b: 253 }), // Sky
+ colord({ r: 249, g: 115, b: 22 }), // Pumpkin
+ colord({ r: 167, g: 139, b: 250 }), // Iris
+ colord({ r: 16, g: 185, b: 129 }), // Pine
+ colord({ r: 251, g: 146, b: 60 }), // Mango
+ colord({ r: 192, g: 132, b: 252 }), // Wisteria
+ colord({ r: 79, g: 70, b: 229 }), // Sapphire
+ colord({ r: 245, g: 101, b: 101 }), // Salmon
+ colord({ r: 134, g: 239, b: 172 }), // Spring Green
+ colord({ r: 59, g: 130, b: 246 }), // Ocean Blue
+ colord({ r: 253, g: 164, b: 175 }), // Rose Gold
+ colord({ r: 16, g: 185, b: 129 }), // Forest
+ colord({ r: 252, g: 211, b: 77 }), // Sunshine
+ colord({ r: 190, g: 92, b: 251 }), // Grape
+ colord({ r: 82, g: 183, b: 136 }), // Eucalyptus
+ colord({ r: 248, g: 113, b: 113 }), // Cherry
+ colord({ r: 99, g: 202, b: 253 }), // Arctic
+ colord({ r: 240, g: 171, b: 252 }), // Lilac
+ colord({ r: 163, g: 230, b: 53 }), // Chartreuse
+ colord({ r: 234, g: 88, b: 12 }), // Rust
+ colord({ r: 125, g: 211, b: 252 }), // Ice Blue
+ colord({ r: 251, g: 113, b: 133 }), // Strawberry
+ colord({ r: 52, g: 211, b: 153 }), // Sage
+ colord({ r: 167, g: 139, b: 250 }), // Violet
+ colord({ r: 245, g: 158, b: 11 }), // Apricot
+ colord({ r: 110, g: 231, b: 183 }), // Mint Green
+ colord({ r: 233, g: 213, b: 255 }), // Thistle
+ colord({ r: 202, g: 138, b: 4 }), // Bronze
+ colord({ r: 151, g: 255, b: 187 }), // Pistachio
+ colord({ r: 220, g: 38, b: 38 }), // Fire Engine
+ colord({ r: 124, g: 58, b: 237 }), // Electric Purple
+ colord({ r: 45, g: 212, b: 191 }), // Caribbean
+ colord({ r: 252, g: 165, b: 165 }), // Melon
+ colord({ r: 168, g: 85, b: 247 }), // Byzantium
+ colord({ r: 74, g: 222, b: 128 }), // Kelly Green
+ colord({ r: 239, g: 68, b: 68 }), // Cardinal
+ colord({ r: 34, g: 197, b: 94 }), // Shamrock
+ colord({ r: 96, g: 165, b: 250 }), // Marina
+ colord({ r: 249, g: 115, b: 22 }), // Carrot
+ colord({ r: 192, g: 132, b: 252 }), // Heliotrope
+ colord({ r: 45, g: 212, b: 191 }), // Lagoon
+ colord({ r: 244, g: 114, b: 182 }), // Bubble Gum
+ colord({ r: 132, g: 204, b: 22 }), // Apple
+ colord({ r: 56, g: 189, b: 248 }), // Electric Blue
+ colord({ r: 234, g: 179, b: 8 }), // Daffodil
+ ];
+
private _selfColor = colord({ r: 0, g: 255, b: 0 });
private _allyColor = colord({ r: 255, g: 255, b: 0 });
private _enemyColor = colord({ r: 255, g: 0, b: 0 });
@@ -133,6 +245,11 @@ export const pastelTheme = new (class implements Theme {
}
territoryColor(playerInfo: PlayerInfo): Colord {
+ if (playerInfo.playerType == PlayerType.Human) {
+ return this.humanColors[
+ simpleHash(playerInfo.name) % this.humanColors.length
+ ];
+ }
return this.territoryColors[
simpleHash(playerInfo.name) % this.territoryColors.length
];
From c3a5e58be673eacee531c76df75dc62f0229e6a9 Mon Sep 17 00:00:00 2001
From: Evan
Date: Tue, 11 Feb 2025 18:01:26 -0800
Subject: [PATCH 27/27] add zoom and pan keyboard shortcuts
---
src/client/InputHandler.ts | 124 +++++++++++++++++++++++++++----------
1 file changed, 92 insertions(+), 32 deletions(-)
diff --git a/src/client/InputHandler.ts b/src/client/InputHandler.ts
index b2394a48e..9748d5fef 100644
--- a/src/client/InputHandler.ts
+++ b/src/client/InputHandler.ts
@@ -2,46 +2,31 @@ import { EventBus, GameEvent } from "../core/EventBus";
import { Game } from "../core/game/Game";
export class MouseUpEvent implements GameEvent {
- constructor(
- public readonly x: number,
- public readonly y: number,
- ) {}
+ constructor(public readonly x: number, public readonly y: number) {}
}
export class MouseDownEvent implements GameEvent {
- constructor(
- public readonly x: number,
- public readonly y: number,
- ) {}
+ constructor(public readonly x: number, public readonly y: number) {}
}
export class MouseMoveEvent implements GameEvent {
- constructor(
- public readonly x: number,
- public readonly y: number,
- ) {}
+ constructor(public readonly x: number, public readonly y: number) {}
}
export class ContextMenuEvent implements GameEvent {
- constructor(
- public readonly x: number,
- public readonly y: number,
- ) {}
+ constructor(public readonly x: number, public readonly y: number) {}
}
export class ZoomEvent implements GameEvent {
constructor(
public readonly x: number,
public readonly y: number,
- public readonly delta: number,
+ public readonly delta: number
) {}
}
export class DragEvent implements GameEvent {
- constructor(
- public readonly deltaX: number,
- public readonly deltaY: number,
- ) {}
+ constructor(public readonly deltaX: number, public readonly deltaY: number) {}
}
export class AlternateViewEvent implements GameEvent {
@@ -51,10 +36,7 @@ export class AlternateViewEvent implements GameEvent {
export class RefreshGraphicsEvent implements GameEvent {}
export class ShowBuildMenuEvent implements GameEvent {
- constructor(
- public readonly x: number,
- public readonly y: number,
- ) {}
+ constructor(public readonly x: number, public readonly y: number) {}
}
export class InputHandler {
@@ -72,10 +54,13 @@ export class InputHandler {
private alternateView = false;
- constructor(
- private canvas: HTMLCanvasElement,
- private eventBus: EventBus,
- ) {}
+ private moveInterval: any = null;
+ private activeKeys = new Set();
+
+ private readonly PAN_SPEED = 5;
+ private readonly ZOOM_SPEED = 10;
+
+ constructor(private canvas: HTMLCanvasElement, private eventBus: EventBus) {}
initialize() {
this.canvas.addEventListener("pointerdown", (e) => this.onPointerDown(e));
@@ -95,14 +80,67 @@ export class InputHandler {
});
this.pointers.clear();
+ // Initialize the combined movement interval
+ this.moveInterval = setInterval(() => {
+ let deltaX = 0;
+ let deltaY = 0;
+
+ // Handle both WASD and arrow keys
+ if (this.activeKeys.has("KeyW") || this.activeKeys.has("ArrowUp"))
+ deltaY += this.PAN_SPEED;
+ if (this.activeKeys.has("KeyS") || this.activeKeys.has("ArrowDown"))
+ deltaY -= this.PAN_SPEED;
+ if (this.activeKeys.has("KeyA") || this.activeKeys.has("ArrowLeft"))
+ deltaX += this.PAN_SPEED;
+ if (this.activeKeys.has("KeyD") || this.activeKeys.has("ArrowRight"))
+ deltaX -= this.PAN_SPEED;
+
+ if (deltaX !== 0 || deltaY !== 0) {
+ this.eventBus.emit(new DragEvent(deltaX, deltaY));
+ }
+
+ // Handle zooming
+ const screenCenterX = window.innerWidth / 2;
+ const screenCenterY = window.innerHeight / 2;
+
+ if (this.activeKeys.has("Minus")) {
+ this.eventBus.emit(
+ new ZoomEvent(screenCenterX, screenCenterY, this.ZOOM_SPEED)
+ );
+ }
+ if (this.activeKeys.has("Equal")) {
+ this.eventBus.emit(
+ new ZoomEvent(screenCenterX, screenCenterY, -this.ZOOM_SPEED)
+ );
+ }
+ }, 1);
+
window.addEventListener("keydown", (e) => {
if (e.code === "Space") {
- e.preventDefault(); // Prevent page scrolling
+ e.preventDefault();
if (!this.alternateView) {
this.alternateView = true;
this.eventBus.emit(new AlternateViewEvent(true));
}
}
+
+ // Add all movement keys to activeKeys
+ if (
+ [
+ "KeyW",
+ "KeyA",
+ "KeyS",
+ "KeyD",
+ "ArrowUp",
+ "ArrowLeft",
+ "ArrowDown",
+ "ArrowRight",
+ "Minus",
+ "Equal",
+ ].includes(e.code)
+ ) {
+ this.activeKeys.add(e.code);
+ }
});
window.addEventListener("keyup", (e) => {
@@ -115,6 +153,24 @@ export class InputHandler {
e.preventDefault();
this.eventBus.emit(new RefreshGraphicsEvent());
}
+
+ // Remove all movement keys from activeKeys
+ if (
+ [
+ "KeyW",
+ "KeyA",
+ "KeyS",
+ "KeyD",
+ "ArrowUp",
+ "ArrowLeft",
+ "ArrowDown",
+ "ArrowRight",
+ "Minus",
+ "Equal",
+ ].includes(e.code)
+ ) {
+ this.activeKeys.delete(e.code);
+ }
});
}
@@ -193,10 +249,9 @@ export class InputHandler {
const pinchDelta = currentPinchDistance - this.lastPinchDistance;
if (Math.abs(pinchDelta) > 1) {
- // Threshold to avoid tiny zoom adjustments
const zoomCenter = this.getPinchCenter();
this.eventBus.emit(
- new ZoomEvent(zoomCenter.x, zoomCenter.y, -pinchDelta * 2),
+ new ZoomEvent(zoomCenter.x, zoomCenter.y, -pinchDelta * 2)
);
this.lastPinchDistance = currentPinchDistance;
}
@@ -222,4 +277,9 @@ export class InputHandler {
y: (pointerEvents[0].clientY + pointerEvents[1].clientY) / 2,
};
}
+
+ destroy() {
+ clearInterval(this.moveInterval);
+ this.activeKeys.clear();
+ }
}