Skip to content

add the flag of Occitania#3179

Merged
evanpelle merged 5 commits intoopenfrontio:mainfrom
SwayLE3:OccitanianFlag
Feb 13, 2026
Merged

add the flag of Occitania#3179
evanpelle merged 5 commits intoopenfrontio:mainfrom
SwayLE3:OccitanianFlag

Conversation

@SwayLE3
Copy link
Contributor

@SwayLE3 SwayLE3 commented Feb 11, 2026

If this PR fixes an issue, link it below. If not, delete these two lines.
Resolves #(issue number)

Description:

Add a flag : Occitania flag
image

added the Occitania flag via the svg (same as the flags already in-game) and added it to countries.json

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:

young_la_flame

@CLAassistant
Copy link

CLAassistant commented Feb 11, 2026

CLA assistant check
Thank you for your submission! We really appreciate it. Like many open source projects, we ask that you all sign our Contributor License Agreement before we can accept your contribution.
1 out of 2 committers have signed the CLA.

✅ SwayLE3
❌ Jules


Jules seems not to be a GitHub user. You need a GitHub account to be able to sign the CLA. If you have already a GitHub account, please add the email address used for this commit to your account.
You have signed the CLA already but the status is still pending? Let us recheck it.

@coderabbitai
Copy link
Contributor

coderabbitai bot commented Feb 11, 2026

Walkthrough

Added a new nation "Occitania" (flag/code 1_Occitania) and inserted it into multiple map info/manifest files; additionally many manifest JSON files were reformatted to expand coordinate arrays across multiple lines (no numeric value changes).

Changes

