2024-06-26 20:31:17

This commit is contained in:
actions[bot]
2024-06-26 20:31:17 +08:00
parent ed7dc34237
commit ac6195ac46
6808 changed files with 624025 additions and 0 deletions

View File

@@ -0,0 +1,645 @@
#If you change the values loc for az_NSB_border_incident_delay_until_new_incident_180 and az_NSB_border_incident_delay_until_new_incident_120 has to be changed
@border_incident_escalation_countdown = 5
@border_conflict_incident_forgotten_timer = 30
@border_conflict_escalate_to_war_countdown = 45
@border_conflict_time_until_cancelled = 360
# Using BCE values for AI
DH1_yuanzheng_decision_category = {
DH1_yuanzheng_mission = {
icon = border_war
available = {
FROM = {
any_owned_state = {
is_controlled_by = FROM
OR = {
AND = {
OR = {
DH1 = { has_completed_focus = DH1_zhongnanbandao }
is_debug = yes
}
OR = {
is_core_of = BRM
is_core_of = VIN
is_core_of = LAO
is_core_of = SIA
is_core_of = MAL
is_core_of = CAM
}
}
AND = {
OR = {
DH1 = { has_completed_focus = DH1_nanyacidalu }
is_debug = yes
}
OR = {
is_core_of = RAJ
is_core_of = PAK
is_core_of = BAN
state = 320
state = 321
}
}
}
any_neighbor_state = {
is_fully_controlled_by = ROOT
set_temp_variable = { var:attacker_state_temp = id }
has_ROOT_at_least_1_div_in_current_state_scope = yes
hidden_trigger = { NOT = { has_state_flag = border_incident_active } }
}
NOT = { has_state_flag = border_incident_active }
set_temp_variable = { var:defender_state_temp = id }
}
}
}
visible = {
FROM = { exists = yes }
NOT = {
AND = {
has_war_with = FROM
is_ai = yes
}
}
FROM = { has_not_initiated_border_incident_with_ROOT = yes }
FROM = {
NOT = {
is_subject_of = ROOT
}
NOT = {
is_in_faction_with = ROOT
}
}
NOT = {
is_subject_of = FROM
}
OR = {
NOT = { has_border_war_with = FROM }
FROM = {
any_owned_state = {
is_controlled_by = FROM
hidden_trigger = { NOT = { has_state_flag = border_incident_active } }
any_neighbor_state = {
hidden_trigger = { NOT = { has_state_flag = border_incident_active } }
is_fully_controlled_by = ROOT
}
}
}
}
}
# VPI by Yard1
target_trigger = {
exists = yes
}
target_array = neighbors
target_trigger = {
FROM = {
exists = yes }
}
highlight_states = {
highlight_states_trigger = {
OR = {
state = FROM.defender_state_vs_@ROOT
AND = {
is_owned_and_controlled_by = FROM
hidden_trigger = { NOT = { has_state_flag = border_incident_active } }
any_neighbor_state = {
hidden_trigger = { NOT = { has_state_flag = border_incident_active } }
has_ROOT_at_least_1_div_in_current_state_scope = yes
is_fully_controlled_by = ROOT
}
}
}
}
}
ai_will_do = {
base = 0
modifier = {
DH1 = {
has_country_flag = DOH_DH1_kaishiyuanzheng_flag
}
add = 100
}
}
cost = 15
fire_only_once = no
days_remove = @border_incident_escalation_countdown
days_re_enable = 60
war_with_target_on_remove = yes
complete_effect = {
hidden_effect = {
FROM = {
random_owned_controlled_state = {
limit = {
hidden_trigger = { NOT = { has_state_flag = border_incident_active } }
any_neighbor_state = {
hidden_trigger = { NOT = { has_state_flag = border_incident_active } }
has_ROOT_at_least_1_div_in_current_state_scope = yes
is_fully_controlled_by = ROOT
}
}
save_event_target_as = defender_state
set_variable = { FROM.defender_state_vs_@ROOT = id }
set_temp_variable = { defender_state_temp = id }
set_state_flag = border_incident_active
}
}
random_state = {
limit = {
is_fully_controlled_by = ROOT
hidden_trigger = { NOT = { has_state_flag = border_incident_active } }
has_ROOT_at_least_1_div_in_current_state_scope = yes
any_neighbor_state = {
state = var:FROM.defender_state_vs_@ROOT
}
}
save_event_target_as = attacker_state
set_variable = { FROM.attacker_state_vs_@ROOT = id }
set_temp_variable = { attacker_state_temp = id }
set_state_flag = border_incident_active
}
}
FROM = {
country_event = { id = az_NSB_border_incident_defender_warning.1 hours = 1 }
activate_targeted_decision = { target = ROOT decision = az_NSB_border_conflict_incident_warning_defender }
}
}
remove_effect = {
hidden_effect = {
var:FROM.defender_state_vs_@ROOT = {
save_event_target_as = defender_state
}
var:FROM.attacker_state_vs_@ROOT = {
save_event_target_as = attacker_state
}
FROM = {
random_owned_controlled_state = {
limit = {
hidden_trigger = { NOT = { has_state_flag = border_incident_active } }
any_neighbor_state = {
is_fully_controlled_by = ROOT
has_ROOT_at_least_1_div_in_current_state_scope = yes
hidden_trigger = { NOT = { has_state_flag = border_incident_active } }
}
}
set_temp_variable = { defender_state_temp = id }
}
}
random_state = {
limit = {
is_fully_controlled_by = ROOT
hidden_trigger = { NOT = { has_state_flag = border_incident_active } }
has_ROOT_at_least_1_div_in_current_state_scope = yes
any_neighbor_state = {
state = var:FROM.defender_state_vs_@ROOT
}
}
set_temp_variable = { attacker_state_temp = id }
}
}
activate_targeted_decision = { target = FROM decision = az_NSB_escalate_incident_to_border_conflict }
}
}
#Mission for defender warning that a conflict with FROM is coming
az_NSB_border_conflict_incident_warning_defender = {
icon = border_war
allowed = { always = no } #Activated from effect
available = {
hidden_trigger = { always = no }
}
highlight_states = {
highlight_state_targets = {
state = var:defender_state_temp
state = var:ROOT.defender_state_vs_@FROM
}
}
war_with_target_on_timeout = yes
#2
ai_will_do = {
base = 0 #30
modifier = {
}
}
days_mission_timeout = @border_incident_escalation_countdown
fire_only_once = yes
is_good = no
timeout_effect = {
custom_effect_tooltip = escalation_possible_tooltip_for_defender
custom_effect_tooltip = effects_if_border_conflict_is_lost
effect_tooltip = {
# add_threat = 1
add_political_power = -10
var:ROOT.defender_state_vs_@FROM = { FROM = { transfer_state = PREV } }
}
hidden_effect = {
remove_targeted_decision = { target = FROM decision = az_NSB_border_conflict_incident_warning_defender }
activate_targeted_decision = { target = FROM decision = az_NSB_border_conflict_escalation_warning_defender }
}
}
}
#Mission for defender warning FROM can escalate to war at any point is coming
az_NSB_border_conflict_escalation_warning_defender = {
icon = border_war
allowed = { always = no } #Activated from effect
available = {
hidden_trigger = { always = no }
}
highlight_states = {
highlight_state_targets = {
state = var:defender_state_temp
state = var:ROOT.defender_state_vs_@FROM
}
}
war_with_target_on_timeout = yes
#3
ai_will_do = {
base = 0 #30
modifier = {
}
}
days_mission_timeout = @border_conflict_incident_forgotten_timer
fire_only_once = yes
is_good = no
timeout_effect = {
custom_effect_tooltip = from_cannot_escalate
custom_effect_tooltip = effects_if_border_conflict_is_lost
effect_tooltip = {
# add_threat = -1
add_political_power = -10
var:ROOT.defender_state_vs_@FROM = { FROM = { transfer_state = PREV } }
}
}
}
#Mission for attacker to escalate or incident is forgotten
#Decision to escalate incident on border with FROM to border conflict
az_NSB_escalate_incident_to_border_conflict = {
icon = border_war
allowed = { always = no } #Activated from effect
available = {
#var:FROM.attacker_state_vs_@ROOT = {
# is_fully_controlled_by = ROOT
#}
divisions_in_border_state = {
state = var:FROM.attacker_state_vs_@ROOT
border_state = var:FROM.defender_state_vs_@ROOT
size > 0
}
}
highlight_states = {
highlight_state_targets = {
state = var:FROM.attacker_state_vs_@ROOT
}
}
#4
ai_will_do = {
base = 200
modifier = {
}
}
cancel_trigger = {
is_in_faction_with = FROM
}
selectable_mission = yes
fire_only_once = yes #Reactivation handled in effect
days_mission_timeout = @border_conflict_incident_forgotten_timer
timeout_effect = {
custom_effect_tooltip = az_NSB_border_incident_delay_until_new_incident_120
hidden_effect = {
FROM = { remove_targeted_decision = { target = ROOT decision = az_NSB_border_conflict_escalation_warning_defender } }
FROM = {
var:attacker_state_vs_@ROOT = {
clr_state_flag = border_incident_active
}
var:defender_state_vs_@ROOT = {
clr_state_flag = border_incident_active
}
clear_variable = attacker_state_vs_@ROOT
clear_variable = defender_state_vs_@ROOT
}
}
}
complete_effect = {
start_border_war = {
change_state_after_war = no
attacker = {
state = var:FROM.attacker_state_vs_@ROOT
num_provinces = 4
on_win = az_NSB_border_conflict_won_attacker.1
on_lose = az_NSB_border_conflict_lost_attacker.1
on_cancel = az_NSB_border_conflict_canceled_attacker.1
}
defender = {
state = var:FROM.defender_state_vs_@ROOT
num_provinces = 4
on_win = az_NSB_border_conflict_won_defender.1
on_lose = az_NSB_border_conflict_lost_defender.1
on_cancel = az_NSB_border_conflict_canceled_defender.1
}
}
FROM = {
activate_targeted_decision = { target = ROOT decision = az_NSB_border_conflict_escalate_conflict }
activate_targeted_decision = { target = ROOT decision = az_NSB_border_conflict_time_until_cancelled }
}
activate_targeted_decision = { target = FROM decision = az_NSB_border_conflict_escalate_conflict }
activate_targeted_decision = { target = FROM decision = az_NSB_border_conflict_time_until_cancelled }
}
}
#Mission for attacker to win border war against FROM in X days
az_NSB_border_conflict_time_until_cancelled = {
icon = border_war
allowed = { always = no } #Activated from effect
available = {
var:FROM.defender_state_vs_@ROOT = { has_border_war = no }
var:FROM.attacker_state_vs_@ROOT = { has_border_war = no }
}
highlight_states = {
highlight_state_targets = {
state = var:defender_state_temp
state = var:FROM.defender_state_vs_@ROOT
}
}
#5
ai_will_do = {
base = 0 # 100
modifier = {
}
}
days_mission_timeout = @border_conflict_time_until_cancelled
is_good = no
fire_only_once = yes #Reactivation handled in effect
complete_effect = {
}
timeout_effect = {
if = {
limit = { is_border_conflict_defender_vs_FROM = yes }
cancel_border_war = {
defender = var:defender_state_vs_@FROM
attacker = var:attacker_state_vs_@FROM
}
}
else = {
cancel_border_war = {
defender = var:FROM.defender_state_vs_@ROOT
attacker = var:FROM.attacker_state_vs_@ROOT
}
}
hidden_effect = {
remove_targeted_decision = { target = FROM decision = az_NSB_border_conflict_escalate_conflict }
}
}
}
#Decision to escalate conflict further
az_NSB_border_conflict_escalate_conflict = {
icon = decision_generic_ignite_civil_war
allowed = { always = no } #Activated from effect
visible = {
has_border_war_with = FROM
}
highlight_states = {
highlight_state_targets = {
state = var:FROM.attacker_state_vs_@ROOT
state = var:ROOT.defender_state_vs_@FROM
}
}
cost = 70
#6
ai_will_do = {
base = 0 #30
modifier = {
}
}
fire_only_once = yes #Reactivation handled in effect
complete_effect = {
if = {
limit = { is_border_conflict_defender_vs_FROM = yes }
set_border_war_data = {
attacker = var:ROOT.defender_state_vs_@FROM
defender = var:ROOT.defender_state_vs_@FROM
defender_modifier = 0.15
combat_width = 100
}
}
else = {
set_border_war_data = {
attacker = var:FROM.defender_state_vs_@ROOT
defender = var:FROM.defender_state_vs_@ROOT
attacker_modifier = 0.15
combat_width = 100
}
}
FROM = {
set_country_flag = {
flag = az_NSB_border_conflict_escalate_to_war_cooldown_@ROOT
days = @border_conflict_escalate_to_war_countdown
value = 1
}
remove_targeted_decision = { target = ROOT decision = az_NSB_border_conflict_escalate_conflict }
}
set_country_flag = {
flag = az_NSB_border_conflict_escalate_to_war_cooldown_@FROM
days = @border_conflict_escalate_to_war_countdown
value = 1
}
custom_effect_tooltip = in_45_days
activate_targeted_decision = { target = FROM decision = az_NSB_border_conflict_escalate_to_war }
}
}
#Decision to escalate conflict further
az_NSB_border_conflict_escalate_to_war = {
icon = decision_generic_ignite_civil_war
allowed = { always = no } #Activated from effect
visible = {
NOT = { has_country_flag = az_NSB_border_conflict_escalate_to_war_cooldown_@FROM }
has_border_war_with = FROM
}
highlight_states = {
highlight_state_targets = {
state = var:FROM.defender_state_vs_@ROOT
state = var:ROOT.attacker_state_vs_@FROM
}
}
cost = 50
#7
ai_will_do = {
base = 0 #30
modifier = {
}
}
days_remove = 15
fire_only_once = yes #Reactivation handled in effect
war_with_target_on_remove = yes
complete_effect = {
if = {
limit = { is_border_conflict_defender_vs_FROM = yes }
var:ROOT.defender_state_vs_@FROM = { save_event_target_as = their_state }
var:ROOT.attacker_state_vs_@FROM = { save_event_target_as = our_state }
}
else = {
var:FROM.defender_state_vs_@ROOT = { save_event_target_as = our_state }
var:FROM.attacker_state_vs_@ROOT = { save_event_target_as = their_state }
}
FROM = {
country_event = { id = az_NSB_border_conflict_escalate_to_war.1 }
hidden_effect = {
remove_targeted_decision = { target = ROOT decision = az_NSB_border_conflict_escalate_to_war }
}
}
}
remove_effect = {
cancel_border_war = {
dont_fire_events = yes
defender = var:FROM.defender_state_vs_@ROOT
attacker = var:FROM.attacker_state_vs_@ROOT
}
declare_war_on = { target = FROM type = annex_everything }
if = {
limit = { is_border_conflict_defender_vs_FROM = yes }
var:attacker_state_vs_@FROM = {
clr_state_flag = border_incident_active
}
var:defender_state_vs_@FROM = {
clr_state_flag = border_incident_active
}
clear_variable = attacker_state_vs_@FROM
clear_variable = defender_state_vs_@FROM
}
else = {
FROM = {
var:attacker_state_vs_@ROOT = {
clr_state_flag = border_incident_active
}
var:defender_state_vs_@ROOT = {
clr_state_flag = border_incident_active
}
clear_variable = attacker_state_vs_@ROOT
clear_variable = defender_state_vs_@ROOT
}
}
}
}
#Decision to back down from conflict
az_NSB_border_conflict_back_out_of_conflict = {
allowed = { always = no } #Activated from effect
visible = {
has_border_war_with = FROM
}
highlight_states = {
highlight_state_targets = {
state = var:FROM.attacker_state_vs_@ROOT
state = var:ROOT.defender_state_vs_@FROM
}
}
#8
ai_will_do = {
base = 0 #30
modifier = {
}
}
fire_only_once = yes #Reactivation handled in effect
complete_effect = {
if = {
limit = { is_border_conflict_defender_vs_FROM = yes }
finalize_border_war = {
attacker_win = yes
attacker = ROOT.attacker_state_vs_@FROM
defender = ROOT.attacker_state_vs_@FROM
}
}
else = {
finalize_border_war = {
attacker = FROM.attacker_state_vs_@ROOT
defender = FROM.attacker_state_vs_@ROOT
defender_win = yes
}
}
}
}
}