N3OW/common/decisions/30_court_decisions.txt
2026-05-24 05:01:46 -04:00

394 lines
9.5 KiB
Text

### Pay Homage ###
pay_homage_decision = {
ai_check_interval_by_tier = {
barony = 0
county = 45
duchy = 45
kingdom = 45
empire = 45
hegemony = 0
}
picture = {
trigger = {
NOR = {
government_has_flag = government_is_tribal
government_has_flag = government_is_theocracy
top_liege ?= { government_has_flag = government_is_tribal }
top_liege ?= { government_has_flag = government_is_theocracy }
}
OR = {
culture = { has_cultural_pillar = heritage_byzantine }
top_liege ?= {
OR = {
culture = { has_cultural_pillar = heritage_byzantine }
capital_barony ?= title:b_constantinople
is_roman_emperor_primary_title_trigger = yes
}
}
}
}
reference = "gfx/interface/illustrations/decisions/ep3_cerimonial_decision.dds"
}
picture = {
reference = "gfx/interface/illustrations/decisions/decision_knight_kneeling.dds"
}
decision_group_type = major
cost = {
prestige = standard_activity_base_cost
gold = {
value = 0
if = {
limit = {
exists = scope:pay_homage_gold
scope:pay_homage_gold = yes
has_treasury = no
}
add = medium_gold_value
}
}
treasury = {
value = 0
if = {
limit = {
exists = scope:pay_homage_gold
scope:pay_homage_gold = yes
has_treasury = yes
}
add = medium_gold_value
}
}
}
is_shown = {
is_landed = yes
primary_title.tier >= tier_county
top_liege != this
liege ?= { has_royal_court = yes }
has_dlc_feature = royal_court
OR = {
government_has_flag = government_is_feudal
government_has_flag = government_is_clan
}
NOT = {
culture = { has_cultural_parameter = must_pledge_loyalty_to_liege }
liege = {
culture = { has_cultural_parameter = must_pledge_loyalty_to_liege }
}
}
}
is_valid = {
exists = liege
custom_tooltip = {
text = pay_homage_grace_valid_tt
trigger_if = { # Has not paid homage to this liege before
limit = {
has_variable = pay_homage_grace
exists = liege
}
NOT = { var:pay_homage_grace = liege }
}
}
}
is_valid_showing_failures_only = {
is_available_adult = yes
liege ?= { is_available_adult = yes }
is_at_war_with_liege = no
trigger_if = {
limit = {
is_ai = no
has_royal_court = yes
}
has_spawned_court_events = no # should only be used for human players
}
trigger_if = { # Has not paid homage to this liege before
limit = {
has_variable = pay_homage_grace
exists = liege
}
custom_tooltip = {
text = pay_homage_grace_tt
NOT = { var:pay_homage_grace = liege }
}
}
trigger_if = {
limit = { is_ai = yes }
NOT = {
liege = { has_variable = pay_homage_cooldown }
}
}
}
widget = {
gui = "decision_view_widget_pay_homage"
controller = decision_option_list_controller
decision_to_second_step_button = "PAY_HOMAGE_DECISION_NEXT_STEP_BUTTON"
item = { # Submission
value = pay_homage_submission
is_valid = {}
current_description = pay_homage_submission_desc
localization = pay_homage_decision_option_submission
icon = "gfx/interface/icons/icon_liege.dds"
ai_chance = { # Always likely
value = 50
if = { # Generous vassals want to give gold if they can!
limit = {
ai_greed <= -50
gold >= medium_gold_value
}
add = -50
}
}
}
item = { # Hook
value = pay_homage_hook
is_valid = {
custom_tooltip = { # Liege does not already have a hook
text = pay_homage_hook_tt
NOT = {
liege ?= { has_hook = prev }
}
}
}
current_description = pay_homage_hook_desc
localization = pay_homage_decision_option_hook
icon = "gfx/interface/icons/message_feed/hook.dds"
ai_chance = { # More likely if family
value = 25
if = {
limit = {
liege ?= { is_close_or_extended_family_of = prev }
}
add = 25
}
if = { # Certain AI's really do not want to be indebted
limit = {
OR = {
has_trait = paranoid
has_trait = arrogant
ai_greed >= 50
}
}
add = -50
}
}
}
item = { # Contract
value = pay_homage_contract
is_shown = { government_has_flag = government_is_feudal }
is_valid = {
custom_tooltip = { # Contract can be changed
text = pay_homage_contract_modifiable_tt
vassal_contract_has_modifiable_obligations = yes
}
custom_tooltip = { # Contract not at highest
text = pay_homage_contract_increasable_tt
OR = {
vassal_contract_obligation_level_can_be_increased = feudal_government_taxes
vassal_contract_obligation_level_can_be_increased = feudal_government_levies
}
}
}
current_description = pay_homage_contract_desc
localization = pay_homage_decision_option_contract
icon = "gfx/interface/icons/message_feed/a_catch_all_councillor_icon.dds"
ai_chance = { # More likely if contract is already lenient
value = 10
if = {
limit = {
OR = {
vassal_contract_obligation_level:feudal_government_levies = feudal_levies_low_level
vassal_contract_obligation_level:feudal_government_taxes = feudal_tax_low_level
}
}
add = 40
}
else_if = {
limit = {
OR = {
vassal_contract_obligation_level:feudal_government_levies = feudal_levies_exempt_level
vassal_contract_obligation_level:feudal_government_taxes = feudal_tax_exempt_level
}
}
add = 90
}
if = { # Certain AI's really do not want increased obligations
limit = {
OR = {
has_trait = ambitious
has_trait = arrogant
ai_greed >= 50
}
}
add = -50
}
}
}
item = { # Gold
value = pay_homage_gold
# Can afford gold homage
is_valid = { gold >= medium_gold_value }
current_description = pay_homage_gold_desc
localization = pay_homage_decision_option_gold
icon = "gfx/interface/icons/message_feed/money.dds"
ai_chance = { # More likely if rich
value = 50
if = {
limit = { short_term_gold > major_gold_value }
add = 50
}
if = { # Certain AI's really do not want to part with gold
limit = {
ai_greed >= 50
}
add = -100
}
}
}
}
effect = {
set_variable = {
name = homage_liege_scope
value = liege
}
custom_tooltip = pay_homage_decision_effects
custom_description_no_bullet = { text = pay_homage_gift_warning_effect }
if = { # Gift
limit = { scope:pay_homage_gold = yes }
set_variable = {
name = homage_type
value = flag:homage_gold
}
# used for refunding if travel is canceled mid-way
set_variable = {
name = pay_homage_gold_value
value = medium_gold_value
}
custom_tooltip = pay_homage_decision_effects_gold
}
else_if = { # Hook
limit = { scope:pay_homage_hook = yes }
set_variable = {
name = homage_type
value = flag:homage_hook
}
custom_tooltip = pay_homage_decision_effects_hook
}
else_if = { # Contract
limit = { scope:pay_homage_contract = yes }
set_variable = {
name = homage_type
value = flag:homage_contract
}
if = {
limit = {
vassal_contract_obligation_level:feudal_government_levies < vassal_contract_obligation_level:feudal_government_taxes
vassal_contract_obligation_level_can_be_increased = feudal_government_levies
}
custom_tooltip = pay_homage_decision_effects_contract_levies
}
else_if = {
limit = {
vassal_contract_obligation_level:feudal_government_taxes < vassal_contract_obligation_level:feudal_government_levies
vassal_contract_obligation_level_can_be_increased = feudal_government_taxes
}
custom_tooltip = pay_homage_decision_effects_contract_gold
}
else = {
if = {
limit = { vassal_contract_obligation_level_can_be_increased = feudal_government_taxes }
custom_tooltip = pay_homage_decision_effects_contract_gold
}
else = { custom_tooltip = pay_homage_decision_effects_contract_gold }
}
hidden_effect = { set_subject_contract_modification_blocked = yes }
}
else = { # Submission
set_variable = {
name = homage_type
value = flag:homage_submission
}
}
show_as_tooltip = {
switch = {
trigger = has_trait
shy = { add_stress = minor_stress_impact_gain }
arrogant = { add_stress = minor_stress_impact_gain }
}
}
save_scope_as = homage_vassal
if = {
limit = { exists = liege } # To stop errors
liege = { save_scope_as = homage_liege }
}
if = {
limit = {
liege = {
has_realm_law = uncrowned
}
}
custom_tooltip = pay_homage_uncrowned_tt
}
start_travel_plan = {
destination = liege.capital_province
on_start_on_action = pay_homage_start
on_travel_planner_cancel_on_action = pay_homage_travel_planner_exit
on_arrival_event = pay_homage.9999
on_arrival_destinations = all_but_last
}
}
ai_potential = {
is_at_war = no
}
ai_will_do = {
base = 0
modifier = {
add = 50
prestige > standard_activity_base_cost
}
modifier = { # AI's who can give gold are more likely
add = 50
gold >= medium_gold_value
ai_greed < 50
primary_title.tier > tier_county
}
modifier = {
add = -50
has_relation_rival = liege
}
modifier = {
add = -25
opinion = {
target = liege
value < 0
}
}
modifier = { # Dukes/kings should be more weighted
add = 25
primary_title.tier >= tier_duchy
}
modifier = { # Barons should be less weighted
add = -25
primary_title.tier < tier_county
}
#Unwilling to do it to lieges that are uncrowned
#Makes it less likely vassals will be traveling during coronation
modifier = {
factor = 0
liege = {
has_realm_law = uncrowned
}
}
}
}