2024-07-22 23:14:11
All checks were successful
sync / build (push) Successful in 53s

This commit is contained in:
actions[bot]
2024-07-22 23:14:11 +08:00
parent 6a03dad17f
commit a71a95cba8
177 changed files with 44013 additions and 87606 deletions

View File

@@ -4,11 +4,9 @@
@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
icon = border_war
available = {
FROM = {
any_owned_state = {
@@ -16,7 +14,9 @@ DH1_yuanzheng_decision_category = {
OR = {
AND = {
OR = {
DH1 = { has_completed_focus = DH1_zhongnanbandao }
DH1 = {
has_completed_focus = DH1_zhongnanbandao
}
is_debug = yes
}
OR = {
@@ -30,7 +30,9 @@ DH1_yuanzheng_decision_category = {
}
AND = {
OR = {
DH1 = { has_completed_focus = DH1_nanyacidalu }
DH1 = {
has_completed_focus = DH1_nanyacidalu
}
is_debug = yes
}
OR = {
@@ -44,74 +46,100 @@ DH1_yuanzheng_decision_category = {
}
any_neighbor_state = {
is_fully_controlled_by = ROOT
set_temp_variable = { var:attacker_state_temp = id }
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 } }
hidden_trigger = {
NOT = {
has_state_flag = border_incident_active
}
}
}
NOT = {
has_state_flag = border_incident_active
}
set_temp_variable = {
var:defender_state_temp = id
}
NOT = { has_state_flag = border_incident_active }
set_temp_variable = { var:defender_state_temp = id }
}
}
}
visible = {
FROM = { exists = yes }
NOT = {
FROM = {
exists = yes
}
NOT = {
AND = {
has_war_with = FROM
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
}
}
FROM = {
has_not_initiated_border_incident_with_ROOT = yes
}
FROM = {
NOT = {
is_subject_of = ROOT
}
NOT = {
is_subject_of = FROM
is_in_faction_with = ROOT
}
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
}
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 = {
target_trigger = {
exists = yes
}
target_array = neighbors
target_trigger = {
FROM = {
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 } }
hidden_trigger = {
NOT = {
has_state_flag = border_incident_active
}
}
any_neighbor_state = {
hidden_trigger = { NOT = { has_state_flag = border_incident_active } }
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
}
@@ -119,11 +147,10 @@ DH1_yuanzheng_decision_category = {
}
}
}
ai_will_do = {
ai_will_do = {
base = 0
modifier = {
DH1 = {
DH1 = {
has_country_flag = DOH_DH1_kaishiyuanzheng_flag
}
add = 100
@@ -135,192 +162,229 @@ DH1_yuanzheng_decision_category = {
add = 100
}
}
cost = 15
fire_only_once = no
days_remove = @border_incident_escalation_countdown
days_re_enable = 30
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 } }
hidden_trigger = {
NOT = {
has_state_flag = border_incident_active
}
}
any_neighbor_state = {
hidden_trigger = { NOT = { has_state_flag = border_incident_active } }
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_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 } }
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_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 }
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
save_event_target_as = defender_state
}
var:FROM.attacker_state_vs_@ROOT = {
save_event_target_as = attacker_state
save_event_target_as = attacker_state
}
FROM = {
random_owned_controlled_state = {
limit = {
hidden_trigger = { NOT = { has_state_flag = border_incident_active } }
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 } }
hidden_trigger = {
NOT = {
has_state_flag = border_incident_active
}
}
}
}
set_temp_variable = { defender_state_temp = id }
set_temp_variable = {
defender_state_temp = id
}
}
}
random_state = {
limit = {
is_fully_controlled_by = ROOT
hidden_trigger = { NOT = { has_state_flag = border_incident_active } }
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 }
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 = {
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_threat = 1
add_political_power = -10
var:ROOT.defender_state_vs_@FROM = { FROM = { transfer_state = PREV } }
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 }
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
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 = {
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_threat = -1
add_political_power = -10
var:ROOT.defender_state_vs_@FROM = { FROM = { transfer_state = PREV } }
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
allowed = {
always = no
} #Activated from effect
available = {
#var:FROM.attacker_state_vs_@ROOT = {
# is_fully_controlled_by = ROOT
@@ -331,34 +395,32 @@ DH1_yuanzheng_decision_category = {
size > 0
}
}
highlight_states = {
highlight_state_targets = {
state = var:FROM.attacker_state_vs_@ROOT
}
highlight_state_targets = {
state = var:FROM.attacker_state_vs_@ROOT
}
}
#4
#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
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 = {
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
@@ -371,7 +433,6 @@ DH1_yuanzheng_decision_category = {
}
}
}
complete_effect = {
start_border_war = {
change_state_after_war = no
@@ -382,7 +443,6 @@ DH1_yuanzheng_decision_category = {
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
@@ -392,52 +452,61 @@ DH1_yuanzheng_decision_category = {
}
}
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 = 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
}
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
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 = {
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
fire_only_once = yes #Reactivation handled in effect
complete_effect = {
}
timeout_effect = {
if = {
limit = { is_border_conflict_defender_vs_FROM = yes }
limit = {
is_border_conflict_defender_vs_FROM = yes
}
cancel_border_war = {
defender = var:defender_state_vs_@FROM
attacker = var:attacker_state_vs_@FROM
@@ -450,43 +519,41 @@ DH1_yuanzheng_decision_category = {
}
}
hidden_effect = {
remove_targeted_decision = { target = FROM decision = az_NSB_border_conflict_escalate_conflict }
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
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 = {
highlight_state_targets = {
state = var:FROM.attacker_state_vs_@ROOT
state = var:ROOT.defender_state_vs_@FROM
}
}
fire_only_once = yes #Reactivation handled in effect
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 }
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
@@ -508,7 +575,10 @@ DH1_yuanzheng_decision_category = {
days = @border_conflict_escalate_to_war_countdown
value = 1
}
remove_targeted_decision = { target = ROOT decision = az_NSB_border_conflict_escalate_conflict }
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
@@ -516,71 +586,86 @@ DH1_yuanzheng_decision_category = {
value = 1
}
custom_effect_tooltip = in_45_days
activate_targeted_decision = { target = FROM decision = az_NSB_border_conflict_escalate_to_war }
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
allowed = {
always = no
} #Activated from effect
visible = {
NOT = { has_country_flag = az_NSB_border_conflict_escalate_to_war_cooldown_@FROM }
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 = {
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
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 }
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 }
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 }
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 }
declare_war_on = {
target = FROM
type = annex_everything
}
if = {
limit = { is_border_conflict_defender_vs_FROM = yes }
limit = {
is_border_conflict_defender_vs_FROM = yes
}
var:attacker_state_vs_@FROM = {
clr_state_flag = border_incident_active
}
@@ -604,35 +689,32 @@ DH1_yuanzheng_decision_category = {
}
}
}
#Decision to back down from conflict
az_NSB_border_conflict_back_out_of_conflict = {
allowed = { always = no } #Activated from effect
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 = {
highlight_state_targets = {
state = var:FROM.attacker_state_vs_@ROOT
state = var:ROOT.defender_state_vs_@FROM
}
}
fire_only_once = yes #Reactivation handled in effect
#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 }
limit = {
is_border_conflict_defender_vs_FROM = yes
}
finalize_border_war = {
attacker_win = yes
attacker = ROOT.attacker_state_vs_@FROM
@@ -648,4 +730,4 @@ DH1_yuanzheng_decision_category = {
}
}
}
}
}