Skip to content

Added korea map#3976

Closed
crunchybbb2-hash wants to merge 4 commits into
openfrontio:mainfrom
crunchybbb2-hash:korea
Closed

Added korea map#3976
crunchybbb2-hash wants to merge 4 commits into
openfrontio:mainfrom
crunchybbb2-hash:korea

Conversation

@crunchybbb2-hash
Copy link
Copy Markdown

@crunchybbb2-hash crunchybbb2-hash commented May 20, 2026

Description:

Map of the Korean Peninsula. Size: 1092x2219. Includes small parts of china, russia and japan.
Nations: 34
Based on provinces

Please complete the following:

  • I have added screenshots for all UI updates
  • I process any text displayed to the user through translateText() and I've added it to the en.json file
  • I have added relevant tests to the test directory
  • 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:

crunchybbbbb @crunchybbbbb_59649

KOREA (1) (3) (1) Northern River Fixed

@coderabbitai
Copy link
Copy Markdown
Contributor

coderabbitai Bot commented May 20, 2026

Review Change Stack

Caution

Review failed

Failed to post review comments

Walkthrough

Adds a new Korea regional map (data + manifest), registers it in the generator and game enums, sets playlist frequency, adds translation, and reforms many map manifest files to use multi-line coordinate arrays (formatting-only).

Changes

Korea Map Addition and Integration

Layer / File(s) Summary
Korea map info and manifest
map-generator/assets/maps/korea/info.json, resources/maps/korea/manifest.json
Adds Korea map metadata, scaled map blocks, mapInfoState, and a nations list with coordinates, flag, name, and strength for each region.
Generator, game enum, playlist, translation
map-generator/main.go, src/core/game/Game.ts, src/server/MapPlaylist.ts, resources/lang/en.json
Registers korea in the map generator, adds GameMapType.Korea and includes it in regional categories, sets playlist frequency weight (5), and adds map.korea translation.

JSON Manifest Formatting Standardization

Layer / File(s) Summary
Map manifest coordinate reformat
resources/maps/*/manifest.json, tests/testdata/maps/*/manifest.json
Reformats many map and test manifest files by expanding inline coordinate arrays [x, y] into multi-line arrays with identical numeric values; no data changes.

Sequence Diagram

sequenceDiagram
  participant GameType as src/core/game/Game.ts
  participant Playlist as src/server/MapPlaylist.ts
  participant Generator as map-generator/main.go
  participant Resources as resources/lang/en.json
  GameType->>Playlist: expose GameMapName.Korea
  Playlist->>Generator: include korea weight in selection
  Generator->>Resources: uses map name `korea` for generation/labels
Loading

Estimated code review effort

🎯 3 (Moderate) | ⏱️ ~25 minutes

Possibly related PRs

Suggested reviewers

  • evanpelle
  • FloPinguin

"A Korea map with flags and lines,
coordinates tidy, JSON shines,
Registered, counted, ready to play—
new regions join the fray! 🎮🗺️"

🚥 Pre-merge checks | ✅ 5
✅ Passed checks (5 passed)
Check name Status Explanation
Title check ✅ Passed The title 'Added korea map' directly and clearly describes the main change in the pull request, which is the addition of a new Korea map to the system.
Description check ✅ Passed The description is directly related to the changeset, providing map details (size, regions included, nation count, basis), completing all required checklist items, and including visual evidence of the changes.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.
Linked Issues check ✅ Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check ✅ Passed Check skipped because no linked issues were found for this pull request.

✏️ Tip: You can configure your own custom pre-merge checks in the settings.

Warning

There were issues while running some tools. Please review the errors and either fix the tool's configuration or disable the tool if it's a critical failure.

🔧 golangci-lint (2.12.2)

level=error msg="[linters_context] typechecking error: pattern ./...: directory prefix . does not contain main module or its selected dependencies"


Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands and usage tips.

Copy link
Copy Markdown
Contributor

@coderabbitai coderabbitai Bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 3

🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

