leader_traits = { ################################## # Common Traits ################################## old_guard = { type = all allowed = { always = no # not gainable } modifier = { experience_gain_factor = -0.25 max_dig_in = 1 } ai_will_do = { factor = 1 } } ################################## # Field Marshal traits. ################################## logistics_wizard = { type = field_marshal gain_xp = { has_combat_modifier = lack_of_supply } cost = 1000 modifier = { supply_consumption_factor = -0.20 } ai_will_do = { factor = 1 } } offensive_doctrine = { type = field_marshal gain_xp = { is_attacker = yes } cost = 1000 modifier = { combat_width_factor = -0.1 } ai_will_do = { factor = 1 } } defensive_doctrine = { type = field_marshal gain_xp = { is_attacker = no } cost = 1000 modifier = { max_dig_in_factor = 0.30 } ai_will_do = { factor = 1 } } fast_planner = { type = field_marshal gain_xp = { NOT = { has_trait = thorough_planner } has_max_planning = no min_planning > 0.1 is_winning = yes } cost = 1000 modifier = { planning_speed = 0.10 } ai_will_do = { factor = 1 } } thorough_planner = { type = field_marshal gain_xp = { NOT = { has_trait = fast_planner } has_max_planning = yes is_winning = yes } cost = 1000 modifier = { max_planning = 0.1 } ai_will_do = { factor = 1 } } organisational_leader = { type = field_marshal gain_xp = { has_reserves = yes #REVISIT: Require more reserves? reserves > 2 is_winning = yes } cost = 1000 modifier = { land_reinforce_rate = 0.02 } ai_will_do = { factor = 1 } } inspirational_leader = { type = field_marshal gain_xp = { less_combat_width_than_opponent = yes is_winning = yes } cost = 1000 modifier = { army_morale_factor = 0.10 } ai_will_do = { factor = 1 } } ################################## # Corps Commander traits. ################################## trickster = { type = corps_commander gain_xp = { OR = { has_flanked_opponent = yes opponent = { has_flanked_opponent = yes } } } cost = 500 modifier = { recon_factor = 0.25 } ai_will_do = { factor = 1 } } winter_specialist = { type = corps_commander gain_xp = { temperature < -10 } cost = 500 modifier = { winter_attrition_factor = -0.5 } ai_will_do = { factor = 1 } } trait_engineer = { type = corps_commander gain_xp = { OR = { has_combat_modifier = fort_attack has_combat_modifier = river_crossing } } cost = 1000 modifier = { river = { attack = 0.1 } } ai_will_do = { factor = 1 } } fortress_buster = { type = corps_commander gain_xp = { OR = { has_combat_modifier = fort_attack dig_in > 10 } } cost = 700 modifier = { fort = { attack = 0.2 } } ai_will_do = { factor = 1 } } panzer_leader = { type = corps_commander gain_xp = { hardness > 0.4 } cost = 700 modifier = { army_armor_speed_factor = 0.05 army_armor_attack_factor = 0.1 } ai_will_do = { factor = 1 } } commando = { type = corps_commander gain_xp = { OR = { temperature < -10 has_combat_modifier = paradrop has_combat_modifier = amphibious_attack } } cost = 700 modifier = { out_of_supply_factor = -0.5 } ai_will_do = { factor = 1 } } desert_fox = { type = corps_commander gain_xp = { is_fighting_in_terrain = desert } cost = 700 modifier = { desert = { movement = 0.05 attack = 0.1 defence = 0.1 } } ai_will_do = { factor = 1 } } swamp_fox = { type = corps_commander gain_xp = { is_fighting_in_terrain = marsh } cost = 700 modifier = { marsh = { movement = 0.05 attack = 0.1 defence = 0.1 } } ai_will_do = { factor = 1 } } trait_mountaineer = { type = corps_commander gain_xp = { is_fighting_in_terrain = mountain } cost = 700 modifier = { mountain = { movement = 0.05 attack = 0.1 defence = 0.1 } } ai_will_do = { factor = 1 } } hill_fighter = { type = corps_commander gain_xp = { is_fighting_in_terrain = hills } cost = 700 modifier = { hills = { movement = 0.05 attack = 0.1 defence = 0.1 } } ai_will_do = { factor = 1 } } jungle_rat = { type = corps_commander gain_xp = { is_fighting_in_terrain = jungle } cost = 700 modifier = { jungle = { movement = 0.05 attack = 0.1 defence = 0.1 } } ai_will_do = { factor = 1 } } ranger = { type = corps_commander gain_xp = { OR = { is_fighting_in_terrain = hills is_fighting_in_terrain = forest } } cost = 1000 modifier = { forest = { movement = 0.05 attack = 0.1 defence = 0.1 } } ai_will_do = { factor = 1 } } urban_assault_specialist = { type = corps_commander gain_xp = { is_fighting_in_terrain = urban } cost = 700 modifier = { urban = { movement = 0.05 attack = 0.1 defence = 0.1 } } ai_will_do = { factor = 1 } } naval_invader = { type = corps_commander gain_xp = { is_amphibious_invasion = yes } cost = 100 modifier = { amphibious_invasion = 0.3 # 30% faster invasions invasion_preparation = -0.3 } ai_will_do = { factor = 1 } } bearer_of_artillery = { type = corps_commander allowed = { always = no # not gainable } modifier = { army_artillery_attack_factor = 0.15 } ai_will_do = { factor = 1 } } ################################## # Naval traits. ################################## old_guard_navy = { type = all allowed = { always = no # not gainable } modifier = { experience_gain_factor = -0.25 } ai_will_do = { factor = 1 } } seawolf = { type = navy gain_xp = { submarine > 0.8 # at least 80% subs } cost = 700 modifier = { navy_submarine_attack_factor = 0.2 # +X% stronger damage for submarines } ai_will_do = { factor = 1 } } blockade_runner = { type = navy allowed = { always = no } modifier = { naval_retreat_chance = 0.2 naval_retreat_speed = 0.25 } ai_will_do = { factor = 1 } } superior_tactician = { type = navy gain_xp = { is_winning = yes } cost = 700 modifier = { ships_at_battle_start = 0.25 } ai_will_do = { factor = 1 } } spotter = { type = navy gain_xp = { # This trigger is not needed as it gets xp from spotting (not by combat) always = no } gain_xp_on_spotting = 10 cost = 700 modifier = { spotting_chance = 0.1 } ai_will_do = { factor = 1 } } fly_swatter = { type = navy gain_xp = { is_fighting_air_units = yes } cost = 700 modifier = { navy_anti_air_attack_factor = 0.1 } ai_will_do = { factor = 1 } } ironside = { type = navy gain_xp = { capital_ship > 0.0 opponent = { capital_ship > 0.0 } } cost = 700 modifier = { navy_capital_ship_defence_factor = 0.1 } ai_will_do = { factor = 1 } } air_controller = { type = navy gain_xp = { has_carrier_airwings_on_mission = yes } cost = 700 modifier = { navy_carrier_air_targetting_factor = 0.1 # Airplanes from carriers has better naval targetting sortie_efficiency = 0.1 } ai_will_do = { factor = 1 } } }