
subdue_pope = {
    name = CB_NAME_SUBDUE_POPE
    war_name = WAR_NAME_SUBDUE_POPE
    sprite = 30
    truce_days = 1000
    is_permanent = no

    attacker_can_call_allies = no

    attacker_ai_victory_worth = { factor = -1 }
    attacker_ai_defeat_worth = { factor = 100 }
    defender_ai_victory_worth = { factor = -1 } 
    defender_ai_defeat_worth = { factor = 100 }

    battle_warscore_mult = 2
    def_ticking_war_score_multiplier = 3
    max_attacker_occupation_score = 50
    max_attacker_battle_score = 60
    defender_unoccupied_warscore = yes

    is_valid = {
        ROOT = {
            has_landed_title = e_hre
        }
        FROM = {
            is_theocracy = yes
            has_landed_title = k_papal_state
        }
    }

    on_attacker_leader_death = { end_war = invalid } 

    on_defender_leader_death = { end_war = success } 

    on_success = {
        hidden_effect = {
            event_target:antipope_hre = {
                inherit = FROM
            }
        }
        attacker = {
            remove_trait = excommunicated
            piety = 500
            prestige = 500
            any_vassal = {
                opinion = {
                    name = hre_beat_pope
                    who = ROOT
                }
            }
        }
        defender = {
            custom_tooltip = {
                text = pope_abdicate_hre
            }
            piety = -1000
            prestige = -1000
        }
    }

    on_fail = {
        attacker = {
            piety = -250
            prestige = -500
        }
        defender = {
            piety = 250
            prestige = 500
        }
    }

    on_reverse_demand = {
        attacker = {
            abdicate = yes
            prestige = -2000
            piety = -1000
            transfer_scaled_wealth = {
                to = defender
                value = 4
            }
        }
        defender = {
            prestige = 2000
            piety = 1000
        }
    }
}

ggh_uprising = {
    name = CB_NAME_SAXON_REBELLION_1066
    war_name = WAR_NAME_SAXON_REBELLION_1066
    sprite = 13
    truce_days = 1000

    allow_whitepeace = no
	allowed_to_target_tributaries = no
	can_ask_to_join_war = no
	major_revolt = yes
	can_call_allies = no
	is_permanent = no

    attacker_ai_victory_worth = { factor = -1 }
    attacker_ai_defeat_worth = { factor = 100 }
    defender_ai_victory_worth = { factor = -1 } 
    defender_ai_defeat_worth = { factor = 100 }

    battle_warscore_mult = 1.5
    defender_unoccupied_warscore = no

    is_valid = {
        FROM = {
            has_landed_title = e_hre
        }
    }

    on_attacker_leader_death = { end_war = reverse_demand } 

    on_defender_leader_death = { end_war = invalid }

    on_invalidation = {
        any_attacker = {
            set_defacto_liege = defender
            reverse_opinion = {
                name = opinion_rebel_traitor
                who = defender
            }
        }
    }

    on_success = {
        attacker = {
            abdicate_to = defender
            reverse_imprison = defender
        }

        e_hre = {
            add_law_w_cooldown = investiture_law_1
            add_law_w_cooldown = succession_voting_power_1
            hidden_effect = { #just in case
                add_law = execution_voting_power_1
                add_law = war_voting_power_1
                add_law = banish_voting_power_1
                add_law = revoke_title_voting_power_1
                add_law = imprison_voting_power_1
                add_law = law_voting_power_1
                add_law = grant_title_voting_power_1
            }
        }

        hidden_effect = {
            any_attacker = {
                set_defacto_liege = attacker
            }
        }

        change_variable = {
            which = global_imperial_auth_hre
            value = -10
        }
    }

    on_reverse_demand = {
        any_attacker = {
			show_scope_change = no

			imprison = defender

			hidden_effect = {
				set_defacto_liege = defender
			}
		}

		defender = {
			show_scope_change = no

			reverse_imprison = attacker
		}

        change_variable = {
            which = global_imperial_auth_hre
            value = 5
        }
    }
}

