﻿# called when a war is started.
# same scopes are available in these events as in the CBs' on_declaration, this just fires for all CBs instead of a specific CB.
on_war_started = {
	on_actions = {
		vta_on_war_started
	}
}

vta_on_war_started = {
	effect = {
		# Vassals To Arms Mod - save target_title as new scope
		scope:war = {
			casus_belli = {
				every_target_title = {
					save_scope_as = war_target_title
					scope:war = {
						add_to_variable_list = {
							name = vta_war_target_title
							target = scope:war_target_title
						}
					}
				}
			}
			if = {
				limit = { using_cb = de_jure_cb }
				scope:attacker = {
					every_sub_realm_title = {
						limit = {
							save_temporary_scope_as = de_jure_title
							tier >= tier_duchy
							scope:defender = {
								any_sub_realm_county = {
									target_is_de_jure_liege_or_above = scope:de_jure_title
								}
							}
						}
						save_temporary_scope_as = de_jure_title
						scope:war = {
							add_to_variable_list = {
								name = vta_de_jure_titles
								target = scope:de_jure_title
							}
						}
					}
				}
			}
		}
		
		scope:attacker = {
			# BEGIN: Vassals To Arms Mod
			# Send title claimant an event to join as attacker
			if = {
				limit = {
					exists = scope:claimant
					OR = {
						has_game_rule = vta_rule_attacker
						has_game_rule = vta_rule_both
					}
					scope:claimant = { is_vassal_or_below_of = scope:attacker }
				}
				scope:claimant = { trigger_event = { id = vassals_to_arms.0002 days = 3 } }
			}
			# Send title holder for individual de jure casus belli an invite
			else_if = {
				limit = {
					#exists = scope:war_target_title
					scope:war = {
						OR = {
							using_cb = individual_duchy_de_jure_cb
							using_cb = individual_county_de_jure_cb
						}
					}
					OR = {
						has_game_rule = vta_rule_attacker
						has_game_rule = vta_rule_both
					}
				}
				scope:war = {
					every_in_list = {
						variable = vta_war_target_title
						if = {
							limit = {
								duchy = { is_title_created = yes }
								duchy = { holder = { is_vassal_or_below_of = scope:attacker } }
								NOT = { duchy = { holder = scope:attacker } }
							}
							duchy = {
								save_scope_as = dejure_target
								holder = {
									trigger_event = { id = vassals_to_arms.0002 days = 3 }
								}
							}
						}
						else_if = {
							limit = {
								kingdom = { is_title_created = yes }
								kingdom = { holder = { is_vassal_or_below_of = scope:attacker } }
								NOT = { kingdom = { holder = scope:attacker } }
							}
							kingdom = {
								save_scope_as = dejure_target
								holder = {
									trigger_event = { id = vassals_to_arms.0002 days = 3 }
								}
							}
						}
					}
				}
			}
			# Send title holder for de jure casus belli an invite
			else_if = {
				limit = {
					scope:war = { using_cb = de_jure_cb }
					OR = {
						has_game_rule = vta_rule_attacker
						has_game_rule = vta_rule_both
					}
				}
				scope:war = {
					every_in_list = {
						variable = vta_de_jure_titles
						limit = {
							exists = this.holder
							holder = { is_vassal_or_below_of = scope:attacker }
						}
						holder = { trigger_event = { id = vassals_to_arms.0002 days = 3 } }
					}
				}
			}
		}
		scope:war = {
			# BEGIN: Vassals To Arms Mod
			if = {
				limit = {
					has_variable_list = vta_war_target_title
					OR = {
						has_game_rule = vta_rule_defender
						has_game_rule = vta_rule_both
					}
				}
				scope:war = {
					every_in_list = {
						variable = vta_war_target_title
						save_scope_as = war_target_title
						# GHW
						if = {
							limit = {
								scope:war = {
									OR = {
										using_cb = undirected_great_holy_war
										using_cb = directed_great_holy_war
									}
								}
							}
							#every_war_defender = {
							every_ruler = {
								limit = {
									is_defender_in_war = scope:war
									is_independent_ruler = yes
								}
								every_vassal_or_below = {
									limit = {
										OR = {
											any_sub_realm_county = {
												target_is_de_jure_liege_or_above = scope:war_target_title
											}
											trigger_if = {
												limit = { exists = scope:war_target_title.holder }
												scope:war_target_title.holder = {
													OR = {
														this = PREV
														is_vassal_or_below_of = PREV
													}
												}
											}
										}
									}
									# Set variables
									save_temporary_scope_as = current
									vta_setup_for_war = {
										WAR = scope:war
										ATTACKER = scope:attacker
										DEFENDER = scope:defender
										CHARACTER = scope:current
										TITLE = scope:war_target_title
										TRIGGER = using_cb
									}
									trigger_event = {
										id = vassals_to_arms.0001
										days = 3
									}
								}
							}
							vta_clean_up = { WAR = scope:war }
						}
						else = {
							scope:defender = {
								every_vassal_or_below = {
									limit = {
										OR = {
											any_sub_realm_county = {
												target_is_de_jure_liege_or_above = scope:war_target_title
											}
											trigger_if = {
												limit = { exists = scope:war_target_title.holder }
												scope:war_target_title.holder = {
													OR = {
														this = PREV
														is_vassal_or_below_of = PREV
													}
												}
											}
										}
									}
									# Set variables
									save_temporary_scope_as = current
									vta_setup_for_war = {
										WAR = scope:war
										ATTACKER = scope:attacker
										DEFENDER = scope:defender
										CHARACTER = scope:current
										TITLE = scope:war_target_title
										TRIGGER = using_cb
									}
									trigger_event = {
										id = vassals_to_arms.0001
										days = 3
									}
								}
							}
							vta_clean_up = { WAR = scope:war }
						}
					}
				}
			}
			# Tribal Subjugation
			else_if = {
				limit = { 
					scope:war = { using_cb = tribal_subjugation_cb }
				}
				scope:defender = {
					every_vassal = {
						# Set variables
						save_temporary_scope_as = current
						vta_setup_for_war = {
							WAR = scope:war
							ATTACKER = scope:attacker
							DEFENDER = scope:defender
							CHARACTER = scope:current
							TITLE = scope:war_target_title
							TRIGGER = using_cb
						}
						trigger_event = {
							id = vassals_to_arms.0001
							days = 3
						}
					}
				}
				vta_clean_up = { WAR = scope:war }
			}
			# De Jure CB
			else_if = {
				limit = { 
					scope:war = {
						using_cb = de_jure_cb
					}
				}
				scope:war = {
					every_in_list = {
						variable = vta_de_jure_titles
						save_temporary_scope_as = de_jure_title
						scope:defender = {
							every_vassal_or_below = {
								limit = {
									any_sub_realm_county = {
										target_is_de_jure_liege_or_above = scope:de_jure_title
									}
								}
								# Set variables
								save_temporary_scope_as = current
								vta_setup_for_war = {
									WAR = scope:war
									ATTACKER = scope:attacker
									DEFENDER = scope:defender
									CHARACTER = scope:current
									TITLE = scope:de_jure_title
									TRIGGER = using_cb
								}
								trigger_event = {
									id = vassals_to_arms.0001
									days = 3
								}
							}
						}
					}
				}
				vta_clean_up = { WAR = scope:war }
			}
			# END: Vassals To Arms Mod
		}
	}
}

