admin stuff and militia stuff

This commit is contained in:
Fishedotjpg 2026-10-31 15:10:15 +00:00
parent b8916d4a89
commit 5bbf6f16c6
12 changed files with 1938 additions and 42 deletions

View file

@ -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

View file

@ -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 = {

View file

@ -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
}
}
}
}

View file

@ -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
}
}
}

View file

@ -0,0 +1,56 @@
# Subject contract groups
feudal_contract_group = {
# <optional> 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
}

View file

@ -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
}

BIN
gfx/interface/icons/regimenttypes/NEOW_militia.dds (Stored with Git LFS) Normal file

Binary file not shown.

BIN
gfx/interface/icons/regimenttypes/NEOW_militia_archers.dds (Stored with Git LFS) Normal file

Binary file not shown.

Binary file not shown.

259
holder for later/feudal.txt Normal file
View file

@ -0,0 +1,259 @@
feudal_government_taxes = {
display_mode = tree
icon = gold_icon
obligation_levels = {
feudal_tax_exempt = {
position = { 0 0 }
tax = exempt_feudal_tax
subject_opinion = 10
ai_liege_desire = 1
ai_subject_desire = 5
score = 2
}
feudal_tax_low = {
parent = feudal_tax_exempt
position = { 1 0 }
tax = low_feudal_tax
subject_opinion = 5
ai_liege_desire = {
value = 2
if = {
limit = {
scope:liege = {
ai_should_focus_on_building_in_their_capital = yes
}
scope:subject = {
AND = {
government_has_flag = government_is_feudal
vassal_contract_obligation_level:feudal_government_taxes <= feudal_tax_exempt_level
}
}
}
add = 8
}
}
ai_subject_desire = 4
score = 1
}
feudal_tax_normal = {
default = yes
parent = feudal_tax_low
position = { 2 0 }
tax = normal_feudal_tax
ai_liege_desire = {
value = 3
if = {
limit = {
scope:liege = {
ai_should_focus_on_building_in_their_capital = yes
}
scope:subject = {
AND = {
government_has_flag = government_is_feudal
vassal_contract_obligation_level:feudal_government_taxes <= feudal_tax_low_level
}
}
}
add = 7
}
}
ai_subject_desire = 3
score = 0
}
feudal_tax_high = {
parent = feudal_tax_normal
position = { 3 0 }
tax = high_feudal_tax
subject_opinion = -15
ai_liege_desire = {
value = 5
if = {
limit = {
scope:liege = {
ai_should_focus_on_building_in_their_capital = yes
}
scope:subject = {
AND = {
government_has_flag = government_is_feudal
vassal_contract_obligation_level:feudal_government_taxes <= feudal_tax_normal_level
}
}
}
add = 6
}
}
ai_subject_desire = 2
score = -2
flag = obligation_high_taxes
}
feudal_tax_extortionate = {
parent = feudal_tax_high
position = { 4 0 }
tax = extortionate_feudal_tax
subject_opinion = -25
ai_liege_desire = {
value = 6
if = {
limit = {
scope:liege = {
ai_should_focus_on_building_in_their_capital = yes
}
scope:subject = {
AND = {
government_has_flag = government_is_feudal
vassal_contract_obligation_level:feudal_government_taxes <= feudal_tax_high_level
}
}
}
add = 5
}
}
ai_subject_desire = 1
score = -3
flag = obligation_high_taxes
}
}
}
feudal_government_levies = {
display_mode = tree
icon = soldier_icon
obligation_levels = {
feudal_levies_exempt = {
position = { 0 0 }
levies = 0
subject_opinion = 10
subject_modifier = {
men_at_arms_cap = 1
men_at_arms_maintenance = -0.05
}
ai_liege_desire = 1
ai_subject_desire = 5
score = 2
}
feudal_levies_low = {
parent = feudal_levies_exempt
position = { 1 0 }
levies = 0.1
subject_opinion = 5
liege_modifier = {
men_at_arms_cap = 1
men_at_arms_maintenance = -0.05
}
subject_modifier = {
men_at_arms_cap = -1
}
ai_liege_desire = 2
ai_subject_desire = 4
score = 1
}
feudal_levies_normal = {
default = yes
parent = feudal_levies_low
position = { 2 0 }
liege_modifier = {
men_at_arms_cap = 2
men_at_arms_maintenance = -0.1
}
subject_modifier = {
men_at_arms_cap = -1
men_at_arms_maintenance = 0.05
}
levies = 0.25
ai_liege_desire = 3
ai_subject_desire = 3
score = 0
}
feudal_levies_high = {
parent = feudal_levies_normal
position = { 3 0 }
levies = 0.35
subject_opinion = -15
liege_modifier = {
men_at_arms_cap = 3
men_at_arms_maintenance = -0.15
}
subject_modifier = {
men_at_arms_cap = -2
men_at_arms_maintenance = 0.1
}
ai_liege_desire = 4
ai_subject_desire = 2
score = -1
flag = obligation_high_levies
}
feudal_levies_extortionate = {
parent = feudal_levies_high
position = { 4 0 }
levies = 0.5
subject_opinion = -25
liege_modifier = {
men_at_arms_cap = 4
men_at_arms_maintenance = -0.2
}
subject_modifier = {
men_at_arms_cap = -3
men_at_arms_maintenance = 0.15
}
ai_liege_desire = 5
ai_subject_desire = 1
score = -2
flag = obligation_high_levies
}
}
}
feudal_government_prestige = {
display_mode = tree
icon = prestige_icon
obligation_levels = {
prestige_transfer_none = {
position = { 0 0 }
prestige = 0
ai_liege_desire = 1
ai_subject_desire = 5
score = 2
}
prestige_transfer_normal = {
parent = prestige_transfer_none
position = { 1 0 }
prestige = 0.1
subject_opinion = -10
ai_liege_desire = 5
ai_subject_desire = 3
score = 1
}
prestige_transfer_high = {
parent = prestige_transfer_normal
position = { 2 0 }
prestige = 0.25
subject_opinion = -25
ai_liege_desire = 7
ai_subject_desire = 1
score = 1
}
}
}