ggh_skirmish = {
    name = CB_NAME_GGH_SKIRMISH
    war_name = WAR_NAME_GGH_SKIRMISH
    sprite = 7
    truce_days = 1825
    is_permanent = yes
    sort_priority = 800

    attacker_ai_victory_worth = { factor = -1 }
    attacker_ai_defeat_worth = { factor = 100 }
    defender_ai_victory_worth = { factor = -1 } 
    defender_ai_defeat_worth = { factor = 100 }

    battle_warscore_mult = 1.5

    can_use = {
        ROOT = {
            top_liege = { has_landed_title = e_hre }
        }
        FROM = {
            top_liege = { has_landed_title = e_hre }
        }
        trigger_if = {
            limit = {
                ROOT = { trait = guelph }
            }
            FROM = { trait = ghibbeline }
        }
        trigger_if = {
            limit = {
                ROOT = { trait = ghibbeline }
            }
            FROM = { trait = guelph }
        }
        has_global_flag = ggh_start
        NOT = { has_global_flag = ggh_end }
    }

    can_use_title = {
        real_tier = COUNT
        FROM = {
            any_realm_province = {
                any_neighbor_province = {
                    has_owner = yes
                    owner = {
                        OR = {
                            character = ROOT
                            is_liege_or_above = ROOT
                        }
                    }
                }
            }
        }
    }

    can_use_gui = {
        ROOT = {
            prestige = 200
        }
        check_variable = {
            which = global_ggh_tension
            value < 90
        }
    }

    is_valid = {
        trigger_if = {
            limit = {
                ROOT = { trait = guelph }
            }
            FROM = { trait = ghibbeline }
        }
        trigger_if = {
            limit = {
                ROOT = { trait = ghibbeline }
            }
            FROM = { trait = guelph }
        }
    }

    on_add = {
        ROOT = {
            prestige = -200
        }
        change_variable = {
            which = global_ggh_tension
            value = 5
        }
    }

    on_success = {
        attacker = {
            prestige = 100
        }
        defender = {
            prestige = -100
        }
        change_variable = {
            which = global_ggh_tension
            value = 2
        }
    }

    on_success_title = {
        usurp_title_plus_barony_if_unlanded = ROOT
    }

    on_fail = {
        attacker = {
            prestige = -100
        }
        defender = {
            prestige = 100
        }
    }

    on_reverse_demand = {
        attacker = {
            prestige = -250
            transfer_scaled_wealth = {
                value = 4
                to = defender
            }
        }
        defender = {
            prestige = 200
        }
        change_variable = {
            which = global_ggh_tension
            value = -2
        }
    }
}

ggh_faction_war = {
    name = CB_NAME_GGH_FACTION_WAR
    war_name = WAR_NAME_GGH_FACTION_WAR
    sprite = 14
    truce_days = 3650
    sort_priority = 10000

    is_permanent = yes
    allow_whitepeace = no
	allowed_to_target_tributaries = no
	can_ask_to_join_war = no
	major_revolt = yes
	can_call_allies = no

    attacker_ai_victory_worth = { factor = -1 }
    attacker_ai_defeat_worth = { factor = 100 }
    defender_ai_victory_worth = { factor = -1 } 
    defender_ai_defeat_worth = { factor = 100 }

    can_use = {
        ROOT = {
            liege = { character = FROM }
            OR = {
                AND = {
                    has_character_flag = guelph_leader
                    e_hre = {
                        holder_scope = { has_character_flag = ghibbeline_leader }
                    }
                }
                AND = {
                    has_character_flag = ghibbeline_leader
                    e_hre = {
                        holder_scope = { has_character_flag = guelph_leader }
                    }
                }
            }
            check_variable = {
                which = global_ggh_tension
                value = 90
            }
        }
    }

    can_use_gui = {
        OR = {
            trait = guelph
            trait = ghibbeline
        }
        check_variable = {
            which = global_ggh_tension
            value = 90
        }
    }

    can_use_title = {
        FROM = {
            title = e_hre
        }
    }

    on_add = {
        set_variable = {
            which = global_ggh_tension
            value = 100
        }
        set_global_flag = ggh_war

        custom_tooltip = {
            text = ggh_cb_tt
            if = {
                limit = {
                    ROOT = { trait = ghibbeline }
                }
                e_hre = {
                    any_vassal = {
                        limit = {
                            trait = ghibbeline
                        }
                        join_attacker_wars = ROOT
                        letter_event = { id = GGH.205 }
                    }
                }
            }
            else_if = {
                limit = {
                    ROOT = { trait = guelph }
                }
                e_hre = {
                    any_vassal = {
                        limit = {
                            trait = guelph
                        }
                        join_attacker_wars = ROOT
                        letter_event = { id = GGH.205 }
                    }
                }
            }
        }
        
    }

    on_success = {
        set_global_flag = ggh_end

        attacker = {
            imprison = defender
            prestige = 1000
        }

        defender = {
            prestige = -500
            abdicate_to = attacker
        }

        if = {
            limit = {
                attacker = { trait = guelph }
            }
            set_global_flag = guelph_victory
            attacker = {
                piety = 250
            }
            e_hre = {
                add_law_w_cooldown = investiture_law_1
            }
        }
        else_if = {
            set_global_flag = ghibbeline_victory
            limit = {
                attacker = { trait = ghibbeline }
            }
            e_hre = {
                add_law_w_cooldown = investiture_law_0
            }
        }

        hidden_effect = {
            attacker = {
                remove_trait = guelph
                remove_trait = ghibbeline
            }
            any_attacker = {
                set_defacto_liege = ROOT
            }
            any_realm_character = {
                limit = {
                    OR = {
                        trait = guelph
                        trait = ghibbeline
                    }
                }
                remove_trait = guelph
                remove_trait = ghibbeline
            }
            any_player = {
                limit = {
                    capital_scope = { region = world_europe_west }
                }
                narrative_event = { id = GGH.300 days = 1}
            }
        }
    }

    on_reverse_demand = {
        attacker = {
            imprison = defender
            prestige = -1000
        }
        defender = {
            prestige = 500
        }

        hidden_effect = {
            remove_trait = guelph
            remove_trait = ghibbeline
            any_realm_character = {
                limit = {
                    OR = {
                        trait = guelph
                        trait = ghibbeline
                    }
                }
                remove_trait = guelph
                remove_trait = ghibbeline
            }
            any_attacker = {
                set_defacto_liege = defender
                imprison = defender
            }
        }
    }

    ai_will_do = {
        factor = 90
    }
}