Inline comments:
In `@map-generator/assets/maps/korea/info.json`:
- Around line 1-225: The PR added a new map metadata object named
"KOREAN_PENINSUALA" (map-generator/assets/maps/korea/info.json) but did not
update CREDITS.md; add a new entry in CREDITS.md that includes the map name
("KOREAN_PENINSUALA"), the data/elevation source(s) and their license(s), and a
short attribution line (source URL and license identifier), and place it under
the maps or data-sources section following the existing formatting conventions
used for other maps.
- Line 2: The map identifier value "KOREAN_PENINSUALA" in the info.json needs to
be corrected to "KOREAN_PENINSULA"; update the "name" field in
map-generator/assets/maps/korea/info.json and also update the corresponding
identifier in resources/maps/korea/manifest.json so both files use the exact
same corrected symbol ("KOREAN_PENINSULA") to keep manifests aligned.

In `@src/core/game/Game.ts`:
- Line 176: The change added a new enum member GameMapType.Korea but tests were
not updated; add unit tests that assert the enum includes "Korea" (e.g.,
reference GameMapType.Korea) and that the game map categorization logic includes
Korea in the regional category (test the function or mapping that produces the
"regional" category contains GameMapType.Korea), updating or adding tests around
the regional category behavior used in Game (and any helper like
mapCategory/regionMapping) so CI verifies both enum availability and inclusion
in the regional category.
🪄 Autofix (Beta)

Fix all unresolved CodeRabbit comments on this PR:

  • Push a commit to this branch (recommended)
  • Create a new PR with the fixes

ℹ️ Review info
⚙️ Run configuration

Configuration used: Organization UI

Review profile: CHILL

Plan: Pro

Run ID: a9ecca34-7409-4181-b547-fd9e932e98f0

📥 Commits

Reviewing files that changed from the base of the PR and between 513057a and ee12a8f.

⛔ Files ignored due to path filters (4)
  • map-generator/assets/maps/korea/image.png is excluded by !**/*.png
  • resources/maps/korea/map.bin is excluded by !**/*.bin
  • resources/maps/korea/map16x.bin is excluded by !**/*.bin
  • resources/maps/korea/map4x.bin is excluded by !**/*.bin
📒 Files selected for processing (92)
  • map-generator/assets/maps/korea/info.json
  • map-generator/main.go
  • resources/lang/en.json
  • resources/maps/achiran/manifest.json
  • resources/maps/aegean/manifest.json
  • resources/maps/africa/manifest.json
  • resources/maps/alps/manifest.json
  • resources/maps/amazonriver/manifest.json
  • resources/maps/antarctica/manifest.json
  • resources/maps/archipelagosea/manifest.json
  • resources/maps/arctic/manifest.json
  • resources/maps/asia/manifest.json
  • resources/maps/australia/manifest.json
  • resources/maps/baikal/manifest.json
  • resources/maps/baikalnukewars/manifest.json
  • resources/maps/bajacalifornia/manifest.json
  • resources/maps/beringsea/manifest.json
  • resources/maps/beringstrait/manifest.json
  • resources/maps/betweentwoseas/manifest.json
  • resources/maps/blacksea/manifest.json
  • resources/maps/bosphorusstraits/manifest.json
  • resources/maps/britannia/manifest.json
  • resources/maps/britanniaclassic/manifest.json
  • resources/maps/caucasus/manifest.json
  • resources/maps/conakry/manifest.json
  • resources/maps/danishstraits/manifest.json
  • resources/maps/deglaciatedantarctica/manifest.json
  • resources/maps/didier/manifest.json
  • resources/maps/didierfrance/manifest.json
  • resources/maps/dyslexdria/manifest.json
  • resources/maps/eastasia/manifest.json
  • resources/maps/europe/manifest.json
  • resources/maps/europeclassic/manifest.json
  • resources/maps/falklandislands/manifest.json
  • resources/maps/faroeislands/manifest.json
  • resources/maps/fourislands/manifest.json
  • resources/maps/gatewaytotheatlantic/manifest.json
  • resources/maps/giantworldmap/manifest.json
  • resources/maps/greatlakes/manifest.json
  • resources/maps/gulfofstlawrence/manifest.json
  • resources/maps/halkidiki/manifest.json
  • resources/maps/hawaii/manifest.json
  • resources/maps/iceland/manifest.json
  • resources/maps/italia/manifest.json
  • resources/maps/japan/manifest.json
  • resources/maps/korea/manifest.json
  • resources/maps/korea/thumbnail.webp
  • resources/maps/lemnos/manifest.json
  • resources/maps/lisbon/manifest.json
  • resources/maps/losangeles/manifest.json
  • resources/maps/luna/manifest.json
  • resources/maps/manicouagan/manifest.json
  • resources/maps/marenostrum/manifest.json
  • resources/maps/mars/manifest.json
  • resources/maps/mena/manifest.json
  • resources/maps/middleeast/manifest.json
  • resources/maps/milkyway/manifest.json
  • resources/maps/montreal/manifest.json
  • resources/maps/newyorkcity/manifest.json
  • resources/maps/niledelta/manifest.json
  • resources/maps/northamerica/manifest.json
  • resources/maps/northwestpassage/manifest.json
  • resources/maps/oceania/manifest.json
  • resources/maps/pangaea/manifest.json
  • resources/maps/passage/manifest.json
  • resources/maps/pluto/manifest.json
  • resources/maps/sanfrancisco/manifest.json
  • resources/maps/sierpinski/manifest.json
  • resources/maps/southamerica/manifest.json
  • resources/maps/straitofgibraltar/manifest.json
  • resources/maps/straitofhormuz/manifest.json
  • resources/maps/straitofmalacca/manifest.json
  • resources/maps/surrounded/manifest.json
  • resources/maps/svalmel/manifest.json
  • resources/maps/taiwanstrait/manifest.json
  • resources/maps/thebox/manifest.json
  • resources/maps/tourney1/manifest.json
  • resources/maps/tourney2/manifest.json
  • resources/maps/tourney3/manifest.json
  • resources/maps/tourney4/manifest.json
  • resources/maps/tradersdream/manifest.json
  • resources/maps/twolakes/manifest.json
  • resources/maps/world/manifest.json
  • resources/maps/yenisei/manifest.json
  • src/core/game/Game.ts
  • src/server/MapPlaylist.ts
  • tests/testdata/maps/big_plains/manifest.json
  • tests/testdata/maps/giantworldmap/manifest.json
  • tests/testdata/maps/half_land_half_ocean/manifest.json
  • tests/testdata/maps/ocean_and_land/manifest.json
  • tests/testdata/maps/plains/manifest.json
  • tests/testdata/maps/world/manifest.json