Cohort / File(s) Summary
Country Data
resources/countries.json
Added new country entry: code: 1_Occitania, continent: Europe, name: Occitania.
Map generator assets
map-generator/assets/maps/didierfrance/info.json, map-generator/assets/maps/europe/info.json, map-generator/assets/maps/europeclassic/info.json, map-generator/assets/maps/gatewaytotheatlantic/info.json, map-generator/assets/maps/giantworldmap/info.json, map-generator/assets/maps/world/info.json
Inserted new nation Occitania (flag 1_Occitania) into the start of the nations arrays with map-specific coordinates.
Resources: maps — new nation additions + formatting
resources/maps/didierfrance/manifest.json, resources/maps/europe/manifest.json, resources/maps/europeclassic/manifest.json, resources/maps/gatewaytotheatlantic/manifest.json, resources/maps/giantworldmap/manifest.json, resources/maps/world/manifest.json
Added Occitania entries to manifests and normalized many coordinate arrays to multi-line formatting.
Resources: maps — widespread coordinate reformatting
resources/maps/**/manifest.json (many files including africa, asia, australia, britannia*, didier, northamerica, oceania, etc.)
Mass JSON formatting change: coordinate arrays changed from single-line [x, y] to multi-line [\n x,\n y\n] across numerous map manifests — values unchanged.
Tests: testdata manifests
tests/testdata/maps/*/manifest.json
Formatting/trailing-newline adjustments to test manifest JSON files; no semantic changes.

Estimated code review effort

🎯 3 (Moderate) | ⏱️ ~20 minutes

Poem

A tiny flag on many maps unfurled,
Occitania whispers across the world,
Coordinates tidy, lines spread with care,
A new dot appears — quietly there. ✨

🚥 Pre-merge checks | ✅ 3 | ❌ 1
❌ Failed checks (1 warning)
Check name Status Explanation Resolution
Merge Conflict Detection ⚠️ Warning ❌ Merge conflicts detected (93 files):

⚔️ map-generator/assets/maps/didierfrance/info.json (content)
⚔️ map-generator/assets/maps/europe/info.json (content)
⚔️ map-generator/assets/maps/europeclassic/info.json (content)
⚔️ map-generator/assets/maps/gatewaytotheatlantic/info.json (content)
⚔️ map-generator/assets/maps/giantworldmap/info.json (content)
⚔️ map-generator/assets/maps/world/info.json (content)
⚔️ resources/countries.json (content)
⚔️ resources/lang/bg.json (content)
⚔️ resources/lang/de.json (content)
⚔️ resources/lang/el.json (content)
⚔️ resources/lang/en.json (content)
⚔️ resources/lang/fa.json (content)
⚔️ resources/lang/fr.json (content)
⚔️ resources/lang/id.json (content)
⚔️ resources/lang/ja.json (content)
⚔️ resources/lang/ko.json (content)
⚔️ resources/lang/nl.json (content)
⚔️ resources/lang/pl.json (content)
⚔️ resources/lang/ru.json (content)
⚔️ resources/lang/tr.json (content)
⚔️ resources/lang/uk.json (content)
⚔️ resources/lang/zh-CN.json (content)
⚔️ resources/maps/achiran/manifest.json (content)
⚔️ resources/maps/africa/manifest.json (content)
⚔️ resources/maps/amazonriver/manifest.json (content)
⚔️ resources/maps/asia/manifest.json (content)
⚔️ resources/maps/australia/manifest.json (content)
⚔️ resources/maps/baikal/manifest.json (content)
⚔️ resources/maps/baikalnukewars/manifest.json (content)
⚔️ resources/maps/betweentwoseas/manifest.json (content)
⚔️ resources/maps/blacksea/manifest.json (content)
⚔️ resources/maps/britannia/manifest.json (content)
⚔️ resources/maps/britanniaclassic/manifest.json (content)
⚔️ resources/maps/deglaciatedantarctica/manifest.json (content)
⚔️ resources/maps/didier/manifest.json (content)
⚔️ resources/maps/didierfrance/manifest.json (content)
⚔️ resources/maps/eastasia/manifest.json (content)
⚔️ resources/maps/europe/manifest.json (content)
⚔️ resources/maps/europeclassic/manifest.json (content)
⚔️ resources/maps/falklandislands/manifest.json (content)
⚔️ resources/maps/faroeislands/manifest.json (content)
⚔️ resources/maps/fourislands/manifest.json (content)
⚔️ resources/maps/gatewaytotheatlantic/manifest.json (content)
⚔️ resources/maps/giantworldmap/manifest.json (content)
⚔️ resources/maps/gulfofstlawrence/manifest.json (content)
⚔️ resources/maps/halkidiki/manifest.json (content)
⚔️ resources/maps/iceland/manifest.json (content)
⚔️ resources/maps/italia/manifest.json (content)
⚔️ resources/maps/japan/manifest.json (content)
⚔️ resources/maps/lemnos/manifest.json (content)
⚔️ resources/maps/lisbon/manifest.json (content)
⚔️ resources/maps/manicouagan/manifest.json (content)
⚔️ resources/maps/mars/manifest.json (content)
⚔️ resources/maps/mena/manifest.json (content)
⚔️ resources/maps/montreal/manifest.json (content)
⚔️ resources/maps/newyorkcity/manifest.json (content)
⚔️ resources/maps/northamerica/manifest.json (content)
⚔️ resources/maps/oceania/manifest.json (content)
⚔️ resources/maps/pangaea/manifest.json (content)
⚔️ resources/maps/pluto/manifest.json (content)
⚔️ resources/maps/sierpinski/manifest.json (content)
⚔️ resources/maps/southamerica/manifest.json (content)
⚔️ resources/maps/straitofgibraltar/manifest.json (content)
⚔️ resources/maps/surrounded/manifest.json (content)
⚔️ resources/maps/svalmel/manifest.json (content)
⚔️ resources/maps/thebox/manifest.json (content)
⚔️ resources/maps/twolakes/manifest.json (content)
⚔️ resources/maps/world/manifest.json (content)
⚔️ resources/maps/yenisei/manifest.json (content)
⚔️ src/client/HostLobbyModal.ts (content)
⚔️ src/client/SinglePlayerModal.ts (content)
⚔️ src/client/components/map/MapDisplay.ts (content)
⚔️ src/client/components/map/MapPicker.ts (content)
⚔️ src/client/graphics/layers/EventsDisplay.ts (content)
⚔️ src/client/graphics/layers/HeadsUpMessage.ts (content)
⚔️ src/client/graphics/layers/ImmunityTimer.ts (content)
⚔️ src/core/configuration/Config.ts (content)
⚔️ src/core/configuration/DefaultConfig.ts (content)
⚔️ src/core/execution/BotExecution.ts (content)
⚔️ src/core/execution/NationExecution.ts (content)
⚔️ src/core/execution/PlayerExecution.ts (content)
⚔️ src/core/game/Game.ts (content)
⚔️ src/core/game/GameImpl.ts (content)
⚔️ src/core/game/GameView.ts (content)
⚔️ src/core/game/PlayerImpl.ts (content)
⚔️ src/server/MapPlaylist.ts (content)
⚔️ tests/Attack.test.ts (content)
⚔️ tests/testdata/maps/big_plains/manifest.json (content)
⚔️ tests/testdata/maps/giantworldmap/manifest.json (content)
⚔️ tests/testdata/maps/half_land_half_ocean/manifest.json (content)
⚔️ tests/testdata/maps/ocean_and_land/manifest.json (content)
⚔️ tests/testdata/maps/plains/manifest.json (content)
⚔️ tests/testdata/maps/world/manifest.json (content)

These conflicts must be resolved before merging into main.
Resolve conflicts locally and push changes to this branch.
✅ Passed checks (3 passed)
Check name Status Explanation
Title check ✅ Passed The title 'add the flag of Occitania' accurately reflects the main objective of the pull request, which is to add the Occitania flag to the game.
Description check ✅ Passed The description is related to the changeset, explaining that an Occitania flag was added via SVG and added to countries.json, which matches the changes shown in the pull request.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.

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

Tip

Issue Planner is now in beta. Read the docs and try it out! Share your feedback on Discord.


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.

coderabbitai[bot]
coderabbitai bot previously approved these changes Feb 11, 2026
@evanpelle
Copy link
Collaborator

Are there any maps with Occitania nation?

@SwayLE3
Copy link
Contributor Author

SwayLE3 commented Feb 12, 2026

Are there any maps with Occitania nation?

yes, every map with the Spain or the France

@Striploos
Copy link

If this PR fixes an issue, link it below. If not, delete these two lines. Resolves #(issue number)

Description:

Add a flag : Occitania flag image

added the Occitania flag via the svg (same as the flags already in-game) and added it to countries.json

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:

young_la_flame

YEEEEESSSSSSSS PPPPPPPPLLLLLLLLLLLLLLEEEEEEAAAAASSSSS AAAAAAADDDDD

@FloPinguin
Copy link
Contributor

@SwayLE3 Please add the flag to the correct nations (Change json of maps in the map-generator folder and let the map-generator run afterwards)

But maybe you can also do that in a second PR

@SwayLE3
Copy link
Contributor Author

SwayLE3 commented Feb 12, 2026

@SwayLE3 Please add the flag to the correct nations (Change json of maps in the map-generator folder and let the map-generator run afterwards)

But maybe you can also do that in a second PR

@FloPinguin Thanks! I’ll add the flag to the correct nations in a second PR.

Copy link
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: 4

🤖 Fix all issues with AI agents
In `@map-generator/assets/maps/gatewaytotheatlantic/info.json`:
- Around line 4-8: Occitania's spawn at "Occitania" with coordinates [1700, 630]
is too close to County of Armagnac ([1733, 622]) and may cause overlapping
labels or spawn collisions; update the "coordinates" array for the "Occitania"
entry in info.json to a more distinct position (e.g., shift X or Y by ~50–100
pixels or choose a nearby clear area) and verify visually on the map that the
new coordinates no longer overlap with "County of Armagnac" or other nearby
entries.

In `@map-generator/assets/maps/world/info.json`:
- Around line 4-8: The Occitania entry in info.json (name "Occitania", flag
"1_Occitania", coordinates [955, 240]) is placed too close to France
(coordinates [958, 220]); update the "coordinates" array for Occitania to move
it further from France (e.g., increase the y value to push it south or adjust
the x value to the left/right) so the two markers do not overlap on the world
map, or remove the Occitania object entirely if you decide they shouldn't
coexist on this map; after changing the coordinates, verify the new position
visually against France's coordinates to ensure sufficient separation.

In `@resources/maps/gatewaytotheatlantic/manifest.json`:
- Around line 19-26: Occitania's spawn coordinates ("Occitania" at [1700, 630]
in manifest.json) are only ~33px from County of Armagnac ([1733, 622]) and may
overlap in-game; open the manifest entry for "Occitania" and adjust its
"coordinates" to move it farther from [1733, 622] (e.g., shift X or Y by 30–60
pixels) then re-check in-game to confirm no overlap or conflict with "County of
Armagnac".

In `@resources/maps/world/manifest.json`:
- Around line 19-26: The Occitania entry (the "name": "Occitania" object) has
"coordinates": [955, 240] which is too close to France (~[958, 220]); update the
Occitania "coordinates" values to move its spawn further away (e.g., lower X or
higher Y) so there is clear separation from France, then verify in-game that
both spawns render and function without overlap; adjust the "coordinates" array
in the Occitania object and re-test until spacing is resolved.

Comment on lines 4 to 8
{
"coordinates": [1700, 630],
"name": "Occitania",
"flag": "1_Occitania"
},
Copy link
Contributor

Choose a reason for hiding this comment

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

⚠️ Potential issue | 🟡 Minor

🧩 Analysis chain

🏁 Script executed:

#!/bin/bash
# Check if the flag SVG file "1_Occitania.svg" exists in the resources/flags directory
echo "=== Searching for Occitania flag file ==="
find . -name "*Occitania*" -type f 2>/dev/null | head -20
echo ""
echo "=== Listing structure around map resources ==="
fd "info.json" --type f | grep -E "maps|gateway" | head -10
echo ""
echo "=== Check the actual info.json file for Armagnac and Occitania ==="
fd "info.json" -x cat {} \; | grep -E "(Armagnac|Occitania)" -B2 -A2 | head -40

Repository: openfrontio/OpenFrontIO

Length of output: 1377


🏁 Script executed:

#!/bin/bash
# Get more details on the info.json file
echo "=== Full path to the gateway file ==="
fd "info.json" | grep gateway
echo ""
echo "=== Reading the full info.json to see structure ==="
FILE=$(fd "info.json" | grep gateway)
if [ -f "$FILE" ]; then
  wc -l "$FILE"
  echo ""
  echo "=== Content around Occitania and Armagnac ==="
  cat -n "$FILE" | sed -n '1,100p'
fi

Repository: openfrontio/OpenFrontIO

Length of output: 3100


🏁 Script executed:

#!/bin/bash
# Search for flag files and naming patterns
echo "=== Find where flags are stored ==="
fd "flags" --type d | head -5
echo ""
echo "=== Check for SVG files with numeric prefix ==="
fd "\\.svg$" | grep -E "^[0-9]|/[0-9]" | head -20
echo ""
echo "=== Check for Occitania flag ==="
fd "\\.svg$" | xargs grep -l "Occitania" 2>/dev/null || echo "Not found in SVG files"

Repository: openfrontio/OpenFrontIO

Length of output: 846


Occitania spawns almost on top of County of Armagnac.

Occitania's coordinates [1700, 630] are only ~34 pixels away from County of Armagnac at [1733, 622] (lines 5 and 70). On this map, that may cause overlapping labels or spawn collisions. Please double-check that both nations have enough room to coexist, or pick a more distinct spawn point for Occitania.

🤖 Prompt for AI Agents
In `@map-generator/assets/maps/gatewaytotheatlantic/info.json` around lines 4 - 8,
Occitania's spawn at "Occitania" with coordinates [1700, 630] is too close to
County of Armagnac ([1733, 622]) and may cause overlapping labels or spawn
collisions; update the "coordinates" array for the "Occitania" entry in
info.json to a more distinct position (e.g., shift X or Y by ~50–100 pixels or
choose a nearby clear area) and verify visually on the map that the new
coordinates no longer overlap with "County of Armagnac" or other nearby entries.

Comment on lines 19 to 26
{
"coordinates": [2144, 344],
"coordinates": [
1700,
630
],
"flag": "1_Occitania",
"name": "Occitania"
},
Copy link
Contributor

Choose a reason for hiding this comment

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

⚠️ Potential issue | 🟡 Minor

Occitania spawn is very close to County of Armagnac.

Occitania [1700, 630] and County of Armagnac [1733, 622] are only ~33px apart on this 2216×1968 map. Please verify in-game that these two nations do not overlap or conflict at spawn. If they do, nudge one of the coordinates to add some breathing room.

🤖 Prompt for AI Agents
In `@resources/maps/gatewaytotheatlantic/manifest.json` around lines 19 - 26,
Occitania's spawn coordinates ("Occitania" at [1700, 630] in manifest.json) are
only ~33px from County of Armagnac ([1733, 622]) and may overlap in-game; open
the manifest entry for "Occitania" and adjust its "coordinates" to move it
farther from [1733, 622] (e.g., shift X or Y by 30–60 pixels) then re-check
in-game to confirm no overlap or conflict with "County of Armagnac".

Comment on lines 19 to 26
{
"coordinates": [375, 272],
"coordinates": [
955,
240
],
"flag": "1_Occitania",
"name": "Occitania"
},
Copy link
Contributor

Choose a reason for hiding this comment

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

⚠️ Potential issue | 🟡 Minor

Occitania spawn point may be too close to France on this map.

On this 2000×1000 world map, Occitania is at [955, 240] while France is at [958, 220] — only ~20 pixels apart. This tight spacing could cause spawn overlap or make the two nations hard to distinguish. Consider adjusting the coordinates to give more separation, or verify in-game that both nations spawn correctly without visual or gameplay conflicts.

🤖 Prompt for AI Agents
In `@resources/maps/world/manifest.json` around lines 19 - 26, The Occitania entry
(the "name": "Occitania" object) has "coordinates": [955, 240] which is too
close to France (~[958, 220]); update the Occitania "coordinates" values to move
its spawn further away (e.g., lower X or higher Y) so there is clear separation
from France, then verify in-game that both spawns render and function without
overlap; adjust the "coordinates" array in the Occitania object and re-test
until spacing is resolved.

@github-project-automation github-project-automation bot moved this from Triage to Development in OpenFront Release Management Feb 12, 2026
@evanpelle evanpelle added this to the v30 milestone Feb 13, 2026
@evanpelle evanpelle merged commit fc65571 into openfrontio:main Feb 13, 2026
8 of 9 checks passed
@github-project-automation github-project-automation bot moved this from Development to Complete in OpenFront Release Management Feb 13, 2026
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.

6 participants