diff --git a/common/men_at_arms_types/NEOW_maa_types.txt b/common/men_at_arms_types/NEOW_maa_types.txt index ec207d94..71524db3 100644 --- a/common/men_at_arms_types/NEOW_maa_types.txt +++ b/common/men_at_arms_types/NEOW_maa_types.txt @@ -360,4 +360,60 @@ spahis = { add = 60 #I mean... they're horse archers } icon = horse_archers -} \ No newline at end of file +} + +NEOW_militia = { + type = peasant_militia + + damage = 12 + toughness = 16 + pursuit = 10 + screen = 4 + + terrain_bonus = { + mountains = { toughness = 8 } + desert_mountains = { toughness = 8 } + hills = { toughness = 4 } + farmlands = { toughness = 8 } + floodplains = { toughness = 8 } + terraced_hills = { toughness = 8 } + } + + counters = { + light_cavalry = 1 + heavy_cavalry = 0.5 + camel_cavalry = 1 + } + can_recruit = { + 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 + } + } + + buy_cost = { gold = militia_recruitment_cost } + low_maintenance_cost = { gold = militia_low_maint_cost } + high_maintenance_cost = { gold = militia_high_maint_cost } + provision_cost = @provisions_cost_infantry_cheap + + stack = 200 + ai_quality = { value = culture_ai_weight_skirmishers } + + illustration = { + trigger = { + should_use_asian_maa_graphics = yes + } + reference = pikemen_militia_asia + } + illustration = { + reference = pikemen_militia + } + icon = pikemen_militia +} diff --git a/common/script_values/00_men_at_arms_values.txt b/common/script_values/00_men_at_arms_values.txt new file mode 100644 index 00000000..83925c32 --- /dev/null +++ b/common/script_values/00_men_at_arms_values.txt @@ -0,0 +1,985 @@ +###################### +# Men-at-Arms Values # +###################### + +######### +# Costs # +######### + +@high_maint_mult = 3 + +### Base Cost Values +@skirmisher_recruitment_cost = 45 +@skirmisher_low_maint_cost = 0.15 +@skirmisher_high_maint_cost = @[skirmisher_low_maint_cost * high_maint_mult] + +@militia_recruitment_cost = 30 +@militia_low_maint_cost = 0.15 +@militia_high_maint_cost = @[militia_low_maint_cost * high_maint_mult] + +@archers_recruitment_cost = 55 +@archers_low_maint_cost = 0.2 +@archers_high_maint_cost = @[archers_low_maint_cost * high_maint_mult] + +@pikemen_recruitment_cost = 75 +@pikemen_low_maint_cost = 0.3 +@pikemen_high_maint_cost = @[pikemen_low_maint_cost * high_maint_mult] + +@heavy_infantry_recruitment_cost = 90 +@heavy_infantry_low_maint_cost = 0.4 +@heavy_infantry_high_maint_cost = @[heavy_infantry_low_maint_cost * high_maint_mult] + +@light_cavalry_recruitment_cost = 85 +@light_cavalry_low_maint_cost = 0.35 +@light_cavalry_high_maint_cost = @[light_cavalry_low_maint_cost * high_maint_mult] + +@heavy_cavalry_recruitment_cost = 200 +@heavy_cavalry_low_maint_cost = 0.7 +@heavy_cavalry_high_maint_cost = @[heavy_cavalry_low_maint_cost * high_maint_mult] + +@siege_weapons_recruitment_cost = 60 +@siege_weapons_low_maint_cost = 0.1 +@siege_weapons_high_maint_cost = @[siege_weapons_low_maint_cost * high_maint_mult] + +@gunpowder_recruitment_cost = 76 +@gunpowder_low_maint_cost = 0.35 +@gunpowder_high_maint_cost = @[gunpowder_low_maint_cost * high_maint_mult] + + +### Base MAA +skirmisher_recruitment_cost = @[skirmisher_recruitment_cost] +skirmisher_low_maint_cost = @[skirmisher_low_maint_cost] +skirmisher_high_maint_cost = @[skirmisher_high_maint_cost] + +militia_recruitment_cost = @[militia_recruitment_cost] +militia_low_maint_cost = @[militia_low_maint_cost] +militia_high_maint_cost = @[militia_high_maint_cost] + +bowmen_recruitment_cost = @[archers_recruitment_cost] +bowmen_low_maint_cost = @[archers_low_maint_cost] +bowmen_high_maint_cost = @[archers_high_maint_cost] + +crossbowmen_recruitment_cost = @[archers_recruitment_cost * 1.6] +crossbowmen_low_maint_cost = @[archers_low_maint_cost * 1.5] +crossbowmen_high_maint_cost = @[archers_high_maint_cost * 1.5] + +pikemen_recruitment_cost = @[pikemen_recruitment_cost] +pikemen_low_maint_cost = @[pikemen_low_maint_cost] +pikemen_high_maint_cost = @[pikemen_high_maint_cost] + +heavy_infantry_recruitment_cost = @[heavy_infantry_recruitment_cost] +heavy_infantry_low_maint_cost = @[heavy_infantry_low_maint_cost] +heavy_infantry_high_maint_cost = @[heavy_infantry_high_maint_cost] + +light_cavalry_recruitment_cost = @[light_cavalry_recruitment_cost] +light_cavalry_low_maint_cost = @[light_cavalry_low_maint_cost] +light_cavalry_high_maint_cost = @[light_cavalry_high_maint_cost] + +heavy_cavalry_recruitment_cost = @[heavy_cavalry_recruitment_cost] +heavy_cavalry_low_maint_cost = @[heavy_cavalry_low_maint_cost] +heavy_cavalry_high_maint_cost = @[heavy_cavalry_high_maint_cost] + +handgunner_recruitment_cost = @[gunpowder_recruitment_cost] +handgunner_low_maint_cost = @[gunpowder_low_maint_cost] +handgunner_high_maint_cost = @[gunpowder_high_maint_cost] + + +### Siege Weapons MAA +torch_bearers_recruitment_cost = @[siege_weapons_recruitment_cost * 0.5] +torch_bearers_low_maint_cost = @[siege_weapons_low_maint_cost * 0.5] +torch_bearers_high_maint_cost = @[siege_weapons_high_maint_cost * 0.5] + +onager_recruitment_cost = @[siege_weapons_recruitment_cost] +onager_low_maint_cost = @[siege_weapons_low_maint_cost] +onager_high_maint_cost = @[siege_weapons_high_maint_cost] + +mangonel_recruitment_cost = @[siege_weapons_recruitment_cost * 1.1] +mangonel_low_maint_cost = @[siege_weapons_low_maint_cost * 1.1] +mangonel_high_maint_cost = @[siege_weapons_high_maint_cost * 1.1] + +trebuchet_recruitment_cost = @[siege_weapons_recruitment_cost * 1.3] +trebuchet_low_maint_cost = @[siege_weapons_low_maint_cost * 1.3] +trebuchet_high_maint_cost = @[siege_weapons_high_maint_cost * 1.3] + +bombard_recruitment_cost = @[siege_weapons_recruitment_cost * 1.6] +bombard_low_maint_cost = @[siege_weapons_low_maint_cost * 1.6] +bombard_high_maint_cost = @[siege_weapons_high_maint_cost * 1.6] + +ballista_recruitment_cost = @[siege_weapons_recruitment_cost] +ballista_low_maint_cost = @[siege_weapons_low_maint_cost] +ballista_high_maint_cost = @[siege_weapons_high_maint_cost] + +cloud_ladder_recruitment_cost = @[siege_weapons_recruitment_cost * 1.1] +cloud_ladder_low_maint_cost = @[siege_weapons_low_maint_cost * 1.1] +cloud_ladder_high_maint_cost = @[siege_weapons_high_maint_cost * 1.1] + +siege_tower_recruitment_cost = @[siege_weapons_recruitment_cost * 1.3] +siege_tower_low_maint_cost = @[siege_weapons_low_maint_cost * 1.3] +siege_tower_high_maint_cost = @[siege_weapons_high_maint_cost * 1.3] + +cannon_recruitment_cost = @[gunpowder_recruitment_cost * 1.6] +cannon_low_maint_cost = @[gunpowder_low_maint_cost * 1.6] +cannon_high_maint_cost = @[gunpowder_high_maint_cost * 1.6] + +### Cultural MAA +huscarls_recruitment_cost = @[heavy_infantry_recruitment_cost * 1.28] +huscarls_low_maint_cost = @[heavy_infantry_low_maint_cost * 1.28] +huscarls_high_maint_cost = @[heavy_infantry_high_maint_cost * 1.28] + +landsknecht_recruitment_cost = @[pikemen_recruitment_cost * 1.2] +landsknecht_low_maint_cost = @[pikemen_low_maint_cost * 1.2] +landsknecht_high_maint_cost = @[pikemen_high_maint_cost * 1.2] + +longbowmen_recruitment_cost = @[archers_recruitment_cost * 1.2] +longbowmen_low_maint_cost = @[archers_low_maint_cost * 1.2] +longbowmen_high_maint_cost = @[archers_high_maint_cost * 1.2] + +goedendag_recruitment_cost = @[skirmisher_recruitment_cost + 0] +goedendag_low_maint_cost = @[skirmisher_low_maint_cost + 0] +goedendag_high_maint_cost = @[skirmisher_high_maint_cost + 0] + +gendarme_recruitment_cost = @[heavy_cavalry_recruitment_cost * 1.2] +gendarme_low_maint_cost = @[heavy_cavalry_low_maint_cost * 1.2] +gendarme_high_maint_cost = @[heavy_cavalry_high_maint_cost * 1.2] + +chasseur_recruitment_cost = @[light_cavalry_recruitment_cost * 1.3] +chasseur_low_maint_cost = @[light_cavalry_low_maint_cost * 1.3] +chasseur_high_maint_cost = @[light_cavalry_high_maint_cost * 1.3] + +picchieri_recruitment_cost = @[pikemen_recruitment_cost * 1.3] +picchieri_low_maint_cost = @[pikemen_low_maint_cost * 1.3] +picchieri_high_maint_cost = @[pikemen_high_maint_cost * 1.3] + +praetorian_recruitment_cost = @[heavy_infantry_recruitment_cost * 2] +praetorian_low_maint_cost = @[heavy_infantry_low_maint_cost * 2] +praetorian_high_maint_cost = @[heavy_infantry_high_maint_cost * 2] + +caballero_recruitment_cost = @[light_cavalry_recruitment_cost + 0] +caballero_low_maint_cost = @[light_cavalry_low_maint_cost * 1.1] +caballero_high_maint_cost = @[light_cavalry_high_maint_cost * 1.1] + +mulaththamun_recruitment_cost = @[light_cavalry_recruitment_cost + 0] +mulaththamun_low_maint_cost = @[light_cavalry_low_maint_cost * 1.1] +mulaththamun_high_maint_cost = @[light_cavalry_high_maint_cost * 1.1] + +paiks_recruitment_cost = @[archers_recruitment_cost * 1.1] +paiks_low_maint_cost = @[archers_low_maint_cost * 1.1] +paiks_high_maint_cost = @[archers_high_maint_cost * 1.1] + +archers_of_the_nile_recruitment_cost = @[archers_recruitment_cost * 1.1] +archers_of_the_nile_low_maint_cost = @[archers_low_maint_cost * 1.1] +archers_of_the_nile_high_maint_cost = @[archers_high_maint_cost * 1.1] + +sahel_rider_recruitment_cost = @[light_cavalry_recruitment_cost + 5] +sahel_rider_low_maint_cost = @[light_cavalry_low_maint_cost * 1.1] +sahel_rider_high_maint_cost = @[light_cavalry_high_maint_cost * 1.1] + +cataphract_recruitment_cost = @[heavy_cavalry_recruitment_cost * 1.3] +cataphract_low_maint_cost = @[heavy_cavalry_low_maint_cost * 1.3] +cataphract_high_maint_cost = @[heavy_cavalry_high_maint_cost * 1.3] + +monaspa_recruitment_cost = @[heavy_cavalry_recruitment_cost * 1.25] +monaspa_low_maint_cost = @[heavy_cavalry_low_maint_cost * 1.25] +monaspa_high_maint_cost = @[heavy_cavalry_high_maint_cost * 1.25] + +hobelar_recruitment_cost = @[light_cavalry_recruitment_cost * 1.1] +hobelar_low_maint_cost = @[light_cavalry_low_maint_cost * 1.1] +hobelar_high_maint_cost = @[light_cavalry_high_maint_cost * 1.1] + +schiltron_recruitment_cost = @[pikemen_recruitment_cost * 1.5] +schiltron_low_maint_cost = @[pikemen_low_maint_cost * 1.5] +schiltron_high_maint_cost = @[pikemen_high_maint_cost * 1.5] + +metsanvartija_recruitment_cost = @[archers_recruitment_cost * 1.1] +metsanvartija_low_maint_cost = @[archers_low_maint_cost * 1.1] +metsanvartija_high_maint_cost = @[archers_high_maint_cost * 1.1] + +horse_archers_recruitment_cost = @[skirmisher_recruitment_cost * 3] +horse_archers_low_maint_cost = @[skirmisher_low_maint_cost * 3] +horse_archers_high_maint_cost = @[skirmisher_high_maint_cost * 3] + +warrior_monks_gold_recruitment_cost = 45 +warrior_monks_piety_recruitment_cost = 200 +warrior_monks_gold_low_maint_cost = 0.1 +warrior_monks_gold_high_maint_cost = 0.3 +warrior_monks_piety_low_maint_cost = 0.2 +warrior_monks_piety_high_maint_cost = 0.6 + +ayyar_recruitment_cost = @[heavy_infantry_recruitment_cost - 15] +ayyar_low_maint_cost = @[heavy_infantry_low_maint_cost * 0.9] +ayyar_high_maint_cost = @[heavy_infantry_high_maint_cost * 0.9] + +mubarizun_recruitment_cost = @[heavy_infantry_recruitment_cost * 1.2] +mubarizun_low_maint_cost = @[heavy_infantry_low_maint_cost * 1.2] +mubarizun_high_maint_cost = @[heavy_infantry_high_maint_cost * 1.2] + +druzhina_recruitment_cost = @[heavy_infantry_recruitment_cost * 1.3] +druzhina_low_maint_cost = @[heavy_infantry_low_maint_cost * 1.3] +druzhina_high_maint_cost = @[heavy_infantry_high_maint_cost * 1.3] + +hussar_recruitment_cost = @[light_cavalry_recruitment_cost * 1.3] +hussar_low_maint_cost = @[light_cavalry_low_maint_cost * 1.3] +hussar_high_maint_cost = @[light_cavalry_high_maint_cost * 1.3] + +horn_warrior_recruitment_cost = @[skirmisher_recruitment_cost + 0] +horn_warrior_low_maint_cost = @[skirmisher_low_maint_cost + 0] +horn_warrior_high_maint_cost = @[skirmisher_high_maint_cost + 0] + +bush_hunter_recruitment_cost = @[archers_recruitment_cost + 0] +bush_hunter_low_maint_cost = @[archers_low_maint_cost * 1.1] +bush_hunter_high_maint_cost = @[archers_high_maint_cost * 1.1] + +shomer_recruitment_cost = @[skirmisher_recruitment_cost + 0] +shomer_low_maint_cost = @[skirmisher_low_maint_cost + 0] +shomer_high_maint_cost = @[skirmisher_high_maint_cost + 0] + +khandayat_recruitment_cost = @[heavy_infantry_recruitment_cost * 1.2] +khandayat_low_maint_cost = @[heavy_infantry_low_maint_cost * 1.2] +khandayat_high_maint_cost = @[heavy_infantry_high_maint_cost * 1.2] + +garudas_recruitment_cost = @[heavy_infantry_recruitment_cost * 1.28] +garudas_low_maint_cost = @[heavy_infantry_low_maint_cost * 1.28] +garudas_high_maint_cost = @[heavy_infantry_high_maint_cost * 1.28] + +mountaineer_recruitment_cost = @[heavy_infantry_recruitment_cost * 1.2] +mountaineer_low_maint_cost = @[heavy_infantry_low_maint_cost * 1.2] +mountaineer_high_maint_cost = @[heavy_infantry_high_maint_cost * 1.2] + +guinea_warrior_recruitment_cost = @[skirmisher_recruitment_cost * 1.2] +guinea_warrior_low_maint_cost = @[skirmisher_low_maint_cost * 1.2] +guinea_warrior_high_maint_cost = @[skirmisher_high_maint_cost * 1.2] + +sarawit_recruitment_cost = @[heavy_infantry_recruitment_cost * 1.2] +sarawit_low_maint_cost = @[heavy_infantry_low_maint_cost * 1.2] +sarawit_high_maint_cost = @[heavy_infantry_high_maint_cost * 1.2] + +abudrar_recruitment_cost = @[skirmisher_recruitment_cost * 1.8] +abudrar_low_maint_cost = @[skirmisher_low_maint_cost * 1.8] +abudrar_high_maint_cost = @[skirmisher_high_maint_cost * 1.8] + +zbrojnosh_recruitment_cost = @[heavy_infantry_recruitment_cost * 1.1] +zbrojnosh_low_maint_cost = @[heavy_infantry_low_maint_cost * 1.1] +zbrojnosh_high_maint_cost = @[heavy_infantry_high_maint_cost * 1.1] + +palace_guards_recruitment_cost = @[heavy_infantry_recruitment_cost * 1.2] +palace_guards_low_maint_cost = @[heavy_infantry_low_maint_cost * 1.2] +palace_guards_high_maint_cost = @[heavy_infantry_high_maint_cost * 1.2] + +shenbigong_recruitment_cost = @[archers_recruitment_cost * 1.75] +shenbigong_low_maint_cost = @[archers_low_maint_cost * 1.75] +shenbigong_high_maint_cost = @[archers_high_maint_cost * 1.75] + +bondi_recruitment_cost = @[pikemen_recruitment_cost * 0.67] +bondi_low_maint_cost = @[pikemen_low_maint_cost * 0.67] +bondi_high_maint_cost = @[pikemen_high_maint_cost * 0.67] + +vigmen_recruitment_cost = @[archers_recruitment_cost * 1.1] +vigmen_low_maint_cost = @[archers_low_maint_cost * 1.1] +vigmen_high_maint_cost = @[archers_high_maint_cost * 1.1] + +varangian_veterans_recruitment_cost = @[heavy_infantry_recruitment_cost * 1.67] +varangian_veterans_low_maint_cost = @[heavy_infantry_low_maint_cost * 1.67] +varangian_veterans_high_maint_cost = @[heavy_infantry_high_maint_cost * 1.67] + +jomsviking_pirates_recruitment_cost = @[skirmisher_recruitment_cost * 1.4] +jomsviking_pirates_low_maint_cost = @[skirmisher_low_maint_cost * 1.4] +jomsviking_pirates_high_maint_cost = @[skirmisher_high_maint_cost * 1.4] + +tawashi_recruitment_cost = @[light_cavalry_recruitment_cost * 1.1] +tawashi_low_maint_cost = @[light_cavalry_low_maint_cost * 1.1] +tawashi_high_maint_cost = @[light_cavalry_high_maint_cost * 1.1] + +ayrudzi_recruitment_cost = @[light_cavalry_recruitment_cost] +ayrudzi_low_maint_cost = @[light_cavalry_low_maint_cost] +ayrudzi_high_maint_cost = @[light_cavalry_high_maint_cost] + +conrois_recruitment_cost = @[heavy_cavalry_recruitment_cost * 0.85] +conrois_low_maint_cost = @[heavy_cavalry_low_maint_cost * 0.85] +conrois_high_maint_cost = @[heavy_cavalry_high_maint_cost * 0.85] + +akritai_recruitment_cost = @[skirmisher_recruitment_cost * 0.9] +akritai_low_maint_cost = @[skirmisher_low_maint_cost * 0.9] +akritai_high_maint_cost = @[skirmisher_high_maint_cost * 0.9] + +skoutatoi_recruitment_cost = @[pikemen_recruitment_cost * 1.1] +skoutatoi_low_maint_cost = @[pikemen_low_maint_cost * 1.1] +skoutatoi_high_maint_cost = @[pikemen_high_maint_cost * 1.1] + +ballistrai_recruitment_cost = @[archers_recruitment_cost * 1.15] +ballistrai_low_maint_cost = @[archers_low_maint_cost * 0.75] +ballistrai_high_maint_cost = @[archers_high_maint_cost * 0.75] + +asawira_recruitment_cost = 300 +asawira_low_maint_cost = 1 +asawira_high_maint_cost = 3 + +fire_lancers_recruitment_cost = @[gunpowder_recruitment_cost] +fire_lancers_low_maint_cost = @[gunpowder_low_maint_cost] +fire_lancers_high_maint_cost = @[gunpowder_high_maint_cost] + +gakgung_archers_recruitment_cost = @[archers_recruitment_cost * 1.2] +gakgung_archers_low_maint_cost = @[archers_low_maint_cost * 1.2] +gakgung_archers_high_maint_cost = @[archers_high_maint_cost * 1.2] + +ballista_elephant_recruitment_cost = @[heavy_cavalry_recruitment_cost * 2.2] +ballista_elephant_low_maint_cost = @[heavy_cavalry_low_maint_cost * 1.4] +ballista_elephant_high_maint_cost = @[heavy_cavalry_high_maint_cost * 1.6] + +pesilat_warriors_recruitment_cost = @[skirmisher_recruitment_cost * 0.9] +pesilat_warriors_low_maint_cost = @[skirmisher_low_maint_cost * 0.9] +pesilat_warriors_high_maint_cost = @[skirmisher_high_maint_cost * 0.9] + +samurai_recruitment_cost = @[heavy_infantry_recruitment_cost * 1.67] +samurai_low_maint_cost = @[heavy_infantry_low_maint_cost * 1.67] +samurai_high_maint_cost = @[heavy_infantry_high_maint_cost * 1.67] + +zhanmadao_infantry_recruitment_cost = @[heavy_infantry_recruitment_cost * 0.95] +zhanmadao_infantry_low_maint_cost = @[heavy_infantry_low_maint_cost * 1.05] +zhanmadao_infantry_high_maint_cost = @[heavy_infantry_high_maint_cost * 1.05] + +burenjia_recruitment_cost = @[heavy_infantry_recruitment_cost - 15] +burenjia_low_maint_cost = @[heavy_infantry_low_maint_cost * 0.9] +burenjia_high_maint_cost = @[heavy_infantry_high_maint_cost * 0.75] + +tiefutu_recruitment_cost = @[heavy_cavalry_recruitment_cost * 1.3] +tiefutu_low_maint_cost = @[heavy_cavalry_low_maint_cost * 1.3] +tiefutu_high_maint_cost = @[heavy_cavalry_high_maint_cost * 1.3] + +black_armor_cavalry_recruitment_cost = @[heavy_cavalry_recruitment_cost * 1.3] +black_armor_cavalry_low_maint_cost = @[heavy_cavalry_low_maint_cost * 1.3] +black_armor_cavalry_high_maint_cost = @[heavy_cavalry_high_maint_cost * 1.3] + +rocket_carts_recruitment_cost = @[archers_recruitment_cost * 1.25] +rocket_carts_low_maint_cost = @[archers_low_maint_cost * 0.9] # uses gunpowder, but also uses less men than archers would +rocket_carts_high_maint_cost = @[archers_high_maint_cost * 0.9] + +### Regional MAA +camel_rider_recruitment_cost = @[light_cavalry_recruitment_cost + 0] +camel_rider_low_maint_cost = @[light_cavalry_low_maint_cost * 0.8] +camel_rider_high_maint_cost = @[light_cavalry_high_maint_cost * 0.8] + +war_elephant_recruitment_cost = @[heavy_cavalry_recruitment_cost * 2] +war_elephant_low_maint_cost = @[heavy_cavalry_low_maint_cost * 1.2] +war_elephant_high_maint_cost = @[heavy_cavalry_high_maint_cost * 1.4] + +guanch_vaulter_recruitment_cost = @[skirmisher_recruitment_cost * 1.2] +guanch_vaulter_low_maint_cost = @[skirmisher_low_maint_cost * 1.2] +guanch_vaulter_high_maint_cost = @[skirmisher_high_maint_cost * 1.2] + +###Accolade MaA + +accolade_skirmisher_recruitment_cost = @[skirmisher_recruitment_cost * 2] +accolade_bowmen_recruitment_cost = @[archers_recruitment_cost * 2] +accolade_crossbowmen_recruitment_cost = @[archers_recruitment_cost * 1.6 * 2] +accolade_pikemen_recruitment_cost = @[pikemen_recruitment_cost * 2] +accolade_heavy_infantry_recruitment_cost = @[heavy_infantry_recruitment_cost * 2] +accolade_light_cavalry_recruitment_cost = @[light_cavalry_recruitment_cost * 2] +accolade_heavy_cavalry_recruitment_cost = @[heavy_cavalry_recruitment_cost * 2] +accolade_camel_rider_recruitment_cost = @[light_cavalry_recruitment_cost * 2] +accolade_siege_weapons_recruitment_cost = @[siege_weapons_recruitment_cost * 2] +accolade_war_elephant_recruitment_cost = @[heavy_cavalry_recruitment_cost * 4] +accolade_horse_archers_recruitment_cost = @[skirmisher_recruitment_cost * 3 * 2] + +varangian_guards_recruitment_cost = @[heavy_infantry_recruitment_cost * 0.8] +varangian_guards_low_maint_cost = @[heavy_infantry_low_maint_cost * 0.8] +varangian_guards_high_maint_cost = @[heavy_infantry_high_maint_cost * 0.8] + +handpicked_faithful_recruitment_cost = @[heavy_infantry_recruitment_cost * 0.75] +handpicked_faithful_low_maint_cost = @[heavy_infantry_low_maint_cost * 0.75] +handpicked_faithful_high_maint_cost = @[heavy_infantry_high_maint_cost * 0.75] + +#MPO + + steppe_raiders_recruitment_cost = @[light_cavalry_recruitment_cost * 0.9] + steppe_raiders_low_maint_cost = @[light_cavalry_low_maint_cost * 0.9] + steppe_raiders_high_maint_cost = @[light_cavalry_high_maint_cost * 0.9] + + heavy_horse_archers_recruitment_cost = @[skirmisher_recruitment_cost * 3.5] + heavy_horse_archers_low_maint_cost = @[skirmisher_low_maint_cost * 3.5] + heavy_horse_archers_high_maint_cost = @[skirmisher_high_maint_cost * 3.5] + + nomad_lancers_recruitment_cost = @[heavy_cavalry_recruitment_cost * 0.95] + nomad_lancers_low_maint_cost = @[heavy_cavalry_low_maint_cost * 0.95] + nomad_lancers_high_maint_cost = @[heavy_cavalry_high_maint_cost * 0.95] + + kheshig_recruitment_cost = @[skirmisher_recruitment_cost * 5] + kheshig_veterans_low_maint_cost = @[skirmisher_low_maint_cost * 5] + kheshig_veterans_high_maint_cost = @[skirmisher_high_maint_cost * 5] + + mangudai_recruitment_cost = @[skirmisher_recruitment_cost * 2.2] + mangudai_low_maint_cost = @[skirmisher_low_maint_cost * 2.2] + mangudai_high_maint_cost = @[skirmisher_high_maint_cost * 2.2] + + cataphract_archers_recruitment_cost = @[heavy_cavalry_recruitment_cost * 1.3] + cataphract_archers_low_maint_cost = @[heavy_cavalry_low_maint_cost * 1.3] + cataphract_archers_high_maint_cost = @[heavy_cavalry_high_maint_cost * 1.3] + + maturkan_warriors_recruitment_cost = @[archers_recruitment_cost * 1.05] + maturkan_warriors_low_maint_cost = @[archers_low_maint_cost * 1.05] + maturkan_warriors_high_maint_cost = @[archers_high_maint_cost * 1.05] + +############## +# AI Weights # +############## + +culture_ai_weight_skirmishers = { + value = -10 + + if = { # Cultures that favours skirmishers + limit = { + culture = { + OR = { + has_cultural_pillar = heritage_baltic + has_cultural_pillar = heritage_ugro_permian + has_cultural_pillar = heritage_balto_finnic + } + } + } + add = 20 + } + if = { # Cultures that dislike skirmishers + limit = { + culture = { + OR = { + has_cultural_pillar = heritage_central_germanic + has_cultural_pillar = heritage_frankish + has_cultural_pillar = heritage_iberian + has_cultural_pillar = heritage_latin + } + } + } + add = -60 + } + + if = { # Cultures with a special MaA of that type should avoid the base version of the unit + limit = { + culture = { + culture_has_skirmisher_maa = yes + } + } + add = -500 + } +} + +culture_ai_weight_archers = { + value = 0 + + if = { # Cultures that favours archers + limit = { + culture = { + OR = { + has_cultural_pillar = heritage_west_germanic + has_cultural_pillar = heritage_brythonic + has_cultural_pillar = heritage_east_african + has_cultural_pillar = heritage_indo_aryan + has_cultural_pillar = heritage_dravidian + has_cultural_pillar = heritage_burman + has_cultural_pillar = heritage_chinese + } + } + } + add = 40 + } + if = { # Cultures that dislike archers + limit = { + OR = { + culture = { has_cultural_pillar = heritage_central_germanic } + culture = { has_cultural_pillar = heritage_frankish } + } + } + add = -60 + } + + if = { # Cultures with a special MaA of that type should avoid the base version of the unit + limit = { + culture = { + culture_has_archer_maa = yes + } + } + add = -500 + } +} + +culture_ai_weight_heavy_infantry = { + value = 0 + + if = { # Cultures that favours heavy infantry + limit = { + culture = { + OR = { + has_cultural_pillar = heritage_central_germanic + has_cultural_pillar = heritage_north_germanic + has_cultural_pillar = heritage_west_germanic + has_cultural_pillar = heritage_east_slavic + } + } + } + add = 40 + } + + if = { # Cultures with a special MaA of that type should avoid the base version of the unit + limit = { + OR = { + culture = { + culture_has_heavy_infantry_maa = yes + } + + # Zhanmadao (China) + vassal_contract_has_flag = celestial_province_military + vassal_contract_has_flag = celestial_province_protectorate + } + } + add = -500 + } +} + +culture_ai_weight_pikemen = { + value = 0 + + if = { # Cultures that favours spearmen + limit = { + OR = { + culture = { has_cultural_pillar = heritage_central_germanic } + culture = { has_cultural_pillar = heritage_latin } + } + } + add = 40 + } + + if = { # Cultures with a special MaA of that type should avoid the base version of the unit + limit = { + culture = { + culture_has_pikemen_maa = yes + } + } + add = -500 + } +} + +culture_ai_weight_light_cavalry = { + value = 20 + + if = { # Cultures that REALLY like light cavalry + limit = { + mpo_can_recruit_nomad_maa_trigger = no + OR = { + culture = { has_cultural_pillar = heritage_iranian } + } + } + add = 80 + } + if = { # Cultures that favours light cavalry + limit = { + mpo_can_recruit_nomad_maa_trigger = no + culture = { + OR = { + has_cultural_pillar = heritage_arabic + has_cultural_pillar = heritage_berber + has_cultural_pillar = heritage_iberian + has_cultural_pillar = heritage_indo_aryan + has_cultural_pillar = heritage_turkic + has_cultural_pillar = heritage_mongolic + } + } + } + add = 40 + } + if = { # Cultures that dislike light cavalry + limit = { + OR = { + culture = { has_cultural_pillar = heritage_central_germanic } + culture = { has_cultural_pillar = heritage_tibetan } + culture = { has_cultural_pillar = heritage_baltic } + culture = { has_cultural_pillar = heritage_burman } + culture = { has_cultural_pillar = heritage_somalian } + } + } + add = -60 + } + + if = { # Cultures with a special MaA of that type should avoid the base version of the unit + limit = { + culture = { + culture_has_light_cavalry_maa = yes + } + } + add = -500 + } + + if = { # Cultures with a preference for Camel Riders should buy those over normal light cavalry + limit = { + culture = { + has_innovation = innovation_war_camels + } + OR = { + culture = { has_cultural_pillar = heritage_arabic } + culture = { has_cultural_pillar = heritage_berber } + } + } + add = -200 + } +} + +culture_ai_weight_heavy_cavalry = { + value = 0 + + if = { # Cultures that REALLY like heavy cavalry + limit = { + mpo_can_recruit_nomad_maa_trigger = no + OR = { + culture = { has_cultural_pillar = heritage_iranian } + + # Steppe cultures + culture = { has_cultural_pillar = heritage_turkic } + culture = { has_cultural_pillar = heritage_mongolic } + } + } + add = 80 + } + if = { # Cultures that favours heavy cavalry + limit = { + mpo_can_recruit_nomad_maa_trigger = no + OR = { + culture = { has_cultural_pillar = heritage_central_germanic } + culture = { has_cultural_pillar = heritage_frankish } + culture = { has_cultural_pillar = heritage_indo_aryan } + } + } + add = 40 + } + if = { # Cultures that dislike heavy cavalry + limit = { + culture = { + OR = { + has_cultural_pillar = heritage_tibetan + has_cultural_pillar = heritage_baltic + has_cultural_pillar = heritage_south_slavic + has_cultural_pillar = heritage_sahelian + has_cultural_pillar = heritage_senegambian + has_cultural_pillar = heritage_west_african + has_cultural_pillar = heritage_yoruba + has_cultural_pillar = heritage_somalian + has_cultural_pillar = heritage_east_african + has_cultural_pillar = heritage_burman + } + } + } + add = -60 + } + + if = { # Cultures with a special MaA of that type should avoid the base version of the unit + limit = { + culture = { + culture_has_heavy_cavalry_maa = yes + } + } + add = -500 + } +} + +culture_ai_weight_camels = { + value = 20 + + if = { # Cultures that favours camel riders + limit = { + OR = { + culture = { has_cultural_pillar = heritage_arabic } + culture = { has_cultural_pillar = heritage_berber } + } + } + add = 80 + } +} + +culture_ai_weight_elephants = { + value = 0 + + if = { # Cultures that favours war elephants + limit = { + OR = { + culture = { has_cultural_pillar = heritage_dravidian } + culture = { has_cultural_pillar = heritage_indo_aryan } + culture = { has_cultural_pillar = heritage_burman } + } + } + add = 60 + } +} + +culture_ai_weight_vigmen = { + value = 60 + + if = { # Cultures that favours heavy infantry + limit = { + any_sub_realm_county = { is_coastal_county = yes } + } + add = 20 + } +} + +counter_synergy_ai_weight_archers = { + value = 0 + if = { + limit = { + number_maa_regiments_of_base_type = { + type = heavy_infantry + value >= 3 + } + NOT = { #no need to add more if i.e. regional or inherited maa of that type already exists + number_maa_regiments_of_base_type = { + type = archers + value >= 1 + } + } + } + add = 60 + } +} + +counter_synergy_ai_weight_pikemen = { + value = 0 + if = { + limit = { + number_maa_regiments_of_base_type = { + type = archers + value >= 3 + } + NOT = { #no need to add more if i.e. regional or inherited maa of that type already exists + number_maa_regiments_of_base_type = { + type = pikemen + value >= 1 + } + } + } + add = 60 + } +} + +counter_synergy_ai_weight_heavy_infantry = { + value = 0 + if = { + limit = { + OR = { + number_maa_regiments_of_base_type = { + type = heavy_cavalry + value >= 3 + } + number_maa_regiments_of_base_type = { + type = light_cavalry + value >= 3 + } + } + NOT = { #no need to add more if i.e. regional or inherited maa of that type already exists + number_maa_regiments_of_base_type = { + type = heavy_infantry + value >= 1 + } + } + } + add = 60 + } +} + +counter_synergy_ai_weight_gunpowder = { + value = 200 # Since these are hard-limited elsewhere, prefer them highly + if = { + limit = { + culture = { has_cultural_era_or_later = culture_era_late_medieval } + number_maa_regiments_of_base_type = { + type = pikemen + value >= 3 + } + NOT = { + number_maa_regiments_of_base_type = { + type = gunpowder + value >= 1 + } + } + } + add = 60 + } + if = { + limit = { + culture = { has_cultural_pillar = heritage_chinese } + } + add = 10 # more gun + } +} + +counter_synergy_ai_weight_light_cavalry = { + value = 0 + if = { + limit = { + number_maa_regiments_of_base_type = { + type = skirmishers + value >= 3 + } + NOT = { #no need to add more if i.e. regional or inherited maa of that type already exists + number_maa_regiments_of_base_type = { + type = light_cavalry + value >= 1 + } + } + } + add = 60 + } +} + +culture_ai_weight_crossbowmen = { + value = counter_synergy_ai_weight_crossbowmen + + if = { # Cultures with a special MaA of that type should avoid the base version of the unit + limit = { + culture = { + culture_has_improved_crossbowmen = yes + } + } + add = -500 + } +} + +counter_synergy_ai_weight_crossbowmen = { + value = counter_synergy_ai_weight_archers + + if = { # They counter heavy cavalry, so less interesting early on + limit = { + current_date < 1150.1.1 + } + add = -100 + } +} + +################### +# Provisions Costs # +################### + +provisions_cost_infantry_cheap = 3 +provisions_cost_infantry_moderate = 7 +provisions_cost_infantry_expensive = 12 +provisions_cost_infantry_bankrupting = 15 + +provisions_cost_cavalry_cheap = 7 +provisions_cost_cavalry_moderate = 15 +provisions_cost_cavalry_expensive = 21 +provisions_cost_cavalry_bankrupting = 30 + +# Generally used for siege weapons & adjacent similar stuff. +## Cheaper than cavalry, as they need less support infrastructure than mounted troops, but more expensive than infantry — tools may not eat but heavy supplies still need transporting, proofing against the elements, etc, whilst hard-to-find engineers may not put up with common grub. +provisions_cost_special_cheap = 6 +provisions_cost_special_moderate = 12 +provisions_cost_special_expensive = 18 +provisions_cost_special_bankrupting = 24 + +############ +# GUN MATH # +############ + +militia_raise_limit_existing_militia_units = { + value = 0 + + every_maa_regiment = { + limit = { + is_maa_type = NEOW_militia + } + add = 1 + } +} + +militia_raise_limit_existing_militia_buildings = { + value = 0 + + every_realm_province = { + limit = { + has_building_or_higher = city_01 + } + if = { + limit = { + has_building_or_higher = city_04 + } + add = militia_building_limit_bonus_4 + } + else_if = { + limit = { + has_building_or_higher = city_03 + } + add = militia_building_limit_bonus_3 + } + else_if = { + limit = { + has_building_or_higher = city_02 + } + add = militia_building_limit_bonus_2 + } + else = { + add = militia_building_limit_bonus_1 + } + } +} + +militia_building_limit_bonus_1 = 1 +militia_building_limit_bonus_2 = 2 +militia_building_limit_bonus_3 = 3 +militia_building_limit_bonus_4 = 4 + +gunpowder_raise_limit_existing_gunpowder_units = { + value = 0 + + every_maa_regiment = { + limit = { + is_personal_maa_regiment = yes + OR = { + is_maa_type = handgunners + is_maa_type = fire_lancers + } + } + add = 1 + } +} + +gunpowder_raise_limit_existing_gunpowder_buildings = { + value = 0 + + every_directly_owned_province = { + limit = { + has_building_or_higher = powder_magazine_01 + } + if = { + limit = { + has_building_or_higher = powder_magazine_07 + } + add = gunpowder_building_limit_bonus_3 + } + else_if = { + limit = { + has_building_or_higher = powder_magazine_04 + } + add = gunpowder_building_limit_bonus_2 + } + else = { + add = gunpowder_building_limit_bonus_1 + } + } + if = { + limit = { + exists = domicile + } + domicile = { + if = { + limit = { + has_domicile_building_or_higher = east_asian_estate_gunpowder_storage_03 + } + add = gunpowder_building_limit_bonus_2 + } + else_if = { + limit = { + has_domicile_building_or_higher = east_asian_estate_gunpowder_storage_01 + } + add = gunpowder_building_limit_bonus_1 + } + } + } +} + +gunpowder_building_limit_bonus_1 = 1 +gunpowder_building_limit_bonus_2 = 2 +gunpowder_building_limit_bonus_3 = 3 diff --git a/gfx/interface/icons/icon_levies.dds b/gfx/interface/icons/icon_levies.dds new file mode 100644 index 00000000..34c6580b --- /dev/null +++ b/gfx/interface/icons/icon_levies.dds @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:8336f693cef4361179f4755ba56e87018a80d43934c332a6624a8a6540b0eb96 +size 19504 diff --git a/localization/english/replace/culture/zz_NEOW_cultural_maa_innovations_l_english.yml b/localization/english/replace/culture/zz_NEOW_cultural_maa_innovations_l_english.yml index a11cc52e..a242d006 100644 --- a/localization/english/replace/culture/zz_NEOW_cultural_maa_innovations_l_english.yml +++ b/localization/english/replace/culture/zz_NEOW_cultural_maa_innovations_l_english.yml @@ -53,5 +53,7 @@ innovation_spahis_desc:0 "A type of cavalry dating back to antediluvian Turkey and France, the Spahi cavalry are adept at mobile warfare in a variety of circumstances." spahis:0 "Spahis" spahis_flavor:1 "#F Spahis are range cavalry, hard to pinned. Supremely well adapted to the hot and mountainous terrain of north Africa and Senegal, they are valuable troops in all manners of terrain.#!" + NEOW_militia:0 "Peasant 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#!"