mirror of
https://github.com/openfrontio/OpenFrontIO.git
synced 2026-06-21 09:40:44 +00:00
Feat: Lemnos Map (#2683)
## Description: Introduces the Greek island, Lemnos, as a map. The island is both fun and challenging to play (because of the terrain and elevation) and this addition was inspired by Altis from the game [Arma 3](https://armedassault.fandom.com/wiki/Altis). The nation names are set based on the real landmarks, towns, and regions. <img width="2190" height="1791" alt="image" src="https://github.com/user-attachments/assets/a7a6de54-f376-43ac-87da-f20aecfebbe0" /> <img width="1994" height="1608" alt="image" src="https://github.com/user-attachments/assets/bc280780-298f-4342-8313-db6cc27ac188" /> ## 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:
Binary file not shown.
|
After Width: | Height: | Size: 283 KiB |
@@ -0,0 +1,50 @@
|
||||
{
|
||||
"name": "Lemnos",
|
||||
"nations": [
|
||||
{
|
||||
"coordinates": [550, 317],
|
||||
"name": "Gomati",
|
||||
"flag": ""
|
||||
},
|
||||
{
|
||||
"coordinates": [1371, 254],
|
||||
"name": "Zematas",
|
||||
"flag": ""
|
||||
},
|
||||
{
|
||||
"coordinates": [1096, 605],
|
||||
"name": "Kotsinas",
|
||||
"flag": ""
|
||||
},
|
||||
{
|
||||
"coordinates": [518, 894],
|
||||
"name": "Evgatis",
|
||||
"flag": ""
|
||||
},
|
||||
{
|
||||
"coordinates": [250, 879],
|
||||
"name": "Kavala",
|
||||
"flag": ""
|
||||
},
|
||||
{
|
||||
"coordinates": [814, 460],
|
||||
"name": "Atsiki",
|
||||
"flag": ""
|
||||
},
|
||||
{
|
||||
"coordinates": [474, 542],
|
||||
"name": "Sardes",
|
||||
"flag": ""
|
||||
},
|
||||
{
|
||||
"coordinates": [691, 755],
|
||||
"name": "Portianou",
|
||||
"flag": ""
|
||||
},
|
||||
{
|
||||
"coordinates": [1074, 913],
|
||||
"name": "Pyrgos",
|
||||
"flag": ""
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -59,6 +59,7 @@ var maps = []struct {
|
||||
{Name: "straitofgibraltar"},
|
||||
{Name: "svalmel"},
|
||||
{Name: "world"},
|
||||
{Name: "lemnos"},
|
||||
{Name: "big_plains", IsTest: true},
|
||||
{Name: "half_land_half_ocean", IsTest: true},
|
||||
{Name: "ocean_and_land", IsTest: true},
|
||||
|
||||
@@ -243,7 +243,8 @@
|
||||
"gulfofstlawrence": "Gulf of St. Lawrence",
|
||||
"lisbon": "Lisbon",
|
||||
"svalmel": "Svalmel",
|
||||
"manicouagan": "Manicouagan"
|
||||
"manicouagan": "Manicouagan",
|
||||
"lemnos": "Lemnos"
|
||||
},
|
||||
"map_categories": {
|
||||
"continental": "Continental",
|
||||
|
||||
@@ -0,0 +1,65 @@
|
||||
{
|
||||
"map": {
|
||||
"height": 1420,
|
||||
"num_land_tiles": 874650,
|
||||
"width": 1750
|
||||
},
|
||||
"map16x": {
|
||||
"height": 355,
|
||||
"num_land_tiles": 53106,
|
||||
"width": 437
|
||||
},
|
||||
"map4x": {
|
||||
"height": 710,
|
||||
"num_land_tiles": 216592,
|
||||
"width": 875
|
||||
},
|
||||
"name": "lemnos",
|
||||
"nations": [
|
||||
{
|
||||
"coordinates": [550, 317],
|
||||
"flag": "",
|
||||
"name": "Gomati"
|
||||
},
|
||||
{
|
||||
"coordinates": [1371, 254],
|
||||
"flag": "",
|
||||
"name": "Zematas"
|
||||
},
|
||||
{
|
||||
"coordinates": [1096, 605],
|
||||
"flag": "",
|
||||
"name": "Kotsinas"
|
||||
},
|
||||
{
|
||||
"coordinates": [518, 894],
|
||||
"flag": "",
|
||||
"name": "Evgatis"
|
||||
},
|
||||
{
|
||||
"coordinates": [250, 879],
|
||||
"flag": "",
|
||||
"name": "Kavala"
|
||||
},
|
||||
{
|
||||
"coordinates": [814, 460],
|
||||
"flag": "",
|
||||
"name": "Atsiki"
|
||||
},
|
||||
{
|
||||
"coordinates": [474, 542],
|
||||
"flag": "",
|
||||
"name": "Sardes"
|
||||
},
|
||||
{
|
||||
"coordinates": [691, 755],
|
||||
"flag": "",
|
||||
"name": "Portianou"
|
||||
},
|
||||
{
|
||||
"coordinates": [1177, 975],
|
||||
"flag": "",
|
||||
"name": "Pyrgos"
|
||||
}
|
||||
]
|
||||
}
|
||||
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: 11 KiB |
@@ -43,6 +43,7 @@ export const MapDescription: Record<keyof typeof GameMapType, string> = {
|
||||
GulfOfStLawrence: "Gulf of St. Lawrence",
|
||||
Lisbon: "Lisbon",
|
||||
Manicouagan: "Manicouagan",
|
||||
Lemnos: "Lemnos",
|
||||
};
|
||||
|
||||
@customElement("map-display")
|
||||
|
||||
@@ -83,6 +83,7 @@ const numPlayersConfig = {
|
||||
[GameMapType.StraitOfGibraltar]: [100, 70, 50],
|
||||
[GameMapType.Svalmel]: [40, 36, 30],
|
||||
[GameMapType.World]: [50, 30, 20],
|
||||
[GameMapType.Lemnos]: [20, 15, 10],
|
||||
} as const satisfies Record<GameMapType, [number, number, number]>;
|
||||
|
||||
export abstract class DefaultServerConfig implements ServerConfig {
|
||||
|
||||
@@ -106,6 +106,7 @@ export enum GameMapType {
|
||||
GulfOfStLawrence = "Gulf of St. Lawrence",
|
||||
Lisbon = "Lisbon",
|
||||
Manicouagan = "Manicouagan",
|
||||
Lemnos = "Lemnos",
|
||||
}
|
||||
|
||||
export type GameMapName = keyof typeof GameMapType;
|
||||
@@ -143,6 +144,7 @@ export const mapCategories: Record<string, GameMapType[]> = {
|
||||
GameMapType.Lisbon,
|
||||
GameMapType.NewYorkCity,
|
||||
GameMapType.Manicouagan,
|
||||
GameMapType.Lemnos,
|
||||
],
|
||||
fantasy: [
|
||||
GameMapType.Pangaea,
|
||||
|
||||
@@ -56,6 +56,7 @@ const frequency: Partial<Record<GameMapName, number>> = {
|
||||
StraitOfGibraltar: 5,
|
||||
Svalmel: 8,
|
||||
World: 8,
|
||||
Lemnos: 3,
|
||||
};
|
||||
|
||||
interface MapWithMode {
|
||||
|
||||
Reference in New Issue
Block a user