new_mobile_warfare = {
    folder = land

    name = GRAND_DOCTRINE_MOBILE_WARFARE
    description = GRAND_DOCTRINE_MOBILE_WARFARE_DESC
    icon = GFX_doctrine_mobile_warfare_medium
    available = {
        always = yes
    }

    xp_cost = 100
    xp_type = army

    ai_will_do = {
        base = 1

        modifier = {
            factor = 0
            is_major = no
        }
        modifier = {
            factor = 0
            OR = {
                tag = CAN
                tag = NFA
                tag = JAP
                is_russian_tag = yes
                is_chinese_tag = yes
                is_indian_tag = yes
            }
        }
    }

    tracks = {
        infantry
        combat_support
        armor
        operations
    }

    # EFFECTS
	planning_speed = 0.20
	army_speed_factor = 0.10
	enable_tactic = tactic_unexpected_thrust
	

    milestones = {
        {
            #Infantry
	        org_loss_when_moving = -0.15
            land_reinforce_rate = 0.02
            enable_tactic = tactic_delay

            effect = {
                if = {
                    limit = {
                        NOT = {
                            has_variable = infantry_milestone_var
                        }
                    }
                    set_variable = { infantry_milestone_var = 1 }
                }
                else = {
                    add_to_variable = { infantry_milestone_var = 1 }
                }
            }
        }
        {
            #Artillery/Support
	        planning_speed = 0.1
            org_loss_at_low_org_factor = -0.1
            enable_tactic = tactic_overwhelming_fire
            effect = {
                if = {
                    limit = {
                        NOT = {
                            has_variable = support_milestone_var
                        }
                    }
                    set_variable = { support_milestone_var = 1 }
                }
                else = {
                    add_to_variable = { support_milestone_var = 1 }
                }
            }
        }
        {
            #Armor
	        additional_brigade_column_size = 1
            enable_tactic = tactic_blitz

            effect = {
                if = {
                    limit = {
                        NOT = {
                            has_variable = armor_milestone_var
                        }
                    }
                    set_variable = { armor_milestone_var = 1 }
                }
                else = {
                    add_to_variable = { armor_milestone_var = 1 }
                }
            }
        }
        {
            #Operations
	        planning_speed = 0.2
            enable_tactic = tactic_backhand_blow   

            effect = {
                if = {
                    limit = {
                        NOT = {
                            has_variable = operations_milestone_var
                        }
                    }
                    set_variable = { operations_milestone_var = 1 }
                }
                else = {
                    add_to_variable = { operations_milestone_var = 1 }
                }
            }
        }
    }
}
superior_firepower = {
    folder = land

    name = GRAND_DOCTRINE_SUPERIOR_FIREPOWER
    description = GRAND_DOCTRINE_SUPERIOR_FIREPOWER_DESC
    icon = GFX_doctrine_superior_firepower_medium
    available = {
        always = yes
    }

    xp_cost = 100
    xp_type = army

    ai_will_do = {
        base = 1
    }

    tracks = {
        infantry
        combat_support
        armor
        operations
    }

    # EFFECTS
    enable_tactic = tactic_overwhelming_fire
    category_line_artillery = {
        soft_attack = 0.1
    }
    category_support_artillery = {
        soft_attack = 0.05
    }


    milestones = {
        {
            #Infantry
            enable_tactic = tactic_elastic_defense
            supply_consumption_factor = -0.1

            effect = {
                if = {
                    limit = {
                        NOT = {
                            has_variable = infantry_milestone_var
                        }
                    }
                    set_variable = { infantry_milestone_var = 1 }
                }
                else = {
                    add_to_variable = { infantry_milestone_var = 1 }
                }
            }
        }
        {
            #Artillery/Support
            additional_brigade_column_size = 1
            category_support_battalions = {
                max_organisation = 10
            }
            planning_decay_rate_factor = -0.1
            enable_tactic = tactic_barrage

            effect = {
                if = {
                    limit = {
                        NOT = {
                            has_variable = support_milestone_var
                        }
                    }
                    set_variable = { support_milestone_var = 1 }
                }
                else = {
                    add_to_variable = { support_milestone_var = 1 }
                }
            }

        }
        {
            #Armor
            enable_tactic = tactic_delay
            category_army = {
                default_morale = 0.2
            }

            effect = {
                if = {
                    limit = {
                        NOT = {
                            has_variable = armor_milestone_var
                        }
                    }
                    set_variable = { armor_milestone_var = 1 }
                }
                else = {
                    add_to_variable = { armor_milestone_var = 1 }
                }
            }
        }
        {
            #Operations
            enable_tactic = tactic_tactical_withdrawal
            category_army = {
                default_morale = 0.4
            }
            planning_decay_rate_factor = -0.1

            effect = {
                if = {
                    limit = {
                        NOT = {
                            has_variable = operations_milestone_var
                        }
                    }
                    set_variable = { operations_milestone_var = 1 }
                }
                else = {
                    add_to_variable = { operations_milestone_var = 1 }
                }
            }
        }

    }
}

