From d7432a58c6afac6c6fb51edd894d3fb1119a1cc8 Mon Sep 17 00:00:00 2001 From: Elfangor567 Date: Mon, 1 Aug 2022 20:33:20 -0400 Subject: [PATCH 1/8] Alpha 0.1 - Base that does not yet work. --- Vic2ToHoI4.vcxproj | 2 + Vic2ToHoI4.vcxproj.filters | 6 ++ ...isness.dds => portrait_unicorn_leader.dds} | Bin ...ess.dds => portrait_unicorn_operative.dds} | Bin src/HOI4World/Decisions/Decision.cpp | 4 ++ src/HOI4World/Decisions/Decision.h | 1 + src/HOI4World/Decisions/Decisions.cpp | 5 +- src/HOI4World/Decisions/Decisions.h | 10 ++- src/HOI4World/Decisions/UnionDecisions.cpp | 67 ++++++++++++++++++ src/HOI4World/Decisions/UnionDecisions.h | 25 +++++++ src/HOI4World/HoI4World.cpp | 3 +- src/OutHoi4/Decisions/OutDecisions.cpp | 11 +++ 12 files changed, 131 insertions(+), 3 deletions(-) rename data/blank_mod/gfx/leaders/Animalia/{portrait_unicorn_leader_of_buisness.dds => portrait_unicorn_leader.dds} (100%) rename data/blank_mod/gfx/leaders/Animalia/{portrait_unicorn_disguise_buisness.dds => portrait_unicorn_operative.dds} (100%) create mode 100644 src/HOI4World/Decisions/UnionDecisions.cpp create mode 100644 src/HOI4World/Decisions/UnionDecisions.h diff --git a/Vic2ToHoI4.vcxproj b/Vic2ToHoI4.vcxproj index be6680fb5b..7be4e4c0f4 100644 --- a/Vic2ToHoI4.vcxproj +++ b/Vic2ToHoI4.vcxproj @@ -106,6 +106,7 @@ + @@ -492,6 +493,7 @@ + diff --git a/Vic2ToHoI4.vcxproj.filters b/Vic2ToHoI4.vcxproj.filters index 205c0e54ba..a7903cf429 100644 --- a/Vic2ToHoI4.vcxproj.filters +++ b/Vic2ToHoI4.vcxproj.filters @@ -1129,6 +1129,9 @@ src\OutHoi4\Countries + + src\HoI4World\Decisions + @@ -2502,6 +2505,9 @@ src\OutHoi4\Countries + + src\HoI4World\Decisions + diff --git a/data/blank_mod/gfx/leaders/Animalia/portrait_unicorn_leader_of_buisness.dds b/data/blank_mod/gfx/leaders/Animalia/portrait_unicorn_leader.dds similarity index 100% rename from data/blank_mod/gfx/leaders/Animalia/portrait_unicorn_leader_of_buisness.dds rename to data/blank_mod/gfx/leaders/Animalia/portrait_unicorn_leader.dds diff --git a/data/blank_mod/gfx/leaders/Animalia/portrait_unicorn_disguise_buisness.dds b/data/blank_mod/gfx/leaders/Animalia/portrait_unicorn_operative.dds similarity index 100% rename from data/blank_mod/gfx/leaders/Animalia/portrait_unicorn_disguise_buisness.dds rename to data/blank_mod/gfx/leaders/Animalia/portrait_unicorn_operative.dds diff --git a/src/HOI4World/Decisions/Decision.cpp b/src/HOI4World/Decisions/Decision.cpp index dbe61050dc..6e72f6221c 100644 --- a/src/HOI4World/Decisions/Decision.cpp +++ b/src/HOI4World/Decisions/Decision.cpp @@ -3,6 +3,10 @@ #include "external/common_items/ParserHelpers.h" +HoI4::decision::decision(std::string decisionName) +{ + name = decisionName; +} HoI4::decision::decision(std::string decisionName, std::istream& theStream): name(std::move(decisionName)) { diff --git a/src/HOI4World/Decisions/Decision.h b/src/HOI4World/Decisions/Decision.h index d3849d494d..78cfac46a3 100644 --- a/src/HOI4World/Decisions/Decision.h +++ b/src/HOI4World/Decisions/Decision.h @@ -14,6 +14,7 @@ namespace HoI4 class decision: commonItems::parser { public: + decision(std::string decisionName); decision(std::string decisionName, std::istream& theStream); [[nodiscard]] std::string getName() const { return name; } diff --git a/src/HOI4World/Decisions/Decisions.cpp b/src/HOI4World/Decisions/Decisions.cpp index cb510d7259..db8c54694e 100644 --- a/src/HOI4World/Decisions/Decisions.cpp +++ b/src/HOI4World/Decisions/Decisions.cpp @@ -29,12 +29,15 @@ void HoI4::decisions::updateDecisions(const std::set& majorIdeologi const std::map& defaultStates, const Events& theEvents, const std::set& southAsianCountries, - const std::vector& strongestGpNavies) + const std::vector& strongestGpNavies, + const std::vector& unionCountries) { Log(LogLevel::Info) << "\tUpdating decisions"; generateIdeologicalCategories(majorIdeologies, provinceToStateIdMap); + unionDecisions.createDecisions(unionCountries); + agentRecruitmentDecisions.updateDecisions(southAsianCountries); stabilityDecisions.updateDecisions(majorIdeologies); politicalDecisions.updateDecisions(majorIdeologies, theEvents); diff --git a/src/HOI4World/Decisions/Decisions.h b/src/HOI4World/Decisions/Decisions.h index 2658b0220c..0ac4434234 100644 --- a/src/HOI4World/Decisions/Decisions.h +++ b/src/HOI4World/Decisions/Decisions.h @@ -15,6 +15,7 @@ #include "src/HOI4World/Decisions/PoliticalDecisions.h" #include "src/HOI4World/Decisions/ResourceProspectingDecisions.h" #include "src/HOI4World/Decisions/StabilityWarSupportDecisions.h" +#include "src/HOI4World/Decisions/UnionDecisions.h" #include "src/HOI4World/Events/Events.h" #include "src/HOI4World/States/DefaultState.h" #include @@ -37,7 +38,8 @@ class decisions: commonItems::parser const std::map& defaultStates, const Events& theEvents, const std::set& southAsianCountries, - const std::vector& strongestGpNavies); + const std::vector& strongestGpNavies, + const std::vector& unionCountries); [[nodiscard]] const auto& getIdeologicalCategories() const { return *ideologicalCategories; } [[nodiscard]] const std::vector& getAgentRecruitmentDecisions() const @@ -68,6 +70,10 @@ class decisions: commonItems::parser { return resourceProspectingDecisions.getDecisions(); } + [[nodiscard]] const std::vector& getUnionDecisions() const + { + return unionDecisions.getDecisions(); + } [[nodiscard]] const std::vector& getGenericDecisions() const { return genericDecisions.getDecisions(); @@ -81,6 +87,7 @@ class decisions: commonItems::parser static std::optional getRelevantStateFromProvince(int province, const std::map& provinceToStateIdMap); std::unique_ptr ideologicalCategories; + std::unique_ptr formableCategories; AgentRecruitmentDecisions agentRecruitmentDecisions; StabilityWarSupportDecisions stabilityDecisions; @@ -89,6 +96,7 @@ class decisions: commonItems::parser ForeignInfluenceDecisions foreignInfluenceDecisions; NavalTreatyDecisions navalTreatyDecisions; ResourceProspectingDecisions resourceProspectingDecisions; + UnionDecisions unionDecisions; GenericDecisions genericDecisions; }; diff --git a/src/HOI4World/Decisions/UnionDecisions.cpp b/src/HOI4World/Decisions/UnionDecisions.cpp new file mode 100644 index 0000000000..b12b05c5e6 --- /dev/null +++ b/src/HOI4World/Decisions/UnionDecisions.cpp @@ -0,0 +1,67 @@ +#include "src/HOI4World/Decisions/UnionDecisions.h" + +void HoI4::UnionDecisions::createDecisions(const std::vector& unionCountries) +{ + for (auto category: decisions) + { + if (category.getName() == "formable_nations") + { + for (auto unionCountry: unionCountries) + { + const auto& name = "form_" + unionCountry.GetTag() + "_union"; + decision formationDecision(name); + const auto& tag = unionCountry.GetTag(); + + //Allowed + std::string allowed = "NOT = { has_original_tag = " + tag + " }\n"; + allowed += "OR = {\n"; + for (const auto& culture: unionCountry.GetCultures()) + { + allowed += "\thas_idea = culture_" + culture + "\n"; + } + allowed += "}\n"; + formationDecision.setAllowed(allowed); + + //Visible + std::string visible = "NOT = {\n"; + visible += "\t" + tag + "= { exists = no }\n"; + visible += "}\n"; + formationDecision.setVisible(visible); + + //Available + std::string available = "NOT = {\n"; + available += "\tany_other_country = {\n"; + available += "\t\thas_cosmetic_tag =" + tag + "_union\n"; + available += "\t\texists = yes\n"; + available += "\t}\n}\n"; + available += "all_state = {\n"; + available += "\tif = { \n"; + available += "\t\tlimit = { is_core_of = " + tag + "}\n"; + available += "\t\tis_controlled_by = ROOT\n"; + available += "\t}\n}\n"; + formationDecision.setAvailable(available); + + //Complete Effect + std::string completeEffect = "set_cosmetic_flag = " + tag + "_union\n"; + completeEffect += "every_state = {\n"; + completeEffect += "\tlimit = {\n"; + completeEffect += "\t\tOR = {\n"; + completeEffect += "\t\t\tis_core_of = " + tag; + completeEffect += "\t\t\tany_country = {\n"; + completeEffect += "\t\t\t\thas_cosmetic_tag = " + tag + "_union\n"; + completeEffect += "\t\t\t\tPREV = { is_core_of = THIS }\n"; + completeEffect += "\t\t\t}\n\t\t}\n\t}\n"; + completeEffect += "\tadd_core_of = ROOT\n"; + completeEffect += "}"; + formationDecision.setCompleteEffect(completeEffect); + + //AI Will Do + formationDecision.setAiWillDo("base = 100"); + + //Add to Category + category.addDecision(formationDecision); + } + } + } + +} \ No newline at end of file diff --git a/src/HOI4World/Decisions/UnionDecisions.h b/src/HOI4World/Decisions/UnionDecisions.h new file mode 100644 index 0000000000..a3334b770d --- /dev/null +++ b/src/HOI4World/Decisions/UnionDecisions.h @@ -0,0 +1,25 @@ +#ifndef UNION_DECISIONS +#define UNION_DECISIONS + + + +#include "src/HOI4World/Countries/UnionCountry.h" +#include "src/HOI4World/Decisions/DecisionsFile.h" +#include "src/HOI4World/Decisions/DecisionsCategories.h" + + + +namespace HoI4 +{ + +class UnionDecisions: public DecisionsFile +{ + public: + void createDecisions(const std::vector& unionCountries); +}; + +} // namespace HoI4 + + + +#endif // UNION_DECISIONS diff --git a/src/HOI4World/HoI4World.cpp b/src/HOI4World/HoI4World.cpp index 82b6cf8bc7..ee21fc83c2 100644 --- a/src/HOI4World/HoI4World.cpp +++ b/src/HOI4World/HoI4World.cpp @@ -229,7 +229,8 @@ HoI4::World::World(const Vic2::World& sourceWorld, states->getDefaultStates(), *events, getSouthAsianCountries(), - strongestGpNavies); + strongestGpNavies, + union_countries_); updateAiPeaces(*peaces, ideologies->getMajorIdeologies()); addNeutrality(theConfiguration.getDebug()); importCharacters(characterFactory); diff --git a/src/OutHoi4/Decisions/OutDecisions.cpp b/src/OutHoi4/Decisions/OutDecisions.cpp index 5a7ce9a522..383ed64fd8 100644 --- a/src/OutHoi4/Decisions/OutDecisions.cpp +++ b/src/OutHoi4/Decisions/OutDecisions.cpp @@ -90,6 +90,17 @@ void HoI4::outputDecisions(const decisions& theDecisions, } outStream.close(); + outStream.open("output/" + outputName + "/common/decisions/formable_nation_decisions.txt"); + if (!outStream.is_open()) + { + throw std::runtime_error("Could not open output/" + outputName + "/common/decisions/formable_nation_decisions.txt"); + } + for (const auto& category: theDecisions.getUnionDecisions()) + { + outStream << category; + } + outStream.close(); + outStream.open("output/" + outputName + "/common/decisions/_generic_decisions.txt"); if (!outStream.is_open()) { From d6242675673e6df34657134b4c4e5abe5d1852e4 Mon Sep 17 00:00:00 2001 From: Idhrendur Date: Mon, 1 Aug 2022 19:43:24 -0700 Subject: [PATCH 2/8] Quick fixes --- Vic2ToHoI4Tests.vcxproj | 2 + Vic2ToHoI4Tests.vcxproj.filters | 6 + src/HOI4World/Decisions/DecisionsInCategory.h | 1 + src/HOI4World/Decisions/UnionDecisions.cpp | 110 +++++++++--------- 4 files changed, 62 insertions(+), 57 deletions(-) diff --git a/Vic2ToHoI4Tests.vcxproj b/Vic2ToHoI4Tests.vcxproj index e8c28d78ad..05e6682ebe 100644 --- a/Vic2ToHoI4Tests.vcxproj +++ b/Vic2ToHoI4Tests.vcxproj @@ -94,6 +94,7 @@ + @@ -773,6 +774,7 @@ + diff --git a/Vic2ToHoI4Tests.vcxproj.filters b/Vic2ToHoI4Tests.vcxproj.filters index 8f66ddebcd..5b4ebf81d9 100644 --- a/Vic2ToHoI4Tests.vcxproj.filters +++ b/Vic2ToHoI4Tests.vcxproj.filters @@ -1729,6 +1729,9 @@ src\HOI4World\Countries + + src\HOI4World\Decisions + @@ -3517,6 +3520,9 @@ src\OutHoi4\Countries + + src\HOI4World\Decisions + diff --git a/src/HOI4World/Decisions/DecisionsInCategory.h b/src/HOI4World/Decisions/DecisionsInCategory.h index a867346bc6..563b67fc10 100644 --- a/src/HOI4World/Decisions/DecisionsInCategory.h +++ b/src/HOI4World/Decisions/DecisionsInCategory.h @@ -18,6 +18,7 @@ namespace HoI4 class DecisionsInCategory: commonItems::parser { public: + explicit DecisionsInCategory(std::string category_name): name(std::move(category_name)) {} DecisionsInCategory(std::string categoryName, std::istream& theStream); [[nodiscard]] auto getDecisions() const { return theDecisions; } diff --git a/src/HOI4World/Decisions/UnionDecisions.cpp b/src/HOI4World/Decisions/UnionDecisions.cpp index b12b05c5e6..75288286e8 100644 --- a/src/HOI4World/Decisions/UnionDecisions.cpp +++ b/src/HOI4World/Decisions/UnionDecisions.cpp @@ -2,66 +2,62 @@ void HoI4::UnionDecisions::createDecisions(const std::vector& unionCountries) { - for (auto category: decisions) + DecisionsInCategory formable_decisions_category("formable_decisions"); + for (auto unionCountry: unionCountries) { - if (category.getName() == "formable_nations") + const auto& name = "form_" + unionCountry.GetTag() + "_union"; + decision formationDecision(name); + const auto& tag = unionCountry.GetTag(); + + // Allowed + std::string allowed = "NOT = { has_original_tag = " + tag + " }\n"; + allowed += "OR = {\n"; + for (const auto& culture: unionCountry.GetCultures()) { - for (auto unionCountry: unionCountries) - { - const auto& name = "form_" + unionCountry.GetTag() + "_union"; - decision formationDecision(name); - const auto& tag = unionCountry.GetTag(); - - //Allowed - std::string allowed = "NOT = { has_original_tag = " + tag + " }\n"; - allowed += "OR = {\n"; - for (const auto& culture: unionCountry.GetCultures()) - { - allowed += "\thas_idea = culture_" + culture + "\n"; - } - allowed += "}\n"; - formationDecision.setAllowed(allowed); - - //Visible - std::string visible = "NOT = {\n"; - visible += "\t" + tag + "= { exists = no }\n"; - visible += "}\n"; - formationDecision.setVisible(visible); - - //Available - std::string available = "NOT = {\n"; - available += "\tany_other_country = {\n"; - available += "\t\thas_cosmetic_tag =" + tag + "_union\n"; - available += "\t\texists = yes\n"; - available += "\t}\n}\n"; - available += "all_state = {\n"; - available += "\tif = { \n"; - available += "\t\tlimit = { is_core_of = " + tag + "}\n"; - available += "\t\tis_controlled_by = ROOT\n"; - available += "\t}\n}\n"; - formationDecision.setAvailable(available); - - //Complete Effect - std::string completeEffect = "set_cosmetic_flag = " + tag + "_union\n"; - completeEffect += "every_state = {\n"; - completeEffect += "\tlimit = {\n"; - completeEffect += "\t\tOR = {\n"; - completeEffect += "\t\t\tis_core_of = " + tag; - completeEffect += "\t\t\tany_country = {\n"; - completeEffect += "\t\t\t\thas_cosmetic_tag = " + tag + "_union\n"; - completeEffect += "\t\t\t\tPREV = { is_core_of = THIS }\n"; - completeEffect += "\t\t\t}\n\t\t}\n\t}\n"; - completeEffect += "\tadd_core_of = ROOT\n"; - completeEffect += "}"; - formationDecision.setCompleteEffect(completeEffect); - - //AI Will Do - formationDecision.setAiWillDo("base = 100"); - - //Add to Category - category.addDecision(formationDecision); - } + allowed += "\thas_idea = culture_" + culture + "\n"; } + allowed += "}\n"; + formationDecision.setAllowed(allowed); + + // Visible + std::string visible = "NOT = {\n"; + visible += "\t" + tag + "= { exists = no }\n"; + visible += "}\n"; + formationDecision.setVisible(visible); + + // Available + std::string available = "NOT = {\n"; + available += "\tany_other_country = {\n"; + available += "\t\thas_cosmetic_tag =" + tag + "_union\n"; + available += "\t\texists = yes\n"; + available += "\t}\n}\n"; + available += "all_state = {\n"; + available += "\tif = { \n"; + available += "\t\tlimit = { is_core_of = " + tag + "}\n"; + available += "\t\tis_controlled_by = ROOT\n"; + available += "\t}\n}\n"; + formationDecision.setAvailable(available); + + // Complete Effect + std::string completeEffect = "set_cosmetic_flag = " + tag + "_union\n"; + completeEffect += "every_state = {\n"; + completeEffect += "\tlimit = {\n"; + completeEffect += "\t\tOR = {\n"; + completeEffect += "\t\t\tis_core_of = " + tag; + completeEffect += "\t\t\tany_country = {\n"; + completeEffect += "\t\t\t\thas_cosmetic_tag = " + tag + "_union\n"; + completeEffect += "\t\t\t\tPREV = { is_core_of = THIS }\n"; + completeEffect += "\t\t\t}\n\t\t}\n\t}\n"; + completeEffect += "\tadd_core_of = ROOT\n"; + completeEffect += "}"; + formationDecision.setCompleteEffect(completeEffect); + + // AI Will Do + formationDecision.setAiWillDo("base = 100"); + + // Add to Category + formable_decisions_category.addDecision(formationDecision); } + decisions.push_back(formable_decisions_category); } \ No newline at end of file From 984e229bb7b1e4ab7c7d18d394c0a90b91415da4 Mon Sep 17 00:00:00 2001 From: Elfangor567 Date: Tue, 2 Aug 2022 17:40:38 -0400 Subject: [PATCH 3/8] Alpha 0.2 - Now works, but only if the union nation has cores in VIC2, and that isn't always true. --- .../00_culture_modifiers.txt | 0 data/blank_mod/common/ideas/_cultures.txt | 109 ++++++++++++++++++ .../interface/culture/00_culture_template.xcf | Bin 0 -> 50276 bytes .../interface/culture/culture_arvorigeg.dds | Bin 0 -> 28704 bytes .../gfx/interface/culture/culture_dramor.dds | Bin 0 -> 28704 bytes .../interface/culture/culture_jerusalemer.dds | Bin 0 -> 28704 bytes .../interface/culture/culture_kulfoldi.dds | Bin 0 -> 28704 bytes .../interface/culture/culture_oltremare.dds | Bin 0 -> 28704 bytes .../interface/culture/culture_ultramar.dds | Bin 0 -> 28704 bytes .../english/cultures_l_english.yml | 12 ++ src/HOI4World/Decisions/Decision.cpp | 2 +- src/HOI4World/Decisions/Decision.h | 4 +- src/HOI4World/Decisions/UnionDecisions.cpp | 78 +++++++------ src/OutHoi4/Decisions/OutDecision.cpp | 4 +- 14 files changed, 170 insertions(+), 39 deletions(-) create mode 100644 data/blank_mod/common/dynamic_modifiers/00_culture_modifiers.txt create mode 100644 data/blank_mod/gfx/interface/culture/00_culture_template.xcf create mode 100644 data/blank_mod/gfx/interface/culture/culture_arvorigeg.dds create mode 100644 data/blank_mod/gfx/interface/culture/culture_dramor.dds create mode 100644 data/blank_mod/gfx/interface/culture/culture_jerusalemer.dds create mode 100644 data/blank_mod/gfx/interface/culture/culture_kulfoldi.dds create mode 100644 data/blank_mod/gfx/interface/culture/culture_oltremare.dds create mode 100644 data/blank_mod/gfx/interface/culture/culture_ultramar.dds diff --git a/data/blank_mod/common/dynamic_modifiers/00_culture_modifiers.txt b/data/blank_mod/common/dynamic_modifiers/00_culture_modifiers.txt new file mode 100644 index 0000000000..e69de29bb2 diff --git a/data/blank_mod/common/ideas/_cultures.txt b/data/blank_mod/common/ideas/_cultures.txt index 2c949913f4..2b46cc000e 100644 --- a/data/blank_mod/common/ideas/_cultures.txt +++ b/data/blank_mod/common/ideas/_cultures.txt @@ -294,6 +294,12 @@ ideas = { picture = culture_aromanian modifier = { } } + culture_arvorigeg = { + removal_cost = -1 + allowed = { always = no } allowed_civil_war = { always = yes } + picture = culture_arvorigeg + modifier = { } + } culture_ashkenazi = { removal_cost = -1 allowed = { always = no } allowed_civil_war = { always = yes } @@ -829,6 +835,12 @@ ideas = { ai_get_ally_desire_factor = -100 } } + culture_dramor = { + removal_cost = -1 + allowed = { always = no } allowed_civil_war = { always = yes } + picture = culture_dramor + modifier = { } + } culture_duck_culture = { removal_cost = -1 allowed = { always = no } allowed_civil_war = { always = yes } @@ -1446,6 +1458,12 @@ ideas = { picture = culture_je modifier = { } } + culture_jerusalemer = { + removal_cost = -1 + allowed = { always = no } allowed_civil_war = { always = yes } + picture = culture_jerusalemer + modifier = { } + } culture_jizni = { removal_cost = -1 allowed = { always = no } allowed_civil_war = { always = yes } @@ -1614,6 +1632,12 @@ ideas = { picture = culture_kuba modifier = { } } + culture_kulfoldi = { + removal_cost = -1 + allowed = { always = no } allowed_civil_war = { always = yes } + picture = culture_kulfoldi + modifier = { } + } culture_kujaanan = { removal_cost = -1 allowed = { always = no } allowed_civil_war = { always = yes } @@ -2286,6 +2310,12 @@ ideas = { picture = culture_oldpommeranian modifier = { } } + culture_oltremare = { + removal_cost = -1 + allowed = { always = no } allowed_civil_war = { always = yes } + picture = culture_oltremare + modifier = { } + } culture_oldspain = { removal_cost = -1 allowed = { always = no } allowed_civil_war = { always = yes } @@ -3109,6 +3139,12 @@ ideas = { picture = culture_ujvilag modifier = { } } + culture_ultramar = { + removal_cost = -1 + allowed = { always = no } allowed_civil_war = { always = yes } + picture = culture_ultramar + modifier = { } + } culture_ukrainian = { removal_cost = -1 allowed = { always = no } allowed_civil_war = { always = yes } @@ -3411,5 +3447,78 @@ ideas = { picture = culture_zulu modifier = { } } + + #Superregions + culture_british_north_america_superregion_culture = { + removal_cost = -1 + allowed = { always = no } allowed_civil_war = { always = yes } + picture = culture_yankee + modifier = { } + } + culture_british_south_america_superregion_culture = { + removal_cost = -1 + allowed = { always = no } allowed_civil_war = { always = yes } + picture = culture_english + modifier = { } + } + culture_french_north_america_superregion_culture = { + removal_cost = -1 + allowed = { always = no } allowed_civil_war = { always = yes } + picture = culture_french_canadian + modifier = { } + } + culture_french_south_america_superregion_culture = { + removal_cost = -1 + allowed = { always = no } allowed_civil_war = { always = yes } + picture = culture_french + modifier = { } + } + culture_germanic_north_america_superregion_culture = { + removal_cost = -1 + allowed = { always = no } allowed_civil_war = { always = yes } + picture = culture_north_german + modifier = { } + } + culture_germanic_south_america_superregion_culture = { + removal_cost = -1 + allowed = { always = no } allowed_civil_war = { always = yes } + picture = culture_south_german + modifier = { } + } + culture_scandinavian_north_america_superregion_culture = { + removal_cost = -1 + allowed = { always = no } allowed_civil_war = { always = yes } + picture = culture_danish + modifier = { } + } + culture_scandinavian_south_america_superregion_culture = { + removal_cost = -1 + allowed = { always = no } allowed_civil_war = { always = yes } + picture = culture_danish + modifier = { } + } + + #For Error Removal + culture_is_overseas = { + removal_cost = -1 + allowed = { always = no } allowed_civil_war = { always = yes } + picture = culture_noculture + modifier = { } + } + culture_leader = { + removal_cost = -1 + allowed = { always = no } allowed_civil_war = { always = yes } + picture = culture_noculture + modifier = { } + } + culture_leader = { + removal_cost = -1 + allowed = { always = no } allowed_civil_war = { always = yes } + picture = culture_noculture + modifier = { } + } + + + } } \ No newline at end of file diff --git a/data/blank_mod/gfx/interface/culture/00_culture_template.xcf b/data/blank_mod/gfx/interface/culture/00_culture_template.xcf new file mode 100644 index 0000000000000000000000000000000000000000..859f1bde032d88420759bb9e27e7a8d3d030681c GIT binary patch literal 50276 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 literal 0 HcmV?d00001 diff --git a/data/blank_mod/gfx/interface/culture/culture_arvorigeg.dds b/data/blank_mod/gfx/interface/culture/culture_arvorigeg.dds new file mode 100644 index 0000000000000000000000000000000000000000..1a0e9181158c91ef8bdad14493f18ef60a0566e5 GIT binary patch literal 28704 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 literal 0 HcmV?d00001 diff --git a/data/blank_mod/gfx/interface/culture/culture_dramor.dds b/data/blank_mod/gfx/interface/culture/culture_dramor.dds new file mode 100644 index 0000000000000000000000000000000000000000..dfe16e8435ac04bb42dbd4a10d8532ac4f074426 GIT binary patch literal 28704 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%0D|w;7)0Pew_W!Hc=N` zfk2=+zN>`hj1>{*=xA#^+&vgm>flFTA?JP^@9YCk0QB=1Z)LvM z7@J*UU96LJvkhzu+k|K40Bj@M$~Lp@l!3BPCdx(`DJx~B?Ejkw^}ZxPzoPF0=J;&@ zPoORk33LGxvDai)K<9oZkw-YKY!LUrX*8RFHNa9}0gwkEZcu**V<^tOfF3|^*p>kRfH^Zkhc^_JzV02Tqu0M@~}wy|!ufo)-%a4!*H z8`)O2nQgZLD2twJ%1Bu$^FQ0cHnDy5H_XS;|5OKR0bxK#G@WC3BrpyjN8^Dpz%U>Q zNCwD548V72S2@-RUNhep4nzPgfL1^>&=!aSXdk)()Lr%)%S;DY2kT;;tQ&1mZ9$t< zJ!~V}$~Lp@l!3DRGxCgP{n?@Co_fN0a}~f2a0kd+Q-GXy2YLh4W$GHaBah^?0Z9p#x}C8Y%|;b zuf#c;s}7Dwz5OYR>xuwvBz4IPs0}m(8UvvKd8z?;0<$VC}|WtIcT z55a4K_i2auF6&}hER$uk4%Wpw8v<+t+rsDAHnx%PvkroF8UX)Fhn^?4nQiB1@_%7S3 zZ!gdPiU;K&^armgAN7hhgZ4vjLwJu|>Gh2|uIB)k|D{9!9?PKKvP_oEI@k~Tdf5iv z({ql?e|gR+gZ|KSPd>;6^-*sl$O%8|dB)}6<@mC0eLt`bU)IfM*jAqZuE+lYVw#Bt literal 0 HcmV?d00001 diff --git a/data/blank_mod/gfx/interface/culture/culture_jerusalemer.dds b/data/blank_mod/gfx/interface/culture/culture_jerusalemer.dds new file mode 100644 index 0000000000000000000000000000000000000000..300e80acb287b960df4d185f11f7714e5056ffb9 GIT binary patch literal 28704 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 literal 0 HcmV?d00001 diff --git a/data/blank_mod/gfx/interface/culture/culture_oltremare.dds b/data/blank_mod/gfx/interface/culture/culture_oltremare.dds new file mode 100644 index 0000000000000000000000000000000000000000..0fdede80a4b1b61c79d58e268e91b22d8123662a GIT binary patch literal 28704 zcmeI41$f87tb$NxY6pC-T|MR71Sf|@{0 z>t7q-^>2Ofns48O_vF2`?f6^Y@1N;Q2gB_-xVV^lA<^F6L9QU<>o##z_whO;o zua7nu*w}Bw&$IFKIA{>m1uB4IA@-jc)C%I5`e!`YE{+klHK$1ny z{&yoA_lK=596xWSXLPKEzQImt6SSt4p3$mStsuO%)HPhGsHNe`7Of0c$Tq5 zT+iT`ftB4oLmSrzEiLVTH*oNHX~}Cl`&Sz}c)n=d(%`$M25tZ35|#Wiv|YvXwvKN1 z8@1Fw)1;;T!REU9+wlG6O?6vWsv0z4Uq(Py5aYl<+d<}>lP*xUzKQLuq>52rl}}nH z<&(BZyYU+&fAkv39lcs|My-^b5z8fG@FGbcyiij6&y(cdGbOp_bjj#HOLB)VmiFUU zOWEX&QvU8H=`v%B^q93py3g1wU8Zi7&Qmr>r^@xX?iwi@zfwv^u8`8vE2VtGYUxBO~CIC_=j3|XcqZ^SAo7_(OL$E=ZpajT^e z?JS+VMJgt5tjX>-{dW@^^;X!^3kri6lj(E*8OA-^z<9^8!1$C1jWD)xK3Fzk)$g+p zelC?e@5-Rnmt@cf7iGlyD>8QDRT;D4l8jn&MnXH;wCTJ|-*sJP@3}4S?ZfvE+?9C;@5=lGALCkgW!CQ7GHrX6Oxbo-Dz{b1qz`Y( z=#AH8$eK$s5N#Z@^_I*$a9;*2K3Hqx8GJ{j({L$l>J0fqjK7S%+8B?w|L}vchW$_9 z$JoiZ#F)6z(8A$f#l#iWvv%K*l77deeV=oZR=h`|)7D8`<|fIhI4orYuSmxs*Q9*# zRVl}Ns;Ji)Ny^_Y5lO2gGI^!Mq^*|t%=LI(Cy}YEB{Xii1Vt}_7E3_HLTG^mMJ|$v z`1d6uVTFVxto%daxJGpPI*HHTjB9>~`|pzEb~_}g@Iy(?-zsSZ+aw`-lSHSk#dY78 zKwQT!Y@WnsO_lyLH^{K}kBXgd#1oZHgG;b!Aw-`;_Ow+OqV50ac*}9l`!Ywfh3Er0 zAJ;*5?E|A<^_sm=W^M=50Vl-Q{+hVjoD(OjBhX=Su|0yH&x@PgRp^?iZLcUlyI7yb z?~jVT`F63l*d|WayT!}(u*5_jm#~mC;%a|Zxz33bU&`D$SH!_$FV6iC+9LLro5jI$ zn>bqT#OHhPx?ho#)gf`VJ}$1fwyVt<@p3vP;XcPDJn)!=;Wfnnqy+k$kPyGa;_rPx zvf6KyijlKr^y;$`lHFco=IQ?wHeG|3LEWHmh&dH)|3~{B&NKEo?;i>EQ#ES79j~7^ zF}8f+n^!75XK#~PyRJy5VF$!VeNo&U&WMxcAu!o3YKOfN=zSc#$^KeB`-|cNE@b3r zxlioOw~4Lkda&FgYR6p?;CD+T&z!t+U}hAx||VDm*e8;d`R3J_KUmoezfg?__`eyKab<$=YCA`%eR61 zEE%!-l!WGW67T$CO=A;VvcIcp+-x&mnJ;mi(RMN*i+{wyxkZ1@{3;mgX{q+z8{d8K zuSRPBY9o(ujdOaTlvS>ki5t#Jry&P0W>1TU({XS(P(K#;h_~xL2@X6C`|H@NG4|EA zmoO&Jg4qdWtZLcYnQg$&+r`6iuk76ZvAlTxT%J9BDdWa`B(Am>6t0ez2Qcop;`&?A zAA7~a;TTvS#qUo*r$udlUfk_3h>siCt1;iu_s+IE&`;aN$#y%wvlG|ZE6F+Qr2U|& zGGN&uaf-?i+pGd<>mR2v_6U0&*L~=tHjZw)VKdhNw4HfAS^Pcy&D$}Q@rCP>(gw|R zR}EUc`R55ot2AZ-Nuui#BxW9wQZja>3`fkY7_=92_=0%5pA=WS1K_t;8PBfv`!Rlx zNL287@S(q{QdH-2z~1VZ!k&I))yk7{^yo!7dgO|H{`u$f@ZlrT)YeK(O|2X}@SXhf z%S#zC{AT@J*&_~CJ8-Xq7|Um&GZ@#$#M}9lxVu~sKcA}-<9O4ijT6h z*n~N=5%FTaln$FC{T87g0}`aAt(WL}MvG-wmW(@fy|(}2EkEisX|s&X>4pKP0bv{ zDJBPb@H!c~;)Im;+AIOEIXmIHB*tGAcgLe(zXwb)uWjJBz4jqyBDQ&4s%MWltFVW^ zSK{npg}uG`4*BrI3kv(&w{Oe6d-vqgqen7p_Q#SEeM17>wQ=Hd{r4D8;o}^RNVxY! zNeH{5@DKL8CecAvk{o$m(vzzsJrU!z7Wz9~FZFtNtu>BCkH7;4O-a|Ip920N<$A>m|;ab!YN@#84INc&3{GzH^ z%kOL=6075eOcDE-d}(FrB9d81cIulWb0r27W(cRL}8kyj-<{f7AY!OtSD zx!S@XSi&DT>=A$8BN7sPTD;uJp8V)@nCEcZ*ZCaA&+^ja^2HZl$S0qCBA$n_gW#caPu>}%0k^&@_@ND9cS#4f=;WEM;w!^h$>0TsFJ9#%kZnmF~1Lj?IFeAyTBKFfsL2r z1#z>#BC}_GUeEsD_%jcs@40;GEBWcCpXA3Mf0PCDuPHHAZFflmov(_IQ{DOb*;O)p z=q;Ro8e{$>*q=m9J}nWx=Or`w8v6gH#ClbUyX!UacDXL$m@9s67Z4LpNI>`k=`eD> z6i(Wrv2Y81X6)uyZ5A9a4UJu;v6-jXCl-r|SCqy&F!9BRBR5`VO_+L9)wD@Juwi~l zMr1{1|EIB*zJ+xzJ;)kj{4Q*5qov-?s1p6V+LEhnHNq>A0xy)&q zG5r(KXf%Juz6xXi3Upc4t^Hhn|NVEw(qAMd{H)R!YUDI-_?>(GTseR4fjoZvLdkXN z`s;KZd*_o95^zr9;d2t=Zot3Y5Km=ZAt$mqi9R|iVR1{PbOg9pZmqRa2Y#oc)8MN{ ztxc*Mm^z3`-%6UBI!j9%Z*kA-RvSg1s)mr&dXB)^+&%i{gg$OOWqL36G#}I0c)*A8V$tfYb8rx4+4?YmX!^ z>(*Q2zAoRHH1Sj9F*V9L%pu9OPRNUFFUrgrpUIbBK9j?Te!_PdE9%x{%;P!s-JDK} zpXXT#54tFEXis$LHSu(;n>SovgeR_);-Pb--K4Fx*6zWdf%~-(%^4WOQnT< zkf>T&iCs*-X7uU1wQFCaToB5S|6WvWIE z_cb%I{G#uc<8Ly?Ezz`g2^L*DU-9iZR$@lam4LE$G_9> zPp9(|5q3?Y!V!}LaE{$&rQcbjC>%UX3MOp^_t2Xf!PXYA zSs!C99SnMIJo=`ox#fLT1D(C*UQx@)N?}&Vjtu`h{)Y3THN-fY=$>7^bn5w!ehle8 zsTLN1?RKK>(5I`?hQF{>_<6v^gD$&xl{BfwZ=~#D91$MPKz2=j_?_y?n6p%R2VT8jC*vgyL5`9nVUT*A}L}!-tBVJb5CoUcXX&ilu2wz7TD5N6t8M6;&eXRDeh2jnKevk#gmJ*Rky5y`j{Br7H8yVHXBsqUz`D#T zl}^)ZuIb&XQ^%}OY^LoN(e1=OGFPKcD1JF$>&e$Yiaby1HuMCUL1agUWck+~jK`)> z5Y!{G(|{}IYinN*JaW6nrJ#4Mfk%Wiwec6Th-}H9zCj#f3pF||_3q(Z)@YU+Sh?=N zc>lG-yW6Gb1o{*D=Bu#xJcNAF33V3t%i`-q7KoRa<9_Z}q+MQ>{P4pwdGqGYAF=c6 zuYQojhwmZI-j<5;o4C$31@+h9sYdQIVcf^Eal@B#_s%a0Z_bZr&z>pYKXl+*DZn*L z@~=xYa>zP=k9O487F?L?AfBr2&xo4~@>|4$qMoOuXvl2%_boMco>9laeHLuu8fiUr z*CnZaZM$ikrEOrkGD0<^h*cC z)$U_qlfu2uZdZ;s)Tq22&tuI*zsfx2VqNY5pWmxT6@1DodGh2Lc;3VBF;8rdA~qjG zo#&+V=zas^SfltDe%H+zG1`tX^_+C;aus>z_lmE&bLR*2?I}r1z9?Nf+>{Q*H!-HK z|G}Ou(~vjuzA4G-+bx zDf$ln;*i!=LpGa4s)O3~yp8jQKx9XTe{F2#I*IEpJ17a7;1ZYn$?)^{s}n}O4Vn|1W`AotT&O>TyN>^rr_hrSi7&d0oze`Y-tVAn%_)_olpj`BGlLsmAwl zOqnB&O zUiq@xHaeZYb^=6pWJs1|`j-y+Bj)}tP!2S+jeFRqS(8`SgugRWY@*vsGZQB<3y6^| z@CTz$-w^+fLo^KyEvtAgG{Ml$eNFmMa7R9q-)%GMzE{K(HF$q@9ea1ID?_}mNdVR@ zfB4<{F<+2#RnDFJS~AmE6Gkl&u~*wKZm21qIPn$c!V`J@`i)GT@~QayBNuW4d#t(K z9ZsV^Psrp+*W|$d`}p1&tYMM2gkF-=n5&YR1pgg<1vN7IcwU!trOwyU2Xg$U6zq^< z)Wyi%&L?_5;wr~_PiU;Fslj>QjzcvgVe`6bQ5fhL+KY8mv4r%WsmYnKu3FDN=u@0a z-$Zs~NS0*!mk!Pg#sk*cDxj5(TAP3D-EGtxpDvYR=97Z)?kPi$T$9g`H?*6%Ni0)4 z)V6T&zKV0FLSv2W-B+g%g`b(aO|r_?V6AvTA`rKd!mdk@W8GYj!uzE3>k<=j9kto| zxuC3J>S_aIz`ReXpJNPjEV?;dlwW^+jy&a+yuz5Ty7o}AvTsNVuI1~EzIDBT`a0O# zqXtZ&57c&Nuuh{-yC8`Xmn9?NvLr-b79VHE8azuOe~$n9nnY^R?)veLxat+P7u<)z zrf$$km8t7l3;6fKSs%(5h%y5XTv1q%iEr1*(8$*+!!{i6E1^yh8It8+@->_foEMf* zv}JJeg6JLt@4CiieQ)3s{nF4cL({_APulp$%dGES$&e$rC8Ezv(f5m~)phYZjqh+S zjw1Ioa4(s%RZ`o(kC=H*GEsj@Nxdcs@i#EW>Nv+?&7PBST{2UvBsRQC0==+?c{>)+ z2Y?I5J^8O$a|hgiRpREWH;A84UccrA@rewukM;+*@_@ln&t3D0>;O=w;&rFVB zE}Rs1kF&^KFG!HjW!&qM#0H}#jQXUK)6=(uJAF=k&K4zqFPyZs+SWU254aD7O`V~k zDofYHt$ddt?IZBhD~JIZLe8* zf-)QES}aN!x8U&;EJU6{J~`b{qp(3ACy86(F!5_YQd+q9X>{7yJjD5nAaJ@TTOYT$iZO`nr#OJ zi9mku?p(+I`0<~VbL%r>~i>(zE`tg_EzwtKDEx7YtNb=(M#L@9b{!9Lu)fMQTze&3)WZ&vFsY&xFX5 zO#icWEBk`$s-_VAkr&hsAIdvzJ(uSWU;eo3tbGc1XPXle6meBbP$w*JhjEG8tCCBDyDRcP7rT9k zb$cWx_^=e@oR#ifuS>5^A4$iu+we~}q`2soj2Zp0^y_^GV;;pQ#1-c0mo9#fdd^uH zIRei$(09RsCnPQ$we}d)B2Zrs3cQ9sWxf3h)}wWG3FbR$2lyTO9tS*w!YkL(bb7(-eINkJlo6ZqGaJYLs9lkX_t!i z5Aqv@J$$N@4W4DD%kJbnkLY%F1p^QPE9FMtz|Keev~I z&*ap}pXa2|+SSevpb$^Q6=C?bXO5$(`d}%Y9}u3#VHp^VUlFvaMo`dVEU^4Jpww5@GmImHpaIx-w>)Ra{KuW%-6#b;wkl(Z z{xb@-zY;J{PrC`e$o*_N-p?!Z+{FgwtTtKx@z)Xg3~Ny+804rXlixGbKY;Epvh`}f~O-^Ds5 z@=oNXYV;S|##$tw<#Jz6;X9M1L*<5Q8=pw6pJA=53-q2kqvQ7@_g<0%$Y&P(%v>@- z%u%Nb!&)kG;8IQGnB~>Y96dhAx$7Y^Bug?STQVkVGADofA1nMA+}1N_kX>lvQdOfC zAK>2Dd6#My>Rhzp7?^WsOaP3(F^@5hVb{O(HZ}uwb zy77eU0(-I`6S4{IHCLl99{3#R-GUCO8n;|UmSjq{_za8{)@0ro;v8^QwK8rW(q+P> zu4|7zNgOi!C)@D!d#Z*_?liYlKeUQ0s%_&PEwK%zfN_+6HOgcb`&U<^CbYE?30SDBrV~_h*!Oz~`piFT?TXY{Q)I z81}ay-r1kSxWxVoJI2Hl@WscF7af7$z&Q?^B|5rXGBPtIE~!j{13r}4*h3N@cT^(7 z@XW}Ic?|a{v95mt_dTrKgZEL!0DjiS(Yo3&#(=VaVV|;REWPtk?n6O76Sfa=m1DL7 zqQBW}k@b$mp+28EVV%N&EXc$_9Vr%3#kEb$T`>1`?pTGS+#^G>BvZ1*_xT)_tjU~e z19_uw%f0jZo*P~D@XbcVi0vY8BD;)wq-t*TV>46KU<~ZUv*SP+c;qvQAG|~ohQBW^ znSI0{sz_7~n;ynBra)tj?cLXO7`O7#kR|)^++%~pWo?$&%#9M0jy-po8zeDjlO$zt z!5+L#5)!*id8X+TJV*RO=SoP_V*Gxsq!w(J1e_biJ$fl?pw$wQ{DEX`7;i=?u0lJw~}P)f_oB&YNP$?x!is9QJB=@cm*R6XEBHD{HY)-`9S~4IDGHGh; z$htu_>hC{tzO(0*Wqmf(KwodELJR7+8wmiZ-!uM-@ zONTx)_DOi%z}P_yF{kWPdx%f*7zyw5o>)cai9tjmxHn_{lk4NL#&+&2OUADFxe~Fa z`n0PY){iu+>UKvY(_#1(Xrc6}$x zh~z;Hi4~sV2X}r~VL%o}eu=_d($F*Vbx_6dXJkfp zWJs1|itl!W$k-SnbBgZ+pw3N=9JiG%I{2j5hqpDQ3lGRb#E!9N|D;LkH>1WlFj2!X zZ|&)7P$g`vsxki6da3x_YNDH^d@@&~^sS^coj zx_6}}snZxuY}xSIm<~fUQN`~_RAFCRWcc<^9(@4feA#flZOYu7G0efqSl zS-VcU^m<1^Q}V?tHc$MLO2j|4O#IWzB_O?{gyeLSxU!*=STRykyN#Fh9+M<@zziuI zhG(lI7HeWVj{e2a)P5f9=?3+HW~!R&U&*OlA%3vgJ-wUw6bw~Zs9M`1*GSeR51dvr z?%a2^WJY#mNS0)Z?{|jCSj(NY11)#nW4&Wa`FBH(d{I+4XO~2v?od8&hvZIMFK(GV zG=`qBV&b1ER-xJ0=TI!8&)r9D>@%^5ZTA%4T?LIq4R3&+x#JQ`pZH4_UXdT0xCY;A z>)><0jjiWbZS6e2HnnyCuC1;5r#3cjj|{Awer;{(_=}mH+i&jPK~Doh!k;Imq`#<~ zJhl3>&py*IPrrHdrmSAQS|(4PEdBfUM^0HJ2?+@j85ya(mX(z${V;FdJlVT2UNKchc0L<)8Z{+v##F9VmmzQbW%TJUWWtp%#Ur^$tiy5?76u+M ztiem(^bH!aA~UihL$bto*F$6*2$40JbG*~furGL@Eh@b>cZ0iEzAT=*N8{UWm{^48 zic4Boamnkep&A3j_;@BR1RSLVd@>CSh-)up z%Xi6sv@5rAky4K&3lqpAf1tvMKa&~Rks(>)yIUZ#)p93u?RXEy`{Ala1|PLFasS>T zDCsxv!Xeec9mi{|5;}{aUkaYFWGnt1{z_akI>`G^HA+5NG;gcus-p#Eh>viM`4Hn! z9OMr%mIOh`PCJ%|%Wj~>R!SIZwwypn3X+7EkUo7|~J zozY$6jc3>n@fFG*2JRhU>~>8rl2hn+tdAvQ{8G{N0CzpR-x@S*x*ONwJrW^j$Oz)S zJfK{RzZ+kE`K7Yo>+7$-mizbbW6#Dl#U~#;cu*EBSRfel^4)jeDbM@(d&bap>()v4 z?%l=P+Z%h%{FHH@k&%Jt8O6$2#~c!0UtfujkC%di0x2me!8*50`906U_?GJKPA>E_eN`=V@3gRXukOD7l%{z8CJmq6+9GG+ z{LyudkY;9T)IHtBF{Ma$;@%zR?~vI3Q;=Kr5Pz&^-81`EH*9W1f7S_N|8lLsT4+G) z)~$OSI&|n)?&_6q0ud1p7mxIc9C%eGFK&+QC zWYC~N%DD#)98hBIgb5R*W5_6s1hYlU2w6s+5Kb4i0?58VeC*xlMQ~^zH zWZ-(6Hqo~DVKXJLVz3m?*`(M`24qeq+%HE)eC|qSWJiW%sW7eEw@t=mP3DatJ;(*h zg}Bf1B5L_RWLBn?w8c?|+NTxu2KgoML{+aZX>uvCTY?zJ~qq^Upuyx!wuI z$B?zZzrTwERATDJjT@DIVE^$P#srRee%Hsx2m5y-Br!2j z$%)9ku&_|*cNlxymy|qh(xeH;`~-+=k*z8t+dt7J+QxONcS$eF8n;TZoeao=yvc@) z$coI!jtp^)ix8QTEg6$Fnd?BTli5Pa(4^*8p11V85}ug^=T^rJT~u4T>a<2(idsAB zzw~EK+S(|!pp4N=C2cI$g1v_#*XhQ1B9Z-OOG{Ii=eSN)!)Cfi^h|A!G;G*#S@Y)2 z*TQcCTYl2G53xA-OkSL7V_y@<`RbwA6CY>*4L2z z$&)9QzF?nl{loFM3blYCLxw2hlku{=yj&(uoT&H{uAw+jke4W9oea~{(-oFv%(%(# z(-+YXF|TKA=I`itf`WpSSC02dlO_rM6MyIE=JPrP>mr}hj@2riroT5bb=A-&+D02g z`;Wu3&B==GWIz^VLN;WiumUr(BSW$z(|WdKOxD_iJHw@#;2Ai6_ojzaoFao@^IUry!@8y+~3= z%n@~ZnWUs=JY{}JKR~uuuU=L1L%wG}@OK=ejIW5jim%}siGGFoVV5pllw5G?)TxSp z;dtk|h-`TteFyu7K85kKbLY;&SW92S`T_kv@6ELr&#|$w5eEkcNls3dfddCBxy{(I zW5qi-OhU{1OU~HI;*yY~*g~6V8)K$#m!X3Ci()$&pynu8uWD3n9BYvCydf(xBReuA zOND72TQVkV?a=^lbRj1w1LC|mrfOyQg_%#xLx;Gm7fz9>FYRJ7UR%dzYFb*mq8`&+ zni|@Q4Pv)zes^UoxTJRyx2*okbC~S0Q>6pqOL&)Y;)S(;<>VaelmBV@6g6iwOTFi?(WL(7-Lye zAk)#KM=NuN=bD?F3)cW#576iEdhFBCh-mRZEg@&@3`rk8QCeVs3~i!q9PhN1Hq&-8 zXl0|;Sj1=5TE%C)wg)4!A~Uj67}l{QQ?eyvveq8-H>}57L$Mg!<2=&KKMLtS@=1>k zM_#;-ZHs$Q>sgEEhm-GquZbEkN$~7k@C;E}<2e`C%Y5#|oYO9{NU4eDOr9oj{U@M? z(?vpayMXsPg*js&=QPD}$k@oW62~q5HGKlt`1Btfqx9wU8SDf0&zd!Bl%MGnn2*z6 zxVX3|Ygn#jxo%~ysjI82uw`G+mvHUG{GW4yeFDEH_V(EO0`}}D&L{RuXn3U92Bk`P z*TIr8ZW8=ygkn?uUP#4O+DzNYfGo&_Y{-bL$c*gBkSrCZb!^F4>)Y{GIp}wo)B7X$ z=@-&@{8ch1ua=b2_;&>mPa=9x5Nqrk zGY0egfPes{?!Yn69N)!NjXCUxw&%l!GQ}3!MB8X1ZN)wd#di99vLF+(AtSOPGqNK? zvaDxHwq*S02mKD`fjPwb1lJCz2Q}V^{;kq=^8J%}XvRa-f1cYVl)r(GuTeE!wcci~MQgB^<~5m+4H=OYnbomV z7?LHKlI`2R9Y6kYG{!pv$R1)&$@S(KXccrEq4=I@K-yFMUBeqgXa5>J2UPy13~>d2 zgOV$jY3&e)e5C<$S_3?1H^x}^4vj-zU7_UG6%`fAT&6D|L*^C~`EcAb_n@jXl$$4MB8X1ZADzg-%@7R!v9p01(}dd9V3MmnUNhC zk|mjv?SFO9=Qo3x@6g|{9>-cPuk!(PPT$(~C!eB$)gw-PtidyN&3e|xj^C2VDRadS z&uYxEw}E?wb&%IK*0&I6uRsY34O7M#ZKY49z4SM%!%*bT`M}RuGt|}+`}Xat_$2y& z`WW^Xzfa#le?ectH7CbD^Ag5Xa^^T@O^i7V<2dISa~O_w@;5OtQN}m>iZPe*fptyB z;+Fb`VrYvwg0}1Enke-b+CgE&Vcm41F}?9Q|`@YO0cJFdwHc;b+W8$XT0v z^SkT={w^ykOX1GGV}J6R^kJyAD>;n5zP=b68!LUl{-eL)cbV517#N6wQ5&?``j7Uj z^vx8TXd7*$t+bi8lL1+f3E9*$A}cZ@J1z77%D>>0e|OOTlYJY=8H$0rH?elvlsRGL zuXFBeYO|+q(O};Ko~_Ijzrw*{9hsx#lw3Ef8Z@qJcXK^4b#Rx+m_*TQZ6KDgjdc>% zqgZbtN7f1H8|YJ5^JR^gW0Yf<{)E1Tc@KFqXL&mZBscndt~a^X=QSA{d0pl-oJ;gs zQ>IK&?!&$!Tjn_QDU79@KfE@_gPFORxVm|WiJe+h%?)9L4s!G+O6*edW!OktX)|pn z1F|3!vLT~-R%AwYWcZ)OQhfZM9-I?ApRu4Vq=qu!%N8PjvrhEVuY5{%P|>(r-@K8v z#(pWaO|hPC1ApE&G)2te)17jPMV(zP_8|$9+OAlP@ob`53tb5dk5J}6S(1;No0}2~ zxqkf$|Ly?mkmSyB&i-IOupYo%oqmGib0+!<`gM+ZKHp$$X0A#2{FWK{F`f&Cm z^B+DVp+Dg@7*8D>@hm~@F4neo(iYc@PQ$;!5g0A%yfU#%Es!?BF^WxXJt8!yJu0@+ zX4*~$WI-lmLq_$i$c*gB@Gtonobn$I&JWgcSXV$?Zd}s9%;G)N`Hygay}pI__xPLP zpL8wVp17dSKmO)-^!f6BwMOz*t&yOfgT*8?QJR`#4(K#d=75czJ?3_?3>!8~@y8s) z^fjzSk}vCz%yl>hIS2T+N~~|SYu8Tk4`jxikhuwCA^kkL()TkCaD4M;_9ydsj%ViT zjK7>8>^FYb0^I3S8nrY)-2-cVj%~EDiK&&C2Pa8j_W_cNHN;XpSE5a{4SSQSkyHLg zn`t{4kOi5LO&ueJ6`B3Dz6GcLrw8i^tX#&QY3-XE*LRB2$2zjLN-jhc(9slMpJt^mX_^57U`Y~wg3Tjq^q&6r4k&auzG zrzA_x4d!~Rsn}tyNgvHv$Z^ZK$aulNWPU{78ezp$Ge9+v? z^A}YM)8CNKJjdTVRX5Nxt!-}Zrm@9dlXk22OSi4~_jk(siHUDC{ss_StR2P1(FJ?f zQ{dzKDDjrDl(`{mV|*S+-@(4%xaBzJeBiST?S2BrS&(nf^#mPfzhJ zWNwS`-`dzrnwi>4Gd!O&bO{v8s2mCIH&*)MZ)S?u9ua%&RcUSGsX_gvrh$P)HEmI~ zH2amd(MH-zn`t{#0g(lnkd4--%^}=Y3>G$z|J+vRX2;IZJ z)*n%Ke~~?9Rqeb7A`?G(A}QmRiGLCH>!*~94dSn!rMu|c;MtX%zeL2;)o{s;`8WLz zpLuYN%bb#YnRl{g!1@+zD$GfkJJMg#hm$}3IK_V9c;}u2o@a&gO&wfOFA5bSXCJKV z0>vr5op|N;!9M3Pl0IpbRDSkU*jBa~|K`SX)Ej?PY*DE$)Y}FdX)A43_IHp0S&#|Y zkkQ}z(7^?H-IfsRXO2)H#2DTM8Uf9Q)@)$j z?FpLDj^i};5jnN$l=hmeQSV7~kCEaOnJMl;QR3wvgufNbRcdEkD{);z=B%$X7iV8^ zypua~8ukFUM)W<}7{E0WeY~B$gP5xQ#VM{(5(iF^!l|poGpm!vF{WKD_84ix zD=L*|8*C%n$~Lp@u;CNfau8Yz(KgyhTWK?GCj+t|6S5(rzsI3v&%UKEvxdB&Sg0M; z3*vfhKI#ak!n%!rlr(bwGyl$`UtnGL!oOtTOU&cvZCoRsT1Mr*Uhw$2X4a>_NHCtA z_~i7$-!$|S&&)337MURhMJ38UB>HUnX0qm3XYHMzY4^|2uQOLTRNJw2`*b zX4*~$+HwB(VvbwxC>masXAsWBJ9-0o*)=I^q-O9a+7afu< zSm(11Y>Uz+wvBB>TXmZ2AHZ{q4T=qQw$LWpMjL4>ZKmyH@VAPgxYS>D{Q20o#J3pJ z`K&MoVq5z`lOV1sXvco&l37UP!$rSI?X)kR$cPhP)($^(=S}|PMK7bejCtmjR{Es1 zgU`dp`er{gYTWp9_~_5!pTB_*c>up(%Y25pJ>w+(HgiZm%h2YC{0wW-m)N)deS?+; z4|J{F9;@T?e-AGo_B?mef|tA(@5y_!4QvbBRNpqXk!@w0*>>6x1JNehMjQXpV;r~q z4@U!h(imbKXaBQJ919MRKa>KoUeO<#2rWRp<3Rj~3BOId`|X>UL6e_YN2Y#nsP_I` zr?t^dRl|lCaL#GyEX15)EA#>MJ~%E%-S8@M%-6`(HOwiQDIhd9AH+RyD%Cb>7MTmBh2qgnsq(6Z+^;kvmkWC^)ILYsdg<1F>FY1=&J&^|HsSRvvgyhA|NPjs3%G^B%kx z@5y_!4QvbB#I~`GY%AN$w*Mkm*3%cc@18R z*W|T%58g|AUt7HA=WG+(#_zJN+V=AGU-6(Fl=k3z+Q)H4pF#hj^&$L>thD2eV_eGs zZ~t3|_Itbr$1ShPYx5rL2km{?27abxj<^5v%xQ!6(6T2Fvfy~s`Uo=N&sxrS`*%6s VzPGj?*oL?7&2!jRzW!a0{{<}q*be{z literal 0 HcmV?d00001 diff --git a/data/blank_mod/gfx/interface/culture/culture_ultramar.dds b/data/blank_mod/gfx/interface/culture/culture_ultramar.dds new file mode 100644 index 0000000000000000000000000000000000000000..9fe9554b60aecd7f2d9feab5a94a337ad2b8e3bb GIT binary patch literal 28704 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 literal 0 HcmV?d00001 diff --git a/data/blank_mod/localisation/english/cultures_l_english.yml b/data/blank_mod/localisation/english/cultures_l_english.yml index 9dd90d538c..ae9b8b96ee 100644 --- a/data/blank_mod/localisation/english/cultures_l_english.yml +++ b/data/blank_mod/localisation/english/cultures_l_english.yml @@ -407,6 +407,7 @@ culture_arcansian:0 "Arcansian" culture_armenian:0 "Armenian" culture_aromanian:0 "Aromanian" + culture_arvorigeg:0 "Arvorigeg" culture_ashkenazi:0 "Ashkenazi" culture_asian_minor:0 "Asian (Unclassified)" culture_assamese:0 "Assamese" @@ -494,6 +495,7 @@ culture_dog_culture:0 "Dog" culture_dongren:0 "Dōngrén" culture_dragon_culture:0 "Dragon" + culture_dramor:0 "Dramor" culture_duck_culture:0 "Duck" culture_dummy:0 "£infinite" # Loc icon to show something's wrong culture_dutch:0 "Dutch" @@ -594,6 +596,7 @@ culture_japanese:0 "Japanese" culture_javan:0 "Javan" culture_je:0 "Jê" + culture_jerusalemer:0 "Jerusalemer" culture_jizni:0 "Jižní" culture_juodaodis:0 "Juodaodis" culture_juzhno:0 "Južno" @@ -622,6 +625,7 @@ culture_kreol:0 "Kreol" culture_kru:0 "Kru" culture_kuba:0 "Kuba" + culture_kulfoldi:0 "Külföldi" culture_kujaanan:0 "Kujaanan" culture_kurdish:0 "Kurdish" culture_laaz:0 "Laaz" @@ -735,6 +739,7 @@ culture_old_ligurian:0 "Ligurian" culture_oldpommeranian:0 "Pomeranian" culture_oldspain:0 "Iberian" + culture_oltremare:0 "Oltremare" culture_ontustik:0 "Oñtüstik" culture_oriya:0 "Oriya" culture_oromo:0 "Oromo" @@ -869,6 +874,7 @@ culture_ugrian:0 "Ugrian" culture_uighur:0 "Uyghur" culture_ujvilag:0 "Újvilág" + culture_ultramar:0 "Ultramar" culture_ukrainian:0 "Ukrainian" culture_undead:0 "Undead" culture_unrecognized:0 "Unrecognized" @@ -961,6 +967,7 @@ culture_arcansian_desc:0 "$primary_culture$: §Y$culture_arcansian$§!\n$culture_group$: §Y$romantic$§!\n$idea_language$: §Y$lang_lat$§!" culture_armenian_desc:0 "$primary_culture$: §Y$culture_armenian$§!\n$culture_group$: §Y$levantine$§!\n$idea_language$: §Y$lang_hye$§!" culture_aromanian_desc:0 "$primary_culture$: §Y$culture_aromanian$§!\n$culture_group$: §Y$pan_romanian$§!\n$idea_language$: §Y$lang_rup$§!" + culture_arvorigeg_desc:0 "$primary_culture$: §Y$culture_arvorigeg$§!\n$culture_group$: §Y$british$§!\n$idea_language$: §Y$lang_bre$§!" culture_ashkenazi_desc:0 "$primary_culture$: §Y$culture_ashkenazi$§!\n$pron_guide$: §Yash-ke-NAH-tzee§!\n$culture_group$: §Y$jewish_group$§!\n$idea_language$: §Y$lang_heb$§!" culture_asian_minor_desc:0 "$primary_culture$: §Y$culture_asian_minor$§!\n$culture_group$: §Y$southeast_asian$§!\n$idea_language$: §Y$lang_hin$§!" culture_assamese_desc:0 "$primary_culture$: §Y$culture_assamese$§!\n$culture_group$: §Y$south_asian$§!\n$idea_language$: §Y$lang_asm$§!" @@ -1048,6 +1055,7 @@ culture_dog_culture_desc:0 "$primary_culture$: §Y$culture_dog_culture$§!\n$culture_group$: §Y$non_human$§!\n$idea_language$: §Y$dog_speak$§!" culture_dongren_desc:0 "$primary_culture$: §Y$culture_dongren$§!\n$pron_guide$: §Ytong-ZHERN§!\n$culture_group$: §Y$east_asian$§!\n$idea_language$: §Y$lang_zho$§!" culture_dragon_culture_desc:0 "$primary_culture$: §Y$culture_dragon_culture$§!\n$culture_group$: §Y$non_human$§!\n$idea_language$: §Y$dragon_speak$§!" + culture_dramor_desc:0 "$primary_culture$: §Y$culture_dramor$§!\n$culture_group$: §Y$british$§!\n$idea_language$: §Y$lang_cym$§!" culture_duck_culture_desc:0 "$primary_culture$: §Y$culture_duck_culture$§!\n$culture_group$: §Y$non_human$§!\n$idea_language$: §Y$duck_speak$§!" culture_dummy_desc:0 "$primary_culture$: §Y$culture_dummy$§!\n$culture_group$: §Y$culture_dummy$§!\n$idea_language$: §Y$culture_dummy$§!" culture_dutch_desc:0 "$primary_culture$: §Y$culture_dutch$§!\n$culture_group$: §Y$beneluxian$§!\n$idea_language$: §Y$lang_nld$§!" @@ -1148,6 +1156,7 @@ culture_japanese_desc:0 "$primary_culture$: §Y$culture_japanese$§!\n$culture_group$: §Y$far_east_asian$§!\n$idea_language$: §Y$lang_jpn$§!" culture_javan_desc:0 "$primary_culture$: §Y$culture_javan$§!\n$culture_group$: §Y$southeast_asian$§!\n$idea_language$: §Y$lang_ind$§!" culture_je_desc:0 "$primary_culture$: §Y$culture_je$§!\n$culture_group$: §Y$native_south_american$§!\n$idea_language$: §Y$lang_opy$§!" + culture_jerusalemer_desc:0 "$primary_culture$: §Y$culture_jerusalemer$§!\n$culture_group$: §Y$germanic$§!\n$idea_language$: §Y$lang_ger$§!" culture_jizni_desc:0 "$primary_culture$: §Y$culture_jizni$§!\n$pron_guide$: §YYEEZH-knee§!\n$culture_group$: §Y$czecho_slovak_culture_group$§!\n$idea_language$: §Y$lang_ces$§!" culture_juodaodis_desc:0 "$primary_culture$: §Y$culture_juodaodis$§!\n$culture_group$: §Y$polish_culture_group$§!\n$idea_language$: §Y$lang_lit$§!" culture_juzhno_desc:0 "$primary_culture$: §Y$culture_juzhno$§!\n$pron_guide$: §YYOOZH-no§!\n$culture_group$: §Y$south_slavic$§!\n$idea_language$: §Y$lang_hbs$§!" @@ -1177,6 +1186,7 @@ culture_kru_desc:0 "$primary_culture$: §Y$culture_kru$§!\n$culture_group$: §Y$west_african$§!\n$idea_language$: §Y$lang_kru$§!" culture_kuba_desc:0 "$primary_culture$: §Y$culture_kuba$§!\n$culture_group$: §Y$central_african$§!\n$idea_language$: §Y$lang_lub$§!" culture_kujaanan_desc:0 "$primary_culture$: §Y$culture_kujaanan$§!\n$culture_group$: §Y$baltic$§!\n$pron_guide$: §Ycoo-YAH-nan§!\n$idea_language$: §Y$lang_fin$§!" + culture_kulfoldi_desc:0 "$primary_culture$: §Y$culture_kulfoldi$§!\n$culture_group$: §Y$hungarian_culture_group$§!\n$idea_language$: §Y$lang_hun$§!" culture_kurdish_desc:0 "$primary_culture$: §Y$culture_kurdish$§!\n$culture_group$: §Y$turko_semitic$§!\n$idea_language$: §Y$lang_kur$§!" culture_laaz_desc:0 "$primary_culture$: §Y$culture_laaz$§!\n$culture_group$: §Y$jewish_group$§!\n$idea_language$: §Y$lang_heb$§!" culture_lacanite_desc:0 "$primary_culture$: §Y$culture_lacanite$§!\n$pron_guide$: §Ylah-kah-NIGHT§!\n$culture_group$: §Y$punic$§!\n$idea_language$: §Y$lang_phn$§!" @@ -1289,6 +1299,7 @@ culture_old_ligurian_desc:0 "$primary_culture$: §Y$culture_old_ligurian$§!\n$culture_group$: §Y$old_italian$§!\n$idea_language$: §Y$lang_lij$§!" culture_oldpommeranian_desc:0 "$primary_culture$: §Y$culture_oldpommeranian$§!\n$culture_group$: §Y$polish_culture_group$§!\n$idea_language$: §Y$lang_csb$§!" culture_oldspain_desc:0 "$primary_culture$: §Y$culture_oldspain$§!\n$culture_group$: §Y$pre_indo_european$§!\n$idea_language$: §Y$lang_xib$§!" + culture_oltremare_desc:0 "$primary_culture$: §Y$culture_oltremare$§!\n$culture_group$: §Y$italian$§!\n$idea_language$: §Y$lang_ita$§!" culture_ontustik_desc:0 "$primary_culture$: §Y$culture_ontustik$§!\n$pron_guide$: §Yon-TYOOSE-tick§!\n$culture_group$: §Y$central_asian$§!\n$idea_language$: §Y$lang_uzb$§!" culture_oriya_desc:0 "$primary_culture$: §Y$culture_oriya$§!\n$culture_group$: §Y$south_asian$§!\n$idea_language$: §Y$lang_ori$§!" culture_oromo_desc:0 "$primary_culture$: §Y$culture_oromo$§!\n$culture_group$: §Y$east_african$§!\n$idea_language$: §Y$lang_orm$§!" @@ -1423,6 +1434,7 @@ culture_ugrian_desc:0 "$primary_culture$: §Y$culture_ugrian$§!\n$culture_group$: §Y$east_slavic$§!\n$idea_language$: §Y$lang_kca$§!" culture_uighur_desc:0 "$primary_culture$: §Y$culture_uighur$§!\n$culture_group$: §Y$iranian_turanian$§!\n$idea_language$: §Y$lang_uig$§!" culture_ujvilag_desc:0 "$primary_culture$: §Y$culture_ujvilag$§!\n$pron_guide$: §Yooey-VEE-lag§!\n$culture_group$: §Y$hungarian_culture_group$§!\n$idea_language$: §Y$lang_hun$§!" + culture_ultramar_desc:0 "$primary_culture$: §Y$culture_ultramar$§!\n$culture_group$: §Y$iberian$§!\n$idea_language$: §Y$lang_spa$§!" culture_ukrainian_desc:0 "$primary_culture$: §Y$culture_ukrainian$§!\n$culture_group$: §Y$east_slavic$§!\n$idea_language$: §Y$lang_ukr$§!" culture_undead_desc:0 "$primary_culture$: §Y$culture_undead$§!\n$culture_group$: §Y$anti_human$§!\n$idea_language$: §Y$undead_speak$§!" culture_unrecognized_desc:0 "$primary_culture$: §Y$culture_unrecognized$§!\n$culture_group$: §Y$culture_unrecognized$§!\n$idea_language$: §Y$lang_unrecognized$§!" diff --git a/src/HOI4World/Decisions/Decision.cpp b/src/HOI4World/Decisions/Decision.cpp index 6e72f6221c..0f6c9cf397 100644 --- a/src/HOI4World/Decisions/Decision.cpp +++ b/src/HOI4World/Decisions/Decision.cpp @@ -125,7 +125,7 @@ HoI4::decision::decision(std::string decisionName, std::istream& theStream): nam }); registerKeyword("fire_only_once", [this](std::istream& theStream) { const commonItems::singleString theFire(theStream); - fireOnlyOnce = theFire.getString(); + fireOnlyOnce == theFire.getString().find("yes"); }); registerKeyword("modifier", [this](std::istream& theStream) { const commonItems::stringOfItem theModifier(theStream); diff --git a/src/HOI4World/Decisions/Decision.h b/src/HOI4World/Decisions/Decision.h index 78cfac46a3..5748cc95ed 100644 --- a/src/HOI4World/Decisions/Decision.h +++ b/src/HOI4World/Decisions/Decision.h @@ -25,6 +25,7 @@ class decision: commonItems::parser [[nodiscard]] std::string getRemoveEffect() const { return removeEffect; } [[nodiscard]] std::string getTimeoutEffect() const { return timeoutEffect; } [[nodiscard]] std::string getAiWillDo() const { return aiWillDo; } + [[nodiscard]] bool getFireOnlyOnce() const { return fireOnlyOnce; } void setAllowed(const std::string& newAllowed) { allowed = newAllowed; } void setAvailable(const std::string& newAvailable) { available = newAvailable; } @@ -38,6 +39,7 @@ class decision: commonItems::parser void setTimeoutEffect(const std::string& newEffect) { timeoutEffect = newEffect; } void setAiWillDo(const std::string& newAiWillDo) { aiWillDo = newAiWillDo; } void setModifier(const std::string& newModifier) { modifier = newModifier; } + void setFireOnlyOnce(const bool& firesOnlyOnce) { fireOnlyOnce = firesOnlyOnce; } bool operator==(const decision& otherDecision) const; @@ -70,7 +72,7 @@ class decision: commonItems::parser std::string removeEffect; std::string timeoutEffect; std::string aiWillDo; - std::string fireOnlyOnce; + bool fireOnlyOnce = false; std::optional daysRemove; std::optional daysReEnable; std::optional cost; diff --git a/src/HOI4World/Decisions/UnionDecisions.cpp b/src/HOI4World/Decisions/UnionDecisions.cpp index 75288286e8..0e3c8f6284 100644 --- a/src/HOI4World/Decisions/UnionDecisions.cpp +++ b/src/HOI4World/Decisions/UnionDecisions.cpp @@ -2,58 +2,66 @@ void HoI4::UnionDecisions::createDecisions(const std::vector& unionCountries) { - DecisionsInCategory formable_decisions_category("formable_decisions"); + DecisionsInCategory formable_decisions_category("formable_nations"); for (auto unionCountry: unionCountries) { - const auto& name = "form_" + unionCountry.GetTag() + "_union"; - decision formationDecision(name); + const auto& oldTag = unionCountry.GetOldTag(); const auto& tag = unionCountry.GetTag(); + const auto& name = "form_" + tag; + decision formationDecision(name); + + // Fire Only Once + //formationDecision.setFireOnlyOnce(true); // Allowed - std::string allowed = "NOT = { has_original_tag = " + tag + " }\n"; - allowed += "OR = {\n"; - for (const auto& culture: unionCountry.GetCultures()) - { - allowed += "\thas_idea = culture_" + culture + "\n"; - } - allowed += "}\n"; + std::string allowed = "= {\n"; + allowed += "\t\t\tNOT = { original_tag = " + oldTag + " }\n"; + allowed += "\t\t}\n"; formationDecision.setAllowed(allowed); // Visible - std::string visible = "NOT = {\n"; - visible += "\t" + tag + "= { exists = no }\n"; - visible += "}\n"; + std::string visible = "= {\n"; + visible += "\t\t\tOR = {\n"; + for (const auto& culture: unionCountry.GetCultures()) + { + visible += "\t\t\t\thas_idea = culture_" + culture + "\n"; + } + visible += "\t\t\t}\n"; + visible += "\t\t\t" + oldTag + " = { exists = no }\n"; + visible += "\t\t}\n"; formationDecision.setVisible(visible); // Available - std::string available = "NOT = {\n"; - available += "\tany_other_country = {\n"; - available += "\t\thas_cosmetic_tag =" + tag + "_union\n"; - available += "\t\texists = yes\n"; - available += "\t}\n}\n"; - available += "all_state = {\n"; - available += "\tif = { \n"; - available += "\t\tlimit = { is_core_of = " + tag + "}\n"; - available += "\t\tis_controlled_by = ROOT\n"; - available += "\t}\n}\n"; + std::string available = "= {\n"; + available += "\t\t\tNOT = {\n"; + available += "\t\t\t\tany_other_country = {\n"; + available += "\t\t\t\t\thas_cosmetic_tag = " + tag + "\n"; + available += "\t\t\t\t\texists = yes\n"; + available += "\t\t\t\t}\n\t\t\t}\n"; + available += "\t\t\tall_state = {\n"; + available += "\t\t\t\tif = { \n"; + available += "\t\t\t\t\tlimit = { is_core_of = " + oldTag + " }\n"; + available += "\t\t\t\t\tis_controlled_by = ROOT\n"; + available += "\t\t\t\t}\n\t\t\t}\n\t\t}\n"; formationDecision.setAvailable(available); // Complete Effect - std::string completeEffect = "set_cosmetic_flag = " + tag + "_union\n"; - completeEffect += "every_state = {\n"; - completeEffect += "\tlimit = {\n"; - completeEffect += "\t\tOR = {\n"; - completeEffect += "\t\t\tis_core_of = " + tag; - completeEffect += "\t\t\tany_country = {\n"; - completeEffect += "\t\t\t\thas_cosmetic_tag = " + tag + "_union\n"; - completeEffect += "\t\t\t\tPREV = { is_core_of = THIS }\n"; - completeEffect += "\t\t\t}\n\t\t}\n\t}\n"; - completeEffect += "\tadd_core_of = ROOT\n"; - completeEffect += "}"; + std::string completeEffect = "= {\n"; + completeEffect += "\t\t\tset_cosmetic_tag = " + tag + "\n"; + completeEffect += "\t\t\tevery_state = {\n"; + completeEffect += "\t\t\t\tlimit = {\n"; + completeEffect += "\t\t\t\t\tOR = {\n"; + completeEffect += "\t\t\t\t\t\tis_core_of = " + oldTag + "\n"; + completeEffect += "\t\t\t\t\t\tany_country = {\n"; + completeEffect += "\t\t\t\t\t\t\thas_cosmetic_tag = " + tag + "\n"; + completeEffect += "\t\t\t\t\t\t\tPREV = { is_core_of = THIS }\n"; + completeEffect += "\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n"; + completeEffect += "\t\t\t\tadd_core_of = ROOT\n"; + completeEffect += "\t\t\t}\n\t\t}"; formationDecision.setCompleteEffect(completeEffect); // AI Will Do - formationDecision.setAiWillDo("base = 100"); + formationDecision.setAiWillDo("= {\n\t\t\tbase = 100\n\t\t}"); // Add to Category formable_decisions_category.addDecision(formationDecision); diff --git a/src/OutHoi4/Decisions/OutDecision.cpp b/src/OutHoi4/Decisions/OutDecision.cpp index c3d5ff1e8c..25fc8c9283 100644 --- a/src/OutHoi4/Decisions/OutDecision.cpp +++ b/src/OutHoi4/Decisions/OutDecision.cpp @@ -81,9 +81,9 @@ std::ostream& HoI4::operator<<(std::ostream& outStream, const decision& outDecis { outStream << "\n\t\tcustom_cost_text " << outDecision.customCostText << "\n"; } - if (!outDecision.fireOnlyOnce.empty()) + if (outDecision.fireOnlyOnce) { - outStream << "\n\t\tfire_only_once = " << outDecision.fireOnlyOnce << "\n"; + outStream << "\n\t\tfire_only_once = yes\n"; } if (!outDecision.modifier.empty()) { From baa367b3e494de93494b6cf6f123a4b931e8f1de Mon Sep 17 00:00:00 2001 From: Elfangor567 Date: Thu, 4 Aug 2022 00:47:27 -0400 Subject: [PATCH 4/8] Alpha 0.3 - Now based on state flags - State Trigger decision added to show where states you need to conquer are - IMPORTANT - Does not seem to initialize currently, and so is completely broken. Further investigation pending. --- data/blank_mod/common/ideas/_cultures.txt | 8 +- .../english/cultures_l_english.yml | 2 + .../english/decisions2_l_english.yml | 4 +- data/configurables/cultureGroupToGraphics.txt | 2 +- src/HOI4World/Decisions/Decision.cpp | 3 +- src/HOI4World/Decisions/Decision.h | 4 + src/HOI4World/Decisions/Decisions.h | 1 + src/HOI4World/Decisions/UnionDecisions.cpp | 168 +++++++++++++++--- src/HOI4World/Decisions/UnionDecisions.h | 1 + src/HOI4World/States/HoI4State.h | 4 + src/HOI4World/States/HoI4States.cpp | 18 ++ src/OutHoi4/States/OutHoI4State.cpp | 4 + src/V2World/Provinces/Province.cpp | 32 +++- src/V2World/Provinces/Province.h | 2 + 14 files changed, 224 insertions(+), 29 deletions(-) diff --git a/data/blank_mod/common/ideas/_cultures.txt b/data/blank_mod/common/ideas/_cultures.txt index 2b46cc000e..efe51709d9 100644 --- a/data/blank_mod/common/ideas/_cultures.txt +++ b/data/blank_mod/common/ideas/_cultures.txt @@ -1087,6 +1087,12 @@ ideas = { picture = culture_garanian modifier = { } } + culture_gaul = { + removal_cost = -1 + allowed = { always = no } allowed_civil_war = { always = yes } + picture = culture_gaulish + modifier = { } + } culture_gaulish = { removal_cost = -1 allowed = { always = no } allowed_civil_war = { always = yes } @@ -3505,7 +3511,7 @@ ideas = { picture = culture_noculture modifier = { } } - culture_leader = { + culture_unit = { removal_cost = -1 allowed = { always = no } allowed_civil_war = { always = yes } picture = culture_noculture diff --git a/data/blank_mod/localisation/english/cultures_l_english.yml b/data/blank_mod/localisation/english/cultures_l_english.yml index ae9b8b96ee..d7628d5b16 100644 --- a/data/blank_mod/localisation/english/cultures_l_english.yml +++ b/data/blank_mod/localisation/english/cultures_l_english.yml @@ -537,6 +537,7 @@ culture_galician:0 "Galician" culture_garanian:0 "Garanian" culture_garibaldine:0 "Garibaldine" + culture_gaul:0 "Gaul" culture_gaulish:0 "Gaulish" culture_geheimnisdeutsch:0 "Geheimnis-Deutsch" culture_georgian:0 "Georgian" @@ -1097,6 +1098,7 @@ culture_galician_desc:0 "$primary_culture$: §Y$culture_galician$§!\n$culture_group$: §Y$iberian$§!\n$idea_language$: §Y$lang_glg$§!" culture_garanian_desc:0 "$primary_culture$: §Y$culture_garanian$§!\n$culture_group$: §Y$romantic$§!\n$idea_language$: §Y$lang_lat$§!" culture_garibaldine_desc:0 "$primary_culture$: §Y$culture_garibaldine$§!\n$culture_group$: §Y$italian$§!\n$idea_language$: §Y$lang_ita$§!" + culture_gaul_desc:0 "$primary_culture$: §Y$culture_gaul$§!\n$culture_group$: §Y$celtic$§!\n$idea_language$: §Y$lang_xtg$§!" culture_gaulish_desc:0 "$primary_culture$: §Y$culture_gaulish$§!\n$culture_group$: §Y$celtic$§!\n$idea_language$: §Y$lang_xtg$§!" culture_geheimnisdeutsch_desc:0 "$primary_culture$: §Y$culture_geheimnisdeutsch$§!\n$pron_guide$: §gueh-high'm-niece-DOYCH§!\n$culture_group$: §Y$germanic$§!\n$idea_language$: §Y$lang_gem-ame$§!" culture_georgian_desc:0 "$primary_culture$: §Y$culture_georgian$§!\n$culture_group$: §Y$levantine$§!\n$idea_language$: §Y$lang_kat$§!" diff --git a/data/blank_mod/localisation/english/decisions2_l_english.yml b/data/blank_mod/localisation/english/decisions2_l_english.yml index 8361e1e98c..a52c3cc2b9 100644 --- a/data/blank_mod/localisation/english/decisions2_l_english.yml +++ b/data/blank_mod/localisation/english/decisions2_l_english.yml @@ -89,4 +89,6 @@ build_suez_canal_desc:0 "Our engineers have proposed to build a canal across the Isthmus of Suez. This would allow our ships to take a more direct route between Europe and Asia, so long as we control the territory it passes through." build_panama_canal:0 "Build the Panama Canal" build_panama_canal_desc:0 "Our engineers have proposed to build a canal across the Isthmus of Panama. This would allow our ships to take a more direct route between the Atlantic and Pacific, so long as we control the territory it passes through." - canal_unbuilt_tt:0 "This canal is only theoretical so far. Someone must spend the effort to actually build it." \ No newline at end of file + canal_unbuilt_tt:0 "This canal is only theoretical so far. Someone must spend the effort to actually build it." + union_formation_decision_tt:0 "Controls [?temp_original_states]; needs [?original_states]" + \ No newline at end of file diff --git a/data/configurables/cultureGroupToGraphics.txt b/data/configurables/cultureGroupToGraphics.txt index c4dc657f27..ab1c165501 100644 --- a/data/configurables/cultureGroupToGraphics.txt +++ b/data/configurables/cultureGroupToGraphics.txt @@ -6906,7 +6906,7 @@ falklands_sunset_invasion = { } male_operative_portraits = { "gfx/leaders/Animalia/portrait_Spymaster_Glitterhoof.dds" - "gfx/leaders/Animalia/portrait_unicorn_disguise_buisness.dds" + "gfx/leaders/Animalia/portrait_unicorn_operative.dds" } female_operative_portraits = { "gfx/leaders/Animalia/portrait_Spymaster_Glitterhoof.dds" # Revise diff --git a/src/HOI4World/Decisions/Decision.cpp b/src/HOI4World/Decisions/Decision.cpp index 0f6c9cf397..1f7e7f9f40 100644 --- a/src/HOI4World/Decisions/Decision.cpp +++ b/src/HOI4World/Decisions/Decision.cpp @@ -125,7 +125,8 @@ HoI4::decision::decision(std::string decisionName, std::istream& theStream): nam }); registerKeyword("fire_only_once", [this](std::istream& theStream) { const commonItems::singleString theFire(theStream); - fireOnlyOnce == theFire.getString().find("yes"); + if (theFire.getString().find("yes") != std::string::npos) + fireOnlyOnce = true; }); registerKeyword("modifier", [this](std::istream& theStream) { const commonItems::stringOfItem theModifier(theStream); diff --git a/src/HOI4World/Decisions/Decision.h b/src/HOI4World/Decisions/Decision.h index 5748cc95ed..671b1179b7 100644 --- a/src/HOI4World/Decisions/Decision.h +++ b/src/HOI4World/Decisions/Decision.h @@ -29,8 +29,10 @@ class decision: commonItems::parser void setAllowed(const std::string& newAllowed) { allowed = newAllowed; } void setAvailable(const std::string& newAvailable) { available = newAvailable; } + void setIcon(const std::string& newIcon) { icon = newIcon; } void setHighlightStateTargets(const std::string& newHighlightStates) { highlightStateTargets = newHighlightStates; } void setActivation(const std::string& newActivation) { activation = newActivation; } + void setTargetRootTrigger(const std::string& newTargetRootTrigger) { targetRootTrigger = newTargetRootTrigger; } void setTargetTrigger(const std::string& newTargetTrigger) { targetTrigger = newTargetTrigger; } void setVisible(const std::string& newVisible) { visible = newVisible; } void setCompleteEffect(const std::string& newEffect) { completeEffect = newEffect; } @@ -39,6 +41,8 @@ class decision: commonItems::parser void setTimeoutEffect(const std::string& newEffect) { timeoutEffect = newEffect; } void setAiWillDo(const std::string& newAiWillDo) { aiWillDo = newAiWillDo; } void setModifier(const std::string& newModifier) { modifier = newModifier; } + void setOnMapMode(const std::string& newOnMapMode) { onMapMode = newOnMapMode; } + void setStateTarget(const bool& usesStateTarget) { stateTarget = usesStateTarget; } void setFireOnlyOnce(const bool& firesOnlyOnce) { fireOnlyOnce = firesOnlyOnce; } bool operator==(const decision& otherDecision) const; diff --git a/src/HOI4World/Decisions/Decisions.h b/src/HOI4World/Decisions/Decisions.h index 0ac4434234..794afde6b7 100644 --- a/src/HOI4World/Decisions/Decisions.h +++ b/src/HOI4World/Decisions/Decisions.h @@ -18,6 +18,7 @@ #include "src/HOI4World/Decisions/UnionDecisions.h" #include "src/HOI4World/Events/Events.h" #include "src/HOI4World/States/DefaultState.h" +#include "src/HOI4World/States/HoI4State.h" #include #include #include diff --git a/src/HOI4World/Decisions/UnionDecisions.cpp b/src/HOI4World/Decisions/UnionDecisions.cpp index 0e3c8f6284..fee0623968 100644 --- a/src/HOI4World/Decisions/UnionDecisions.cpp +++ b/src/HOI4World/Decisions/UnionDecisions.cpp @@ -8,16 +8,130 @@ void HoI4::UnionDecisions::createDecisions(const std::vector const auto& oldTag = unionCountry.GetOldTag(); const auto& tag = unionCountry.GetTag(); const auto& name = "form_" + tag; + decision formationDecisionStateTrigger(name + "_state_trigger"); decision formationDecision(name); - // Fire Only Once - //formationDecision.setFireOnlyOnce(true); - + // STATE TRIGGER // Allowed std::string allowed = "= {\n"; allowed += "\t\t\tNOT = { original_tag = " + oldTag + " }\n"; allowed += "\t\t}\n"; - formationDecision.setAllowed(allowed); + formationDecisionStateTrigger.setAllowed(allowed); + + // State Target/On Map Mode/Icon + formationDecisionStateTrigger.setStateTarget(true); + formationDecisionStateTrigger.setOnMapMode("map_only"); + formationDecisionStateTrigger.setIcon("decision_generic_nationalism"); + + // Target ROOT Trigger + std::string targetRootTrigger = "= {\n"; + targetRootTrigger += "\t\t\t highlight_states_trigger = {\n"; + targetRootTrigger += "\t\t\t\t OR = {\n"; + for (const auto& culture: unionCountry.GetCultures()) + { + targetRootTrigger += "\t\t\t\t\thas_state_flag = major_culture_" + culture + "_flag\n"; + } + targetRootTrigger += "\t\t\t\t}\n"; + targetRootTrigger += "\t\t\t\tNOT = { is_controlled_by = ROOT }\n"; + targetRootTrigger += "\t\t\t}\n"; + targetRootTrigger += "\t\t}\n"; + formationDecisionStateTrigger.setTargetTrigger(targetRootTrigger); + + // Target Trigger + std::string targetTrigger = "= {\n"; + targetTrigger += "\t\t\t OR = {\n"; + for (const auto& culture: unionCountry.GetCultures()) + { + targetTrigger += "\t\t\t\thas_state_flag = major_culture_" + culture + "_flag\n"; + } + targetTrigger += "\t\t\t}\n"; + targetTrigger += "\t\t\tNOT = { is_controlled_by = ROOT }\n"; + targetTrigger += "\t\t}\n"; + formationDecisionStateTrigger.setTargetTrigger(targetTrigger); + + // Highlight States + std::string highlightStates = "= {\n"; + highlightStates += "\t\t\t highlight_states_trigger = {\n"; + highlightStates += "\t\t\t\t OR = {\n"; + for (const auto& culture: unionCountry.GetCultures()) + { + highlightStates += "\t\t\t\t\thas_state_flag = major_culture_" + culture + "_flag\n"; + } + highlightStates += "\t\t\t\t}\n"; + highlightStates += "\t\t\t\tNOT = { is_controlled_by = ROOT }\n"; + highlightStates += "\t\t\t}\n"; + highlightStates += "\t\t\thighlight_color_before_active = 1\n"; + highlightStates += "\t\t\thighlight_color_while_active = 2\n"; + highlightStates += "\t\t}\n"; + formationDecisionStateTrigger.setHighlightStateTargets(highlightStates); + + // Available + std::string available = "= {\n"; + available += "\t\t\t hidden_trigger = {\n"; + available += "\t\t\t\t set_temp_variable = { temp_original_states = 0 }\n"; + available += "\t\t\t\t set_temp_variable = { original_states = 0 }\n"; + available += "\t\t\t\t all_state = {\n"; + available += "\t\t\t\t\t if = {\n"; + available += "\t\t\t\t\t\t limit = {\n"; + available += "\t\t\t\t\t\t\t OR = {\n"; + for (const auto& culture: unionCountry.GetCultures()) + { + available += "\t\t\t\t\t\t\t\thas_state_flag = major_culture_" + culture + "_flag\n"; + } + available += "\t\t\t\t\t\t\t}\n"; + available += "\t\t\t\t\t\t}\n"; + available += "\t\t\t\t\t\tadd_to_temp_variable = { ROOT.original_states = 1 }\n"; + available += "\t\t\t\t\t}\n"; + available += "\t\t\t\t}\n"; + available += "\t\t\t\tall_controlled_state = {\n"; + available += "\t\t\t\t\t if = {\n"; + available += "\t\t\t\t\t\t limit = {\n"; + available += "\t\t\t\t\t\t\t OR = {\n"; + for (const auto& culture: unionCountry.GetCultures()) + { + available += "\t\t\t\t\t\t\t\thas_state_flag = major_culture_" + culture + "_flag\n"; + } + available += "\t\t\t\t\t\t\t}\n"; + available += "\t\t\t\t\t\t}\n"; + available += "\t\t\t\t\t\tadd_to_temp_variable = { ROOT.temp_original_states = 1 }\n"; + available += "\t\t\t\t\t}\n"; + available += "\t\t\t\t}\n"; + available += "\t\t\t\tmultiply_temp_variable = { ROOT.original_states = 0.75 }\n"; + available += "\t\t\t\tround_temp_variable = ROOT.original_states\n"; + available += "\t\t\t}\n"; + available += "\t\t\tcustom_trigger_tooltip = {\n"; + available += "\t\t\t\ttooltip = union_formation_decision_tt\n"; + available += "\t\t\t\tcheck_variable = {\n"; + available += "\t\t\t\t\tvar = temp_original_states\n"; + available += "\t\t\t\t\tvalue = original_states\n"; + available += "\t\t\t\t\tcompare = greater_than_or_equals\n"; + available += "\t\t\t\t}\n"; + available += "\t\t\t}\n"; + available += "\t\t\tNOT = {\n"; + available += "\t\t\t\tany_other_country = {\n"; + available += "\t\t\t\t\thas_cosmetic_tag = CHI_union\n"; + available += "\t\t\t\t\texists = yes\n"; + available += "\t\t\t\t}\n"; + available += "\t\t\t}\n"; + available += "\t\t}\n"; + formationDecisionStateTrigger.setAvailable(available); + + // Complete Effect + std::string completeEffect = "= {\n"; + completeEffect += "\t\t\tactivate_decision = " + name + "\n"; + completeEffect += "\t\t}"; + formationDecisionStateTrigger.setCompleteEffect(completeEffect); + + // AI Will Do + formationDecisionStateTrigger.setAiWillDo("= {\n\t\t\tbase = 100\n\t\t}"); + + // Add to Category + formable_decisions_category.addDecision(formationDecisionStateTrigger); + + + // FORMATION DECISION + // Allowed + formationDecision.setAllowed(allowed); // Same as State Trigger // Visible std::string visible = "= {\n"; @@ -32,32 +146,38 @@ void HoI4::UnionDecisions::createDecisions(const std::vector formationDecision.setVisible(visible); // Available - std::string available = "= {\n"; - available += "\t\t\tNOT = {\n"; - available += "\t\t\t\tany_other_country = {\n"; - available += "\t\t\t\t\thas_cosmetic_tag = " + tag + "\n"; - available += "\t\t\t\t\texists = yes\n"; - available += "\t\t\t\t}\n\t\t\t}\n"; - available += "\t\t\tall_state = {\n"; - available += "\t\t\t\tif = { \n"; - available += "\t\t\t\t\tlimit = { is_core_of = " + oldTag + " }\n"; - available += "\t\t\t\t\tis_controlled_by = ROOT\n"; - available += "\t\t\t\t}\n\t\t\t}\n\t\t}\n"; - formationDecision.setAvailable(available); + formationDecision.setAvailable(available); // Same as State Trigger // Complete Effect - std::string completeEffect = "= {\n"; + completeEffect = "= {\n"; completeEffect += "\t\t\tset_cosmetic_tag = " + tag + "\n"; completeEffect += "\t\t\tevery_state = {\n"; completeEffect += "\t\t\t\tlimit = {\n"; - completeEffect += "\t\t\t\t\tOR = {\n"; - completeEffect += "\t\t\t\t\t\tis_core_of = " + oldTag + "\n"; - completeEffect += "\t\t\t\t\t\tany_country = {\n"; - completeEffect += "\t\t\t\t\t\t\thas_cosmetic_tag = " + tag + "\n"; - completeEffect += "\t\t\t\t\t\t\tPREV = { is_core_of = THIS }\n"; - completeEffect += "\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n"; + completeEffect += "\t\t\t\t\t OR = {\n"; + for (const auto& culture: unionCountry.GetCultures()) + { + completeEffect += "\t\t\t\t\t\thas_state_flag = major_culture_" + culture + "_flag\n"; + } + completeEffect += "\t\t\t\t\t}\n"; + completeEffect += "\t\t\t\t}\n"; completeEffect += "\t\t\t\tadd_core_of = ROOT\n"; - completeEffect += "\t\t\t}\n\t\t}"; + completeEffect += "\t\t\t\tremove_core_of = " + oldTag + "\n"; + completeEffect += "\t\t\t}\n"; + completeEffect += "\t\t\tevery_state = {\n "; + completeEffect += "\t\t\t\tlimit = {\n "; + completeEffect += "\t\t\t\t\tis_claimed_by = " + oldTag + "\n"; + completeEffect += "\t\t\t\t}\n"; + completeEffect += "\t\t\t\tadd_claim_by = ROOT\n"; + completeEffect += "\t\t\t\tremove_claim_by = " + oldTag + "\n"; + completeEffect += "\t\t\t}\n"; + completeEffect += "\t\t\tevery_possible_country = {\n "; + completeEffect += "\t\t\t\tlimit = {\n "; + completeEffect += "\t\t\t\t\tNOT = { tag = ROOT }\n"; + completeEffect += "\t\t\t\t\thas_cosmetic_tag = " + tag + "\n"; + completeEffect += "\t\t\t\t}\n"; + completeEffect += "\t\t\t\tdrop_cosmetic_tag = yes\n"; + completeEffect += "\t\t\t}\n"; + completeEffect += "\t\t}"; formationDecision.setCompleteEffect(completeEffect); // AI Will Do diff --git a/src/HOI4World/Decisions/UnionDecisions.h b/src/HOI4World/Decisions/UnionDecisions.h index a3334b770d..4d67a67d6a 100644 --- a/src/HOI4World/Decisions/UnionDecisions.h +++ b/src/HOI4World/Decisions/UnionDecisions.h @@ -6,6 +6,7 @@ #include "src/HOI4World/Countries/UnionCountry.h" #include "src/HOI4World/Decisions/DecisionsFile.h" #include "src/HOI4World/Decisions/DecisionsCategories.h" +#include "src/HOI4World/States/HoI4State.h" diff --git a/src/HOI4World/States/HoI4State.h b/src/HOI4World/States/HoI4State.h index a8fa560593..3a94933e20 100644 --- a/src/HOI4World/States/HoI4State.h +++ b/src/HOI4World/States/HoI4State.h @@ -49,6 +49,7 @@ class State if (airbaseLevel > 10) airbaseLevel = 10; } + void addMajorCulture(std::string newCulture) { majorCultures.insert(newCulture); } void addVictoryPointValue(int additionalValue) { victoryPointValue += additionalValue; } void setVPValue(int value) { victoryPointValue = value; } void setVPLocation(int province) { victoryPointPosition = province; } @@ -73,6 +74,7 @@ class State const std::string& getOwner() const { return ownerTag; } const std::set& getCores() const { return cores; } [[nodiscard]] const auto& getClaims() const { return claims; } + [[nodiscard]] const auto& getMajorCultures() const { return majorCultures; } const std::map>& getControlledProvinces() const { return controlledProvinces; } bool isImpassable() const { return impassable; } int getDockyards() const { return dockyards; } @@ -137,6 +139,8 @@ class State std::set claims; std::map> controlledProvinces; + std::set majorCultures; + bool capitalState = false; bool impassable = false; bool hadImpassablePart = false; diff --git a/src/HOI4World/States/HoI4States.cpp b/src/HOI4World/States/HoI4States.cpp index 77b9fc6019..b2c30d2e9d 100644 --- a/src/HOI4World/States/HoI4States.cpp +++ b/src/HOI4World/States/HoI4States.cpp @@ -587,6 +587,9 @@ void HoI4::States::addProvincesAndCoresToNewState(State& newState, uint64_t totalPopulation = 0; double acceptedPopulation = 0; + + std::map popCultureMap; + for (const auto& sourceProvinceNum: sourceProvinceNums) { if (const auto& vic2Province = vic2Provinces.find(sourceProvinceNum); vic2Province != vic2Provinces.end()) @@ -595,6 +598,14 @@ void HoI4::States::addProvincesAndCoresToNewState(State& newState, totalPopulation += provincePopulation; acceptedPopulation += provincePopulation * vic2Province->second->getPercentageWithCultures(acceptedCultures); + + for (const auto& culture: vic2Province->second->getCultures()) + if (!popCultureMap.count(culture)) + popCultureMap.emplace(culture, + provincePopulation * vic2Province->second->getPercentageWithCulture(culture)); + else + popCultureMap.find(culture)->second += + provincePopulation * vic2Province->second->getPercentageWithCulture(culture); } } @@ -606,6 +617,13 @@ void HoI4::States::addProvincesAndCoresToNewState(State& newState, { newState.addClaims({HoI4Core}); } + Log(LogLevel::Debug) << "State: " << newState.getID(); + for (const auto& popCulture: popCultureMap) + { + Log(LogLevel::Debug) << "\t\t\t" << popCulture.first << " Pops: " << popCulture.second << "\n\tPopulation: " << static_cast(totalPopulation); + if (popCulture.second / static_cast(totalPopulation) >= 0.25 && !newState.getMajorCultures().count(popCulture.first)) + newState.addMajorCulture(popCulture.first); + } } } diff --git a/src/OutHoi4/States/OutHoI4State.cpp b/src/OutHoi4/States/OutHoI4State.cpp index 0e1e37c7de..49cf2f8d54 100644 --- a/src/OutHoi4/States/OutHoI4State.cpp +++ b/src/OutHoi4/States/OutHoI4State.cpp @@ -96,6 +96,10 @@ void HoI4::outputHoI4State(std::ostream& output, const State& theState, const bo { output << "\t\tadd_claim_by = " << claim << "\n"; } + for (const auto& majorCulture: theState.getMajorCultures()) + { + output << "\t\tset_state_flag = major_culture_" << majorCulture << "_flag\n"; + } for (const auto& countryControlledProvinces: theState.getControlledProvinces()) { output << "\t\t" << countryControlledProvinces.first << " = {\n"; diff --git a/src/V2World/Provinces/Province.cpp b/src/V2World/Provinces/Province.cpp index 9eacf38a49..ac4905e301 100644 --- a/src/V2World/Provinces/Province.cpp +++ b/src/V2World/Provinces/Province.cpp @@ -1,7 +1,6 @@ #include "src/V2World/Provinces/Province.h" - int Vic2::Province::getTotalPopulation() const { return getPopulation(); @@ -36,6 +35,26 @@ int Vic2::Province::getLiteracyWeightedPopulation(const std::optional& cultures) const { @@ -58,6 +77,17 @@ double Vic2::Province::getPercentageWithCultures(const std::set& cu return 1.0 * populationOfCultures / totalPopulation; } +std::set Vic2::Province::getCultures() const +{ + std::set cultures; + for (const auto& pop: pops) + { + if (!cultures.count(pop.getCulture())) + cultures.emplace(pop.getCulture()); + } + return cultures; +} + constexpr double minimumLiteracyWeighting = 0.1; constexpr double literacyWeighting = 0.9; diff --git a/src/V2World/Provinces/Province.h b/src/V2World/Provinces/Province.h index 9297af8210..faacd96133 100644 --- a/src/V2World/Provinces/Province.h +++ b/src/V2World/Provinces/Province.h @@ -25,7 +25,9 @@ class Province [[nodiscard]] int getTotalPopulation() const; [[nodiscard]] int getPopulation(const std::optional& type = {}) const; [[nodiscard]] int getLiteracyWeightedPopulation(const std::optional& type = {}) const; + [[nodiscard]] double getPercentageWithCulture(const std::string& culture) const; [[nodiscard]] double getPercentageWithCultures(const std::set& cultures) const; + [[nodiscard]] std::set getCultures() const; void setOwner(const std::string& _owner) { owner = _owner; } void addCore(const std::string& core) { cores.insert(core); } From e5406d49cdc92a8b7c625f9b6e8f706f615ef78b Mon Sep 17 00:00:00 2001 From: cetvrtak <59363714+cetvrtak@users.noreply.github.com> Date: Wed, 3 Aug 2022 23:26:45 +0200 Subject: [PATCH 5/8] Ignore CultureGroup leader, is_overseas & unit entries --- src/V2World/Culture/CultureGroupFactory.cpp | 3 +++ 1 file changed, 3 insertions(+) diff --git a/src/V2World/Culture/CultureGroupFactory.cpp b/src/V2World/Culture/CultureGroupFactory.cpp index 0a9f372aaa..93f235ad83 100644 --- a/src/V2World/Culture/CultureGroupFactory.cpp +++ b/src/V2World/Culture/CultureGroupFactory.cpp @@ -6,6 +6,9 @@ Vic2::CultureGroupFactory::CultureGroupFactory() { + registerRegex("leader|is_overseas|unit", [this](const std::string& unused, std::istream& the_stream) { + commonItems::ignoreItem(unused, the_stream); + }); registerKeyword("union", [this](std::istream& the_stream) { union_tag_ = commonItems::getString(the_stream); }); From c9cbc34bf11c78bf9e85951e0b5933115bfd5f7e Mon Sep 17 00:00:00 2001 From: Elfangor567 Date: Fri, 5 Aug 2022 20:00:41 -0400 Subject: [PATCH 6/8] Beta 1.0 - It works! - Added some missing shields --- .../interface/ideas/crowns/georgia_shield.dds | Bin 0 -> 16448 bytes .../interface/ideas/crowns/sweden_shield.dds | Bin 0 -> 16448 bytes src/HOI4World/Decisions/DecisionsInCategory.h | 11 ++- src/HOI4World/Decisions/UnionDecisions.cpp | 89 +++++++++++------- src/HOI4World/HoI4World.cpp | 6 ++ .../ScriptedLocalisations.cpp | 10 ++ .../ScriptedLocalisations.h | 1 + 7 files changed, 83 insertions(+), 34 deletions(-) create mode 100644 data/blank_mod/gfx/interface/ideas/crowns/georgia_shield.dds create mode 100644 data/blank_mod/gfx/interface/ideas/crowns/sweden_shield.dds diff --git a/data/blank_mod/gfx/interface/ideas/crowns/georgia_shield.dds b/data/blank_mod/gfx/interface/ideas/crowns/georgia_shield.dds new file mode 100644 index 0000000000000000000000000000000000000000..721d756cb3d3354a2b44bfa62156187404c79eb7 GIT binary patch literal 16448 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 literal 0 HcmV?d00001 diff --git a/data/blank_mod/gfx/interface/ideas/crowns/sweden_shield.dds b/data/blank_mod/gfx/interface/ideas/crowns/sweden_shield.dds new file mode 100644 index 0000000000000000000000000000000000000000..df902dc6710c7a0e631a2569daeedd7f7ce604b7 GIT binary patch literal 16448 zcmd6O2Y6l8nJw7Hwyb{DyRLd~SLLcpSM{p*-mGF3+p^qy!^Q4Z_znt@3sH_?@MWE zbLggAAvxH-GWeIwTLtPiu4~#LmzCiT~k1$6XNejxDzgf6QMbzE7}8bzmY@p zNsd~FCm}rzCt`?1B8#Xpr=*`On^^mHs=eX6Nmb21Nvi93-^tVaTQ0rXlQ)WBe%c&HnzO>Q&g?l^>N|Al7A&fWcQ7K(s%5UOJirB zK}N^W$3;svp?LASOUd@e_m^Gx4)(qAGZgoXyu)XV5eoytqc%rbtXufLl90Yc5MG1> zaU)QXG zy76hz(6T>S+xp*4t892ZtFh~c9s$AQoL71zJC`k8Zy8Irve86qecMALM<0Nri`#O3 zZsNr4QPFY7@;e9rrFGp-9C`B>c<3kpjP|v+{+@q-jn{wByWlP@>#ld zy=APu)Sk*8WwmbH{m!BTC;pA^2Z#ounOIC5_6rXE@yPiXFHOGmF8WSA1z&T}uR?;I ze_PsKgMykOlr)v2q~3;zn81(S-R8VsFuM8=Q!oDnlP~@)3i`%BboB6khR@kV^bmS> zXHomWh$ONX4kLZ{nOs*^SF7|EX_YejLn}n>v&ku{C9H` z96z!T_d$FYfBh{K_I6@Pg$GvIO;=$hKiAko&~xw8#_Uq0UORr1M}@XXwEgZDj$#L}8?-7@Ru={U2) zd%Z<&m&8H5>WTv~bk_qIoPH3stGA-pb~RUBqic&>?C9Np4~CAON6qLU7FS%pZmisd zsw|h^`}xd$WzNkv9j@Pc@S~~?d*A2WC4~IP_10%jVZ;H{%Ub;ps9Tes~0qczp^ z`>D#S`3#l1!@hI{s#b1C?WX;xEDSXEVHx?1m3bTQ#mP3f2n{=rqG{9Zs3;1#O8(lD z(J~WKi}U|=(Y;T?oRaw<=glT$Q#Zn2Nq@Aj+TZeUYvDKBw;w`jYZb;SyfM765>r>? zBiY$|8c{mB0(m1VQQB69<=m6O&H{9A-fqaYz0e(%t9GJn*=96sI|O~6(fLJf85nI& zMq{x*T5dgzmd*Pvan3;^iEty7dtC1!8xe5)-QX+fh}Mfy&-iRO`byNS*aEB74F$a;C>~yhIrAOPaoz$#dG?LaWlm!Z$#_1YJhIHy zbtEnT*_8#!_wmqVe*;p8~%3kk(W`w{V*yv?8m^N)0hAD!aK&_rr-QW-20>d zX}n*0<|*TEx_A7@SxjDd10#>Tg34uUQNL&SsmXPD3Q%|Dz zo+r?I<-YWveHH`vzktQh{Sag4F2bBePCFCI?Rs(t zr#@)kdk;B1fQ3gN#Ne@qFmUPu`c6KHj$KDlv2G9QHy^;jfqPK1{Z5on57s~Q9M(Sh zDi)IS!2T2H+k1>UeGGkk-+kl(^m8BDcHV`q1E=9(j(URg*a&|@b&_=KMh^K3`3&uM zW8T=B-wb{2+ZZ@_5{t^Ms2d)+tk2AshVDFT=yUVVX$&7ag}r?(IFMq-*umqt{d+&h zk1WGLT{m_={R(!!@%NC8i{}g) zyPDBemxkWc7cu$dchI=+-al}TNkX$`6}hEib?TAtE+#| z#rElk(Y*T@iYFOMH|;~)p>r6dZuf8xn)jVT6ZO6Q_LEq6=nMuApTjWaK6vClem>2* zX&Rlpx0ANtu;n0q`aX2r{U|#29!Jj5)CZhn8KIh3K2o))ascVIWUaORSNYHI)bsRg z#h=gjXCnDIm9P_2IsHq1CBHI!_99yM97p4}JJ7J>F4WOC3pLEIY)dwvYW*H$whzKK zu@3F~PonpZv&=VkplZYIu*=3-GitAzcN|9lQOf-MH_&(m#a`uBu|y~# zTh^W{_t5@J4qvAKA+Fjp*{AF!gpeFFh(e-@Xd|ZPJG-1@kK#LpOE><$ZT~65_wIW2 z-ODlN#UG>lhr?3RFIwt5-?FdY^V?q5c}u?WBZJ$9SKq_EZ~qcUUwa25j75@ZYIO@DEm`pQ z^?=!ZJ`#KuAU)6t)?jA?dav*Fx5(INWYxE$Y{@#5O>RQL#Cq5%_rBwgV3KpJ`SyF* z_|lIsaL?l?Teb7wl50DD?w@FRg>~Z@u5B~XMHCZ~y=3%7e7JN%y|RR$M9Z{oc!OBu{h@Er}jzO7JkgtBW%k`%x6;V%(eJ?}%9M1qgMY zhY)`+?m-k{a|&Up?|`ML2iD#RlrGzXiq*SNGPMnrn+_tTsNw~#d&ZB;_xz_nBzUGr>Nw^y- zDbEJ-Y$BKDcn@@vUr&lB`cu6ykmikEzV@Vep+C*bc;A`qiDq6?$7`#2pY*}T{mKh< zL1vH>l6)`gKqz&`hihm=tm@zt-j_po)E>*0WEuN0Npv-YdD+le27J z^3Ema6zY>~sAAn-EPdg}P`}qFHtD7R0^h3miiUS;84rs`mLoVm37*dL;Fp+zkhnxx z{2U=W%?NNp5&cb4WH3UT$B{6;4Y~FT)KRvL)X83hrxz+K3sKDaxGgURUD;t==Qgwr zbYMlEKUU`ZV-+#Q_eHiGq-;2Zg1x6;uPvpXd!vtf-$wnYjd4e2VJ_nAjfe^KpiRv~ z&8>GCF~T;r9lo*2FOsif<`>cD&+Ip$s^#q}*4l-`%Mp>83oqxna5BdrqG15B$w`QB z>_KvfC(vIy7(Jjj`fLG_P8Pu7{sT{pqLCasGLl)<3gnmM!@6`6 zybA1y4|GEy;zwL3_Z&l=-4@o6@{U*vljJx?ld?y9_QX|-HTfGN;=X5 zQL=SEl9%m3P+lpD=(kcCuY4E>m4^+S{W{9l?8Z$u-+X}URy-VFV7F49S5Mh+KS%CUpD01Qkjk6bRR6F zPcJRYL*n8su*3wRfH7LWBf!rS1LvMYAN$vNqpQ`M-bpAYR84U$`35gD_$nvMcJmFm z*Tz^bzVSsB@N}F5#l9#{=78mm$k{fH)V2YnFb-Ll--@E!j-%}0Ig}HHJp-_H_oA5k z7Thw1p>$tNWcp&M^|Bup=Vg?!ea9j6J@yhBSFA$I;!$**W1rxOZ=vg<=h1xXao7h3 zQ8_Y7zkdRO<;^H#TvDzkzJ5L?L$=+lrLy{#i0>4kT>o10D_&~of%GAL_S|^~?dx_U zlbn*vYK-_B%-AcwA@K94fZlxR(>4#F5-G-QvO|Y!lkD&Hth%TwY z2;=IQo|EYCQ2D+i}s&EPXwtf}a)1KVX& zc}5&o-lkX>7!-holy5t0&&2vJ)ybWNY6sQk*IF}352O#$i|yi@${a4av>NX7=NPq3 z1o;N}d&6AY2g~BEu&%isd0P&nc+V*m+V9CqF0OQIca+Xdj z*BD?Dy_H~E9 ztr4Mh{YW0&h1837;~+Br3cc7Xre!>Yvj{(<>wtkaGEyNbti)CZ3wPrt=lrlxUm66tX~Tmmy6S)jJ#ujxl&&;b7j7E8+nr#s?tJf?`KiN zK1de(n~9@q5ZzDR?Olwxq2KWLlHW~f<;zcVjam_~v^(3w}7V%PJ zNDovqD2J|!%r1I|ze7MmX$`!Cf{mCYpCx??Ny&g8*W#LFg-cQn+|o;7%AsG&Z-8fE zBg`$s$mkqI&6V7;Bf%3r}o?LDKe8P=S1`co5XndhrkQcUh7XVr!+ zL=(}<`nNvb6D9c;6t;CBqiZ3OddHE}w-^~c!^m&%EjdwJU!#87r^Npg$4kY_3mop5big+N;SyoM&EZ_+I_2 zN`5bX#^)pBF zg18BKFPW+zB%X!jDXzK9(dCylk8HP@=TMEi?}oK+;uEfMh=?P;NFK?{KO5pJpC$b$ z_6!MoInmyP=v*7TffiM$_ zqteYUGgMD0mRV-axn*~3Nj3ej4Z-Z&IbG3d`8!V_kNI}qcAmA=G$Ey_3)$-rAbBDCWXv@pgMAEnrm_dGKCj}PVvuadZNV)l zUAh6)n+_ngsaLmzio@MUe6w|+KebUK~CE87{KUBo_nKEl&;;4pVKOpL{n@r)fu zt4FJtOn)5^;E&jWHOSg@7g86kMq0Q(EbLFDvS!cOGL5vQ+hAp#my$vqsA)mklI@7@ zo`i2yoN?Bm^9IROeqa7y`eVew*aXyUy#xGB9wH0Mf6SH6#N97a6MaVT-@Td9Y2_`g z0f}iJMzU`g%skS=Kfs8^>UpS!kc^|)`-mauINEZewZ7{X2U9;iGg~K0v;pkTuBT5!M33XUT6V7HbWLuU0&EW6nj+ag;?eIY&lB zBk#^fkWx{D9Di3NM1~qY>a5MI8QIf{w^$gnoeevW>0SoE@K{5p;u%Ap@(0Q-|2oXVt+W9hZzEPrh#V!6&_uGu*vkA3)+$hz$`Eb9*=lRfIBseMRWcNp>G zJK>g61DALkoMQ`+;O&IOD_rIOWFz9L8pYk6Ipv~N$Q@XUl-l-7^e3CSN(&*stbAYV z{HlgztbAHB?)3;Z|0XQi0{@sqIJvkOeGje4;4J?|L{Ycn$vLd76$#4^B6e&iQpquW z^E7c35nZcUFD^%5^~f+JSnYitFm2CMaW6a1{zahxy|7UVGFeU*(v5D}FjKu<;8%p2ASGk@a5zMtlxXy!TU=+ey zr;tLuPTe$(nBnz^Ubq^ud`(?@5NR8ZAgXU2+#-^UcoRt-7FWsDI0Ix4DI_7;I0qKj zn1Zs8xQ0c9Y8mB2U$t!cNMopGQjC+Yu5)zv_(6D5DtyAD;bQVMaxVEUFUMO9naICL z&cT*k<`;|M9F>H5K7p6v8w7{IID+@aSP;s-kh!$Mkf-cHauruM2gW>aAE^FLZyjLI zq59H1N2g<)zkpC)@KxF^A9vM|jFnTXF4o>Ibn*21Rb*-gJVV2=z;S`0*E%zu;Ve1( zg@(bDnuocb0hs3-j`_Y}a0rOQf}k|Qg8BYYa1KvIKys!LU$sxtVK?UJP7556P}K}e zD|-OtwV3bZ@+{}I6A^^=UUqgphwMaqs`#XHnzbJOfxin+N`ps87&$u{wkA2tp0#ct zuHPpz4qjN!Dzqhzvddx>(HKf<_5sCwavu4jeKpFmt{|^rRNEn<=CL=DZhMMtVKI9>o z94R|55BLNI!`s(~=c^9zzM}u)Dj%Spud@sLt*o^Zs#}ddgI9?8hn%aGNFt}j7?}RBJ7!D5e3|WhV!JB;K&m?o@h2pRG`p%Fk z_eZhK#pHp=!b-5mfWXAGOAaosI@4_?#8r8ea{3#^l~Wl*oTX37L&Uk5@$go!ppXyE z^rfC5;V=c6;ppnl-+atAc*`DV^jxyk9*C!5r{d}62LFUqtXwXXP#!z%Wb$|`ggL!`R4m-d*^RPxbTh$W-rURbqrOUK1?8j8 z?k4y#cL~d}AtWP@XV#IJ>*)M0pEXGo5sC+jJ2z5?Io+QfGrFx_mtwR0cI~V=bMEl; z3;3sC^7amoF*v*V2Q$C-g(LOV+1&%~fg$jXOJ=;vfq!BeJj0?@%l?{YxX1a7212=$ zdf?hm#f2NK!<_QZ4sn(bliyZur&y6qG|#?e?lCtXzn?QFx#Y`S%#*Tn^9zJG`vC#e zU7x6UV=v~rxxat&?AhWepOi~TrqW;aXXGn1$6wpf{!0#$wa##&2=T5bHZE{+dx=~> z@G?ihi}vm8;q?)H(QEwM4nlE8JfjKq%;XDaWct_0mCG~6jI3pATC@CVIFUx!2=Q7( zDA#Wz%7}DAI-xz%J-S!=^4H9h%e!i5t getLocalisation() const { return localisation; } + [[nodiscard]] const auto& getcustomLocalisation() const { return customLocalisation; } [[nodiscard]] const auto& getName() const { return name; } + void addCustomLocalisation(const std::pair& newLoc) { customLocalisation.emplace(newLoc); } + void addDecision(decision& theDecision) { theDecisions.push_back(theDecision); } + void addLocalisation(const std::pair& newLoc) { localisation.emplace(newLoc); } + void replaceDecision(const decision& theDecision) { std::replace(theDecisions.begin(), theDecisions.end(), theDecision, theDecision); } void replaceDecisions(const std::vector& newDecisions) { theDecisions = newDecisions; } - void addDecision(decision& theDecision) { theDecisions.push_back(theDecision); } void updatePoliticalDecisions(const std::set& majorIdeologies, const Events& theEvents); @@ -40,6 +45,8 @@ class DecisionsInCategory: commonItems::parser private: std::string name = ""; std::vector theDecisions; + std::map localisation; + std::map customLocalisation; void updateHoldTheIdeologyNationalReferendum(decision& decisionToUpdate, const Events& theEvents) const; }; diff --git a/src/HOI4World/Decisions/UnionDecisions.cpp b/src/HOI4World/Decisions/UnionDecisions.cpp index fee0623968..4805862703 100644 --- a/src/HOI4World/Decisions/UnionDecisions.cpp +++ b/src/HOI4World/Decisions/UnionDecisions.cpp @@ -11,11 +11,17 @@ void HoI4::UnionDecisions::createDecisions(const std::vector decision formationDecisionStateTrigger(name + "_state_trigger"); decision formationDecision(name); + //Custom Loc + formable_decisions_category.addCustomLocalisation( + std::pair(name + "_loc_DEF", "\t= {\n\t\tlocalization_key = " + tag + "_DEF\n\t}")); + formable_decisions_category.addCustomLocalisation( + std::pair(name + "_loc_ADJ", "\t= {\n\t\tlocalization_key = " + tag + "_ADJ\n\t}")); + // STATE TRIGGER // Allowed std::string allowed = "= {\n"; allowed += "\t\t\tNOT = { original_tag = " + oldTag + " }\n"; - allowed += "\t\t}\n"; + allowed += "\t\t}"; formationDecisionStateTrigger.setAllowed(allowed); // State Target/On Map Mode/Icon @@ -25,75 +31,82 @@ void HoI4::UnionDecisions::createDecisions(const std::vector // Target ROOT Trigger std::string targetRootTrigger = "= {\n"; - targetRootTrigger += "\t\t\t highlight_states_trigger = {\n"; - targetRootTrigger += "\t\t\t\t OR = {\n"; + targetRootTrigger += "\t\t\t OR = {\n"; for (const auto& culture: unionCountry.GetCultures()) { - targetRootTrigger += "\t\t\t\t\thas_state_flag = major_culture_" + culture + "_flag\n"; + targetRootTrigger += "\t\t\t\thas_idea = culture_" + culture + "\n"; } - targetRootTrigger += "\t\t\t\t}\n"; - targetRootTrigger += "\t\t\t\tNOT = { is_controlled_by = ROOT }\n"; targetRootTrigger += "\t\t\t}\n"; + targetRootTrigger += "\t\t\tNOT = { has_cosmetic_tag = " + tag + " }\n"; + targetRootTrigger += "\t\t\t" + oldTag + " = { exists = no }\n"; targetRootTrigger += "\t\t}\n"; - formationDecisionStateTrigger.setTargetTrigger(targetRootTrigger); + formationDecisionStateTrigger.setTargetRootTrigger(targetRootTrigger); // Target Trigger std::string targetTrigger = "= {\n"; - targetTrigger += "\t\t\t OR = {\n"; + targetTrigger += "\t\t\tFROM = {\n"; + targetTrigger += "\t\t\t\tOR = {\n"; for (const auto& culture: unionCountry.GetCultures()) { - targetTrigger += "\t\t\t\thas_state_flag = major_culture_" + culture + "_flag\n"; + targetTrigger += "\t\t\t\t\thas_state_flag = major_culture_" + culture + "_flag\n"; } - targetTrigger += "\t\t\t}\n"; - targetTrigger += "\t\t\tNOT = { is_controlled_by = ROOT }\n"; + targetTrigger += "\t\t\t\t}\n"; + targetTrigger += "\t\t\t}\n"; targetTrigger += "\t\t}\n"; formationDecisionStateTrigger.setTargetTrigger(targetTrigger); // Highlight States std::string highlightStates = "= {\n"; - highlightStates += "\t\t\t highlight_states_trigger = {\n"; + highlightStates += "\t\t\thighlight_states_trigger = {\n"; highlightStates += "\t\t\t\t OR = {\n"; for (const auto& culture: unionCountry.GetCultures()) { highlightStates += "\t\t\t\t\thas_state_flag = major_culture_" + culture + "_flag\n"; } highlightStates += "\t\t\t\t}\n"; - highlightStates += "\t\t\t\tNOT = { is_controlled_by = ROOT }\n"; highlightStates += "\t\t\t}\n"; highlightStates += "\t\t\thighlight_color_before_active = 1\n"; highlightStates += "\t\t\thighlight_color_while_active = 2\n"; - highlightStates += "\t\t}\n"; + highlightStates += "\t\t}"; formationDecisionStateTrigger.setHighlightStateTargets(highlightStates); // Available std::string available = "= {\n"; - available += "\t\t\t hidden_trigger = {\n"; - available += "\t\t\t\t set_temp_variable = { temp_original_states = 0 }\n"; - available += "\t\t\t\t set_temp_variable = { original_states = 0 }\n"; - available += "\t\t\t\t all_state = {\n"; - available += "\t\t\t\t\t if = {\n"; - available += "\t\t\t\t\t\t limit = {\n"; - available += "\t\t\t\t\t\t\t OR = {\n"; + available += "\t\t\thidden_trigger = {\n"; + available += "\t\t\t\tset_temp_variable = { temp_original_states = 0 }\n"; + available += "\t\t\t\tset_temp_variable = { original_states = 0 }\n"; + available += "\t\t\t\tif = {\n"; + available += "\t\t\t\t\tlimit = {\n"; + available += "\t\t\t\t\t\tall_state = {\n"; + available += "\t\t\t\t\t\t\tif = {\n"; + available += "\t\t\t\t\t\t\t\tlimit = {\n"; + available += "\t\t\t\t\t\t\t\t\tOR = {\n"; for (const auto& culture: unionCountry.GetCultures()) { - available += "\t\t\t\t\t\t\t\thas_state_flag = major_culture_" + culture + "_flag\n"; + available += "\t\t\t\t\t\t\t\t\t\thas_state_flag = major_culture_" + culture + "_flag\n"; } + available += "\t\t\t\t\t\t\t\t\t}\n"; + available += "\t\t\t\t\t\t\t\t}\n"; + available += "\t\t\t\t\t\t\t\tadd_to_temp_variable = { ROOT.original_states = 1 }\n"; available += "\t\t\t\t\t\t\t}\n"; available += "\t\t\t\t\t\t}\n"; - available += "\t\t\t\t\t\tadd_to_temp_variable = { ROOT.original_states = 1 }\n"; available += "\t\t\t\t\t}\n"; available += "\t\t\t\t}\n"; - available += "\t\t\t\tall_controlled_state = {\n"; - available += "\t\t\t\t\t if = {\n"; - available += "\t\t\t\t\t\t limit = {\n"; - available += "\t\t\t\t\t\t\t OR = {\n"; + available += "\t\t\t\tif = {\n"; + available += "\t\t\t\t\tlimit = {\n"; + available += "\t\t\t\t\t\tall_controlled_state = {\n"; + available += "\t\t\t\t\t\t\tif = {\n"; + available += "\t\t\t\t\t\t\t\tlimit = {\n"; + available += "\t\t\t\t\t\t\t\t\tOR = {\n"; for (const auto& culture: unionCountry.GetCultures()) { - available += "\t\t\t\t\t\t\t\thas_state_flag = major_culture_" + culture + "_flag\n"; + available += "\t\t\t\t\t\t\t\t\t\thas_state_flag = major_culture_" + culture + "_flag\n"; } + available += "\t\t\t\t\t\t\t\t\t}\n"; + available += "\t\t\t\t\t\t\t\t}\n"; + available += "\t\t\t\t\t\t\t\tadd_to_temp_variable = { ROOT.temp_original_states = 1 }\n"; available += "\t\t\t\t\t\t\t}\n"; available += "\t\t\t\t\t\t}\n"; - available += "\t\t\t\t\t\tadd_to_temp_variable = { ROOT.temp_original_states = 1 }\n"; available += "\t\t\t\t\t}\n"; available += "\t\t\t\t}\n"; available += "\t\t\t\tmultiply_temp_variable = { ROOT.original_states = 0.75 }\n"; @@ -109,11 +122,11 @@ void HoI4::UnionDecisions::createDecisions(const std::vector available += "\t\t\t}\n"; available += "\t\t\tNOT = {\n"; available += "\t\t\t\tany_other_country = {\n"; - available += "\t\t\t\t\thas_cosmetic_tag = CHI_union\n"; + available += "\t\t\t\t\thas_cosmetic_tag = " + tag + "\n"; available += "\t\t\t\t\texists = yes\n"; available += "\t\t\t\t}\n"; available += "\t\t\t}\n"; - available += "\t\t}\n"; + available += "\t\t}"; formationDecisionStateTrigger.setAvailable(available); // Complete Effect @@ -125,6 +138,11 @@ void HoI4::UnionDecisions::createDecisions(const std::vector // AI Will Do formationDecisionStateTrigger.setAiWillDo("= {\n\t\t\tbase = 100\n\t\t}"); + //Localisation + formable_decisions_category.addLocalisation(std::pair(name + "_state_trigger", "[" + name + "_loc_ADJ] State")); + formable_decisions_category.addLocalisation(std::pair(name + "_state_trigger_desc", + "One of the [?original_states] states needed to form [" + name + "_loc_DEF].")); + // Add to Category formable_decisions_category.addDecision(formationDecisionStateTrigger); @@ -141,8 +159,9 @@ void HoI4::UnionDecisions::createDecisions(const std::vector visible += "\t\t\t\thas_idea = culture_" + culture + "\n"; } visible += "\t\t\t}\n"; + visible += "\t\t\tNOT = { has_cosmetic_tag = " + tag + " }\n"; visible += "\t\t\t" + oldTag + " = { exists = no }\n"; - visible += "\t\t}\n"; + visible += "\t\t}"; formationDecision.setVisible(visible); // Available @@ -183,6 +202,12 @@ void HoI4::UnionDecisions::createDecisions(const std::vector // AI Will Do formationDecision.setAiWillDo("= {\n\t\t\tbase = 100\n\t\t}"); + // Localisation + formable_decisions_category.addLocalisation(std::pair(name, "Form [" + name + "_loc_DEF]")); + formable_decisions_category.addLocalisation(std::pair(name + "_desc", + "Our great people have been seperated for too long, kept apart by foreign powers who would keep us divided " + "and weak. Now we stand united against any who would dare try to seperate us again.")); + // Add to Category formable_decisions_category.addDecision(formationDecision); } diff --git a/src/HOI4World/HoI4World.cpp b/src/HOI4World/HoI4World.cpp index ee21fc83c2..f170c46df6 100644 --- a/src/HOI4World/HoI4World.cpp +++ b/src/HOI4World/HoI4World.cpp @@ -231,6 +231,12 @@ HoI4::World::World(const Vic2::World& sourceWorld, getSouthAsianCountries(), strongestGpNavies, union_countries_); + for (const auto& category: theDecisions->getUnionDecisions()) + { + for (const auto& loc: category.getLocalisation()) + hoi4Localisations->addDecisionLocalisation(loc.first, loc.second); + scriptedLocalisations->addDecisionScriptedLocalisations(category.getcustomLocalisation()); + } updateAiPeaces(*peaces, ideologies->getMajorIdeologies()); addNeutrality(theConfiguration.getDebug()); importCharacters(characterFactory); diff --git a/src/HOI4World/ScriptedLocalisations/ScriptedLocalisations.cpp b/src/HOI4World/ScriptedLocalisations/ScriptedLocalisations.cpp index 22cbc64702..be6356f0d1 100644 --- a/src/HOI4World/ScriptedLocalisations/ScriptedLocalisations.cpp +++ b/src/HOI4World/ScriptedLocalisations/ScriptedLocalisations.cpp @@ -68,6 +68,16 @@ std::string createNavyScriptedLocalisationsText(const std::vector& } +void HoI4::ScriptedLocalisations::addDecisionScriptedLocalisations(const std::map& customLoc) +{ + for (const auto& loc: customLoc) + { + ScriptedLocalisation decisionScriptedLoc; + decisionScriptedLoc.setName(loc.first); + decisionScriptedLoc.addText(loc.second); + scriptedLocalisations.push_back(decisionScriptedLoc); + } +} void HoI4::ScriptedLocalisations::addNavyScriptedLocalisations(const std::vector& strongestNaviesTags) { ScriptedLocalisation GetStrengthRatioBritain; diff --git a/src/HOI4World/ScriptedLocalisations/ScriptedLocalisations.h b/src/HOI4World/ScriptedLocalisations/ScriptedLocalisations.h index fda57a851a..ae4a7fd810 100644 --- a/src/HOI4World/ScriptedLocalisations/ScriptedLocalisations.h +++ b/src/HOI4World/ScriptedLocalisations/ScriptedLocalisations.h @@ -17,6 +17,7 @@ class ScriptedLocalisations { public: class Factory; + void addDecisionScriptedLocalisations(const std::map& customLoc); void addNavyScriptedLocalisations(const std::vector& strongestNaviesTags); void giveAdjectiveLocalisation(const std::string& language, ScriptedLocalisation&& localisation); void filterIdeologyLocalisations(const std::set& majorIdeologies); From 9a31f52b03e9e12aeca6be70b05c84439c0a8b34 Mon Sep 17 00:00:00 2001 From: Elfangor567 Date: Fri, 5 Aug 2022 20:19:28 -0400 Subject: [PATCH 7/8] Beta 1.1 - Clang formatting --- src/HOI4World/Decisions/DecisionsInCategory.h | 2 +- src/HOI4World/Decisions/UnionDecisions.cpp | 8 ++++---- src/HOI4World/Decisions/UnionDecisions.h | 2 +- src/HOI4World/States/HoI4States.cpp | 6 ++++-- src/OutHoi4/Decisions/OutDecisions.cpp | 3 ++- 5 files changed, 12 insertions(+), 9 deletions(-) diff --git a/src/HOI4World/Decisions/DecisionsInCategory.h b/src/HOI4World/Decisions/DecisionsInCategory.h index 8380d7ee6b..92e71f8325 100644 --- a/src/HOI4World/Decisions/DecisionsInCategory.h +++ b/src/HOI4World/Decisions/DecisionsInCategory.h @@ -20,7 +20,7 @@ class DecisionsInCategory: commonItems::parser public: explicit DecisionsInCategory(std::string category_name): name(std::move(category_name)) {} DecisionsInCategory(std::string categoryName, std::istream& theStream); - + [[nodiscard]] auto getDecisions() const { return theDecisions; } [[nodiscard]] std::map getLocalisation() const { return localisation; } [[nodiscard]] const auto& getcustomLocalisation() const { return customLocalisation; } diff --git a/src/HOI4World/Decisions/UnionDecisions.cpp b/src/HOI4World/Decisions/UnionDecisions.cpp index 4805862703..67918a0acd 100644 --- a/src/HOI4World/Decisions/UnionDecisions.cpp +++ b/src/HOI4World/Decisions/UnionDecisions.cpp @@ -11,9 +11,9 @@ void HoI4::UnionDecisions::createDecisions(const std::vector decision formationDecisionStateTrigger(name + "_state_trigger"); decision formationDecision(name); - //Custom Loc + // Custom Loc formable_decisions_category.addCustomLocalisation( - std::pair(name + "_loc_DEF", "\t= {\n\t\tlocalization_key = " + tag + "_DEF\n\t}")); + std::pair(name + "_loc_DEF", "\t= {\n\t\tlocalization_key = " + tag + "_DEF\n\t}")); formable_decisions_category.addCustomLocalisation( std::pair(name + "_loc_ADJ", "\t= {\n\t\tlocalization_key = " + tag + "_ADJ\n\t}")); @@ -51,7 +51,7 @@ void HoI4::UnionDecisions::createDecisions(const std::vector targetTrigger += "\t\t\t\t\thas_state_flag = major_culture_" + culture + "_flag\n"; } targetTrigger += "\t\t\t\t}\n"; - targetTrigger += "\t\t\t}\n"; + targetTrigger += "\t\t\t}\n"; targetTrigger += "\t\t}\n"; formationDecisionStateTrigger.setTargetTrigger(targetTrigger); @@ -138,7 +138,7 @@ void HoI4::UnionDecisions::createDecisions(const std::vector // AI Will Do formationDecisionStateTrigger.setAiWillDo("= {\n\t\t\tbase = 100\n\t\t}"); - //Localisation + // Localisation formable_decisions_category.addLocalisation(std::pair(name + "_state_trigger", "[" + name + "_loc_ADJ] State")); formable_decisions_category.addLocalisation(std::pair(name + "_state_trigger_desc", "One of the [?original_states] states needed to form [" + name + "_loc_DEF].")); diff --git a/src/HOI4World/Decisions/UnionDecisions.h b/src/HOI4World/Decisions/UnionDecisions.h index 4d67a67d6a..d04cc77591 100644 --- a/src/HOI4World/Decisions/UnionDecisions.h +++ b/src/HOI4World/Decisions/UnionDecisions.h @@ -4,8 +4,8 @@ #include "src/HOI4World/Countries/UnionCountry.h" -#include "src/HOI4World/Decisions/DecisionsFile.h" #include "src/HOI4World/Decisions/DecisionsCategories.h" +#include "src/HOI4World/Decisions/DecisionsFile.h" #include "src/HOI4World/States/HoI4State.h" diff --git a/src/HOI4World/States/HoI4States.cpp b/src/HOI4World/States/HoI4States.cpp index b2c30d2e9d..37fd2631b1 100644 --- a/src/HOI4World/States/HoI4States.cpp +++ b/src/HOI4World/States/HoI4States.cpp @@ -620,8 +620,10 @@ void HoI4::States::addProvincesAndCoresToNewState(State& newState, Log(LogLevel::Debug) << "State: " << newState.getID(); for (const auto& popCulture: popCultureMap) { - Log(LogLevel::Debug) << "\t\t\t" << popCulture.first << " Pops: " << popCulture.second << "\n\tPopulation: " << static_cast(totalPopulation); - if (popCulture.second / static_cast(totalPopulation) >= 0.25 && !newState.getMajorCultures().count(popCulture.first)) + Log(LogLevel::Debug) << "\t\t\t" << popCulture.first << " Pops: " << popCulture.second + << "\n\tPopulation: " << static_cast(totalPopulation); + if (popCulture.second / static_cast(totalPopulation) >= 0.25 && + !newState.getMajorCultures().count(popCulture.first)) newState.addMajorCulture(popCulture.first); } } diff --git a/src/OutHoi4/Decisions/OutDecisions.cpp b/src/OutHoi4/Decisions/OutDecisions.cpp index 383ed64fd8..261eec0459 100644 --- a/src/OutHoi4/Decisions/OutDecisions.cpp +++ b/src/OutHoi4/Decisions/OutDecisions.cpp @@ -93,7 +93,8 @@ void HoI4::outputDecisions(const decisions& theDecisions, outStream.open("output/" + outputName + "/common/decisions/formable_nation_decisions.txt"); if (!outStream.is_open()) { - throw std::runtime_error("Could not open output/" + outputName + "/common/decisions/formable_nation_decisions.txt"); + throw std::runtime_error( + "Could not open output/" + outputName + "/common/decisions/formable_nation_decisions.txt"); } for (const auto& category: theDecisions.getUnionDecisions()) { From 5bbbdbbd17b59e2598cd6fd55435a8a4cfea0299 Mon Sep 17 00:00:00 2001 From: Elfangor567 Date: Thu, 11 Aug 2022 16:43:40 -0400 Subject: [PATCH 8/8] Language Update Alpha - Begins to add support for foreign languages for Union Decisions --- .../braz_por/cultures_l_braz_por.yml | 12 ++++ .../localisation/french/cultures_l_french.yml | 12 ++++ .../localisation/german/cultures_l_german.yml | 12 ++++ .../localisation/polish/cultures_l_polish.yml | 12 ++++ .../russian/cultures_l_russian.yml | 12 ++++ .../spanish/cultures_l_spanish.yml | 13 +++++ src/HOI4World/Decisions/DecisionsInCategory.h | 17 +++++- src/HOI4World/Decisions/UnionDecisions.cpp | 56 ++++++++++++++----- src/HOI4World/HoI4World.cpp | 2 +- .../ScriptedLocalisations.cpp | 6 +- src/HOI4World/States/HoI4States.cpp | 7 ++- src/V2World/Provinces/Province.cpp | 21 ------- src/V2World/Provinces/Province.h | 1 - 13 files changed, 137 insertions(+), 46 deletions(-) diff --git a/data/blank_mod/localisation/braz_por/cultures_l_braz_por.yml b/data/blank_mod/localisation/braz_por/cultures_l_braz_por.yml index 94061d793e..c67e4da78c 100644 --- a/data/blank_mod/localisation/braz_por/cultures_l_braz_por.yml +++ b/data/blank_mod/localisation/braz_por/cultures_l_braz_por.yml @@ -408,6 +408,7 @@ culture_arcansian:0 "Arcansesa" culture_armenian:0 "Armênia" culture_aromanian:0 "Aromena" + culture_arvorigeg:0 "Arvorigeg" culture_ashkenazi:0 "Ashkenazi" culture_asian_minor:0 "Asiática (Não Especificado)" culture_assamese:0 "Assamesa" @@ -494,6 +495,7 @@ culture_dixie:0 "Americana Dixie" culture_dog_culture:0 "Cadela" culture_dongren:0 "Dōngrén" + culture_dramor:0 "Dramor" culture_dragon_culture:0 "Dragoa" culture_duck_culture:0 "Pata" culture_dummy:0 "£infinite" # Loc icon to show something's wrong @@ -595,6 +597,7 @@ culture_japanese:0 "Japonesa" culture_javan:0 "Javanesa" culture_je:0 "Jê" + culture_jerusalemer:0 "Jerusalemer" culture_jizni:0 "Ijení" culture_juodaodis:0 "Guodaodiça" culture_juzhno:0 "Yugenoa" @@ -623,6 +626,7 @@ culture_kreol:0 "Crioula" culture_kru:0 "Cru" culture_kuba:0 "Cuba" + culture_kulfoldi:0 "Külföldi" culture_kujaanan:0 "Cuyânã" culture_kurdish:0 "Curda" culture_laaz:0 "Laaz" @@ -736,6 +740,7 @@ culture_old_ligurian:0 "Lígure" culture_oldpommeranian:0 "Pomerânia" culture_oldspain:0 "Ibera" + culture_oltremare:0 "Oltremare" culture_ontustik:0 "Onhtiustica" culture_oriya:0 "Oriá" culture_oromo:0 "Oroma" @@ -870,6 +875,7 @@ culture_ugrian:0 "Ugria" culture_uighur:0 "Uigur" culture_ujvilag:0 "Újvilág" + culture_ultramar:0 "Ultramar" culture_ukrainian:0 "Ucraniana" culture_undead:0 "Morta-Viva" culture_unyamwezi:0 "Unyamwezi" @@ -961,6 +967,7 @@ culture_arcansian_desc:0 "$primary_culture$: §Y$culture_arcansian$§! \n$culture_group$: §Y$romantic$§!\n$idea_language$: §Y$lang_lat$§!" culture_armenian_desc:0 "$primary_culture$: §Y$culture_armenian$§! \n$culture_group$: §Y$levantine$§!\n$idea_language$: §Y$lang_hye$§!" culture_aromanian_desc:0 "$primary_culture$: §Y$culture_aromanian$§! \n$culture_group$: §Y$pan_romanian$§!\n$idea_language$: §Y$lang_rup$§!" + culture_arvorigeg_desc:0 "$primary_culture$: §Y$culture_arvorigeg$§!\n$culture_group$: §Y$british$§!\n$idea_language$: §Y$lang_bre$§!" culture_ashkenazi_desc:0 "$primary_culture$: §Y$culture_ashkenazi$§! \n$culture_group$: §Y$jewish_group$§!\n$idea_language$: §Y$lang_heb$§!" culture_asian_minor_desc:0 "$primary_culture$: §Y$culture_asian_minor$§! \n$culture_group$: §Y$southeast_asian$§!\n$idea_language$: §Y$lang_hin$§!" culture_assamese_desc:0 "$primary_culture$: §Y$culture_assamese$§! \n$culture_group$: §Y$south_asian$§!\n$idea_language$: §Y$lang_asm$§!" @@ -1048,6 +1055,7 @@ culture_dog_culture_desc:0 "$primary_culture$: §Y$culture_dog_culture$§! \n$culture_group$: §Y$non_human$§!\n$idea_language$: §Y$dog_speak$§!" culture_dongren_desc:0 "$primary_culture$: §Y$culture_dongren$§! \n$culture_group$: §Y$east_asian$§!\n$idea_language$: §Y$lang_zho$§!" culture_dragon_culture_desc:0 "$primary_culture$: §Y$culture_dragon_culture$§! \n$culture_group$: §Y$non_human$§!\n$idea_language$: §Y$dragon_speak$§!" + culture_dramor_desc:0 "$primary_culture$: §Y$culture_dramor$§!\n$culture_group$: §Y$british$§!\n$idea_language$: §Y$lang_cym$§!" culture_duck_culture_desc:0 "$primary_culture$: §Y$culture_duck_culture$§! \n$culture_group$: §Y$non_human$§!\n$idea_language$: §Y$duck_speak$§!" culture_dummy_desc:0 "$primary_culture$: §Y$culture_dummy$§! \n$culture_group$: §Y$culture_dummy$§!\n$idea_language$: §Y$culture_dummy$§!" culture_dutch_desc:0 "$primary_culture$: §Y$culture_dutch$§! \n$culture_group$: §Y$beneluxian$§!\n$idea_language$: §Y$lang_nld$§!" @@ -1148,6 +1156,7 @@ culture_japanese_desc:0 "$primary_culture$: §Y$culture_japanese$§! \n$culture_group$: §Y$far_east_asian$§!\n$idea_language$: §Y$lang_jpn$§!" culture_javan_desc:0 "$primary_culture$: §Y$culture_javan$§! \n$culture_group$: §Y$southeast_asian$§!\n$idea_language$: §Y$lang_ind$§!" culture_je_desc:0 "$primary_culture$: §Y$culture_je$§! \n$culture_group$: §Y$native_south_american$§!\n$idea_language$: §Y$lang_opy$§!" + culture_jerusalemer_desc:0 "$primary_culture$: §Y$culture_jerusalemer$§!\n$culture_group$: §Y$germanic$§!\n$idea_language$: §Y$lang_ger$§!" culture_jizni_desc:0 "$primary_culture$: §Y$culture_jizni$§! \n$culture_group$: §Y$czecho_slovak_culture_group$§!\n$idea_language$: §Y$lang_ces$§!" culture_juodaodis_desc:0 "$primary_culture$: §Y$culture_juodaodis$§! \n$culture_group$: §Y$polish_culture_group$§!\n$idea_language$: §Y$lang_lit$§!" culture_juzhno_desc:0 "$primary_culture$: §Y$culture_juzhno$§! \n$culture_group$: §Y$south_slavic$§!\n$idea_language$: §Y$lang_hbs$§!" @@ -1177,6 +1186,7 @@ culture_kru_desc:0 "$primary_culture$: §Y$culture_kru$§! \n$culture_group$: §Y$west_african$§!\n$idea_language$: §Y$lang_kru$§!" culture_kuba_desc:0 "$primary_culture$: §Y$culture_kuba$§! \n$culture_group$: §Y$central_african$§!\n$idea_language$: §Y$lang_lub$§!" culture_kujaanan_desc:0 "$primary_culture$: §Y$culture_kujaanan$§! \n$culture_group$: §Y$baltic$§!\n$idea_language$: §Y$lang_fin$§!" + culture_kulfoldi_desc:0 "$primary_culture$: §Y$culture_kulfoldi$§!\n$culture_group$: §Y$hungarian_culture_group$§!\n$idea_language$: §Y$lang_hun$§!" culture_kurdish_desc:0 "$primary_culture$: §Y$culture_kurdish$§! \n$culture_group$: §Y$turko_semitic$§!\n$idea_language$: §Y$lang_kur$§!" culture_laaz_desc:0 "$primary_culture$: §Y$culture_laaz$§! \n$culture_group$: §Y$jewish_group$§!\n$idea_language$: §Y$lang_heb$§!" culture_lacanite_desc:0 "$primary_culture$: §Y$culture_lacanite$§! \n$culture_group$: §Y$punic$§!\n$idea_language$: §Y$lang_phn$§!" @@ -1289,6 +1299,7 @@ culture_old_ligurian_desc:0 "$primary_culture$: §Y$culture_old_ligurian$§! \n$culture_group$: §Y$old_italian$§!\n$idea_language$: §Y$lang_lij$§!" culture_oldpommeranian_desc:0 "$primary_culture$: §Y$culture_oldpommeranian$§! \n$culture_group$: §Y$polish_culture_group$§!\n$idea_language$: §Y$lang_csb$§!" culture_oldspain_desc:0 "$primary_culture$: §Y$culture_oldspain$§! \n$culture_group$: §Y$pre_indo_european$§!\n$idea_language$: §Y$lang_xib$§!" + culture_oltremare_desc:0 "$primary_culture$: §Y$culture_oltremare$§!\n$culture_group$: §Y$italian$§!\n$idea_language$: §Y$lang_ita$§!" culture_ontustik_desc:0 "$primary_culture$: §Y$culture_ontustik$§! \n$culture_group$: §Y$central_asian$§!\n$idea_language$: §Y$lang_uzb$§!" culture_oriya_desc:0 "$primary_culture$: §Y$culture_oriya$§! \n$culture_group$: §Y$south_asian$§!\n$idea_language$: §Y$lang_ori$§!" culture_oromo_desc:0 "$primary_culture$: §Y$culture_oromo$§! \n$culture_group$: §Y$east_african$§!\n$idea_language$: §Y$lang_orm$§!" @@ -1423,6 +1434,7 @@ culture_ugrian_desc:0 "$primary_culture$: §Y$culture_ugrian$§! \n$culture_group$: §Y$east_slavic$§!\n$idea_language$: §Y$lang_kca$§!" culture_uighur_desc:0 "$primary_culture$: §Y$culture_uighur$§! \n$culture_group$: §Y$iranian_turanian$§!\n$idea_language$: §Y$lang_uig$§!" culture_ujvilag_desc:0 "$primary_culture$: §Y$culture_ujvilag$§! \n$culture_group$: §Y$hungarian_culture_group$§!\n$idea_language$: §Y$lang_hun$§!" + culture_ultramar_desc:0 "$primary_culture$: §Y$culture_ultramar$§!\n$culture_group$: §Y$iberian$§!\n$idea_language$: §Y$lang_spa$§!" culture_ukrainian_desc:0 "$primary_culture$: §Y$culture_ukrainian$§! \n$culture_group$: §Y$east_slavic$§!\n$idea_language$: §Y$lang_ukr$§!" culture_undead_desc:0 "$primary_culture$: §Y$culture_undead$§! \n$culture_group$: §Y$anti_human$§!\n$idea_language$: §Y$undead_speak$§!" culture_unyamwezi_desc:0 "$primary_culture$: §Y$culture_unyamwezi$§! \n$culture_group$: §Y$east_african$§!\n$idea_language$: §Y$lang_nym$§!" diff --git a/data/blank_mod/localisation/french/cultures_l_french.yml b/data/blank_mod/localisation/french/cultures_l_french.yml index 13e46c420c..ab05547958 100644 --- a/data/blank_mod/localisation/french/cultures_l_french.yml +++ b/data/blank_mod/localisation/french/cultures_l_french.yml @@ -406,6 +406,7 @@ culture_arcansian:0 "Arcansienne" culture_armenian:0 "Arménienne" culture_aromanian:0 "Aroumaine" + culture_arvorigeg:0 "Arvorigeg" culture_ashkenazi:0 "Ashkénaze" culture_asian_minor:0 "Asiatique (Pas précisée)" culture_assamese:0 "Assamaise" @@ -492,6 +493,7 @@ culture_dixie:0 "Américaine Dixie" culture_dog_culture:0 "Chien" culture_dongren:0 "Dōngrén" + culture_dramor:0 "Dramor" culture_dragon_culture:0 "Dragonne" culture_duck_culture:0 "Canard" culture_dummy:0 "§infinite" # Loc icon to show something's wrong @@ -593,6 +595,7 @@ culture_japanese:0 "Japonaise" culture_javan:0 "Javanaise" culture_je:0 "Jêe" + culture_jerusalemer:0 "Jerusalemer" culture_jizni:0 "Yijnie" culture_juodaodis:0 "Youodaodisse" culture_juzhno:0 "Youjnoise" @@ -621,6 +624,7 @@ culture_kreol:0 "Créole" culture_kru:0 "Kroue" culture_kuba:0 "Kuba" + culture_kulfoldi:0 "Külföldi" culture_kujaanan:0 "Kuyanaise" culture_kurdish:0 "Kurde" culture_laaz:0 "Laaz" @@ -734,6 +738,7 @@ culture_old_ligurian:0 "Ligure" culture_oldpommeranian:0 "Poméranienne" culture_oldspain:0 "Ibérique" + culture_oltremare:0 "Oltremare" culture_ontustik:0 "Ogntustique" culture_oriya:0 "Odia" culture_oromo:0 "Oromo" @@ -868,6 +873,7 @@ culture_ugrian:0 "Ougrique" culture_uighur:0 "Ouïghoure" culture_ujvilag:0 "Ouivilague" + culture_ultramar:0 "Ultramar" culture_ukrainian:0 "Ukraïnienne" culture_undead:0 "Morte-Vivante" culture_unyamwezi:0 "Unyamwezi" @@ -959,6 +965,7 @@ culture_arcansian_desc:0 "$primary_culture$: §Y$culture_arcansian$§! \n$culture_group$: §Y$romantic$§!\n$idea_language$: §Y$lang_lat$§!" culture_armenian_desc:0 "$primary_culture$: §Y$culture_armenian$§! \n$culture_group$: §Y$levantine$§!\n$idea_language$: §Y$lang_hye$§!" culture_aromanian_desc:0 "$primary_culture$: §Y$culture_aromanian$§! \n$culture_group$: §Y$pan_romanian$§!\n$idea_language$: §Y$lang_rup$§!" + culture_arvorigeg_desc:0 "$primary_culture$: §Y$culture_arvorigeg$§!\n$culture_group$: §Y$british$§!\n$idea_language$: §Y$lang_bre$§!" culture_ashkenazi_desc:0 "$primary_culture$: §Y$culture_ashkenazi$§! \n$culture_group$: §Y$jewish_group$§!\n$idea_language$: §Y$lang_heb$§!" culture_asian_minor_desc:0 "$primary_culture$: §Y$culture_asian_minor$§! \n$culture_group$: §Y$southeast_asian$§!\n$idea_language$: §Y$lang_hin$§!" culture_assamese_desc:0 "$primary_culture$: §Y$culture_assamese$§! \n$culture_group$: §Y$south_asian$§!\n$idea_language$: §Y$lang_asm$§!" @@ -1046,6 +1053,7 @@ culture_dog_culture_desc:0 "$primary_culture$: §Y$culture_dog_culture$§! \n$culture_group$: §Y$non_human$§!\n$idea_language$: §Y$dog_speak$§!" culture_dongren_desc:0 "$primary_culture$: §Y$culture_dongren$§! \n$culture_group$: §Y$east_asian$§!\n$idea_language$: §Y$lang_zho$§!" culture_dragon_culture_desc:0 "$primary_culture$: §Y$culture_dragon_culture$§! \n$culture_group$: §Y$non_human$§!\n$idea_language$: §Y$dragon_speak$§!" + culture_dramor_desc:0 "$primary_culture$: §Y$culture_dramor$§!\n$culture_group$: §Y$british$§!\n$idea_language$: §Y$lang_cym$§!" culture_duck_culture_desc:0 "$primary_culture$: §Y$culture_duck_culture$§! \n$culture_group$: §Y$non_human$§!\n$idea_language$: §Y$duck_speak$§!" culture_dummy_desc:0 "$primary_culture$: §Y$culture_dummy$§! \n$culture_group$: §Y$culture_dummy$§!\n$idea_language$: §Y$culture_dummy$§!" culture_dutch_desc:0 "$primary_culture$: §Y$culture_dutch$§! \n$culture_group$: §Y$beneluxian$§!\n$idea_language$: §Y$lang_nld$§!" @@ -1146,6 +1154,7 @@ culture_japanese_desc:0 "$primary_culture$: §Y$culture_japanese$§! \n$culture_group$: §Y$far_east_asian$§!\n$idea_language$: §Y$lang_jpn$§!" culture_javan_desc:0 "$primary_culture$: §Y$culture_javan$§! \n$culture_group$: §Y$southeast_asian$§!\n$idea_language$: §Y$lang_ind$§!" culture_je_desc:0 "$primary_culture$: §Y$culture_je$§! \n$culture_group$: §Y$native_south_american$§!\n$idea_language$: §Y$lang_opy$§!" + culture_jerusalemer_desc:0 "$primary_culture$: §Y$culture_jerusalemer$§!\n$culture_group$: §Y$germanic$§!\n$idea_language$: §Y$lang_ger$§!" culture_jizni_desc:0 "$primary_culture$: §Y$culture_jizni$§! \n$culture_group$: §Y$czecho_slovak_culture_group$§!\n$idea_language$: §Y$lang_ces$§!" culture_juodaodis_desc:0 "$primary_culture$: §Y$culture_juodaodis$§! \n$culture_group$: §Y$polish_culture_group$§!\n$idea_language$: §Y$lang_lit$§!" culture_juzhno_desc:0 "$primary_culture$: §Y$culture_juzhno$§! \n$culture_group$: §Y$south_slavic$§!\n$idea_language$: §Y$lang_hbs$§!" @@ -1175,6 +1184,7 @@ culture_kru_desc:0 "$primary_culture$: §Y$culture_kru$§! \n$culture_group$: §Y$west_african$§!\n$idea_language$: §Y$lang_kru$§!" culture_kuba_desc:0 "$primary_culture$: §Y$culture_kuba$§! \n$culture_group$: §Y$central_african$§!\n$idea_language$: §Y$lang_lub$§!" culture_kujaanan_desc:0 "$primary_culture$: §Y$culture_kujaanan$§! \n$culture_group$: §Y$baltic$§!\n$idea_language$: §Y$lang_fin$§!" + culture_kulfoldi_desc:0 "$primary_culture$: §Y$culture_kulfoldi$§!\n$culture_group$: §Y$hungarian_culture_group$§!\n$idea_language$: §Y$lang_hun$§!" culture_kurdish_desc:0 "$primary_culture$: §Y$culture_kurdish$§! \n$culture_group$: §Y$turko_semitic$§!\n$idea_language$: §Y$lang_kur$§!" culture_laaz_desc:0 "$primary_culture$: §Y$culture_laaz$§! \n$culture_group$: §Y$jewish_group$§!\n$idea_language$: §Y$lang_heb$§!" culture_lacanite_desc:0 "$primary_culture$: §Y$culture_lacanite$§! \n$culture_group$: §Y$punic$§!\n$idea_language$: §Y$lang_phn$§!" @@ -1287,6 +1297,7 @@ culture_old_ligurian_desc:0 "$primary_culture$: §Y$culture_old_ligurian$§! \n$culture_group$: §Y$old_italian$§!\n$idea_language$: §Y$lang_lij$§!" culture_oldpommeranian_desc:0 "$primary_culture$: §Y$culture_oldpommeranian$§! \n$culture_group$: §Y$polish_culture_group$§!\n$idea_language$: §Y$lang_csb$§!" culture_oldspain_desc:0 "$primary_culture$: §Y$culture_oldspain$§! \n$culture_group$: §Y$pre_indo_european$§!\n$idea_language$: §Y$lang_xib$§!" + culture_oltremare_desc:0 "$primary_culture$: §Y$culture_oltremare$§!\n$culture_group$: §Y$italian$§!\n$idea_language$: §Y$lang_ita$§!" culture_ontustik_desc:0 "$primary_culture$: §Y$culture_ontustik$§! \n$culture_group$: §Y$central_asian$§!\n$idea_language$: §Y$lang_uzb$§!" culture_oriya_desc:0 "$primary_culture$: §Y$culture_oriya$§! \n$culture_group$: §Y$south_asian$§!\n$idea_language$: §Y$lang_ori$§!" culture_oromo_desc:0 "$primary_culture$: §Y$culture_oromo$§! \n$culture_group$: §Y$east_african$§!\n$idea_language$: §Y$lang_orm$§!" @@ -1421,6 +1432,7 @@ culture_ugrian_desc:0 "$primary_culture$: §Y$culture_ugrian$§! \n$culture_group$: §Y$east_slavic$§!\n$idea_language$: §Y$lang_kca$§!" culture_uighur_desc:0 "$primary_culture$: §Y$culture_uighur$§! \n$culture_group$: §Y$iranian_turanian$§!\n$idea_language$: §Y$lang_uig$§!" culture_ujvilag_desc:0 "$primary_culture$: §Y$culture_ujvilag$§! \n$culture_group$: §Y$hungarian_culture_group$§!\n$idea_language$: §Y$lang_hun$§!" + culture_ultramar_desc:0 "$primary_culture$: §Y$culture_ultramar$§!\n$culture_group$: §Y$iberian$§!\n$idea_language$: §Y$lang_spa$§!" culture_ukrainian_desc:0 "$primary_culture$: §Y$culture_ukrainian$§! \n$culture_group$: §Y$east_slavic$§!\n$idea_language$: §Y$lang_ukr$§!" culture_undead_desc:0 "$primary_culture$: §Y$culture_undead$§! \n$culture_group$: §Y$anti_human$§!\n$idea_language$: §Y$undead_speak$§!" culture_unyamwezi_desc:0 "$primary_culture$: §Y$culture_unyamwezi$§! \n$culture_group$: §Y$east_african$§!\n$idea_language$: §Y$lang_nym$§!" diff --git a/data/blank_mod/localisation/german/cultures_l_german.yml b/data/blank_mod/localisation/german/cultures_l_german.yml index dd81741611..e8755aa042 100644 --- a/data/blank_mod/localisation/german/cultures_l_german.yml +++ b/data/blank_mod/localisation/german/cultures_l_german.yml @@ -406,6 +406,7 @@ culture_arcansian:0 "Arkansit" culture_armenian:0 "Armenisch" culture_aromanian:0 "Aromunisch" + culture_arvorigeg:0 "Arvorigeg" culture_ashkenazi:0 "Aschkenasi" culture_asian_minor:0 "Asiatisch (Nicht spezifiziert)" culture_assamese:0 "Assamesisch" @@ -492,6 +493,7 @@ culture_dixie:0 "Dixieländisch" culture_dog_culture:0 "Hündisch" culture_dongren:0 "Dōngrén" + culture_dramor:0 "Dramor" culture_dragon_culture:0 "Drachen" culture_duck_culture:0 "Ente" culture_dummy:0 "£infinite" # Loc icon to show something's wrong @@ -593,6 +595,7 @@ culture_japanese:0 "Japanisch" culture_javan:0 "Javanisch" culture_je:0 "Ge" + culture_jerusalemer:0 "Jerusalemer" culture_jizni:0 "Jischni" culture_juodaodis:0 "Juodaodis" culture_juzhno:0 "Juschno" @@ -621,6 +624,7 @@ culture_kreol:0 "Kreolisch" culture_kru:0 "Kru" culture_kuba:0 "Kuba" + culture_kulfoldi:0 "Külföldi" culture_kujaanan:0 "Kujaanisch" culture_kurdish:0 "Kurdisch" culture_laaz:0 "Laaz" @@ -734,6 +738,7 @@ culture_old_ligurian:0 "Ligurisch" culture_oldpommeranian:0 "Pomoranisch" culture_oldspain:0 "Iberisch" + culture_oltremare:0 "Oltremare" culture_ontustik:0 "Onjtüstik" culture_oriya:0 "Oriya" culture_oromo:0 "Oromo" @@ -868,6 +873,7 @@ culture_ugrian:0 "Ugrisch" culture_uighur:0 "Uigurisch" culture_ujvilag:0 "Újvilág" + culture_ultramar:0 "Ultramar" culture_ukrainian:0 "Ukrainisch" culture_undead:0 "Untot" culture_unyamwezi:0 "Unyamwezi" @@ -959,6 +965,7 @@ culture_arcansian_desc:0 "$primary_culture$: §Y$culture_arcansian$§! \n$culture_group$: §Y$romantic$§!\n$idea_language$: §Y$lang_lat$§!" culture_armenian_desc:0 "$primary_culture$: §Y$culture_armenian$§! \n$culture_group$: §Y$levantine$§!\n$idea_language$: §Y$lang_hye$§!" culture_aromanian_desc:0 "$primary_culture$: §Y$culture_aromanian$§! \n$culture_group$: §Y$pan_romanian$§!\n$idea_language$: §Y$lang_rup$§!" + culture_arvorigeg_desc:0 "$primary_culture$: §Y$culture_arvorigeg$§!\n$culture_group$: §Y$british$§!\n$idea_language$: §Y$lang_bre$§!" culture_ashkenazi_desc:0 "$primary_culture$: §Y$culture_ashkenazi$§! \n$culture_group$: §Y$jewish_group$§!\n$idea_language$: §Y$lang_heb$§!" culture_asian_minor_desc:0 "$primary_culture$: §Y$culture_asian_minor$§! \n$culture_group$: §Y$southeast_asian$§!\n$idea_language$: §Y$lang_hin$§!" culture_assamese_desc:0 "$primary_culture$: §Y$culture_assamese$§! \n$culture_group$: §Y$south_asian$§!\n$idea_language$: §Y$lang_asm$§!" @@ -1046,6 +1053,7 @@ culture_dog_culture_desc:0 "$primary_culture$: §Y$culture_dog_culture$§! \n$culture_group$: §Y$non_human$§!\n$idea_language$: §Y$dog_speak$§!" culture_dongren_desc:0 "$primary_culture$: §Y$culture_dongren$§! \n$culture_group$: §Y$east_asian$§!\n$idea_language$: §Y$lang_zho$§!" culture_dragon_culture_desc:0 "$primary_culture$: §Y$culture_dragon_culture$§! \n$culture_group$: §Y$non_human$§!\n$idea_language$: §Y$dragon_speak$§!" + culture_dramor_desc:0 "$primary_culture$: §Y$culture_dramor$§!\n$culture_group$: §Y$british$§!\n$idea_language$: §Y$lang_cym$§!" culture_duck_culture_desc:0 "$primary_culture$: §Y$culture_duck_culture$§! \n$culture_group$: §Y$non_human$§!\n$idea_language$: §Y$duck_speak$§!" culture_dummy_desc:0 "$primary_culture$: §Y$culture_dummy$§! \n$culture_group$: §Y$culture_dummy$§!\n$idea_language$: §Y$culture_dummy$§!" culture_dutch_desc:0 "$primary_culture$: §Y$culture_dutch$§! \n$culture_group$: §Y$beneluxian$§!\n$idea_language$: §Y$lang_nld$§!" @@ -1146,6 +1154,7 @@ culture_japanese_desc:0 "$primary_culture$: §Y$culture_japanese$§! \n$culture_group$: §Y$far_east_asian$§!\n$idea_language$: §Y$lang_jpn$§!" culture_javan_desc:0 "$primary_culture$: §Y$culture_javan$§! \n$culture_group$: §Y$southeast_asian$§!\n$idea_language$: §Y$lang_ind$§!" culture_je_desc:0 "$primary_culture$: §Y$culture_je$§! \n$culture_group$: §Y$native_south_american$§!\n$idea_language$: §Y$lang_opy$§!" + culture_jerusalemer_desc:0 "$primary_culture$: §Y$culture_jerusalemer$§!\n$culture_group$: §Y$germanic$§!\n$idea_language$: §Y$lang_ger$§!" culture_jizni_desc:0 "$primary_culture$: §Y$culture_jizni$§! \n$culture_group$: §Y$czecho_slovak_culture_group$§!\n$idea_language$: §Y$lang_ces$§!" culture_juodaodis_desc:0 "$primary_culture$: §Y$culture_juodaodis$§! \n$culture_group$: §Y$polish_culture_group$§!\n$idea_language$: §Y$lang_lit$§!" culture_juzhno_desc:0 "$primary_culture$: §Y$culture_juzhno$§! \n$culture_group$: §Y$south_slavic$§!\n$idea_language$: §Y$lang_hbs$§!" @@ -1175,6 +1184,7 @@ culture_kru_desc:0 "$primary_culture$: §Y$culture_kru$§! \n$culture_group$: §Y$west_african$§!\n$idea_language$: §Y$lang_kru$§!" culture_kuba_desc:0 "$primary_culture$: §Y$culture_kuba$§! \n$culture_group$: §Y$central_african$§!\n$idea_language$: §Y$lang_lub$§!" culture_kujaanan_desc:0 "$primary_culture$: §Y$culture_kujaanan$§! \n$culture_group$: §Y$baltic$§!\n$idea_language$: §Y$lang_fin$§!" + culture_kulfoldi_desc:0 "$primary_culture$: §Y$culture_kulfoldi$§!\n$culture_group$: §Y$hungarian_culture_group$§!\n$idea_language$: §Y$lang_hun$§!" culture_kurdish_desc:0 "$primary_culture$: §Y$culture_kurdish$§! \n$culture_group$: §Y$turko_semitic$§!\n$idea_language$: §Y$lang_kur$§!" culture_laaz_desc:0 "$primary_culture$: §Y$culture_laaz$§! \n$culture_group$: §Y$jewish_group$§!\n$idea_language$: §Y$lang_heb$§!" culture_lacanite_desc:0 "$primary_culture$: §Y$culture_lacanite$§! \n$culture_group$: §Y$punic$§!\n$idea_language$: §Y$lang_phn$§!" @@ -1287,6 +1297,7 @@ culture_old_ligurian_desc:0 "$primary_culture$: §Y$culture_old_ligurian$§! \n$culture_group$: §Y$old_italian$§!\n$idea_language$: §Y$lang_lij$§!" culture_oldpommeranian_desc:0 "$primary_culture$: §Y$culture_oldpommeranian$§! \n$culture_group$: §Y$polish_culture_group$§!\n$idea_language$: §Y$lang_csb$§!" culture_oldspain_desc:0 "$primary_culture$: §Y$culture_oldspain$§! \n$culture_group$: §Y$pre_indo_european$§!\n$idea_language$: §Y$lang_xib$§!" + culture_oltremare_desc:0 "$primary_culture$: §Y$culture_oltremare$§!\n$culture_group$: §Y$italian$§!\n$idea_language$: §Y$lang_ita$§!" culture_ontustik_desc:0 "$primary_culture$: §Y$culture_ontustik$§! \n$culture_group$: §Y$central_asian$§!\n$idea_language$: §Y$lang_uzb$§!" culture_oriya_desc:0 "$primary_culture$: §Y$culture_oriya$§! \n$culture_group$: §Y$south_asian$§!\n$idea_language$: §Y$lang_ori$§!" culture_oromo_desc:0 "$primary_culture$: §Y$culture_oromo$§! \n$culture_group$: §Y$east_african$§!\n$idea_language$: §Y$lang_orm$§!" @@ -1421,6 +1432,7 @@ culture_ugrian_desc:0 "$primary_culture$: §Y$culture_ugrian$§! \n$culture_group$: §Y$east_slavic$§!\n$idea_language$: §Y$lang_kca$§!" culture_uighur_desc:0 "$primary_culture$: §Y$culture_uighur$§! \n$culture_group$: §Y$iranian_turanian$§!\n$idea_language$: §Y$lang_uig$§!" culture_ujvilag_desc:0 "$primary_culture$: §Y$culture_ujvilag$§! \n$culture_group$: §Y$hungarian_culture_group$§!\n$idea_language$: §Y$lang_hun$§!" + culture_ultramar_desc:0 "$primary_culture$: §Y$culture_ultramar$§!\n$culture_group$: §Y$iberian$§!\n$idea_language$: §Y$lang_spa$§!" culture_ukrainian_desc:0 "$primary_culture$: §Y$culture_ukrainian$§! \n$culture_group$: §Y$east_slavic$§!\n$idea_language$: §Y$lang_ukr$§!" culture_undead_desc:0 "$primary_culture$: §Y$culture_undead$§! \n$culture_group$: §Y$anti_human$§!\n$idea_language$: §Y$undead_speak$§!" culture_unyamwezi_desc:0 "$primary_culture$: §Y$culture_unyamwezi$§! \n$culture_group$: §Y$east_african$§!\n$idea_language$: §Y$lang_nym$§!" diff --git a/data/blank_mod/localisation/polish/cultures_l_polish.yml b/data/blank_mod/localisation/polish/cultures_l_polish.yml index d97a730456..296e8ac514 100644 --- a/data/blank_mod/localisation/polish/cultures_l_polish.yml +++ b/data/blank_mod/localisation/polish/cultures_l_polish.yml @@ -406,6 +406,7 @@ culture_arcansian:0 "Arkansaska" culture_armenian:0 "Armeńska" culture_aromanian:0 "Arumuńska" + culture_arvorigeg:0 "Arvorigeg" culture_ashkenazi:0 "Aszkenazyjska" culture_asian_minor:0 "Azjacka (Nie Określon.)" culture_assamese:0 "Asamska" @@ -492,6 +493,7 @@ culture_dixie:0 "Południowoamerykańska" culture_dog_culture:0 "Psia" culture_dongren:0 "Dōngrén" + culture_dramor:0 "Dramor" culture_dragon_culture:0 "Dragońska" culture_duck_culture:0 "Kacza" culture_dummy:0 "£infinite" # Loc icon to show something's wrong @@ -593,6 +595,7 @@ culture_japanese:0 "Japońska" culture_javan:0 "Jawajska" culture_je:0 "Ge" + culture_jerusalemer:0 "Jerusalemer" culture_jizni:0 "Jiźnyska" culture_juodaodis:0 "Juodaodiska" culture_juzhno:0 "Jużnońska" @@ -621,6 +624,7 @@ culture_kreol:0 "Kreolska" culture_kru:0 "Kru" culture_kuba:0 "Kuba" + culture_kulfoldi:0 "Külföldi" culture_kujaanan:0 "Kujaańska" culture_kurdish:0 "Kurdyjska" culture_laaz:0 "Laaz" @@ -734,6 +738,7 @@ culture_old_ligurian:0 "Liguryjska" culture_oldpommeranian:0 "Pomorska" culture_oldspain:0 "Iberyjska" + culture_oltremare:0 "Oltremare" culture_ontustik:0 "Ońtystikska" culture_oriya:0 "Orija" culture_oromo:0 "Oromo" @@ -868,6 +873,7 @@ culture_ugrian:0 "Ugryjska" culture_uighur:0 "Ujgurska" culture_ujvilag:0 "Újvilág" + culture_ultramar:0 "Ultramar" culture_ukrainian:0 "Ukraińska" culture_undead:0 "Nieumarła" culture_unyamwezi:0 "Unyamwezi" @@ -959,6 +965,7 @@ culture_arcansian_desc:0 "$primary_culture$: §Y$culture_arcansian$§! \n$culture_group$: §Y$romantic$§!\n$idea_language$: §Y$lang_lat$§!" culture_armenian_desc:0 "$primary_culture$: §Y$culture_armenian$§! \n$culture_group$: §Y$levantine$§!\n$idea_language$: §Y$lang_hye$§!" culture_aromanian_desc:0 "$primary_culture$: §Y$culture_aromanian$§! \n$culture_group$: §Y$pan_romanian$§!\n$idea_language$: §Y$lang_rup$§!" + culture_arvorigeg_desc:0 "$primary_culture$: §Y$culture_arvorigeg$§!\n$culture_group$: §Y$british$§!\n$idea_language$: §Y$lang_bre$§!" culture_ashkenazi_desc:0 "$primary_culture$: §Y$culture_ashkenazi$§! \n$culture_group$: §Y$jewish_group$§!\n$idea_language$: §Y$lang_heb$§!" culture_asian_minor_desc:0 "$primary_culture$: §Y$culture_asian_minor$§! \n$culture_group$: §Y$southeast_asian$§!\n$idea_language$: §Y$lang_hin$§!" culture_assamese_desc:0 "$primary_culture$: §Y$culture_assamese$§! \n$culture_group$: §Y$south_asian$§!\n$idea_language$: §Y$lang_asm$§!" @@ -1046,6 +1053,7 @@ culture_dog_culture_desc:0 "$primary_culture$: §Y$culture_dog_culture$§! \n$culture_group$: §Y$non_human$§!\n$idea_language$: §Y$dog_speak$§!" culture_dongren_desc:0 "$primary_culture$: §Y$culture_dongren$§! \n$culture_group$: §Y$east_asian$§!\n$idea_language$: §Y$lang_zho$§!" culture_dragon_culture_desc:0 "$primary_culture$: §Y$culture_dragon_culture$§! \n$culture_group$: §Y$non_human$§!\n$idea_language$: §Y$dragon_speak$§!" + culture_dramor_desc:0 "$primary_culture$: §Y$culture_dramor$§!\n$culture_group$: §Y$british$§!\n$idea_language$: §Y$lang_cym$§!" culture_duck_culture_desc:0 "$primary_culture$: §Y$culture_duck_culture$§! \n$culture_group$: §Y$non_human$§!\n$idea_language$: §Y$duck_speak$§!" culture_dummy_desc:0 "$primary_culture$: §Y$culture_dummy$§! \n$culture_group$: §Y$culture_dummy$§!\n$idea_language$: §Y$culture_dummy$§!" culture_dutch_desc:0 "$primary_culture$: §Y$culture_dutch$§! \n$culture_group$: §Y$beneluxian$§!\n$idea_language$: §Y$lang_nld$§!" @@ -1146,6 +1154,7 @@ culture_japanese_desc:0 "$primary_culture$: §Y$culture_japanese$§! \n$culture_group$: §Y$far_east_asian$§!\n$idea_language$: §Y$lang_jpn$§!" culture_javan_desc:0 "$primary_culture$: §Y$culture_javan$§! \n$culture_group$: §Y$southeast_asian$§!\n$idea_language$: §Y$lang_ind$§!" culture_je_desc:0 "$primary_culture$: §Y$culture_je$§! \n$culture_group$: §Y$native_south_american$§!\n$idea_language$: §Y$lang_opy$§!" + culture_jerusalemer_desc:0 "$primary_culture$: §Y$culture_jerusalemer$§!\n$culture_group$: §Y$germanic$§!\n$idea_language$: §Y$lang_ger$§!" culture_jizni_desc:0 "$primary_culture$: §Y$culture_jizni$§! \n$culture_group$: §Y$czecho_slovak_culture_group$§!\n$idea_language$: §Y$lang_ces$§!" culture_juodaodis_desc:0 "$primary_culture$: §Y$culture_juodaodis$§! \n$culture_group$: §Y$polish_culture_group$§!\n$idea_language$: §Y$lang_lit$§!" culture_juzhno_desc:0 "$primary_culture$: §Y$culture_juzhno$§! \n$culture_group$: §Y$south_slavic$§!\n$idea_language$: §Y$lang_hbs$§!" @@ -1175,6 +1184,7 @@ culture_kru_desc:0 "$primary_culture$: §Y$culture_kru$§! \n$culture_group$: §Y$west_african$§!\n$idea_language$: §Y$lang_kru$§!" culture_kuba_desc:0 "$primary_culture$: §Y$culture_kuba$§! \n$culture_group$: §Y$central_african$§!\n$idea_language$: §Y$lang_lub$§!" culture_kujaanan_desc:0 "$primary_culture$: §Y$culture_kujaanan$§! \n$culture_group$: §Y$baltic$§!\n$idea_language$: §Y$lang_fin$§!" + culture_kulfoldi_desc:0 "$primary_culture$: §Y$culture_kulfoldi$§!\n$culture_group$: §Y$hungarian_culture_group$§!\n$idea_language$: §Y$lang_hun$§!" culture_kurdish_desc:0 "$primary_culture$: §Y$culture_kurdish$§! \n$culture_group$: §Y$turko_semitic$§!\n$idea_language$: §Y$lang_kur$§!" culture_laaz_desc:0 "$primary_culture$: §Y$culture_laaz$§! \n$culture_group$: §Y$jewish_group$§!\n$idea_language$: §Y$lang_heb$§!" culture_lacanite_desc:0 "$primary_culture$: §Y$culture_lacanite$§! \n$culture_group$: §Y$punic$§!\n$idea_language$: §Y$lang_phn$§!" @@ -1287,6 +1297,7 @@ culture_old_ligurian_desc:0 "$primary_culture$: §Y$culture_old_ligurian$§! \n$culture_group$: §Y$old_italian$§!\n$idea_language$: §Y$lang_lij$§!" culture_oldpommeranian_desc:0 "$primary_culture$: §Y$culture_oldpommeranian$§! \n$culture_group$: §Y$polish_culture_group$§!\n$idea_language$: §Y$lang_csb$§!" culture_oldspain_desc:0 "$primary_culture$: §Y$culture_oldspain$§! \n$culture_group$: §Y$pre_indo_european$§!\n$idea_language$: §Y$lang_xib$§!" + culture_oltremare_desc:0 "$primary_culture$: §Y$culture_oltremare$§!\n$culture_group$: §Y$italian$§!\n$idea_language$: §Y$lang_ita$§!" culture_ontustik_desc:0 "$primary_culture$: §Y$culture_ontustik$§! \n$culture_group$: §Y$central_asian$§!\n$idea_language$: §Y$lang_uzb$§!" culture_oriya_desc:0 "$primary_culture$: §Y$culture_oriya$§! \n$culture_group$: §Y$south_asian$§!\n$idea_language$: §Y$lang_ori$§!" culture_oromo_desc:0 "$primary_culture$: §Y$culture_oromo$§! \n$culture_group$: §Y$east_african$§!\n$idea_language$: §Y$lang_orm$§!" @@ -1421,6 +1432,7 @@ culture_ugrian_desc:0 "$primary_culture$: §Y$culture_ugrian$§! \n$culture_group$: §Y$east_slavic$§!\n$idea_language$: §Y$lang_kca$§!" culture_uighur_desc:0 "$primary_culture$: §Y$culture_uighur$§! \n$culture_group$: §Y$iranian_turanian$§!\n$idea_language$: §Y$lang_uig$§!" culture_ujvilag_desc:0 "$primary_culture$: §Y$culture_ujvilag$§! \n$culture_group$: §Y$hungarian_culture_group$§!\n$idea_language$: §Y$lang_hun$§!" + culture_ultramar_desc:0 "$primary_culture$: §Y$culture_ultramar$§!\n$culture_group$: §Y$iberian$§!\n$idea_language$: §Y$lang_spa$§!" culture_ukrainian_desc:0 "$primary_culture$: §Y$culture_ukrainian$§! \n$culture_group$: §Y$east_slavic$§!\n$idea_language$: §Y$lang_ukr$§!" culture_undead_desc:0 "$primary_culture$: §Y$culture_undead$§! \n$culture_group$: §Y$anti_human$§!\n$idea_language$: §Y$undead_speak$§!" culture_unyamwezi_desc:0 "$primary_culture$: §Y$culture_unyamwezi$§! \n$culture_group$: §Y$east_african$§!\n$idea_language$: §Y$lang_nym$§!" diff --git a/data/blank_mod/localisation/russian/cultures_l_russian.yml b/data/blank_mod/localisation/russian/cultures_l_russian.yml index 5b86aa6522..2692b41065 100644 --- a/data/blank_mod/localisation/russian/cultures_l_russian.yml +++ b/data/blank_mod/localisation/russian/cultures_l_russian.yml @@ -406,6 +406,7 @@ culture_arcansian:0 "Аркансьская" culture_armenian:0 "Армянская" culture_aromanian:0 "Арумынская" + culture_arvorigeg:0 "Арворигег" culture_ashkenazi:0 "Ашкеназийская" culture_asian_minor:0 "Азиатская (Не Указана)" culture_assamese:0 "Ассамская" @@ -492,6 +493,7 @@ culture_dixie:0 "Дикси-Штатовская" culture_dog_culture:0 "Собачая" culture_dongren:0 "Дунжэнь" + culture_dramor:0 "Драмор" culture_dragon_culture:0 "Смокская" culture_duck_culture:0 "Утка" culture_dummy:0 "£infinite" # Loc icon to show something's wrong @@ -593,6 +595,7 @@ culture_japanese:0 "Японская" culture_javan:0 "Яванская" culture_je:0 "Же" + culture_jerusalemer:0 "иерусалимец" culture_jizni:0 "Иижная" culture_juodaodis:0 "Юодаодис" culture_juzhno:0 "Южно" @@ -621,6 +624,7 @@ culture_kreol:0 "Креольская" culture_kru:0 "Кру" culture_kuba:0 "Куба" + culture_kulfoldi:0 "Külföldi" culture_kujaanan:0 "Куянанская" culture_kurdish:0 "Курдская" culture_laaz:0 "Лааз" @@ -734,6 +738,7 @@ culture_old_ligurian:0 "Лигурская" culture_oldpommeranian:0 "Поморская" culture_oldspain:0 "Иберийская" + culture_oltremare:0 "Ольтремаре" culture_ontustik:0 "Оньтюстик" culture_oriya:0 "Ория" culture_oromo:0 "Оромо" @@ -868,6 +873,7 @@ culture_ugrian:0 "Угорская" culture_uighur:0 "Уйгурская" culture_ujvilag:0 "Уйвилаг" + culture_ultramar:0 "Ультрамар" culture_ukrainian:0 "Украинская" culture_undead:0 "Неживая" culture_unyamwezi:0 "Унямвези" @@ -959,6 +965,7 @@ culture_arcansian_desc:0 "$primary_culture$: §Y$culture_arcansian$§! \n$culture_group$: §Y$romantic$§!\n$idea_language$: §Y$lang_lat$§!" culture_armenian_desc:0 "$primary_culture$: §Y$culture_armenian$§! \n$culture_group$: §Y$levantine$§!\n$idea_language$: §Y$lang_hye$§!" culture_aromanian_desc:0 "$primary_culture$: §Y$culture_aromanian$§! \n$culture_group$: §Y$pan_romanian$§!\n$idea_language$: §Y$lang_rup$§!" + culture_arvorigeg_desc:0 "$primary_culture$: §Y$culture_arvorigeg$§!\n$culture_group$: §Y$british$§!\n$idea_language$: §Y$lang_bre$§!" culture_ashkenazi_desc:0 "$primary_culture$: §Y$culture_ashkenazi$§! \n$culture_group$: §Y$jewish_group$§!\n$idea_language$: §Y$lang_heb$§!" culture_asian_minor_desc:0 "$primary_culture$: §Y$culture_asian_minor$§! \n$culture_group$: §Y$southeast_asian$§!\n$idea_language$: §Y$lang_hin$§!" culture_assamese_desc:0 "$primary_culture$: §Y$culture_assamese$§! \n$culture_group$: §Y$south_asian$§!\n$idea_language$: §Y$lang_asm$§!" @@ -1046,6 +1053,7 @@ culture_dog_culture_desc:0 "$primary_culture$: §Y$culture_dog_culture$§! \n$culture_group$: §Y$non_human$§!\n$idea_language$: §Y$dog_speak$§!" culture_dongren_desc:0 "$primary_culture$: §Y$culture_dongren$§! \n$culture_group$: §Y$east_asian$§!\n$idea_language$: §Y$lang_zho$§!" culture_dragon_culture_desc:0 "$primary_culture$: §Y$culture_dragon_culture$§! \n$culture_group$: §Y$non_human$§!\n$idea_language$: §Y$dragon_speak$§!" + culture_dramor_desc:0 "$primary_culture$: §Y$culture_dramor$§!\n$culture_group$: §Y$british$§!\n$idea_language$: §Y$lang_cym$§!" culture_duck_culture_desc:0 "$primary_culture$: §Y$culture_duck_culture$§! \n$culture_group$: §Y$non_human$§!\n$idea_language$: §Y$duck_speak$§!" culture_dummy_desc:0 "$primary_culture$: §Y$culture_dummy$§! \n$culture_group$: §Y$culture_dummy$§!\n$idea_language$: §Y$culture_dummy$§!" culture_dutch_desc:0 "$primary_culture$: §Y$culture_dutch$§! \n$culture_group$: §Y$beneluxian$§!\n$idea_language$: §Y$lang_nld$§!" @@ -1146,6 +1154,7 @@ culture_japanese_desc:0 "$primary_culture$: §Y$culture_japanese$§! \n$culture_group$: §Y$far_east_asian$§!\n$idea_language$: §Y$lang_jpn$§!" culture_javan_desc:0 "$primary_culture$: §Y$culture_javan$§! \n$culture_group$: §Y$southeast_asian$§!\n$idea_language$: §Y$lang_ind$§!" culture_je_desc:0 "$primary_culture$: §Y$culture_je$§! \n$culture_group$: §Y$native_south_american$§!\n$idea_language$: §Y$lang_opy$§!" + culture_jerusalemer_desc:0 "$primary_culture$: §Y$culture_jerusalemer$§!\n$culture_group$: §Y$germanic$§!\n$idea_language$: §Y$lang_ger$§!" culture_jizni_desc:0 "$primary_culture$: §Y$culture_jizni$§! \n$culture_group$: §Y$czecho_slovak_culture_group$§!\n$idea_language$: §Y$lang_ces$§!" culture_juodaodis_desc:0 "$primary_culture$: §Y$culture_juodaodis$§! \n$culture_group$: §Y$polish_culture_group$§!\n$idea_language$: §Y$lang_lit$§!" culture_juzhno_desc:0 "$primary_culture$: §Y$culture_juzhno$§! \n$culture_group$: §Y$south_slavic$§!\n$idea_language$: §Y$lang_hbs$§!" @@ -1176,6 +1185,7 @@ culture_kuba_desc:0 "$primary_culture$: §Y$culture_kuba$§! \n$culture_group$: §Y$central_african$§!\n$idea_language$: §Y$lang_lub$§!" culture_kujaanan_desc:0 "$primary_culture$: §Y$culture_kujaanan$§! \n$culture_group$: §Y$baltic$§!\n$idea_language$: §Y$lang_fin$§!" culture_kurdish_desc:0 "$primary_culture$: §Y$culture_kurdish$§! \n$culture_group$: §Y$turko_semitic$§!\n$idea_language$: §Y$lang_kur$§!" + culture_kulfoldi_desc:0 "$primary_culture$: §Y$culture_kulfoldi$§!\n$culture_group$: §Y$hungarian_culture_group$§!\n$idea_language$: §Y$lang_hun$§!" culture_laaz_desc:0 "$primary_culture$: §Y$culture_laaz$§! \n$culture_group$: §Y$jewish_group$§!\n$idea_language$: §Y$lang_heb$§!" culture_lacanite_desc:0 "$primary_culture$: §Y$culture_lacanite$§! \n$culture_group$: §Y$punic$§!\n$idea_language$: §Y$lang_phn$§!" culture_lacustrine_bantu_desc:0 "$primary_culture$: §Y$culture_lacustrine_bantu$§! \n$culture_group$: §Y$east_african$§!\n$idea_language$: §Y$lang_bnt$§!" @@ -1287,6 +1297,7 @@ culture_old_ligurian_desc:0 "$primary_culture$: §Y$culture_old_ligurian$§! \n$culture_group$: §Y$old_italian$§!\n$idea_language$: §Y$lang_lij$§!" culture_oldpommeranian_desc:0 "$primary_culture$: §Y$culture_oldpommeranian$§! \n$culture_group$: §Y$polish_culture_group$§!\n$idea_language$: §Y$lang_csb$§!" culture_oldspain_desc:0 "$primary_culture$: §Y$culture_oldspain$§! \n$culture_group$: §Y$pre_indo_european$§!\n$idea_language$: §Y$lang_xib$§!" + culture_oltremare_desc:0 "$primary_culture$: §Y$culture_oltremare$§!\n$culture_group$: §Y$italian$§!\n$idea_language$: §Y$lang_ita$§!" culture_ontustik_desc:0 "$primary_culture$: §Y$culture_ontustik$§! \n$culture_group$: §Y$central_asian$§!\n$idea_language$: §Y$lang_uzb$§!" culture_oriya_desc:0 "$primary_culture$: §Y$culture_oriya$§! \n$culture_group$: §Y$south_asian$§!\n$idea_language$: §Y$lang_ori$§!" culture_oromo_desc:0 "$primary_culture$: §Y$culture_oromo$§! \n$culture_group$: §Y$east_african$§!\n$idea_language$: §Y$lang_orm$§!" @@ -1421,6 +1432,7 @@ culture_ugrian_desc:0 "$primary_culture$: §Y$culture_ugrian$§! \n$culture_group$: §Y$east_slavic$§!\n$idea_language$: §Y$lang_kca$§!" culture_uighur_desc:0 "$primary_culture$: §Y$culture_uighur$§! \n$culture_group$: §Y$iranian_turanian$§!\n$idea_language$: §Y$lang_uig$§!" culture_ujvilag_desc:0 "$primary_culture$: §Y$culture_ujvilag$§! \n$culture_group$: §Y$hungarian_culture_group$§!\n$idea_language$: §Y$lang_hun$§!" + culture_ultramar_desc:0 "$primary_culture$: §Y$culture_ultramar$§!\n$culture_group$: §Y$iberian$§!\n$idea_language$: §Y$lang_spa$§!" culture_ukrainian_desc:0 "$primary_culture$: §Y$culture_ukrainian$§! \n$culture_group$: §Y$east_slavic$§!\n$idea_language$: §Y$lang_ukr$§!" culture_undead_desc:0 "$primary_culture$: §Y$culture_undead$§! \n$culture_group$: §Y$anti_human$§!\n$idea_language$: §Y$undead_speak$§!" culture_unyamwezi_desc:0 "$primary_culture$: §Y$culture_unyamwezi$§! \n$culture_group$: §Y$east_african$§!\n$idea_language$: §Y$lang_nym$§!" diff --git a/data/blank_mod/localisation/spanish/cultures_l_spanish.yml b/data/blank_mod/localisation/spanish/cultures_l_spanish.yml index 3a3275452f..42e8aeabc5 100644 --- a/data/blank_mod/localisation/spanish/cultures_l_spanish.yml +++ b/data/blank_mod/localisation/spanish/cultures_l_spanish.yml @@ -405,7 +405,9 @@ culture_aravacian:0 "Aravacia" culture_arcansian:0 "Arcansia" culture_armenian:0 "Armenia" + culture_arvorigeg:0 "Arvorigeg" culture_aromanian:0 "Arrumana" + culture_arvorigeg:0 "Arvorigeg" culture_ashkenazi:0 "Asquenazí" culture_asian_minor:0 "Asiática (No especificada)" culture_assamese:0 "Asamesa" @@ -492,6 +494,7 @@ culture_dixie:0 "Americana Dixie" culture_dog_culture:0 "Perra" culture_dongren:0 "Dōngrén" + culture_dramor:0 "Dramor" culture_dragon_culture:0 "Dragón" culture_duck_culture:0 "Pata" culture_dummy:0 "£infinite" # Loc icon to show something's wrong @@ -593,6 +596,7 @@ culture_japanese:0 "Japonesa" culture_javan:0 "Javanesa" culture_je:0 "Ye" + culture_jerusalemer:0 "Jerusalemer" culture_jizni:0 "Yiní" culture_juodaodis:0 "Yuodaodis" culture_juzhno:0 "Yuyno" @@ -621,6 +625,7 @@ culture_kreol:0 "Criolla" culture_kru:0 "Kru" culture_kuba:0 "Kuba" + culture_kulfoldi:0 "Külföldi" culture_kujaanan:0 "Kuyaná" culture_kurdish:0 "Kurda" culture_laaz:0 "Laaz" @@ -734,6 +739,7 @@ culture_old_ligurian:0 "Ligur" culture_oldpommeranian:0 "Pomerania" culture_oldspain:0 "Ibérica" + culture_oltremare:0 "Oltremare" culture_ontustik:0 "Oñtustik" culture_oriya:0 "Oriya" culture_oromo:0 "Oromo" @@ -868,6 +874,7 @@ culture_ugrian:0 "Ugra" culture_uighur:0 "Uigur" culture_ujvilag:0 "Újvilág" + culture_ultramar:0 "Ultramar" culture_ukrainian:0 "Ucraniana" culture_undead:0 "No-Muerta" culture_unyamwezi:0 "Unyamwezi" @@ -959,6 +966,7 @@ culture_arcansian_desc:0 "$primary_culture$: §Y$culture_arcansian$§! \n$culture_group$: §Y$romantic$§!\n$idea_language$: §Y$lang_lat$§!" culture_armenian_desc:0 "$primary_culture$: §Y$culture_armenian$§! \n$culture_group$: §Y$levantine$§!\n$idea_language$: §Y$lang_hye$§!" culture_aromanian_desc:0 "$primary_culture$: §Y$culture_aromanian$§! \n$culture_group$: §Y$pan_romanian$§!\n$idea_language$: §Y$lang_rup$§!" + culture_arvorigeg_desc:0 "$primary_culture$: §Y$culture_arvorigeg$§!\n$culture_group$: §Y$british$§!\n$idea_language$: §Y$lang_bre$§!" culture_ashkenazi_desc:0 "$primary_culture$: §Y$culture_ashkenazi$§! \n$culture_group$: §Y$jewish_group$§!\n$idea_language$: §Y$lang_heb$§!" culture_asian_minor_desc:0 "$primary_culture$: §Y$culture_asian_minor$§! \n$culture_group$: §Y$southeast_asian$§!\n$idea_language$: §Y$lang_hin$§!" culture_assamese_desc:0 "$primary_culture$: §Y$culture_assamese$§! \n$culture_group$: §Y$south_asian$§!\n$idea_language$: §Y$lang_asm$§!" @@ -1046,6 +1054,7 @@ culture_dog_culture_desc:0 "$primary_culture$: §Y$culture_dog_culture$§! \n$culture_group$: §Y$non_human$§!\n$idea_language$: §Y$dog_speak$§!" culture_dongren_desc:0 "$primary_culture$: §Y$culture_dongren$§! \n$culture_group$: §Y$east_asian$§!\n$idea_language$: §Y$lang_zho$§!" culture_dragon_culture_desc:0 "$primary_culture$: §Y$culture_dragon_culture$§! \n$culture_group$: §Y$non_human$§!\n$idea_language$: §Y$dragon_speak$§!" + culture_dramor_desc:0 "$primary_culture$: §Y$culture_dramor$§!\n$culture_group$: §Y$british$§!\n$idea_language$: §Y$lang_cym$§!" culture_duck_culture_desc:0 "$primary_culture$: §Y$culture_duck_culture$§! \n$culture_group$: §Y$non_human$§!\n$idea_language$: §Y$duck_speak$§!" culture_dummy_desc:0 "$primary_culture$: §Y$culture_dummy$§! \n$culture_group$: §Y$culture_dummy$§!\n$idea_language$: §Y$culture_dummy$§!" culture_dutch_desc:0 "$primary_culture$: §Y$culture_dutch$§! \n$culture_group$: §Y$beneluxian$§!\n$idea_language$: §Y$lang_nld$§!" @@ -1146,6 +1155,7 @@ culture_japanese_desc:0 "$primary_culture$: §Y$culture_japanese$§! \n$culture_group$: §Y$far_east_asian$§!\n$idea_language$: §Y$lang_jpn$§!" culture_javan_desc:0 "$primary_culture$: §Y$culture_javan$§! \n$culture_group$: §Y$southeast_asian$§!\n$idea_language$: §Y$lang_ind$§!" culture_je_desc:0 "$primary_culture$: §Y$culture_je$§! \n$culture_group$: §Y$native_south_american$§!\n$idea_language$: §Y$lang_opy$§!" + culture_jerusalemer_desc:0 "$primary_culture$: §Y$culture_jerusalemer$§!\n$culture_group$: §Y$germanic$§!\n$idea_language$: §Y$lang_ger$§!" culture_jizni_desc:0 "$primary_culture$: §Y$culture_jizni$§! \n$culture_group$: §Y$czecho_slovak_culture_group$§!\n$idea_language$: §Y$lang_ces$§!" culture_juodaodis_desc:0 "$primary_culture$: §Y$culture_juodaodis$§! \n$culture_group$: §Y$polish_culture_group$§!\n$idea_language$: §Y$lang_lit$§!" culture_juzhno_desc:0 "$primary_culture$: §Y$culture_juzhno$§! \n$culture_group$: §Y$south_slavic$§!\n$idea_language$: §Y$lang_hbs$§!" @@ -1175,6 +1185,7 @@ culture_kru_desc:0 "$primary_culture$: §Y$culture_kru$§! \n$culture_group$: §Y$west_african$§!\n$idea_language$: §Y$lang_kru$§!" culture_kuba_desc:0 "$primary_culture$: §Y$culture_kuba$§! \n$culture_group$: §Y$central_african$§!\n$idea_language$: §Y$lang_lub$§!" culture_kujaanan_desc:0 "$primary_culture$: §Y$culture_kujaanan$§! \n$culture_group$: §Y$baltic$§!\n$idea_language$: §Y$lang_fin$§!" + culture_kulfoldi_desc:0 "$primary_culture$: §Y$culture_kulfoldi$§!\n$culture_group$: §Y$hungarian_culture_group$§!\n$idea_language$: §Y$lang_hun$§!" culture_kurdish_desc:0 "$primary_culture$: §Y$culture_kurdish$§! \n$culture_group$: §Y$turko_semitic$§!\n$idea_language$: §Y$lang_kur$§!" culture_laaz_desc:0 "$primary_culture$: §Y$culture_laaz$§! \n$culture_group$: §Y$jewish_group$§!\n$idea_language$: §Y$lang_heb$§!" culture_lacanite_desc:0 "$primary_culture$: §Y$culture_lacanite$§! \n$culture_group$: §Y$punic$§!\n$idea_language$: §Y$lang_phn$§!" @@ -1287,6 +1298,7 @@ culture_old_ligurian_desc:0 "$primary_culture$: §Y$culture_old_ligurian$§! \n$culture_group$: §Y$old_italian$§!\n$idea_language$: §Y$lang_lij$§!" culture_oldpommeranian_desc:0 "$primary_culture$: §Y$culture_oldpommeranian$§! \n$culture_group$: §Y$polish_culture_group$§!\n$idea_language$: §Y$lang_csb$§!" culture_oldspain_desc:0 "$primary_culture$: §Y$culture_oldspain$§! \n$culture_group$: §Y$pre_indo_european$§!\n$idea_language$: §Y$lang_xib$§!" + culture_oltremare_desc:0 "$primary_culture$: §Y$culture_oltremare$§!\n$culture_group$: §Y$italian$§!\n$idea_language$: §Y$lang_ita$§!" culture_ontustik_desc:0 "$primary_culture$: §Y$culture_ontustik$§! \n$culture_group$: §Y$central_asian$§!\n$idea_language$: §Y$lang_uzb$§!" culture_oriya_desc:0 "$primary_culture$: §Y$culture_oriya$§! \n$culture_group$: §Y$south_asian$§!\n$idea_language$: §Y$lang_ori$§!" culture_oromo_desc:0 "$primary_culture$: §Y$culture_oromo$§! \n$culture_group$: §Y$east_african$§!\n$idea_language$: §Y$lang_orm$§!" @@ -1421,6 +1433,7 @@ culture_ugrian_desc:0 "$primary_culture$: §Y$culture_ugrian$§! \n$culture_group$: §Y$east_slavic$§!\n$idea_language$: §Y$lang_kca$§!" culture_uighur_desc:0 "$primary_culture$: §Y$culture_uighur$§! \n$culture_group$: §Y$iranian_turanian$§!\n$idea_language$: §Y$lang_uig$§!" culture_ujvilag_desc:0 "$primary_culture$: §Y$culture_ujvilag$§! \n$culture_group$: §Y$hungarian_culture_group$§!\n$idea_language$: §Y$lang_hun$§!" + culture_ultramar_desc:0 "$primary_culture$: §Y$culture_ultramar$§!\n$culture_group$: §Y$iberian$§!\n$idea_language$: §Y$lang_spa$§!" culture_ukrainian_desc:0 "$primary_culture$: §Y$culture_ukrainian$§! \n$culture_group$: §Y$east_slavic$§!\n$idea_language$: §Y$lang_ukr$§!" culture_undead_desc:0 "$primary_culture$: §Y$culture_undead$§! \n$culture_group$: §Y$anti_human$§!\n$idea_language$: §Y$undead_speak$§!" culture_unyamwezi_desc:0 "$primary_culture$: §Y$culture_unyamwezi$§! \n$culture_group$: §Y$east_african$§!\n$idea_language$: §Y$lang_nym$§!" diff --git a/src/HOI4World/Decisions/DecisionsInCategory.h b/src/HOI4World/Decisions/DecisionsInCategory.h index 92e71f8325..fd02605a71 100644 --- a/src/HOI4World/Decisions/DecisionsInCategory.h +++ b/src/HOI4World/Decisions/DecisionsInCategory.h @@ -21,14 +21,25 @@ class DecisionsInCategory: commonItems::parser explicit DecisionsInCategory(std::string category_name): name(std::move(category_name)) {} DecisionsInCategory(std::string categoryName, std::istream& theStream); + typedef struct + { + std::string english; + std::string french; + std::string german; + std::string polish; + std::string portuguese; + std::string russian; + std::string spanish; + } LocBlock; + [[nodiscard]] auto getDecisions() const { return theDecisions; } - [[nodiscard]] std::map getLocalisation() const { return localisation; } + [[nodiscard]] auto getLocalisation() const { return localisation; } [[nodiscard]] const auto& getcustomLocalisation() const { return customLocalisation; } [[nodiscard]] const auto& getName() const { return name; } void addCustomLocalisation(const std::pair& newLoc) { customLocalisation.emplace(newLoc); } void addDecision(decision& theDecision) { theDecisions.push_back(theDecision); } - void addLocalisation(const std::pair& newLoc) { localisation.emplace(newLoc); } + void addLocalisation(const std::pair newLoc) { localisation.emplace(newLoc); } void replaceDecision(const decision& theDecision) { @@ -45,7 +56,7 @@ class DecisionsInCategory: commonItems::parser private: std::string name = ""; std::vector theDecisions; - std::map localisation; + std::map localisation; std::map customLocalisation; void updateHoldTheIdeologyNationalReferendum(decision& decisionToUpdate, const Events& theEvents) const; diff --git a/src/HOI4World/Decisions/UnionDecisions.cpp b/src/HOI4World/Decisions/UnionDecisions.cpp index 67918a0acd..cb5bdbd99c 100644 --- a/src/HOI4World/Decisions/UnionDecisions.cpp +++ b/src/HOI4World/Decisions/UnionDecisions.cpp @@ -1,20 +1,21 @@ -#include "src/HOI4World/Decisions/UnionDecisions.h" +#include "src/HOI4World/Decisions/UnionDecisions.h" void HoI4::UnionDecisions::createDecisions(const std::vector& unionCountries) { - DecisionsInCategory formable_decisions_category("formable_nations"); + DecisionsInCategory formableDecisionsCategory("formable_nations"); for (auto unionCountry: unionCountries) { - const auto& oldTag = unionCountry.GetOldTag(); + const auto& oldTag = unionCountry.GetTag().substr(0, 2); const auto& tag = unionCountry.GetTag(); const auto& name = "form_" + tag; decision formationDecisionStateTrigger(name + "_state_trigger"); decision formationDecision(name); + DecisionsInCategory::LocBlock locBlock; // Custom Loc - formable_decisions_category.addCustomLocalisation( + formableDecisionsCategory.addCustomLocalisation( std::pair(name + "_loc_DEF", "\t= {\n\t\tlocalization_key = " + tag + "_DEF\n\t}")); - formable_decisions_category.addCustomLocalisation( + formableDecisionsCategory.addCustomLocalisation( std::pair(name + "_loc_ADJ", "\t= {\n\t\tlocalization_key = " + tag + "_ADJ\n\t}")); // STATE TRIGGER @@ -139,12 +140,25 @@ void HoI4::UnionDecisions::createDecisions(const std::vector formationDecisionStateTrigger.setAiWillDo("= {\n\t\t\tbase = 100\n\t\t}"); // Localisation - formable_decisions_category.addLocalisation(std::pair(name + "_state_trigger", "[" + name + "_loc_ADJ] State")); - formable_decisions_category.addLocalisation(std::pair(name + "_state_trigger_desc", - "One of the [?original_states] states needed to form [" + name + "_loc_DEF].")); + locBlock.english = "[" + name + "_loc_ADJ] State"; + locBlock.french = "One of the [?original_states] states needed to form [" + name + "_loc_DEF]."; + locBlock.german = "[" + name + "_loc_ADJ] Zustand"; + locBlock.polish = "[" + name + "_loc_ADJ] państwo"; + locBlock.portuguese = "[" + name + "_loc_ADJ] Estado"; + locBlock.russian = "[" + name + "_loc_ADJ] государство"; + locBlock.spanish = "[" + name + "_loc_ADJ] Estado"; + formableDecisionsCategory.addLocalisation(std::pair(name + "_state_trigger", locBlock)); + locBlock.english = "One of the [?original_states] states needed to form [" + name + "_loc_DEF]."; + locBlock.french = "L'un des états [?original_states] nécessaires pour former [" + name + "_loc_DEF]."; + locBlock.german = "Einer der [?original_states]-Zustände, die zum Bilden von [" + name + "_loc_DEF] benötigt werden."; + locBlock.polish = "Jeden ze stanów [?original_states] potrzebnych do utworzenia [" + name + "_loc_DEF]."; + locBlock.portuguese = "Um dos estados [?original_states] precisava formar [" + name + "_loc_DEF]."; + locBlock.russian = "Одно из состояний [?original_states], необходимое для формирования [" + name + "_loc_DEF]."; + locBlock.spanish = "Uno de los estados [?original_states] necesarios para formar [" + name + "_loc_DEF]."; + formableDecisionsCategory.addLocalisation(std::pair(name + "_state_trigger_desc", locBlock)); // Add to Category - formable_decisions_category.addDecision(formationDecisionStateTrigger); + formableDecisionsCategory.addDecision(formationDecisionStateTrigger); // FORMATION DECISION @@ -203,14 +217,26 @@ void HoI4::UnionDecisions::createDecisions(const std::vector formationDecision.setAiWillDo("= {\n\t\t\tbase = 100\n\t\t}"); // Localisation - formable_decisions_category.addLocalisation(std::pair(name, "Form [" + name + "_loc_DEF]")); - formable_decisions_category.addLocalisation(std::pair(name + "_desc", - "Our great people have been seperated for too long, kept apart by foreign powers who would keep us divided " - "and weak. Now we stand united against any who would dare try to seperate us again.")); + locBlock.english = "Form [" + name + "_loc_DEF]"; + locBlock.french = "Formulaire [" + name + "_loc_DEF]"; + locBlock.german = "Formular [" + name + "_loc_DEF]"; + locBlock.polish = "Formularz [" + name + "_loc_DEF]"; + locBlock.portuguese = "Formar [" + name + "_loc_DEF]"; + locBlock.russian = "Форма [" + name + "_loc_DEF]"; + locBlock.spanish = "Formulario [" + name + "_loc_DEF]"; + formableDecisionsCategory.addLocalisation(std::pair(name, locBlock)); + locBlock.english = "Our great people have been separated for too long, kept apart by foreign powers who would keep us divided and weak. Now we stand united against any who would dare try to separate us again."; + locBlock.french = "Notre grand peuple a été séparé pendant trop longtemps, tenu à l'écart par des puissances étrangères qui nous garderaient divisés et faibles. Maintenant, nous sommes unis contre quiconque oserait essayer de nous séparer à nouveau."; + locBlock.german = "Unser großartiges Volk war zu lange getrennt, getrennt gehalten von fremden Mächten, die uns gespalten und schwach halten würden. Jetzt stehen wir vereint gegen jeden, der es wagen würde, uns wieder zu trennen."; + locBlock.polish = "Nasi wielcy ludzie byli rozdzieleni zbyt długo, trzymani osobno przez obce mocarstwa, które trzymałyby nas podzielonych i słabych. Teraz stajemy zjednoczeni przeciwko każdemu, kto ośmieliłby się ponownie nas rozdzielić."; + locBlock.portuguese = "Nosso grande povo foi separado por muito tempo, mantido à parte por potências estrangeiras que nos manteriam divididos e fracos. Agora estamos unidos contra qualquer um que ousaria tentar nos separar novamente."; + locBlock.russian = "Наш великий народ слишком долго был разлучен, его держали в стороне иностранные державы, которые хотели, чтобы мы были разделены и слабы. Теперь мы объединились против любого, кто посмеет снова попытаться разлучить нас."; + locBlock.spanish = "Nuestro gran pueblo ha estado separado durante demasiado tiempo, mantenido aparte por potencias extranjeras que nos mantendrían divididos y débiles. Ahora estamos unidos contra cualquiera que se atreva a intentar separarnos de nuevo."; + formableDecisionsCategory.addLocalisation(std::pair(name + "_desc", locBlock)); // Add to Category - formable_decisions_category.addDecision(formationDecision); + formableDecisionsCategory.addDecision(formationDecision); } - decisions.push_back(formable_decisions_category); + decisions.push_back(formableDecisionsCategory); } \ No newline at end of file diff --git a/src/HOI4World/HoI4World.cpp b/src/HOI4World/HoI4World.cpp index f170c46df6..2064dab113 100644 --- a/src/HOI4World/HoI4World.cpp +++ b/src/HOI4World/HoI4World.cpp @@ -234,7 +234,7 @@ HoI4::World::World(const Vic2::World& sourceWorld, for (const auto& category: theDecisions->getUnionDecisions()) { for (const auto& loc: category.getLocalisation()) - hoi4Localisations->addDecisionLocalisation(loc.first, loc.second); + hoi4Localisations->addDecisionLocalisation(loc.first, loc.second.english); scriptedLocalisations->addDecisionScriptedLocalisations(category.getcustomLocalisation()); } updateAiPeaces(*peaces, ideologies->getMajorIdeologies()); diff --git a/src/HOI4World/ScriptedLocalisations/ScriptedLocalisations.cpp b/src/HOI4World/ScriptedLocalisations/ScriptedLocalisations.cpp index be6356f0d1..52193285df 100644 --- a/src/HOI4World/ScriptedLocalisations/ScriptedLocalisations.cpp +++ b/src/HOI4World/ScriptedLocalisations/ScriptedLocalisations.cpp @@ -70,11 +70,11 @@ std::string createNavyScriptedLocalisationsText(const std::vector& void HoI4::ScriptedLocalisations::addDecisionScriptedLocalisations(const std::map& customLoc) { - for (const auto& loc: customLoc) + for (const auto& [name, text]: customLoc) { ScriptedLocalisation decisionScriptedLoc; - decisionScriptedLoc.setName(loc.first); - decisionScriptedLoc.addText(loc.second); + decisionScriptedLoc.setName(name); + decisionScriptedLoc.addText(text); scriptedLocalisations.push_back(decisionScriptedLoc); } } diff --git a/src/HOI4World/States/HoI4States.cpp b/src/HOI4World/States/HoI4States.cpp index 37fd2631b1..abeac97a4c 100644 --- a/src/HOI4World/States/HoI4States.cpp +++ b/src/HOI4World/States/HoI4States.cpp @@ -600,12 +600,15 @@ void HoI4::States::addProvincesAndCoresToNewState(State& newState, provincePopulation * vic2Province->second->getPercentageWithCultures(acceptedCultures); for (const auto& culture: vic2Province->second->getCultures()) + { + std::set oneCulture = {culture}; if (!popCultureMap.count(culture)) popCultureMap.emplace(culture, - provincePopulation * vic2Province->second->getPercentageWithCulture(culture)); + provincePopulation * vic2Province->second->getPercentageWithCultures(oneCulture)); else popCultureMap.find(culture)->second += - provincePopulation * vic2Province->second->getPercentageWithCulture(culture); + provincePopulation * vic2Province->second->getPercentageWithCultures(oneCulture); + } } } diff --git a/src/V2World/Provinces/Province.cpp b/src/V2World/Provinces/Province.cpp index ac4905e301..75f85db0cd 100644 --- a/src/V2World/Provinces/Province.cpp +++ b/src/V2World/Provinces/Province.cpp @@ -35,27 +35,6 @@ int Vic2::Province::getLiteracyWeightedPopulation(const std::optional& cultures) const { auto totalPopulation = 0; diff --git a/src/V2World/Provinces/Province.h b/src/V2World/Provinces/Province.h index faacd96133..f8a5aadd8f 100644 --- a/src/V2World/Provinces/Province.h +++ b/src/V2World/Provinces/Province.h @@ -25,7 +25,6 @@ class Province [[nodiscard]] int getTotalPopulation() const; [[nodiscard]] int getPopulation(const std::optional& type = {}) const; [[nodiscard]] int getLiteracyWeightedPopulation(const std::optional& type = {}) const; - [[nodiscard]] double getPercentageWithCulture(const std::string& culture) const; [[nodiscard]] double getPercentageWithCultures(const std::set& cultures) const; [[nodiscard]] std::set getCultures() const;