4864 lines
100 KiB
Text
4864 lines
100 KiB
Text
|
|
###################
|
||
|
|
# SCHEME VALUES #
|
||
|
|
###################
|
||
|
|
# Determines the scheme progress loss when declining to execute it at full progress
|
||
|
|
decline_execution_setback = -3
|
||
|
|
major_decline_execution_setback = -5
|
||
|
|
|
||
|
|
# Failed scheme setback values
|
||
|
|
scheme_failed_outcome_setback_value = -7
|
||
|
|
|
||
|
|
#Scheme progress changes, 10% of current phase duration max in days
|
||
|
|
scheme_progress_gain = {
|
||
|
|
value = scope:scheme.scheme_phase_duration
|
||
|
|
subtract = scope:scheme.scheme_progress
|
||
|
|
multiply = 0.1
|
||
|
|
}
|
||
|
|
scheme_progress_loss = {
|
||
|
|
value = scope:scheme.scheme_phase_duration
|
||
|
|
subtract = scope:scheme.scheme_progress
|
||
|
|
multiply = -0.1
|
||
|
|
}
|
||
|
|
# Secrecy changes
|
||
|
|
minor_secrecy_loss = -0.05
|
||
|
|
medium_secrecy_loss = -0.1
|
||
|
|
major_secrecy_loss = -0.15
|
||
|
|
minor_secrecy_gain = 0.05
|
||
|
|
medium_secrecy_gain = 0.1
|
||
|
|
major_secrecy_gain = 0.15
|
||
|
|
|
||
|
|
#Watchful Modifier
|
||
|
|
watchful_modifier_duration = 730
|
||
|
|
|
||
|
|
|
||
|
|
# EVENT COOLDOWN FOR VARIOUS SCHEMES
|
||
|
|
default_scheme_event_cooldown_duration_value = 730
|
||
|
|
spy_scheme_event_cooldown_time = 365
|
||
|
|
|
||
|
|
# BRIBES
|
||
|
|
bribe_value = {
|
||
|
|
value = 50
|
||
|
|
if = {
|
||
|
|
limit = {
|
||
|
|
scope:recipient.ai_greed > 0
|
||
|
|
}
|
||
|
|
add = {
|
||
|
|
value = scope:recipient.ai_greed
|
||
|
|
divide = 4
|
||
|
|
}
|
||
|
|
}
|
||
|
|
|
||
|
|
if = {
|
||
|
|
limit = {
|
||
|
|
scope:recipient = { is_playable_character = yes }
|
||
|
|
scope:recipient.primary_title.tier < tier_duchy
|
||
|
|
}
|
||
|
|
multiply = 2
|
||
|
|
}
|
||
|
|
else_if = {
|
||
|
|
limit = {
|
||
|
|
scope:recipient.primary_title.tier >= tier_duchy
|
||
|
|
}
|
||
|
|
multiply = 3
|
||
|
|
}
|
||
|
|
|
||
|
|
if = {
|
||
|
|
limit = {
|
||
|
|
scope:recipient = {
|
||
|
|
liege = scope:actor
|
||
|
|
is_theocratic_lessee = yes
|
||
|
|
}
|
||
|
|
scope:actor.primary_title.tier < tier_duchy
|
||
|
|
}
|
||
|
|
multiply = 2
|
||
|
|
}
|
||
|
|
else_if = {
|
||
|
|
limit = {
|
||
|
|
scope:recipient = {
|
||
|
|
liege = scope:actor
|
||
|
|
is_theocratic_lessee = yes
|
||
|
|
}
|
||
|
|
scope:actor.primary_title.tier >= tier_duchy
|
||
|
|
}
|
||
|
|
multiply = 3
|
||
|
|
}
|
||
|
|
|
||
|
|
if = {
|
||
|
|
limit = {
|
||
|
|
scope:actor = {
|
||
|
|
exists = dynasty
|
||
|
|
dynasty = {
|
||
|
|
has_dynasty_perk = guile_legacy_2
|
||
|
|
}
|
||
|
|
}
|
||
|
|
}
|
||
|
|
multiply = 0.5
|
||
|
|
}
|
||
|
|
|
||
|
|
if = {
|
||
|
|
limit = {
|
||
|
|
scope:recipient = {
|
||
|
|
OR = {
|
||
|
|
AND = {
|
||
|
|
is_playable_character = yes
|
||
|
|
government_has_flag = government_is_tribal
|
||
|
|
}
|
||
|
|
AND = {
|
||
|
|
is_playable_character = no
|
||
|
|
exists = liege
|
||
|
|
liege = {
|
||
|
|
government_has_flag = government_is_tribal
|
||
|
|
}
|
||
|
|
}
|
||
|
|
AND = {
|
||
|
|
is_playable_character = no
|
||
|
|
exists = host
|
||
|
|
host = {
|
||
|
|
government_has_flag = government_is_tribal
|
||
|
|
}
|
||
|
|
}
|
||
|
|
}
|
||
|
|
}
|
||
|
|
}
|
||
|
|
multiply = 0.25
|
||
|
|
min = 5
|
||
|
|
}
|
||
|
|
|
||
|
|
# Discount from BP2 imaginary friend story cycle ending
|
||
|
|
if = {
|
||
|
|
limit = {
|
||
|
|
scope:actor = { has_character_modifier = imaginary_friend_mad_modifier }
|
||
|
|
}
|
||
|
|
multiply = 0.5
|
||
|
|
min = 5
|
||
|
|
}
|
||
|
|
}
|
||
|
|
|
||
|
|
greater_bribe_value = {
|
||
|
|
value = { add = bribe_value }
|
||
|
|
multiply = 2
|
||
|
|
}
|
||
|
|
|
||
|
|
prestige_bribe_value = {
|
||
|
|
# Base.
|
||
|
|
value = medium_prestige_value
|
||
|
|
# Your tier.
|
||
|
|
add = {
|
||
|
|
value = 25
|
||
|
|
multiply = scope:actor.highest_held_title_tier
|
||
|
|
}
|
||
|
|
# Their tier.
|
||
|
|
add = {
|
||
|
|
value = 25
|
||
|
|
multiply = scope:recipient.highest_held_title_tier
|
||
|
|
}
|
||
|
|
}
|
||
|
|
|
||
|
|
influence_bribe_value = {
|
||
|
|
# Base.
|
||
|
|
value = major_influence_value
|
||
|
|
# Your tier.
|
||
|
|
add = {
|
||
|
|
value = 25
|
||
|
|
multiply = scope:actor.highest_held_title_tier
|
||
|
|
}
|
||
|
|
# Their tier.
|
||
|
|
add = {
|
||
|
|
value = 25
|
||
|
|
multiply = scope:recipient.highest_held_title_tier
|
||
|
|
}
|
||
|
|
}
|
||
|
|
|
||
|
|
piety_bribe_value = {
|
||
|
|
# Base.
|
||
|
|
value = medium_piety_value
|
||
|
|
# Your tier.
|
||
|
|
add = {
|
||
|
|
value = 25
|
||
|
|
multiply = scope:actor.highest_held_title_tier
|
||
|
|
}
|
||
|
|
# Their tier.
|
||
|
|
add = {
|
||
|
|
value = 25
|
||
|
|
multiply = scope:recipient.highest_held_title_tier
|
||
|
|
}
|
||
|
|
}
|
||
|
|
|
||
|
|
#GIFTS
|
||
|
|
gift_value = {
|
||
|
|
value = 50
|
||
|
|
if = {
|
||
|
|
limit = {
|
||
|
|
scope:recipient.ai_greed > 0
|
||
|
|
}
|
||
|
|
add = {
|
||
|
|
value = scope:recipient.ai_greed
|
||
|
|
divide = 4
|
||
|
|
}
|
||
|
|
}
|
||
|
|
|
||
|
|
if = {
|
||
|
|
limit = {
|
||
|
|
scope:recipient = { is_playable_character = yes }
|
||
|
|
scope:recipient.primary_title.tier < tier_duchy
|
||
|
|
}
|
||
|
|
multiply = 2
|
||
|
|
}
|
||
|
|
else_if = {
|
||
|
|
limit = {
|
||
|
|
scope:recipient.primary_title.tier >= tier_duchy
|
||
|
|
}
|
||
|
|
multiply = 3
|
||
|
|
}
|
||
|
|
|
||
|
|
if = {
|
||
|
|
limit = {
|
||
|
|
scope:recipient = {
|
||
|
|
liege = scope:actor
|
||
|
|
is_theocratic_lessee = yes
|
||
|
|
}
|
||
|
|
scope:actor.primary_title.tier < tier_duchy
|
||
|
|
}
|
||
|
|
multiply = 2
|
||
|
|
}
|
||
|
|
else_if = {
|
||
|
|
limit = {
|
||
|
|
scope:recipient = {
|
||
|
|
liege = scope:actor
|
||
|
|
is_theocratic_lessee = yes
|
||
|
|
}
|
||
|
|
scope:actor.primary_title.tier >= tier_duchy
|
||
|
|
}
|
||
|
|
multiply = 3
|
||
|
|
}
|
||
|
|
|
||
|
|
if = {
|
||
|
|
limit = {
|
||
|
|
scope:actor = {
|
||
|
|
exists = dynasty
|
||
|
|
dynasty = {
|
||
|
|
has_dynasty_perk = fp1_adventure_legacy_2
|
||
|
|
}
|
||
|
|
}
|
||
|
|
}
|
||
|
|
multiply = 0.5
|
||
|
|
}
|
||
|
|
|
||
|
|
if = {
|
||
|
|
limit = {
|
||
|
|
scope:recipient = {
|
||
|
|
OR = {
|
||
|
|
AND = {
|
||
|
|
is_playable_character = yes
|
||
|
|
government_has_flag = government_is_tribal
|
||
|
|
}
|
||
|
|
AND = {
|
||
|
|
is_playable_character = no
|
||
|
|
exists = liege
|
||
|
|
liege = {
|
||
|
|
government_has_flag = government_is_tribal
|
||
|
|
}
|
||
|
|
}
|
||
|
|
AND = {
|
||
|
|
is_playable_character = no
|
||
|
|
exists = host
|
||
|
|
host = {
|
||
|
|
government_has_flag = government_is_tribal
|
||
|
|
}
|
||
|
|
}
|
||
|
|
}
|
||
|
|
}
|
||
|
|
}
|
||
|
|
multiply = 0.25
|
||
|
|
min = 5
|
||
|
|
}
|
||
|
|
}
|
||
|
|
|
||
|
|
bribe_acceptance_value = {
|
||
|
|
value = 10
|
||
|
|
if = {
|
||
|
|
limit = {
|
||
|
|
root.ai_greed > 0
|
||
|
|
}
|
||
|
|
add = root.ai_greed
|
||
|
|
}
|
||
|
|
divide = 5
|
||
|
|
ceiling = yes
|
||
|
|
multiply = 5
|
||
|
|
}
|
||
|
|
|
||
|
|
sway_opinion_increase_per_success = 25
|
||
|
|
sway_max_value = 100
|
||
|
|
|
||
|
|
# Claim Throne values
|
||
|
|
claim_throne_discovered_prestige_loss = {
|
||
|
|
value = major_prestige_loss
|
||
|
|
}
|
||
|
|
claim_throne_discovered_failure_prestige_loss = {
|
||
|
|
value = medium_prestige_loss
|
||
|
|
}
|
||
|
|
|
||
|
|
# Vengeful Trait Scheme Success Chance Modifier
|
||
|
|
vengeful_scheme_success_chance_modifier = 15
|
||
|
|
|
||
|
|
court_scheme_max_compatability_value = {
|
||
|
|
value = 30
|
||
|
|
if = {
|
||
|
|
limit = {
|
||
|
|
culture = {
|
||
|
|
has_cultural_parameter = ai_romance_scheme_increase
|
||
|
|
}
|
||
|
|
}
|
||
|
|
add = 70
|
||
|
|
}
|
||
|
|
}
|
||
|
|
|
||
|
|
##################################################
|
||
|
|
# Schemes 2.5
|
||
|
|
|
||
|
|
##################################################
|
||
|
|
# Misc Values
|
||
|
|
|
||
|
|
# Script copy of a define for easier, more legible referencing.
|
||
|
|
opportunity_cap_value = { value = define:NScheme|SCHEME_MAX_OPPORTUNITIES }
|
||
|
|
|
||
|
|
##################################################
|
||
|
|
# Parameter Values
|
||
|
|
|
||
|
|
# Control values for scheme parameters
|
||
|
|
## There's gonna be a lot of dumb letter abbreviations here, just go with it: the script will _not_ be readable by mortal eyes if we write the whole thing out.
|
||
|
|
## t1 is slow.
|
||
|
|
## t2 is average.
|
||
|
|
## t3 is fast.
|
||
|
|
### Base Progress Goal
|
||
|
|
#### Each one is the _base_ length for a phase to take for schemes of that tempo, before speed modifiers are applied.
|
||
|
|
t3_base_phase_length_value = 70
|
||
|
|
t2_base_phase_length_value = 120
|
||
|
|
t1_base_phase_length_value = 170
|
||
|
|
### Base Maximum Success
|
||
|
|
#### Max success before agents.
|
||
|
|
t1_base_max_success_value = 20
|
||
|
|
t2_base_max_success_value = 30
|
||
|
|
t3_base_max_success_value = 40
|
||
|
|
### Speed per Skill Point
|
||
|
|
#### How many days we knock off phase duration per relevant skill point of the scheme owner.
|
||
|
|
t3_spsp_owner_value = -0.5
|
||
|
|
t2_spsp_owner_value = -0.25
|
||
|
|
t1_spsp_owner_value = -0.1
|
||
|
|
### Speed per Target Skill Point
|
||
|
|
#### How many days we add on to phase duration per relevant skill point of the scheme target.
|
||
|
|
t3_spsp_target_value = 0.3
|
||
|
|
t2_spsp_target_value = 0.1
|
||
|
|
t1_spsp_target_value = 0.05
|
||
|
|
### Spymaster Speed per Skill Point
|
||
|
|
#### How many days we knock off phase duration per relevant skill point of the scheme owner's spymaster.
|
||
|
|
t3_spsp_owner_spy_value = -0.3
|
||
|
|
t2_spsp_owner_spy_value = -0.15
|
||
|
|
t1_spsp_owner_spy_value = -0.05
|
||
|
|
### Target Spymaster Speed per Skill Point
|
||
|
|
#### How many days we add on to phase duration per relevant skill point of the scheme target's spymaster.
|
||
|
|
t3_spsp_target_spy_value = 0.3
|
||
|
|
t2_spsp_target_spy_value = 0.1
|
||
|
|
t1_spsp_target_spy_value = 0.05
|
||
|
|
### Success Chance Growth per Skill Point
|
||
|
|
#### How much success chance per phase per relevant skill point of the scheme owner.
|
||
|
|
laamp_contract_scgpsp_value = 0.7
|
||
|
|
t3_scgpsp_value = 0.6
|
||
|
|
t2_scgpsp_value = 0.45
|
||
|
|
t1_scgpsp_value = 0.3
|
||
|
|
|
||
|
|
# Scheme speed standardisation modifiers.
|
||
|
|
## Speeding up a scheme.
|
||
|
|
microscopic_scheme_phase_duration_bonus_value = -2
|
||
|
|
miniscule_scheme_phase_duration_bonus_value = -5
|
||
|
|
minor_scheme_phase_duration_bonus_value = -10
|
||
|
|
medium_scheme_phase_duration_bonus_value = -20
|
||
|
|
major_scheme_phase_duration_bonus_value = -40
|
||
|
|
massive_scheme_phase_duration_bonus_value = -60
|
||
|
|
monumental_scheme_phase_duration_bonus_value = -100
|
||
|
|
## Slowing down a scheme.
|
||
|
|
microscopic_scheme_phase_duration_malus_value = 2
|
||
|
|
miniscule_scheme_phase_duration_malus_value = 5
|
||
|
|
minor_scheme_phase_duration_malus_value = 10
|
||
|
|
medium_scheme_phase_duration_malus_value = 20
|
||
|
|
major_scheme_phase_duration_malus_value = 40
|
||
|
|
massive_scheme_phase_duration_malus_value = 60
|
||
|
|
monumental_scheme_phase_duration_malus_value = 100
|
||
|
|
|
||
|
|
##################################################
|
||
|
|
# Success Chance Values
|
||
|
|
|
||
|
|
scheme_phases_till_max_success_value = {
|
||
|
|
value = max_scheme_success_chance
|
||
|
|
subtract = scheme_success_chance
|
||
|
|
#TODO_CD_EP3; get the actual scheme growth value from Code, this is just keyed to murder.
|
||
|
|
divide = {
|
||
|
|
value = scheme_owner.intrigue
|
||
|
|
multiply = 0.3
|
||
|
|
}
|
||
|
|
ceiling = yes
|
||
|
|
}
|
||
|
|
|
||
|
|
# What % intercept chance does this thing grant against murder schemes?
|
||
|
|
## We don't use these for court positions, generally, because we want more fine-tuning per court position & between their breakpoints.
|
||
|
|
add_intercept_repeatable_minor_value = 2
|
||
|
|
add_intercept_repeatable_medium_value = 5
|
||
|
|
add_intercept_repeatable_major_value = 10
|
||
|
|
add_intercept_repeatable_massive_value = 20
|
||
|
|
|
||
|
|
scheme_intercept_repeatable_chance_total_value = {
|
||
|
|
# Court positions.
|
||
|
|
## Remember with all of these: it's an aggregate, so if you give one court position (_especially_ one that you can have multiple of) too much, then you may render a character unmurderable.
|
||
|
|
## Bodyguard.
|
||
|
|
### Has subsumed the shieldmaiden/varangian variants: means we don't have to iterate over courtiers.
|
||
|
|
if = {
|
||
|
|
limit = { employs_court_position = bodyguard_court_position }
|
||
|
|
every_court_position_holder = {
|
||
|
|
type = bodyguard_court_position
|
||
|
|
limit = { bodyguard_will_actually_do_job_trigger = yes }
|
||
|
|
# Now we add aptitude per breakpoint, starting highest to lowest.
|
||
|
|
## Excellent
|
||
|
|
if = {
|
||
|
|
limit = { aptitude:bodyguard_court_position >= 4 }
|
||
|
|
add = 10
|
||
|
|
}
|
||
|
|
## Good
|
||
|
|
else_if = {
|
||
|
|
limit = { aptitude:bodyguard_court_position = 3 }
|
||
|
|
add = 8
|
||
|
|
}
|
||
|
|
## Average
|
||
|
|
else_if = {
|
||
|
|
limit = { aptitude:bodyguard_court_position = 2 }
|
||
|
|
add = 6
|
||
|
|
}
|
||
|
|
## Poor
|
||
|
|
else_if = {
|
||
|
|
limit = { aptitude:bodyguard_court_position = 1 }
|
||
|
|
add = 4
|
||
|
|
}
|
||
|
|
## Terrible
|
||
|
|
else = { add = 2 }
|
||
|
|
}
|
||
|
|
}
|
||
|
|
## Food taster.
|
||
|
|
if = {
|
||
|
|
limit = { employs_court_position = food_taster_court_position }
|
||
|
|
every_court_position_holder = {
|
||
|
|
type = food_taster_court_position
|
||
|
|
limit = { foodtaster_will_actually_do_job_trigger = yes }
|
||
|
|
# Now we add aptitude per breakpoint, starting highest to lowest.
|
||
|
|
## Excellent
|
||
|
|
if = {
|
||
|
|
limit = { aptitude:food_taster_court_position >= 4 }
|
||
|
|
add = 8
|
||
|
|
}
|
||
|
|
## Good
|
||
|
|
else_if = {
|
||
|
|
limit = { aptitude:food_taster_court_position = 3 }
|
||
|
|
add = 6
|
||
|
|
}
|
||
|
|
## Average
|
||
|
|
else_if = {
|
||
|
|
limit = { aptitude:food_taster_court_position = 2 }
|
||
|
|
add = 4
|
||
|
|
}
|
||
|
|
## Poor
|
||
|
|
else_if = {
|
||
|
|
limit = { aptitude:food_taster_court_position = 1 }
|
||
|
|
add = 2
|
||
|
|
}
|
||
|
|
## Terrible
|
||
|
|
else = { add = 1 }
|
||
|
|
}
|
||
|
|
}
|
||
|
|
## Cupbearer.
|
||
|
|
if = {
|
||
|
|
limit = { employs_court_position = cupbearer_court_position }
|
||
|
|
every_court_position_holder = {
|
||
|
|
type = cupbearer_court_position
|
||
|
|
limit = { cupbearer_will_actually_do_job_trigger = yes }
|
||
|
|
# Now we add aptitude per breakpoint, starting highest to lowest.
|
||
|
|
## Excellent
|
||
|
|
if = {
|
||
|
|
limit = { aptitude:cupbearer_court_position >= 4 }
|
||
|
|
add = 3
|
||
|
|
}
|
||
|
|
## Good
|
||
|
|
else_if = {
|
||
|
|
limit = { aptitude:cupbearer_court_position = 3 }
|
||
|
|
add = 2
|
||
|
|
}
|
||
|
|
## Average
|
||
|
|
else_if = {
|
||
|
|
limit = { aptitude:cupbearer_court_position = 2 }
|
||
|
|
add = 1
|
||
|
|
}
|
||
|
|
## Poor
|
||
|
|
else_if = {
|
||
|
|
limit = { aptitude:cupbearer_court_position = 1 }
|
||
|
|
add = 0
|
||
|
|
}
|
||
|
|
## Terrible
|
||
|
|
else = { add = 0 }
|
||
|
|
}
|
||
|
|
}
|
||
|
|
# Traits.
|
||
|
|
## Gluttonous.
|
||
|
|
if = {
|
||
|
|
limit = { has_trait = gluttonous }
|
||
|
|
add = add_intercept_repeatable_minor_value
|
||
|
|
}
|
||
|
|
# Character modifiers.
|
||
|
|
## Personal guard.
|
||
|
|
if = {
|
||
|
|
limit = { has_character_modifier = spouse_martial_personal_guard_modifier }
|
||
|
|
add = add_intercept_repeatable_major_value
|
||
|
|
}
|
||
|
|
|
||
|
|
# You can never have more than a certain amount of intercept value.
|
||
|
|
max = 75
|
||
|
|
}
|
||
|
|
|
||
|
|
##################################################
|
||
|
|
# Secrecy Values
|
||
|
|
|
||
|
|
# Cap secrecy for the scheme_owner to a sensible maximum value so that you can't single-handedly cover up for every gossip in the world.
|
||
|
|
secrecy_skill_contribution_max_value = 40
|
||
|
|
|
||
|
|
secrecy_base_value = {
|
||
|
|
add = {
|
||
|
|
value = 20
|
||
|
|
desc = BASE
|
||
|
|
}
|
||
|
|
# Reduce by the target's scheme discovery chance, if appropriate.
|
||
|
|
if = {
|
||
|
|
limit = {
|
||
|
|
# Scheme has to exist already.
|
||
|
|
exists = this
|
||
|
|
# We gotta be facing a character.
|
||
|
|
is_scheme_target_type = character
|
||
|
|
# Do they have a spymaster...
|
||
|
|
scheme_target_character.cp:councillor_spymaster ?= {
|
||
|
|
# ... who is performing the appropriate task...
|
||
|
|
is_performing_council_task = task_disrupt_schemes
|
||
|
|
NOR = {
|
||
|
|
# ... who _isn't_ the scheme owner...
|
||
|
|
this = scope:owner
|
||
|
|
# ... or an agent in the scheme.
|
||
|
|
save_temporary_scope_as = char_temp
|
||
|
|
root = {
|
||
|
|
any_scheme_agent_character = { this = scope:char_temp }
|
||
|
|
}
|
||
|
|
}
|
||
|
|
}
|
||
|
|
}
|
||
|
|
add = {
|
||
|
|
value = scope:target.cp:councillor_spymaster.spymaster_disrupt_schemes_total_modifier
|
||
|
|
multiply = -1
|
||
|
|
desc = secrecy.scheme_owner.spymaster.disrupt_schemes
|
||
|
|
}
|
||
|
|
}
|
||
|
|
}
|
||
|
|
secrecy_agent_count_reduction_value = {
|
||
|
|
add = {
|
||
|
|
value = {
|
||
|
|
every_scheme_agent_slot = {
|
||
|
|
limit = {
|
||
|
|
is_filled = yes
|
||
|
|
NOT = { agent_slot_has_contribution_type = secrecy }
|
||
|
|
}
|
||
|
|
add = -10
|
||
|
|
}
|
||
|
|
}
|
||
|
|
desc = secrecy.num_agents
|
||
|
|
}
|
||
|
|
}
|
||
|
|
|
||
|
|
# How many months, by default, before a scheme can be discovered in the monthly check?
|
||
|
|
## Schemes can always be discovered when they attempt conclusion.
|
||
|
|
## Only referenced in one spot in script, but we use a script value regardless so that we can refer to it in loc.
|
||
|
|
secrecy_grace_period_value = 6
|
||
|
|
|
||
|
|
# How many extra months of grace you get from the Court of Shadows lifestyle perk.
|
||
|
|
court_of_shadows_extra_secrecy_grace_value = 4
|
||
|
|
|
||
|
|
# The actual value checked for starting grace on a scheme — any extra bonuses can be fed in here (though you can also adjust it on the fly by modifying the variable set on the scheme itself).
|
||
|
|
secrecy_grace_character_total_starting_value = {
|
||
|
|
value = secrecy_grace_period_value
|
||
|
|
scope:scheme_launcher ?= {
|
||
|
|
if = {
|
||
|
|
limit = { has_perk = court_of_shadows_perk }
|
||
|
|
add = court_of_shadows_extra_secrecy_grace_value
|
||
|
|
}
|
||
|
|
}
|
||
|
|
}
|
||
|
|
|
||
|
|
# Calc if the next scheme breach we get would destroy the scoped scheme.
|
||
|
|
scheme_breaches_about_to_hit_limit_value = {
|
||
|
|
value = maximum_scheme_breaches
|
||
|
|
add = -1
|
||
|
|
}
|
||
|
|
|
||
|
|
##################################################
|
||
|
|
# Interaction Values
|
||
|
|
|
||
|
|
# Standardised scheme starter package values, so that we can fake it for the widget.
|
||
|
|
scheme_starter_bonus_success_chance_value = 20
|
||
|
|
scheme_starter_bonus_secrecy_value = 25
|
||
|
|
scheme_starter_bonus_speed_value = -20
|
||
|
|
|
||
|
|
scheme_starter_duration_value = 8
|
||
|
|
scheme_starter_success_chance_cost_value = { value = major_gold_value }
|
||
|
|
scheme_starter_speed_cost_value = { value = medium_gold_value }
|
||
|
|
scheme_starter_secrecy_cost_value = { value = minor_gold_value }
|
||
|
|
|
||
|
|
##################################################
|
||
|
|
# Agent Values
|
||
|
|
|
||
|
|
# How many agents can a character have in a scheme before they're forced to make a final try?
|
||
|
|
character_max_scheme_agents_value = 5
|
||
|
|
|
||
|
|
# How many agent slots are filled in the scheme atm?
|
||
|
|
current_scheme_filled_agent_slots_value = {
|
||
|
|
every_scheme_agent_slot = {
|
||
|
|
limit = { is_filled = yes }
|
||
|
|
add = 1
|
||
|
|
}
|
||
|
|
}
|
||
|
|
|
||
|
|
# How much do we reduce the weight on agent types that we already have in a scheme?
|
||
|
|
weight_down_existing_agent_slots_value = 0.5
|
||
|
|
|
||
|
|
# What're the upper and lower constraints for how much contribution an agent can give?
|
||
|
|
## Because we don't want any agent to insta-boost you too high.
|
||
|
|
agent_scheme_contributor_max = 50
|
||
|
|
## Aaaaaand it's just way less of a headache of edge cases if they're never literally zero.
|
||
|
|
agent_scheme_contributor_min = 1
|
||
|
|
|
||
|
|
|
||
|
|
# Standard base value for agent contribution.
|
||
|
|
## Atm, we only really use this for calculating degree of closeness bonuses for agents in hostile schemes.
|
||
|
|
## Nothing stopping it from being updated for something like the inverse, though: best friends better at the plan_surprise_party scheme or whatever.
|
||
|
|
### Control values.
|
||
|
|
scheme_agent_general_bonuses_contribution_score_bonus_max_value = agent_max_skill_value
|
||
|
|
scheme_agent_general_bonuses_contribution_score_bonus_massive_value = 30
|
||
|
|
scheme_agent_general_bonuses_contribution_score_bonus_major_value = 20
|
||
|
|
scheme_agent_general_bonuses_contribution_score_bonus_medium_value = 10
|
||
|
|
scheme_agent_general_bonuses_contribution_score_bonus_minor_value = 5
|
||
|
|
scheme_agent_general_bonuses_contribution_score_bonus_miniscule_value = 2
|
||
|
|
### Actual value.
|
||
|
|
scheme_agent_general_bonuses_contribution_score_value = {
|
||
|
|
# First off, are we dealing with a hostile scheme against a character or a title?
|
||
|
|
if = {
|
||
|
|
limit = {
|
||
|
|
exists = scope:target
|
||
|
|
trigger_if = {
|
||
|
|
limit = {
|
||
|
|
scope:scheme ?= {
|
||
|
|
is_scheme_target_type = character
|
||
|
|
is_scheme_category = hostile
|
||
|
|
}
|
||
|
|
}
|
||
|
|
scope:scheme ?= {
|
||
|
|
scheme_target_character = { save_temporary_scope_as = target_character }
|
||
|
|
}
|
||
|
|
}
|
||
|
|
trigger_else_if = {
|
||
|
|
limit = {
|
||
|
|
scope:scheme ?= {
|
||
|
|
is_scheme_target_type = title
|
||
|
|
is_scheme_category = hostile
|
||
|
|
}
|
||
|
|
}
|
||
|
|
scope:scheme ?= {
|
||
|
|
scheme_target_title.holder ?= { save_temporary_scope_as = target_character }
|
||
|
|
}
|
||
|
|
}
|
||
|
|
trigger_else = { always = no }
|
||
|
|
}
|
||
|
|
# Do we have a scope:target_character to play with now?
|
||
|
|
if = {
|
||
|
|
limit = { exists = scope:target_character }
|
||
|
|
# Degree of closeness to target.
|
||
|
|
if = {
|
||
|
|
limit = {
|
||
|
|
scope:target_character = {
|
||
|
|
is_ruler = yes
|
||
|
|
cp:councillor_spymaster ?= prev
|
||
|
|
}
|
||
|
|
}
|
||
|
|
add = {
|
||
|
|
add = scheme_agent_general_bonuses_contribution_score_bonus_max_value
|
||
|
|
desc = "SCHEME_AGENT_IS_SPYMASTER_IN_MY_COURT"
|
||
|
|
}
|
||
|
|
}
|
||
|
|
else_if = {
|
||
|
|
limit = {
|
||
|
|
scope:target_character = { is_ruler = no }
|
||
|
|
has_council_position = councillor_spymaster
|
||
|
|
scope:target_character.liege.cp:councillor_spymaster ?= this
|
||
|
|
}
|
||
|
|
add = {
|
||
|
|
add = scheme_agent_general_bonuses_contribution_score_bonus_max_value
|
||
|
|
desc = "SCHEME_AGENT_IS_SPYMASTER"
|
||
|
|
}
|
||
|
|
}
|
||
|
|
else_if = {
|
||
|
|
limit = { is_spouse_of = scope:target_character }
|
||
|
|
add = {
|
||
|
|
add = scheme_agent_general_bonuses_contribution_score_bonus_massive_value
|
||
|
|
desc = "SCHEME_AGENT_IS_SPOUSE"
|
||
|
|
}
|
||
|
|
}
|
||
|
|
else_if = {
|
||
|
|
limit = { has_relation_best_friend = scope:target_character }
|
||
|
|
add = {
|
||
|
|
add = scheme_agent_general_bonuses_contribution_score_bonus_massive_value
|
||
|
|
desc = "SCHEME_AGENT_IS_BEST_FRIEND"
|
||
|
|
}
|
||
|
|
}
|
||
|
|
else_if = {
|
||
|
|
limit = { has_relation_ward = scope:target_character }
|
||
|
|
add = {
|
||
|
|
add = scheme_agent_general_bonuses_contribution_score_bonus_massive_value
|
||
|
|
desc = "SCHEME_AGENT_IS_GUARDIAN"
|
||
|
|
}
|
||
|
|
}
|
||
|
|
else_if = {
|
||
|
|
limit = { is_diarch_of_target = scope:target_character }
|
||
|
|
add = {
|
||
|
|
add = scheme_agent_general_bonuses_contribution_score_bonus_massive_value
|
||
|
|
desc = "SCHEME_AGENT_IS_DIARCH"
|
||
|
|
}
|
||
|
|
}
|
||
|
|
else_if = {
|
||
|
|
limit = { has_relation_friend = scope:target_character }
|
||
|
|
add = {
|
||
|
|
add = scheme_agent_general_bonuses_contribution_score_bonus_major_value
|
||
|
|
desc = "SCHEME_AGENT_IS_FRIEND"
|
||
|
|
}
|
||
|
|
}
|
||
|
|
else_if = {
|
||
|
|
limit = { is_concubine_of = scope:target_character }
|
||
|
|
add = {
|
||
|
|
add = scheme_agent_general_bonuses_contribution_score_bonus_major_value
|
||
|
|
desc = "SCHEME_AGENT_IS_CONCUBINE"
|
||
|
|
}
|
||
|
|
}
|
||
|
|
else_if = {
|
||
|
|
limit = { has_relation_lover = scope:target_character }
|
||
|
|
add = {
|
||
|
|
add = scheme_agent_general_bonuses_contribution_score_bonus_major_value
|
||
|
|
desc = "SCHEME_AGENT_IS_LOVER"
|
||
|
|
}
|
||
|
|
}
|
||
|
|
else_if = {
|
||
|
|
limit = {
|
||
|
|
has_court_position = court_physician_court_position
|
||
|
|
is_court_position_employer = {
|
||
|
|
court_position = court_physician_court_position
|
||
|
|
who = scope:target_character
|
||
|
|
}
|
||
|
|
}
|
||
|
|
add = {
|
||
|
|
add = scheme_agent_general_bonuses_contribution_score_bonus_major_value
|
||
|
|
desc = "SCHEME_AGENT_IS_COURT_PHYSICIAN"
|
||
|
|
}
|
||
|
|
}
|
||
|
|
else_if = {
|
||
|
|
limit = {
|
||
|
|
has_court_position = food_taster_court_position
|
||
|
|
is_court_position_employer = {
|
||
|
|
court_position = food_taster_court_position
|
||
|
|
who = scope:target_character
|
||
|
|
}
|
||
|
|
}
|
||
|
|
add = {
|
||
|
|
add = scheme_agent_general_bonuses_contribution_score_bonus_major_value
|
||
|
|
desc = "SCHEME_AGENT_IS_FOOD_TASTER"
|
||
|
|
}
|
||
|
|
}
|
||
|
|
else_if = {
|
||
|
|
limit = {
|
||
|
|
has_court_position = cupbearer_court_position
|
||
|
|
is_court_position_employer = {
|
||
|
|
court_position = cupbearer_court_position
|
||
|
|
who = scope:target_character
|
||
|
|
}
|
||
|
|
}
|
||
|
|
add = {
|
||
|
|
add = scheme_agent_general_bonuses_contribution_score_bonus_major_value
|
||
|
|
desc = "SCHEME_AGENT_IS_CUP_BEARER"
|
||
|
|
}
|
||
|
|
}
|
||
|
|
else_if = {
|
||
|
|
limit = {
|
||
|
|
has_court_position = chief_eunuch_court_position
|
||
|
|
is_court_position_employer = {
|
||
|
|
court_position = chief_eunuch_court_position
|
||
|
|
who = scope:target_character
|
||
|
|
}
|
||
|
|
}
|
||
|
|
add = {
|
||
|
|
add = scheme_agent_general_bonuses_contribution_score_bonus_major_value
|
||
|
|
desc = "SCHEME_AGENT_IS_CHIEF_EUNUCH"
|
||
|
|
}
|
||
|
|
}
|
||
|
|
else_if = {
|
||
|
|
limit = {
|
||
|
|
has_court_position = bodyguard_court_position
|
||
|
|
is_court_position_employer = {
|
||
|
|
court_position = bodyguard_court_position
|
||
|
|
who = scope:target_character
|
||
|
|
}
|
||
|
|
}
|
||
|
|
add = {
|
||
|
|
add = scheme_agent_general_bonuses_contribution_score_bonus_major_value
|
||
|
|
desc = "SCHEME_AGENT_IS_BODYGUARD"
|
||
|
|
}
|
||
|
|
}
|
||
|
|
else_if = {
|
||
|
|
limit = {
|
||
|
|
has_court_position = lady_in_waiting_court_position
|
||
|
|
is_court_position_employer = {
|
||
|
|
court_position = lady_in_waiting_court_position
|
||
|
|
who = scope:target_character
|
||
|
|
}
|
||
|
|
}
|
||
|
|
add = {
|
||
|
|
add = scheme_agent_general_bonuses_contribution_score_bonus_minor_value
|
||
|
|
desc = "SCHEME_AGENT_IS_LADY_IN_WAITING"
|
||
|
|
}
|
||
|
|
}
|
||
|
|
else_if = {
|
||
|
|
limit = {
|
||
|
|
is_councillor_of = scope:target_character
|
||
|
|
NOT = { has_council_position = councillor_spymaster }
|
||
|
|
}
|
||
|
|
add = {
|
||
|
|
add = scheme_agent_general_bonuses_contribution_score_bonus_medium_value
|
||
|
|
desc = "SCHEME_AGENT_IS_COUNCILLOR"
|
||
|
|
}
|
||
|
|
}
|
||
|
|
else_if = {
|
||
|
|
limit = { is_close_family_of = scope:target_character }
|
||
|
|
add = {
|
||
|
|
add = scheme_agent_general_bonuses_contribution_score_bonus_medium_value
|
||
|
|
desc = "SCHEME_AGENT_IS_CLOSE_KIN"
|
||
|
|
}
|
||
|
|
}
|
||
|
|
else_if = {
|
||
|
|
limit = { is_powerful_vassal_of = scope:target_character }
|
||
|
|
add = {
|
||
|
|
add = scheme_agent_general_bonuses_contribution_score_bonus_minor_value
|
||
|
|
desc = "SCHEME_AGENT_IS_POWERFUL_VASSAL"
|
||
|
|
}
|
||
|
|
}
|
||
|
|
else_if = {
|
||
|
|
limit = { is_extended_family_of = scope:target_character }
|
||
|
|
add = {
|
||
|
|
add = scheme_agent_general_bonuses_contribution_score_bonus_minor_value
|
||
|
|
desc = "SCHEME_AGENT_IS_EXTENDED_FAMILY"
|
||
|
|
}
|
||
|
|
}
|
||
|
|
else_if = {
|
||
|
|
limit = {
|
||
|
|
scope:target_character = { is_ruler = yes }
|
||
|
|
is_ruler = yes
|
||
|
|
}
|
||
|
|
add = {
|
||
|
|
add = scheme_agent_general_bonuses_contribution_score_bonus_miniscule_value
|
||
|
|
desc = "SCHEME_AGENT_IS_VASSAL"
|
||
|
|
}
|
||
|
|
}
|
||
|
|
else_if = {
|
||
|
|
limit = {
|
||
|
|
scope:target_character = { is_ruler = no }
|
||
|
|
is_ruler = yes
|
||
|
|
}
|
||
|
|
add = {
|
||
|
|
add = scheme_agent_general_bonuses_contribution_score_bonus_miniscule_value
|
||
|
|
desc = "SCHEME_AGENT_IS_VASSAL_OF_LIEGE"
|
||
|
|
}
|
||
|
|
}
|
||
|
|
# Rivalry boosts an agent's industriousness.
|
||
|
|
if = {
|
||
|
|
limit = { has_relation_nemesis = scope:target_character }
|
||
|
|
add = {
|
||
|
|
add = scheme_agent_general_bonuses_contribution_score_bonus_medium_value
|
||
|
|
desc = "SCHEME_AGENT_IS_NEMESIS"
|
||
|
|
}
|
||
|
|
}
|
||
|
|
else_if = {
|
||
|
|
limit = { has_relation_rival = scope:target_character }
|
||
|
|
add = {
|
||
|
|
add = scheme_agent_general_bonuses_contribution_score_bonus_minor_value
|
||
|
|
desc = "SCHEME_AGENT_IS_RIVAL"
|
||
|
|
}
|
||
|
|
}
|
||
|
|
}
|
||
|
|
}
|
||
|
|
# Otherwise nada.
|
||
|
|
else = { value = 0 }
|
||
|
|
}
|
||
|
|
|
||
|
|
# Agent contribution setup values.
|
||
|
|
# How much can any one of an agent's skills contribute to their score?
|
||
|
|
agent_max_skill_value = 25
|
||
|
|
|
||
|
|
# Ratio of 75% major skill to 25% minor skill.
|
||
|
|
agent_3to1_3_skill_mult_value = 0.75
|
||
|
|
agent_3to1_1_skill_mult_value = 0.25
|
||
|
|
|
||
|
|
# Ratio of 50% between two skills.
|
||
|
|
agent_1to1_1_skill_mult_value = 0.5
|
||
|
|
|
||
|
|
# Ratio of 50% major skill to 25% for two minor skills.
|
||
|
|
agent_2to1to1_2_skill_mult_value = 0.5
|
||
|
|
agent_2to1to1_1_skill_mult_value = 0.25
|
||
|
|
|
||
|
|
# Trait bonus'n'malus tiers.
|
||
|
|
agent_trait_bonus_t3_value = 9
|
||
|
|
agent_trait_bonus_t2_value = 6
|
||
|
|
agent_trait_bonus_t1_value = 3
|
||
|
|
agent_trait_malus_t1_value = -3
|
||
|
|
agent_trait_malus_t2_value = -6
|
||
|
|
agent_trait_malus_t3_value = -9
|
||
|
|
|
||
|
|
# Political Schemem agent values
|
||
|
|
political_agent_max_skill_value = 15
|
||
|
|
agent_house_power_score_mult = 0.1
|
||
|
|
agent_max_house_power_value = 30
|
||
|
|
|
||
|
|
agent_house_power_score_value = {
|
||
|
|
value = 0
|
||
|
|
if = {
|
||
|
|
limit = { exists = house }
|
||
|
|
add = house.house_power_score
|
||
|
|
}
|
||
|
|
multiply = agent_house_power_score_mult
|
||
|
|
ceiling = yes
|
||
|
|
max = agent_max_house_power_value
|
||
|
|
desc = scheme_agent_aptitude.scaled_house_power_score
|
||
|
|
}
|
||
|
|
|
||
|
|
# Sync values for agents that have multiple contribution types.
|
||
|
|
## Justiciar.
|
||
|
|
agent_justiciar_contribution_value = {
|
||
|
|
# Base value.
|
||
|
|
value = scheme_agent_general_bonuses_contribution_score_value
|
||
|
|
# Skills
|
||
|
|
## Learning
|
||
|
|
add = {
|
||
|
|
value = learning
|
||
|
|
multiply = agent_3to1_3_skill_mult_value
|
||
|
|
ceiling = yes
|
||
|
|
max = agent_max_skill_value
|
||
|
|
desc = scheme_agent_aptitude.skill.learning
|
||
|
|
}
|
||
|
|
## Diplomacy
|
||
|
|
add = {
|
||
|
|
value = diplomacy
|
||
|
|
multiply = agent_3to1_1_skill_mult_value
|
||
|
|
ceiling = yes
|
||
|
|
max = agent_max_skill_value
|
||
|
|
desc = scheme_agent_aptitude.skill.diplomacy
|
||
|
|
}
|
||
|
|
# Traits
|
||
|
|
## Bonuses
|
||
|
|
### +++ Just
|
||
|
|
if = {
|
||
|
|
limit = { has_trait = just }
|
||
|
|
add = {
|
||
|
|
value = agent_trait_bonus_t3_value
|
||
|
|
desc = scheme_agent_aptitude.trait.just
|
||
|
|
}
|
||
|
|
}
|
||
|
|
### +++ Diligent
|
||
|
|
if = {
|
||
|
|
limit = { has_trait = diligent }
|
||
|
|
add = {
|
||
|
|
value = agent_trait_bonus_t3_value
|
||
|
|
desc = scheme_agent_aptitude.trait.diligent
|
||
|
|
}
|
||
|
|
}
|
||
|
|
### +++ Honest
|
||
|
|
if = {
|
||
|
|
limit = { has_trait = honest }
|
||
|
|
add = {
|
||
|
|
value = agent_trait_bonus_t3_value
|
||
|
|
desc = scheme_agent_aptitude.trait.honest
|
||
|
|
}
|
||
|
|
}
|
||
|
|
### ++ Patient
|
||
|
|
if = {
|
||
|
|
limit = { has_trait = patient }
|
||
|
|
add = {
|
||
|
|
value = agent_trait_bonus_t2_value
|
||
|
|
desc = scheme_agent_aptitude.trait.patient
|
||
|
|
}
|
||
|
|
}
|
||
|
|
### + Paranoid
|
||
|
|
if = {
|
||
|
|
limit = { has_trait = paranoid }
|
||
|
|
add = {
|
||
|
|
value = agent_trait_bonus_t1_value
|
||
|
|
desc = scheme_agent_aptitude.trait.paranoid
|
||
|
|
}
|
||
|
|
}
|
||
|
|
## Maluses
|
||
|
|
### - Trusting
|
||
|
|
if = {
|
||
|
|
limit = { has_trait = trusting }
|
||
|
|
add = {
|
||
|
|
value = agent_trait_malus_t1_value
|
||
|
|
desc = scheme_agent_aptitude.trait.trusting
|
||
|
|
}
|
||
|
|
}
|
||
|
|
### -- Impatient
|
||
|
|
if = {
|
||
|
|
limit = { has_trait = impatient }
|
||
|
|
add = {
|
||
|
|
value = agent_trait_malus_t2_value
|
||
|
|
desc = scheme_agent_aptitude.trait.impatient
|
||
|
|
}
|
||
|
|
}
|
||
|
|
### --- Deceitful
|
||
|
|
if = {
|
||
|
|
limit = { has_trait = deceitful }
|
||
|
|
add = {
|
||
|
|
value = agent_trait_malus_t3_value
|
||
|
|
desc = scheme_agent_aptitude.trait.deceitful
|
||
|
|
}
|
||
|
|
}
|
||
|
|
### --- Diligent
|
||
|
|
if = {
|
||
|
|
limit = { has_trait = diligent }
|
||
|
|
add = {
|
||
|
|
value = agent_trait_malus_t3_value
|
||
|
|
desc = scheme_agent_aptitude.trait.diligent
|
||
|
|
}
|
||
|
|
}
|
||
|
|
### --- Arbitrary
|
||
|
|
if = {
|
||
|
|
limit = { has_trait = arbitrary }
|
||
|
|
add = {
|
||
|
|
value = agent_trait_malus_t3_value
|
||
|
|
desc = scheme_agent_aptitude.trait.arbitrary
|
||
|
|
}
|
||
|
|
}
|
||
|
|
|
||
|
|
# Cap this off.
|
||
|
|
max = agent_scheme_contributor_max
|
||
|
|
min = agent_scheme_contributor_min
|
||
|
|
}
|
||
|
|
## Wrangler
|
||
|
|
agent_wrangler_contribution_value = {
|
||
|
|
value = scheme_agent_general_bonuses_contribution_score_value
|
||
|
|
# Skills
|
||
|
|
## Diplomacy
|
||
|
|
add = {
|
||
|
|
value = diplomacy
|
||
|
|
multiply = agent_3to1_3_skill_mult_value
|
||
|
|
ceiling = yes
|
||
|
|
max = agent_max_skill_value
|
||
|
|
desc = scheme_agent_aptitude.skill.diplomacy
|
||
|
|
}
|
||
|
|
## Intrigue
|
||
|
|
add = {
|
||
|
|
value = intrigue
|
||
|
|
multiply = agent_3to1_1_skill_mult_value
|
||
|
|
ceiling = yes
|
||
|
|
max = agent_max_skill_value
|
||
|
|
desc = scheme_agent_aptitude.skill.intrigue
|
||
|
|
}
|
||
|
|
# Traits
|
||
|
|
## Bonuses
|
||
|
|
### +++ Gregarious
|
||
|
|
if = {
|
||
|
|
limit = { has_trait = gregarious }
|
||
|
|
add = {
|
||
|
|
value = agent_trait_bonus_t3_value
|
||
|
|
desc = scheme_agent_aptitude.trait.gregarious
|
||
|
|
}
|
||
|
|
}
|
||
|
|
### +++ Diplomat
|
||
|
|
if = {
|
||
|
|
limit = { has_trait = diplomat }
|
||
|
|
add = {
|
||
|
|
value = agent_trait_bonus_t3_value
|
||
|
|
desc = scheme_agent_aptitude.trait.diplomat
|
||
|
|
}
|
||
|
|
}
|
||
|
|
### ++ Arrogant
|
||
|
|
if = {
|
||
|
|
limit = { has_trait = arrogant }
|
||
|
|
add = {
|
||
|
|
value = agent_trait_bonus_t2_value
|
||
|
|
desc = scheme_agent_aptitude.trait.arrogant
|
||
|
|
}
|
||
|
|
}
|
||
|
|
### ++ Ambitious
|
||
|
|
if = {
|
||
|
|
limit = { has_trait = ambitious }
|
||
|
|
add = {
|
||
|
|
value = agent_trait_bonus_t2_value
|
||
|
|
desc = scheme_agent_aptitude.trait.ambitious
|
||
|
|
}
|
||
|
|
}
|
||
|
|
### + Eccentric
|
||
|
|
if = {
|
||
|
|
limit = { has_trait = eccentric }
|
||
|
|
add = {
|
||
|
|
value = agent_trait_bonus_t1_value
|
||
|
|
desc = scheme_agent_aptitude.trait.eccentric
|
||
|
|
}
|
||
|
|
}
|
||
|
|
## Maluses
|
||
|
|
### - Temperate
|
||
|
|
if = {
|
||
|
|
limit = { has_trait = temperate }
|
||
|
|
add = {
|
||
|
|
value = agent_trait_malus_t1_value
|
||
|
|
desc = scheme_agent_aptitude.trait.temperate
|
||
|
|
}
|
||
|
|
}
|
||
|
|
### -- Humble
|
||
|
|
if = {
|
||
|
|
limit = { has_trait = humble }
|
||
|
|
add = {
|
||
|
|
value = agent_trait_malus_t2_value
|
||
|
|
desc = scheme_agent_aptitude.trait.humble
|
||
|
|
}
|
||
|
|
}
|
||
|
|
### -- Trusting
|
||
|
|
if = {
|
||
|
|
limit = { has_trait = trusting }
|
||
|
|
add = {
|
||
|
|
value = agent_trait_malus_t2_value
|
||
|
|
desc = scheme_agent_aptitude.trait.trusting
|
||
|
|
}
|
||
|
|
}
|
||
|
|
### --- Content
|
||
|
|
if = {
|
||
|
|
limit = { has_trait = content }
|
||
|
|
add = {
|
||
|
|
value = agent_trait_malus_t3_value
|
||
|
|
desc = scheme_agent_aptitude.trait.content
|
||
|
|
}
|
||
|
|
}
|
||
|
|
### --- Forgiving
|
||
|
|
if = {
|
||
|
|
limit = { has_trait = forgiving }
|
||
|
|
add = {
|
||
|
|
value = agent_trait_malus_t3_value
|
||
|
|
desc = scheme_agent_aptitude.trait.forgiving
|
||
|
|
}
|
||
|
|
}
|
||
|
|
### --- Shy
|
||
|
|
if = {
|
||
|
|
limit = { has_trait = shy }
|
||
|
|
add = {
|
||
|
|
value = agent_trait_malus_t3_value
|
||
|
|
desc = scheme_agent_aptitude.trait.shy
|
||
|
|
}
|
||
|
|
}
|
||
|
|
# Cap this off.
|
||
|
|
max = agent_scheme_contributor_max
|
||
|
|
min = agent_scheme_contributor_min
|
||
|
|
}
|
||
|
|
## Cleric
|
||
|
|
agent_cleric_contribution_value = {
|
||
|
|
# Base value.
|
||
|
|
value = scheme_agent_general_bonuses_contribution_score_value
|
||
|
|
# Skills
|
||
|
|
## Diplomacy
|
||
|
|
add = {
|
||
|
|
value = diplomacy
|
||
|
|
multiply = agent_3to1_3_skill_mult_value
|
||
|
|
ceiling = yes
|
||
|
|
max = agent_max_skill_value
|
||
|
|
desc = scheme_agent_aptitude.skill.diplomacy
|
||
|
|
}
|
||
|
|
## Learning
|
||
|
|
add = {
|
||
|
|
value = learning
|
||
|
|
multiply = agent_3to1_1_skill_mult_value
|
||
|
|
ceiling = yes
|
||
|
|
max = agent_max_skill_value
|
||
|
|
desc = scheme_agent_aptitude.skill.learning
|
||
|
|
}
|
||
|
|
# Traits
|
||
|
|
## Bonuses
|
||
|
|
### +++ Zealous
|
||
|
|
if = {
|
||
|
|
limit = { has_trait = zealous }
|
||
|
|
add = {
|
||
|
|
value = agent_trait_bonus_t3_value
|
||
|
|
desc = scheme_agent_aptitude.trait.zealous
|
||
|
|
}
|
||
|
|
}
|
||
|
|
### ++ Humble
|
||
|
|
if = {
|
||
|
|
limit = { has_trait = humble }
|
||
|
|
add = {
|
||
|
|
value = agent_trait_bonus_t2_value
|
||
|
|
desc = scheme_agent_aptitude.trait.humble
|
||
|
|
}
|
||
|
|
}
|
||
|
|
### ++ Diligent
|
||
|
|
if = {
|
||
|
|
limit = { has_trait = diligent }
|
||
|
|
add = {
|
||
|
|
value = agent_trait_bonus_t2_value
|
||
|
|
desc = scheme_agent_aptitude.trait.diligent
|
||
|
|
}
|
||
|
|
}
|
||
|
|
### + Honest
|
||
|
|
if = {
|
||
|
|
limit = { has_trait = honest }
|
||
|
|
add = {
|
||
|
|
value = agent_trait_bonus_t1_value
|
||
|
|
desc = scheme_agent_aptitude.trait.honest
|
||
|
|
}
|
||
|
|
}
|
||
|
|
## Maluses
|
||
|
|
### - Deceitful
|
||
|
|
if = {
|
||
|
|
limit = { has_trait = deceitful }
|
||
|
|
add = {
|
||
|
|
value = agent_trait_malus_t1_value
|
||
|
|
desc = scheme_agent_aptitude.trait.deceitful
|
||
|
|
}
|
||
|
|
}
|
||
|
|
### -- Lazy
|
||
|
|
if = {
|
||
|
|
limit = { has_trait = lazy }
|
||
|
|
add = {
|
||
|
|
value = agent_trait_malus_t2_value
|
||
|
|
desc = scheme_agent_aptitude.trait.lazy
|
||
|
|
}
|
||
|
|
}
|
||
|
|
### -- Arrogant
|
||
|
|
if = {
|
||
|
|
limit = { has_trait = arrogant }
|
||
|
|
add = {
|
||
|
|
value = agent_trait_malus_t2_value
|
||
|
|
desc = scheme_agent_aptitude.trait.arrogant
|
||
|
|
}
|
||
|
|
}
|
||
|
|
### --- Cynical
|
||
|
|
if = {
|
||
|
|
limit = { has_trait = cynical }
|
||
|
|
add = {
|
||
|
|
value = agent_trait_malus_t3_value
|
||
|
|
desc = scheme_agent_aptitude.trait.cynical
|
||
|
|
}
|
||
|
|
}
|
||
|
|
|
||
|
|
# Cap this off.
|
||
|
|
max = agent_scheme_contributor_max
|
||
|
|
min = agent_scheme_contributor_min
|
||
|
|
}
|
||
|
|
## Theologian
|
||
|
|
agent_theologian_contribution_value = {
|
||
|
|
# Base value.
|
||
|
|
value = scheme_agent_general_bonuses_contribution_score_value
|
||
|
|
# Skills
|
||
|
|
## Learning
|
||
|
|
add = {
|
||
|
|
value = learning
|
||
|
|
multiply = agent_3to1_3_skill_mult_value
|
||
|
|
ceiling = yes
|
||
|
|
max = agent_max_skill_value
|
||
|
|
desc = scheme_agent_aptitude.skill.learning
|
||
|
|
}
|
||
|
|
## Diplomacy
|
||
|
|
add = {
|
||
|
|
value = diplomacy
|
||
|
|
multiply = agent_3to1_1_skill_mult_value
|
||
|
|
ceiling = yes
|
||
|
|
max = agent_max_skill_value
|
||
|
|
desc = scheme_agent_aptitude.skill.diplomacy
|
||
|
|
}
|
||
|
|
# Traits
|
||
|
|
## Bonuses
|
||
|
|
### +++ Just
|
||
|
|
if = {
|
||
|
|
limit = { has_trait = just }
|
||
|
|
add = {
|
||
|
|
value = agent_trait_bonus_t3_value
|
||
|
|
desc = scheme_agent_aptitude.trait.just
|
||
|
|
}
|
||
|
|
}
|
||
|
|
### +++ Zealous
|
||
|
|
if = {
|
||
|
|
limit = { has_trait = zealous }
|
||
|
|
add = {
|
||
|
|
value = agent_trait_bonus_t3_value
|
||
|
|
desc = scheme_agent_aptitude.trait.zealous
|
||
|
|
}
|
||
|
|
}
|
||
|
|
### +++ Stubborn
|
||
|
|
if = {
|
||
|
|
limit = { has_trait = stubborn }
|
||
|
|
add = {
|
||
|
|
value = agent_trait_bonus_t3_value
|
||
|
|
desc = scheme_agent_aptitude.trait.stubborn
|
||
|
|
}
|
||
|
|
}
|
||
|
|
### ++ Calm (we like both measured responses...)
|
||
|
|
if = {
|
||
|
|
limit = { has_trait = calm }
|
||
|
|
add = {
|
||
|
|
value = agent_trait_bonus_t2_value
|
||
|
|
desc = scheme_agent_aptitude.trait.calm
|
||
|
|
}
|
||
|
|
}
|
||
|
|
### ++ Wrathful (... and less measured ones)
|
||
|
|
if = {
|
||
|
|
limit = { has_trait = wrathful }
|
||
|
|
add = {
|
||
|
|
value = agent_trait_bonus_t2_value
|
||
|
|
desc = scheme_agent_aptitude.trait.wrathful
|
||
|
|
}
|
||
|
|
}
|
||
|
|
### ++ Diligent
|
||
|
|
if = {
|
||
|
|
limit = { has_trait = diligent }
|
||
|
|
add = {
|
||
|
|
value = agent_trait_bonus_t2_value
|
||
|
|
desc = scheme_agent_aptitude.trait.diligent
|
||
|
|
}
|
||
|
|
}
|
||
|
|
### + Eccentric
|
||
|
|
if = {
|
||
|
|
limit = { has_trait = eccentric }
|
||
|
|
add = {
|
||
|
|
value = agent_trait_bonus_t1_value
|
||
|
|
desc = scheme_agent_aptitude.trait.eccentric
|
||
|
|
}
|
||
|
|
}
|
||
|
|
## Maluses
|
||
|
|
### -- Lazy
|
||
|
|
if = {
|
||
|
|
limit = { has_trait = lazy }
|
||
|
|
add = {
|
||
|
|
value = agent_trait_malus_t2_value
|
||
|
|
desc = scheme_agent_aptitude.trait.lazy
|
||
|
|
}
|
||
|
|
}
|
||
|
|
### --- Fickle
|
||
|
|
if = {
|
||
|
|
limit = { has_trait = fickle }
|
||
|
|
add = {
|
||
|
|
value = agent_trait_malus_t3_value
|
||
|
|
desc = scheme_agent_aptitude.trait.fickle
|
||
|
|
}
|
||
|
|
}
|
||
|
|
### --- Cynical
|
||
|
|
if = {
|
||
|
|
limit = { has_trait = cynical }
|
||
|
|
add = {
|
||
|
|
value = agent_trait_malus_t3_value
|
||
|
|
desc = scheme_agent_aptitude.trait.cynical
|
||
|
|
}
|
||
|
|
}
|
||
|
|
### --- Arbitrary
|
||
|
|
if = {
|
||
|
|
limit = { has_trait = arbitrary }
|
||
|
|
add = {
|
||
|
|
value = agent_trait_malus_t3_value
|
||
|
|
desc = scheme_agent_aptitude.trait.arbitrary
|
||
|
|
}
|
||
|
|
}
|
||
|
|
|
||
|
|
# Cap this off.
|
||
|
|
max = agent_scheme_contributor_max
|
||
|
|
min = agent_scheme_contributor_min
|
||
|
|
}
|
||
|
|
## Lookout
|
||
|
|
agent_lookout_contribution_value = {
|
||
|
|
# Base value.
|
||
|
|
value = scheme_agent_general_bonuses_contribution_score_value
|
||
|
|
# Skills
|
||
|
|
## Intrigue
|
||
|
|
add = {
|
||
|
|
value = intrigue
|
||
|
|
multiply = agent_3to1_3_skill_mult_value
|
||
|
|
ceiling = yes
|
||
|
|
max = agent_max_skill_value
|
||
|
|
desc = scheme_agent_aptitude.skill.intrigue
|
||
|
|
}
|
||
|
|
## Martial
|
||
|
|
add = {
|
||
|
|
value = martial
|
||
|
|
multiply = agent_3to1_1_skill_mult_value
|
||
|
|
ceiling = yes
|
||
|
|
max = agent_max_skill_value
|
||
|
|
desc = scheme_agent_aptitude.skill.martial
|
||
|
|
}
|
||
|
|
# Traits
|
||
|
|
## Bonuses
|
||
|
|
### +++ Patient
|
||
|
|
if = {
|
||
|
|
limit = { has_trait = patient }
|
||
|
|
add = {
|
||
|
|
value = agent_trait_bonus_t3_value
|
||
|
|
desc = scheme_agent_aptitude.trait.patient
|
||
|
|
}
|
||
|
|
}
|
||
|
|
### +++ Diligent
|
||
|
|
if = {
|
||
|
|
limit = { has_trait = diligent }
|
||
|
|
add = {
|
||
|
|
value = agent_trait_bonus_t3_value
|
||
|
|
desc = scheme_agent_aptitude.trait.diligent
|
||
|
|
}
|
||
|
|
}
|
||
|
|
### +++ Paranoid
|
||
|
|
if = {
|
||
|
|
limit = { has_trait = paranoid }
|
||
|
|
add = {
|
||
|
|
value = agent_trait_bonus_t3_value
|
||
|
|
desc = scheme_agent_aptitude.trait.paranoid
|
||
|
|
}
|
||
|
|
}
|
||
|
|
### + Brave
|
||
|
|
if = {
|
||
|
|
limit = { has_trait = brave }
|
||
|
|
add = {
|
||
|
|
value = agent_trait_bonus_t1_value
|
||
|
|
desc = scheme_agent_aptitude.trait.brave
|
||
|
|
}
|
||
|
|
}
|
||
|
|
## Maluses
|
||
|
|
### - Craven
|
||
|
|
if = {
|
||
|
|
limit = { has_trait = craven }
|
||
|
|
add = {
|
||
|
|
value = agent_trait_malus_t1_value
|
||
|
|
desc = scheme_agent_aptitude.trait.craven
|
||
|
|
}
|
||
|
|
}
|
||
|
|
### -- Trusting
|
||
|
|
if = {
|
||
|
|
limit = { has_trait = trusting }
|
||
|
|
add = {
|
||
|
|
value = agent_trait_malus_t2_value
|
||
|
|
desc = scheme_agent_aptitude.trait.trusting
|
||
|
|
}
|
||
|
|
}
|
||
|
|
### --- Lazy
|
||
|
|
if = {
|
||
|
|
limit = { has_trait = lazy }
|
||
|
|
add = {
|
||
|
|
value = agent_trait_malus_t3_value
|
||
|
|
desc = scheme_agent_aptitude.trait.lazy
|
||
|
|
}
|
||
|
|
}
|
||
|
|
### --- Impatient
|
||
|
|
if = {
|
||
|
|
limit = { has_trait = impatient }
|
||
|
|
add = {
|
||
|
|
value = agent_trait_malus_t3_value
|
||
|
|
desc = scheme_agent_aptitude.trait.impatient
|
||
|
|
}
|
||
|
|
}
|
||
|
|
|
||
|
|
# Cap this off.
|
||
|
|
max = agent_scheme_contributor_max
|
||
|
|
min = agent_scheme_contributor_min
|
||
|
|
}
|
||
|
|
## Gabbler
|
||
|
|
agent_gabbler_contribution_value = {
|
||
|
|
# Base value.
|
||
|
|
value = scheme_agent_general_bonuses_contribution_score_value
|
||
|
|
# Skills
|
||
|
|
## Diplomacy
|
||
|
|
add = {
|
||
|
|
value = diplomacy
|
||
|
|
multiply = agent_1to1_1_skill_mult_value
|
||
|
|
ceiling = yes
|
||
|
|
max = agent_max_skill_value
|
||
|
|
desc = scheme_agent_aptitude.skill.diplomacy
|
||
|
|
}
|
||
|
|
## Intrigue
|
||
|
|
add = {
|
||
|
|
value = intrigue
|
||
|
|
multiply = agent_1to1_1_skill_mult_value
|
||
|
|
ceiling = yes
|
||
|
|
max = agent_max_skill_value
|
||
|
|
desc = scheme_agent_aptitude.skill.intrigue
|
||
|
|
}
|
||
|
|
# Traits
|
||
|
|
## Bonuses
|
||
|
|
### +++ Gregarious
|
||
|
|
if = {
|
||
|
|
limit = { has_trait = gregarious }
|
||
|
|
add = {
|
||
|
|
value = agent_trait_bonus_t3_value
|
||
|
|
desc = scheme_agent_aptitude.trait.gregarious
|
||
|
|
}
|
||
|
|
}
|
||
|
|
### +++ Eccentric
|
||
|
|
if = {
|
||
|
|
limit = { has_trait = eccentric }
|
||
|
|
add = {
|
||
|
|
value = agent_trait_bonus_t3_value
|
||
|
|
desc = scheme_agent_aptitude.trait.eccentric
|
||
|
|
}
|
||
|
|
}
|
||
|
|
### +++ Fickle
|
||
|
|
if = {
|
||
|
|
limit = { has_trait = fickle }
|
||
|
|
add = {
|
||
|
|
value = agent_trait_bonus_t3_value
|
||
|
|
desc = scheme_agent_aptitude.trait.fickle
|
||
|
|
}
|
||
|
|
}
|
||
|
|
### ++ Arrogant
|
||
|
|
if = {
|
||
|
|
limit = { has_trait = arrogant }
|
||
|
|
add = {
|
||
|
|
value = agent_trait_bonus_t2_value
|
||
|
|
desc = scheme_agent_aptitude.trait.arrogant
|
||
|
|
}
|
||
|
|
}
|
||
|
|
### ++ Lazy
|
||
|
|
if = {
|
||
|
|
limit = { has_trait = lazy }
|
||
|
|
add = {
|
||
|
|
value = agent_trait_bonus_t2_value
|
||
|
|
desc = scheme_agent_aptitude.trait.lazy
|
||
|
|
}
|
||
|
|
}
|
||
|
|
### + Brave
|
||
|
|
if = {
|
||
|
|
limit = { has_trait = brave }
|
||
|
|
add = {
|
||
|
|
value = agent_trait_bonus_t1_value
|
||
|
|
desc = scheme_agent_aptitude.trait.brave
|
||
|
|
}
|
||
|
|
}
|
||
|
|
## Maluses
|
||
|
|
### - Craven
|
||
|
|
if = {
|
||
|
|
limit = { has_trait = craven }
|
||
|
|
add = {
|
||
|
|
value = agent_trait_malus_t1_value
|
||
|
|
desc = scheme_agent_aptitude.trait.craven
|
||
|
|
}
|
||
|
|
}
|
||
|
|
### -- Diligent
|
||
|
|
if = {
|
||
|
|
limit = { has_trait = diligent }
|
||
|
|
add = {
|
||
|
|
value = agent_trait_malus_t2_value
|
||
|
|
desc = scheme_agent_aptitude.trait.diligent
|
||
|
|
}
|
||
|
|
}
|
||
|
|
### -- Humble
|
||
|
|
if = {
|
||
|
|
limit = { has_trait = humble }
|
||
|
|
add = {
|
||
|
|
value = agent_trait_malus_t2_value
|
||
|
|
desc = scheme_agent_aptitude.trait.humble
|
||
|
|
}
|
||
|
|
}
|
||
|
|
### --- Stubborn
|
||
|
|
if = {
|
||
|
|
limit = { has_trait = stubborn }
|
||
|
|
add = {
|
||
|
|
value = agent_trait_malus_t3_value
|
||
|
|
desc = scheme_agent_aptitude.trait.stubborn
|
||
|
|
}
|
||
|
|
}
|
||
|
|
### --- Shy
|
||
|
|
if = {
|
||
|
|
limit = { has_trait = shy }
|
||
|
|
add = {
|
||
|
|
value = agent_trait_malus_t3_value
|
||
|
|
desc = scheme_agent_aptitude.trait.shy
|
||
|
|
}
|
||
|
|
}
|
||
|
|
|
||
|
|
# Cap this off.
|
||
|
|
max = agent_scheme_contributor_max
|
||
|
|
min = agent_scheme_contributor_min
|
||
|
|
}
|
||
|
|
|
||
|
|
# How many opportunities it takes to spend them inviting an agent to a scheme.
|
||
|
|
invite_agent_opportunities_t1_value = 3
|
||
|
|
invite_agent_opportunities_t2_value = 5
|
||
|
|
|
||
|
|
# Contribution threshold values — how helpful they're being with a certain scheme.
|
||
|
|
agent_contribution_poor = 5
|
||
|
|
agent_contribution_good = 15
|
||
|
|
agent_contribution_excellent = 30
|
||
|
|
|
||
|
|
##################################################
|
||
|
|
# Preparation Event Values
|
||
|
|
|
||
|
|
# Weights for how likely scheme agents are to be rolled in critical moments.
|
||
|
|
critical_moment_agent_weight_very_high_value = 50
|
||
|
|
critical_moment_agent_weight_high_value = 25
|
||
|
|
critical_moment_agent_weight_medium_value = 15
|
||
|
|
critical_moment_agent_weight_low_value = 10
|
||
|
|
critical_moment_agent_weight_very_low_value = 5
|
||
|
|
# Don't use microscopic. This is largely here as a joke for wolf hunters in romance schemes.
|
||
|
|
critical_moment_agent_weight_microscopic_value = 1
|
||
|
|
|
||
|
|
# The standard charge cost for completing a scheme: we need this so we can calculate if bonus options should be cheaper.
|
||
|
|
scheme_charge_to_advance_threshold_base_value = 2
|
||
|
|
|
||
|
|
# How many charges does this scheme need before it can attempt completion?
|
||
|
|
## Default for schemes with only one ending option.
|
||
|
|
scheme_charge_to_advance_threshold_value = {
|
||
|
|
# If a scheme has a custom threshold set, use that.
|
||
|
|
if = {
|
||
|
|
limit = { has_variable = custom_charge_threshold }
|
||
|
|
add = var:custom_charge_threshold
|
||
|
|
}
|
||
|
|
# Otherwise, use the base.
|
||
|
|
else = { add = scheme_charge_to_advance_threshold_base_value }
|
||
|
|
}
|
||
|
|
## Schemes with multiple ending options cost varying amounts to end, depending on your selected final bonus.
|
||
|
|
multi_ending_scheme_charge_to_advance_threshold_t1_value = {
|
||
|
|
# If a scheme has a custom threshold set, use that.
|
||
|
|
if = {
|
||
|
|
limit = {
|
||
|
|
exists = this
|
||
|
|
has_variable = custom_charge_threshold
|
||
|
|
var:custom_charge_threshold < scheme_charge_to_advance_threshold_base_value
|
||
|
|
}
|
||
|
|
subtract = var:custom_charge_threshold
|
||
|
|
}
|
||
|
|
# Now, add the base.
|
||
|
|
add = 5
|
||
|
|
# Make sure this never goes completely nuts.
|
||
|
|
min = scheme_charge_to_advance_threshold_base_value
|
||
|
|
}
|
||
|
|
multi_ending_scheme_charge_to_advance_threshold_t2_value = {
|
||
|
|
# If a scheme has a custom threshold set, use that.
|
||
|
|
if = {
|
||
|
|
limit = {
|
||
|
|
exists = this
|
||
|
|
has_variable = custom_charge_threshold
|
||
|
|
var:custom_charge_threshold < scheme_charge_to_advance_threshold_base_value
|
||
|
|
}
|
||
|
|
subtract = var:custom_charge_threshold
|
||
|
|
}
|
||
|
|
# Now, add the base.
|
||
|
|
add = 10
|
||
|
|
# Make sure this never goes completely nuts.
|
||
|
|
min = scheme_charge_to_advance_threshold_base_value
|
||
|
|
}
|
||
|
|
multi_ending_scheme_charge_to_advance_threshold_t3_value = {
|
||
|
|
# If a scheme has a custom threshold set, use that.
|
||
|
|
if = {
|
||
|
|
limit = {
|
||
|
|
exists = this
|
||
|
|
has_variable = custom_charge_threshold
|
||
|
|
var:custom_charge_threshold < scheme_charge_to_advance_threshold_base_value
|
||
|
|
}
|
||
|
|
subtract = var:custom_charge_threshold
|
||
|
|
}
|
||
|
|
# Now, add the base.
|
||
|
|
add = 15
|
||
|
|
# Make sure this never goes completely nuts.
|
||
|
|
min = scheme_charge_to_advance_threshold_base_value
|
||
|
|
}
|
||
|
|
multi_ending_scheme_charge_to_advance_threshold_t4_value = {
|
||
|
|
# If a scheme has a custom threshold set, use that.
|
||
|
|
if = {
|
||
|
|
limit = {
|
||
|
|
exists = this
|
||
|
|
has_variable = custom_charge_threshold
|
||
|
|
var:custom_charge_threshold < scheme_charge_to_advance_threshold_base_value
|
||
|
|
}
|
||
|
|
subtract = var:custom_charge_threshold
|
||
|
|
}
|
||
|
|
# Now, add the base.
|
||
|
|
add = 20
|
||
|
|
# Make sure this never goes completely nuts.
|
||
|
|
min = scheme_charge_to_advance_threshold_base_value
|
||
|
|
}
|
||
|
|
|
||
|
|
# Schemes with multiple ending options come with boosts at the end that we want to reference in loc for brevity.
|
||
|
|
multi_ending_scheme_buff_t2_value = 5
|
||
|
|
multi_ending_scheme_buff_t3_value = 10
|
||
|
|
multi_ending_scheme_buff_t4_value = 20
|
||
|
|
multi_ending_scheme_buff_t2_total_success_value = {
|
||
|
|
value = scheme_success_chance
|
||
|
|
add = multi_ending_scheme_buff_t2_value
|
||
|
|
max = 95
|
||
|
|
}
|
||
|
|
multi_ending_scheme_buff_t3_total_success_value = {
|
||
|
|
value = scheme_success_chance
|
||
|
|
add = multi_ending_scheme_buff_t3_value
|
||
|
|
max = 95
|
||
|
|
}
|
||
|
|
multi_ending_scheme_buff_t4_total_success_value = {
|
||
|
|
value = scheme_success_chance
|
||
|
|
add = multi_ending_scheme_buff_t4_value
|
||
|
|
max = 95
|
||
|
|
}
|
||
|
|
|
||
|
|
# Get the actual max value of our current scheme.
|
||
|
|
scheme_max_theoretical_success_chance_value = {
|
||
|
|
if = {
|
||
|
|
limit = { is_scheme_category = hostile }
|
||
|
|
value = define:NScheme|HOSTILE_SCHEME_MAX_SUCCESS_CHANCE
|
||
|
|
}
|
||
|
|
else_if = {
|
||
|
|
limit = { is_scheme_category = contract }
|
||
|
|
value = define:NScheme|CONTRACT_SCHEME_MAX_SUCCESS_CHANCE
|
||
|
|
}
|
||
|
|
else_if = {
|
||
|
|
limit = { is_scheme_category = political }
|
||
|
|
value = define:NScheme|POLITICAL_SCHEME_MAX_SUCCESS_CHANCE
|
||
|
|
}
|
||
|
|
else = { value = define:NScheme|PERSONAL_SCHEME_MAX_SUCCESS_CHANCE }
|
||
|
|
}
|
||
|
|
|
||
|
|
##################################################
|
||
|
|
# Pulse Action Values
|
||
|
|
|
||
|
|
# How likely are you to get positive or negative APAs in a scheme, largely dependent on personal skill?
|
||
|
|
scheme_owner_aptitude_weight_up_positive_value = {
|
||
|
|
value = 1
|
||
|
|
# Diplomacy.
|
||
|
|
if = {
|
||
|
|
limit = { scheme_skill = diplomacy }
|
||
|
|
scope:owner = {
|
||
|
|
# Excellent skill.
|
||
|
|
if = {
|
||
|
|
limit = { diplomacy >= extremely_high_skill_rating }
|
||
|
|
add = 1
|
||
|
|
}
|
||
|
|
# High skill.
|
||
|
|
if = {
|
||
|
|
limit = { diplomacy >= high_skill_rating }
|
||
|
|
add = 1
|
||
|
|
}
|
||
|
|
# Low skill.
|
||
|
|
if = {
|
||
|
|
limit = { diplomacy <= mediocre_skill_rating }
|
||
|
|
add = -1
|
||
|
|
}
|
||
|
|
# Atrocious skill.
|
||
|
|
if = {
|
||
|
|
limit = { diplomacy <= low_skill_rating }
|
||
|
|
add = -1
|
||
|
|
}
|
||
|
|
}
|
||
|
|
}
|
||
|
|
# Martial.
|
||
|
|
else_if = {
|
||
|
|
limit = { scheme_skill = martial }
|
||
|
|
scope:owner = {
|
||
|
|
# Excellent skill.
|
||
|
|
if = {
|
||
|
|
limit = { martial >= extremely_high_skill_rating }
|
||
|
|
add = 1
|
||
|
|
}
|
||
|
|
# High skill.
|
||
|
|
if = {
|
||
|
|
limit = { martial >= high_skill_rating }
|
||
|
|
add = 1
|
||
|
|
}
|
||
|
|
# Low skill.
|
||
|
|
if = {
|
||
|
|
limit = { martial <= mediocre_skill_rating }
|
||
|
|
add = -1
|
||
|
|
}
|
||
|
|
# Atrocious skill.
|
||
|
|
if = {
|
||
|
|
limit = { martial <= low_skill_rating }
|
||
|
|
add = -1
|
||
|
|
}
|
||
|
|
}
|
||
|
|
}
|
||
|
|
# Stewardship.
|
||
|
|
else_if = {
|
||
|
|
limit = { scheme_skill = stewardship }
|
||
|
|
scope:owner = {
|
||
|
|
# Excellent skill.
|
||
|
|
if = {
|
||
|
|
limit = { stewardship >= extremely_high_skill_rating }
|
||
|
|
add = 1
|
||
|
|
}
|
||
|
|
# High skill.
|
||
|
|
if = {
|
||
|
|
limit = { stewardship >= high_skill_rating }
|
||
|
|
add = 1
|
||
|
|
}
|
||
|
|
# Low skill.
|
||
|
|
if = {
|
||
|
|
limit = { stewardship <= mediocre_skill_rating }
|
||
|
|
add = -1
|
||
|
|
}
|
||
|
|
# Atrocious skill.
|
||
|
|
if = {
|
||
|
|
limit = { stewardship <= low_skill_rating }
|
||
|
|
add = -1
|
||
|
|
}
|
||
|
|
}
|
||
|
|
}
|
||
|
|
# Intrigue.
|
||
|
|
else_if = {
|
||
|
|
limit = { scheme_skill = intrigue }
|
||
|
|
scope:owner = {
|
||
|
|
# Excellent skill.
|
||
|
|
if = {
|
||
|
|
limit = { intrigue >= extremely_high_skill_rating }
|
||
|
|
add = 1
|
||
|
|
}
|
||
|
|
# High skill.
|
||
|
|
if = {
|
||
|
|
limit = { intrigue >= high_skill_rating }
|
||
|
|
add = 1
|
||
|
|
}
|
||
|
|
# Low skill.
|
||
|
|
if = {
|
||
|
|
limit = { intrigue <= mediocre_skill_rating }
|
||
|
|
add = -1
|
||
|
|
}
|
||
|
|
# Atrocious skill.
|
||
|
|
if = {
|
||
|
|
limit = { intrigue <= low_skill_rating }
|
||
|
|
add = -1
|
||
|
|
}
|
||
|
|
}
|
||
|
|
}
|
||
|
|
# Learning.
|
||
|
|
else_if = {
|
||
|
|
limit = { scheme_skill = learning }
|
||
|
|
scope:owner = {
|
||
|
|
# Excellent skill.
|
||
|
|
if = {
|
||
|
|
limit = { learning >= extremely_high_skill_rating }
|
||
|
|
add = 1
|
||
|
|
}
|
||
|
|
# High skill.
|
||
|
|
if = {
|
||
|
|
limit = { learning >= high_skill_rating }
|
||
|
|
add = 1
|
||
|
|
}
|
||
|
|
# Low skill.
|
||
|
|
if = {
|
||
|
|
limit = { learning <= mediocre_skill_rating }
|
||
|
|
add = -1
|
||
|
|
}
|
||
|
|
# Atrocious skill.
|
||
|
|
if = {
|
||
|
|
limit = { learning <= low_skill_rating }
|
||
|
|
add = -1
|
||
|
|
}
|
||
|
|
}
|
||
|
|
}
|
||
|
|
# Prowess.
|
||
|
|
else_if = {
|
||
|
|
limit = { scheme_skill = prowess }
|
||
|
|
scope:owner = {
|
||
|
|
# Excellent skill.
|
||
|
|
if = {
|
||
|
|
limit = { prowess >= extremely_high_skill_rating }
|
||
|
|
add = 1
|
||
|
|
}
|
||
|
|
# High skill.
|
||
|
|
if = {
|
||
|
|
limit = { prowess >= high_skill_rating }
|
||
|
|
add = 1
|
||
|
|
}
|
||
|
|
# Low skill.
|
||
|
|
if = {
|
||
|
|
limit = { prowess <= mediocre_skill_rating }
|
||
|
|
add = -1
|
||
|
|
}
|
||
|
|
# Atrocious skill.
|
||
|
|
if = {
|
||
|
|
limit = { prowess <= low_skill_rating }
|
||
|
|
add = -1
|
||
|
|
}
|
||
|
|
}
|
||
|
|
}
|
||
|
|
}
|
||
|
|
scheme_owner_aptitude_weight_up_negative_value = {
|
||
|
|
value = 1
|
||
|
|
# Diplomacy.
|
||
|
|
if = {
|
||
|
|
limit = { scheme_skill = diplomacy }
|
||
|
|
scope:owner = {
|
||
|
|
# Atrocious skill.
|
||
|
|
if = {
|
||
|
|
limit = { diplomacy <= low_skill_rating }
|
||
|
|
add = 1
|
||
|
|
}
|
||
|
|
# Low skill.
|
||
|
|
if = {
|
||
|
|
limit = { diplomacy <= mediocre_skill_rating }
|
||
|
|
add = 1
|
||
|
|
}
|
||
|
|
# High skill.
|
||
|
|
if = {
|
||
|
|
limit = { diplomacy >= high_skill_rating }
|
||
|
|
add = -1
|
||
|
|
}
|
||
|
|
# Excellent skill.
|
||
|
|
if = {
|
||
|
|
limit = { diplomacy >= extremely_high_skill_rating }
|
||
|
|
add = -1
|
||
|
|
}
|
||
|
|
}
|
||
|
|
}
|
||
|
|
# Martial.
|
||
|
|
else_if = {
|
||
|
|
limit = { scheme_skill = martial }
|
||
|
|
scope:owner = {
|
||
|
|
# Atrocious skill.
|
||
|
|
if = {
|
||
|
|
limit = { martial <= low_skill_rating }
|
||
|
|
add = 1
|
||
|
|
}
|
||
|
|
# Low skill.
|
||
|
|
if = {
|
||
|
|
limit = { martial <= mediocre_skill_rating }
|
||
|
|
add = 1
|
||
|
|
}
|
||
|
|
# High skill.
|
||
|
|
if = {
|
||
|
|
limit = { martial >= high_skill_rating }
|
||
|
|
add = -1
|
||
|
|
}
|
||
|
|
# Excellent skill.
|
||
|
|
if = {
|
||
|
|
limit = { martial >= extremely_high_skill_rating }
|
||
|
|
add = -1
|
||
|
|
}
|
||
|
|
}
|
||
|
|
}
|
||
|
|
# Stewardship.
|
||
|
|
else_if = {
|
||
|
|
limit = { scheme_skill = stewardship }
|
||
|
|
scope:owner = {
|
||
|
|
# Atrocious skill.
|
||
|
|
if = {
|
||
|
|
limit = { stewardship <= low_skill_rating }
|
||
|
|
add = 1
|
||
|
|
}
|
||
|
|
# Low skill.
|
||
|
|
if = {
|
||
|
|
limit = { stewardship <= mediocre_skill_rating }
|
||
|
|
add = 1
|
||
|
|
}
|
||
|
|
# High skill.
|
||
|
|
if = {
|
||
|
|
limit = { stewardship >= high_skill_rating }
|
||
|
|
add = -1
|
||
|
|
}
|
||
|
|
# Excellent skill.
|
||
|
|
if = {
|
||
|
|
limit = { stewardship >= extremely_high_skill_rating }
|
||
|
|
add = -1
|
||
|
|
}
|
||
|
|
}
|
||
|
|
}
|
||
|
|
# Intrigue.
|
||
|
|
else_if = {
|
||
|
|
limit = { scheme_skill = intrigue }
|
||
|
|
scope:owner = {
|
||
|
|
# Atrocious skill.
|
||
|
|
if = {
|
||
|
|
limit = { intrigue <= low_skill_rating }
|
||
|
|
add = 1
|
||
|
|
}
|
||
|
|
# Low skill.
|
||
|
|
if = {
|
||
|
|
limit = { intrigue <= mediocre_skill_rating }
|
||
|
|
add = 1
|
||
|
|
}
|
||
|
|
# High skill.
|
||
|
|
if = {
|
||
|
|
limit = { intrigue >= high_skill_rating }
|
||
|
|
add = -1
|
||
|
|
}
|
||
|
|
# Excellent skill.
|
||
|
|
if = {
|
||
|
|
limit = { intrigue >= extremely_high_skill_rating }
|
||
|
|
add = -1
|
||
|
|
}
|
||
|
|
}
|
||
|
|
}
|
||
|
|
# Learning.
|
||
|
|
else_if = {
|
||
|
|
limit = { scheme_skill = learning }
|
||
|
|
scope:owner = {
|
||
|
|
# Atrocious skill.
|
||
|
|
if = {
|
||
|
|
limit = { learning <= low_skill_rating }
|
||
|
|
add = 1
|
||
|
|
}
|
||
|
|
# Low skill.
|
||
|
|
if = {
|
||
|
|
limit = { learning <= mediocre_skill_rating }
|
||
|
|
add = 1
|
||
|
|
}
|
||
|
|
# High skill.
|
||
|
|
if = {
|
||
|
|
limit = { learning >= high_skill_rating }
|
||
|
|
add = -1
|
||
|
|
}
|
||
|
|
# Excellent skill.
|
||
|
|
if = {
|
||
|
|
limit = { learning >= extremely_high_skill_rating }
|
||
|
|
add = -1
|
||
|
|
}
|
||
|
|
}
|
||
|
|
}
|
||
|
|
# Prowess.
|
||
|
|
else_if = {
|
||
|
|
limit = { scheme_skill = prowess }
|
||
|
|
scope:owner = {
|
||
|
|
# Atrocious skill.
|
||
|
|
if = {
|
||
|
|
limit = { prowess <= low_skill_rating }
|
||
|
|
add = 1
|
||
|
|
}
|
||
|
|
# Low skill.
|
||
|
|
if = {
|
||
|
|
limit = { prowess <= mediocre_skill_rating }
|
||
|
|
add = 1
|
||
|
|
}
|
||
|
|
# High skill.
|
||
|
|
if = {
|
||
|
|
limit = { prowess >= high_skill_rating }
|
||
|
|
add = -1
|
||
|
|
}
|
||
|
|
# Excellent skill.
|
||
|
|
if = {
|
||
|
|
limit = { prowess >= extremely_high_skill_rating }
|
||
|
|
add = -1
|
||
|
|
}
|
||
|
|
}
|
||
|
|
}
|
||
|
|
}
|
||
|
|
|
||
|
|
# What's the chance of no APA firing each month of a scheme?
|
||
|
|
scheme_apa_chance_of_no_event_value = 90
|
||
|
|
|
||
|
|
# Control values for scheme APAs.
|
||
|
|
## Positive.
|
||
|
|
scheme_apa_modifier_positive_success_chance_value = 5
|
||
|
|
scheme_apa_modifier_positive_secrecy_value = 5
|
||
|
|
scheme_apa_modifier_positive_speed_value = -5
|
||
|
|
## Negative.
|
||
|
|
scheme_apa_modifier_negative_success_chance_value = -5
|
||
|
|
scheme_apa_modifier_negative_secrecy_value = -5
|
||
|
|
scheme_apa_modifier_negative_speed_value = 5
|
||
|
|
|
||
|
|
##################################################
|
||
|
|
# Countermeasure Values
|
||
|
|
|
||
|
|
countermeasure_disliked_by_trait_agenthood_acceptance_value = 25
|
||
|
|
|
||
|
|
countermeasure_scheme_category_success_chance_bonus_against_minor_value = -50
|
||
|
|
countermeasure_scheme_category_success_chance_bonus_against_medium_value = -100
|
||
|
|
countermeasure_scheme_category_success_chance_bonus_against_major_value = -150
|
||
|
|
|
||
|
|
countermeasure_scheme_category_success_chance_malus_against_minor_value = 10
|
||
|
|
countermeasure_scheme_category_success_chance_malus_against_medium_value = 15
|
||
|
|
countermeasure_scheme_category_success_chance_malus_against_major_value = 25
|
||
|
|
|
||
|
|
countermeasure_apply_secrecy_maluses_value = {
|
||
|
|
# Minor bonus to detection.
|
||
|
|
if = {
|
||
|
|
limit = {
|
||
|
|
countermeasure_parametre_applies_againt_char_trigger = {
|
||
|
|
SCHEME_TARGET = scope:target
|
||
|
|
SCHEME_OWNER = scope:owner
|
||
|
|
PARAMETER = secrecy_vs_all_schemes_bonus_minor
|
||
|
|
}
|
||
|
|
}
|
||
|
|
add = {
|
||
|
|
value = countermeasure_apply_secrecy_maluse_minor_value
|
||
|
|
desc = countermeasures_in_target_court.tt.secrecy
|
||
|
|
}
|
||
|
|
}
|
||
|
|
# Medium bonus to detection.
|
||
|
|
if = {
|
||
|
|
limit = {
|
||
|
|
countermeasure_parametre_applies_againt_char_trigger = {
|
||
|
|
SCHEME_TARGET = scope:target
|
||
|
|
SCHEME_OWNER = scope:owner
|
||
|
|
PARAMETER = secrecy_vs_all_schemes_bonus_medium
|
||
|
|
}
|
||
|
|
}
|
||
|
|
add = {
|
||
|
|
value = countermeasure_apply_secrecy_maluse_medium_value
|
||
|
|
desc = countermeasures_in_target_court.tt.secrecy
|
||
|
|
}
|
||
|
|
}
|
||
|
|
# Major bonus to detection.
|
||
|
|
if = {
|
||
|
|
limit = {
|
||
|
|
countermeasure_parametre_applies_againt_char_trigger = {
|
||
|
|
SCHEME_TARGET = scope:target
|
||
|
|
SCHEME_OWNER = scope:owner
|
||
|
|
PARAMETER = secrecy_vs_all_schemes_bonus_major
|
||
|
|
}
|
||
|
|
}
|
||
|
|
add = {
|
||
|
|
value = countermeasure_apply_secrecy_maluse_major_value
|
||
|
|
desc = countermeasures_in_target_court.tt.secrecy
|
||
|
|
}
|
||
|
|
}
|
||
|
|
}
|
||
|
|
|
||
|
|
# Lifestyle Perk
|
||
|
|
realm_charts_perk_value = 35
|
||
|
|
secrecy_charting_realm_increase_value = {
|
||
|
|
if = {
|
||
|
|
limit = {
|
||
|
|
scope:owner = {
|
||
|
|
has_perk = realm_charts_perk
|
||
|
|
}
|
||
|
|
scope:target ?= {
|
||
|
|
top_liege = scope:owner.top_liege
|
||
|
|
}
|
||
|
|
}
|
||
|
|
add = {
|
||
|
|
value = realm_charts_perk_value
|
||
|
|
desc = realm_chart_perk_same_realm_secrecy
|
||
|
|
}
|
||
|
|
}
|
||
|
|
}
|
||
|
|
|
||
|
|
# We use separate values so we can display them in loc too.
|
||
|
|
countermeasure_apply_secrecy_maluse_minor_value = -15
|
||
|
|
countermeasure_apply_secrecy_maluse_medium_value = -25
|
||
|
|
countermeasure_apply_secrecy_maluse_major_value = -35
|
||
|
|
|
||
|
|
# We use a script value instead of inline maths for this because for some reason _specifically_ the courtly and parochial vassal stances don't like in-line vassals.
|
||
|
|
dislikes_countermeasure_opinion_value = -30
|
||
|
|
dislikes_countermeasure_opinion_lowered_value = -20
|
||
|
|
dislikes_countermeasure_opinion_lowered_further_value = -10
|
||
|
|
dislikes_countermeasure_county_opinion_value = -40
|
||
|
|
dislikes_countermeasure_county_opinion_lowered_value = -30
|
||
|
|
dislikes_countermeasure_county_opinion_lowered_further_value = -20
|
||
|
|
|
||
|
|
# Controls when the AI will and won't use certain countermeasures.
|
||
|
|
## Prioritise what values are active.
|
||
|
|
### These don't all need to be script values, I've only done it so that they're all grouped next to each other for easy visualisation.
|
||
|
|
countermeasure_ai_will_do_prio4 = 80
|
||
|
|
countermeasure_ai_will_do_prio3 = 60
|
||
|
|
countermeasure_ai_will_do_prio2 = 40
|
||
|
|
countermeasure_ai_will_do_prio1 = 20
|
||
|
|
### We originally had this lower but it causes maddening stretching in debug mode.
|
||
|
|
countermeasure_ai_will_do_prio0 = -20
|
||
|
|
## Then we distribute these values out nicely between the different countermeasures.
|
||
|
|
ai_will_do_bounties_for_whispers_value = {
|
||
|
|
if = {
|
||
|
|
limit = {
|
||
|
|
should_ai_take_preemptive_countermeasures_trigger = yes
|
||
|
|
OR = {
|
||
|
|
has_trait = deceitful
|
||
|
|
has_trait = craven
|
||
|
|
}
|
||
|
|
NOR = {
|
||
|
|
has_trait = honest
|
||
|
|
has_trait = brave
|
||
|
|
has_trait = trusting
|
||
|
|
}
|
||
|
|
}
|
||
|
|
add = countermeasure_ai_will_do_prio1
|
||
|
|
}
|
||
|
|
else = { add = countermeasure_ai_will_do_prio0 }
|
||
|
|
}
|
||
|
|
ai_will_do_arbitrary_arrests_value = {
|
||
|
|
if = {
|
||
|
|
limit = {
|
||
|
|
should_ai_take_preemptive_countermeasures_trigger = yes
|
||
|
|
OR = {
|
||
|
|
has_trait = arbitrary
|
||
|
|
has_trait = paranoid
|
||
|
|
}
|
||
|
|
NOR = {
|
||
|
|
has_trait = just
|
||
|
|
has_trait = trusting
|
||
|
|
}
|
||
|
|
}
|
||
|
|
add = countermeasure_ai_will_do_prio1
|
||
|
|
}
|
||
|
|
else = { add = countermeasure_ai_will_do_prio0 }
|
||
|
|
}
|
||
|
|
ai_will_do_strengthen_sentries_value = {
|
||
|
|
if = {
|
||
|
|
limit = {
|
||
|
|
# Don't do this if we've already deployed countermeasures.
|
||
|
|
NOT = { has_scheme_countermeasure_parameter = has_aggressive_countermeasure_active }
|
||
|
|
# Then actually check to see if the scheme'd be appropriate for this.
|
||
|
|
any_targeting_scheme = {
|
||
|
|
is_scheme_exposed = yes
|
||
|
|
var:apply_countermeasures ?= flag:opportunistic
|
||
|
|
}
|
||
|
|
}
|
||
|
|
add = countermeasure_ai_will_do_prio3
|
||
|
|
}
|
||
|
|
else = { add = countermeasure_ai_will_do_prio0 }
|
||
|
|
}
|
||
|
|
ai_will_do_strengthen_sentries_for_courtier_value = {
|
||
|
|
if = {
|
||
|
|
limit = {
|
||
|
|
any_in_list = {
|
||
|
|
variable = host_should_prevent_seduce_schemes_list
|
||
|
|
host ?= prev
|
||
|
|
}
|
||
|
|
}
|
||
|
|
add = countermeasure_ai_will_do_prio2
|
||
|
|
}
|
||
|
|
}
|
||
|
|
ai_will_do_redouble_guards_value = {
|
||
|
|
if = {
|
||
|
|
limit = {
|
||
|
|
# We don't care about dpeloyed countermeasures here: guard against murders even if there's a seduction already happening.
|
||
|
|
any_targeting_scheme = {
|
||
|
|
is_scheme_exposed = yes
|
||
|
|
var:apply_countermeasures ?= flag:calculating
|
||
|
|
}
|
||
|
|
}
|
||
|
|
add = countermeasure_ai_will_do_prio4
|
||
|
|
}
|
||
|
|
else = { add = countermeasure_ai_will_do_prio0 }
|
||
|
|
}
|
||
|
|
ai_will_do_redouble_guards_for_courtier_value = {
|
||
|
|
if = {
|
||
|
|
limit = {
|
||
|
|
any_in_list = {
|
||
|
|
variable = host_should_prevent_murder_schemes_list
|
||
|
|
host ?= prev
|
||
|
|
}
|
||
|
|
}
|
||
|
|
add = countermeasure_ai_will_do_prio2
|
||
|
|
}
|
||
|
|
}
|
||
|
|
ai_will_do_withdraw_from_view_value = {
|
||
|
|
if = {
|
||
|
|
limit = {
|
||
|
|
any_targeting_scheme = {
|
||
|
|
is_scheme_exposed = yes
|
||
|
|
OR = {
|
||
|
|
var:apply_countermeasures ?= flag:calculating
|
||
|
|
var:apply_countermeasures ?= flag:opportunistic
|
||
|
|
}
|
||
|
|
}
|
||
|
|
OR = {
|
||
|
|
has_trait = humble
|
||
|
|
has_trait = shy
|
||
|
|
has_trait = eccentric
|
||
|
|
}
|
||
|
|
NOR = {
|
||
|
|
has_trait = arrogant
|
||
|
|
has_trait = gregarious
|
||
|
|
has_trait = stubborn
|
||
|
|
has_trait = trusting
|
||
|
|
}
|
||
|
|
}
|
||
|
|
add = countermeasure_ai_will_do_prio1
|
||
|
|
}
|
||
|
|
else = { add = countermeasure_ai_will_do_prio0 }
|
||
|
|
}
|
||
|
|
|
||
|
|
##################################################
|
||
|
|
# Murder Values
|
||
|
|
|
||
|
|
# How much automatic stress loss do we give a character, before traits, upon successfully murdering someone?
|
||
|
|
murder_base_stress_value = {
|
||
|
|
# If our imaginary friend told us to do it, then we lose a lot.
|
||
|
|
if = {
|
||
|
|
limit = { scope:owner.var:imaginary_friend_murder_target ?= scope:target }
|
||
|
|
add = major_stress_impact_loss
|
||
|
|
}
|
||
|
|
# Or a moderate gain if we've been caught and this is our first time.
|
||
|
|
else_if = {
|
||
|
|
limit = {
|
||
|
|
exists = scope:scheme_discovered
|
||
|
|
NOT = { has_trait = murderer }
|
||
|
|
}
|
||
|
|
add = medium_stress_impact_gain
|
||
|
|
}
|
||
|
|
# Else we're a repeat offender, so we care less.
|
||
|
|
else_if = {
|
||
|
|
limit = { exists = scope:scheme_discovered }
|
||
|
|
add = minor_stress_impact_gain
|
||
|
|
}
|
||
|
|
# Otherwise, a moderate loss.
|
||
|
|
else = { add = medium_stress_impact_loss }
|
||
|
|
}
|
||
|
|
|
||
|
|
# Which bodyguard is best poised to come to their liege's defence?
|
||
|
|
murder_weight_best_bodyguard_value = {
|
||
|
|
add = prowess
|
||
|
|
add = {
|
||
|
|
value = ai_boldness
|
||
|
|
# To bring us in line with skill scaling.
|
||
|
|
multiply = 0.25
|
||
|
|
}
|
||
|
|
add = {
|
||
|
|
value = "opinion(scope:target)"
|
||
|
|
# To bring us roughly in line with skill scaling.
|
||
|
|
multiply = 0.25
|
||
|
|
}
|
||
|
|
if = {
|
||
|
|
limit = { has_trait = loyal }
|
||
|
|
add = 25
|
||
|
|
}
|
||
|
|
}
|
||
|
|
|
||
|
|
# How much prestige do you get for successfully murdering a rival?
|
||
|
|
rival_outlived_prestige_value = medium_prestige_gain
|
||
|
|
|
||
|
|
##################################################
|
||
|
|
# Odds Values
|
||
|
|
|
||
|
|
base_odds_prediction_target_is_title_value = {
|
||
|
|
if = {
|
||
|
|
limit = { # Target is a landed title
|
||
|
|
exists = scope:target.holder
|
||
|
|
}
|
||
|
|
scope:target ?= {
|
||
|
|
holder = { save_temporary_scope_as = temp_target }
|
||
|
|
}
|
||
|
|
}
|
||
|
|
else_if = { # Title is a province
|
||
|
|
limit = {
|
||
|
|
exists = scope:target.province_owner
|
||
|
|
}
|
||
|
|
scope:target ?= {
|
||
|
|
province_owner = { save_temporary_scope_as = temp_target }
|
||
|
|
}
|
||
|
|
}
|
||
|
|
else_if = { #
|
||
|
|
limit = {
|
||
|
|
scope:target = {
|
||
|
|
any_de_jure_top_liege = {
|
||
|
|
exists = this
|
||
|
|
save_temporary_scope_as = de_jure_liege
|
||
|
|
}
|
||
|
|
}
|
||
|
|
}
|
||
|
|
scope:de_jure_liege = {
|
||
|
|
save_temporary_scope_as = temp_target
|
||
|
|
}
|
||
|
|
}
|
||
|
|
add = base_odds_prediction_guts_value
|
||
|
|
}
|
||
|
|
|
||
|
|
base_odds_prediction_target_is_char_value = {
|
||
|
|
scope:target ?= { save_temporary_scope_as = temp_target }
|
||
|
|
add = base_odds_prediction_guts_value
|
||
|
|
}
|
||
|
|
|
||
|
|
# For non-hostile, non-secret schemes (generally non-intrigue too).
|
||
|
|
base_odds_prediction_guts_value = {
|
||
|
|
add = {
|
||
|
|
value = {
|
||
|
|
scope:temp_target = { value = "opinion(scope:owner)" }
|
||
|
|
multiply = 0.2
|
||
|
|
floor = yes
|
||
|
|
}
|
||
|
|
desc = scheme_odds.target.opinion_of_owner
|
||
|
|
}
|
||
|
|
add = {
|
||
|
|
value = {
|
||
|
|
value = scope:temp_target.highest_held_title_tier
|
||
|
|
# Barons aren't imposing at all.
|
||
|
|
add = -1
|
||
|
|
# Don't give a bonus just for someone being a courtier and call it a tier thing.
|
||
|
|
min = 0
|
||
|
|
}
|
||
|
|
desc = scheme_odds.target.tier
|
||
|
|
multiply = -5
|
||
|
|
}
|
||
|
|
if = {
|
||
|
|
limit = {
|
||
|
|
scope:owner = {
|
||
|
|
exists = scope:temp_target.cp:councillor_spymaster
|
||
|
|
scope:temp_target.cp:councillor_spymaster = this
|
||
|
|
}
|
||
|
|
}
|
||
|
|
add = {
|
||
|
|
value = 12
|
||
|
|
desc = scheme_odds.owner.is_target_spymaster
|
||
|
|
}
|
||
|
|
}
|
||
|
|
if = {
|
||
|
|
limit = {
|
||
|
|
scope:temp_target = {
|
||
|
|
is_landed_or_landless_administrative = no
|
||
|
|
}
|
||
|
|
scope:owner = {
|
||
|
|
exists = scope:temp_target.liege.cp:councillor_spymaster
|
||
|
|
scope:temp_target.liege.cp:councillor_spymaster = this
|
||
|
|
}
|
||
|
|
}
|
||
|
|
add = {
|
||
|
|
value = 8
|
||
|
|
desc = scheme_odds.owner.is_target_liege_spymaster
|
||
|
|
}
|
||
|
|
}
|
||
|
|
if = {
|
||
|
|
limit = {
|
||
|
|
scope:temp_target = {
|
||
|
|
is_landed_or_landless_administrative = no
|
||
|
|
}
|
||
|
|
scope:owner = {
|
||
|
|
exists = scope:temp_target.host.cp:councillor_spymaster
|
||
|
|
scope:temp_target.host.cp:councillor_spymaster = this
|
||
|
|
}
|
||
|
|
}
|
||
|
|
add = {
|
||
|
|
value = 8
|
||
|
|
desc = scheme_odds.owner.is_target_host_spymaster
|
||
|
|
}
|
||
|
|
}
|
||
|
|
if = {
|
||
|
|
limit = {
|
||
|
|
scope:owner = {
|
||
|
|
has_relation_guardian = scope:temp_target
|
||
|
|
}
|
||
|
|
}
|
||
|
|
add = {
|
||
|
|
value = 8
|
||
|
|
desc = scheme_odds.owner.relation.owner_is_guardian_of_target
|
||
|
|
}
|
||
|
|
}
|
||
|
|
if = {
|
||
|
|
limit = {
|
||
|
|
scope:owner = { is_diarch_of_target = scope:temp_target }
|
||
|
|
}
|
||
|
|
add = {
|
||
|
|
value = 5
|
||
|
|
desc = scheme_odds.owner.relation.owner_is_diarch_of_target
|
||
|
|
}
|
||
|
|
}
|
||
|
|
if = {
|
||
|
|
limit = {
|
||
|
|
scope:temp_target = {
|
||
|
|
is_ruler = no
|
||
|
|
}
|
||
|
|
exists = scope:temp_target.liege
|
||
|
|
scope:temp_target.liege = scope:owner
|
||
|
|
}
|
||
|
|
add = {
|
||
|
|
value = 10
|
||
|
|
desc = scheme_odds.owner.relation.owner_is_liege_of_target
|
||
|
|
}
|
||
|
|
}
|
||
|
|
if = {
|
||
|
|
limit = {
|
||
|
|
scope:owner = {
|
||
|
|
is_councillor_of = scope:temp_target
|
||
|
|
}
|
||
|
|
}
|
||
|
|
add = {
|
||
|
|
value = 10
|
||
|
|
desc = scheme_odds.owner.relation.owner_is_councillor_of_target
|
||
|
|
}
|
||
|
|
}
|
||
|
|
if = {
|
||
|
|
limit = {
|
||
|
|
scope:owner = {
|
||
|
|
has_relation_lover = scope:temp_target
|
||
|
|
}
|
||
|
|
}
|
||
|
|
add = {
|
||
|
|
value = 10
|
||
|
|
desc = scheme_odds.owner.relation.owner_is_lover_of_target
|
||
|
|
}
|
||
|
|
}
|
||
|
|
if = {
|
||
|
|
limit = {
|
||
|
|
scope:owner = {
|
||
|
|
is_spouse_of = scope:temp_target
|
||
|
|
}
|
||
|
|
}
|
||
|
|
add = {
|
||
|
|
value = 10
|
||
|
|
desc = scheme_odds.owner.relation.owner_is_spouse_of_target
|
||
|
|
}
|
||
|
|
}
|
||
|
|
if = {
|
||
|
|
limit = {
|
||
|
|
scope:owner = {
|
||
|
|
is_consort_of = scope:temp_target
|
||
|
|
NOT = { is_spouse_of = scope:temp_target }
|
||
|
|
}
|
||
|
|
}
|
||
|
|
add = {
|
||
|
|
value = 5
|
||
|
|
desc = scheme_odds.owner.relation.owner_is_consort_of_target
|
||
|
|
}
|
||
|
|
}
|
||
|
|
if = {
|
||
|
|
limit = {
|
||
|
|
scope:owner = {
|
||
|
|
is_close_family_of = scope:temp_target
|
||
|
|
}
|
||
|
|
}
|
||
|
|
add = {
|
||
|
|
value = 5
|
||
|
|
desc = scheme_odds.owner.relation.owner_is_close_family_of_target
|
||
|
|
}
|
||
|
|
}
|
||
|
|
}
|
||
|
|
|
||
|
|
agent_groups_owner_perspective_value = {
|
||
|
|
scope:owner = {
|
||
|
|
# We need to check the any's here to avoid +0s if there's no valid chars.
|
||
|
|
if = {
|
||
|
|
limit = {
|
||
|
|
OR = {
|
||
|
|
any_courtier_or_guest = { is_valid_agent_standard_trigger = yes }
|
||
|
|
any_relation = {
|
||
|
|
type = friend
|
||
|
|
is_valid_agent_standard_trigger = yes
|
||
|
|
}
|
||
|
|
any_relation = {
|
||
|
|
type = lover
|
||
|
|
is_valid_agent_standard_trigger = yes
|
||
|
|
}
|
||
|
|
}
|
||
|
|
|
||
|
|
}
|
||
|
|
add = {
|
||
|
|
value = 1
|
||
|
|
multiply = {
|
||
|
|
value = 0
|
||
|
|
if = {
|
||
|
|
limit = {
|
||
|
|
any_courtier_or_guest = { is_valid_agent_standard_trigger = yes }
|
||
|
|
}
|
||
|
|
every_courtier_or_guest = {
|
||
|
|
limit = { is_valid_agent_standard_trigger = yes }
|
||
|
|
add = 1
|
||
|
|
}
|
||
|
|
}
|
||
|
|
if = {
|
||
|
|
limit = {
|
||
|
|
any_relation = {
|
||
|
|
type = friend
|
||
|
|
is_valid_agent_standard_trigger = yes
|
||
|
|
}
|
||
|
|
}
|
||
|
|
every_relation = {
|
||
|
|
type = friend
|
||
|
|
limit = { is_valid_agent_standard_trigger = yes }
|
||
|
|
add = 1
|
||
|
|
}
|
||
|
|
}
|
||
|
|
if = {
|
||
|
|
limit = {
|
||
|
|
any_relation = {
|
||
|
|
type = lover
|
||
|
|
is_valid_agent_standard_trigger = yes
|
||
|
|
}
|
||
|
|
}
|
||
|
|
every_relation = {
|
||
|
|
type = lover
|
||
|
|
limit = { is_valid_agent_standard_trigger = yes }
|
||
|
|
add = 1
|
||
|
|
}
|
||
|
|
}
|
||
|
|
max = 5
|
||
|
|
}
|
||
|
|
desc = scheme_odds.agents.owner.number_of_valid_courtiers_agents
|
||
|
|
}
|
||
|
|
}
|
||
|
|
}
|
||
|
|
}
|
||
|
|
|
||
|
|
agent_groups_target_character_perspective_value = {
|
||
|
|
if = {
|
||
|
|
limit = {
|
||
|
|
scope:scheme ?= {
|
||
|
|
is_scheme_target_type = title
|
||
|
|
}
|
||
|
|
}
|
||
|
|
scope:scheme ?= {
|
||
|
|
scheme_target_title.holder ?= { save_temporary_scope_as = target }
|
||
|
|
}
|
||
|
|
}
|
||
|
|
scope:target = {
|
||
|
|
# We need to check the any's here to avoid +0s if there's no valid chars.
|
||
|
|
if = {
|
||
|
|
limit = {
|
||
|
|
any_courtier = { is_valid_agent_standard_trigger = yes }
|
||
|
|
}
|
||
|
|
add = {
|
||
|
|
value = 3
|
||
|
|
multiply = {
|
||
|
|
value = 0
|
||
|
|
every_courtier = {
|
||
|
|
limit = { is_valid_agent_standard_trigger = yes }
|
||
|
|
add = 1
|
||
|
|
}
|
||
|
|
max = 5
|
||
|
|
}
|
||
|
|
desc = scheme_odds.agents.target.number_of_valid_courtiers_agents
|
||
|
|
}
|
||
|
|
}
|
||
|
|
if = {
|
||
|
|
limit = {
|
||
|
|
any_vassal = { is_valid_agent_standard_trigger = yes }
|
||
|
|
}
|
||
|
|
add = {
|
||
|
|
value = 2
|
||
|
|
multiply = {
|
||
|
|
value = 0
|
||
|
|
every_vassal = {
|
||
|
|
limit = { is_valid_agent_standard_trigger = yes }
|
||
|
|
add = 1
|
||
|
|
}
|
||
|
|
max = 5
|
||
|
|
}
|
||
|
|
desc = scheme_odds.agents.target.number_of_valid_vassal_agents
|
||
|
|
}
|
||
|
|
}
|
||
|
|
}
|
||
|
|
}
|
||
|
|
|
||
|
|
hostile_scheme_base_odds_prediction_target_is_title_value = {
|
||
|
|
if = {
|
||
|
|
limit = { # Target is a landed title
|
||
|
|
exists = scope:target.holder
|
||
|
|
}
|
||
|
|
scope:target ?= {
|
||
|
|
holder = { save_temporary_scope_as = temp_target }
|
||
|
|
}
|
||
|
|
}
|
||
|
|
else_if = { # Title is a province
|
||
|
|
limit = {
|
||
|
|
exists = scope:target.province_owner
|
||
|
|
}
|
||
|
|
scope:target ?= {
|
||
|
|
province_owner = { save_temporary_scope_as = temp_target }
|
||
|
|
}
|
||
|
|
}
|
||
|
|
else_if = { #
|
||
|
|
limit = {
|
||
|
|
scope:target = {
|
||
|
|
any_de_jure_top_liege = {
|
||
|
|
exists = this
|
||
|
|
save_temporary_scope_as = de_jure_liege
|
||
|
|
}
|
||
|
|
}
|
||
|
|
}
|
||
|
|
scope:de_jure_liege = {
|
||
|
|
save_temporary_scope_as = temp_target
|
||
|
|
}
|
||
|
|
}
|
||
|
|
add = hostile_scheme_base_odds_prediction_guts_value
|
||
|
|
}
|
||
|
|
|
||
|
|
hostile_scheme_base_odds_prediction_target_is_char_value = {
|
||
|
|
scope:target ?= { save_temporary_scope_as = temp_target }
|
||
|
|
add = hostile_scheme_base_odds_prediction_guts_value
|
||
|
|
}
|
||
|
|
|
||
|
|
hostile_scheme_base_odds_prediction_guts_value = {
|
||
|
|
if = {
|
||
|
|
limit = {
|
||
|
|
exists = scope:temp_target.primary_title
|
||
|
|
scope:temp_target.primary_title.tier = tier_empire
|
||
|
|
}
|
||
|
|
add = {
|
||
|
|
value = -40
|
||
|
|
desc = scheme_odds.target.tier
|
||
|
|
}
|
||
|
|
}
|
||
|
|
else_if = {
|
||
|
|
limit = {
|
||
|
|
exists = scope:temp_target.primary_title
|
||
|
|
scope:temp_target.primary_title.tier = tier_kingdom
|
||
|
|
}
|
||
|
|
add = {
|
||
|
|
value = -30
|
||
|
|
desc = scheme_odds.target.tier
|
||
|
|
}
|
||
|
|
}
|
||
|
|
else_if = {
|
||
|
|
limit = {
|
||
|
|
exists = scope:temp_target.primary_title
|
||
|
|
scope:temp_target.primary_title.tier = tier_duchy
|
||
|
|
}
|
||
|
|
add = {
|
||
|
|
value = -20
|
||
|
|
desc = scheme_odds.target.tier
|
||
|
|
}
|
||
|
|
}
|
||
|
|
|
||
|
|
if = { # Minor Lifestyle Perk protection for Courtiers
|
||
|
|
limit = {
|
||
|
|
scope:temp_target = {
|
||
|
|
is_alive = yes
|
||
|
|
is_ruler = no
|
||
|
|
exists = court_owner
|
||
|
|
court_owner = {
|
||
|
|
has_perk = prepared_for_anything_perk
|
||
|
|
}
|
||
|
|
NOT = { court_owner = scope:owner }
|
||
|
|
NOT = { has_perk = prepared_for_anything_perk }
|
||
|
|
}
|
||
|
|
}
|
||
|
|
add = {
|
||
|
|
value = 0
|
||
|
|
desc = scheme_odds.target.court_owner_has_prepared_for_anything_perk
|
||
|
|
subtract = prepared_for_anything_perk_secondary_percentage
|
||
|
|
}
|
||
|
|
}
|
||
|
|
if = {
|
||
|
|
limit = { # Bonus for murdering Pool characters, as you can't have agents against them
|
||
|
|
scope:temp_target = {
|
||
|
|
is_pool_character = yes
|
||
|
|
NOT = { intrigue >= very_high_skill_rating }
|
||
|
|
}
|
||
|
|
}
|
||
|
|
add = {
|
||
|
|
value = 25
|
||
|
|
desc = scheme_odds.target.is_pool_char
|
||
|
|
}
|
||
|
|
}
|
||
|
|
|
||
|
|
if = { # FP3 legacy track bonus for murdering dynasty members
|
||
|
|
limit = {
|
||
|
|
scope:temp_target = {
|
||
|
|
exists = dynasty
|
||
|
|
exists = scope:owner.dynasty
|
||
|
|
dynasty = scope:owner.dynasty
|
||
|
|
dynasty = { has_dynasty_perk = fp3_khvarenah_legacy_2 }
|
||
|
|
}
|
||
|
|
}
|
||
|
|
add = {
|
||
|
|
value = 10
|
||
|
|
desc = scheme_odds.owner.dynasty_legacy_kinslaying_bonus_from_fp3_khvarenah_legacy_2
|
||
|
|
}
|
||
|
|
}
|
||
|
|
|
||
|
|
if = { # Essentially the Base
|
||
|
|
limit = {
|
||
|
|
scope:owner = {
|
||
|
|
exists = scope:temp_target.cp:councillor_spymaster
|
||
|
|
scope:temp_target.cp:councillor_spymaster = this
|
||
|
|
}
|
||
|
|
}
|
||
|
|
add = {
|
||
|
|
value = 75
|
||
|
|
desc = scheme_odds.owner.is_target_spymaster
|
||
|
|
}
|
||
|
|
}
|
||
|
|
if = {
|
||
|
|
limit = {
|
||
|
|
scope:temp_target = {
|
||
|
|
is_landed_or_landless_administrative = no
|
||
|
|
}
|
||
|
|
scope:owner = {
|
||
|
|
exists = scope:temp_target.liege.cp:councillor_spymaster
|
||
|
|
scope:temp_target.liege.cp:councillor_spymaster = this
|
||
|
|
}
|
||
|
|
}
|
||
|
|
add = {
|
||
|
|
value = 75
|
||
|
|
desc = scheme_odds.owner.is_target_liege_spymaster
|
||
|
|
}
|
||
|
|
}
|
||
|
|
if = {
|
||
|
|
limit = {
|
||
|
|
scope:temp_target = {
|
||
|
|
is_landed_or_landless_administrative = no
|
||
|
|
}
|
||
|
|
scope:owner = {
|
||
|
|
exists = scope:temp_target.host.cp:councillor_spymaster
|
||
|
|
scope:temp_target.host.cp:councillor_spymaster = this
|
||
|
|
}
|
||
|
|
}
|
||
|
|
add = {
|
||
|
|
value = 75
|
||
|
|
desc = scheme_odds.owner.is_target_host_spymaster
|
||
|
|
}
|
||
|
|
}
|
||
|
|
if = {
|
||
|
|
limit = {
|
||
|
|
scope:owner = {
|
||
|
|
has_relation_guardian = scope:temp_target
|
||
|
|
}
|
||
|
|
}
|
||
|
|
add = {
|
||
|
|
value = 75
|
||
|
|
desc = scheme_odds.owner.relation.owner_is_guardian_of_target
|
||
|
|
}
|
||
|
|
}
|
||
|
|
if = {
|
||
|
|
limit = {
|
||
|
|
scope:owner = { is_diarch_of_target = scope:temp_target }
|
||
|
|
}
|
||
|
|
add = {
|
||
|
|
value = 50
|
||
|
|
desc = scheme_odds.owner.relation.owner_is_diarch_of_target
|
||
|
|
}
|
||
|
|
}
|
||
|
|
if = {
|
||
|
|
limit = {
|
||
|
|
scope:temp_target = {
|
||
|
|
is_ruler = no
|
||
|
|
}
|
||
|
|
exists = scope:temp_target.liege
|
||
|
|
scope:temp_target.liege = scope:owner
|
||
|
|
}
|
||
|
|
add = {
|
||
|
|
value = 25
|
||
|
|
desc = scheme_odds.owner.relation.owner_is_liege_of_target
|
||
|
|
}
|
||
|
|
}
|
||
|
|
if = {
|
||
|
|
limit = {
|
||
|
|
scope:owner = {
|
||
|
|
is_councillor_of = scope:temp_target
|
||
|
|
}
|
||
|
|
}
|
||
|
|
add = {
|
||
|
|
value = 15
|
||
|
|
desc = scheme_odds.owner.relation.owner_is_councillor_of_target
|
||
|
|
}
|
||
|
|
}
|
||
|
|
if = {
|
||
|
|
limit = {
|
||
|
|
scope:owner = {
|
||
|
|
has_relation_lover = scope:temp_target
|
||
|
|
}
|
||
|
|
}
|
||
|
|
add = {
|
||
|
|
value = 15
|
||
|
|
desc = scheme_odds.owner.relation.owner_is_lover_of_target
|
||
|
|
}
|
||
|
|
}
|
||
|
|
if = {
|
||
|
|
limit = {
|
||
|
|
scope:owner = {
|
||
|
|
is_spouse_of = scope:temp_target
|
||
|
|
}
|
||
|
|
}
|
||
|
|
add = {
|
||
|
|
value = 10
|
||
|
|
desc = scheme_odds.owner.relation.owner_is_spouse_of_target
|
||
|
|
}
|
||
|
|
}
|
||
|
|
if = {
|
||
|
|
limit = {
|
||
|
|
scope:owner = {
|
||
|
|
is_consort_of = scope:temp_target
|
||
|
|
}
|
||
|
|
}
|
||
|
|
add = {
|
||
|
|
value = 5
|
||
|
|
desc = scheme_odds.owner.relation.owner_is_consort_of_target
|
||
|
|
}
|
||
|
|
}
|
||
|
|
if = {
|
||
|
|
limit = {
|
||
|
|
scope:owner = {
|
||
|
|
is_close_family_of = scope:temp_target
|
||
|
|
}
|
||
|
|
}
|
||
|
|
add = {
|
||
|
|
value = 5
|
||
|
|
desc = scheme_odds.owner.relation.owner_is_close_family_of_target
|
||
|
|
}
|
||
|
|
}
|
||
|
|
|
||
|
|
# Vengeful Bonus
|
||
|
|
if = {
|
||
|
|
limit = {
|
||
|
|
scope:owner = {
|
||
|
|
has_trait = vengeful
|
||
|
|
OR = {
|
||
|
|
has_relation_rival = scope:temp_target
|
||
|
|
has_relation_nemesis = scope:temp_target
|
||
|
|
}
|
||
|
|
}
|
||
|
|
}
|
||
|
|
add = {
|
||
|
|
value = vengeful_scheme_success_chance_modifier
|
||
|
|
desc = scheme_odds.trait.owner.vengeful
|
||
|
|
}
|
||
|
|
}
|
||
|
|
# Paranoid Malus
|
||
|
|
if = {
|
||
|
|
limit = {
|
||
|
|
scope:temp_target ?= {
|
||
|
|
has_trait = paranoid
|
||
|
|
OR = {
|
||
|
|
has_relation_rival = scope:temp_target
|
||
|
|
has_relation_nemesis = scope:temp_target
|
||
|
|
}
|
||
|
|
}
|
||
|
|
}
|
||
|
|
add = {
|
||
|
|
value = -20
|
||
|
|
desc = scheme_odds.trait.target.paranoid
|
||
|
|
}
|
||
|
|
}
|
||
|
|
|
||
|
|
if = {
|
||
|
|
limit = {
|
||
|
|
scope:owner = {
|
||
|
|
culture = {
|
||
|
|
has_cultural_parameter = hostile_action_vs_rival_bonuses
|
||
|
|
}
|
||
|
|
OR = {
|
||
|
|
has_relation_rival = scope:temp_target
|
||
|
|
has_relation_nemesis = scope:temp_target
|
||
|
|
}
|
||
|
|
}
|
||
|
|
}
|
||
|
|
add = {
|
||
|
|
value = 15
|
||
|
|
desc = scheme_odds.culture.owner.hostile_scheme_bonuses_vs_rivals
|
||
|
|
}
|
||
|
|
}
|
||
|
|
|
||
|
|
if = {
|
||
|
|
limit = {# Culture Bonus
|
||
|
|
scope:owner = {
|
||
|
|
culture = {
|
||
|
|
has_cultural_parameter = hostile_scheme_success_chance_vs_spouse_penalty
|
||
|
|
}
|
||
|
|
is_spouse_of = scope:temp_target
|
||
|
|
}
|
||
|
|
}
|
||
|
|
add = {
|
||
|
|
value = -50
|
||
|
|
desc = scheme_odds.culture.owner.hostile_scheme_maluses_vs_spouse
|
||
|
|
}
|
||
|
|
}
|
||
|
|
|
||
|
|
# Difficulty
|
||
|
|
if = {
|
||
|
|
limit = {
|
||
|
|
has_game_rule = easy_difficulty
|
||
|
|
scope:owner = {
|
||
|
|
is_ai = yes
|
||
|
|
}
|
||
|
|
scope:temp_target = {
|
||
|
|
is_ai = no
|
||
|
|
}
|
||
|
|
}
|
||
|
|
add = {
|
||
|
|
value = -25
|
||
|
|
desc = scheme_odds.game_difficulty.easy
|
||
|
|
}
|
||
|
|
}
|
||
|
|
|
||
|
|
if = {
|
||
|
|
limit = {
|
||
|
|
has_game_rule = very_easy_difficulty
|
||
|
|
scope:owner = {
|
||
|
|
is_ai = yes
|
||
|
|
}
|
||
|
|
scope:temp_target = {
|
||
|
|
is_ai = no
|
||
|
|
}
|
||
|
|
}
|
||
|
|
add = {
|
||
|
|
value = -75
|
||
|
|
desc = scheme_odds.game_difficult.very_easy
|
||
|
|
}
|
||
|
|
}
|
||
|
|
|
||
|
|
# Struggle
|
||
|
|
if = {
|
||
|
|
limit = {
|
||
|
|
scope:owner = {
|
||
|
|
any_character_struggle = {
|
||
|
|
involvement = involved
|
||
|
|
has_struggle_phase_parameter = struggle_agents_less_likely_to_join_schemes
|
||
|
|
is_secondary_character_involvement_involved_trigger = {
|
||
|
|
CHAR = scope:temp_target
|
||
|
|
}
|
||
|
|
}
|
||
|
|
}
|
||
|
|
}
|
||
|
|
add = {
|
||
|
|
value = -25
|
||
|
|
desc = scheme_odds.struggle.owner.agents_less_likely_to_join_due_to_struggle_phase
|
||
|
|
}
|
||
|
|
}
|
||
|
|
## court_events.3060
|
||
|
|
if = {
|
||
|
|
limit = {
|
||
|
|
scope:owner = { has_character_modifier = spies_behind_every_corner_modifier }
|
||
|
|
}
|
||
|
|
add = {
|
||
|
|
value = 25
|
||
|
|
desc = scheme_odds.owner.spies_behind_every_corner_modifier
|
||
|
|
}
|
||
|
|
}
|
||
|
|
if = {
|
||
|
|
limit = {
|
||
|
|
scope:temp_target = { has_character_modifier = spies_behind_every_corner_modifier }
|
||
|
|
}
|
||
|
|
add = {
|
||
|
|
value = 25
|
||
|
|
desc = scheme_odds.target.spies_behind_every_corner_modifier
|
||
|
|
}
|
||
|
|
}
|
||
|
|
}
|
||
|
|
|
||
|
|
odds_skill_contribution_diplomacy_value = {
|
||
|
|
add = {
|
||
|
|
value = scope:owner.diplomacy
|
||
|
|
desc = scheme_odds.diplomacy.owner
|
||
|
|
}
|
||
|
|
scope:target ?= {
|
||
|
|
add = {
|
||
|
|
value = scope:target.diplomacy
|
||
|
|
desc = scheme_odds.diplomacy.target
|
||
|
|
multiply = -0.5
|
||
|
|
}
|
||
|
|
}
|
||
|
|
}
|
||
|
|
odds_skill_contribution_martial_value = {
|
||
|
|
add = {
|
||
|
|
value = scope:owner.martial
|
||
|
|
desc = scheme_odds.martial.owner
|
||
|
|
}
|
||
|
|
scope:target ?= {
|
||
|
|
add = {
|
||
|
|
value = scope:target.martial
|
||
|
|
desc = scheme_odds.martial.target
|
||
|
|
multiply = -0.5
|
||
|
|
}
|
||
|
|
}
|
||
|
|
}
|
||
|
|
odds_skill_contribution_stewardship_value = {
|
||
|
|
add = {
|
||
|
|
value = scope:owner.stewardship
|
||
|
|
desc = scheme_odds.stewardship.owner
|
||
|
|
}
|
||
|
|
scope:target ?= {
|
||
|
|
add = {
|
||
|
|
value = scope:target.stewardship
|
||
|
|
desc = scheme_odds.stewardship.target
|
||
|
|
multiply = -0.5
|
||
|
|
}
|
||
|
|
}
|
||
|
|
}
|
||
|
|
odds_skill_contribution_intrigue_value = {
|
||
|
|
add = {
|
||
|
|
value = scope:owner.intrigue
|
||
|
|
desc = scheme_odds.intrigue.owner
|
||
|
|
}
|
||
|
|
scope:target ?= {
|
||
|
|
add = {
|
||
|
|
value = scope:target.intrigue
|
||
|
|
desc = scheme_odds.intrigue.target
|
||
|
|
multiply = -0.5
|
||
|
|
}
|
||
|
|
}
|
||
|
|
}
|
||
|
|
odds_skill_contribution_learning_value = {
|
||
|
|
add = {
|
||
|
|
value = scope:owner.learning
|
||
|
|
desc = scheme_odds.learning.owner
|
||
|
|
}
|
||
|
|
|
||
|
|
scope:target ?= {
|
||
|
|
add = {
|
||
|
|
value = scope:target.learning
|
||
|
|
desc = scheme_odds.learning.target
|
||
|
|
multiply = -0.5
|
||
|
|
}
|
||
|
|
}
|
||
|
|
}
|
||
|
|
odds_skill_contribution_prowess_value = {
|
||
|
|
add = {
|
||
|
|
value = scope:owner.prowess
|
||
|
|
desc = scheme_odds.prowess.owner
|
||
|
|
}
|
||
|
|
scope:target ?= {
|
||
|
|
add = {
|
||
|
|
value = scope:target.prowess
|
||
|
|
desc = scheme_odds.prowess.target
|
||
|
|
multiply = -0.5
|
||
|
|
}
|
||
|
|
}
|
||
|
|
}
|
||
|
|
|
||
|
|
odds_skill_contribution_learning_target_is_title_value = {
|
||
|
|
add = {
|
||
|
|
value = scope:owner.learning
|
||
|
|
desc = scheme_odds.learning.owner
|
||
|
|
}
|
||
|
|
|
||
|
|
scope:target ?= {
|
||
|
|
add = {
|
||
|
|
value = scope:target.holder.learning
|
||
|
|
desc = scheme_odds.learning.target
|
||
|
|
multiply = -0.5
|
||
|
|
}
|
||
|
|
}
|
||
|
|
}
|
||
|
|
|
||
|
|
odds_sway_scheme_misc_value = {
|
||
|
|
add = {
|
||
|
|
value = 30
|
||
|
|
desc = scheme_odds.misc_modifiers
|
||
|
|
if = {
|
||
|
|
limit = {
|
||
|
|
scope:owner = { knows_language_of_culture = scope:target.culture }
|
||
|
|
}
|
||
|
|
add = 4
|
||
|
|
}
|
||
|
|
if = {
|
||
|
|
limit = {
|
||
|
|
scope:owner = { has_trait = diplomat }
|
||
|
|
}
|
||
|
|
add = 2
|
||
|
|
}
|
||
|
|
if = {
|
||
|
|
limit = {
|
||
|
|
scope:owner = { is_adult = no }
|
||
|
|
}
|
||
|
|
add = -6
|
||
|
|
}
|
||
|
|
if = {
|
||
|
|
limit = {
|
||
|
|
scope:target = {
|
||
|
|
has_opinion_modifier = {
|
||
|
|
target = scope:owner
|
||
|
|
modifier = scheme_sway_opinion
|
||
|
|
value >= 25
|
||
|
|
}
|
||
|
|
}
|
||
|
|
}
|
||
|
|
add = -12
|
||
|
|
}
|
||
|
|
if = {
|
||
|
|
limit = {
|
||
|
|
NOT = { scope:target.top_liege = scope:owner.top_liege }
|
||
|
|
}
|
||
|
|
add = -16
|
||
|
|
}
|
||
|
|
if = {
|
||
|
|
limit = {
|
||
|
|
scope:target = {
|
||
|
|
personal_scheme_success_compare_target_liege_tier_trigger = no
|
||
|
|
}
|
||
|
|
scope:owner = {
|
||
|
|
tier_difference = {
|
||
|
|
target = scope:target
|
||
|
|
value >= 1
|
||
|
|
}
|
||
|
|
}
|
||
|
|
}
|
||
|
|
add = 6
|
||
|
|
}
|
||
|
|
if = {
|
||
|
|
limit = {
|
||
|
|
scope:target = {
|
||
|
|
personal_scheme_success_compare_target_liege_tier_trigger = no
|
||
|
|
}
|
||
|
|
scope:owner = {
|
||
|
|
tier_difference = {
|
||
|
|
target = scope:target
|
||
|
|
value <= -1
|
||
|
|
}
|
||
|
|
}
|
||
|
|
}
|
||
|
|
add = -14
|
||
|
|
}
|
||
|
|
if = {
|
||
|
|
limit = {
|
||
|
|
scope:target = {
|
||
|
|
is_theocratic_lessee = yes
|
||
|
|
}
|
||
|
|
scope:owner.piety_level < 0
|
||
|
|
}
|
||
|
|
add = -50
|
||
|
|
}
|
||
|
|
if = {
|
||
|
|
limit = {
|
||
|
|
scope:target = {
|
||
|
|
is_theocratic_lessee = yes
|
||
|
|
}
|
||
|
|
scope:owner.piety_level > 1
|
||
|
|
}
|
||
|
|
add = 12
|
||
|
|
}
|
||
|
|
if = {
|
||
|
|
limit = {
|
||
|
|
scope:target = {
|
||
|
|
faith = scope:owner.faith
|
||
|
|
faith = {
|
||
|
|
exists = religious_head
|
||
|
|
religious_head = {
|
||
|
|
this = scope:target
|
||
|
|
}
|
||
|
|
}
|
||
|
|
}
|
||
|
|
}
|
||
|
|
add = -50
|
||
|
|
}
|
||
|
|
}
|
||
|
|
}
|
||
|
|
|
||
|
|
odds_steal_back_artifact_scheme_misc_value = {
|
||
|
|
add = {
|
||
|
|
value = 0
|
||
|
|
desc = scheme_odds.misc_modifiers
|
||
|
|
if = {
|
||
|
|
limit = {
|
||
|
|
scope:owner = {
|
||
|
|
any_character_task_contract = {
|
||
|
|
has_task_contract_type = laamp_steal_artifact_contract
|
||
|
|
var:task_contract_target ?= scope:target
|
||
|
|
}
|
||
|
|
}
|
||
|
|
}
|
||
|
|
add = 14
|
||
|
|
}
|
||
|
|
if = {
|
||
|
|
limit = {
|
||
|
|
scope:owner = { has_character_modifier = hostile_schemes_distracted_modifier }
|
||
|
|
}
|
||
|
|
add = -6
|
||
|
|
}
|
||
|
|
}
|
||
|
|
}
|
||
|
|
|
||
|
|
odds_slander_scheme_misc_value = {
|
||
|
|
add = {
|
||
|
|
value = 0
|
||
|
|
desc = scheme_odds.misc_modifiers
|
||
|
|
if = {
|
||
|
|
limit = {
|
||
|
|
scope:target = {
|
||
|
|
faith = scope:owner.faith
|
||
|
|
faith = {
|
||
|
|
has_doctrine = doctrine_spiritual_head
|
||
|
|
}
|
||
|
|
faith = {
|
||
|
|
exists = religious_head
|
||
|
|
religious_head = {
|
||
|
|
this = scope:target
|
||
|
|
}
|
||
|
|
}
|
||
|
|
}
|
||
|
|
}
|
||
|
|
add = -26
|
||
|
|
}
|
||
|
|
if = {
|
||
|
|
limit = {
|
||
|
|
scope:target = {
|
||
|
|
exists = inspiration
|
||
|
|
inspiration = { exists = inspiration_sponsor}
|
||
|
|
}
|
||
|
|
}
|
||
|
|
add = -17
|
||
|
|
}
|
||
|
|
if = {
|
||
|
|
limit = {
|
||
|
|
scope:owner = { has_character_modifier = poet_for_diplo_schemes_modifier }
|
||
|
|
}
|
||
|
|
add = 11
|
||
|
|
}
|
||
|
|
if = {
|
||
|
|
limit = {
|
||
|
|
scope:owner = {
|
||
|
|
has_character_modifier = united_political_agents_modifier
|
||
|
|
is_vassal_of = scope:target
|
||
|
|
}
|
||
|
|
}
|
||
|
|
add = 13
|
||
|
|
}
|
||
|
|
}
|
||
|
|
}
|
||
|
|
|
||
|
|
odds_seize_realm_scheme_misc_value = {
|
||
|
|
add = {
|
||
|
|
value = 0
|
||
|
|
desc = scheme_odds.misc_modifiers
|
||
|
|
if = {
|
||
|
|
limit = {
|
||
|
|
scope:target = {
|
||
|
|
has_opinion_modifier = {
|
||
|
|
target = scope:owner
|
||
|
|
modifier = attempted_to_seize_my_realm_crime
|
||
|
|
}
|
||
|
|
}
|
||
|
|
}
|
||
|
|
add = -50
|
||
|
|
}
|
||
|
|
if = {
|
||
|
|
limit = {
|
||
|
|
scope:target.inspiration ?= { exists = inspiration_sponsor }
|
||
|
|
}
|
||
|
|
add = -22
|
||
|
|
}
|
||
|
|
if = {
|
||
|
|
limit = {
|
||
|
|
scope:target.faith = {
|
||
|
|
this = scope:owner.faith
|
||
|
|
has_doctrine = doctrine_spiritual_head
|
||
|
|
religious_head ?= scope:target
|
||
|
|
}
|
||
|
|
}
|
||
|
|
add = -50
|
||
|
|
}
|
||
|
|
if = {
|
||
|
|
limit = {
|
||
|
|
OR = {
|
||
|
|
scope:target = { is_at_war_with = scope:owner }
|
||
|
|
scope:target = {
|
||
|
|
is_playable_character = no
|
||
|
|
liege ?= { is_at_war_with = scope:owner }
|
||
|
|
}
|
||
|
|
scope:target = {
|
||
|
|
is_playable_character = yes
|
||
|
|
liege ?= { is_at_war_with = scope:owner }
|
||
|
|
}
|
||
|
|
}
|
||
|
|
}
|
||
|
|
add = -22
|
||
|
|
}
|
||
|
|
if = {
|
||
|
|
limit = {
|
||
|
|
scope:owner = {
|
||
|
|
has_character_modifier = tournament_tailor_mixup_scheme_modifier
|
||
|
|
exists = var:tailor_mixup_house
|
||
|
|
exists = scope:target.holder.house
|
||
|
|
var:tailor_mixup_house = scope:target.holder.house
|
||
|
|
}
|
||
|
|
}
|
||
|
|
add = 8
|
||
|
|
}
|
||
|
|
if = {
|
||
|
|
limit = {
|
||
|
|
scope:owner = {
|
||
|
|
any_scheme = {
|
||
|
|
scheme_type = murder
|
||
|
|
scheme_target_character = scope:target
|
||
|
|
has_scheme_modifier = feast_learnt_habits_modifier
|
||
|
|
}
|
||
|
|
}
|
||
|
|
}
|
||
|
|
add = 8
|
||
|
|
}
|
||
|
|
if = {
|
||
|
|
limit = {
|
||
|
|
scope:target = { has_character_modifier = fp3_struggle_caliph_super_suspicious_modifier }
|
||
|
|
}
|
||
|
|
add = -200
|
||
|
|
}
|
||
|
|
}
|
||
|
|
}
|
||
|
|
|
||
|
|
odds_seduce_scheme_misc_value = {
|
||
|
|
add = {
|
||
|
|
value = 0
|
||
|
|
desc = scheme_odds.misc_modifiers
|
||
|
|
if = {
|
||
|
|
limit = {
|
||
|
|
scope:owner = {
|
||
|
|
exists = var:wnight_seduce_memento_var
|
||
|
|
var:wnight_seduce_memento_var = scope:target
|
||
|
|
}
|
||
|
|
}
|
||
|
|
add = 14
|
||
|
|
}
|
||
|
|
if = {
|
||
|
|
limit = {
|
||
|
|
scope:owner = { knows_language_of_culture = scope:target.culture }
|
||
|
|
}
|
||
|
|
add = 4
|
||
|
|
}
|
||
|
|
if = {
|
||
|
|
limit = {
|
||
|
|
scope:owner = { has_perk = home_advantage_perk }
|
||
|
|
scope:target = {
|
||
|
|
OR = {
|
||
|
|
is_courtier_of = scope:owner
|
||
|
|
is_pool_guest_of = scope:owner
|
||
|
|
is_foreign_court_guest_of = scope:owner
|
||
|
|
}
|
||
|
|
}
|
||
|
|
}
|
||
|
|
add = home_advantage_perk_bonus
|
||
|
|
}
|
||
|
|
if = {
|
||
|
|
limit = {
|
||
|
|
scope:owner = { has_perk = smooth_operator_perk }
|
||
|
|
}
|
||
|
|
add = smooth_operator_perk_bonus
|
||
|
|
}
|
||
|
|
if = {
|
||
|
|
limit = {
|
||
|
|
scope:owner = {
|
||
|
|
exists = dynasty
|
||
|
|
dynasty = {
|
||
|
|
has_dynasty_perk = fp1_adventure_legacy_2
|
||
|
|
}
|
||
|
|
}
|
||
|
|
}
|
||
|
|
add = fp1_adventure_legacy_2_success_chance_seduction
|
||
|
|
}
|
||
|
|
if = {
|
||
|
|
limit = {
|
||
|
|
scope:owner = { has_trait = seducer }
|
||
|
|
}
|
||
|
|
add = 16
|
||
|
|
}
|
||
|
|
if = {
|
||
|
|
limit = {
|
||
|
|
OR = {
|
||
|
|
scope:owner = { has_trait = beauty_good_1 }
|
||
|
|
scope:owner = { has_trait = beauty_good_2 }
|
||
|
|
scope:owner = { has_trait = beauty_good_3 }
|
||
|
|
}
|
||
|
|
}
|
||
|
|
add = 12
|
||
|
|
}
|
||
|
|
if = {
|
||
|
|
limit = {
|
||
|
|
OR = {
|
||
|
|
scope:owner = { has_trait = physique_good_1 }
|
||
|
|
scope:owner = { has_trait = physique_good_2 }
|
||
|
|
scope:owner = { has_trait = physique_good_3 }
|
||
|
|
}
|
||
|
|
}
|
||
|
|
add = 11
|
||
|
|
}
|
||
|
|
if = {
|
||
|
|
limit = {
|
||
|
|
OR = {
|
||
|
|
scope:owner = { has_trait = beauty_bad_1 }
|
||
|
|
scope:owner = { has_trait = beauty_bad_2 }
|
||
|
|
scope:owner = { has_trait = beauty_bad_3 }
|
||
|
|
}
|
||
|
|
}
|
||
|
|
add = -21
|
||
|
|
}
|
||
|
|
if = {
|
||
|
|
limit = {
|
||
|
|
OR = {
|
||
|
|
scope:owner = { has_trait = great_pox }
|
||
|
|
scope:owner = { has_trait = lovers_pox }
|
||
|
|
scope:owner = { has_trait = early_great_pox }
|
||
|
|
}
|
||
|
|
}
|
||
|
|
add = -17
|
||
|
|
}
|
||
|
|
if = {
|
||
|
|
limit = {
|
||
|
|
scope:owner = {
|
||
|
|
NOR = {
|
||
|
|
is_attracted_to_gender_of = scope:target
|
||
|
|
has_perk = unshackled_lust_perk
|
||
|
|
}
|
||
|
|
}
|
||
|
|
}
|
||
|
|
add = -15
|
||
|
|
}
|
||
|
|
if = {
|
||
|
|
limit = {
|
||
|
|
scope:target = { has_trait = lifestyle_reveler }
|
||
|
|
}
|
||
|
|
add = 3
|
||
|
|
}
|
||
|
|
if = {
|
||
|
|
limit = {
|
||
|
|
scope:target = { has_trait = lustful }
|
||
|
|
}
|
||
|
|
add = 7
|
||
|
|
}
|
||
|
|
if = {
|
||
|
|
limit = {
|
||
|
|
scope:target = { has_trait = chaste }
|
||
|
|
}
|
||
|
|
add = -18
|
||
|
|
}
|
||
|
|
if = {
|
||
|
|
limit = {
|
||
|
|
scope:target = { has_trait = shy }
|
||
|
|
}
|
||
|
|
add = -7
|
||
|
|
}
|
||
|
|
if = {
|
||
|
|
limit = {
|
||
|
|
scope:owner = { is_consort_of = scope:target }
|
||
|
|
}
|
||
|
|
add = 14
|
||
|
|
}
|
||
|
|
if = {
|
||
|
|
limit = {
|
||
|
|
scope:target = {
|
||
|
|
is_married = yes
|
||
|
|
NOT = { is_consort_of = scope:owner }
|
||
|
|
ai_honor >= high_positive_ai_value
|
||
|
|
trait_is_shunned_or_criminal_in_faith_trigger = { TRAIT = adulterer FAITH = scope:target.faith GENDER_CHARACTER = scope:target }
|
||
|
|
}
|
||
|
|
}
|
||
|
|
add = -50
|
||
|
|
}
|
||
|
|
if = {
|
||
|
|
limit = {
|
||
|
|
scope:target = {
|
||
|
|
is_married = yes
|
||
|
|
NOT = { is_consort_of = scope:owner }
|
||
|
|
exists = primary_spouse
|
||
|
|
primary_spouse = { save_temporary_scope_as = target_spouse }
|
||
|
|
NOT = { might_cheat_on_partner_trigger = { PARTNER = scope:target_spouse }}
|
||
|
|
}
|
||
|
|
}
|
||
|
|
add = -100
|
||
|
|
}
|
||
|
|
if = {
|
||
|
|
limit = {
|
||
|
|
scope:owner = { NOT = { is_consort_of = scope:target } }
|
||
|
|
scope:target = {
|
||
|
|
is_married = yes
|
||
|
|
exists = primary_spouse
|
||
|
|
primary_spouse = { save_temporary_scope_as = target_spouse }
|
||
|
|
opinion = {
|
||
|
|
target = scope:target_spouse
|
||
|
|
value < low_negative_opinion
|
||
|
|
}
|
||
|
|
}
|
||
|
|
}
|
||
|
|
add = 18
|
||
|
|
}
|
||
|
|
if = {
|
||
|
|
limit = {
|
||
|
|
scope:target = {
|
||
|
|
faith = scope:owner.faith
|
||
|
|
faith = {
|
||
|
|
exists = religious_head
|
||
|
|
religious_head = {
|
||
|
|
this = scope:target
|
||
|
|
}
|
||
|
|
}
|
||
|
|
}
|
||
|
|
}
|
||
|
|
add = -50
|
||
|
|
}
|
||
|
|
if = {
|
||
|
|
limit = {
|
||
|
|
scope:target = {
|
||
|
|
relation_with_character_is_incestuous_in_my_or_lieges_faith_trigger = { CHARACTER = scope:owner }
|
||
|
|
}
|
||
|
|
scope:owner = { # The Subtle Desire Perk nullifies this
|
||
|
|
NOT = { has_perk = subtle_desire_perk }
|
||
|
|
}
|
||
|
|
}
|
||
|
|
add = -22
|
||
|
|
}
|
||
|
|
if = {
|
||
|
|
limit = {
|
||
|
|
scope:target = {
|
||
|
|
NOT = { is_consort_of = scope:owner }
|
||
|
|
is_close_or_extended_family_of = scope:owner
|
||
|
|
NOR = {
|
||
|
|
accepts_incest_with_trigger = { CHARACTER = scope:owner } #100% fine with incest with owner
|
||
|
|
scope:owner = { has_perk = subtle_desire_perk } # The Subtle Desire Perk nullifies this
|
||
|
|
guaranteed_under_20_incest_rejection_trigger = { # handled by hard block modifier
|
||
|
|
TARGET = scope:target
|
||
|
|
SEDUCER = scope:owner
|
||
|
|
}
|
||
|
|
}
|
||
|
|
}
|
||
|
|
}
|
||
|
|
add = -16
|
||
|
|
}
|
||
|
|
if = {
|
||
|
|
limit = {
|
||
|
|
scope:target = {
|
||
|
|
personal_scheme_success_compare_target_liege_tier_trigger = no
|
||
|
|
}
|
||
|
|
scope:owner = {
|
||
|
|
tier_difference = {
|
||
|
|
target = scope:target
|
||
|
|
value >= 1
|
||
|
|
}
|
||
|
|
}
|
||
|
|
}
|
||
|
|
add = 12
|
||
|
|
}
|
||
|
|
if = {
|
||
|
|
limit = {
|
||
|
|
scope:target = {
|
||
|
|
personal_scheme_success_compare_target_liege_tier_trigger = no
|
||
|
|
}
|
||
|
|
scope:owner = {
|
||
|
|
tier_difference = {
|
||
|
|
target = scope:target
|
||
|
|
value <= -1
|
||
|
|
}
|
||
|
|
}
|
||
|
|
}
|
||
|
|
add = -40
|
||
|
|
}
|
||
|
|
if = {
|
||
|
|
limit = {
|
||
|
|
scope:target = {
|
||
|
|
trait_compatibility = {
|
||
|
|
target = scope:owner
|
||
|
|
value >= medium_positive_trait_compatibility
|
||
|
|
}
|
||
|
|
}
|
||
|
|
}
|
||
|
|
add = 18
|
||
|
|
}
|
||
|
|
if = {
|
||
|
|
limit = {
|
||
|
|
scope:target = {
|
||
|
|
trait_compatibility = {
|
||
|
|
target = scope:owner
|
||
|
|
value <= medium_negative_trait_compatibility
|
||
|
|
}
|
||
|
|
}
|
||
|
|
}
|
||
|
|
add = -36
|
||
|
|
}
|
||
|
|
}
|
||
|
|
}
|
||
|
|
|
||
|
|
odds_promote_scheme_misc_value = {
|
||
|
|
add = {
|
||
|
|
value = 0
|
||
|
|
desc = scheme_odds.misc_modifiers
|
||
|
|
if = {
|
||
|
|
limit = {
|
||
|
|
exists = scope:owner.dynasty
|
||
|
|
scope:owner.dynasty = {
|
||
|
|
has_dynasty_perk = kin_legacy_4
|
||
|
|
}
|
||
|
|
scope:target.dynasty = scope:owner.dynasty
|
||
|
|
}
|
||
|
|
add = kin_legacy_4_success_chance
|
||
|
|
}
|
||
|
|
if = {
|
||
|
|
limit = {
|
||
|
|
exists = scope:owner.house
|
||
|
|
exists = scope:target.house
|
||
|
|
scope:owner.culture = {
|
||
|
|
has_cultural_parameter = cultural_house_personal_scheme_success_chance
|
||
|
|
}
|
||
|
|
scope:target.house = scope:owner.house
|
||
|
|
}
|
||
|
|
add = cultural_house_personal_scheme_success_chance
|
||
|
|
}
|
||
|
|
if = {
|
||
|
|
limit = {
|
||
|
|
scope:owner = { has_character_modifier = poet_for_diplo_schemes_modifier }
|
||
|
|
}
|
||
|
|
add = 8
|
||
|
|
}
|
||
|
|
if = {
|
||
|
|
limit = {
|
||
|
|
scope:owner = {
|
||
|
|
has_variable_list = supporting_political_schemes
|
||
|
|
}
|
||
|
|
}
|
||
|
|
add = 7
|
||
|
|
}
|
||
|
|
}
|
||
|
|
}
|
||
|
|
|
||
|
|
odds_murder_scheme_misc_value = {
|
||
|
|
add = {
|
||
|
|
value = -17
|
||
|
|
desc = scheme_odds.misc_modifiers
|
||
|
|
if = {
|
||
|
|
limit = {
|
||
|
|
OR = {
|
||
|
|
scope:target = {
|
||
|
|
is_at_war_with = scope:owner
|
||
|
|
}
|
||
|
|
scope:target = {
|
||
|
|
is_playable_character = no
|
||
|
|
exists = liege
|
||
|
|
liege = {
|
||
|
|
is_at_war_with = scope:owner
|
||
|
|
}
|
||
|
|
}
|
||
|
|
scope:target = {
|
||
|
|
is_playable_character = yes
|
||
|
|
exists = liege
|
||
|
|
liege = {
|
||
|
|
is_at_war_with = scope:owner
|
||
|
|
}
|
||
|
|
}
|
||
|
|
}
|
||
|
|
}
|
||
|
|
add = -30
|
||
|
|
}
|
||
|
|
if = {
|
||
|
|
limit = {
|
||
|
|
scope:target = {
|
||
|
|
faith = scope:owner.faith
|
||
|
|
faith = {
|
||
|
|
has_doctrine = doctrine_spiritual_head
|
||
|
|
}
|
||
|
|
faith = {
|
||
|
|
exists = religious_head
|
||
|
|
religious_head = {
|
||
|
|
this = scope:target
|
||
|
|
}
|
||
|
|
}
|
||
|
|
}
|
||
|
|
}
|
||
|
|
add = -50
|
||
|
|
}
|
||
|
|
if = {
|
||
|
|
limit = {
|
||
|
|
scope:target = {
|
||
|
|
has_opinion_modifier = {
|
||
|
|
target = scope:owner
|
||
|
|
modifier = attempted_murder_me_crime
|
||
|
|
}
|
||
|
|
}
|
||
|
|
}
|
||
|
|
add = -50
|
||
|
|
}
|
||
|
|
if = {
|
||
|
|
limit = {
|
||
|
|
scope:target = {
|
||
|
|
has_perk = prepared_for_anything_perk
|
||
|
|
}
|
||
|
|
}
|
||
|
|
add = -26
|
||
|
|
}
|
||
|
|
if = {
|
||
|
|
limit = {
|
||
|
|
scope:target = {
|
||
|
|
has_character_modifier = fp3_struggle_caliph_super_suspicious_modifier
|
||
|
|
}
|
||
|
|
}
|
||
|
|
add = -18
|
||
|
|
}
|
||
|
|
if = {
|
||
|
|
limit = {
|
||
|
|
scope:target = {
|
||
|
|
has_trait = trusting
|
||
|
|
}
|
||
|
|
}
|
||
|
|
add = 18
|
||
|
|
}
|
||
|
|
}
|
||
|
|
|
||
|
|
}
|
||
|
|
|
||
|
|
odds_learn_language_scheme_misc_value = {
|
||
|
|
add = {
|
||
|
|
value = 0
|
||
|
|
desc = scheme_odds.misc_modifiers
|
||
|
|
if = {
|
||
|
|
limit = {
|
||
|
|
scope:owner.piety_level > 0
|
||
|
|
scope:owner.culture = {
|
||
|
|
has_cultural_parameter = language_success_chance_per_piety_level
|
||
|
|
}
|
||
|
|
}
|
||
|
|
add = 4
|
||
|
|
}
|
||
|
|
if = {
|
||
|
|
limit = {
|
||
|
|
exists = scope:owner.cp:councillor_court_chaplain
|
||
|
|
scope:owner.cp:councillor_court_chaplain.learning > 10
|
||
|
|
}
|
||
|
|
add = 3
|
||
|
|
}
|
||
|
|
if = {
|
||
|
|
limit = {
|
||
|
|
scope:owner.age < 30
|
||
|
|
}
|
||
|
|
add = 8
|
||
|
|
}
|
||
|
|
if = {
|
||
|
|
limit = {
|
||
|
|
scope:target.culture = {
|
||
|
|
has_same_culture_heritage = scope:owner.culture
|
||
|
|
}
|
||
|
|
}
|
||
|
|
add = 3
|
||
|
|
}
|
||
|
|
if = {
|
||
|
|
limit = {
|
||
|
|
scope:owner = {
|
||
|
|
has_perk = pedagogy_perk
|
||
|
|
}
|
||
|
|
}
|
||
|
|
add = 4
|
||
|
|
}
|
||
|
|
if = {
|
||
|
|
limit = {
|
||
|
|
scope:owner = {
|
||
|
|
has_trait = intellect_good_1
|
||
|
|
has_trait = intellect_good_2
|
||
|
|
has_trait = intellect_good_3
|
||
|
|
has_trait = stubborn
|
||
|
|
has_trait = ambitious
|
||
|
|
}
|
||
|
|
}
|
||
|
|
add = 4
|
||
|
|
}
|
||
|
|
}
|
||
|
|
|
||
|
|
}
|
||
|
|
|
||
|
|
odds_generate_claim_scheme_misc_value = {
|
||
|
|
add = {
|
||
|
|
value = 0
|
||
|
|
desc = scheme_odds.misc_modifiers
|
||
|
|
if = {
|
||
|
|
limit = {
|
||
|
|
exists = scope:target.holder
|
||
|
|
scope:owner = {
|
||
|
|
faith = {
|
||
|
|
exists = religious_head
|
||
|
|
has_doctrine = doctrine_spiritual_head
|
||
|
|
religious_head = {
|
||
|
|
this = scope:target.holder
|
||
|
|
}
|
||
|
|
}
|
||
|
|
}
|
||
|
|
}
|
||
|
|
add = -50
|
||
|
|
}
|
||
|
|
if = {
|
||
|
|
limit = {
|
||
|
|
scope:owner = {
|
||
|
|
has_trait = deceitful
|
||
|
|
}
|
||
|
|
}
|
||
|
|
add = -18
|
||
|
|
}
|
||
|
|
if = {
|
||
|
|
limit = {
|
||
|
|
scope:owner = {
|
||
|
|
has_trait = honest
|
||
|
|
}
|
||
|
|
}
|
||
|
|
add = -16
|
||
|
|
}
|
||
|
|
if = {
|
||
|
|
limit = {
|
||
|
|
scope:target.holder ?= {
|
||
|
|
has_trait = trusting
|
||
|
|
}
|
||
|
|
}
|
||
|
|
add = 8
|
||
|
|
}
|
||
|
|
}
|
||
|
|
|
||
|
|
}
|
||
|
|
|
||
|
|
odds_foster_legitimacy_scheme_misc_value = {
|
||
|
|
add = {
|
||
|
|
value = 0
|
||
|
|
desc = scheme_odds.misc_modifiers
|
||
|
|
if = {
|
||
|
|
limit = {
|
||
|
|
scope:owner = {
|
||
|
|
has_trait = overseer
|
||
|
|
}
|
||
|
|
}
|
||
|
|
add = 8
|
||
|
|
}
|
||
|
|
if = {
|
||
|
|
limit = {
|
||
|
|
scope:owner = { has_character_modifier = poet_for_diplo_schemes_modifier }
|
||
|
|
}
|
||
|
|
add = 8
|
||
|
|
}
|
||
|
|
}
|
||
|
|
|
||
|
|
}
|
||
|
|
|
||
|
|
odds_fabricate_hook_scheme_misc_value = {
|
||
|
|
add = {
|
||
|
|
value = 0
|
||
|
|
desc = scheme_odds.misc_modifiers
|
||
|
|
if = {
|
||
|
|
limit = {
|
||
|
|
scope:owner = {
|
||
|
|
has_trait = deceitful
|
||
|
|
}
|
||
|
|
}
|
||
|
|
add = 8
|
||
|
|
}
|
||
|
|
if = {
|
||
|
|
limit = {
|
||
|
|
scope:target = {
|
||
|
|
OR = {
|
||
|
|
has_trait = trusting
|
||
|
|
has_trait = intellect_bad_1
|
||
|
|
has_trait = intellect_bad_2
|
||
|
|
has_trait = intellect_bad_3
|
||
|
|
has_trait = arrogant
|
||
|
|
has_trait = greedy
|
||
|
|
has_trait = craven
|
||
|
|
}
|
||
|
|
}
|
||
|
|
}
|
||
|
|
add = 8
|
||
|
|
}
|
||
|
|
if = {
|
||
|
|
limit = {
|
||
|
|
scope:target = {
|
||
|
|
OR = {
|
||
|
|
has_trait = fickle
|
||
|
|
has_trait = paranoid
|
||
|
|
has_trait = schemer
|
||
|
|
has_trait = intellect_good_3
|
||
|
|
has_trait = intellect_good_2
|
||
|
|
has_trait = intellect_good_1
|
||
|
|
}
|
||
|
|
}
|
||
|
|
}
|
||
|
|
add = -22
|
||
|
|
}
|
||
|
|
if = {
|
||
|
|
limit = {
|
||
|
|
scope:target = {
|
||
|
|
faith = scope:owner.faith
|
||
|
|
faith = {
|
||
|
|
has_doctrine = doctrine_spiritual_head
|
||
|
|
}
|
||
|
|
faith = {
|
||
|
|
exists = religious_head
|
||
|
|
religious_head = {
|
||
|
|
this = scope:target
|
||
|
|
}
|
||
|
|
}
|
||
|
|
}
|
||
|
|
}
|
||
|
|
add = -50
|
||
|
|
}
|
||
|
|
}
|
||
|
|
|
||
|
|
}
|
||
|
|
|
||
|
|
odds_ep3_teach_governor_scheme_misc_value = {
|
||
|
|
add = {
|
||
|
|
value = 0
|
||
|
|
desc = scheme_odds.misc_modifiers
|
||
|
|
add = {
|
||
|
|
value = scope:owner.age
|
||
|
|
add = {
|
||
|
|
value = scope:target.age
|
||
|
|
multiply = -1
|
||
|
|
}
|
||
|
|
}
|
||
|
|
if = {
|
||
|
|
limit = {
|
||
|
|
scope:owner = {
|
||
|
|
NOR = {
|
||
|
|
has_trait = governor
|
||
|
|
has_trait = lazy
|
||
|
|
has_trait = diligent
|
||
|
|
}
|
||
|
|
}
|
||
|
|
}
|
||
|
|
add = -11
|
||
|
|
}
|
||
|
|
if = {
|
||
|
|
limit = {
|
||
|
|
scope:target = {
|
||
|
|
trait_compatibility = {
|
||
|
|
target = scope:owner
|
||
|
|
value >= medium_positive_trait_compatibility
|
||
|
|
}
|
||
|
|
}
|
||
|
|
}
|
||
|
|
add = 9
|
||
|
|
}
|
||
|
|
if = {
|
||
|
|
limit = {
|
||
|
|
scope:target = {
|
||
|
|
trait_compatibility = {
|
||
|
|
target = scope:owner
|
||
|
|
value <= medium_negative_trait_compatibility
|
||
|
|
}
|
||
|
|
}
|
||
|
|
}
|
||
|
|
add = -18
|
||
|
|
}
|
||
|
|
}
|
||
|
|
|
||
|
|
}
|
||
|
|
|
||
|
|
odds_subsume_province_scheme_misc_value = {
|
||
|
|
add = {
|
||
|
|
value = 0
|
||
|
|
desc = scheme_odds.misc_modifiers
|
||
|
|
if = {
|
||
|
|
limit = {
|
||
|
|
scope:owner = {
|
||
|
|
any_sub_realm_county = {
|
||
|
|
NOT = { target_is_de_facto_liege_or_above = scope:owner.primary_title }
|
||
|
|
}
|
||
|
|
|
||
|
|
}
|
||
|
|
}
|
||
|
|
add = -9
|
||
|
|
}
|
||
|
|
if = {
|
||
|
|
limit = {
|
||
|
|
scope:owner.house = {
|
||
|
|
is_powerful_family = yes
|
||
|
|
is_dominant_family = no
|
||
|
|
}
|
||
|
|
}
|
||
|
|
add = 8
|
||
|
|
}
|
||
|
|
if = {
|
||
|
|
limit = {
|
||
|
|
scope:target.holder.house = {
|
||
|
|
is_powerful_family = yes
|
||
|
|
is_dominant_family = no
|
||
|
|
}
|
||
|
|
}
|
||
|
|
add = -16
|
||
|
|
}
|
||
|
|
add = {
|
||
|
|
value = scope:owner.influence_level
|
||
|
|
multiply = 2
|
||
|
|
}
|
||
|
|
add = {
|
||
|
|
value = scope:target.holder.influence_level
|
||
|
|
multiply = -4
|
||
|
|
}
|
||
|
|
if = {
|
||
|
|
limit = {
|
||
|
|
scope:target.holder.house = scope:owner.top_liege.house
|
||
|
|
}
|
||
|
|
add = -12
|
||
|
|
}
|
||
|
|
}
|
||
|
|
|
||
|
|
}
|
||
|
|
|
||
|
|
odds_raid_estate_scheme_misc_value = {
|
||
|
|
add = {
|
||
|
|
value = 0
|
||
|
|
desc = scheme_odds.misc_modifiers
|
||
|
|
add = {
|
||
|
|
value = scope:owner.influence_level
|
||
|
|
multiply = 2
|
||
|
|
}
|
||
|
|
add = {
|
||
|
|
value = scope:target.holder.influence_level
|
||
|
|
multiply = -4
|
||
|
|
}
|
||
|
|
if = {
|
||
|
|
limit = {
|
||
|
|
scope:target.holder.house = scope:owner.top_liege.house
|
||
|
|
}
|
||
|
|
add = -12
|
||
|
|
}
|
||
|
|
if = {
|
||
|
|
limit = {
|
||
|
|
scope:owner.house = {
|
||
|
|
is_powerful_family = yes
|
||
|
|
is_dominant_family = no
|
||
|
|
}
|
||
|
|
}
|
||
|
|
add = 8
|
||
|
|
}
|
||
|
|
if = {
|
||
|
|
limit = {
|
||
|
|
scope:target.holder.house = {
|
||
|
|
is_powerful_family = yes
|
||
|
|
is_dominant_family = no
|
||
|
|
}
|
||
|
|
}
|
||
|
|
add = -16
|
||
|
|
}
|
||
|
|
if = {
|
||
|
|
limit = {
|
||
|
|
scope:target.domicile = {
|
||
|
|
OR = {
|
||
|
|
has_domicile_building_or_higher = barracks_01
|
||
|
|
has_domicile_building_or_higher = guardhouse_01
|
||
|
|
has_domicile_building_or_higher = watchtower_01
|
||
|
|
has_domicile_building_or_higher = estate_main_02
|
||
|
|
}
|
||
|
|
}
|
||
|
|
}
|
||
|
|
add = -4
|
||
|
|
}
|
||
|
|
if = {
|
||
|
|
limit = {
|
||
|
|
scope:target.domicile = {
|
||
|
|
OR = {
|
||
|
|
has_domicile_building_or_higher = barracks_03
|
||
|
|
has_domicile_building_or_higher = guardhouse_03
|
||
|
|
has_domicile_building_or_higher = watchtower_03
|
||
|
|
has_domicile_building_or_higher = estate_main_04
|
||
|
|
}
|
||
|
|
}
|
||
|
|
}
|
||
|
|
add = -12
|
||
|
|
}
|
||
|
|
}
|
||
|
|
}
|
||
|
|
|
||
|
|
odds_prepare_fire_dromons_scheme_misc_value = {
|
||
|
|
add = {
|
||
|
|
value = 0
|
||
|
|
desc = scheme_odds.misc_modifiers
|
||
|
|
add = {
|
||
|
|
value = scope:owner.influence_level
|
||
|
|
multiply = 2
|
||
|
|
}
|
||
|
|
}
|
||
|
|
}
|
||
|
|
|
||
|
|
odds_ingratiate_family_scheme_misc_value = {
|
||
|
|
add = {
|
||
|
|
value = 0
|
||
|
|
desc = scheme_odds.misc_modifiers
|
||
|
|
if = {
|
||
|
|
limit = {
|
||
|
|
scope:target = {
|
||
|
|
trait_compatibility = {
|
||
|
|
target = scope:owner
|
||
|
|
value >= medium_positive_trait_compatibility
|
||
|
|
}
|
||
|
|
}
|
||
|
|
}
|
||
|
|
add = 6
|
||
|
|
}
|
||
|
|
if = {
|
||
|
|
limit = {
|
||
|
|
scope:target = {
|
||
|
|
trait_compatibility = {
|
||
|
|
target = scope:owner
|
||
|
|
value <= medium_negative_trait_compatibility
|
||
|
|
}
|
||
|
|
}
|
||
|
|
}
|
||
|
|
add = -12
|
||
|
|
}
|
||
|
|
if = {
|
||
|
|
limit = {
|
||
|
|
scope:target = {
|
||
|
|
personal_scheme_success_compare_target_liege_tier_trigger = no
|
||
|
|
}
|
||
|
|
scope:owner = {
|
||
|
|
tier_difference = {
|
||
|
|
target = scope:target
|
||
|
|
value >= 1
|
||
|
|
}
|
||
|
|
}
|
||
|
|
}
|
||
|
|
add = 8
|
||
|
|
}
|
||
|
|
if = {
|
||
|
|
limit = {
|
||
|
|
scope:target = {
|
||
|
|
personal_scheme_success_compare_target_liege_tier_trigger = no
|
||
|
|
}
|
||
|
|
scope:owner = {
|
||
|
|
tier_difference = {
|
||
|
|
target = scope:target
|
||
|
|
value <= -1
|
||
|
|
}
|
||
|
|
}
|
||
|
|
}
|
||
|
|
add = -14
|
||
|
|
}
|
||
|
|
if = {
|
||
|
|
limit = {
|
||
|
|
scope:owner.house = { is_dominant_family = yes }
|
||
|
|
}
|
||
|
|
add = 6
|
||
|
|
}
|
||
|
|
if = {
|
||
|
|
limit = {
|
||
|
|
scope:owner.dynasty = scope:target.dynasty
|
||
|
|
}
|
||
|
|
add = 8
|
||
|
|
}
|
||
|
|
}
|
||
|
|
}
|
||
|
|
|
||
|
|
odds_found_despotate_scheme_misc_value = {
|
||
|
|
add = {
|
||
|
|
value = -6
|
||
|
|
desc = scheme_odds.misc_modifiers
|
||
|
|
if = {
|
||
|
|
limit = {
|
||
|
|
scope:owner.house = {
|
||
|
|
is_powerful_family = yes
|
||
|
|
is_dominant_family = no
|
||
|
|
}
|
||
|
|
}
|
||
|
|
add = 6
|
||
|
|
}
|
||
|
|
if = {
|
||
|
|
limit = {
|
||
|
|
scope:owner.house = { is_dominant_family = yes }
|
||
|
|
}
|
||
|
|
add = 8
|
||
|
|
}
|
||
|
|
if = {
|
||
|
|
limit = {
|
||
|
|
scope:owner.top_liege.capital_county.kingdom ?= scope:target
|
||
|
|
}
|
||
|
|
add = -12
|
||
|
|
}
|
||
|
|
}
|
||
|
|
}
|
||
|
|
|
||
|
|
odds_diarch_scheme_misc_value = {
|
||
|
|
add = {
|
||
|
|
value = 0
|
||
|
|
desc = scheme_odds.misc_modifiers
|
||
|
|
add = {
|
||
|
|
value = scope:target.strife_opinion
|
||
|
|
multiply = 0.25
|
||
|
|
min = 5
|
||
|
|
max = 40
|
||
|
|
}
|
||
|
|
}
|
||
|
|
|
||
|
|
}
|
||
|
|
|
||
|
|
odds_depose_scheme_misc_value = {
|
||
|
|
add = {
|
||
|
|
value = 0
|
||
|
|
desc = scheme_odds.misc_modifiers
|
||
|
|
if = {
|
||
|
|
limit = {
|
||
|
|
scope:target = {
|
||
|
|
faith = scope:owner.faith
|
||
|
|
faith = {
|
||
|
|
has_doctrine = doctrine_spiritual_head
|
||
|
|
}
|
||
|
|
faith = {
|
||
|
|
exists = religious_head
|
||
|
|
religious_head = {
|
||
|
|
this = scope:target
|
||
|
|
}
|
||
|
|
}
|
||
|
|
}
|
||
|
|
}
|
||
|
|
add = -28
|
||
|
|
}
|
||
|
|
if = {
|
||
|
|
limit = {
|
||
|
|
scope:owner.house = { is_dominant_family = yes }
|
||
|
|
}
|
||
|
|
add = 8
|
||
|
|
}
|
||
|
|
}
|
||
|
|
|
||
|
|
}
|
||
|
|
|
||
|
|
odds_befriend_scheme_misc_value = {
|
||
|
|
add = {
|
||
|
|
value = 0
|
||
|
|
desc = scheme_odds.misc_modifiers
|
||
|
|
if = {
|
||
|
|
limit = {
|
||
|
|
scope:owner = {
|
||
|
|
knows_language_of_culture = scope:target.culture
|
||
|
|
}
|
||
|
|
}
|
||
|
|
add = 6
|
||
|
|
}
|
||
|
|
if = {
|
||
|
|
limit = {
|
||
|
|
scope:owner = {
|
||
|
|
OR = {
|
||
|
|
has_trait = education_diplomacy_1
|
||
|
|
has_trait = education_diplomacy_2
|
||
|
|
has_trait = education_diplomacy_3
|
||
|
|
has_trait = education_diplomacy_4
|
||
|
|
has_trait = education_diplomacy_5
|
||
|
|
}
|
||
|
|
}
|
||
|
|
}
|
||
|
|
add = 6
|
||
|
|
}
|
||
|
|
if = {
|
||
|
|
limit = {
|
||
|
|
scope:owner = {
|
||
|
|
OR = {
|
||
|
|
has_trait = diplomat
|
||
|
|
has_trait = august
|
||
|
|
has_trait = lifestyle_reveler
|
||
|
|
}
|
||
|
|
}
|
||
|
|
}
|
||
|
|
add = 12
|
||
|
|
}
|
||
|
|
if = {
|
||
|
|
limit = {
|
||
|
|
scope:owner = {
|
||
|
|
has_trait = shy
|
||
|
|
has_trait = callous
|
||
|
|
}
|
||
|
|
}
|
||
|
|
add = -8
|
||
|
|
}
|
||
|
|
if = {
|
||
|
|
limit = {
|
||
|
|
scope:target = {
|
||
|
|
has_trait = shy
|
||
|
|
has_trait = callous
|
||
|
|
has_trait = paranoid
|
||
|
|
}
|
||
|
|
}
|
||
|
|
add = -12
|
||
|
|
}
|
||
|
|
if = {
|
||
|
|
limit = {
|
||
|
|
scope:target = {
|
||
|
|
trait_compatibility = {
|
||
|
|
target = scope:owner
|
||
|
|
value >= medium_positive_trait_compatibility
|
||
|
|
}
|
||
|
|
}
|
||
|
|
}
|
||
|
|
add = 14
|
||
|
|
}
|
||
|
|
if = {
|
||
|
|
limit = {
|
||
|
|
scope:target = {
|
||
|
|
trait_compatibility = {
|
||
|
|
target = scope:owner
|
||
|
|
value <= medium_negative_trait_compatibility
|
||
|
|
}
|
||
|
|
}
|
||
|
|
}
|
||
|
|
add = -26
|
||
|
|
}
|
||
|
|
if = {
|
||
|
|
limit = {
|
||
|
|
scope:target = {
|
||
|
|
personal_scheme_success_compare_target_liege_tier_trigger = no
|
||
|
|
}
|
||
|
|
scope:owner = {
|
||
|
|
tier_difference = {
|
||
|
|
target = scope:target
|
||
|
|
value >= 1
|
||
|
|
}
|
||
|
|
}
|
||
|
|
}
|
||
|
|
add = 14
|
||
|
|
}
|
||
|
|
if = {
|
||
|
|
limit = {
|
||
|
|
scope:target = {
|
||
|
|
personal_scheme_success_compare_target_liege_tier_trigger = no
|
||
|
|
}
|
||
|
|
scope:owner = {
|
||
|
|
tier_difference = {
|
||
|
|
target = scope:target
|
||
|
|
value <= -1
|
||
|
|
}
|
||
|
|
}
|
||
|
|
}
|
||
|
|
add = -16
|
||
|
|
}
|
||
|
|
if = {
|
||
|
|
limit = {
|
||
|
|
scope:owner = { has_relation_rival = scope:target }
|
||
|
|
}
|
||
|
|
add = -24
|
||
|
|
}
|
||
|
|
}
|
||
|
|
}
|
||
|
|
|
||
|
|
odds_abduct_scheme_misc_value = {
|
||
|
|
add = {
|
||
|
|
value = 0
|
||
|
|
desc = scheme_odds.misc_modifiers
|
||
|
|
if = {
|
||
|
|
limit = {
|
||
|
|
scope:target = {
|
||
|
|
personal_scheme_success_compare_target_liege_tier_trigger = no
|
||
|
|
}
|
||
|
|
scope:owner = {
|
||
|
|
tier_difference = {
|
||
|
|
target = scope:target
|
||
|
|
value >= 1
|
||
|
|
}
|
||
|
|
}
|
||
|
|
}
|
||
|
|
add = 14
|
||
|
|
}
|
||
|
|
if = {
|
||
|
|
limit = {
|
||
|
|
scope:target = {
|
||
|
|
personal_scheme_success_compare_target_liege_tier_trigger = no
|
||
|
|
}
|
||
|
|
scope:owner = {
|
||
|
|
tier_difference = {
|
||
|
|
target = scope:target
|
||
|
|
value <= -1
|
||
|
|
}
|
||
|
|
}
|
||
|
|
}
|
||
|
|
add = -16
|
||
|
|
}
|
||
|
|
if = { # Foreign Rulers are very hard to kidnap
|
||
|
|
limit = {
|
||
|
|
scope:target = {
|
||
|
|
OR = {
|
||
|
|
is_ruler = yes
|
||
|
|
is_foreign_court_or_pool_guest = no
|
||
|
|
}
|
||
|
|
NOT = {
|
||
|
|
scope:target.top_liege = scope:owner.top_liege
|
||
|
|
}
|
||
|
|
}
|
||
|
|
}
|
||
|
|
add = -25
|
||
|
|
}
|
||
|
|
if = { # Rulers are harder to kidnap
|
||
|
|
limit = {
|
||
|
|
scope:target = {
|
||
|
|
is_ruler = yes
|
||
|
|
scope:target.top_liege = scope:owner.top_liege
|
||
|
|
}
|
||
|
|
}
|
||
|
|
add = -10
|
||
|
|
}
|
||
|
|
}
|
||
|
|
}
|
||
|
|
|
||
|
|
odds_romance_scheme_misc_value = {
|
||
|
|
add = {
|
||
|
|
value = 0
|
||
|
|
desc = scheme_odds.misc_modifiers
|
||
|
|
# Thicker Than Water Perk
|
||
|
|
if = {
|
||
|
|
limit = {
|
||
|
|
scope:owner = {
|
||
|
|
has_perk = thicker_than_water_perk
|
||
|
|
}
|
||
|
|
scope:target = {
|
||
|
|
is_close_or_extended_family_of = scope:owner
|
||
|
|
}
|
||
|
|
}
|
||
|
|
add = 5
|
||
|
|
}
|
||
|
|
if = { # Tradition
|
||
|
|
limit = {
|
||
|
|
scope:owner = {
|
||
|
|
has_trait = poet
|
||
|
|
culture = {
|
||
|
|
has_cultural_parameter = poet_trait_romance_bonuses
|
||
|
|
}
|
||
|
|
}
|
||
|
|
}
|
||
|
|
add = 8
|
||
|
|
}
|
||
|
|
# You are a Courteous Knight
|
||
|
|
if = {
|
||
|
|
limit = {
|
||
|
|
scope:owner = {
|
||
|
|
has_character_modifier = ep3_courteous_knight_modifier
|
||
|
|
}
|
||
|
|
}
|
||
|
|
add = 5
|
||
|
|
}
|
||
|
|
if = {
|
||
|
|
limit = {
|
||
|
|
scope:owner = { has_perk = home_advantage_perk }
|
||
|
|
scope:target = {
|
||
|
|
OR = {
|
||
|
|
is_courtier_of = scope:owner
|
||
|
|
is_pool_guest_of = scope:owner
|
||
|
|
is_foreign_court_guest_of = scope:owner
|
||
|
|
}
|
||
|
|
}
|
||
|
|
}
|
||
|
|
add = 10
|
||
|
|
}
|
||
|
|
if = {
|
||
|
|
limit = {
|
||
|
|
scope:owner = { has_perk = courtship_perk }
|
||
|
|
}
|
||
|
|
add = 5
|
||
|
|
}
|
||
|
|
if = {
|
||
|
|
limit = {
|
||
|
|
scope:owner = {
|
||
|
|
is_spouse_of = scope:target
|
||
|
|
}
|
||
|
|
scope:owner.culture = {
|
||
|
|
has_cultural_parameter = romance_scheme_bonus_vs_spouse
|
||
|
|
}
|
||
|
|
}
|
||
|
|
add = 5
|
||
|
|
}
|
||
|
|
if = {
|
||
|
|
limit = {
|
||
|
|
scope:owner = { knows_language_of_culture = scope:target.culture }
|
||
|
|
}
|
||
|
|
add = 4
|
||
|
|
}
|
||
|
|
if = {
|
||
|
|
limit = {
|
||
|
|
scope:owner.dynasty ?= {
|
||
|
|
has_dynasty_perk = kin_legacy_4
|
||
|
|
}
|
||
|
|
scope:target.dynasty ?= scope:owner.dynasty
|
||
|
|
}
|
||
|
|
add = 5
|
||
|
|
}
|
||
|
|
|
||
|
|
if = {
|
||
|
|
limit = {
|
||
|
|
exists = scope:owner.house
|
||
|
|
exists = scope:target.house
|
||
|
|
scope:owner.culture = {
|
||
|
|
has_cultural_parameter = cultural_house_personal_scheme_success_chance
|
||
|
|
}
|
||
|
|
scope:target.house = scope:owner.house
|
||
|
|
}
|
||
|
|
add = 5
|
||
|
|
}
|
||
|
|
if = {
|
||
|
|
limit = {
|
||
|
|
scope:owner = { has_trait = gallant }
|
||
|
|
}
|
||
|
|
add = 16
|
||
|
|
}
|
||
|
|
if = {
|
||
|
|
limit = {
|
||
|
|
OR = {
|
||
|
|
scope:owner = { has_trait = beauty_good_1 }
|
||
|
|
scope:owner = { has_trait = beauty_good_2 }
|
||
|
|
scope:owner = { has_trait = beauty_good_3 }
|
||
|
|
}
|
||
|
|
}
|
||
|
|
add = 12
|
||
|
|
}
|
||
|
|
if = {
|
||
|
|
limit = {
|
||
|
|
OR = {
|
||
|
|
scope:owner = { has_trait = physique_good_1 }
|
||
|
|
scope:owner = { has_trait = physique_good_2 }
|
||
|
|
scope:owner = { has_trait = physique_good_3 }
|
||
|
|
}
|
||
|
|
}
|
||
|
|
add = 11
|
||
|
|
}
|
||
|
|
if = {
|
||
|
|
limit = {
|
||
|
|
OR = {
|
||
|
|
scope:owner = { has_trait = beauty_bad_1 }
|
||
|
|
scope:owner = { has_trait = beauty_bad_2 }
|
||
|
|
scope:owner = { has_trait = beauty_bad_3 }
|
||
|
|
}
|
||
|
|
}
|
||
|
|
add = -21
|
||
|
|
}
|
||
|
|
if = {
|
||
|
|
limit = {
|
||
|
|
OR = {
|
||
|
|
scope:owner = { has_trait = great_pox }
|
||
|
|
scope:owner = { has_trait = lovers_pox }
|
||
|
|
scope:owner = { has_trait = early_great_pox }
|
||
|
|
}
|
||
|
|
}
|
||
|
|
add = -17
|
||
|
|
}
|
||
|
|
if = {
|
||
|
|
limit = {
|
||
|
|
scope:owner = {
|
||
|
|
NOR = {
|
||
|
|
is_attracted_to_gender_of = scope:target
|
||
|
|
has_perk = unshackled_lust_perk
|
||
|
|
}
|
||
|
|
}
|
||
|
|
}
|
||
|
|
add = -15
|
||
|
|
}
|
||
|
|
if = {
|
||
|
|
limit = {
|
||
|
|
scope:target = {
|
||
|
|
relation_with_character_is_incestuous_in_my_or_lieges_faith_trigger = { CHARACTER = scope:owner }
|
||
|
|
}
|
||
|
|
scope:owner = { # The Subtle Desire Perk nullifies this
|
||
|
|
NOT = { has_perk = subtle_desire_perk }
|
||
|
|
}
|
||
|
|
}
|
||
|
|
add = -22
|
||
|
|
}
|
||
|
|
if = {
|
||
|
|
limit = {
|
||
|
|
scope:target = {
|
||
|
|
NOT = { is_consort_of = scope:owner }
|
||
|
|
is_close_or_extended_family_of = scope:owner
|
||
|
|
NOR = {
|
||
|
|
accepts_incest_with_trigger = { CHARACTER = scope:owner } #100% fine with incest with owner
|
||
|
|
scope:owner = { has_perk = subtle_desire_perk } # The Subtle Desire Perk nullifies this
|
||
|
|
guaranteed_under_20_incest_rejection_trigger = { # handled by hard block modifier
|
||
|
|
TARGET = scope:target
|
||
|
|
SEDUCER = scope:owner
|
||
|
|
}
|
||
|
|
}
|
||
|
|
}
|
||
|
|
}
|
||
|
|
add = -16
|
||
|
|
}
|
||
|
|
if = {
|
||
|
|
limit = {
|
||
|
|
scope:target = {
|
||
|
|
personal_scheme_success_compare_target_liege_tier_trigger = no
|
||
|
|
}
|
||
|
|
scope:owner = {
|
||
|
|
tier_difference = {
|
||
|
|
target = scope:target
|
||
|
|
value >= 1
|
||
|
|
}
|
||
|
|
}
|
||
|
|
}
|
||
|
|
add = 12
|
||
|
|
}
|
||
|
|
if = {
|
||
|
|
limit = {
|
||
|
|
scope:target = {
|
||
|
|
personal_scheme_success_compare_target_liege_tier_trigger = no
|
||
|
|
}
|
||
|
|
scope:owner = {
|
||
|
|
tier_difference = {
|
||
|
|
target = scope:target
|
||
|
|
value <= -1
|
||
|
|
}
|
||
|
|
}
|
||
|
|
}
|
||
|
|
add = -40
|
||
|
|
}
|
||
|
|
if = {
|
||
|
|
limit = {
|
||
|
|
scope:target = {
|
||
|
|
trait_compatibility = {
|
||
|
|
target = scope:owner
|
||
|
|
value >= medium_positive_trait_compatibility
|
||
|
|
}
|
||
|
|
}
|
||
|
|
}
|
||
|
|
add = 18
|
||
|
|
}
|
||
|
|
if = {
|
||
|
|
limit = {
|
||
|
|
scope:target = {
|
||
|
|
trait_compatibility = {
|
||
|
|
target = scope:owner
|
||
|
|
value <= medium_negative_trait_compatibility
|
||
|
|
}
|
||
|
|
}
|
||
|
|
}
|
||
|
|
add = -36
|
||
|
|
}
|
||
|
|
}
|
||
|
|
}
|
||
|
|
|
||
|
|
odds_convert_to_witchcraft_misc_value = {
|
||
|
|
add = {
|
||
|
|
value = 0
|
||
|
|
desc = scheme_odds.misc_modifiers
|
||
|
|
add = {
|
||
|
|
value = {
|
||
|
|
scope:target = { value = "opinion(scope:owner)" }
|
||
|
|
multiply = 0.2
|
||
|
|
floor = yes
|
||
|
|
}
|
||
|
|
}
|
||
|
|
if = {
|
||
|
|
limit = {
|
||
|
|
scope:owner = {
|
||
|
|
exists = house
|
||
|
|
house = { has_house_modifier = witch_coven }
|
||
|
|
}
|
||
|
|
}
|
||
|
|
add = 4
|
||
|
|
}
|
||
|
|
add = {
|
||
|
|
value = scope:target.ai_zeal
|
||
|
|
multiply = -1
|
||
|
|
max = 50
|
||
|
|
min = -50
|
||
|
|
}
|
||
|
|
|
||
|
|
#Attraction
|
||
|
|
if = {
|
||
|
|
limit = {
|
||
|
|
scope:target = { is_attracted_to_gender_of = scope:owner }
|
||
|
|
}
|
||
|
|
add = 5
|
||
|
|
}
|
||
|
|
|
||
|
|
#Target traits
|
||
|
|
if = {
|
||
|
|
limit = {
|
||
|
|
scope:target = {
|
||
|
|
has_trait = zealous
|
||
|
|
NOR = {
|
||
|
|
faith = {
|
||
|
|
trait_is_virtue = witch
|
||
|
|
has_doctrine_parameter = witchcraft_accepted
|
||
|
|
}
|
||
|
|
}
|
||
|
|
}
|
||
|
|
}
|
||
|
|
add = -10
|
||
|
|
}
|
||
|
|
|
||
|
|
if = {
|
||
|
|
limit = {
|
||
|
|
scope:target = {
|
||
|
|
has_trait = devoted
|
||
|
|
NOR = {
|
||
|
|
faith = {
|
||
|
|
trait_is_virtue = witch
|
||
|
|
has_doctrine_parameter = witchcraft_accepted
|
||
|
|
}
|
||
|
|
}
|
||
|
|
}
|
||
|
|
}
|
||
|
|
add = -6
|
||
|
|
}
|
||
|
|
|
||
|
|
if = {
|
||
|
|
limit = {
|
||
|
|
scope:target = {
|
||
|
|
has_trait = order_member
|
||
|
|
NOR = {
|
||
|
|
faith = {
|
||
|
|
trait_is_virtue = witch
|
||
|
|
has_doctrine_parameter = witchcraft_accepted
|
||
|
|
}
|
||
|
|
}
|
||
|
|
}
|
||
|
|
}
|
||
|
|
add = -6
|
||
|
|
}
|
||
|
|
|
||
|
|
if = {
|
||
|
|
limit = {
|
||
|
|
scope:target = {
|
||
|
|
OR = {
|
||
|
|
has_trait = craven
|
||
|
|
has_trait = paranoid
|
||
|
|
}
|
||
|
|
}
|
||
|
|
}
|
||
|
|
add = -8
|
||
|
|
}
|
||
|
|
|
||
|
|
if = {
|
||
|
|
limit = {
|
||
|
|
scope:target = {
|
||
|
|
OR = {
|
||
|
|
has_trait = lifestyle_reveler
|
||
|
|
has_trait = seducer
|
||
|
|
has_trait = lifestyle_mystic
|
||
|
|
has_trait = lifestyle_herbalist
|
||
|
|
has_trait = lustful
|
||
|
|
has_trait = deceitful
|
||
|
|
has_trait = ambitious
|
||
|
|
has_trait = trusting
|
||
|
|
has_trait = excommunicated
|
||
|
|
}
|
||
|
|
}
|
||
|
|
}
|
||
|
|
add = 8
|
||
|
|
}
|
||
|
|
|
||
|
|
if = {
|
||
|
|
limit = {
|
||
|
|
scope:target = { has_intrigue_lifestyle_trait_trigger = yes }
|
||
|
|
}
|
||
|
|
add = 4
|
||
|
|
}
|
||
|
|
|
||
|
|
if = {
|
||
|
|
limit = {
|
||
|
|
scope:target = {
|
||
|
|
has_trait = cynical
|
||
|
|
NOT = {
|
||
|
|
faith = { trait_is_virtue = witch }
|
||
|
|
}
|
||
|
|
}
|
||
|
|
}
|
||
|
|
add = 2
|
||
|
|
}
|
||
|
|
|
||
|
|
# House Personal Scheme Success Chance on Cultural Parameter
|
||
|
|
if = {
|
||
|
|
limit = {
|
||
|
|
exists = scope:owner.house
|
||
|
|
exists = scope:target.house
|
||
|
|
scope:owner.culture = {
|
||
|
|
has_cultural_parameter = cultural_house_personal_scheme_success_chance
|
||
|
|
}
|
||
|
|
scope:target.house = scope:owner.house
|
||
|
|
}
|
||
|
|
add = 5
|
||
|
|
}
|
||
|
|
|
||
|
|
# Modifiers
|
||
|
|
# house_head_request_interaction
|
||
|
|
if = {
|
||
|
|
limit = {
|
||
|
|
scope:owner = {
|
||
|
|
has_variable_list = supporting_personal_schemes
|
||
|
|
}
|
||
|
|
}
|
||
|
|
add = 2
|
||
|
|
}
|
||
|
|
if = {
|
||
|
|
limit = {
|
||
|
|
scope:owner = { has_character_modifier = personal_schemes_distracted_modifier }
|
||
|
|
}
|
||
|
|
add = -2
|
||
|
|
}
|
||
|
|
# Estate
|
||
|
|
if = {
|
||
|
|
limit = {
|
||
|
|
scope:owner.domicile ?= {
|
||
|
|
has_domicile_parameter = increased_success_personal_schemes_1
|
||
|
|
}
|
||
|
|
}
|
||
|
|
add = 2
|
||
|
|
}
|
||
|
|
if = {
|
||
|
|
limit = {
|
||
|
|
scope:owner.domicile ?= {
|
||
|
|
has_domicile_parameter = increased_success_personal_schemes_2
|
||
|
|
}
|
||
|
|
}
|
||
|
|
add = 4
|
||
|
|
}
|
||
|
|
if = {
|
||
|
|
limit = {
|
||
|
|
scope:owner.domicile ?= {
|
||
|
|
has_domicile_parameter = increased_success_personal_schemes_3
|
||
|
|
}
|
||
|
|
}
|
||
|
|
add = 6
|
||
|
|
}
|
||
|
|
}
|
||
|
|
}
|