From 5bbf6f16c67b98d015557d2e279df20e86389e55 Mon Sep 17 00:00:00 2001 From: Fishedotjpg Date: Sat, 31 Oct 2026 15:10:15 +0000 Subject: [PATCH] admin stuff and militia stuff --- common/men_at_arms_types/NEOW_maa_types.txt | 73 +- .../script_values/00_men_at_arms_values.txt | 7 + .../contracts/administrative.txt | 895 ++++++++++++++++++ .../contracts/japan_administrative.txt | 323 +++++++ .../groups/_subject_contract_groups.info | 56 ++ .../groups/subject_contract_groups.txt | 324 +++++++ .../icons/regimenttypes/NEOW_militia.dds | 3 + .../regimenttypes/NEOW_militia_archers.dds | 3 + .../icons/regimenttypes/pikemen_militia.pdn | Bin 0 -> 41803 bytes holder for later/feudal.txt | 259 +++++ ...EOW_cultural_maa_innovations_l_english.yml | 4 +- .../replace/zz_NEOW_government_l_english.yml | 33 + 12 files changed, 1938 insertions(+), 42 deletions(-) create mode 100644 common/subject_contracts/contracts/administrative.txt create mode 100644 common/subject_contracts/contracts/japan_administrative.txt create mode 100644 common/subject_contracts/groups/_subject_contract_groups.info create mode 100644 common/subject_contracts/groups/subject_contract_groups.txt create mode 100644 gfx/interface/icons/regimenttypes/NEOW_militia.dds create mode 100644 gfx/interface/icons/regimenttypes/NEOW_militia_archers.dds create mode 100644 gfx/interface/icons/regimenttypes/pikemen_militia.pdn create mode 100644 holder for later/feudal.txt create mode 100644 localization/english/replace/zz_NEOW_government_l_english.yml diff --git a/common/men_at_arms_types/NEOW_maa_types.txt b/common/men_at_arms_types/NEOW_maa_types.txt index bb3dbce33..78d86538f 100644 --- a/common/men_at_arms_types/NEOW_maa_types.txt +++ b/common/men_at_arms_types/NEOW_maa_types.txt @@ -358,8 +358,8 @@ spahis = { NEOW_militia = { type = peasant_militia - damage = 12 - toughness = 16 + damage = 14 + toughness = 14 pursuit = 10 screen = 4 @@ -379,26 +379,7 @@ NEOW_militia = { } can_recruit = { OR = { - AND = { - militia_raise_limit_existing_militia_units < militia_raise_limit_existing_militia_buildings - OR = { - has_trait = education_martial_1 - has_trait = education_martial_2 - has_trait = education_martial_3 - has_trait = education_martial_4 - has_trait = education_martial_5 - has_trait = peasant_leader - has_trait = heresiarch - has_trait = populist_leader - has_lifestyle = martial_lifestyle - has_martial_lifestyle_trait_trigger = yes - trigger_if = { - limit = { exists = cp:councillor_marshal } - cp:councillor_marshal = { martial = 13 } - } - faith ?= { has_doctrine_parameter = allows_communal_settlement } - } - } + militia_raise_limit_existing_militia_units < militia_raise_limit_existing_militia_buildings trigger_if = { limit = { @@ -429,35 +410,44 @@ NEOW_militia = { reference = pikemen_militia } } - -NEOW_citizen_militia = { +NEOW_militia_archers = { type = peasant_militia - damage = 15 - toughness = 18 - pursuit = 10 - screen = 4 + damage = 18 + toughness = 10 + pursuit = 0 + screen = 0 terrain_bonus = { - mountains = { toughness = 8 } - desert_mountains = { toughness = 8 } - hills = { toughness = 4 } - farmlands = { toughness = 8 } - floodplains = { toughness = 8 } - terraced_hills = { toughness = 8 } + hills = { damage = 10 toughness = 4 } + forest = { toughness = 4 screen = 4 } + taiga = { toughness = 4 screen = 4 } } counters = { - light_cavalry = 1 - heavy_cavalry = 0.5 - camel_cavalry = 1 + skirmishers = 0.5 + chemical_weapons = 0.5 + archer_cavalry = 0.25 + archer_cavalry = 0.5 } can_recruit = { - government_has_flag = government_is_republic + OR = { + militia_raise_limit_existing_militia_units < militia_raise_limit_existing_militia_buildings + + trigger_if = { + limit = { + government_has_flag = government_is_landless_minority + exists = domicile + } + domicile = { + has_domicile_parameter = can_recruit_militia + } + } + } } buy_cost = { gold = militia_recruitment_cost } - low_maintenance_cost = { gold = skirmisher_low_maint_cost } + low_maintenance_cost = { gold = militia_low_maint_cost } high_maintenance_cost = { gold = militia_high_maint_cost } provision_cost = @provisions_cost_infantry_cheap stack = 100 @@ -467,13 +457,14 @@ NEOW_citizen_militia = { trigger = { should_use_asian_maa_graphics = yes } - reference = pikemen_militia_asia + reference = bowmen_asia } illustration = { - reference = pikemen_militia + reference = bowmen } } + carabineers = { type = gun_cavalry diff --git a/common/script_values/00_men_at_arms_values.txt b/common/script_values/00_men_at_arms_values.txt index 5cc43f94b..5eddc450b 100644 --- a/common/script_values/00_men_at_arms_values.txt +++ b/common/script_values/00_men_at_arms_values.txt @@ -1004,6 +1004,13 @@ militia_raise_limit_existing_militia_units = { } add = 1 } + every_maa_regiment = { + limit = { + is_personal_maa_regiment = yes + is_maa_type = NEOW_militia_archers + } + add = 1 + } } militia_raise_limit_existing_militia_buildings = { diff --git a/common/subject_contracts/contracts/administrative.txt b/common/subject_contracts/contracts/administrative.txt new file mode 100644 index 000000000..5f961c7f8 --- /dev/null +++ b/common/subject_contracts/contracts/administrative.txt @@ -0,0 +1,895 @@ +administrative_obligations = { + obligation_levels = { + default = { + levies = { + value = 0.3 + #multiply = governor_efficiency + } + + tax = { + value = 0.75 + #multiply = governor_efficiency + } + } + } +} + +### brief: administrative_themes +# This is referenced in code. +# +administrative_themes = { + display_mode = radiobutton + is_shown = { + scope:subject.primary_title.tier == tier_duchy + } + obligation_levels = { + admin_theme_balanced = { + default = yes + position = { 0 0 } + gui_tags = { byzantine_purple } + icon = "gfx/interface/icons/theme_administration_types/icon_balanced_administration.dds" + + ai_liege_desire = { + value = 0 + if = { + limit = { + scope:subject = { + is_ai = yes + } + } + add = 1 + } + } + ai_subject_desire = 0 + + score = 0 + color = { 0.7 0.7 0.7 1.0 } + + liege_modifier = { + men_at_arms_cap = 1 + men_at_arms_maintenance = -0.05 + } + subject_modifier = { + governor_xp_gain_mult = 0.2 + men_at_arms_cap = -1 + men_at_arms_maintenance = 0.05 + } + + flag = vassal_contract_war_override + flag = admin_theme_balanced + flag = province_balanced + } + admin_theme_civilian = { + position = { 2 0 } + icon = "gfx/interface/icons/theme_administration_types/icon_civilian_administration.dds" + gui_tags = { byzantine_purple } + + ai_liege_desire = { + value = 0 + if = { + limit = { + scope:subject = { + is_ai = yes + OR = { + has_trait = education_stewardship + stewardship >= very_high_skill_rating + AND = { # Large semi-coastal themes are good for an economic focus + any_sub_realm_county = { count >= 2 is_coastal_county = yes } + any_sub_realm_county = { count >= 2 is_coastal_county = no } + } + } + } + } + add = 2 + } + if = { + limit = { + scope:liege = { + ai_has_builder_or_pious_builder_personality = yes + } + } + add = 1 + } + } + ai_subject_desire = 0 + + score = 0 + color = { 0.2 0.2 0.7 1.0 } + + tax_factor = 0.5 + + liege_modifier = { + men_at_arms_cap = 1 + men_at_arms_maintenance = -0.05 + } + subject_modifier = { + development_growth_factor = 0.2 + build_gold_cost = -0.1 + build_speed = -0.1 + men_at_arms_title_limit = -2 + men_at_arms_title_cap = -2 + men_at_arms_cap = -1 + men_at_arms_maintenance = 0.05 + } + + flag = vassal_contract_war_override + flag = admin_stewardship_obligation_bonus + flag = admin_influence_construction_bonus + flag = admin_ai_is_builder + flag = admin_theme_civilian + flag = province_civilian + flag = obligation_high_taxes + } + admin_theme_military = { + position = { 1 0 } + icon = "gfx/interface/icons/theme_administration_types/icon_military_administration.dds" + gui_tags = { byzantine_purple } + + ai_liege_desire = { + value = 0 + if = { + limit = { + scope:subject = { + is_ai = yes + OR = { + has_trait = education_martial + martial >= very_high_skill_rating + primary_title = { any_owned_title_maa_regiment = { count > 4 } } + AND = { # Large inland themes are good for military + any_sub_realm_county = { count >= 5 } + any_sub_realm_county = { percent >= 0.95 is_coastal_county = no } + } + } + } + } + add = 2 + } + if = { + limit = { + scope:liege = { + ai_has_warlike_personality = yes + } + } + add = 1 + } + } + ai_subject_desire = 0 + + score = 0 + color = { 0.7 0.2 0.2 1.0 } + + levies_factor = 0.75 + + liege_modifier = { + men_at_arms_cap = -1 + men_at_arms_maintenance = 0.05 + } + subject_modifier = { + development_growth_factor = -0.25 + monthly_county_control_growth_factor = 0.1 + maa_damage_mult = 0.1 + men_at_arms_title_cap = 2 + men_at_arms_maintenance = -0.2 + monthly_treasury_from_military_budget_base = 1 + men_at_arms_cap = 1 + } + + flag = admin_martial_obligation_bonus + flag = admin_theme_military + flag = province_military + flag = obligation_high_levies + } + admin_theme_frontier = { + position = { 0 1 } + icon = "gfx/interface/icons/theme_administration_types/icon_frontier_administration.dds" + gui_tags = { byzantine_purple } + + ai_liege_desire = { + value = 0 + if = { + limit = { + scope:subject = { + is_ai = yes + } + } + add = 5 + } + } + ai_subject_desire = 0 + + score = 0 + color = { 0.2 0.7 0.2 1.0 } + + is_valid = { + custom_tooltip = { + text = admin_theme_frontier_valid_desc + scope:subject = { + any_sub_realm_county = { + any_neighboring_county = { + holder = { + top_liege != scope:subject.top_liege + } + } + } + } + } + } + + tax_factor = -0.2 + + liege_modifier = { + men_at_arms_cap = -1 + men_at_arms_maintenance = 0.05 + } + subject_modifier = { + fort_level = 2 + defender_advantage = 6 + hostile_county_attrition = -0.3 + hostile_raid_time = 0.75 + + # Values to tweak the AI slightly in order to make them more likely to declare war + ai_boldness = 20 + ai_rationality = -15 + monthly_treasury_from_military_budget_base = 1.5 + men_at_arms_cap = 1 + men_at_arms_maintenance = -0.05 + } + + flag = admin_prowess_obligation_bonus + flag = admin_duchy_expansion_unlocked + flag = admin_ai_is_warlike + flag = admin_theme_frontier + flag = province_military + flag = admin_theme_can_raid + } + admin_theme_imperial = { + position = { 1 1 } + icon = "gfx/interface/icons/theme_administration_types/icon_imperial_administration.dds" + gui_tags = { byzantine_purple } + + ai_liege_desire = { + value = 0 + if = { + limit = { + scope:liege = { + NOT = { + any_vassal = { vassal_contract_has_flag = admin_theme_imperial } + } + } + scope:subject = { + is_ai = yes + culture = scope:liege.culture + rite = top_liege.primary_title.state_rite + } + } + add = 5 + } + if = { + limit = { + exists = scope:liege.house + exists = scope:subject.house + scope:liege.house = scope:subject.house + } + add = 1 + } + } + ai_subject_desire = 0 + + score = 0 + color = { 0.7 0.0 0.7 1.0 } + + is_valid = { + scope:liege = { + highest_held_title_tier >= tier_empire + } + custom_tooltip = { + text = admin_theme_imperial_valid_desc + OR = { + scope:liege = { + NOT = { + any_vassal = { vassal_contract_has_flag = admin_theme_imperial } + } + } + AND = { + scope:subject = { vassal_contract_has_flag = admin_theme_imperial } + scope:liege = { + any_vassal = { + count = 1 + vassal_contract_has_flag = admin_theme_imperial + } + } + } + } + } + } + + tax_factor = 0.1 + + liege_modifier = { + monthly_prestige_gain_per_legitimacy_level_add = 0.5 + legitimacy_gain_mult = 0.2 + } + + subject_modifier = { + monthly_prestige = 0.5 + monthly_influence = 0.25 + } + + flag = vassal_contract_war_override + flag = admin_theme_imperial + flag = admin_prestige_obligation_bonus + flag = admin_cannot_revoke_titles_without_cause + flag = province_civilian + flag = obligation_high_taxes + } + admin_theme_naval = { + position = { 2 1 } + icon = "gfx/interface/icons/theme_administration_types/icon_naval_administration.dds" + gui_tags = { byzantine_purple } + + ai_liege_desire = { + value = 0 + if = { + limit = { + scope:subject = { is_ai = yes } + } + if = { + limit = { # Large coastal areas qualify as good naval themes + scope:subject = { + any_sub_realm_county = { + count >= 3 + is_coastal_county = yes + } + } + scope:liege = { # But don't go overboard with naval themes + any_vassal = { + percent < 0.15 + vassal_contract_has_flag = admin_theme_naval + } + } + } + add = 3 + } + + if = { + limit = { # Islands are good naval candidates + scope:subject = { + any_sub_realm_county = { + percent >= 0.95 + is_coastal_county = yes + OR = { + any_neighboring_county = { + percent >= 0.95 + holder = { + OR = { + this = scope:subject + any_liege_or_above = { this = scope:subject } + } + } + } + any_neighboring_county = { count < 1 } + } + } + } + } + add = 8 + } + } + } + ai_subject_desire = 0 + + score = 0 + color = { 0.0 0.4 0.7 1.0 } + + is_valid = { + custom_tooltip = { + text = admin_theme_naval_valid_desc + scope:subject = { + any_sub_realm_county = { + is_coastal_county = yes + } + } + } + } + + liege_modifier = { + men_at_arms_cap = -1 + men_at_arms_maintenance = 0.05 + embarkation_cost_mult = -0.1 + naval_movement_speed_mult = 0.1 + } + + subject_modifier = { + embarkation_cost_mult = -0.5 + naval_movement_speed_mult = 0.25 + no_disembark_penalty = yes + coastal_advantage = 10 + development_growth_factor = 0.1 + monthly_treasury_from_military_budget_base = 1 + men_at_arms_cap = 1 + men_at_arms_maintenance = -0.05 + } + + flag = admin_naval_duchy_expansion_unlocked + flag = admin_tradeport_obligation_bonus + flag = admin_theme_naval + flag = province_military + } + } +} + +administrative_themes_king = { + display_mode = radiobutton + is_shown = { + scope:subject.primary_title.tier == tier_kingdom + } + obligation_levels = { + admin_theme_balanced_king = { + default = yes + position = { 0 0 } + gui_tags = { byzantine_purple } + icon = "gfx/interface/icons/theme_administration_types/icon_balanced_administration.dds" + + ai_liege_desire = { + value = 0 + if = { + limit = { + scope:subject = { + is_ai = yes + } + } + add = 1 + } + } + ai_subject_desire = 0 + + score = 0 + color = { 0.7 0.7 0.7 1.0 } + + liege_modifier = { + men_at_arms_cap = 2 + men_at_arms_maintenance = -0.1 + } + subject_modifier = { + governor_xp_gain_mult = 0.4 + men_at_arms_cap = -2 + men_at_arms_maintenance = 0.1 + } + + flag = vassal_contract_war_override + flag = admin_theme_balanced + flag = province_balanced + } + admin_theme_civilian_king = { + position = { 2 0 } + icon = "gfx/interface/icons/theme_administration_types/icon_civilian_administration.dds" + gui_tags = { byzantine_purple } + + ai_liege_desire = { + value = 0 + if = { + limit = { + scope:subject = { + is_ai = yes + OR = { + has_trait = education_stewardship + stewardship >= very_high_skill_rating + AND = { # Large semi-coastal themes are good for an economic focus + any_sub_realm_county = { count >= 2 is_coastal_county = yes } + any_sub_realm_county = { count >= 2 is_coastal_county = no } + } + } + } + } + add = 2 + } + if = { + limit = { + scope:liege = { + ai_has_builder_or_pious_builder_personality = yes + } + } + add = 1 + } + } + ai_subject_desire = 0 + + score = 0 + color = { 0.2 0.2 0.7 1.0 } + + tax_factor = 0.5 + + liege_modifier = { + men_at_arms_cap = 2 + men_at_arms_maintenance = -0.1 + } + subject_modifier = { + development_growth_factor = 0.3 + build_gold_cost = -0.2 + build_speed = -0.2 + men_at_arms_title_limit = -3 + men_at_arms_title_cap = -3 + men_at_arms_cap = -2 + men_at_arms_maintenance = 0.1 + } + + flag = vassal_contract_war_override + flag = admin_stewardship_obligation_bonus + flag = admin_influence_construction_bonus + flag = admin_ai_is_builder + flag = admin_theme_civilian + flag = province_civilian + flag = obligation_high_taxes + } + admin_theme_military_king = { + position = { 1 0 } + icon = "gfx/interface/icons/theme_administration_types/icon_military_administration.dds" + gui_tags = { byzantine_purple } + + ai_liege_desire = { + value = 0 + if = { + limit = { + scope:subject = { + is_ai = yes + OR = { + has_trait = education_martial + martial >= very_high_skill_rating + primary_title = { any_owned_title_maa_regiment = { count > 4 } } + AND = { # Large inland themes are good for military + any_sub_realm_county = { count >= 5 } + any_sub_realm_county = { percent >= 0.95 is_coastal_county = no } + } + } + } + } + add = 2 + } + if = { + limit = { + scope:liege = { + ai_has_warlike_personality = yes + } + } + add = 1 + } + } + ai_subject_desire = 0 + + score = 0 + color = { 0.7 0.2 0.2 1.0 } + + levies_factor = 0.75 + + liege_modifier = { + men_at_arms_cap = -2 + men_at_arms_maintenance = 0.1 + } + subject_modifier = { + development_growth_factor = -0.33 + monthly_county_control_growth_factor = 0.2 + maa_damage_mult = 0.2 + men_at_arms_title_cap = 3 + men_at_arms_maintenance = -0.3 + monthly_treasury_from_military_budget_base = 1.5 + men_at_arms_cap = 2 + } + + flag = admin_martial_obligation_bonus + flag = admin_theme_military + flag = province_military + flag = obligation_high_levies + } + admin_theme_frontier_king = { + position = { 0 1 } + icon = "gfx/interface/icons/theme_administration_types/icon_frontier_administration.dds" + gui_tags = { byzantine_purple } + + ai_liege_desire = { + value = 0 + if = { + limit = { + scope:subject = { + is_ai = yes + } + } + add = 5 + } + } + ai_subject_desire = 0 + + score = 0 + color = { 0.2 0.7 0.2 1.0 } + + is_valid = { + custom_tooltip = { + text = admin_theme_frontier_valid_desc + scope:subject = { + any_sub_realm_county = { + any_neighboring_county = { + holder = { + top_liege != scope:subject.top_liege + } + } + } + } + } + } + + tax_factor = -0.2 + + liege_modifier = { + men_at_arms_cap = -2 + men_at_arms_maintenance = 0.1 + } + subject_modifier = { + fort_level = 3 + defender_advantage = 8 + hostile_county_attrition = -0.4 + hostile_raid_time = 0.85 + + # Values to tweak the AI slightly in order to make them more likely to declare war + ai_boldness = 20 + ai_rationality = -15 + monthly_treasury_from_military_budget_base = 1.75 + men_at_arms_cap = 2 + men_at_arms_maintenance = -0.1 + } + + flag = admin_prowess_obligation_bonus + flag = admin_duchy_expansion_unlocked + flag = admin_ai_is_warlike + flag = admin_theme_frontier + flag = province_military + flag = admin_theme_can_raid + } + admin_theme_imperial_king = { + position = { 1 1 } + icon = "gfx/interface/icons/theme_administration_types/icon_imperial_administration.dds" + gui_tags = { byzantine_purple } + + ai_liege_desire = { + value = 0 + if = { + limit = { + scope:liege = { + NOT = { + any_vassal = { vassal_contract_has_flag = admin_theme_imperial } + } + } + scope:subject = { + is_ai = yes + culture = scope:liege.culture + rite = top_liege.primary_title.state_rite + } + } + add = 5 + } + if = { + limit = { + exists = scope:liege.house + exists = scope:subject.house + scope:liege.house = scope:subject.house + } + add = 1 + } + } + ai_subject_desire = 0 + + score = 0 + color = { 0.7 0.0 0.7 1.0 } + + is_valid = { + scope:liege = { + highest_held_title_tier >= tier_empire + } + custom_tooltip = { + text = admin_theme_imperial_valid_desc + OR = { + scope:liege = { + NOT = { + any_vassal = { vassal_contract_has_flag = admin_theme_imperial } + } + } + AND = { + scope:subject = { vassal_contract_has_flag = admin_theme_imperial } + scope:liege = { + any_vassal = { + count = 1 + vassal_contract_has_flag = admin_theme_imperial + } + } + } + } + } + } + + tax_factor = 0.1 + + liege_modifier = { + monthly_prestige_gain_per_legitimacy_level_add = 1 + legitimacy_gain_mult = 0.4 + } + + subject_modifier = { + monthly_prestige = 1 + monthly_influence = 0.5 + } + + flag = vassal_contract_war_override + flag = admin_theme_imperial + flag = admin_prestige_obligation_bonus + flag = admin_cannot_revoke_titles_without_cause + flag = province_civilian + flag = obligation_high_taxes + } + admin_theme_naval_king = { + position = { 2 1 } + icon = "gfx/interface/icons/theme_administration_types/icon_naval_administration.dds" + gui_tags = { byzantine_purple } + + ai_liege_desire = { + value = 0 + if = { + limit = { + scope:subject = { is_ai = yes } + } + if = { + limit = { # Large coastal areas qualify as good naval themes + scope:subject = { + any_sub_realm_county = { + count >= 3 + is_coastal_county = yes + } + } + scope:liege = { # But don't go overboard with naval themes + any_vassal = { + percent < 0.15 + vassal_contract_has_flag = admin_theme_naval + } + } + } + add = 3 + } + + if = { + limit = { # Islands are good naval candidates + scope:subject = { + any_sub_realm_county = { + percent >= 0.95 + is_coastal_county = yes + OR = { + any_neighboring_county = { + percent >= 0.95 + holder = { + OR = { + this = scope:subject + any_liege_or_above = { this = scope:subject } + } + } + } + any_neighboring_county = { count < 1 } + } + } + } + } + add = 8 + } + } + } + ai_subject_desire = 0 + + score = 0 + color = { 0.0 0.4 0.7 1.0 } + + is_valid = { + custom_tooltip = { + text = admin_theme_naval_valid_desc + scope:subject = { + any_sub_realm_county = { + is_coastal_county = yes + } + } + } + } + + liege_modifier = { + men_at_arms_cap = -2 + men_at_arms_maintenance = 0.1 + embarkation_cost_mult = -0.2 + naval_movement_speed_mult = 0.2 + } + + subject_modifier = { + embarkation_cost_mult = -0.75 + naval_movement_speed_mult = 0.33 + no_disembark_penalty = yes + coastal_advantage = 15 + development_growth_factor = 0.2 + monthly_treasury_from_military_budget_base = 2 + men_at_arms_cap = 2 + men_at_arms_maintenance = -0.1 + } + + flag = admin_naval_duchy_expansion_unlocked + flag = admin_tradeport_obligation_bonus + flag = admin_theme_naval + flag = province_military + } + } +} +administrative_salary_rank = { + display_mode = hidden + + defaults_to_highest_valid_level = yes + + can_be_changed = { + always = no + } + + obligation_levels = { + administrative_salary_rank_none = { + position = { 0 0 } + default = yes + + ai_liege_desire = 0 + ai_subject_desire = 0 + } + + administrative_salary_rank_duchy = { + position = { 2 0 } + + parent = administrative_salary_rank_none + is_valid = { + scope:subject = { + any_held_title = { + is_noble_family_title = no + tier = tier_duchy + } + } + } + + ai_liege_desire = 3 + ai_subject_desire = 3 + + subject_modifier = { + monthly_treasury_from_salary_budget_base = 0.75 + } + } + administrative_salary_rank_kingdom = { + position = { 3 0 } + + parent = administrative_salary_rank_duchy + is_valid = { + scope:subject = { + highest_held_title_tier = tier_kingdom + } + } + + ai_liege_desire = 4 + ai_subject_desire = 4 + + subject_modifier = { + monthly_treasury_from_salary_budget_base = 1.0 + } + } + administrative_salary_rank_empire = { + position = { 4 0 } + + parent = administrative_salary_rank_kingdom + + ai_liege_desire = 5 + ai_subject_desire = 5 + + is_valid = { + scope:subject = { + highest_held_title_tier = tier_empire + is_landless_ruler = no + } + } + subject_modifier = { + monthly_treasury_from_salary_budget_base = 2.0 + } + } + } +} diff --git a/common/subject_contracts/contracts/japan_administrative.txt b/common/subject_contracts/contracts/japan_administrative.txt new file mode 100644 index 000000000..f682dfc5b --- /dev/null +++ b/common/subject_contracts/contracts/japan_administrative.txt @@ -0,0 +1,323 @@ +japan_administrative_obligations = { + obligation_levels = { + default = { + levies = { + value = 0.1 + } + + tax = { + value = 0.1 + } + } + } +} + +### brief: administrative_themes +# This is referenced in code. +# +japan_administrative_provinces = { + display_mode = radiobutton + is_shown = { + scope:subject.primary_title.tier >= tier_county + } + obligation_levels = { + japan_administrative_province_standard = { + default = yes + position = { 0 0 } + icon = "gfx/interface/icons/celestial_administration_types/icon_standard_administration.dds" + gui_tags = { civilian } + + ai_liege_desire = { + value = 0 + if = { + limit = { + scope:subject = { is_ai = yes } + } + add = 1 + + # Cautious AI should tend to have a minor bias towards the default + if = { + limit = { + scope:liege = { ai_has_cautious_personality = yes } + } + add = 1 + } + } + } + ai_subject_desire = 0 + + liege_modifier = { + men_at_arms_cap = 1 + men_at_arms_maintenance = -0.05 + } + subject_modifier = { + men_at_arms_cap = -1 + men_at_arms_maintenance = 0.05 + } + score = 0 + color = { 0.7 0.7 0.7 1.0 } + + enable_title_maa = no + + flag = vassal_contract_war_override + flag = japan_administrative_province_standard + flag = province_civilian + } + japan_administrative_province_trade = { + position = { 1 0 } + icon = "gfx/interface/icons/celestial_administration_types/icon_industrial_administration.dds" + gui_tags = { civilian } + + ai_liege_desire = { + value = 0 + if = { + limit = { + scope:subject = { + is_ai = yes + OR = { + has_trait = education_stewardship + stewardship >= very_high_skill_rating + } + } + } + add = 2 + + # Economical AI wants more of civic vassals + if = { + limit = { + scope:liege = { ai_has_builder_or_pious_builder_personality = yes } + } + add = 1 + } + } + } + ai_subject_desire = 0 + + score = 0 + color = { 0.2 0.2 0.7 1.0 } + + is_valid = { + trigger_if = { + limit = { exists = this } + # Only for direct vassals of the top liege + scope:liege.top_liege = this + } + # There can only be a limited number of industries at a time + custom_tooltip = { + text = japan_administrative_province_trade_amount_desc + OR = { + scope:liege = { + any_vassal = { + count < japan_administrative_province_trade_max_value + vassal_contract_has_flag = japan_administrative_province_trade + } + } + scope:subject = { + OR = { + vassal_contract_has_flag = japan_administrative_province_trade + any_sub_realm_county = { is_coastal_county = yes } # Is a coastal province + } + } + } + } + } + + tax_factor = 0.25 + enable_title_maa = no + + liege_modifier = { + men_at_arms_cap = 1 + men_at_arms_maintenance = -0.05 + } + subject_modifier = { + men_at_arms_cap = -1 + men_at_arms_maintenance = 0.05 + development_growth_factor = 0.15 + build_gold_cost = -0.1 + build_speed = -0.2 + } + + flag = vassal_contract_war_override + flag = admin_ai_is_builder + flag = japan_administrative_province_trade + flag = province_civilian + flag = obligation_high_taxes + } + japan_administrative_province_military = { + position = { 0 1 } + icon = "gfx/interface/icons/celestial_administration_types/icon_military_administration.dds" + gui_tags = { military } + + ai_liege_desire = { + value = 0 + if = { + limit = { + scope:subject = { + is_ai = yes + OR = { + has_trait = education_martial + martial >= very_high_skill_rating + primary_title = { + any_owned_title_maa_regiment = { count >= 3 } + } + any_sub_realm_county = { # Is a border province + any_neighboring_county = { holder.top_liege != scope:subject.top_liege } + } + } + } + } + add = 2 + + # Preference for vassals along the border + if = { + limit = { + scope:subject = { + any_sub_realm_county = { + any_neighboring_county = { holder.top_liege != scope:subject.top_liege } + } + } + } + add = 3 + } + + # Warlike AI wants more military vassals + if = { + limit = { + scope:liege = { ai_has_warlike_personality = yes } + } + add = 1 + } + } + } + ai_subject_desire = 0 + + score = 0 + color = { 0.7 0.2 0.2 1.0 } + + is_valid = { + trigger_if = { + limit = { exists = this } + # Only for direct vassals of the top liege + scope:liege.top_liege = this + } + # There can only be a limited number of militaries at a time + custom_tooltip = { + text = japan_administrative_province_military_amount_desc + OR = { + scope:liege = { + any_vassal = { + count < japan_administrative_province_military_max_value + vassal_contract_has_flag = japan_administrative_province_military + } + } + scope:subject = { vassal_contract_has_flag = japan_administrative_province_military } + } + } + } + + levies_factor = 0.5 + + liege_modifier = { + men_at_arms_cap = -1 + men_at_arms_maintenance = 0.05 + } + subject_modifier = { + men_at_arms_cap = 1 + development_growth_factor = -0.2 + monthly_county_control_growth_factor = 0.1 + fort_level = 1 + defender_advantage = 2 + men_at_arms_maintenance = -0.15 + } + + flag = japan_administrative_province_military + flag = japan_administrative_military_appointment + flag = province_military + flag = obligation_high_levies + } + } +} + +japan_administrative_salary = { + display_mode = tree + is_shown = { + scope:subject.primary_title.tier >= tier_duchy + } + obligation_levels = { + salary_very_low = { + position = { 0 2 } + + subject_modifier = { + subject_salary_expense_treasury_mult = -0.5 + subject_salary_income_gold_mult = -0.5 + } + + ai_liege_desire = 1 + ai_subject_desire = 5 + + subject_opinion = -25 + + score = -2 + } + salary_low = { + parent = salary_very_low + position = { 1 2 } + + subject_modifier = { + subject_salary_income_gold_mult = -0.25 + + } + + ai_liege_desire = 2 + ai_subject_desire = 4 + + subject_opinion = -15 + + score = 1 + } + salary_medium = { + parent = salary_low + default = yes + position = { 2 2 } + + subject_modifier = { + + } + + ai_liege_desire = 3 + ai_subject_desire = 3 + + score = 0 + } + salary_high = { + parent = salary_medium + position = { 3 2 } + + subject_modifier = { + subject_salary_income_gold_mult = 0.25 + } + + ai_liege_desire = 4 + ai_subject_desire = 2 + + subject_opinion = 5 + + score = 1 + } + salary_very_high = { + parent = salary_high + position = { 4 2 } + + subject_modifier = { + subject_salary_income_gold_mult = 0.5 + } + + ai_liege_desire = 5 + ai_subject_desire = 1 + + subject_opinion = 10 + + score = 2 + } + } +} diff --git a/common/subject_contracts/groups/_subject_contract_groups.info b/common/subject_contracts/groups/_subject_contract_groups.info new file mode 100644 index 000000000..18c2a15eb --- /dev/null +++ b/common/subject_contracts/groups/_subject_contract_groups.info @@ -0,0 +1,56 @@ +# Subject contract groups + +feudal_contract_group = { + + # Which contract within this group is the administrative province type contract + # This will be used in the interface + # Contract might be listed in 'contracts' list + admin_province_contract = administrative_themes + + contracts = { # The subject contracts within this group + feudal_government_taxes + feudal_government_levies + special_contract + ... + } + + modify_contract_layout = clan # a string property on the contract group that can be checked with SubjectContract.HasModifyContractLayout in gui script to choose the layout to use for the Modify Contract interaction window (default value is 'default') + + + # ######################################### + # REMAINING IS ONLY FOR TRIBUTARY CONTRACTS + # ######################################### + + is_tributary = no # Whether or not this subject contract is specifically for tributaries or not. + + # Whether or not the subject contract is valid. + # Scopes available: + # ROOT - The subject in the contract + # scope:suzerain the suzerain in the contract + is_valid_tributary_contract = {} + + # Whether or not subject can break free from a contract themselves. + # Same scopes as is_valid + tributary_can_break_free = {} + + # The name of the line types that will be shown when drawing the tributary relation to the suzerain on the map. + # Skip these parameters if you don't want a line at all. + # suzerain_line_type is used when showing a selected character's suzerain. + # tributary_line_type is used when showing a selected character's tributaries. + # Lines are defined in gfx/lines/lines.lines + suzerain_line_type = line_suzerain + tributary_line_type = line_tributary + + # Whether or not the tributary's realm should show with the suzerain's realm name on the map (Default: no) + should_show_as_suzerain_realm_name = yes/no + + # Whether or not the tributary's realm should show with the suzerain's realm color on the map. (Default: no) + # If yes, the actual color will be an interpolation between the suzerain and tributary's realm colors, with the ratio defined in TRIBUTARY_REALM_COLOR_FACTOR + should_show_as_suzerain_realm_color = yes/no + + # Whether the tributary's heirs should become tributaries themselves upon succession (if they can be, e.g. they are independent). (Default: yes) + tributary_heir_succession = yes/no + + # Whether the suzerain's primary heir should take over as suzerain upon succession (if they can be, e.g. they are independent). (Default: yes) + suzerain_heir_succession = yes/no +} diff --git a/common/subject_contracts/groups/subject_contract_groups.txt b/common/subject_contracts/groups/subject_contract_groups.txt new file mode 100644 index 000000000..7fafe3169 --- /dev/null +++ b/common/subject_contracts/groups/subject_contract_groups.txt @@ -0,0 +1,324 @@ +feudal_vassal = { + contracts = { + feudal_government_taxes + feudal_government_levies + special_contract + religious_rights + fortification_rights + coinage_rights + succession_rights + war_declaration_rights + council_rights + kurultai_rights + title_revocation_rights + jizya_special_rights + } +} + +republic_vassal = { + contracts = { + republic_government_obligations + } +} + +theocracy_vassal ={ + contracts = { + theocracy_government_obligations + } +} + +clan_vassal = { + contracts = { + clan_tax_collector_obligations + special_contract + religious_rights + war_declaration_rights + council_rights + kurultai_rights + title_revocation_rights + marriage_favor_rights + } + modify_contract_layout = clan +} + +tribal_vassal = { + contracts = { + tribal_government_obligations + } +} + +admin_vassal = { + admin_province_contract = administrative_themes + + contracts = { + administrative_obligations + administrative_themes + administrative_themes_king + administrative_salary_rank + } + modify_contract_layout = admin +} + +nomad_vassal = { + contracts = { + nomad_government_herd + nomad_government_taxes + liege_war_participation_obligation + council_rights + kurultai_rights + war_declaration_rights + } +} + +tributary_settled = { + is_tributary = yes + suzerain_line_type = line_suzerain + tributary_line_type = line_tributary + should_show_as_suzerain_realm_name = yes + should_show_as_suzerain_realm_color = yes + + contracts = { + default_tributary_taxes + default_tributary_levies + default_tributary_prestige + suzerain_war_participation_guarantee + tributary_war_participation_obligation + } +} + +tributary_nomadic = { + is_tributary = yes + suzerain_line_type = line_suzerain + tributary_line_type = line_tributary + should_show_as_suzerain_realm_name = yes + should_show_as_suzerain_realm_color = yes + + contracts = { + nomad_government_herd + nomad_government_prestige + suzerain_war_participation_guarantee + tributary_war_participation_obligation + } +} + +tributary_subjugated = { + is_tributary = yes + tributary_can_break_free = { always = no } + suzerain_heir_succession = no + suzerain_line_type = line_suzerain + tributary_line_type = line_tributary + should_show_as_suzerain_realm_name = no + should_show_as_suzerain_realm_color = yes + + contracts = { + default_tributary_taxes + default_tributary_prestige + suzerain_war_participation_guarantee + tributary_war_participation_obligation + } +} + +tributary_steppe = { + is_tributary = yes + suzerain_line_type = line_suzerain + tributary_line_type = line_tributary + should_show_as_suzerain_realm_name = yes + should_show_as_suzerain_realm_color = yes + + contracts = { + default_tributary_taxes + nomad_government_prestige + suzerain_war_participation_guarantee + tributary_war_participation_obligation + } +} + +herder_vassal = { + contracts = { + herder_government_obligations + } +} + +celestial_vassal = { + admin_province_contract = celestial_provinces + + contracts = { + celestial_obligations + celestial_ministry_obligations + celestial_provinces + celestial_treasury + celestial_salary + celestial_ministry_budget + celestial_salary_rank + } + + modify_contract_layout = eastern_admin +} + +tributary_celestial = { + is_tributary = yes + suzerain_line_type = line_suzerain + tributary_line_type = line_tributary + should_show_as_suzerain_realm_name = no + should_show_as_suzerain_realm_color = no + tributary_heir_succession = yes + suzerain_heir_succession = yes + + is_valid_tributary_contract = { + scope:suzerain = { + highest_held_title_tier = tier_hegemony + government_has_flag = government_is_celestial + } + } + + tributary_can_break_free = { + always = yes + } + + contracts = { + celestial_tribute_gold + celestial_tribute_prestige + celestial_tributary_investiture_privilege_trade + celestial_tributary_investiture_privilege_marriage + celestial_tributary_investiture_privilege_politics + } +} + +tributary_hegemonic = { + is_tributary = yes + suzerain_line_type = line_suzerain + tributary_line_type = line_tributary + should_show_as_suzerain_realm_name = no + should_show_as_suzerain_realm_color = no + tributary_heir_succession = yes + suzerain_heir_succession = yes + + is_valid_tributary_contract = { + scope:suzerain = { + highest_held_title_tier = tier_hegemony + } + } + + tributary_can_break_free = { + always = yes + } + + contracts = { + hegemonic_tribute_gold + hegemonic_tribute_prestige + } +} + +mandala_vassal = { + contracts = { + mandala_government_taxes + mandala_government_piety + mandala_government_levies + religious_rights + fortification_rights + coinage_rights + succession_rights + title_revocation_rights + } +} + +tributary_mandala = { + is_tributary = yes + tributary_can_break_free = { + NOT = { has_variable = tributary_has_been_reasserted_recently } + } + suzerain_line_type = line_suzerain + tributary_line_type = line_tributary + should_show_as_suzerain_realm_name = yes + should_show_as_suzerain_realm_color = yes + tributary_heir_succession = yes + suzerain_heir_succession = yes + + contracts = { + mandala_government_taxes + mandala_government_piety + mandala_government_levies + mandala_suzerain_war_participation_guarantee + } +} + +#Wanua, amongst others +tributary_mandala_tribal = { + is_tributary = yes + suzerain_line_type = line_suzerain + tributary_line_type = line_tributary + should_show_as_suzerain_realm_name = yes + should_show_as_suzerain_realm_color = yes + tributary_heir_succession = yes + suzerain_heir_succession = yes + + contracts = { + mandala_government_taxes + mandala_government_prestige + mandala_government_piety + mandala_government_levies + mandala_suzerain_war_participation_guarantee + } +} + +japan_administrative_vassal = { + admin_province_contract = japan_administrative_provinces + + contracts = { + japan_administrative_obligations + japan_administrative_provinces + } + + modify_contract_layout = eastern_admin +} + +japan_feudal_vassal = { + contracts = { + feudal_government_taxes + feudal_government_levies + special_contract + religious_rights + fortification_rights + coinage_rights + succession_rights + war_declaration_rights + council_rights + kurultai_rights + title_revocation_rights + jizya_special_rights + } +} + +wanua_vassal = { + contracts = { + wanua_obligations + } +} + +tributary_wanua = { + is_tributary = yes + suzerain_line_type = line_suzerain + tributary_line_type = line_tributary + should_show_as_suzerain_realm_name = yes + should_show_as_suzerain_realm_color = yes + + contracts = { + default_tributary_taxes + default_tributary_prestige + barter_goods_obligations + } +} + +meritocratic_vassal = { + admin_province_contract = meritocratic_provinces + + contracts = { + meritocratic_obligations + meritocratic_provinces + meritocratic_treasury + meritocratic_salary + meritocratic_salary_rank + } + + modify_contract_layout = eastern_admin +} diff --git a/gfx/interface/icons/regimenttypes/NEOW_militia.dds b/gfx/interface/icons/regimenttypes/NEOW_militia.dds new file mode 100644 index 000000000..447b98309 --- /dev/null +++ b/gfx/interface/icons/regimenttypes/NEOW_militia.dds @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:3a9ccd552c197e8612ac8acdfeb99e31726334e95afa0fa4f28ab0aaa9c7e6b9 +size 19504 diff --git a/gfx/interface/icons/regimenttypes/NEOW_militia_archers.dds b/gfx/interface/icons/regimenttypes/NEOW_militia_archers.dds new file mode 100644 index 000000000..fc6cdf22a --- /dev/null +++ b/gfx/interface/icons/regimenttypes/NEOW_militia_archers.dds @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:d7daee87c5d026ca22d6d38e56d59d4ed0b51cef7f33994e5cd1965635e19a2a +size 19504 diff --git a/gfx/interface/icons/regimenttypes/pikemen_militia.pdn b/gfx/interface/icons/regimenttypes/pikemen_militia.pdn new file mode 100644 index 0000000000000000000000000000000000000000..6ff6a6d02586fbb95399fb0fa6338a77570b2f20 GIT binary patch literal 41803 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

ejEmG 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