Add map luna (the moon) (#3635)

## Description:
Add map Luna (The Moon).

https://youtu.be/6L6vS9VvD8k


https://discord.com/channels/1284581928254701718/1490394299785805944/1490394299785805944

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

##  Discord username 
PlaysBadly

---------

Co-authored-by: FloPinguin <25036848+FloPinguin@users.noreply.github.com>
This commit is contained in:
Patrick Plays Badly
2026-04-11 16:17:43 -04:00
committed by GitHub
parent 696e727a39
commit 51716e9dc4
12 changed files with 569 additions and 2 deletions
+9
View File
@@ -72,6 +72,15 @@ Topographic map of Sumatra. Created with GMT from publicly released SRTM data. F
CC BY-SA 3.0
File:Sumatra Topography.png
### Luna (The Moon) Map
[https://svs.gsfc.nasa.gov/4720#section_credits]
NASA's Scientific Visualization Studio
Visualizer
Ernie Wright (USRA) ORCID logo.
Scientist
Noah Petro (NASA/GSFC) ORCID logo.
## Icons
### [The Noun Project](https://thenounproject.com/)
Binary file not shown.

After

Width:  |  Height:  |  Size: 1.3 MiB

+136
View File
@@ -0,0 +1,136 @@
{
"name": "Luna",
"nations": [
{
"coordinates": [265, 662],
"flag": "us",
"name": "Apollo 12"
},
{
"coordinates": [550, 600],
"flag": "us",
"name": "Apollo 14"
},
{
"coordinates": [780, 345],
"flag": "us",
"name": "Apollo 15"
},
{
"coordinates": [825, 735],
"flag": "us",
"name": "Apollo 11"
},
{
"coordinates": [875, 990],
"flag": "us",
"name": "Apollo 16"
},
{
"coordinates": [1160, 490],
"flag": "us",
"name": "Apollo 17"
},
{
"coordinates": [1160, 2850],
"flag": "us",
"name": "Surveyor 3"
},
{
"coordinates": [256, 148],
"flag": "us",
"name": "Apollo 13"
},
{
"coordinates": [650, 1750],
"flag": "us",
"name": "Artemis II"
},
{
"coordinates": [510, 170],
"flag": "Russian SSR",
"name": "Luna 17"
},
{
"coordinates": [1050, 385],
"flag": "Russian SSR",
"name": "Luna 21"
},
{
"coordinates": [1030, 790],
"flag": "Russian SSR",
"name": "Luna 16"
},
{
"coordinates": [1090, 2640],
"flag": "Russian SSR",
"name": "Luna 9"
},
{
"coordinates": [130, 2890],
"flag": "Russian SSR",
"name": "Luna 24"
},
{
"coordinates": [310, 1167],
"flag": "Russian SSR",
"name": "Luna 25"
},
{
"coordinates": [1043, 2393],
"flag": "Russian SSR",
"name": "Luna 1"
},
{
"coordinates": [672, 2323],
"flag": "cn",
"name": "Chang'e 3"
},
{
"coordinates": [650, 2750],
"flag": "cn",
"name": "Chang'e 4"
},
{
"coordinates": [270, 2690],
"flag": "cn",
"name": "Chang'e 5"
},
{
"coordinates": [910, 3190],
"flag": "cn",
"name": "Chang'e 6"
},
{
"coordinates": [830, 735],
"flag": "jp",
"name": "S.L.I.M."
},
{
"coordinates": [400, 3360],
"flag": "in",
"name": "Chandrayaan 3"
},
{
"coordinates": [732, 3490],
"flag": "in",
"name": "Chandrayaan 1"
},
{
"coordinates": [755, 3035],
"flag": "",
"name": "T▅▚░S▅cr▅▟░M▅l▅t▅r▅░B▅s▅"
},
{
"coordinates": [628, 921],
"flag": "",
"name": "[]"
}
]
}
+2 -1
View File
@@ -87,7 +87,8 @@ var maps = []struct {
{Name: "milkyway"},
{Name: "mediterranean"},
{Name: "greatlakes"},
{Name: "dyslexdria"},
{Name: "dyslexdria"},
{Name: "luna"},
{Name: "big_plains", IsTest: true},
{Name: "half_land_half_ocean", IsTest: true},
{Name: "ocean_and_land", IsTest: true},
+2 -1
View File
@@ -357,7 +357,8 @@
"mediterranean": "Mediterranean",
"dyslexdria": "Dyslexdria",
"greatlakes": "Great Lakes",
"straitofmalacca": "Strait Of Malacca"
"straitofmalacca": "Strait Of Malacca",
"luna": "Luna"
},
"map_categories": {
"featured": "Featured",
+145
View File
@@ -0,0 +1,145 @@
{
"map": {
"height": 3500,
"num_land_tiles": 1625125,
"width": 1308
},
"map16x": {
"height": 875,
"num_land_tiles": 92808,
"width": 327
},
"map4x": {
"height": 1750,
"num_land_tiles": 392778,
"width": 654
},
"name": "Luna",
"nations": [
{
"coordinates": [265, 662],
"flag": "us",
"name": "Apollo 12"
},
{
"coordinates": [550, 600],
"flag": "us",
"name": "Apollo 14"
},
{
"coordinates": [780, 345],
"flag": "us",
"name": "Apollo 15"
},
{
"coordinates": [825, 735],
"flag": "us",
"name": "Apollo 11"
},
{
"coordinates": [875, 990],
"flag": "us",
"name": "Apollo 16"
},
{
"coordinates": [1160, 490],
"flag": "us",
"name": "Apollo 17"
},
{
"coordinates": [1160, 2850],
"flag": "us",
"name": "Surveyor 3"
},
{
"coordinates": [256, 148],
"flag": "us",
"name": "Apollo 13"
},
{
"coordinates": [650, 1750],
"flag": "us",
"name": "Artemis II"
},
{
"coordinates": [510, 170],
"flag": "Russian SSR",
"name": "Luna 17"
},
{
"coordinates": [1050, 385],
"flag": "Russian SSR",
"name": "Luna 21"
},
{
"coordinates": [1030, 790],
"flag": "Russian SSR",
"name": "Luna 16"
},
{
"coordinates": [1090, 2640],
"flag": "Russian SSR",
"name": "Luna 9"
},
{
"coordinates": [130, 2890],
"flag": "Russian SSR",
"name": "Luna 24"
},
{
"coordinates": [310, 1167],
"flag": "Russian SSR",
"name": "Luna 25"
},
{
"coordinates": [1043, 2393],
"flag": "Russian SSR",
"name": "Luna 1"
},
{
"coordinates": [672, 2323],
"flag": "cn",
"name": "Chang'e 3"
},
{
"coordinates": [650, 2750],
"flag": "cn",
"name": "Chang'e 4"
},
{
"coordinates": [270, 2690],
"flag": "cn",
"name": "Chang'e 5"
},
{
"coordinates": [910, 3190],
"flag": "cn",
"name": "Chang'e 6"
},
{
"coordinates": [830, 735],
"flag": "jp",
"name": "S.L.I.M."
},
{
"coordinates": [400, 3360],
"flag": "in",
"name": "Chandrayaan 3"
},
{
"coordinates": [732, 3490],
"flag": "in",
"name": "Chandrayaan 1"
},
{
"coordinates": [755, 3035],
"flag": "",
"name": "T▅▚░S▅cr▅▟░M▅l▅t▅r▅░B▅s▅"
},
{
"coordinates": [628, 921],
"flag": "",
"name": "[]"
}
]
}
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: 20 KiB

+2
View File
@@ -148,6 +148,7 @@ export enum GameMapType {
Dyslexdria = "Dyslexdria",
GreatLakes = "Great Lakes",
StraitOfMalacca = "Strait Of Malacca",
Luna = "Luna",
}
export type GameMapName = keyof typeof GameMapType;
@@ -217,6 +218,7 @@ export const mapCategories: Record<string, GameMapType[]> = {
GameMapType.Passage,
GameMapType.MilkyWay,
GameMapType.Dyslexdria,
GameMapType.Luna,
],
arcade: [
GameMapType.TheBox,
+1
View File
@@ -89,6 +89,7 @@ const frequency: Partial<Record<GameMapName, number>> = {
Dyslexdria: 8,
GreatLakes: 6,
StraitOfMalacca: 4,
Luna: 6,
};
const TEAM_WEIGHTS: { config: TeamCountConfig; weight: number }[] = [