View file

@ -113,8 +113,10 @@
innovation_bike_cav_desc:0 "These special forms of cavalry use an antediluvian way of transportation known as bicycles in order to either charge, or to do hit-and-run tactics."
bike_cav:0 "Bicycle Cavalry"
bike_cav_flavor:0 "#F The Bicycle Cavalry are a special form of cavalry, using the bicycles they ride in order to charge towards battle, or to harrass the enemy and retreat away."
NEOW_militia:0 "Peasant Militia"
NEOW_militia:0 "Peasant Spear Militia"
NEOW_militia_flavor:1 "#F Trained to an above average level by a militarily Competent Noble these peasants will hold their own in the field#!\n#help Enabled by the [GetBuilding('city_01').GetName].#!"
NEOW_militia_archers:0 "Peasant Bow Militia"
NEOW_militia_archers_flavor:1 "#F Trained to an above average level by a militarily Competent Noble these peasants will hold their own in the field#!\n#help Enabled by the [GetBuilding('city_01').GetName].#!"
carabineers:0 "Carabineers"
carabineers_flavor:1 "#F These professional soldiers combine their skills in the art of firearms and horse riding to achieve devastating results on the battlefield.#!\n#help Enabled by the [GetBuilding('powder_magazine_01').GetName].#!"
cowboys:0 "Sechsschüssere"

View file

