mirror of
https://github.com/openfrontio/OpenFrontIO.git
synced 2026-07-23 03:12:38 +00:00
## Description: Adds a theme system for bot tribe names that maps can customize via their info.json. Instead of all bots using the same global name pool, maps can now specify one or more themed name sets and define custom tribe names with higher priority. Key changes: - New `src/core/execution/utils/tribeNameThemes.json` containing 17 themed name sets (default, north_america, south_america, europe, africa, asia, oceania, space, fantasy, war, western, under_ocean, tournament, funny, scary, weird, vs). The default theme preserves the original `TribeNames.ts` values. **Mappers are encouraged to change that json file, the new themes just serve as an example and are currently not used by any map.** - Maps can specify `"themes": ["europe", "war"]` in info.json to merge prefixes/suffixes from multiple themes into one name pool. - Maps can specify `"custom_tribes": ["Holy Roman Empire", "Kalmar Union"]` for exact tribe names that take priority over theme-generated names. Custom tribes are used first (random selection, no duplicates until exhausted), then theme-based prefix+suffix combos. - `TribeNameResolver` resolves themes per-map at runtime, with fallback to the default theme and a console warning for unknown theme names. - Go codegen (`codegen.go`) updated to propagate `themes` and `custom_tribes` from info.json to Maps.gen.ts. - Germany map now has 404 custom tribes (all German Landkreise and kreisfreie Städte) to showcase the new feature. - Fixed a bug where tribe bots could inherit nation flags if their random name coincidentally matched a nation name (name-based cosmetics lookup now only applies to actual Nations, not Bots). ## 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 ## Please put your Discord username so you can be contacted if a bug or regression is found: FloPinguin
516 lines
9.8 KiB
JSON
516 lines
9.8 KiB
JSON
{
|
|
"id": "Germany",
|
|
"name": "Germany",
|
|
"translation_key": "map.germany",
|
|
"categories": ["europe", "new"],
|
|
"multiplayer_frequency": 5,
|
|
"custom_tribes": [
|
|
"Aachen, Städteregion",
|
|
"Ahrweiler",
|
|
"Aichach-Friedberg",
|
|
"Alb-Donau-Kreis",
|
|
"Altenburger Land",
|
|
"Altenkirchen (Westerwald)",
|
|
"Altmarkkreis Salzwedel",
|
|
"Altötting",
|
|
"Alzey-Worms",
|
|
"Amberg-Sulzbach",
|
|
"Ammerland",
|
|
"Anhalt-Bitterfeld",
|
|
"Ansbach",
|
|
"Aschaffenburg",
|
|
"Augsburg",
|
|
"Aurich",
|
|
"Bad Dürkheim",
|
|
"Bad Kissingen",
|
|
"Bad Kreuznach",
|
|
"Bad Tölz-Wolfratshausen",
|
|
"Bamberg",
|
|
"Barnim",
|
|
"Bautzen",
|
|
"Bayreuth",
|
|
"Berchtesgadener Land",
|
|
"Bergstraße",
|
|
"Bernkastel-Wittlich",
|
|
"Biberach",
|
|
"Birkenfeld",
|
|
"Böblingen",
|
|
"Bodenseekreis",
|
|
"Börde",
|
|
"Borken",
|
|
"Breisgau-Hochschwarzwald",
|
|
"Burgenlandkreis",
|
|
"Calw",
|
|
"Celle",
|
|
"Cham",
|
|
"Cloppenburg",
|
|
"Coburg",
|
|
"Cochem-Zell",
|
|
"Coesfeld",
|
|
"Cuxhaven",
|
|
"Dachau",
|
|
"Dahme-Spreewald",
|
|
"Darmstadt-Dieburg",
|
|
"Deggendorf",
|
|
"Diepholz",
|
|
"Dillingen an der Donau",
|
|
"Dingolfing-Landau",
|
|
"Dithmarschen",
|
|
"Donau-Ries",
|
|
"Donnersbergkreis",
|
|
"Düren",
|
|
"Ebersberg",
|
|
"Eichsfeld",
|
|
"Eichstätt",
|
|
"Eifelkreis Bitburg-Prüm",
|
|
"Elbe-Elster",
|
|
"Emmendingen",
|
|
"Emsland",
|
|
"Ennepe-Ruhr-Kreis",
|
|
"Enzkreis",
|
|
"Erding",
|
|
"Erlangen-Höchstadt",
|
|
"Erzgebirgskreis",
|
|
"Esslingen",
|
|
"Euskirchen",
|
|
"Forchheim",
|
|
"Freising",
|
|
"Freudenstadt",
|
|
"Freyung-Grafenau",
|
|
"Friesland",
|
|
"Fulda",
|
|
"Fürstenfeldbruck",
|
|
"Fürth",
|
|
"Garmisch-Partenkirchen",
|
|
"Germersheim",
|
|
"Gießen",
|
|
"Gifhorn",
|
|
"Göppingen",
|
|
"Görlitz",
|
|
"Goslar",
|
|
"Gotha",
|
|
"Göttingen",
|
|
"Grafschaft Bentheim",
|
|
"Greiz",
|
|
"Groß-Gerau",
|
|
"Günzburg",
|
|
"Gütersloh",
|
|
"Hameln-Pyrmont",
|
|
"Hannover, Region",
|
|
"Harburg",
|
|
"Harz",
|
|
"Haßberge",
|
|
"Havelland",
|
|
"Heidekreis",
|
|
"Heidenheim",
|
|
"Heilbronn",
|
|
"Heinsberg",
|
|
"Helmstedt",
|
|
"Herford",
|
|
"Hersfeld-Rotenburg",
|
|
"Herzogtum Lauenburg",
|
|
"Hildburghausen",
|
|
"Hildesheim",
|
|
"Hochsauerlandkreis",
|
|
"Hochtaunuskreis",
|
|
"Hof",
|
|
"Hohenlohekreis",
|
|
"Holzminden",
|
|
"Höxter",
|
|
"Ilm-Kreis",
|
|
"Jerichower Land",
|
|
"Kaiserslautern",
|
|
"Karlsruhe",
|
|
"Kassel",
|
|
"Kelheim",
|
|
"Kitzingen",
|
|
"Kleve",
|
|
"Konstanz",
|
|
"Kronach",
|
|
"Kulmbach",
|
|
"Kusel",
|
|
"Kyffhäuserkreis",
|
|
"Lahn-Dill-Kreis",
|
|
"Landsberg am Lech",
|
|
"Landshut",
|
|
"Leer",
|
|
"Leipzig",
|
|
"Lichtenfels",
|
|
"Limburg-Weilburg",
|
|
"Lindau (Bodensee)",
|
|
"Lippe",
|
|
"Lörrach",
|
|
"Lüchow-Dannenberg",
|
|
"Ludwigsburg",
|
|
"Ludwigslust-Parchim",
|
|
"Lüneburg",
|
|
"Main-Kinzig-Kreis",
|
|
"Main-Spessart",
|
|
"Main-Tauber-Kreis",
|
|
"Main-Taunus-Kreis",
|
|
"Mainz-Bingen",
|
|
"Mansfeld-Südharz",
|
|
"Marburg-Biedenkopf",
|
|
"Märkischer Kreis",
|
|
"Märkisch-Oderland",
|
|
"Mayen-Koblenz",
|
|
"Mecklenburgische Seenplatte",
|
|
"Meißen",
|
|
"Merzig-Wadern",
|
|
"Mettmann",
|
|
"Miesbach",
|
|
"Miltenberg",
|
|
"Minden-Lübbecke",
|
|
"Mittelsachsen",
|
|
"Mühldorf am Inn",
|
|
"München",
|
|
"Neckar-Odenwald-Kreis",
|
|
"Neu-Ulm",
|
|
"Neuburg-Schrobenhausen",
|
|
"Neumarkt in der Oberpfalz",
|
|
"Neunkirchen",
|
|
"Neustadt an der Aisch-Bad Windsheim",
|
|
"Neustadt an der Waldnaab",
|
|
"Neuwied",
|
|
"Nienburg/Weser",
|
|
"Nordfriesland",
|
|
"Nordhausen",
|
|
"Nordsachsen",
|
|
"Nordwestmecklenburg",
|
|
"Northeim",
|
|
"Nürnberger Land",
|
|
"Oberallgäu",
|
|
"Oberbergischer Kreis",
|
|
"Oberhavel",
|
|
"Oberspreewald-Lausitz",
|
|
"Odenwaldkreis",
|
|
"Oder-Spree",
|
|
"Offenbach",
|
|
"Oldenburg",
|
|
"Olpe",
|
|
"Ortenaukreis",
|
|
"Osnabrück",
|
|
"Ostalbkreis",
|
|
"Ostallgäu",
|
|
"Osterholz",
|
|
"Ostholstein",
|
|
"Ostprignitz-Ruppin",
|
|
"Paderborn",
|
|
"Passau",
|
|
"Peine",
|
|
"Pfaffenhofen an der Ilm",
|
|
"Pinneberg",
|
|
"Plön",
|
|
"Potsdam-Mittelmark",
|
|
"Prignitz",
|
|
"Rastatt",
|
|
"Ravensburg",
|
|
"Recklinghausen",
|
|
"Regen",
|
|
"Regensburg",
|
|
"Rems-Murr-Kreis",
|
|
"Rendsburg-Eckernförde",
|
|
"Reutlingen",
|
|
"Rhein-Erft-Kreis",
|
|
"Rheingau-Taunus-Kreis",
|
|
"Rhein-Hunsrück-Kreis",
|
|
"Rheinisch-Bergischer Kreis",
|
|
"Rhein-Kreis Neuss",
|
|
"Rhein-Lahn-Kreis",
|
|
"Rhein-Neckar-Kreis",
|
|
"Rhein-Pfalz-Kreis",
|
|
"Rhein-Sieg-Kreis",
|
|
"Rhön-Grabfeld",
|
|
"Rosenheim",
|
|
"Rostock",
|
|
"Rotenburg (Wümme)",
|
|
"Roth",
|
|
"Rottal-Inn",
|
|
"Rottweil",
|
|
"Saale-Holzland-Kreis",
|
|
"Saalekreis",
|
|
"Saale-Orla-Kreis",
|
|
"Saalfeld-Rudolstadt",
|
|
"Saarbrücken, Regionalverband",
|
|
"Saarlouis",
|
|
"Saarpfalz-Kreis",
|
|
"Sächsische Schweiz-Osterzgebirge",
|
|
"Salzlandkreis",
|
|
"Schaumburg",
|
|
"Schleswig-Flensburg",
|
|
"Schmalkalden-Meiningen",
|
|
"Schwäbisch Hall",
|
|
"Schwalm-Eder-Kreis",
|
|
"Schwandorf",
|
|
"Schwarzwald-Baar-Kreis",
|
|
"Schweinfurt",
|
|
"Segeberg",
|
|
"Siegen-Wittgenstein",
|
|
"Sigmaringen",
|
|
"Soest",
|
|
"Sömmerda",
|
|
"Sonneberg",
|
|
"Spree-Neiße",
|
|
"St. Wendel",
|
|
"Stade",
|
|
"Starnberg",
|
|
"Steinburg",
|
|
"Steinfurt",
|
|
"Stendal",
|
|
"Stormarn",
|
|
"Straubing-Bogen",
|
|
"Südliche Weinstraße",
|
|
"Südwestpfalz",
|
|
"Teltow-Fläming",
|
|
"Tirschenreuth",
|
|
"Traunstein",
|
|
"Trier-Saarburg",
|
|
"Tübingen",
|
|
"Tuttlingen",
|
|
"Uckermark",
|
|
"Uelzen",
|
|
"Unna",
|
|
"Unstrut-Hainich-Kreis",
|
|
"Unterallgäu",
|
|
"Vechta",
|
|
"Verden",
|
|
"Viersen",
|
|
"Vogelsbergkreis",
|
|
"Vogtlandkreis",
|
|
"Vorpommern-Greifswald",
|
|
"Vorpommern-Rügen",
|
|
"Vulkaneifel",
|
|
"Waldeck-Frankenberg",
|
|
"Waldshut",
|
|
"Warendorf",
|
|
"Wartburgkreis",
|
|
"Weilheim-Schongau",
|
|
"Weimarer Land",
|
|
"Weißenburg-Gunzenhausen",
|
|
"Werra-Meißner-Kreis",
|
|
"Wesel",
|
|
"Wesermarsch",
|
|
"Westerwaldkreis",
|
|
"Wetteraukreis",
|
|
"Wittenberg",
|
|
"Wittmund",
|
|
"Wolfenbüttel",
|
|
"Wunsiedel im Fichtelgebirge",
|
|
"Würzburg",
|
|
"Zollernalbkreis",
|
|
"Zwickau",
|
|
"Aachen",
|
|
"Amberg",
|
|
"Baden-Baden",
|
|
"Bielefeld",
|
|
"Bochum",
|
|
"Bonn",
|
|
"Bottrop",
|
|
"Brandenburg an der Havel",
|
|
"Braunschweig",
|
|
"Bremerhaven",
|
|
"Chemnitz",
|
|
"Cottbus",
|
|
"Darmstadt",
|
|
"Delmenhorst",
|
|
"Dessau-Roßlau",
|
|
"Dortmund",
|
|
"Dresden",
|
|
"Duisburg",
|
|
"Düsseldorf",
|
|
"Emden",
|
|
"Erfurt",
|
|
"Erlangen",
|
|
"Essen",
|
|
"Flensburg",
|
|
"Frankenthal (Pfalz)",
|
|
"Frankfurt (Oder)",
|
|
"Frankfurt am Main",
|
|
"Freiburg im Breisgau",
|
|
"Gelsenkirchen",
|
|
"Gera",
|
|
"Hagen",
|
|
"Halle (Saale)",
|
|
"Hamm",
|
|
"Hanau",
|
|
"Hannover",
|
|
"Heidelberg",
|
|
"Herne",
|
|
"Ingolstadt",
|
|
"Jena",
|
|
"Kaufbeuren",
|
|
"Kempten (Allgäu)",
|
|
"Kiel",
|
|
"Koblenz",
|
|
"Köln",
|
|
"Krefeld",
|
|
"Landau in der Pfalz",
|
|
"Leverkusen",
|
|
"Lübeck",
|
|
"Ludwigshafen am Rhein",
|
|
"Magdeburg",
|
|
"Mainz",
|
|
"Mannheim",
|
|
"Memmingen",
|
|
"Mönchengladbach",
|
|
"Mülheim an der Ruhr",
|
|
"Münster",
|
|
"Neumünster",
|
|
"Neustadt an der Weinstraße",
|
|
"Nürnberg",
|
|
"Oberhausen",
|
|
"Offenbach am Main",
|
|
"Oldenburg (Oldb)",
|
|
"Pforzheim",
|
|
"Pirmasens",
|
|
"Potsdam",
|
|
"Remscheid",
|
|
"Salzgitter",
|
|
"Schwabach",
|
|
"Schwerin",
|
|
"Solingen",
|
|
"Speyer",
|
|
"Straubing",
|
|
"Stuttgart",
|
|
"Suhl",
|
|
"Trier",
|
|
"Ulm",
|
|
"Weiden in der Oberpfalz",
|
|
"Weimar",
|
|
"Wiesbaden",
|
|
"Wilhelmshaven",
|
|
"Wolfsburg",
|
|
"Worms",
|
|
"Wuppertal",
|
|
"Zweibrücken",
|
|
"Preußen",
|
|
"Schwaben",
|
|
"Franken",
|
|
"Rheinland",
|
|
"Westfalen",
|
|
"Pommern",
|
|
"Schleswig",
|
|
"Holstein",
|
|
"Anhalt",
|
|
"Lausitz",
|
|
"Elsass",
|
|
"Deutscher Orden",
|
|
"Nassau",
|
|
"Kurpfalz",
|
|
"Berg",
|
|
"Jülich",
|
|
"Lothringen",
|
|
"Harzgau",
|
|
"Wetterau",
|
|
"Ruhrgebiet",
|
|
"Allgäu",
|
|
"Schwarzwald",
|
|
"Spreewald",
|
|
"Altmühltal",
|
|
"Spessart",
|
|
"Odenwald",
|
|
"Eifel",
|
|
"Sauerland",
|
|
"Westerwald",
|
|
"Pfalz"
|
|
],
|
|
"nations": [
|
|
{
|
|
"coordinates": [688, 396],
|
|
"name": "Hamburg",
|
|
"strength": 2,
|
|
"flag": "DE-HH"
|
|
},
|
|
{
|
|
"coordinates": [717, 311],
|
|
"name": "Schleswig-Holstein",
|
|
"strength": 2,
|
|
"flag": "DE-SH"
|
|
},
|
|
{
|
|
"coordinates": [561, 537],
|
|
"name": "Bremen",
|
|
"strength": 2,
|
|
"flag": "DE-HB"
|
|
},
|
|
{
|
|
"coordinates": [399, 592],
|
|
"name": "Lower Saxony",
|
|
"strength": 2,
|
|
"flag": "DE-NI"
|
|
},
|
|
{
|
|
"coordinates": [336, 803],
|
|
"name": "North Rhine-Westphalia",
|
|
"strength": 2,
|
|
"flag": "DE-NW"
|
|
},
|
|
{
|
|
"coordinates": [279, 1129],
|
|
"name": "Saarland",
|
|
"strength": 2,
|
|
"flag": "DE-SL"
|
|
},
|
|
{
|
|
"coordinates": [362, 1042],
|
|
"name": "Rhineland-Palatinate",
|
|
"strength": 2,
|
|
"flag": "DE-RP"
|
|
},
|
|
{
|
|
"coordinates": [602, 1207],
|
|
"name": "Baden-Württemberg",
|
|
"strength": 2,
|
|
"flag": "DE-BW"
|
|
},
|
|
{
|
|
"coordinates": [627, 900],
|
|
"name": "Hesse",
|
|
"strength": 2,
|
|
"flag": "DE-HE"
|
|
},
|
|
{
|
|
"coordinates": [941, 1139],
|
|
"name": "Bavaria",
|
|
"strength": 2,
|
|
"flag": "DE-BY-L"
|
|
},
|
|
{
|
|
"coordinates": [1077, 836],
|
|
"name": "Saxony",
|
|
"strength": 2,
|
|
"flag": "DE-SN"
|
|
},
|
|
{
|
|
"coordinates": [883, 648],
|
|
"name": "Saxony-Anhalt",
|
|
"strength": 2,
|
|
"flag": "DE-ST"
|
|
},
|
|
{
|
|
"coordinates": [861, 863],
|
|
"name": "Thuringia",
|
|
"strength": 2,
|
|
"flag": "DE-TH"
|
|
},
|
|
{
|
|
"coordinates": [1026, 370],
|
|
"name": "Mecklenburg-Vorpommern",
|
|
"strength": 2,
|
|
"flag": "DE-MV"
|
|
},
|
|
{
|
|
"coordinates": [1189, 590],
|
|
"name": "Berlin",
|
|
"strength": 2,
|
|
"flag": "DE-BE"
|
|
},
|
|
{
|
|
"coordinates": [1254, 708],
|
|
"name": "Brandenburg",
|
|
"strength": 2,
|
|
"flag": "DE-BB"
|
|
}
|
|
]
|
|
}
|