From 8715595ea89a2014ea31476b752a1763eeb3c9c5 Mon Sep 17 00:00:00 2001 From: JulesFlammenkueche Date: Tue, 24 Mar 2026 16:26:06 +0100 Subject: [PATCH 1/4] minor fixes to languages --- common/culture/cultures/NEOW_italian.txt | 2 +- common/culture/pillars/NEOW_language.txt | 3 +++ .../zz_NEOW_cultural_languages_l_english.yml | 20 +++++++++---------- 3 files changed, 14 insertions(+), 11 deletions(-) diff --git a/common/culture/cultures/NEOW_italian.txt b/common/culture/cultures/NEOW_italian.txt index 0809a73e..757a023a 100644 --- a/common/culture/cultures/NEOW_italian.txt +++ b/common/culture/cultures/NEOW_italian.txt @@ -40,7 +40,7 @@ corsican = { #Corsu ethos = ethos_communal heritage = heritage_italian - language = NEOW_tusco_corsican + language = NEOW_language_tusco_corsican martial_custom = martial_custom_male_only head_determination = head_determination_domain diff --git a/common/culture/pillars/NEOW_language.txt b/common/culture/pillars/NEOW_language.txt index ee91a16c..ab9a067f 100644 --- a/common/culture/pillars/NEOW_language.txt +++ b/common/culture/pillars/NEOW_language.txt @@ -633,6 +633,7 @@ NEOW_language_south_helvetic = { parameters = { rhaeto_romance_group_language_param = yes french_group_language_param = yes + high_german_group_language_param = yes } ai_will_do = { value = 10 @@ -720,6 +721,7 @@ NEOW_language_new_hebrew = { } parameters = { hewbrew_group_language_param = yes + arabic_group_language_param = yes } ai_will_do = { value = 10 @@ -1257,6 +1259,7 @@ NEOW_language_andalusian = { } } parameters = { + arabic_group_language_param = yes middle_hispanic_group_language_param = yes } ai_will_do = { diff --git a/localization/english/replace/culture/traditions/zz_NEOW_cultural_languages_l_english.yml b/localization/english/replace/culture/traditions/zz_NEOW_cultural_languages_l_english.yml index e99fc400..9d060b0c 100644 --- a/localization/english/replace/culture/traditions/zz_NEOW_cultural_languages_l_english.yml +++ b/localization/english/replace/culture/traditions/zz_NEOW_cultural_languages_l_english.yml @@ -17,6 +17,7 @@ language_maltese_name:0 "Maltese" language_rhaetoromance_name:0 "Rhaetic" language_sorbian_name:0 "Sorbian" + NEOW_language_irish_name:0 "Irish" NEOW_language_manx_name:0 "Manx" NEOW_language_scottish_name:0 "Scottish" @@ -33,7 +34,7 @@ NEOW_language_asturleonese_name:0 "Asturleonese" NEOW_language_balearic_name:0 "Balearic" NEOW_language_basque_name:0 "Basque" - NEOW_language_castillian_name:0 "Castillian" + NEOW_language_castillian_name:0 "Castilian" NEOW_language_valencian_name:0 "Valencian" NEOW_language_portuguese_name:0 "Portuguese" NEOW_language_canarian_name:0 "Canarian" @@ -46,13 +47,13 @@ NEOW_language_norner_name:0 "Nornish" NEOW_language_norflander_name:0 "Norflandish" NEOW_language_easlander_name:0 "Easlandish" - NEOW_language_arbereshe_name:0 "Arbereshian" + NEOW_language_arbereshe_name:0 "Arbëresh" NEOW_language_albanian_name:0 "Albanian" NEOW_language_german_turk_name:0 "Turko-German" NEOW_language_swabian_name:0 "Swabian" NEOW_language_saxon_name:0 "Saxon" - NEOW_language_rottish_name:0 "Rhonish" - NEOW_language_rhinelandic_name:0 "Rhinelandic" + NEOW_language_rottish_name:0 "Rhodanic" + NEOW_language_rhinelandic_name:0 "Rhenish" NEOW_language_palatine_name:0 "Palatine" NEOW_language_pomeranian_name:0 "Pomeranian" NEOW_language_westphalian_name:0 "Westphalian" @@ -72,15 +73,15 @@ NEOW_language_friulian_name:0 "Friulian" NEOW_language_ligurian_name:0 "Ligurian" NEOW_language_venetian_name:0 "Venetian" - NEOW_language_tusco_corsican_name:0 "Tusco-corsican" + NEOW_language_tusco_corsican_name:0 "Corso-Tuscan" NEOW_language_sicilian_name:0 "Sicilian" - NEOW_language_emilo_romagnol_name:0 "Emilo-Romagnol" + NEOW_language_emilo_romagnol_name:0 "Emilian–Romagnol" NEOW_language_neapolitan_name:0 "Neapolitan" - NEOW_language_lombard_piedmontese_name:0 "Lombard-piedmontese" + NEOW_language_lombard_piedmontese_name:0 "Lombard-Piedmontese" NEOW_language_north_mosellic_name:0 "North Mosellic" NEOW_language_south_mosellic_name:0 "South Mosellic" NEOW_language_swedish_name:0 "Swedish" - NEOW_language_norweigian_name:0 "Norweigian" + NEOW_language_norweigian_name:0 "Norwegian" NEOW_language_danish_name:0 "Danish" NEOW_language_jaamtlandic_name:0 "Jaamtlandic" NEOW_language_icelandic_name:0 "Icelandic" @@ -99,7 +100,7 @@ NEOW_language_slovene_name:0 "West South Slavic" NEOW_language_north_helvetic_name:0 "North Helvetic" NEOW_language_south_helvetic_name:0 "South Helvetic" - NEOW_language_romansch_name:0 "Romansch" + NEOW_language_romansch_name:0 "Romansh" ######################################### # Grouping Stuff @@ -163,4 +164,3 @@ - \ No newline at end of file From 02f089e1bfe24d5475f7cb9005c2092e76f28c54 Mon Sep 17 00:00:00 2001 From: Fishedotjpg Date: Tue, 24 Mar 2026 22:26:44 +0000 Subject: [PATCH 2/4] fix --- common/culture/pillars/NEOW_language.txt | 2 ++ .../zz_NEOW_cultural_languages_l_english.yml | 10 +++++----- 2 files changed, 7 insertions(+), 5 deletions(-) diff --git a/common/culture/pillars/NEOW_language.txt b/common/culture/pillars/NEOW_language.txt index ab9a067f..8efc88a7 100644 --- a/common/culture/pillars/NEOW_language.txt +++ b/common/culture/pillars/NEOW_language.txt @@ -653,6 +653,7 @@ NEOW_language_romansch = { } } parameters = { + high_german_group_language_param = yes rhaeto_romance_group_language_param = yes gallo_italian_group_language_param = yes } @@ -1282,6 +1283,7 @@ NEOW_language_llanito = { parameters = { middle_hispanic_group_language_param = yes anglic_group_language_param = yes + arabic_group_language_param = yes } ai_will_do = { value = 10 diff --git a/localization/english/replace/culture/traditions/zz_NEOW_cultural_languages_l_english.yml b/localization/english/replace/culture/traditions/zz_NEOW_cultural_languages_l_english.yml index 9d060b0c..1441de51 100644 --- a/localization/english/replace/culture/traditions/zz_NEOW_cultural_languages_l_english.yml +++ b/localization/english/replace/culture/traditions/zz_NEOW_cultural_languages_l_english.yml @@ -92,12 +92,12 @@ NEOW_language_dutch_name:0 "Dutch" NEOW_language_frisian_name:0 "Frisian" NEOW_language_limburgish_name:0 "Limburgish" - NEOW_language_west_south_slavic_name:0 "Middle South Slavic" - NEOW_language_east_south_slavic_name:0 "East South Slavic" + NEOW_language_west_south_slavic_name:0 "Serbocroatian" + NEOW_language_east_south_slavic_name:0 "Bulgarian" NEOW_language_sorbian_name:0 "Sorbian" NEOW_language_czech_name:0 "Czech" NEOW_language_polish_name:0 "Polish" - NEOW_language_slovene_name:0 "West South Slavic" + NEOW_language_slovene_name:0 "Slovenian" NEOW_language_north_helvetic_name:0 "North Helvetic" NEOW_language_south_helvetic_name:0 "South Helvetic" NEOW_language_romansch_name:0 "Romansh" @@ -110,7 +110,7 @@ ACCEPTANCE_BASELINE_LANGUAGE_BRYTHONIC:0 "[languages|E] are both of #V Brythonic Origin#!" ACCEPTANCE_BASELINE_LANGUAGE_FRENCH:0 "[languages|E] are both of #V French Origin#!" ACCEPTANCE_BASELINE_LANGUAGE_MIDDLE_GERMAN:0 "[languages|E] are both of #V Middle German Origin#!" - ACCEPTANCE_BASELINE_LANGUAGE_LAUSATIAN:0 "[languages|E] are both of #V Lusatian Origin#!" + ACCEPTANCE_BASELINE_LANGUAGE_LAUSATIAN:0 "[languages|E] are both of #V Lusitanian Origin#!" ACCEPTANCE_BASELINE_LANGUAGE_WEST_HISPANIC:0 "[languages|E] are both of #V West Hispanic Origin#!" ACCEPTANCE_BASELINE_LANGUAGE_VASCONIC:0 "[languages|E] are both of #V Vasconic Origin#!" ACCEPTANCE_BASELINE_LANGUAGE_MIDDLE_HISPANIC:0 "[languages|E] are both of #V Middle Hispanic Origin#!" @@ -139,7 +139,7 @@ culture_parameter_french_group_language_param: "This [language|E] is of #V French Origin#!" culture_parameter_middle_german_group_language_param: "This [language|E] is of #V Middle German Origin#!" culture_parameter_east_hispanic_group_language_param: "This [language|E] is of #V East Hispanic Origin#!" - culture_parameter_lausatian_group_language_param: "This [language|E] is of #V Lusatian Origin#!" + culture_parameter_lausatian_group_language_param: "This [language|E] is of #V Lusitanian Origin#!" culture_parameter_west_hispanic_group_language_param: "This [language|E] is of #V West Hispanic Origin#!" culture_parameter_basque_group_language_param: "This [language|E] is of #V Basque Origin#!" culture_parameter_middle_hispanic_group_language_param: "This [language|E] is of #V Middle Hispanic Origin#!" From 2af5330b443a2dfa124aae1b7c9d83a57ee4c8d9 Mon Sep 17 00:00:00 2001 From: Fishedotjpg Date: Tue, 24 Mar 2026 22:29:03 +0000 Subject: [PATCH 3/4] Delete NEOW_carolingian_coa.txt --- .../NEOW_carolingian_coa.txt | 55 ------------------- 1 file changed, 55 deletions(-) delete mode 100644 common/coat_of_arms/dynamic_definitions/NEOW_carolingian_coa.txt diff --git a/common/coat_of_arms/dynamic_definitions/NEOW_carolingian_coa.txt b/common/coat_of_arms/dynamic_definitions/NEOW_carolingian_coa.txt deleted file mode 100644 index 32debd9a..00000000 --- a/common/coat_of_arms/dynamic_definitions/NEOW_carolingian_coa.txt +++ /dev/null @@ -1,55 +0,0 @@ - -e_europa = { - item = { - trigger = { - holder = { - faith = faith:carolingian - } - } - coat_of_arms = e_lotharingia - } -} - -e_france = { - item = { - trigger = { - holder = { - faith = faith:carolingian - } - } - coat_of_arms = e_west_francia - } -} - -e_germany = { - item = { - trigger = { - holder = { - faith = faith:carolingian - } - } - coat_of_arms = e_east_francia - } -} - -k_france = { - item = { - trigger = { - holder = { - faith = faith:carolingian - } - } - coat_of_arms = k_neustria - } -} - -k_belgium = { - item = { - trigger = { - holder = { - faith = faith:carolingian - } - } - coat_of_arms = k_austrasia - } -} \ No newline at end of file From 09a20252ac98d11763da99fe3b048988a4991575 Mon Sep 17 00:00:00 2001 From: Fishedotjpg Date: Thu, 26 Mar 2026 21:35:45 +0000 Subject: [PATCH 4/4] absolute fuckin moon logic code --- common/governments/00_government_types.txt | 4 + .../00_scripted_rule_triggers.txt | 139 ++++++++++++++++++ .../00_tutorial_triggers.txt | 16 ++ 3 files changed, 159 insertions(+) create mode 100644 common/scripted_triggers/00_scripted_rule_triggers.txt create mode 100644 common/scripted_triggers/00_tutorial_triggers.txt diff --git a/common/governments/00_government_types.txt b/common/governments/00_government_types.txt index de294c0c..ca05baac 100644 --- a/common/governments/00_government_types.txt +++ b/common/governments/00_government_types.txt @@ -738,6 +738,8 @@ peasantrepublic_government = { # Use flags instead of has_government for moddability if possible (i.e., wherever not visible to the player). flags = { + government_can_raid_rule + government_enables_naval_raiding government_is_settled may_elevate_co_monarch government_uses_domain_limit @@ -823,6 +825,8 @@ urbanrepublic_government = { # Use flags instead of has_government for moddability if possible (i.e., wherever not visible to the player). flags = { + government_can_raid_rule + government_enables_naval_raiding government_has_influence government_is_settled government_has_treasury diff --git a/common/scripted_triggers/00_scripted_rule_triggers.txt b/common/scripted_triggers/00_scripted_rule_triggers.txt new file mode 100644 index 00000000..edc34f1d --- /dev/null +++ b/common/scripted_triggers/00_scripted_rule_triggers.txt @@ -0,0 +1,139 @@ +#Controls the can_raid rule. +can_raid_trigger = { + OR = { + # Government logic. + government_has_flag = government_can_raid_rule + ## Admin - Frontier themes + vassal_contract_has_flag = admin_theme_can_raid + ## Clan - Ghazi + vassal_contract_has_flag = vassal_contract_allow_raiding + # Faith Logic. + faith = { has_doctrine_parameter = faith_can_raid } + # Dynasty logic. + dynasty ?= { + OR = { + can_raid_dynasty_modifiers_that_enable_raiding_overseas_list_trigger = yes + can_raid_dynasty_modifiers_that_enable_raiding_overland_list_trigger = yes + } + } + # House logic. + house ?= { + OR = { + can_raid_house_modifiers_that_enable_raiding_overseas_list_trigger = yes + can_raid_house_modifiers_that_enable_raiding_overland_list_trigger = yes + } + } + # Cultural logic. + ## With restrictions. + AND = { + can_raid_cultural_parameter_requirements_for_non_tribals_trigger = yes + culture = { + OR = { + has_cultural_parameter = culture_can_raid_at_sea_even_if_feudal + has_cultural_parameter = culture_can_raid_over_land_even_if_feudal + } + } + } + ## Without restrictions. + culture = { + OR = { + has_cultural_parameter = culture_can_raid_at_sea_even_if_feudal_no_restrictions + has_cultural_parameter = culture_can_raid_over_land_even_if_feudal_no_restrictions + } + } + # Trait logics. + ## With restrictions. + AND = { + can_raid_trait_flag_standard_requirements_trigger = yes + has_trait_with_flag = trait_enable_raiding_per_standard_restrictions + } + ## Without restrictions. + has_trait_with_flag = trait_enable_raiding_without_restrictions + } + # Some faiths prohibit this. + OR = { + NOR = { + faith = { has_doctrine_parameter = holy_wars_forbidden } + government_has_flag = government_is_landless_adventurer + } + # But not for Nomads or Wanua + government_has_flag = government_is_nomadic + government_has_flag = government_is_wanua + government_has_flag = government_is_urepublic + government_has_flag = government_is_prepublic + } + is_landed = yes +} + +# Here so that you can plug in whatever dynasty modifiers you want without overwriting the whole scripted rule trigger. +can_raid_dynasty_modifiers_that_enable_raiding_overseas_list_trigger = { + # Yes, I realise the OR is redundant till someone else puts something in here. Shoosh. + has_dynasty_modifier = fp1_legacy_of_piracy_modifier + +} +can_raid_dynasty_modifiers_that_enable_raiding_overland_list_trigger = { + OR = { + # Yes, I realise the OR is redundant till someone else puts something in here. Shoosh. + # Always = no because we have no vanilla use-case atm — the assumption is that modders'll overwrite it. + always = no + } +} + +# Here so that you can plug in whatever house modifiers you want without overwriting the whole scripted rule trigger. +can_raid_house_modifiers_that_enable_raiding_overseas_list_trigger = { + OR = { + # Yes, I realise the OR is redundant till someone else puts something in here. Shoosh. + # Always = no because we have no vanilla use-case atm — the assumption is that modders'll overwrite it. + always = no + } +} +can_raid_house_modifiers_that_enable_raiding_overland_list_trigger = { + OR = { + # Yes, I realise the OR is redundant till someone else puts something in here. Shoosh. + # Always = no because we have no vanilla use-case atm — the assumption is that modders'll overwrite it. + always = no + } +} + +# Here so that you can tweak the rules on how non-tribals raid via CulTrad without overriding the whole scripted rule trigger. +can_raid_cultural_parameter_requirements_for_non_tribals_trigger = { + OR = { + highest_held_title_tier <= tier_duchy + realm_size <= minor_realm_size + } +} + +# Here so that you can tweak the rules on which innovations allow raiding without overriding the whole scripted rule trigger. +can_ran_raid_overseas_cultural_innovations_trigger = { + OR = { + has_innovation = innovation_longboats + has_innovation = innovation_african_canoes + } +} + +# Here so that you can tweak the rules on characters with a trait that lets them raid under certain circumstances raid without overriding the whole scripted rule trigger. +can_raid_trait_flag_standard_requirements_trigger = { + # We don't use this in vanilla, so we don't have any actual requirements atm. + always = yes +} + +can_raid_across_water_trigger = { + OR = { + # Culture logic. + culture = { + OR = { + can_ran_raid_overseas_cultural_innovations_trigger = yes + has_cultural_parameter = culture_can_raid_at_sea_even_if_feudal + has_cultural_parameter = culture_can_raid_at_sea_even_if_feudal_no_restrictions + } + } + # Dynasty logic. + dynasty ?= { can_raid_dynasty_modifiers_that_enable_raiding_overseas_list_trigger = yes } + # House logic. + house ?= { can_raid_house_modifiers_that_enable_raiding_overseas_list_trigger = yes } + # Can raid overseas by government rules + government_has_flag = government_enables_naval_raiding + #Is Hereward. + has_trait = the_wake + } +} diff --git a/common/scripted_triggers/00_tutorial_triggers.txt b/common/scripted_triggers/00_tutorial_triggers.txt new file mode 100644 index 00000000..5cc05770 --- /dev/null +++ b/common/scripted_triggers/00_tutorial_triggers.txt @@ -0,0 +1,16 @@ +should_show_tutorial_alert = { + OR= { + can_start_tutorial_lesson = $LESSON$ + is_tutorial_lesson_active = $LESSON$ + } +} + +valid_raid_target_trigger = { + NOR = { + has_raid_immunity_against = root + is_allied_to = root + has_truce = root + target_is_vassal_or_below = root + top_liege = root.top_liege + } +}