Merge branch 'main' into main

This commit is contained in:
evanpelle
2025-02-11 16:36:42 -08:00
committed by GitHub
9 changed files with 1005 additions and 1225 deletions
+8 -32
View File
@@ -4,73 +4,49 @@
"height": 1100,
"nations": [
{
"coordinates": [
122,
647
],
"coordinates": [122, 647],
"name": "Bulgaria",
"strength": 1,
"flag": "bg"
},
{
"coordinates": [
513,
929
],
"coordinates": [513, 929],
"name": "Turkiye",
"strength": 2,
"flag": "tr"
},
{
"coordinates": [
123,
237
],
"coordinates": [123, 237],
"name": "Romania",
"strength": 1,
"flag": "ro"
},
{
"coordinates": [
300,
188
],
"coordinates": [300, 188],
"name": "Maldova",
"strength": 1,
"flag": "md"
},
{
"coordinates": [
737,
120
],
"coordinates": [737, 120],
"name": "Ukraine",
"strength": 1,
"flag": "ua"
},
{
"coordinates": [
1180,
354
],
"coordinates": [1180, 354],
"name": "Russia",
"strength": 3,
"flag": "ru"
},
{
"coordinates": [
1362,
722
],
"coordinates": [1362, 722],
"name": "Georgia",
"strength": 1,
"flag": "ge"
},
{
"coordinates": [
1382,
943
],
"coordinates": [1382, 943],
"name": "Armenia",
"strength": 1,
"flag": "am"
+192 -285
View File
@@ -1,286 +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": "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": "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"
}
]
}
+216 -286
View File
@@ -1,287 +1,217 @@
{
"name": "MENA",
"width": 2000,
"height": 1000,
"nations": [
{
"coordinates": [
200,
100
],
"name": "Spain 🇪🇸",
"strength": 1
},
{
"coordinates": [
50,
135
],
"name": "Portugal 🇵🇹",
"strength": 1
},
{
"coordinates": [
125,
375
],
"name": "Morocco 🇲🇦",
"strength": 1
},
{
"coordinates": [
425,
300
],
"name": "Algeria 🇩🇿",
"strength": 1
},
{
"coordinates": [
600,
275
],
"name": "Tunisia 🇹🇳",
"strength": 1
},
{
"coordinates": [
750,
450
],
"name": "Libya 🇱🇾",
"strength": 1
},
{
"coordinates": [
1100,
450
],
"name": "Egypt 🇪🇬",
"strength": 1
},
{
"coordinates": [
1333,
333
],
"name": "Israel 🇮🇱",
"strength": 1
},
{
"coordinates": [
1338,
388
],
"name": "Palestine 🇵🇸",
"strength": 1
},
{
"coordinates": [
1370,
325
],
"name": "Lebanon 🇱🇧",
"strength": 1
},
{
"coordinates": [
1228,
728
],
"name": "Sudan 🇸🇩",
"strength": 1
},
{
"coordinates": [
1450,
275
],
"name": "Syria 🇸🇾",
"strength": 1
},
{
"coordinates": [
1600,
300
],
"name": "Iraq 🇮🇶",
"strength": 1
},
{
"coordinates": [
1550,
600
],
"name": "Saudi Arabia 🇸🇦",
"strength": 1
},
{
"coordinates": [
1700,
850
],
"name": "Yemen 🇾🇪",
"strength": 1
},
{
"coordinates": [
1950,
725
],
"name": "Oman 🇴🇲",
"strength": 1
},
{
"coordinates": [
1860,
620
],
"name": "UAE 🇦🇪",
"strength": 1
},
{
"coordinates": [
1730,
580
],
"name": "Qatar 🇶🇦",
"strength": 1
},
{
"coordinates": [
1900,
350
],
"name": "Iran 🇮🇷",
"strength": 1
},
{
"coordinates": [
1300,
150
],
"name": "Turkey 🇹🇷",
"strength": 1
},
{
"coordinates": [
675,
50
],
"name": "Italy 🇮🇹",
"strength": 1
},
{
"coordinates": [
950,
125
],
"name": "Greece 🇬🇷",
"strength": 1
},
{
"coordinates": [
1000,
25
],
"name": "Bulgaria 🇧🇬",
"strength": 1
},
{
"coordinates": [
1980,
45
],
"name": "Uzbekistan 🇺🇿",
"strength": 1
},
{
"coordinates": [
1400,
400
],
"name": "Jordan 🇯🇴",
"strength": 1
},
{
"coordinates": [
750,
930
],
"name": "Chad 🇹🇩",
"strength": 1
},
{
"coordinates": [
500,
900
],
"name": "Niger 🇳🇪",
"strength": 1
},
{
"coordinates": [
230,
940
],
"name": "Mali 🇲🇱",
"strength": 1
},
{
"coordinates": [
40,
830
],
"name": "Mauritania 🇲🇷",
"strength": 1
},
{
"coordinates": [
1490,
980
],
"name": "Eritrea 🇪🇷",
"strength": 1
},
{
"coordinates": [
1630,
460
],
"name": "Kuwait 🇰🇼",
"strength": 1
},
{
"coordinates": [
1550,
25
],
"name": "Georgia 🇬🇪",
"strength": 1
},
{
"coordinates": [
1640,
100
],
"name": "Azerbaijan 🇦🇿",
"strength": 1
},
{
"coordinates": [
1226,
280
],
"name": "Cyprus 🇨🇾",
"strength": 1
},
{
"coordinates": [
1800,
40
],
"name": "Kazakhstan 🇰🇿",
"strength": 1
}
]
}
"name": "MENA",
"width": 2000,
"height": 1000,
"nations": [
{
"coordinates": [200, 100],
"name": "Spain",
"strength": 1,
"flag": "ES"
},
{
"coordinates": [50, 135],
"name": "Portugal",
"strength": 1,
"flag": "PT"
},
{
"coordinates": [125, 375],
"name": "Morocco",
"strength": 1,
"flag": "MA"
},
{
"coordinates": [425, 300],
"name": "Algeria",
"strength": 1,
"flag": "DZ"
},
{
"coordinates": [600, 275],
"name": "Tunisia",
"strength": 1,
"flag": "TN"
},
{
"coordinates": [750, 450],
"name": "Libyan Arab Jamahiriya",
"strength": 1,
"flag": "LY"
},
{
"coordinates": [1100, 450],
"name": "Egypt",
"strength": 1,
"flag": "EG"
},
{
"coordinates": [1333, 333],
"name": "Israel",
"strength": 1,
"flag": "IL"
},
{
"coordinates": [1338, 388],
"name": "Palestinian Territory, Occupied",
"strength": 1,
"flag": "PS"
},
{
"coordinates": [1370, 325],
"name": "Lebanon",
"strength": 1,
"flag": "LB"
},
{
"coordinates": [1228, 728],
"name": "Sudan",
"strength": 1,
"flag": "SD"
},
{
"coordinates": [1450, 275],
"name": "Syrian Arab Republic",
"strength": 1,
"flag": "SY"
},
{
"coordinates": [1600, 300],
"name": "Iraq",
"strength": 1,
"flag": "IQ"
},
{
"coordinates": [1550, 600],
"name": "Saudi Arabia",
"strength": 1,
"flag": "SA"
},
{
"coordinates": [1700, 850],
"name": "Yemen",
"strength": 1,
"flag": "YE"
},
{
"coordinates": [1950, 725],
"name": "Oman",
"strength": 1,
"flag": "OM"
},
{
"coordinates": [1860, 620],
"name": "United Arab Emirates",
"strength": 1,
"flag": "AE"
},
{
"coordinates": [1730, 580],
"name": "Qatar",
"strength": 1,
"flag": "QA"
},
{
"coordinates": [1900, 350],
"name": "Iran, Islamic Republic Of",
"strength": 1,
"flag": "IR"
},
{
"coordinates": [1300, 150],
"name": "Turkey",
"strength": 1,
"flag": "TR"
},
{
"coordinates": [675, 50],
"name": "Italy",
"strength": 1,
"flag": "IT"
},
{
"coordinates": [950, 125],
"name": "Greece",
"strength": 1,
"flag": "GR"
},
{
"coordinates": [1000, 25],
"name": "Bulgaria",
"strength": 1,
"flag": "BG"
},
{
"coordinates": [1980, 45],
"name": "Uzbekistan",
"strength": 1,
"flag": "UZ"
},
{
"coordinates": [1400, 400],
"name": "Jordan",
"strength": 1,
"flag": "JO"
},
{
"coordinates": [750, 930],
"name": "Chad",
"strength": 1,
"flag": "TD"
},
{
"coordinates": [500, 900],
"name": "Niger",
"strength": 1,
"flag": "NE"
},
{
"coordinates": [230, 940],
"name": "Mali",
"strength": 1,
"flag": "ML"
},
{
"coordinates": [40, 830],
"name": "Mauritania",
"strength": 1,
"flag": "MR"
},
{
"coordinates": [1490, 980],
"name": "Eritrea",
"strength": 1,
"flag": "ER"
},
{
"coordinates": [1630, 460],
"name": "Kuwait",
"strength": 1,
"flag": "KW"
},
{
"coordinates": [1550, 25],
"name": "Georgia",
"strength": 1,
"flag": "GE"
},
{
"coordinates": [1640, 100],
"name": "Azerbaijan",
"strength": 1,
"flag": "AZ"
},
{
"coordinates": [1226, 280],
"name": "Cyprus",
"strength": 1,
"flag": "CY"
},
{
"coordinates": [1800, 40],
"name": "Kazakhstan",
"strength": 1,
"flag": "KZ"
}
]
}
+102 -134
View File
@@ -1,135 +1,103 @@
{
"name": "NorthAmerica",
"width": 2000,
"height": 1000,
"nations": [
{
"coordinates": [
1280,
582
],
"name": "USA 🇺🇸",
"strength": 3
},
{
"coordinates": [
1235,
509
],
"name": "Canada 🇨🇦",
"strength": 2
},
{
"coordinates": [
983,
832
],
"name": "Mexico 🇲🇽",
"strength": 2
},
{
"coordinates": [
1126,
871
],
"name": "Belize 🇧🇿",
"strength": 1
},
{
"coordinates": [
1096,
893
],
"name": "Guatemala 🇬🇹",
"strength": 1
},
{
"coordinates": [
1124,
916
],
"name": "El Salvador 🇸🇻",
"strength": 1
},
{
"coordinates": [
1143,
906
],
"name": "Honduras 🇭🇳",
"strength": 1
},
{
"coordinates": [
1157,
937
],
"name": "Nicaragua 🇳🇮",
"strength": 1
},
{
"coordinates": [
1184,
963
],
"name": "Costa Rica 🇨🇷",
"strength": 1
},
{
"coordinates": [
1235,
974
],
"name": "Panama 🇵🇦",
"strength": 1
},
{
"coordinates": [
1304,
997
],
"name": "Colombia 🇨🇴",
"strength": 1
},
{
"coordinates": [
1392,
955
],
"name": "Venezuela 🇻🇪",
"strength": 1
},
{
"coordinates": [
1228,
802
],
"name": "Cuba 🇨🇺",
"strength": 1
},
{
"coordinates": [
1263,
857
],
"name": "Jamaica 🇯🇲",
"strength": 1
},
{
"coordinates": [
1326,
849
],
"name": "Haiti 🇭🇹",
"strength": 1
},
{
"coordinates": [
1358,
852
],
"name": "Dominican Republic 🇩🇴",
"strength": 1
}
]
}
"name": "NorthAmerica",
"width": 2000,
"height": 1000,
"nations": [
{
"coordinates": [1280, 582],
"name": "United States",
"strength": 3,
"flag": "US"
},
{
"coordinates": [1235, 509],
"name": "Canada",
"strength": 2,
"flag": "CA"
},
{
"coordinates": [983, 832],
"name": "Mexico",
"strength": 2,
"flag": "MX"
},
{
"coordinates": [1126, 871],
"name": "Belize",
"strength": 1,
"flag": "BZ"
},
{
"coordinates": [1096, 893],
"name": "Guatemala",
"strength": 1,
"flag": "GT"
},
{
"coordinates": [1124, 916],
"name": "El Salvador",
"strength": 1,
"flag": "SV"
},
{
"coordinates": [1143, 906],
"name": "Honduras",
"strength": 1,
"flag": "HN"
},
{
"coordinates": [1157, 937],
"name": "Nicaragua",
"strength": 1,
"flag": "NI"
},
{
"coordinates": [1184, 963],
"name": "Costa Rica",
"strength": 1,
"flag": "CR"
},
{
"coordinates": [1235, 974],
"name": "Panama",
"strength": 1,
"flag": "PA"
},
{
"coordinates": [1304, 997],
"name": "Colombia",
"strength": 1,
"flag": "CO"
},
{
"coordinates": [1392, 955],
"name": "Venezuela",
"strength": 1,
"flag": "VE"
},
{
"coordinates": [1228, 802],
"name": "Cuba",
"strength": 1,
"flag": "CU"
},
{
"coordinates": [1263, 857],
"name": "Jamaica",
"strength": 1,
"flag": "JM"
},
{
"coordinates": [1326, 849],
"name": "Haiti",
"strength": 1,
"flag": "HT"
},
{
"coordinates": [1358, 852],
"name": "Dominican Republic",
"strength": 1,
"flag": "DO"
}
]
}
+204 -270
View File
@@ -1,271 +1,205 @@
{
"name": "Oceania",
"width": 2000,
"height": 1000,
"nations": [
{
"coordinates": [
718,
738
],
"name": "Australia 🇦🇺",
"strength": 1
},
{
"coordinates": [
1050,
809
],
"name": "New Zealand 🇳🇿",
"strength": 1
},
{
"coordinates": [
686,
407
],
"name": "Papua New Guinea 🇵🇬",
"strength": 1
},
{
"coordinates": [
436,
407
],
"name": "East Timor 🇹🇱",
"strength": 1
},
{
"coordinates": [
182,
378
],
"name": "Indonesia 🇮🇩",
"strength": 1
},
{
"coordinates": [
292,
243
],
"name": "Brunei 🇧🇳",
"strength": 1
},
{
"coordinates": [
152,
282
],
"name": "Singapore 🇸🇬",
"strength": 1
},
{
"coordinates": [
120,
261
],
"name": "Malaysia 🇲🇾",
"strength": 1
},
{
"coordinates": [
106,
129
],
"name": "Thailand 🇹🇭",
"strength": 1
},
{
"coordinates": [
51,
42
],
"name": "Myanmar 🇲🇲",
"strength": 1
},
{
"coordinates": [
158,
162
],
"name": "Cambodia 🇰🇭",
"strength": 1
},
{
"coordinates": [
182,
43
],
"name": "Vietnam 🇻🇳",
"strength": 1
},
{
"coordinates": [
143,
37
],
"name": "Laos 🇱🇦",
"strength": 1
},
{
"coordinates": [
278,
18
],
"name": "Hong Kong 🇭🇰",
"strength": 1
},
{
"coordinates": [
359,
1
],
"name": "Taiwan 🇹🇼",
"strength": 1
},
{
"coordinates": [
366,
119
],
"name": "Philippines 🇵🇭",
"strength": 1
},
{
"coordinates": [
536,
207
],
"name": "Palau 🇵🇼",
"strength": 1
},
{
"coordinates": [
834,
215
],
"name": "Micronesia 🇫🇲",
"strength": 1
},
{
"coordinates": [
664,
113
],
"name": "Guam 🇬🇺",
"strength": 1
},
{
"coordinates": [
1042,
317
],
"name": "Marshall Islands 🇲🇭",
"strength": 1
},
{
"coordinates": [
799,
385
],
"name": "Bougainville 🇵🇬",
"strength": 1
},
{
"coordinates": [
862,
442
],
"name": "Solomon Islands 🇸🇧",
"strength": 1
},
{
"coordinates": [
945,
497
],
"name": "Vanuatu 🇻🇺",
"strength": 1
},
{
"coordinates": [
930,
574
],
"name": "New Caledonia 🇳🇨",
"strength": 1
},
{
"coordinates": [
1085,
526
],
"name": "Fiji 🇫🇯",
"strength": 1
},
{
"coordinates": [
1169,
568
],
"name": "Tonga 🇹🇴",
"strength": 1
},
{
"coordinates": [
1236,
541
],
"name": "Niue 🇳🇺",
"strength": 1
},
{
"coordinates": [
1204,
473
],
"name": "Samoa 🇼🇸",
"strength": 1
},
{
"coordinates": [
1491,
523
],
"name": "Cook Islands 🇨🇰",
"strength": 1
},
{
"coordinates": [
1623,
424
],
"name": "Polynesia 🇵🇫",
"strength": 1
},
{
"coordinates": [
1393,
278
],
"name": "Kiribati 🇰🇮",
"strength": 1
},
{
"coordinates": [
1420,
56
],
"name": "Hawaii 🇺🇸",
"strength": 1
},
{
"coordinates": [
1996,
644
],
"name": "Easter Island 🇨🇱",
"strength": 1
}
]
}
"name": "Oceania",
"width": 2000,
"height": 1000,
"nations": [
{
"coordinates": [718, 738],
"name": "Australia",
"strength": 1,
"flag": "AU"
},
{
"coordinates": [1050, 809],
"name": "New Zealand",
"strength": 1,
"flag": "NZ"
},
{
"coordinates": [686, 407],
"name": "Papua New Guinea",
"strength": 1,
"flag": "PG"
},
{
"coordinates": [436, 407],
"name": "Timor-Leste",
"strength": 1,
"flag": "TL"
},
{
"coordinates": [182, 378],
"name": "Indonesia",
"strength": 1,
"flag": "ID"
},
{
"coordinates": [292, 243],
"name": "Brunei Darussalam",
"strength": 1,
"flag": "BN"
},
{
"coordinates": [152, 282],
"name": "Singapore",
"strength": 1,
"flag": "SG"
},
{
"coordinates": [120, 261],
"name": "Malaysia",
"strength": 1,
"flag": "MY"
},
{
"coordinates": [106, 129],
"name": "Thailand",
"strength": 1,
"flag": "TH"
},
{
"coordinates": [51, 42],
"name": "Myanmar",
"strength": 1,
"flag": "MM"
},
{
"coordinates": [158, 162],
"name": "Cambodia",
"strength": 1,
"flag": "KH"
},
{
"coordinates": [182, 43],
"name": "Viet Nam",
"strength": 1,
"flag": "VN"
},
{
"coordinates": [143, 37],
"name": "Lao People's Democratic Republic",
"strength": 1,
"flag": "LA"
},
{
"coordinates": [278, 18],
"name": "Hong Kong",
"strength": 1,
"flag": "HK"
},
{
"coordinates": [359, 1],
"name": "Taiwan, Province of China",
"strength": 1,
"flag": "TW"
},
{
"coordinates": [366, 119],
"name": "Philippines",
"strength": 1,
"flag": "PH"
},
{
"coordinates": [536, 207],
"name": "Palau",
"strength": 1,
"flag": "PW"
},
{
"coordinates": [834, 215],
"name": "Micronesia, Federated States of",
"strength": 1,
"flag": "FM"
},
{
"coordinates": [664, 113],
"name": "Guam",
"strength": 1,
"flag": "GU"
},
{
"coordinates": [1042, 317],
"name": "Marshall Islands",
"strength": 1,
"flag": "MH"
},
{
"coordinates": [799, 385],
"name": "Papua New Guinea",
"strength": 1,
"flag": "PG"
},
{
"coordinates": [862, 442],
"name": "Solomon Islands",
"strength": 1,
"flag": "SB"
},
{
"coordinates": [945, 497],
"name": "Vanuatu",
"strength": 1,
"flag": "VU"
},
{
"coordinates": [930, 574],
"name": "New Caledonia",
"strength": 1,
"flag": "NC"
},
{
"coordinates": [1085, 526],
"name": "Fiji",
"strength": 1,
"flag": "FJ"
},
{
"coordinates": [1169, 568],
"name": "Tonga",
"strength": 1,
"flag": "TO"
},
{
"coordinates": [1236, 541],
"name": "Niue",
"strength": 1,
"flag": "NU"
},
{
"coordinates": [1204, 473],
"name": "Samoa",
"strength": 1,
"flag": "WS"
},
{
"coordinates": [1491, 523],
"name": "Cook Islands",
"strength": 1,
"flag": "CK"
},
{
"coordinates": [1623, 424],
"name": "French Polynesia",
"strength": 1,
"flag": "PF"
},
{
"coordinates": [1393, 278],
"name": "Kiribati",
"strength": 1,
"flag": "KI"
},
{
"coordinates": [1420, 56],
"name": "United States",
"strength": 1,
"flag": "US"
},
{
"coordinates": [1996, 644],
"name": "Chile",
"strength": 1,
"flag": "CL"
}
]
}
+192 -207
View File
@@ -1,286 +1,271 @@
{
"name": "Europe",
"name": "World",
"width": 2000,
"height": 1000,
"nations": [
{
"coordinates": [
171,
171
],
"name": "Iceland 🇮🇸",
"coordinates": [375, 272],
"name": "United States",
"strength": 3,
"flag": "us"
},
{
"coordinates": [372, 136],
"name": "Canada",
"strength": 2,
"flag": "ca"
},
{
"coordinates": [375, 374],
"name": "Mexico",
"strength": 1,
"flag": "mx"
},
{
"coordinates": [500, 378],
"name": "Cuba",
"strength": 1,
"flag": "cu"
},
{
"coordinates": [524, 474],
"name": "Colombia",
"strength": 1,
"flag": "co"
},
{
"coordinates": [593, 473],
"name": "Venezuela",
"strength": 1,
"flag": "ve"
},
{
"coordinates": [596, 705],
"name": "Argentina",
"strength": 1,
"flag": "ar"
},
{
"coordinates": [637, 567],
"name": "Brazil",
"strength": 1,
"flag": "br"
},
{
"coordinates": [1280, 975],
"name": "Antarctica",
"strength": 3,
"flag": "aq"
},
{
"coordinates": [709, 57],
"name": "Greenland",
"strength": 2,
"flag": "gl"
},
{
"coordinates": [831, 112],
"name": "Iceland",
"strength": 1,
"flag": "is"
},
{
"coordinates": [
477,
473
],
"name": "Ireland 🇮🇪",
"strength": 1,
"flag": "ie"
},
{
"coordinates": [
650,
500
],
"name": "England 🇬🇧",
"coordinates": [925, 186],
"name": "United Kingdom",
"strength": 3,
"flag": "gb"
},
{
"coordinates": [
560,
800
],
"name": "Spain 🇪🇸",
"strength": 2,
"coordinates": [887, 183],
"name": "Ireland",
"strength": 1,
"flag": "ie"
},
{
"coordinates": [908, 264],
"name": "Spain",
"strength": 1,
"flag": "es"
},
{
"coordinates": [
726,
616
],
"name": "France 🇫🇷",
"strength": 2,
"flag": "fr"
},
{
"coordinates": [
1050,
745
],
"name": "Italy 🇮🇹",
"coordinates": [1004, 250],
"name": "Italy",
"strength": 1,
"flag": "it"
},
{
"coordinates": [
872,
634
],
"name": "Switzerland 🇨🇭",
"strength": 1,
"flag": "ch"
"coordinates": [958, 220],
"name": "France",
"strength": 2,
"flag": "fr"
},
{
"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 🇩🇪",
"coordinates": [997, 205],
"name": "Germany",
"strength": 1,
"flag": "de"
},
{
"coordinates": [
1017,
628
],
"name": "Austria 🇦🇹",
"coordinates": [1064, 101],
"name": "Sweden",
"strength": 1,
"flag": "at"
"flag": "se"
},
{
"coordinates": [
1120,
477
],
"name": "Poland 🇵🇱",
"coordinates": [1046, 193],
"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 🇧🇾",
"coordinates": [1061, 188],
"name": "Belarus",
"strength": 1,
"flag": "by"
},
{
"coordinates": [
1400,
670
],
"name": "Romania 🇷🇴",
"coordinates": [1073, 243],
"name": "Romania",
"strength": 1,
"flag": "ro"
},
{
"coordinates": [
1580,
834
],
"name": "Turkiye 🇹🇷",
"coordinates": [1161, 274],
"name": "Turkey",
"strength": 1,
"flag": "tr"
},
{
"coordinates": [
525,
955
],
"name": "Morocco 🇲🇦",
"coordinates": [969, 133],
"name": "Norway",
"strength": 1,
"flag": "ma"
"flag": "no"
},
{
"coordinates": [
1674,
449
],
"name": "Russia 🇷🇺",
"coordinates": [1062, 133],
"name": "Finland",
"strength": 1,
"flag": "fi"
},
{
"coordinates": [1099, 211],
"name": "Ukraine",
"strength": 1,
"flag": "ua"
},
{
"coordinates": [1344, 136],
"name": "Russian Federation",
"strength": 3,
"flag": "ru"
},
{
"coordinates": [
1750,
950
],
"name": "Syria 🇸🇾",
"coordinates": [1537, 186],
"name": "Mongolia",
"strength": 1,
"flag": "sy"
"flag": "mn"
},
{
"coordinates": [
1930,
950
],
"name": "Iraq 🇮🇶",
"strength": 1,
"flag": "iq"
"coordinates": [1524, 328],
"name": "China",
"strength": 3,
"flag": "cn"
},
{
"coordinates": [
1900,
720
],
"name": "Georgia 🇬🇪",
"strength": 1,
"flag": "ge"
"coordinates": [1368, 373],
"name": "India",
"strength": 2,
"flag": "in"
},
{
"coordinates": [
950,
930
],
"name": "Tunisia 🇹🇳",
"coordinates": [1276, 239],
"name": "Kazakhstan",
"strength": 1,
"flag": "tn"
"flag": "kz"
},
{
"coordinates": [
740,
940
],
"name": "Algeria 🇩🇿",
"coordinates": [1238, 309],
"name": "Iran, Islamic Republic Of",
"strength": 1,
"flag": "ir"
},
{
"coordinates": [1178, 351],
"name": "Saudi Arabia",
"strength": 1,
"flag": "sa"
},
{
"coordinates": [1679, 657],
"name": "Australia",
"strength": 2,
"flag": "au"
},
{
"coordinates": [1890, 775],
"name": "New Zealand",
"strength": 0.5,
"flag": "nz"
},
{
"coordinates": [918, 342],
"name": "Algeria",
"strength": 1,
"flag": "dz"
},
{
"coordinates": [
460,
830
],
"name": "Portugal 🇵🇹",
"coordinates": [1030, 332],
"name": "Libyan Arab Jamahiriya",
"strength": 1,
"flag": "pt"
"flag": "ly"
},
{
"coordinates": [
1300,
830
],
"name": "Greece 🇬🇷",
"coordinates": [1092, 335],
"name": "Egypt",
"strength": 1,
"flag": "gr"
"flag": "eg"
},
{
"coordinates": [
1270,
700
],
"name": "Serbia 🇷🇸",
"coordinates": [963, 410],
"name": "Niger",
"strength": 1,
"flag": "rs"
"flag": "ne"
},
{
"coordinates": [
1200,
630
],
"name": "Hungary 🇭🇺",
"coordinates": [1112, 406],
"name": "Sudan",
"strength": 1,
"flag": "hu"
"flag": "sd"
},
{
"coordinates": [1074, 508],
"name": "Congo, The Democratic Republic of the",
"strength": 1,
"flag": "cd"
},
{
"coordinates": [1154, 443],
"name": "Ethiopia",
"strength": 1,
"flag": "et"
},
{
"coordinates": [1075, 707],
"name": "South Africa",
"strength": 1,
"flag": "za"
},
{
"coordinates": [1194, 627],
"name": "Madagascar",
"strength": 0.5,
"flag": "mg"
},
{
"coordinates": [1052, 420],
"name": "Chad",
"strength": 1,
"flag": "td"
}
]
}
+3 -2
View File
@@ -3,6 +3,7 @@ export function renderTroops(troops: number): string {
}
export function renderNumber(num: number) {
num = Math.max(num, 0);
let numStr = "";
if (num >= 10_000_000) {
numStr = (num / 1000000).toFixed(1) + "M";
@@ -51,7 +52,7 @@ export function generateCryptoRandomUUID(): string {
(
c ^
(crypto.getRandomValues(new Uint8Array(1))[0] & (15 >> (c / 4)))
).toString(16),
).toString(16)
);
}
@@ -63,6 +64,6 @@ export function generateCryptoRandomUUID(): string {
const r: number = (Math.random() * 16) | 0;
const v: number = c === "x" ? r : (r & 0x3) | 0x8;
return v.toString(16);
},
}
);
}
+84 -7
View File
@@ -1,8 +1,11 @@
import { LitElement, html } from "lit";
import { customElement, property, state } from "lit/decorators.js";
import { EventBus } from "../../../core/EventBus";
import { AllPlayers, MessageType } from "../../../core/game/Game";
import { DisplayMessageUpdate } from "../../../core/game/GameUpdates";
import { AllPlayers, MessageType, PlayerType } from "../../../core/game/Game";
import {
AttackUpdate,
DisplayMessageUpdate,
} from "../../../core/game/GameUpdates";
import { EmojiUpdate } from "../../../core/game/GameUpdates";
import { TargetPlayerUpdate } from "../../../core/game/GameUpdates";
import { AllianceExpiredUpdate } from "../../../core/game/GameUpdates";
@@ -16,6 +19,7 @@ import { SendAllianceReplyIntentEvent } from "../../Transport";
import { unsafeHTML } from "lit/directives/unsafe-html.js";
import { onlyImages, sanitize } from "../../../core/Util";
import { GameView, PlayerView } from "../../../core/game/GameView";
import { renderTroops } from "../../Utils";
interface Event {
description: string;
@@ -38,6 +42,8 @@ export class EventsDisplay extends LitElement implements Layer {
public clientID: ClientID;
private events: Event[] = [];
@state() private incomingAttacks: AttackUpdate[] = [];
@state() private outgoingAttacks: AttackUpdate[] = [];
private updateMap = new Map([
[GameUpdateType.DisplayEvent, (u) => this.onDisplayMessageEvent(u)],
@@ -54,6 +60,8 @@ export class EventsDisplay extends LitElement implements Layer {
constructor() {
super();
this.events = [];
this.incomingAttacks = [];
this.outgoingAttacks = [];
}
init() {}
@@ -85,12 +93,26 @@ export class EventsDisplay extends LitElement implements Layer {
if (!myPlayer) {
return;
}
myPlayer.incomingAttacks().forEach((a) => {
// console.log(`got incoming attack: ${JSON.stringify(a)}`);
console.log(
`got type: ${(
this.game.playerBySmallID(a.attackerID) as PlayerView
).type()}`
);
});
myPlayer.outgoingAttacks().forEach((a) => {
// console.log(`got outgoing attack: ${JSON.stringify(a)}`);
// Update attacks
this.incomingAttacks = myPlayer.incomingAttacks().filter((a) => {
const t = (this.game.playerBySmallID(a.attackerID) as PlayerView).type();
return t != PlayerType.Bot;
});
this.outgoingAttacks = myPlayer
.outgoingAttacks()
.filter((a) => a.targetID != 0);
this.requestUpdate();
}
private addEvent(event: Event) {
@@ -300,8 +322,62 @@ export class EventsDisplay extends LitElement implements Layer {
}
}
private renderAttacks() {
if (
this.incomingAttacks.length === 0 &&
this.outgoingAttacks.length === 0
) {
return html``;
}
return html`
${this.incomingAttacks.length > 0
? html`
<tr class="border-t border-gray-700">
<td class="lg:p-3 p-1 text-left text-red-400">
${this.incomingAttacks.map(
(attack) => html`
<div class="ml-2">
${renderTroops(attack.troops)}
${(
this.game.playerBySmallID(
attack.attackerID
) as PlayerView
)?.name()}
</div>
`
)}
</td>
</tr>
`
: ""}
${this.outgoingAttacks.length > 0
? html`
<tr class="border-t border-gray-700">
<td class="lg:p-3 p-1 text-left text-blue-400">
${this.outgoingAttacks.map(
(attack) => html`
<div class="ml-2">
${renderTroops(attack.troops)}
${(
this.game.playerBySmallID(attack.targetID) as PlayerView
)?.name()}
</div>
`
)}
</td>
</tr>
`
: ""}
`;
}
render() {
if (this.events.length === 0) {
if (
this.events.length === 0 &&
this.incomingAttacks.length === 0 &&
this.outgoingAttacks.length === 0
) {
return html``;
}
@@ -351,6 +427,7 @@ export class EventsDisplay extends LitElement implements Layer {
</tr>
`
)}
${this.renderAttacks()}
</tbody>
</table>
</div>
@@ -358,6 +435,6 @@ export class EventsDisplay extends LitElement implements Layer {
}
createRenderRoot() {
return this; // Required for Tailwind classes to work with Lit
return this;
}
}
+4 -2
View File
@@ -26,16 +26,19 @@ export class TopBar extends LitElement implements Layer {
if (!this.isVisible) {
return html``;
}
const myPlayer = this.game?.myPlayer();
if (!myPlayer?.isAlive() || this.game?.inSpawnPhase()) {
return html``;
}
const popRate = this.game.config().populationIncreaseRate(myPlayer) * 10;
const maxPop = this.game.config().maxPopulation(myPlayer);
const goldPerSecond = this.game.config().goldAdditionRate(myPlayer) * 10;
return html`
<div
class="fixed top-0 z-50 bg-black/90 text-white text-sm p-1 rounded grid grid-cols-1 sm:grid-cols-2 w-1/2 sm:w-2/3 md:w-1/2 lg:hidden"
class="fixed top-0 z-50 bg-gray-800/70 text-white text-sm p-1 rounded grid grid-cols-1 sm:grid-cols-2 w-1/2 sm:w-2/3 md:w-1/2 lg:hidden backdrop-blur"
>
<!-- Pop section (takes 2 columns on desktop) -->
<div
@@ -48,7 +51,6 @@ export class TopBar extends LitElement implements Layer {
>
<span>(+${renderTroops(popRate)})</span>
</div>
<!-- Gold section (takes 1 column on desktop) -->
<div
class="flex items-center space-x-2 overflow-x-auto whitespace-nowrap"