Comment thread map-generator/assets/maps/korea/info.json
Comment thread map-generator/assets/maps/korea/info.json Outdated
Comment thread src/core/game/Game.ts Outdated
TaiwanStrait = "Taiwan Strait",
DanishStraits = "Danish Straits",
NorthwestPassage = "Northwest Passage",
Korea = "Korea"
Copy link
Copy Markdown
Contributor

@coderabbitai coderabbitai Bot May 20, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

⚠️ Potential issue | 🟠 Major | ⚡ Quick win

Add tests for the new GameMapType.Korea core wiring.

This updates src/core/ map typing/category behavior, but no related test updates are included in the provided changes. Please add tests that cover enum availability and regional category inclusion.

As per coding guidelines: “All changes to src/core/ must include tests”.

Also applies to: 242-243

🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@src/core/game/Game.ts` at line 176, The change added a new enum member
GameMapType.Korea but tests were not updated; add unit tests that assert the
enum includes "Korea" (e.g., reference GameMapType.Korea) and that the game map
categorization logic includes Korea in the regional category (test the function
or mapping that produces the "regional" category contains GameMapType.Korea),
updating or adding tests around the regional category behavior used in Game (and
any helper like mapCategory/regionMapping) so CI verifies both enum availability
and inclusion in the regional category.

Copy link
Copy Markdown
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Dismiss and resolve. Specific maps do not need a test. No map is specifically denoted in a test @crunchybbbbb

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Seems like the humans are having a chat. I'll hop back into my burrow for now. If you need me again, just tag @coderabbitai in a new comment, and I'll come hopping out!

@github-project-automation github-project-automation Bot moved this from Triage to Development in OpenFront Release Management May 20, 2026
@github-project-automation github-project-automation Bot moved this from Development to Complete in OpenFront Release Management May 20, 2026
@crunchybbb2-hash crunchybbb2-hash deleted the korea branch May 20, 2026 04:54
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

Status: Complete

Development

Successfully merging this pull request may close these issues.

1 participant