From 9d4080fbe8b42c9796ec5772f0c2f1cdf00d268e Mon Sep 17 00:00:00 2001 From: TKTK123456 <103334266+TKTK123456@users.noreply.github.com> Date: Fri, 29 May 2026 18:58:02 -0400 Subject: [PATCH] Adds onion map (#4057) If this PR fixes an issue, link it below. If not, delete these two lines. Resolves #4055 ## Description: Adds a 512*512 onion map with 3 nations (Leafer Confederation, Outer Enclave and Inner Tribe) thumbnail ## 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: tktk1234567 --- map-generator/assets/maps/onion/image.png | Bin 0 -> 30646 bytes map-generator/assets/maps/onion/info.json | 20 +++++++++++++ map-generator/main.go | 1 + resources/lang/en.json | 1 + resources/maps/onion/manifest.json | 35 ++++++++++++++++++++++ resources/maps/onion/map.bin | 1 + resources/maps/onion/map16x.bin | 1 + resources/maps/onion/map4x.bin | 1 + resources/maps/onion/thumbnail.webp | Bin 0 -> 1928 bytes src/core/game/Game.ts | 2 ++ src/server/MapPlaylist.ts | 1 + 11 files changed, 63 insertions(+) create mode 100644 map-generator/assets/maps/onion/image.png create mode 100644 map-generator/assets/maps/onion/info.json create mode 100644 resources/maps/onion/manifest.json create mode 100644 resources/maps/onion/map.bin create mode 100644 resources/maps/onion/map16x.bin create mode 100644 resources/maps/onion/map4x.bin create mode 100644 resources/maps/onion/thumbnail.webp diff --git a/map-generator/assets/maps/onion/image.png b/map-generator/assets/maps/onion/image.png new file mode 100644 index 0000000000000000000000000000000000000000..2f77788a88c3c4ca06af4cfd0b2f29501db1577e GIT binary patch literal 30646 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 Oh#1Llc)`d3000182dVY| literal 0 HcmV?d00001 diff --git a/src/core/game/Game.ts b/src/core/game/Game.ts index dfae88bc4..6f1b90b76 100644 --- a/src/core/game/Game.ts +++ b/src/core/game/Game.ts @@ -179,6 +179,7 @@ export enum GameMapType { Balkans = "Balkans", YellowSea = "Yellow Sea", Labyrinth = "Labyrinth", + Onion = "Onion", } export type GameMapName = keyof typeof GameMapType; @@ -272,6 +273,7 @@ export const mapCategories: Record = { GameMapType.DidierFrance, GameMapType.Labyrinth, GameMapType.Sierpinski, + GameMapType.Onion, ], tournament: [ GameMapType.Tourney1, diff --git a/src/server/MapPlaylist.ts b/src/server/MapPlaylist.ts index 098ab5b2d..858d44939 100644 --- a/src/server/MapPlaylist.ts +++ b/src/server/MapPlaylist.ts @@ -107,6 +107,7 @@ const FREQUENCY: Partial> = { YellowSea: 5, Yenisei: 6, Labyrinth: 6, + Onion: 2, }; const TEAM_WEIGHTS: { config: TeamCountConfig; weight: number }[] = [