add map: dungeon#4161
Conversation
WalkthroughThis PR introduces a new playable map named "Dungeon" to the game by registering it as a fantasy map type, defining its asset data, configuring its playlist frequency, and providing localized names in 33 languages. ChangesDungeon Map Integration
Estimated code review effort🎯 2 (Simple) | ⏱️ ~10 minutes Possibly related PRs
Suggested reviewers
Poem
🚥 Pre-merge checks | ✅ 5✅ Passed checks (5 passed)
✏️ 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. Comment |
|
Hi @af-inet, thanks for the contribution. This PR was automatically closed because it doesn't fit our contribution workflow:
To contribute to OpenFront:
If you believe this was closed in error, please reach out on our Discord or comment below. See CONTRIBUTING.md for the full contribution process. — Automated PR gate. Source. |
There was a problem hiding this comment.
Actionable comments posted: 10
Caution
Some comments are outside the diff and can’t be posted inline due to platform limitations.
⚠️ Outside diff range comments (1)
map-generator/assets/maps/dungeon/info.json (1)
1-62:⚠️ Potential issue | 🔴 Critical | ⚡ Quick winFix Prettier formatting issue to pass CI.
The pipeline reports formatting issues in this file. Run
npx prettier --write map-generator/assets/maps/dungeon/info.jsonto fix.🤖 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 `@map-generator/assets/maps/dungeon/info.json` around lines 1 - 62, The JSON file containing the top-level keys "name": "Dungeon" and "nations" is failing Prettier formatting; fix it by running Prettier (e.g., npx prettier --write) on that info.json and commit the formatted file so the "name"/"nations" JSON structure is properly indented and passes CI.
🤖 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 `@resources/lang/ar.json`:
- Around line 131-132: Remove the non-English locale change that added the
"baikal" and "dungeon" keys to the Arabic translations (the edit in ar.json);
revert that file to its previous state and ensure only the corresponding key
addition is present in resources/lang/en.json so translations remain managed
through the Crowdin workflow.
In `@resources/lang/fr.json`:
- Around line 372-373: The FR locale was modified in this PR but project policy
forbids changing non-English files in regular feature PRs; revert the changes to
the keys "bajacalifornia" and "dungeon" in resources/lang/fr.json (undo the
added/changed entries) so the file matches the branch baseline, and instead make
any required string updates in resources/lang/en.json only or submit a dedicated
translation PR titled "mls" by Aotumori / let Crowdin update translations.
In `@resources/lang/ko.json`:
- Around line 332-333: Revert the edits to the non-English locale file by
removing the added keys "hawaii" and "dungeon" from resources/lang/ko.json (or
restore the file to its previous state) and instead add or update those keys
only in resources/lang/en.json; ensure the PR contains changes to en.json only
and leave other locale files untouched so translation sync/Crowdin can propagate
them later.
In `@resources/lang/mk.json`:
- Around line 181-182: Revert the changes to the Macedonian locale by removing
the added/modified keys ("pluto" and "dungeon") from resources/lang/mk.json so
non-English files remain untouched in this PR; if these labels need to be
changed, apply them only to resources/lang/en.json (update the English source
keys) and leave the mk.json translation updates to the translation sync process
or a dedicated translation PR.
In `@resources/lang/nl.json`:
- Around line 289-290: This PR modified non-English locale entries
("amazonriver" and "dungeon") in resources/lang/nl.json which is not allowed
here; revert any changes to resources/lang/nl.json so it matches the upstream
translation state, ensure the new/updated map keys are only added to
resources/lang/en.json (e.g., the "map.dungeon"/"amazonriver" entries) in this
feature PR, and if translated Dutch strings are required open a dedicated
translation PR to update nl.json.
In `@resources/lang/pl.json`:
- Around line 200-201: Revert the direct edits to resources/lang/pl.json for the
keys "baikalnukewars" and "dungeon" (undo the changes that added "Bajkał (Wojny
Atomowe)" and "Loch") and instead add or update the English source in
resources/lang/en.json if needed, then submit the Polish translations through
the translation pipeline (Crowdin) per the translation workflow rather than
committing changes directly to resources/lang/pl.json.
In `@resources/lang/pt-BR.json`:
- Around line 115-116: Revert the manual edits to the non-English locale keys
"knownworld" and "dungeon" in resources/lang/pt-BR.json and restore the previous
file state; instead make the canonical text change in resources/lang/en.json (or
the source-of-truth used by the translation workflow) so the translation
pipeline can propagate updates, or file the appropriate translation task/PR in
the translation system referencing the "knownworld" and "dungeon" keys so pt-BR
gets updated via the official workflow.
In `@resources/lang/pt-PT.json`:
- Around line 169-170: Revert the direct edits to resources/lang/pt-PT.json
(remove the added/changed keys "pluto" and "dungeon") and do not commit
translation changes outside of Crowdin; instead add or update the source strings
in resources/lang/en.json (using the same keys "pluto" and "dungeon" if new) and
submit translation updates through the Crowdin/translation sync pipeline so
pt-PT is updated by the localization workflow.
In `@resources/lang/ru.json`:
- Around line 372-373: Revert the direct edits to the Russian locale file by
removing the changes to the keys "bajacalifornia" and "dungeon" in
resources/lang/ru.json (restore the prior file state) and instead submit these
translation updates via the project's translation workflow (Crowdin) or a
dedicated translation PR; keep only changes to resources/lang/en.json in this
feature branch.
In `@resources/lang/sh.json`:
- Around line 124-125: The PR edits non-English locale keys "europeclassic" and
"dungeon" in resources/lang/sh.json which violates the translation workflow;
revert those changes in sh.json and instead apply any copy/text updates to
resources/lang/en.json (or create a dedicated translation PR) so that only
English is updated in this feature PR and sh.json is left for the translation
pipeline to handle.
---
Outside diff comments:
In `@map-generator/assets/maps/dungeon/info.json`:
- Around line 1-62: The JSON file containing the top-level keys "name":
"Dungeon" and "nations" is failing Prettier formatting; fix it by running
Prettier (e.g., npx prettier --write) on that info.json and commit the formatted
file so the "name"/"nations" JSON structure is properly indented and passes CI.
🪄 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: 9188033b-3484-45e8-b9ad-80bf3825c8fd
⛔ Files ignored due to path filters (4)
map-generator/assets/maps/dungeon/image.pngis excluded by!**/*.pngresources/maps/dungeon/map.binis excluded by!**/*.binresources/maps/dungeon/map16x.binis excluded by!**/*.binresources/maps/dungeon/map4x.binis excluded by!**/*.bin
📒 Files selected for processing (49)
map-generator/assets/maps/dungeon/info.jsonmap-generator/main.goresources/lang/ar.jsonresources/lang/bg.jsonresources/lang/bn.jsonresources/lang/ca.jsonresources/lang/cs.jsonresources/lang/da.jsonresources/lang/de-CH.jsonresources/lang/de.jsonresources/lang/el.jsonresources/lang/en.jsonresources/lang/eo.jsonresources/lang/es.jsonresources/lang/et.jsonresources/lang/fa.jsonresources/lang/fi.jsonresources/lang/fr.jsonresources/lang/gl.jsonresources/lang/he.jsonresources/lang/hi.jsonresources/lang/hu.jsonresources/lang/id.jsonresources/lang/it.jsonresources/lang/ja.jsonresources/lang/ko.jsonresources/lang/mk.jsonresources/lang/nl.jsonresources/lang/pl.jsonresources/lang/pt-BR.jsonresources/lang/pt-PT.jsonresources/lang/ru.jsonresources/lang/sh.jsonresources/lang/sk.jsonresources/lang/sl.jsonresources/lang/sv-SE.jsonresources/lang/tp.jsonresources/lang/tr.jsonresources/lang/uk.jsonresources/lang/zh-CN.jsonresources/maps/dungeon/manifest.jsonresources/maps/dungeon/manifest.json:Zone.Identifierresources/maps/dungeon/map.bin:Zone.Identifierresources/maps/dungeon/map16x.bin:Zone.Identifierresources/maps/dungeon/map4x.bin:Zone.Identifierresources/maps/dungeon/thumbnail.webpresources/maps/dungeon/thumbnail.webp:Zone.Identifiersrc/core/game/Game.tssrc/server/MapPlaylist.ts
| "baikal": "بايكال", | ||
| "dungeon": "زنزانة" |
There was a problem hiding this comment.
Please avoid editing non-English locale files in this PR.
Line 132 adds a new key in resources/lang/ar.json, but this repo’s translation workflow expects regular feature PRs to update only resources/lang/en.json; non-English locales are maintained via Crowdin/translation PR flow. Please drop non-en locale edits from this PR and keep only the en.json key addition.
Based on learnings: “Do not modify translation files other than resources/lang/en.json (translations are managed via Crowdin)” and “translation files in resources/lang/*.json (except en.json) should not be updated in regular PRs.”
🤖 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 `@resources/lang/ar.json` around lines 131 - 132, Remove the non-English locale
change that added the "baikal" and "dungeon" keys to the Arabic translations
(the edit in ar.json); revert that file to its previous state and ensure only
the corresponding key addition is present in resources/lang/en.json so
translations remain managed through the Crowdin workflow.
| "bajacalifornia": "Basse-Californie", | ||
| "dungeon": "Donjon" |
There was a problem hiding this comment.
Do not update non-English locale files in regular feature PRs
Line 372 and Line 373 add French locale changes, but project practice is to update only resources/lang/en.json in regular PRs and let Crowdin handle other locales.
Based on learnings: “translation files in resources/lang/*.json (except en.json) should not be updated in regular PRs. Only dedicated translation PRs titled "mls" and made by Aotumori should update non-English locale files.”
🤖 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 `@resources/lang/fr.json` around lines 372 - 373, The FR locale was modified in
this PR but project policy forbids changing non-English files in regular feature
PRs; revert the changes to the keys "bajacalifornia" and "dungeon" in
resources/lang/fr.json (undo the added/changed entries) so the file matches the
branch baseline, and instead make any required string updates in
resources/lang/en.json only or submit a dedicated translation PR titled "mls" by
Aotumori / let Crowdin update translations.
| "hawaii": "하와이", | ||
| "dungeon": "던전" |
There was a problem hiding this comment.
Please avoid direct edits to non-English locale files in feature PRs.
Line 332 and Line 333 update resources/lang/ko.json, but this repo’s localization flow expects only resources/lang/en.json changes in regular PRs, with other locales handled by translation sync/Crowdin.
Based on learnings: “Do not modify translation files other than resources/lang/en.json (translations are managed via Crowdin).”
🤖 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 `@resources/lang/ko.json` around lines 332 - 333, Revert the edits to the
non-English locale file by removing the added keys "hawaii" and "dungeon" from
resources/lang/ko.json (or restore the file to its previous state) and instead
add or update those keys only in resources/lang/en.json; ensure the PR contains
changes to en.json only and leave other locale files untouched so translation
sync/Crowdin can propagate them later.
| "pluto": "Плутон", | ||
| "dungeon": "Подземје" |
There was a problem hiding this comment.
Keep non-English locale updates out of regular feature PRs.
Line 181 and Line 182 modify resources/lang/mk.json; per project workflow, only resources/lang/en.json should be edited here, and non-English locales should be updated via translation sync.
Based on learnings: “In OpenFrontIO, translation files in resources/lang/*.json (except en.json) should not be updated in regular PRs.”
🤖 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 `@resources/lang/mk.json` around lines 181 - 182, Revert the changes to the
Macedonian locale by removing the added/modified keys ("pluto" and "dungeon")
from resources/lang/mk.json so non-English files remain untouched in this PR; if
these labels need to be changed, apply them only to resources/lang/en.json
(update the English source keys) and leave the mk.json translation updates to
the translation sync process or a dedicated translation PR.
| "amazonriver": "Amazonerivier", | ||
| "dungeon": "Kerker" |
There was a problem hiding this comment.
map.dungeon key is correct, but this file should not be edited in this PR type.
Line 289 and Line 290 follow the expected key format, but updating resources/lang/nl.json in a regular feature PR conflicts with the repo’s translation process.
Based on learnings: “Only dedicated translation PRs should update non-English locale files; regular PRs should only update en.json.”
🤖 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 `@resources/lang/nl.json` around lines 289 - 290, This PR modified non-English
locale entries ("amazonriver" and "dungeon") in resources/lang/nl.json which is
not allowed here; revert any changes to resources/lang/nl.json so it matches the
upstream translation state, ensure the new/updated map keys are only added to
resources/lang/en.json (e.g., the "map.dungeon"/"amazonriver" entries) in this
feature PR, and if translated Dutch strings are required open a dedicated
translation PR to update nl.json.
| "baikalnukewars": "Bajkał (Wojny Atomowe)", | ||
| "dungeon": "Loch" |
There was a problem hiding this comment.
Move this locale change to the translation pipeline PR flow.
Line 200 and Line 201 edit resources/lang/pl.json; this should be handled through the translation workflow, not directly in a normal feature PR.
Based on learnings: “Do not modify translation files other than resources/lang/en.json (translations are managed via Crowdin).”
🤖 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 `@resources/lang/pl.json` around lines 200 - 201, Revert the direct edits to
resources/lang/pl.json for the keys "baikalnukewars" and "dungeon" (undo the
changes that added "Bajkał (Wojny Atomowe)" and "Loch") and instead add or
update the English source in resources/lang/en.json if needed, then submit the
Polish translations through the translation pipeline (Crowdin) per the
translation workflow rather than committing changes directly to
resources/lang/pl.json.
| "knownworld": "Mundo Conhecido", | ||
| "dungeon": "Masmorra" |
There was a problem hiding this comment.
Avoid direct pt-BR locale edits in this feature PR.
Line 115 and Line 116 change resources/lang/pt-BR.json, but non-English locale content should be synced via the translation workflow instead of being manually updated here.
Based on learnings: “In OpenFrontIO, translation files in resources/lang/*.json (except en.json) should not be updated in regular PRs.”
🤖 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 `@resources/lang/pt-BR.json` around lines 115 - 116, Revert the manual edits to
the non-English locale keys "knownworld" and "dungeon" in
resources/lang/pt-BR.json and restore the previous file state; instead make the
canonical text change in resources/lang/en.json (or the source-of-truth used by
the translation workflow) so the translation pipeline can propagate updates, or
file the appropriate translation task/PR in the translation system referencing
the "knownworld" and "dungeon" keys so pt-BR gets updated via the official
workflow.
| "pluto": "Plutão", | ||
| "dungeon": "Masmorra" |
There was a problem hiding this comment.
Please route pt-PT translation updates through Crowdin/translation sync.
Line 169 and Line 170 modify resources/lang/pt-PT.json, which conflicts with the repository rule for regular PRs (only en.json should be updated directly).
Based on learnings: “Do not modify translation files other than resources/lang/en.json (translations are managed via Crowdin).”
🤖 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 `@resources/lang/pt-PT.json` around lines 169 - 170, Revert the direct edits to
resources/lang/pt-PT.json (remove the added/changed keys "pluto" and "dungeon")
and do not commit translation changes outside of Crowdin; instead add or update
the source strings in resources/lang/en.json (using the same keys "pluto" and
"dungeon" if new) and submit translation updates through the Crowdin/translation
sync pipeline so pt-PT is updated by the localization workflow.
| "bajacalifornia": "Нижняя Калифорния", | ||
| "dungeon": "Подземелье" |
There was a problem hiding this comment.
This RU locale edit should be moved out of the feature PR.
Line 372 and Line 373 update resources/lang/ru.json; this repo expects non-English locale changes to come from the translation management flow, not direct edits in regular PRs.
Based on learnings: “Do not modify translation files other than resources/lang/en.json (translations are managed via Crowdin).”
🤖 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 `@resources/lang/ru.json` around lines 372 - 373, Revert the direct edits to
the Russian locale file by removing the changes to the keys "bajacalifornia" and
"dungeon" in resources/lang/ru.json (restore the prior file state) and instead
submit these translation updates via the project's translation workflow
(Crowdin) or a dedicated translation PR; keep only changes to
resources/lang/en.json in this feature branch.
| "europeclassic": "Evropa (klasika)", | ||
| "dungeon": "Tamnica" |
There was a problem hiding this comment.
Do not directly modify sh translations in a normal map-feature PR.
Line 124 and Line 125 edit resources/lang/sh.json; this should be handled via the project’s translation pipeline, with only en.json changed directly in regular development PRs.
Based on learnings: “Only dedicated translation PRs should update non-English locale files; regular PRs should only update en.json.”
🤖 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 `@resources/lang/sh.json` around lines 124 - 125, The PR edits non-English
locale keys "europeclassic" and "dungeon" in resources/lang/sh.json which
violates the translation workflow; revert those changes in sh.json and instead
apply any copy/text updates to resources/lang/en.json (or create a dedicated
translation PR) so that only English is updated in this feature PR and sh.json
is left for the translation pipeline to handle.
Description:
Adds new map "Dungeon".
Please complete the following:
Please put your Discord username so you can be contacted if a bug or regression is found:
agrippa.lich