grand_battleplan = {
    folder = land

    name = GRAND_DOCTRINE_GRAND_BATTLEPLAN
    description = GRAND_DOCTRINE_GRAND_BATTLEPLAN_DESC
    icon = GFX_doctrine_grand_battleplan_medium
    available = {
        always = yes
    }

    xp_cost = 100
    xp_type = army

    ai_will_do = {
        base = 1
    }

    tracks = {
        infantry
        combat_support
        armor
        operations
    }

    # EFFECTS
    enable_tactic = tactic_planned_attack
    
    max_planning = 0.1
    command_power_gain = 0.25

    milestones = {
        {
            #Infantry 
            additional_brigade_column_size = 1
            enable_tactic = tactic_elastic_defense
            max_dig_in_factor = 0.05

            effect = {
                if = {
                    limit = {
                        NOT = {
                            has_variable = infantry_milestone_var
                        }
                    }
                    set_variable = { infantry_milestone_var = 1 }
                }
                else = {
                    add_to_variable = { infantry_milestone_var = 1 }
                }
            }
        }
        {
            #Artillery/Support
            coordination_bonus = 0.1
            enable_tactic = tactic_overwhelming_fire

            effect = {
                if = {
                    limit = {
                        NOT = {
                            has_variable = support_milestone_var
                        }
                    }
                    set_variable = { support_milestone_var = 1 }
                }
                else = {
                    add_to_variable = { support_milestone_var = 1 }
                }
            }
        }
        {
            #Armor
            land_reinforce_rate = 0.02
            enable_tactic = tactic_breakthrough
            effect = {
                if = {
                    limit = {
                        NOT = {
                            has_variable = armor_milestone_var
                        }
                    }
                    set_variable = { armor_milestone_var = 1 }
                }
                else = {
                    add_to_variable = { armor_milestone_var = 1 }
                }
            }
            
        }
        {
            #Operations
            coordination_bonus = 0.1
            max_command_power = 30

            effect = {
                if = {
                    limit = {
                        NOT = {
                            has_variable = operations_milestone_var
                        }
                    }
                    set_variable = { operations_milestone_var = 1 }
                }
                else = {
                    add_to_variable = { operations_milestone_var = 1 }
                }
            }
        }
    }
}

mass_assault = {
    folder = land

    name = GRAND_DOCTRINE_MASS_ASSAULT
    description = GRAND_DOCTRINE_MASS_ASSAULT_DESC
    icon = GFX_doctrine_mass_assault_medium
    available = {
        always = yes
    }

    xp_cost = 100
    xp_type = army

    ai_will_do = {
        base = 1
        modifier = {
            factor = 0
            AND = {
                is_russian_tag = no
                is_chinese_tag = no
                is_indian_tag = no
                NOT = {tag = BRA}
                NOT = {tag = WCA}
                NOT = {tag = APG}
                NOT = {tag = JAP}
                NOT = {tag = FRA}
                NOT = {tag = SRI}
                NOT = {
                    AND = {
                        tag = GER
                        has_completed_focus = GER_the_revolt
                    }
                }
            }
        }
    }

    tracks = {
        infantry
        combat_support
        armor
        operations
    }

    # EFFECTS
    no_supply_grace = 48
    out_of_supply_factor = -0.10
    enable_tactic = tactic_relentless_assault
    

    milestones = {
        {
            #Infantry
            enable_tactic = tactic_human_wave_tactics
            additional_brigade_column_size = 1

            effect = {
                if = {
                    limit = {
                        NOT = {
                            has_variable = infantry_milestone_var
                        }
                    }
                    set_variable = { infantry_milestone_var = 1 }
                }
                else = {
                    add_to_variable = { infantry_milestone_var = 1 }
                }
            }
        }
        {
            #Artillery/Support
            enable_tactic = tactic_elastic_defense
            out_of_supply_factor = -0.05
            minimum_training_level = -0.05

            effect = {
                if = {
                    limit = {
                        NOT = {
                            has_variable = support_milestone_var
                        }
                    }
                    set_variable = { support_milestone_var = 1 }
                }
                else = {
                    add_to_variable = { support_milestone_var = 1 }
                }
            }
        }
        {
            #Armor
            land_reinforce_rate = 0.02
            enable_tactic = tactic_overwhelming_fire

            effect = {
                if = {
                    limit = {
                        NOT = {
                            has_variable = armor_milestone_var
                        }
                    }
                    set_variable = { armor_milestone_var = 1 }
                }
                else = {
                    add_to_variable = { armor_milestone_var = 1 }
                }
            }
        }
        {
            #Operations
            enable_tactic = tactic_backhand_blow
            weekly_casualties_war_support = 0.001
            minimum_training_level = -0.05
            dig_in_speed_factor = 0.05

            effect = {
                if = {
                    limit = {
                        NOT = {
                            has_variable = operations_milestone_var
                        }
                    }
                    set_variable = { operations_milestone_var = 1 }
                }
                else = {
                    add_to_variable = { operations_milestone_var = 1 }
                }
            }
        }
    }
}