@ -0,0 +1,33 @@
l_english:
# Administrative
administrative_themes_king: "Available Administration Types"
admin_theme_balanced_king: "@balanced_administration! Balanced Administration"
admin_theme_balanced_king_short: "@balanced_administration! Balanced"
admin_theme_balanced_king_text_icon: "@balanced_administration!"
admin_theme_balanced_king_desc: "#flavor A well balanced administration seeks moderation to ensure equal attention in all areas of governance.#!"
admin_theme_military_king: "@military_administration! Military Administration"
admin_theme_military_king_short: "@military_administration! Military"
admin_theme_military_king_text_icon: "@military_administration!"
admin_theme_military_king_benefits: "#emphasis #bold [vassal|E] Benefits:#!#!\n$EFFECT_LIST_BULLET$ Increases [governor_efficiency|E] based on [martial|E]#indent_newline:4 \n#weak Adds an extra [EmptyScope.ScriptValue('efficiency_skill_increase_value')|+1%/] for each [skill|E] Point#!#!"
admin_theme_military_king_desc: "#flavor A military administration puts all energy on recruiting and training formidable troops for the imperial army.#!"
admin_theme_civilian_king: "@civilian_administration! Civilian Administration"
admin_theme_civilian_king_short: "@civilian_administration! Civilian"
admin_theme_civilian_king_text_icon: "@civilian_administration!"
admin_theme_civilian_king_benefits: "#emphasis #bold [vassal|E] Benefits:#!#!\n$EFFECT_LIST_BULLET$ Increases [governor_efficiency|E] based on [stewardship|E]#indent_newline:4 \n#weak Adds an extra [EmptyScope.ScriptValue('efficiency_skill_increase_value')|+1%/] for each [skill|E] Point#!#!\n[influence|E] gained from constructing [buildings|E] in held [counties|E] is increased"
admin_theme_civilian_king_desc: "#flavor Exempt from military service, a civilian administration focuses on improving the economy and well-being of the citizens.#!"
admin_theme_frontier_king: "@frontier_administration! Frontier Administration"
admin_theme_frontier_king_short: "@frontier_administration! Frontier"
admin_theme_frontier_king_text_icon: "@frontier_administration!"
admin_theme_frontier_king_benefits: "#emphasis #bold [liege|E] Benefits:#!#!\n$EFFECT_LIST_BULLET$ Unlocks the #high $frontier_influence_war_interaction$#! [interaction|E] allowing the liege to request the [vassal|E] to declare war for a foreign [duchy|E]-tier [title|E]\n\n#emphasis #bold [vassal|E] Benefits:#!#!\n$EFFECT_LIST_BULLET$ Increases [governor_efficiency|E] based on [prowess|E]#indent_newline:4 \n#weak Adds an extra [EmptyScope.ScriptValue('efficiency_skill_increase_value')|+1%/] for each [skill|E] Point#!#!\n$EFFECT_LIST_BULLET$ Unlocks the #high $EXPANSION_DUCHY_CB_NAME$#! [casus_belli|E]\n$EFFECT_LIST_BULLET$ Enables [raiding|E]"
admin_theme_frontier_king_desc: "#flavor One cannot leave the borders undefended. A frontier administration will ensure the realm's defenses and stand ready to repel any potential invaders.#!"
admin_theme_imperial_king: "@imperial_administration! Imperial Administration"
admin_theme_imperial_king_short: "@imperial_administration! Imperial"
admin_theme_imperial_king_text_icon: "@imperial_administration!"
admin_theme_imperial_king_benefits: "#emphasis #bold [vassal|E] Benefits:#!#!\n$EFFECT_LIST_BULLET$ Increases [governor_efficiency|E] based on [prestige_level|E]#indent_newline:4 \n#weak Adds an extra [EmptyScope.ScriptValue('efficiency_currency_level_increase_value')|+0%/] for each level#!#!\n$EFFECT_LIST_BULLET$ Increases [powerful_family|E] Rating\nCannot have appointment revoked without a [revoke_title_reason|E]"
admin_theme_imperial_king_desc: "#flavor An imperial administration provides a significant level of autonomy and freedom from many regular responsibilities. It is the most prestigious administration one can have.#!"
admin_theme_naval_king: "@naval_administration! Naval Administration"
admin_theme_naval_king_short: "@naval_administration! Naval"
admin_theme_naval_king_text_icon: "@naval_administration!"
admin_theme_naval_king_benefits: "#emphasis #bold [liege|E] Benefits:#!#!\n$EFFECT_LIST_BULLET$ Unlocks the #high $frontier_influence_war_interaction$#! [interaction|E] allowing the liege to request the [vassal|E] to declare war for a foreign [duchy|E]-tier [title|E]\n\n#emphasis #bold [vassal|E] Benefits:#!#!\n$EFFECT_LIST_BULLET$ Increases [governor_efficiency|E] for every controlled #high [GetBuilding('common_tradeport_01').GetTypeName]#!#indent_newline:4 \n#weak Adds an extra [EmptyScope.ScriptValue('efficiency_building_increase_value')|+0%/] for each [GetBuilding('common_tradeport_01').GetTypeName]#!#!\n$EFFECT_LIST_BULLET$ Unlocks the #high $NAVAL_EXPANSION_DUCHY_CB_NAME$#! [casus_belli|E]"
admin_theme_naval_king_desc: "#flavor The navy is the backbone of any expansive realm. With a dedicated naval administration, safety and efficiency at sea will be highly increased.#!"