#### COMBAT TACTICS ########################################################### # # NOTE: tactics must start with "tactic_" in their name to work with techs. ############################################################################### phases = { # phase = no is the standard phase close_combat tactical_withdrawal seize_bridge hold_bridge } tactic_basic_attack = { is_attacker = yes trigger = { # combined scope for both country and combatant is_attacker = yes phase = no } active = yes base = 4 picture = attack countered_by = tactic_counterattack attacker = 0.05 } tactic_basic_defend = { is_attacker = no trigger = { is_attacker = no phase = no } active = yes base = 4 picture = defend defender = 0.05 } tactic_counterattack = { # counters basic attack, assault is_attacker = no trigger = { is_attacker = no skill_advantage > 0 phase = no } active = yes base = 4 picture = counterattack defender = 0.25 } tactic_assault = { is_attacker = yes trigger = { is_attacker = yes phase = no } active = yes base = 2 #Revisit ideally this should be more common in urban terrain picture = assault countered_by = tactic_counterattack phase = close_combat #changes phase to close combat attacker = 0.25 #attacker gets a bonus to doing damage } ###close combat tactics here tactic_cc_attack = { is_attacker = yes trigger = { is_attacker = yes phase = close_combat } active = yes base = 4 picture = cc_attack display_phase = close_combat attacker = 0.1 #attacker gets a bonus to doing damage defender = 0.05 } tactic_cc_defend = { is_attacker = no trigger = { is_attacker = no phase = close_combat } active = yes base = 4 picture = cc_defend display_phase = close_combat attacker = 0.05 defender = 0.1 #defender gets a bonus to doing damage } tactic_cc_storm = { is_attacker = yes trigger = { is_attacker = yes phase = close_combat } active = yes base = 2 picture = cc_storm display_phase = close_combat attacker = 0.2 #attacker gets a bonus to doing damage defender = 0.2 } tactic_cc_local_strong_point = { is_attacker = no trigger = { is_attacker = no phase = close_combat } active = yes display_phase = close_combat base = 2 picture = cc_local_strong_point attacker = -0.2 #attacker gets a penalty to doing damage } tactic_cc_withdraw = { is_attacker = yes trigger = { is_attacker = yes phase = close_combat } active = yes base = 1 picture = cc_withdraw display_phase = close_combat phase = no #changes phase to no attacker = -0.05 defender = -0.05 } tactic_encirclement = { is_attacker = yes trigger = { is_attacker = yes phase = no frontage_full = yes has_reserves = yes OR = { skill_advantage > 0 has_trait = panzer_leader has_trait = trickster } } active = yes base = 4 picture = encircle countered_by = tactic_tactical_withdrawal combat_width = 0.5 #increased combat_width attacker = 0.25 defender = 0.05 } tactic_delay = { is_attacker = no trigger = { is_attacker = no phase = no } active = no base = 4 picture = delay countered_by = tactic_shock attacker_movement_speed = -0.25 # attacker = -0.25 defender = -0.15 } tactic_shock = { #counters delay is_attacker = yes trigger = { is_attacker = yes phase = no } active = yes base = 4 picture = shock countered_by = tactic_ambush defender = -0.25 } tactic_tactical_withdrawal = { #counters encirclement is_attacker = no trigger = { is_attacker = no phase = no OR = { skill_advantage > 0 has_trait = trickster } } active = yes base = 4 picture = withdraw phase = tactical_withdrawal combat_width = -0.25 attacker = -0.25 defender = -0.05 } ###tactical withdrawal tactics tactic_tw_attack = { is_attacker = yes trigger = { is_attacker = yes phase = tactical_withdrawal } base = 4 picture = tw_attack display_phase = tactical_withdrawal combat_width = -0.25 attacker = -0.25 defender = -0.1 } tactic_tw_defend = { is_attacker = no trigger = { is_attacker = no phase = tactical_withdrawal } base = 4 picture = tw_defend display_phase = tactical_withdrawal combat_width = -0.25 attacker = -0.3 defender = -0.05 } tactic_tw_chase = { is_attacker = yes trigger = { is_attacker = yes phase = tactical_withdrawal } base = 4 picture = tw_chase display_phase = tactical_withdrawal combat_width = -0.25 attacker = -0.15 defender = -0.05 } tactic_tw_evade = { is_attacker = no trigger = { is_attacker = no phase = tactical_withdrawal } base = 4 picture = tw_evade display_phase = tactical_withdrawal combat_width = -0.25 attacker = -0.4 defender = -0.1 } tactic_tw_intercept = { is_attacker = yes trigger = { is_attacker = yes phase = tactical_withdrawal } base = 4 picture = tw_intercept display_phase = tactical_withdrawal phase = no attacker = -0.05 defender = -0.1 } tactic_breakthrough = { #counters ambush is_attacker = yes trigger = { is_attacker = yes phase = no OR = { hardness > 0.5 skill_advantage > 1 } } active = no base = 4 picture = breakthrough countered_by = tactic_backhand_blow attacker_movement_speed = 0.5 attacker = 0.25 defender = -0.15 } tactic_ambush = { #counters shock is_attacker = no trigger = { is_attacker = no phase = no OR = { skill_advantage > 1 skill > 2 has_trait = trickster } } active = yes base = 4 picture = ambush countered_by = tactic_breakthrough attacker = -0.25 } tactic_blitz = { is_attacker = yes trigger = { is_attacker = yes hardness > 0.5 phase = no OR = { skill > 2 has_trait = panzer_leader skill_advantage > 1 } } active = no base = 4 picture = blitz countered_by = tactic_elastic_defense attacker_movement_speed = 0.5 attacker = 0.15 defender = -0.15 } tactic_elastic_defense = { #counters blitz is_attacker = no trigger = { is_attacker = no phase = no OR = { has_trait = defensive_doctrine skill > 2 } } active = no base = 4 picture = elastic_defence attacker_movement_speed = -0.25 attacker = -0.15 defender = 0.10 } tactic_backhand_blow = { #counters breakthrough is_attacker = no trigger = { is_attacker = no phase = no OR = { skill > 4 AND = { has_trait = defensive_doctrine skill > 3 } } } base = 4 picture = backhand_blow attacker_movement_speed = -0.3 attacker = -0.2 defender = 0.25 } tactic_seize_bridge = { is_attacker = yes trigger = { is_attacker = yes has_combat_modifier = river_crossing phase = no OR = { skill > 3 AND = { has_trait = offensive_doctrine skill > 2 } } } base = 2 picture = seize_bridge phase = seize_bridge attacker_movement_speed = 0.1 combat_width = -0.25 attacker = 0.2 defender = -0.05 } tactic_attacker_sb_hold = { is_attacker = yes trigger = { is_attacker = yes phase = seize_bridge } base = 4 picture = attacker_sb_hold display_phase = seize_bridge combat_width = -0.25 attacker = 0.2 } tactic_attacker_sb_skillful_defence = { is_attacker = yes trigger = { is_attacker = yes phase = seize_bridge skill > 4 } base = 4 picture = attacker_sb_skillful_defence display_phase = seize_bridge combat_width = -0.25 attacker = 0.2 defender = -0.1 } tactic_defender_sb_assault = { is_attacker = no trigger = { is_attacker = no phase = seize_bridge } base = 4 picture = defender_sb_assault display_phase = seize_bridge combat_width = -0.25 defender = -0.05 } tactic_defender_sb_reckless_assault = { is_attacker = no trigger = { is_attacker = no phase = seize_bridge skill < 3 } base = 4 picture = defender_sb_reckless_assault display_phase = seize_bridge combat_width = -0.25 attacker = 0.25 defender = -0.1 } tactic_defender_sb_retake_bridge = { is_attacker = no trigger = { is_attacker = no phase = seize_bridge OR = { skill > 2 has_trait = trickster } } countered_by = tactic_attacker_sb_skillful_defence phase = hold_bridge base = 4 picture = defender_sb_retake_bridge display_phase = seize_bridge combat_width = -0.25 attacker = 0.1 defender = -0.05 } tactic_hold_bridge = { is_attacker = no trigger = { has_combat_modifier = river_crossing is_attacker = no phase = no OR = { skill > 2 has_trait = defensive_doctrine } } base = 2 picture = tactic_hold_bridge phase = hold_bridge attacker_movement_speed = 0.1 combat_width = -0.25 attacker = 0.2 defender = -0.05 } tactic_attacker_hb_attack = { is_attacker = yes trigger = { is_attacker = yes phase = hold_bridge } base = 4 picture = attacker_hb_attack display_phase = hold_bridge combat_width = -0.25 attacker = 0.1 } tactic_attacker_hb_rush = { is_attacker = yes trigger = { is_attacker = yes phase = hold_bridge skill > 4 } base = 4 picture = attacker_hb_rush display_phase = hold_bridge combat_width = -0.25 attacker = 0.2 } tactic_attacker_hb_storm = { is_attacker = yes trigger = { is_attacker = yes phase = hold_bridge } base = 2 picture = attacker_hb_storm display_phase = hold_bridge countered_by = tactic_defender_hb_skillful_defence phase = seize_bridge combat_width = -0.25 attacker = 0.2 defender = 0.05 } tactic_defender_hb_hold = { is_attacker = no trigger = { is_attacker = no phase = hold_bridge skill < 3 } base = 2 picture = defender_hb_hold display_phase = hold_bridge combat_width = -0.25 attacker = 0.2 defender = -0.1 } tactic_defender_hb_skillful_defence = { is_attacker = no trigger = { is_attacker = no phase = hold_bridge OR = { skill > 2 has_trait = trickster } } base = 2 picture = defender_hb_skillful_defence display_phase = hold_bridge combat_width = -0.25 attacker = 0.1 defender = 0.05 } tactic_guerrilla_tactics = { #People's army defender tactic. also for German volksturm branch. is_attacker = no trigger = { is_attacker = no phase = no OR = { skill > 2 has_trait = trickster } } active = no base = 4 picture = tactic_guerrilla_tactics combat_width = -0.5 attacker = -0.7 defender = -0.6 } tactic_human_wave_tactics = { #People's army attacker tactic is_attacker = yes trigger = { is_attacker = yes phase = no frontage_full = yes has_reserves = yes } active = no base = 4 picture = tactic_human_wave_tactics combat_width = 0.5 attacker = 0.1 defender = 0.1 } tactic_banzai_charge = { #Special Japan attacker tactic is_attacker = yes trigger = { tag = JAP is_attacker = yes phase = no } active = yes countered_by = tactic_overwhelming_fire base = 4 picture = tactic_banzai_charge attacker_movement_speed = 0.1 attacker = 0.25 defender = 0.1 } tactic_infantry_charge = { #GBP -> Infantry attacker tactic is_attacker = yes trigger = { is_attacker = yes phase = no } active = no base = 4 picture = tactic_infantry_charge attacker = 0.1 defender = -0.05 } tactic_planned_attack = { #GBP -> Armor attacker tactic is_attacker = yes trigger = { is_attacker = yes phase = no } active = no base = 4 picture = tactic_planned_attack attacker = 0.15 } tactic_relentless_assault = { #Deep battle attacker tactic is_attacker = yes trigger = { is_attacker = yes phase = no } active = no base = 4 picture = tactic_relentless_assault attacker_movement_speed = 0.15 attacker = 0.2 defender = 0.05 } tactic_unexpected_thrust = { #Mobile warfare attacker tactic is_attacker = yes trigger = { is_attacker = yes phase = no } active = no base = 4 picture = tactic_unexpected_thrust attacker_movement_speed = 0.15 attacker = 0.15 } tactic_overwhelming_fire = { # Counters Banzai charge is_attacker = no trigger = { is_attacker = no phase = no } active = no base = 2 picture = tactic_overwhelming_fire attacker = -0.1 defender = 0.1 } tactic_barrage = { #Superior firepower attacker tactic is_attacker = yes trigger = { is_attacker = yes phase = no } active = no base = 4 picture = tactic_barrage attacker = 0.1 defender = -0.2 }