This commit is contained in:
Fishedotjpg 2026-02-25 20:46:16 +00:00
parent bbd44e2a61
commit b92cc3ab2d
19 changed files with 29483 additions and 166 deletions

View file

@ -0,0 +1,104 @@
<key> = {
# for grouping together contract types, e.g. mercenary, potentially determines map icon
group = test_group
# Icon used in the UI
icon = "path/to/image.dds"
# Description or 'back-story' of the task contract, defaults to "<key>_desc"
# root = task_contract_type
desc = ""
# Description for request telling 'what to do' in order to complete the contract, defaults to "<key>_request"
# root = task_contract_type
task_contract_request = ""
# Contract owner should travel to contract location to accept and stay there for the duration of the contract
travel = no
# Contract is of a criminal nature
is_criminal = no
# Range setting
# yes - uses diplomatic range to contract employer
# no - uses ADVENTURER_DISTANCE_RESTRICTION define as radius
use_diplomatic_range = no
# Validity Triggers
## Can contract appear? (if triggers are true)
# root - contract owner
# scope:employer - contract employer, can be empty
valid_to_create = {
<trigger>
}
# Can contract be accepted? (if triggers are true)
# root - contract owner
# scope:employer - contract employer, can be empty
valid_to_accept = {
<trigger>
}
# Should contract invalidate? (if triggers are false)
# root - existing contract
valid_to_continue = {
<trigger>
}
# Should not taken contract invalidate? (if triggers are false)
# root - existing contract
valid_to_keep = {
<trigger>
}
# On-Action Effects
## Effects called when contract is created (create_task_contract effect)
on_create = {
<effects>
}
## Effects called when contract is accepted (accept_task_contract effect)
on_accepted = {
<effects>
}
# Effects called when contract is completed successfully, along with rewards (complete_task_contract effect)
on_completed = {
<effects>
}
# Effects called when contract is invalidated (valid_to_continue is false, or invalidate_task_contract effect)
on_invalidated = {
<effects>
}
# Default = no, showing completed contract toast animation
should_show_toast_on_complete = no
# Contract Reward Effects
task_contract_reward = {
#reward name
<string> = {
# Default = no, showing completed contract reward effect desription
should_print_on_complete = no
effect = {
<effects>
}
# Should this possible reward be shown in the UI. It will still be displayed in the effect on completion
# if that's what owner gets
visible = yes
# Is this reward positive 'Upon Success' or negative 'Upon Failure'
# default is yes
positive = yes
}
}
# scripted value how likely this contract type is to be picked when populating for area
# root - contract owner
# scope:employer - contract employer, can be empty
weight = {
value = 0
}
}

File diff suppressed because it is too large Load diff

File diff suppressed because it is too large Load diff

File diff suppressed because it is too large Load diff

View file

@ -0,0 +1,969 @@
##################################################
# INFO
# Extra contracts for laamps.
##################################################
laamp_boost_legitimacy_contract = {
group = laamp_contracts_diplomacy_group
icon = "gfx/interface/icons/scheme_types/diplomacy.dds"
travel = yes
use_diplomatic_range = yes
valid_to_create = {
# Standard triggers.
valid_laamp_basic_trigger = {
EMPLOYER = scope:employer
LAAMP = root
}
employer_has_treasury_to_offer_job_trigger = yes
valid_laamp_sensible_start_trigger = yes
scope:employer = {
legitimacy_level <= 2
top_liege = this
is_landed = yes
is_ai = yes
NOR = {
location = root.location
government_has_flag = government_is_theocracy
}
highest_held_title_tier > tier_county
location = {
squared_distance = {
target = root.location
value <= squared_distance_large
}
}
}
}
valid_to_accept = {
# Standard triggers.
valid_laamp_basic_accept_only_trigger = yes
valid_laamp_basic_trigger = {
EMPLOYER = scope:employer
LAAMP = root
}
}
valid_to_continue = {
# Standard triggers.
valid_laamp_basic_trigger = {
EMPLOYER = root.task_contract_employer
LAAMP = root.task_contract_taker
}
}
valid_to_keep = {
# Standard triggers.
valid_laamp_basic_trigger = {
EMPLOYER = root.task_contract_employer
LAAMP = root.task_contract_taker
}
}
weight = {
# Standard weights.
value = task_contract_weight_interesting_somewhat_rare_value
add = laamp_contracts_weight_up_diplomacy_value
add = laamp_contracts_weight_up_diplomacy_slight_value
add = task_contract_weight_employer_contact_list_value
scope:employer = { multiply = task_contract_weight_by_tier_value }
}
on_create = {
scope:contract = {
save_scope_as = task_contract
task_contract_employer = {
save_scope_as = task_contract_employer
capital_province = {
save_scope_as = task_contract_destination
}
}
set_variable = {
name = task_contract_employer
value = scope:task_contract_employer
}
set_variable = {
name = task_contract_destination
value = scope:task_contract_destination
}
# Make our gold rewards static.
grab_gold_fuzz_number_effect = yes
save_scope_as = task_contract
set_variable = {
name = gold_success_standard
value = task_contract_taker.task_contract_success_gold_gain_full_value
}
}
}
on_accepted = {
save_scope_as = task_contract
task_contract_taker = {
trigger_event = {
id = ep3_contract_event.0510
delayed = yes
}
}
}
task_contract_reward = {
success_standard = {
should_print_on_complete = yes
effect = {
save_scope_as = task_contract
task_contract_taker = { play_sound_effect = "event:/DLC/EP3/SFX/UI/Contracts/ep3_ui_contracts_success_on_contract" }
save_scope_value_as = { name = extra_reward value = flag:no }
task_contract_taker = {
send_interface_toast = {
title = laamp_transport_contract.success #Re-using
left_icon = scope:task_contract.task_contract_taker
right_icon = scope:task_contract.task_contract_employer
scope:task_contract = {
# Standard Rewards.
laamp_rewards_disburse_ordinary_currency_effect = {
GOLD = scope:task_contract.var:gold_success_standard
PRESTIGE = task_contract_success_prestige_gain_full_value
PIETY = 0
PROVISIONS = 0
OPINION = task_contract_opinion_standard_reward_value
OPINION_TYPE = succeeded_task_contract_opinion
CONTACT = yes
CONTACT_HOOK = no
EXTRA_REWARD = scope:extra_reward
}
task_contract_employer = {
add_legitimacy = minor_legitimacy_gain
}
}
}
}
}
}
failure_standard = {
positive = no
effect = {
save_scope_as = task_contract
task_contract_taker = { play_sound_effect = "event:/DLC/EP3/SFX/UI/Contracts/ep3_ui_contracts_failure_on_contract" }
save_scope_value_as = { name = extra_reward value = flag:no }
# Standard Penalties.
laamp_rewards_disburse_ordinary_currency_effect = {
GOLD = 0
PRESTIGE = task_contract_failure_prestige_loss_full_value
PIETY = 0
PROVISIONS = task_contract_failure_provisions_gain_minor_value
OPINION = task_contract_opinion_standard_failure_value
OPINION_TYPE = failed_task_contract_opinion
CONTACT = no
CONTACT_HOOK = no
EXTRA_REWARD = scope:extra_reward
}
task_contract_employer = {
add_legitimacy = miniscule_legitimacy_loss
}
}
}
failure_critical = {
positive = no
effect = {
save_scope_as = task_contract
# Standard Penalties.
laamp_rewards_disburse_ordinary_currency_effect = {
GOLD = 0
PRESTIGE = task_contract_failure_prestige_loss_double_value
PIETY = 0
PROVISIONS = task_contract_failure_provisions_gain_minor_value
OPINION = task_contract_opinion_critical_failure_value
OPINION_TYPE = failed_task_contract_opinion
CONTACT = no
CONTACT_HOOK = no
EXTRA_REWARD = scope:extra_reward
}
task_contract_employer = {
add_legitimacy = medium_legitimacy_loss
add_prestige = task_contract_failure_prestige_loss_double_value
add_stress = medium_stress_gain
}
}
}
}
}
laamp_rid_councillor_contract = {
group = laamp_contracts_martial_group
icon = "gfx/interface/icons/scheme_types/martial.dds"
travel = yes
use_diplomatic_range = yes
is_criminal = yes
valid_to_create = {
# Standard triggers.
valid_laamp_basic_trigger = {
EMPLOYER = scope:employer
LAAMP = root
}
employer_has_treasury_to_offer_job_trigger = yes
valid_laamp_sensible_start_trigger = yes
scope:employer = {
top_liege = this
is_landed = yes
is_ai = yes
NOT = {
government_has_flag = government_is_theocracy
}
highest_held_title_tier > tier_county #Requires a council
location = { #Not too far away
squared_distance = {
target = root.location
value <= squared_distance_large
}
}
any_councillor = { #Has a councillor who they hate
count > 1
is_ai = yes
reverse_opinion = {
target = scope:employer
value <= high_negative_opinion
}
}
}
}
valid_to_accept = {
# Standard triggers.
valid_laamp_basic_accept_only_trigger = yes
valid_laamp_basic_trigger = {
EMPLOYER = scope:employer
LAAMP = root
}
}
valid_to_continue = {
# Standard triggers.
valid_laamp_basic_trigger = {
EMPLOYER = root.task_contract_employer
LAAMP = root.task_contract_taker
}
}
valid_to_keep = {
# Standard triggers.
valid_laamp_basic_trigger = {
EMPLOYER = root.task_contract_employer
LAAMP = root.task_contract_taker
}
}
weight = {
# Standard weights.
value = task_contract_weight_interesting_somewhat_rare_value
add = laamp_contracts_weight_up_martial_value
add = laamp_contracts_weight_up_martial_slight_value
add = task_contract_weight_employer_contact_list_value
scope:employer = { multiply = task_contract_weight_by_tier_value }
}
on_create = {
scope:contract = {
save_scope_as = task_contract
task_contract_employer = {
save_scope_as = task_contract_employer
capital_province = {
save_scope_as = task_contract_destination
}
}
set_variable = {
name = task_contract_employer
value = scope:task_contract_employer
}
set_variable = {
name = task_contract_destination
value = scope:task_contract_destination
}
# Make our gold rewards static.
grab_gold_fuzz_number_effect = yes
save_scope_as = task_contract
set_variable = {
name = gold_success_critical
value = task_contract_success_gold_gain_full_value
}
set_variable = {
name = gold_success_standard
value = task_contract_success_gold_gain_half_value
}
}
}
on_accepted = {
save_scope_as = task_contract
task_contract_taker = {
trigger_event = {
id = ep3_contract_event.0550
delayed = no
}
}
}
task_contract_reward = {
success_critical = {
should_print_on_complete = yes
effect = {
save_scope_value_as = { name = extra_reward value = flag:no }
save_scope_as = task_contract
laamp_rewards_disburse_ordinary_currency_effect = {
GOLD = scope:task_contract.var:gold_success_critical
PRESTIGE = task_contract_success_prestige_gain_full_value
PIETY = 0
PROVISIONS = task_contract_success_provisions_gain_major_value
OPINION = task_contract_opinion_excelled_reward_value
OPINION_TYPE = critically_succeeded_task_contract_opinion
CONTACT = yes
CONTACT_HOOK = yes
EXTRA_REWARD = scope:extra_reward
}
}
}
success_standard = {
should_print_on_complete = yes
effect = {
save_scope_value_as = { name = extra_reward value = flag:no }
save_scope_as = task_contract
laamp_rewards_disburse_ordinary_currency_effect = {
GOLD = scope:task_contract.var:gold_success_standard
PRESTIGE = task_contract_success_prestige_gain_half_value
PIETY = 0
PROVISIONS = task_contract_success_provisions_gain_minor_value
OPINION = task_contract_opinion_standard_reward_value
OPINION_TYPE = succeeded_task_contract_opinion
CONTACT = yes
CONTACT_HOOK = no
EXTRA_REWARD = scope:extra_reward
}
task_contract_taker = {
# Update gallowsbait score.
laamp_rewards_apply_criminal_xp_effect = {
TRACK = marauder
XP_MIN = gallowsbait_xp_medium_gain
XP_MAX = gallowsbait_xp_medium_gain
}
}
}
}
failure_standard = {
positive = no
effect = {
save_scope_value_as = { name = extra_reward value = flag:no }
save_scope_as = task_contract
task_contract_taker = {
add_prestige = task_contract_failure_prestige_loss_full_value
add_piety = minor_piety_loss
reverse_add_opinion = {
opinion = -35
modifier = failed_task_contract_opinion
target = scope:task_contract.task_contract_employer
}
# Update gallowsbait score.
laamp_rewards_apply_criminal_xp_effect = {
TRACK = marauder
XP_MIN = gallowsbait_xp_medium_gain
XP_MAX = gallowsbait_xp_medium_gain
}
}
}
}
failure_critical = {
positive = no
effect = {
save_scope_as = task_contract
task_contract_taker = {
add_prestige = task_contract_failure_prestige_loss_double_value
add_piety = medium_piety_loss
add_stress = minor_stress_gain
reverse_add_opinion = {
opinion = -65
modifier = failed_task_contract_opinion
target = scope:task_contract.task_contract_employer
}
# Update gallowsbait score.
laamp_rewards_apply_criminal_xp_effect = {
TRACK = marauder
XP_MIN = gallowsbait_xp_major_gain
XP_MAX = gallowsbait_xp_major_gain
}
}
}
}
}
}
laamp_gain_wanderer_contract = {
group = laamp_contracts_martial_group
icon = "gfx/interface/icons/scheme_types/martial.dds"
travel = yes
use_diplomatic_range = yes
valid_to_create = {
valid_laamp_basic_trigger = {
EMPLOYER = scope:employer
LAAMP = root
}
valid_laamp_sensible_start_trigger = yes
prestige_level >= 2
scope:employer = {
is_landed = no
is_ai = yes
in_diplomatic_range = root
prestige_level < root.prestige_level
location = { #Not too far away
squared_distance = {
target = root.location
value <= squared_distance_large
}
}
primary_title = {
is_mercenary_company = no
}
NOR = {
government_has_flag = government_is_theocracy
government_allows = administrative
}
}
}
valid_to_accept = {
valid_laamp_basic_accept_only_trigger = yes
valid_laamp_basic_trigger = {
EMPLOYER = scope:employer
LAAMP = root
}
is_available = yes
prestige_level >= 2
scope:employer = {
is_landed = no
is_ai = yes
in_diplomatic_range = root
prestige_level < root.prestige_level
location = { #Not too far away
squared_distance = {
target = root.location
value <= squared_distance_large
}
}
primary_title = {
is_mercenary_company = no
}
NOR = {
government_has_flag = government_is_theocracy
government_allows = administrative
}
}
}
weight = {
# Keep it rare and use it to fill in gaps between other contracts
value = task_contract_weight_interesting_very_rare_value
}
on_create = {
scope:contract = {
save_scope_as = task_contract
task_contract_employer = {
save_scope_as = task_contract_employer
capital_province = {
save_scope_as = task_contract_destination
}
}
set_variable = {
name = task_contract_employer
value = scope:task_contract_employer
}
set_variable = {
name = task_contract_destination
value = scope:task_contract_destination
}
# Make our gold rewards static.
grab_gold_fuzz_number_effect = yes
save_scope_as = task_contract
set_variable = {
name = gold_success_standard
value = task_contract_success_gold_gain_half_value
}
}
}
on_accepted = {
save_scope_as = task_contract
task_contract_employer = {
save_scope_as = task_contract_employer
capital_province = {
save_scope_as = task_contract_destination
}
}
task_contract_taker = {
trigger_event = {
id = ep3_contract_event.0570
delayed = no
}
}
}
task_contract_reward = {
success_standard = {
should_print_on_complete = yes
effect = {
save_scope_value_as = { name = extra_reward value = flag:no }
save_scope_as = task_contract
laamp_rewards_disburse_ordinary_currency_effect = {
GOLD = scope:task_contract.var:gold_success_standard
PRESTIGE = task_contract_success_prestige_gain_half_value
PIETY = 0
PROVISIONS = 0
OPINION = task_contract_opinion_standard_reward_value
OPINION_TYPE = succeeded_task_contract_opinion
CONTACT = no
CONTACT_HOOK = no
EXTRA_REWARD = scope:extra_reward
}
task_contract_taker = {
add_intrigue_lifestyle_xp = medium_lifestyle_xp
add_courtier = scope:task_contract.task_contract_employer
}
}
}
failure_standard = {
positive = no
effect = {
save_scope_as = task_contract
task_contract_taker = {
add_stress = medium_stress_gain
add_character_modifier = {
modifier = ep3_clumsy_rescuer_modifier
years = 5
}
reverse_add_opinion = {
opinion = -50
modifier = failed_task_contract_opinion
target = scope:task_contract.task_contract_employer
}
}
}
}
}
}
laamp_find_secret_contract = {
group = laamp_contracts_intrigue_group
icon = "gfx/interface/icons/scheme_types/intrigue.dds"
travel = yes
use_diplomatic_range = yes
valid_to_create = {
valid_laamp_basic_accept_only_trigger = yes
valid_laamp_basic_trigger = {
EMPLOYER = scope:employer
LAAMP = root
}
valid_laamp_sensible_start_trigger = yes
scope:employer = {
is_ai = yes
location = { #Not too far away
squared_distance = {
target = root.location
value <= squared_distance_large
}
}
NOT = {
government_has_flag = government_is_theocracy
}
OR = {
any_courtier_or_guest = {
any_secret = {
count > 0
NOT = { is_known_by = scope:employer }
}
}
any_vassal = {
any_secret = {
count > 0
NOT = { is_known_by = scope:employer }
}
}
}
}
}
valid_to_accept = {
valid_laamp_basic_trigger = {
EMPLOYER = scope:employer
LAAMP = root
}
scope:employer = {
is_ai = yes
location = { #Not too far away
squared_distance = {
target = root.location
value <= squared_distance_large
}
}
NOT = {
government_has_flag = government_is_theocracy
}
}
}
valid_to_continue = {
# Standard triggers.
valid_laamp_basic_trigger = {
EMPLOYER = root.task_contract_employer
LAAMP = root.task_contract_taker
}
}
valid_to_keep = {
# Standard triggers.
valid_laamp_basic_trigger = {
EMPLOYER = root.task_contract_employer
LAAMP = root.task_contract_taker
}
scope:employer = {
OR = {
any_courtier_or_guest = {
any_secret = {
count > 0
NOT = { is_known_by = scope:employer }
}
}
any_vassal = {
any_secret = {
count > 0
NOT = { is_known_by = scope:employer }
}
}
}
}
}
weight = {
value = task_contract_weight_default_value
add = laamp_contracts_weight_up_intrigue_value
add = task_contract_weight_employer_contact_list_value
scope:employer = { multiply = task_contract_weight_by_tier_value }
}
on_create = {
scope:contract = {
save_scope_as = task_contract
task_contract_employer = {
save_scope_as = task_contract_employer
if = {
limit = {
any_vassal = {
any_secret = {
count > 0
NOT = { is_known_by = scope:task_contract_employer }
}
}
}
random_vassal = {
limit = {
any_secret = {
count > 0
NOT = { is_known_by = scope:task_contract_employer }
}
}
save_scope_as = secret_haver
}
}
else = {
random_courtier_or_guest = {
save_scope_as = secret_haver
}
}
scope:secret_haver.location = {
save_scope_as = task_contract_destination
}
}
set_variable = {
name = task_contract_employer
value = scope:task_contract_employer
}
set_variable = {
name = task_contract_destination
value = scope:task_contract_destination
}
}
scope:contract = {
# Make our gold rewards static.
grab_gold_fuzz_number_effect = yes
save_scope_as = task_contract
set_variable = {
name = gold_success_standard
value = task_contract_success_gold_gain_half_value
}
}
}
on_accepted = {
save_scope_as = task_contract
task_contract_employer = {
save_scope_as = task_contract_employer
if = {
limit = {
any_vassal = {
any_secret = {
count > 0
NOT = { is_known_by = scope:task_contract_employer }
}
}
}
random_vassal = {
limit = {
any_secret = {
count > 0
NOT = { is_known_by = scope:task_contract_employer }
}
}
save_scope_as = secret_haver
}
}
else = {
random_courtier_or_guest = {
save_scope_as = secret_haver
}
}
scope:secret_haver.location = {
save_scope_as = task_contract_destination
}
}
task_contract_taker = {
trigger_event = {
id = ep3_contract_event.0580
delayed = no
}
}
}
task_contract_reward = {
success_standard = {
should_print_on_complete = yes
effect = {
save_scope_value_as = { name = extra_reward value = flag:no }
save_scope_as = task_contract
laamp_rewards_disburse_ordinary_currency_effect = {
GOLD = scope:task_contract.var:gold_success_standard
PRESTIGE = task_contract_success_prestige_gain_half_value
PIETY = 0
PROVISIONS = task_contract_success_provisions_gain_minor_value
OPINION = task_contract_opinion_standard_reward_value
OPINION_TYPE = succeeded_task_contract_opinion
CONTACT = no
CONTACT_HOOK = no
EXTRA_REWARD = scope:extra_reward
}
}
}
failure_standard = {
positive = no
effect = {
save_scope_as = task_contract
task_contract_taker = {
add_stress = minor_stress_gain
add_prestige = task_contract_failure_prestige_loss_full_value
reverse_add_opinion = {
opinion = -50
modifier = failed_task_contract_opinion
target = scope:task_contract.task_contract_employer
}
}
}
}
}
}
laamp_eliminate_heir_contract = {
group = laamp_contracts_intrigue_group
icon = "gfx/interface/icons/scheme_types/intrigue.dds"
travel = yes
use_diplomatic_range = yes
is_criminal = yes
valid_to_create = {
valid_laamp_basic_accept_only_trigger = yes
valid_laamp_basic_trigger = {
EMPLOYER = scope:employer
LAAMP = root
}
valid_laamp_sensible_start_trigger = yes
scope:employer = {
is_ai = yes
in_diplomatic_range = root
is_landed = yes
location = { #Not too far away
squared_distance = {
target = root.location
value <= squared_distance_large
}
}
NOR = {
government_has_flag = government_is_theocracy
government_allows = administrative
}
AND = { #They have a primary heir they dislike, and another one they like
primary_heir ?= {
reverse_opinion = {
target = scope:employer
value <= high_negative_opinion
}
age > 16 #No murderin' babies
}
any_heir = {
count > 1
}
}
}
}
valid_to_accept = {
valid_laamp_basic_trigger = {
EMPLOYER = scope:employer
LAAMP = root
}
}
valid_to_continue = {
# Standard triggers.
valid_laamp_basic_trigger = {
EMPLOYER = root.task_contract_employer
LAAMP = root.task_contract_taker
}
}
valid_to_keep = {
# Standard triggers.
valid_laamp_basic_trigger = {
EMPLOYER = root.task_contract_employer
LAAMP = root.task_contract_taker
}
}
weight = { #Let's not have this happen too often
value = task_contract_weight_interesting_very_rare_value
add = task_contract_weight_employer_contact_list_value
}
on_create = {
scope:contract = {
save_scope_as = task_contract
task_contract_employer = {
save_scope_as = task_contract_employer
random_heir = {
limit = {
is_primary_heir_of = scope:task_contract_employer
reverse_opinion = {
target = scope:task_contract_employer
value <= high_negative_opinion
}
age > 16 #No murderin' babies
}
save_scope_as = heir
}
scope:heir.location = {
save_scope_as = task_contract_destination
}
}
set_variable = {
name = task_contract_employer
value = scope:task_contract_employer
}
set_variable = {
name = task_contract_destination
value = scope:task_contract_destination
}
# Make our gold rewards static.
grab_gold_fuzz_number_effect = yes
save_scope_as = task_contract
set_variable = {
name = gold_success_standard
value = task_contract_success_gold_gain_full_value
}
}
}
on_accepted = {
save_scope_as = task_contract
task_contract_employer = {
save_scope_as = task_contract_employer
random_heir = {
limit = {
is_primary_heir_of = scope:task_contract_employer
reverse_opinion = {
target = scope:task_contract_employer
value <= high_negative_opinion
}
age > 16 #No murderin' babies
}
save_scope_as = heir
}
random_heir = {
limit = {
NOT = {
is_primary_heir_of = scope:task_contract_employer
}
reverse_opinion = {
target = scope:task_contract_employer
value >= low_positive_opinion
}
}
save_scope_as = favoured_heir
}
scope:heir.location = {
save_scope_as = task_contract_destination
}
}
task_contract_taker = {
trigger_event = {
id = ep3_contract_event.0590
delayed = no
}
}
}
task_contract_reward = {
success_standard = {
should_print_on_complete = yes
effect = {
save_scope_value_as = { name = extra_reward value = flag:no }
save_scope_as = task_contract
laamp_rewards_disburse_ordinary_currency_effect = {
GOLD = scope:task_contract.var:gold_success_standard
PRESTIGE = task_contract_success_prestige_gain_full_value
PIETY = 0
PROVISIONS = task_contract_success_provisions_gain_major_value
OPINION = task_contract_opinion_excelled_reward_value
OPINION_TYPE = succeeded_task_contract_opinion
CONTACT = yes
CONTACT_HOOK = yes
EXTRA_REWARD = scope:extra_reward
}
}
}
failure_standard = {
positive = no
effect = {
save_scope_value_as = { name = extra_reward value = flag:no }
save_scope_as = task_contract
laamp_rewards_disburse_ordinary_currency_effect = {
GOLD = 0
PRESTIGE = task_contract_failure_prestige_loss_full_value
PIETY = 0
PROVISIONS = task_contract_failure_provisions_gain_minor_value
OPINION = task_contract_opinion_standard_failure_value
OPINION_TYPE = failed_task_contract_opinion
CONTACT = no
CONTACT_HOOK = no
EXTRA_REWARD = scope:extra_reward
}
}
}
}
}

File diff suppressed because it is too large Load diff

View file

@ -0,0 +1,468 @@
#############################
# NOMADIC MIGRATION CONTRACTS
#############################
nomadic_migration_contract_1 = { # Disagreeable Herders
group = nomadic_settling_group
icon = "gfx/interface/icons/government_types/government_type_herder.dds"
use_diplomatic_range = no
travel = no
valid_to_create = { settlement_issue_valid_to_create_default_trigger = yes }
valid_to_keep = { settlement_issue_valid_to_keep_default_trigger = yes }
valid_to_continue = { settlement_issue_valid_to_continue_default_trigger = yes }
valid_to_accept = { is_available = yes }
on_create = { settlement_issue_on_create_effect = yes }
on_accepted = {
settlement_issue_on_accepted_default_effect = {
NUMBER = 1
ARRIVAL_ID = 0005
RESET_ID = 0003
}
}
on_completed = {
task_contract_taker = { remove_variable = nomadic_migration_contract_1 }
}
on_invalidated = {
settlement_issue_on_invalidated_default_effect = yes
}
task_contract_reward = {
control = { effect = { settlement_issue_control_reward_effect = yes } }
herd = { effect = { settlement_issue_herd_reward_effect = yes } }
fertility = { effect = { settlement_issue_fertility_reward_effect = yes } }
}
}
nomadic_migration_contract_2 = { # The Wild Herd
group = nomadic_settling_group
icon = "gfx/interface/icons/icon_herd.dds"
use_diplomatic_range = no
travel = no
valid_to_create = { settlement_issue_valid_to_create_default_trigger = yes }
valid_to_keep = { settlement_issue_valid_to_keep_default_trigger = yes }
valid_to_continue = { settlement_issue_valid_to_continue_default_trigger = yes }
valid_to_accept = { is_available = yes }
on_create = { settlement_issue_on_create_effect = yes }
on_accepted = {
settlement_issue_on_accepted_default_effect = {
NUMBER = 2
ARRIVAL_ID = 0015
RESET_ID = 0013
}
}
on_completed = {
task_contract_taker = { remove_variable = nomadic_migration_contract_2 }
}
on_invalidated = {
settlement_issue_on_invalidated_default_effect = yes
}
task_contract_reward = {
control = { effect = { settlement_issue_control_reward_effect = yes } }
herd = { effect = { settlement_issue_herd_reward_effect = yes } }
gold = { effect = { settlement_issue_gold_reward_effect = yes } }
opinion = { effect = { settlement_issue_opinion_reward_effect = { MODIFIER = mpo_si_slaughtered_for_a_feast } } }
}
}
nomadic_migration_contract_3 = { # Contentious Grazelands
group = nomadic_settling_group
icon = "gfx/interface/icons/icon_county_fertility.dds"
use_diplomatic_range = no
travel = no
valid_to_create = {
any_knight = {
count >= 2
is_landed = no
}
any_held_county = {
county_control < 90
NOT = { has_county_modifier = ongoing_settlement_contract }
}
}
valid_to_keep = { settlement_issue_valid_to_keep_default_trigger = yes }
valid_to_continue = { settlement_issue_valid_to_continue_default_trigger = yes }
valid_to_accept = { is_available = yes }
on_create = { settlement_issue_on_create_effect = yes }
on_accepted = {
settlement_issue_on_accepted_default_effect = {
NUMBER = 3
ARRIVAL_ID = 0025
RESET_ID = 0023
}
}
on_completed = {
task_contract_taker = { remove_variable = nomadic_migration_contract_3 }
}
on_invalidated = {
settlement_issue_on_invalidated_default_effect = yes
}
task_contract_reward = {
control = { effect = { settlement_issue_control_reward_effect = yes } }
herd = { effect = { settlement_issue_herd_reward_effect = yes } }
opinion = {
effect = {
settlement_issue_character_opinion_reward_effect = {
CHARACTER = root.task_contract_employer
}
}
}
}
}
nomadic_migration_contract_4 = { # A Lack of Tools
group = nomadic_settling_group
icon = "gfx/interface/icons/court_position_types/royal_architect_court_position.dds"
use_diplomatic_range = no
travel = no
valid_to_create = { settlement_issue_valid_to_create_default_trigger = yes }
valid_to_keep = { settlement_issue_valid_to_keep_default_trigger = yes }
valid_to_continue = { settlement_issue_valid_to_continue_default_trigger = yes }
valid_to_accept = { is_available = yes }
on_create = { settlement_issue_on_create_effect = yes }
on_accepted = {
settlement_issue_on_accepted_default_effect = {
NUMBER = 4
ARRIVAL_ID = 0035
RESET_ID = 0033
}
}
on_completed = {
task_contract_taker = { remove_variable = nomadic_migration_contract_4 }
}
on_invalidated = {
settlement_issue_on_invalidated_default_effect = yes
}
task_contract_reward = {
control = { effect = { settlement_issue_control_reward_effect = yes } }
}
}
nomadic_migration_contract_5 = { # Fragmentation of the Tribe
group = nomadic_settling_group
icon = "gfx/interface/icons/casus_bellis/ducal_conquest_cb.dds"
use_diplomatic_range = no
travel = no
valid_to_create = { settlement_issue_valid_to_create_default_trigger = yes }
valid_to_keep = { settlement_issue_valid_to_keep_default_trigger = yes }
valid_to_continue = { settlement_issue_valid_to_continue_default_trigger = yes }
valid_to_accept = { is_available = yes }
on_create = { settlement_issue_on_create_effect = yes }
on_accepted = {
settlement_issue_on_accepted_default_effect = {
NUMBER = 5
ARRIVAL_ID = 0045
RESET_ID = 0043
}
}
on_completed = {
task_contract_taker = { remove_variable = nomadic_migration_contract_5 }
}
on_invalidated = {
settlement_issue_on_invalidated_default_effect = yes
}
task_contract_reward = {
control = { effect = { settlement_issue_control_reward_effect = yes } }
}
}
nomadic_migration_contract_6 = { # Poisonous Lands
group = nomadic_settling_group
icon = "gfx/interface/icons/court_position_types/court_physician_court_position.dds"
use_diplomatic_range = no
travel = no
valid_to_create = { settlement_issue_valid_to_create_default_trigger = yes }
valid_to_keep = { settlement_issue_valid_to_keep_default_trigger = yes }
valid_to_continue = { settlement_issue_valid_to_continue_default_trigger = yes }
valid_to_accept = { is_available = yes }
on_create = { settlement_issue_on_create_effect = yes }
on_accepted = {
settlement_issue_on_accepted_default_effect = {
NUMBER = 6
ARRIVAL_ID = 0055
RESET_ID = 0053
}
}
on_completed = {
task_contract_taker = { remove_variable = nomadic_migration_contract_6 }
}
on_invalidated = {
settlement_issue_on_invalidated_default_effect = yes
}
task_contract_reward = {
control = { effect = { settlement_issue_control_reward_effect = yes } }
}
}
nomadic_migration_contract_7 = { # Troublesome Neighbors
group = nomadic_settling_group
icon = "gfx/interface/icons/casus_bellis/ducal_conquest_cb.dds"
use_diplomatic_range = no
travel = no
valid_to_create = { settlement_issue_valid_to_create_default_trigger = yes }
valid_to_keep = {
custom_tooltip = {
text = migration_contract_county_ownership_text
OR = {
task_contract_location.province_owner = task_contract_taker
task_contract_location.province_owner.liege = task_contract_taker
task_contract_location.province_owner.top_liege = task_contract_taker
}
}
custom_tooltip = {
text = migration_contract_county_alt_text
task_contract_location.county = {
county_control < 90
any_neighboring_county = {
NOT = { owner.top_liege ?= root.top_liege }
}
}
}
}
valid_to_continue = { settlement_issue_valid_to_continue_default_trigger = yes }
valid_to_accept = { is_available = yes }
on_create = { settlement_issue_on_create_effect = yes }
on_accepted = {
settlement_issue_on_accepted_default_effect = {
NUMBER = 7
ARRIVAL_ID = 0065
RESET_ID = 0063
}
}
on_completed = {
task_contract_taker = { remove_variable = nomadic_migration_contract_7 }
}
on_invalidated = {
settlement_issue_on_invalidated_default_effect = yes
}
task_contract_reward = {
control = { effect = { settlement_issue_control_reward_effect = yes } }
herd = { effect = { settlement_issue_herd_reward_effect = yes } }
}
}
nomadic_migration_contract_8 = { # The Leftovers
group = nomadic_settling_group
icon = "gfx/interface/icons/icon_herd.dds"
use_diplomatic_range = no
travel = no
valid_to_create = { settlement_issue_valid_to_create_default_trigger = yes }
valid_to_keep = { settlement_issue_valid_to_keep_default_trigger = yes }
valid_to_continue = { settlement_issue_valid_to_continue_default_trigger = yes }
valid_to_accept = { is_available = yes }
on_create = { settlement_issue_on_create_effect = yes }
on_accepted = {
settlement_issue_on_accepted_default_effect = {
NUMBER = 8
ARRIVAL_ID = 0075
RESET_ID = 0073
}
}
on_completed = {
task_contract_taker = { remove_variable = nomadic_migration_contract_8 }
}
on_invalidated = {
settlement_issue_on_invalidated_default_effect = yes
}
task_contract_reward = {
control = { effect = { settlement_issue_control_reward_effect = yes } }
herd = { effect = { settlement_issue_herd_reward_effect = yes } }
gold = { effect = { settlement_issue_gold_reward_effect = yes } }
fertility = { effect = { settlement_issue_fertility_reward_effect = yes } }
}
}
nomadic_migration_contract_9 = { # Drawing Lines
group = nomadic_settling_group
icon = "gfx/interface/icons/icon_county_fertility.dds"
use_diplomatic_range = no
travel = no
valid_to_create = { settlement_issue_valid_to_create_default_trigger = yes }
valid_to_keep = {
custom_tooltip = {
text = migration_contract_county_ownership_text
OR = {
task_contract_location.province_owner = task_contract_taker
task_contract_location.province_owner.liege = task_contract_taker
task_contract_location.province_owner.top_liege = task_contract_taker
}
}
custom_tooltip = {
text = migration_contract_county_alt_text
task_contract_location.county = {
county_control < 90
any_neighboring_county = {
holder = root.task_contract_taker
}
}
}
}
valid_to_continue = { settlement_issue_valid_to_continue_default_trigger = yes }
valid_to_accept = { is_available = yes }
on_create = { settlement_issue_on_create_effect = yes }
on_accepted = {
settlement_issue_on_accepted_default_effect = {
NUMBER = 9
ARRIVAL_ID = 0085
RESET_ID = 0083
}
}
on_completed = {
task_contract_taker = { remove_variable = nomadic_migration_contract_9 }
}
on_invalidated = {
settlement_issue_on_invalidated_default_effect = yes
}
task_contract_reward = {
control = { effect = { settlement_issue_control_reward_effect = yes } }
fertility = { effect = { settlement_issue_fertility_reward_effect = yes } }
}
}
nomadic_migration_contract_10 = { # The Old Tribe
group = nomadic_settling_group
icon = "gfx/interface/icons/icon_culture.dds"
use_diplomatic_range = no
travel = no
valid_to_create = { settlement_issue_valid_to_create_default_trigger = yes }
valid_to_keep = {
custom_tooltip = {
text = migration_contract_county_ownership_text
OR = {
task_contract_location.province_owner = task_contract_taker
task_contract_location.province_owner.liege = task_contract_taker
task_contract_location.province_owner.top_liege = task_contract_taker
}
}
custom_tooltip = {
text = migration_contract_county_alt_text
task_contract_location.county = {
county_control < 90
has_variable = migration_previous_culture
NOT = { var:migration_previous_culture = root.task_contract_taker.culture }
}
}
}
valid_to_continue = { settlement_issue_valid_to_continue_default_trigger = yes }
valid_to_accept = { is_available = yes }
on_create = { settlement_issue_on_create_effect = yes }
on_accepted = {
settlement_issue_on_accepted_default_effect = {
NUMBER = 10
ARRIVAL_ID = 0095
RESET_ID = 0093
}
}
on_completed = {
task_contract_taker = { remove_variable = nomadic_migration_contract_10 }
}
on_invalidated = {
settlement_issue_on_invalidated_default_effect = yes
}
task_contract_reward = {
control = { effect = { settlement_issue_control_reward_effect = yes } }
herd = { effect = { settlement_issue_herd_reward_effect = yes } }
success = { effect = { settlement_issue_culture_reward_effect = yes } }
}
}

File diff suppressed because it is too large Load diff

View file

@ -0,0 +1,651 @@
# Unsanctioned deity: Village worships excessively
unsanctioned_deity = {
group = admin_governance_group
icon = "gfx/interface/icons/message_feed/heresy.dds"
valid_to_create = {
valid_governor_contract_trigger = yes
}
valid_to_keep = {
task_contract_taker = { valid_governor_contract_trigger = yes }
valid_governor_contract_basic_trigger = yes
}
valid_to_accept = {
valid_governor_contract_trigger = yes
custom_tooltip = {
text = has_active_governance_issue
num_taken_task_contracts < 1
}
is_available = yes
}
valid_to_continue = {
task_contract_taker = {
valid_governor_contract_trigger = yes
}
}
on_accepted = {
task_contract_taker = { play_sound_effect = "event:/DLC/EP3/SFX/UI/Contracts/ep3_ui_contracts_accept_contract" }
save_scope_as = task_contract
task_contract_taker ?= {
trigger_event = governor_contract_events_tova.0050
}
}
on_completed = {
}
on_invalidated = {
if = {
limit = { governor_contract_invalidated_message_trigger = yes }
governor_contract_invalidated_message_effect = yes
}
}
task_contract_reward = {
success = {
effect = {
task_contract_taker = { play_sound_effect = "event:/DLC/EP3/SFX/UI/Contracts/ep3_ui_contracts_success_on_contract" }
custom_tooltip = tgp_admin_contract_success_tt_rewards
}
}
success_failure = {
positive = no
effect = {
task_contract_taker = { play_sound_effect = "event:/DLC/EP3/SFX/UI/Contracts/ep3_ui_contracts_failure_on_contract" }
custom_tooltip = tgp_admin_contract_failure_tt
}
}
sanction_deity = {
visible = no
effect = {
task_contract_taker = { play_sound_effect = "event:/DLC/EP3/SFX/UI/Contracts/ep3_ui_contracts_success_on_contract" }
save_scope_as = task_contract
task_contract_taker ?= {
increase_governance_effect = { VALUE = 10 }
change_merit = {
value = minor_merit_gain
multiply = governance_task_contract_tier_value
}
}
task_contract_location.county = {
add_county_modifier = {
modifier = tgp_sanctioned_deity_modifier
years = 10
}
}
}
}
burn_shrine = {
visible = no
effect = {
task_contract_taker = { play_sound_effect = "event:/DLC/EP3/SFX/UI/Contracts/ep3_ui_contracts_success_on_contract" }
save_scope_as = task_contract
task_contract_taker ?= {
increase_governance_effect = { VALUE = 6 }
change_merit = {
value = miniscule_merit_gain
multiply = governance_task_contract_tier_value
}
}
}
}
claim_offerings = {
visible = no
effect = {
task_contract_taker = { play_sound_effect = "event:/DLC/EP3/SFX/UI/Contracts/ep3_ui_contracts_success_on_contract" }
save_scope_as = task_contract
task_contract_taker ?= {
add_gold = {
value = scope:task_contract.task_contract_location.monthly_income
multiply = 40
}
change_merit = {
value = miniscule_merit_loss
multiply = governance_task_contract_tier_value
}
if = {
limit = {
secret_siphoned_treasury_is_valid_trigger = {
OWNER = scope:task_contract.task_contract_taker
TARGET = top_liege
}
}
add_secret = {
type = secret_siphoned_treasury
target = top_liege
}
}
}
}
}
debunk_deity = {
visible = no
effect = {
task_contract_taker = { play_sound_effect = "event:/DLC/EP3/SFX/UI/Contracts/ep3_ui_contracts_success_on_contract" }
save_scope_as = task_contract
task_contract_taker ?= {
increase_governance_effect = { VALUE = 4 }
change_merit = {
value = miniscule_merit_gain
multiply = governance_task_contract_tier_value
}
add_character_modifier = {
modifier = tgp_debunked_deity_modifier
years = 10
}
}
}
}
deity_monks = {
visible = no
effect = {
task_contract_taker = { play_sound_effect = "event:/DLC/EP3/SFX/UI/Contracts/ep3_ui_contracts_success_on_contract" }
save_scope_as = task_contract
task_contract_taker ?= {
change_influence = {
value = miniscule_influence_gain
multiply = governance_task_contract_tier_value
}
add_piety = {
value = medium_piety_gain
multiply = governance_task_contract_tier_value
}
}
}
}
failure_standard = {
visible = no
effect = {
task_contract_taker = { play_sound_effect = "event:/DLC/EP3/SFX/UI/Contracts/ep3_ui_contracts_failure_on_contract" }
task_contract_taker ?= {
change_influence = minor_influence_loss
if = {
limit = {
has_trait = governor
has_trait_xp = {
trait = governor
value > 0
}
}
add_trait_xp = {
trait = governor
value = -5
}
}
}
}
}
}
}
#Escaped Justice
escaped_justice = {
group = admin_governance_group
icon = "gfx/interface/icons/message_feed/marshal_job.dds"
valid_to_create = {
valid_governor_contract_trigger = yes
}
valid_to_keep = {
task_contract_taker = { valid_governor_contract_trigger = yes }
valid_governor_contract_basic_trigger = yes
task_contract_target = {
is_travelling = no
is_imprisoned = no
is_commanding_army = no
}
}
valid_to_accept = {
valid_governor_contract_trigger = yes
custom_tooltip = {
text = has_active_governance_issue
num_taken_task_contracts < 1
}
is_available = yes
}
valid_to_continue = {
task_contract_taker = {
valid_governor_contract_trigger = yes
}
}
on_accepted = {
task_contract_taker = { play_sound_effect = "event:/DLC/EP3/SFX/UI/Contracts/ep3_ui_contracts_accept_contract" }
save_scope_as = task_contract
task_contract_taker ?= {
trigger_event = governor_contract_events_tova.0055
}
}
on_completed = {
}
on_invalidated = {
if = {
limit = { governor_contract_invalidated_message_trigger = yes }
governor_contract_invalidated_message_effect = yes
}
}
task_contract_reward = {
success = {
effect = {
task_contract_taker = { play_sound_effect = "event:/DLC/EP3/SFX/UI/Contracts/ep3_ui_contracts_success_on_contract" }
custom_tooltip = tgp_admin_contract_success_tt_rewards
}
}
success_failure = {
positive = no
effect = {
task_contract_taker = { play_sound_effect = "event:/DLC/EP3/SFX/UI/Contracts/ep3_ui_contracts_failure_on_contract" }
custom_tooltip = tgp_admin_contract_failure_tt
}
}
escapee_persuade = { #Diplomacy
visible = no
effect = {
task_contract_taker = { play_sound_effect = "event:/DLC/EP3/SFX/UI/Contracts/ep3_ui_contracts_success_on_contract" }
save_scope_as = task_contract
task_contract_taker ?= {
increase_governance_effect = { VALUE = 6 }
change_merit = {
value = minor_merit_gain
multiply = governance_task_contract_tier_value
}
}
}
}
escapee_slain = { #Martial duel
visible = no
effect = {
task_contract_taker = { play_sound_effect = "event:/DLC/EP3/SFX/UI/Contracts/ep3_ui_contracts_success_on_contract" }
save_scope_as = task_contract
task_contract_taker ?= {
add_dread = {
value = medium_dread_gain
multiply = governance_task_contract_tier_value
}
}
task_contract_location.county = {
if = {
limit = { county_control < 100 }
change_county_control = 10
}
}
}
}
escapee_join_monastery = { #Increase Piety
visible = no
effect = {
task_contract_taker = { play_sound_effect = "event:/DLC/EP3/SFX/UI/Contracts/ep3_ui_contracts_success_on_contract" }
save_scope_as = task_contract
task_contract_taker ?= {
add_piety = {
value = medium_piety_gain
multiply = governance_task_contract_tier_value
}
}
}
}
escapee_shunned = { #Influence Gain
visible = no
effect = {
task_contract_taker = { play_sound_effect = "event:/DLC/EP3/SFX/UI/Contracts/ep3_ui_contracts_success_on_contract" }
save_scope_as = task_contract
task_contract_taker ?= {
increase_governance_effect = { VALUE = 4 }
change_influence = {
value = minor_influence_gain
multiply = governance_task_contract_tier_value
}
}
}
}
failure_standard = {
visible = no
effect = {
task_contract_taker = { play_sound_effect = "event:/DLC/EP3/SFX/UI/Contracts/ep3_ui_contracts_failure_on_contract" }
task_contract_taker ?= {
change_influence = minor_influence_loss
}
task_contract_location.county = {
change_county_control = -5
}
}
}
}
}
#Forced Conscription
forced_conscription = {
group = admin_governance_group
icon = "gfx/interface/icons/message_feed/marshal_job.dds"
travel = no
valid_to_create = {
valid_governor_contract_trigger = yes
}
valid_to_keep = {
task_contract_taker = { valid_governor_contract_trigger = yes }
valid_governor_contract_basic_trigger = yes
}
valid_to_accept = {
valid_governor_contract_trigger = yes
custom_tooltip = {
text = has_active_governance_issue
num_taken_task_contracts < 1
}
is_available = yes
}
valid_to_continue = {
task_contract_taker = {
valid_governor_contract_trigger = yes
}
task_contract_employer = {
is_alive = yes
}
}
on_accepted = {
task_contract_taker = { play_sound_effect = "event:/DLC/EP3/SFX/UI/Contracts/ep3_ui_contracts_accept_contract" }
save_scope_as = task_contract
task_contract_employer = {
save_scope_as = recruitment_employer
}
task_contract_taker ?= {
trigger_event = governor_contract_events_tova.0060
}
}
on_completed = {
}
on_invalidated = {
if = {
limit = { governor_contract_invalidated_message_trigger = yes }
governor_contract_invalidated_message_effect = yes
}
}
task_contract_reward = {
success = {
effect = {
task_contract_taker = { play_sound_effect = "event:/DLC/EP3/SFX/UI/Contracts/ep3_ui_contracts_success_on_contract" }
custom_tooltip = tgp_admin_contract_success_tt_rewards
}
}
success_failure = {
positive = no
effect = {
task_contract_taker = { play_sound_effect = "event:/DLC/EP3/SFX/UI/Contracts/ep3_ui_contracts_failure_on_contract" }
custom_tooltip = tgp_admin_contract_failure_tt
}
}
conscripts_bribed = {
visible = no
effect = {
task_contract_taker = { play_sound_effect = "event:/DLC/EP3/SFX/UI/Contracts/ep3_ui_contracts_success_on_contract" }
save_scope_as = task_contract
task_contract_location = {
add_province_modifier = {
modifier = tgp_fattened_vanguard_modifier
years = 10
}
}
task_contract_taker ?= {
remove_short_term_gold = {
value = minor_gold_value
multiply = governance_task_contract_tier_value
}
}
}
}
conscripts_forced = {
visible = no
effect = {
task_contract_taker = { play_sound_effect = "event:/DLC/EP3/SFX/UI/Contracts/ep3_ui_contracts_success_on_contract" }
save_scope_as = task_contract
task_contract_location = {
add_province_modifier = {
modifier = tgp_fattened_vanguard_modifier
years = 10
}
}
task_contract_location.county = {
change_county_control = medium_county_control_loss
}
task_contract_taker ?= {
change_influence = {
value = minor_influence_gain
multiply = governance_task_contract_tier_value
}
}
}
}
conscripts_convinced = {
visible = no
effect = {
task_contract_taker = { play_sound_effect = "event:/DLC/EP3/SFX/UI/Contracts/ep3_ui_contracts_success_on_contract" }
save_scope_as = task_contract
task_contract_location = {
add_province_modifier = {
modifier = tgp_fattened_vanguard_modifier
years = 10
}
}
task_contract_taker ?= {
change_merit = {
value = minor_merit_gain
multiply = governance_task_contract_tier_value
}
}
}
}
conscripts_trade = {
visible = no
effect = {
task_contract_taker = { play_sound_effect = "event:/DLC/EP3/SFX/UI/Contracts/ep3_ui_contracts_success_on_contract" }
save_scope_as = task_contract
task_contract_location.county = {
add_county_modifier = {
modifier = tgp_diligent_workers_modifier
years = 10
}
}
task_contract_taker ?= {
change_merit = {
value = minor_merit_loss
multiply = governance_task_contract_tier_value
}
}
}
}
failure_standard = {
visible = no
effect = {
task_contract_taker = { play_sound_effect = "event:/DLC/EP3/SFX/UI/Contracts/ep3_ui_contracts_failure_on_contract" }
task_contract_taker ?= {
change_influence = minor_influence_loss
}
task_contract_location.county = {
change_county_control = -5
}
}
}
}
}
#Teach Monks Martial Arts
combat_train_monks = {
group = admin_governance_group
icon = "gfx/interface/icons/message_feed/marshal_job.dds"
valid_to_create = {
valid_governor_contract_trigger = yes
}
valid_to_keep = {
task_contract_taker = { valid_governor_contract_trigger = yes }
valid_governor_contract_basic_trigger = yes
}
valid_to_accept = {
valid_governor_contract_trigger = yes
custom_tooltip = {
text = has_active_governance_issue
num_taken_task_contracts < 1
}
is_available = yes
}
valid_to_continue = {
task_contract_taker = {
valid_governor_contract_trigger = yes
}
}
on_accepted = {
task_contract_taker = { play_sound_effect = "event:/DLC/EP3/SFX/UI/Contracts/ep3_ui_contracts_accept_contract" }
save_scope_as = task_contract
task_contract_taker ?= {
trigger_event = governor_contract_events_tova.0065
}
}
on_completed = {
}
on_invalidated = {
if = {
limit = {governor_contract_invalidated_message_trigger = yes }
governor_contract_invalidated_message_effect = yes
}
}
task_contract_reward = {
success = {
effect = {
task_contract_taker = { play_sound_effect = "event:/DLC/EP3/SFX/UI/Contracts/ep3_ui_contracts_success_on_contract" }
custom_tooltip = tgp_admin_contract_success_tt_rewards
}
}
success_failure = {
positive = no
effect = {
task_contract_taker = { play_sound_effect = "event:/DLC/EP3/SFX/UI/Contracts/ep3_ui_contracts_failure_on_contract" }
custom_tooltip = tgp_admin_contract_failure_tt
}
}
hire_monks_as_maa = {
visible = no
effect = {
task_contract_taker = { play_sound_effect = "event:/DLC/EP3/SFX/UI/Contracts/ep3_ui_contracts_success_on_contract" }
save_scope_as = task_contract
task_contract_taker ?= {
increase_governance_effect = { VALUE = 4 }
}
}
}
hire_monk_as_knight = {
visible = no
effect = {
task_contract_taker = { play_sound_effect = "event:/DLC/EP3/SFX/UI/Contracts/ep3_ui_contracts_success_on_contract" }
save_scope_as = task_contract
task_contract_taker ?= {
change_influence = minor_influence_loss
}
}
}
train_monks = {
visible = no
effect = {
task_contract_taker = { play_sound_effect = "event:/DLC/EP3/SFX/UI/Contracts/ep3_ui_contracts_success_on_contract" }
save_scope_as = task_contract
task_contract_taker ?= {
change_influence = {
value = miniscule_influence_gain
multiply = governance_task_contract_tier_value
}
increase_governance_effect = { VALUE = 4 }
}
scope:task_contract.task_contract_location = {
add_province_modifier = {
modifier = tgp_trained_monks_modifier
years = 10
}
}
scope:task_contract.task_contract_location.county = {
if = {
limit = { county_control < 100 }
change_county_control = 10
}
}
}
}
station_troops = {
visible = no
effect = {
task_contract_taker = { play_sound_effect = "event:/DLC/EP3/SFX/UI/Contracts/ep3_ui_contracts_success_on_contract" }
save_scope_as = task_contract
task_contract_taker ?= {
}
scope:task_contract.task_contract_location = {
add_province_modifier = {
modifier = tgp_stationed_troops_modifier
years = 10
}
}
scope:task_contract.task_contract_location.county = {
if = {
limit = { county_control < 100 }
change_county_control = 10
}
}
}
}
let_marshal_handle = {
visible = no
effect = {
task_contract_taker = { play_sound_effect = "event:/DLC/EP3/SFX/UI/Contracts/ep3_ui_contracts_success_on_contract" }
save_scope_as = task_contract
scope:task_contract.task_contract_location = {
add_province_modifier = {
modifier = tgp_adequately_trained_monks_modifier
years = 10
}
}
scope:task_contract.task_contract_location.county = {
if = {
limit = { county_control < 100 }
change_county_control = 10
}
}
}
}
failure_standard = {
visible = no
effect = {
task_contract_taker = { play_sound_effect = "event:/DLC/EP3/SFX/UI/Contracts/ep3_ui_contracts_failure_on_contract" }
task_contract_taker ?= {
change_influence = minor_influence_loss
}
task_contract_location.county = {
change_county_control = -5
}
}
}
}
}

View file

@ -0,0 +1,180 @@
missing_equipment = {
group = admin_governance_group
icon = "gfx/interface/icons/message_feed/marshal_job.dds"
valid_to_create = {
valid_governor_contract_trigger = yes
}
valid_to_keep = {
task_contract_taker = { valid_governor_contract_trigger = yes }
valid_governor_contract_basic_trigger = yes
}
valid_to_accept = {
valid_governor_contract_trigger = yes
custom_tooltip = {
text = has_active_governance_issue
num_taken_task_contracts < 1
}
is_available = yes
}
valid_to_continue = {
task_contract_taker = {
valid_governor_contract_trigger = yes
}
}
on_accepted = {
task_contract_taker = { play_sound_effect = "event:/DLC/EP3/SFX/UI/Contracts/ep3_ui_contracts_accept_contract" }
save_scope_as = task_contract
task_contract_taker ?= {
root.task_contract_location.barony = {
save_scope_as = task_contract_location
}
trigger_event = tgp_governor_contract_event.2000
}
}
on_completed = {
}
on_invalidated = {
if = {
limit = { governor_contract_invalidated_message_trigger = yes }
governor_contract_invalidated_message_effect = yes
}
}
task_contract_reward = {
success = {
effect = {
task_contract_taker = { play_sound_effect = "event:/DLC/EP3/SFX/UI/Contracts/ep3_ui_contracts_success_on_contract" }
custom_tooltip = tgp_admin_contract_success_tt_rewards
}
}
success_failure = {
positive = no
effect = {
task_contract_taker = { play_sound_effect = "event:/DLC/EP3/SFX/UI/Contracts/ep3_ui_contracts_failure_on_contract" }
custom_tooltip = tgp_admin_contract_failure_tt
}
}
secure_future_deliveries = { # Good governance option
visible = no
effect = {
task_contract_taker = { play_sound_effect = "event:/DLC/EP3/SFX/UI/Contracts/ep3_ui_contracts_success_on_contract" }
save_scope_as = task_contract
task_contract_taker ?= {
increase_governance_effect = { VALUE = 10 }
change_merit = {
value = medium_merit_value
multiply = governance_task_contract_tier_value
}
every_held_title = {
limit = { tier = tier_county }
custom = custom.every_held_county_capital
title_province = {
add_province_modifier = {
modifier = tgp_well_equipped_soldiers_modifier
years = 15
}
}
}
}
scope:task_contract.task_contract_location.county = {
if = {
limit = { county_control < 100 }
change_county_control = 5
}
}
}
}
demand_extra_shipment = {
visible = no
effect = {
task_contract_taker = { play_sound_effect = "event:/DLC/EP3/SFX/UI/Contracts/ep3_ui_contracts_success_on_contract" }
save_scope_as = task_contract
task_contract_taker ?= {
increase_governance_effect = { VALUE = 6 }
every_held_title = {
limit = { tier = tier_county }
custom = custom.every_held_county_capital
title_province = {
add_province_modifier = {
modifier = tgp_well_equipped_soldiers_modifier
years = 10
}
}
}
}
}
}
demand_gold = {
visible = no
effect = {
task_contract_taker = { play_sound_effect = "event:/DLC/EP3/SFX/UI/Contracts/ep3_ui_contracts_success_on_contract" }
save_scope_as = task_contract
task_contract_taker ?= {
increase_governance_effect = { VALUE = 2 }
add_gold = medium_gold_value
}
}
}
demand_best_equipment = {
visible = no
effect = {
task_contract_taker = { play_sound_effect = "event:/DLC/EP3/SFX/UI/Contracts/ep3_ui_contracts_success_on_contract" }
save_scope_as = task_contract
task_contract_taker ?= {
increase_governance_effect = { VALUE = 4 }
capital_province ?= {
add_province_modifier = {
modifier = tgp_greatly_equipped_soldiers_modifier
years = 15
}
}
}
}
}
offered_replacements = { # Default outcome if you visit the workshop. Same as "buy_replacements" but without the cost.
visible = no
effect = {
task_contract_taker = { play_sound_effect = "event:/DLC/EP3/SFX/UI/Contracts/ep3_ui_contracts_success_on_contract" }
save_scope_as = task_contract
task_contract_taker ?= {
increase_governance_effect = { VALUE = 4 }
}
}
}
buy_replacements = { # Safe opt-out if you don't want to travel
visible = no
effect = {
task_contract_taker = { play_sound_effect = "event:/DLC/EP3/SFX/UI/Contracts/ep3_ui_contracts_success_on_contract" }
save_scope_as = task_contract
task_contract_taker ?= {
remove_short_term_gold = medium_gold_value
increase_governance_effect = { VALUE = 4 }
}
}
}
failure_standard = {
visible = no
effect = {
task_contract_taker = { play_sound_effect = "event:/DLC/EP3/SFX/UI/Contracts/ep3_ui_contracts_failure_on_contract" }
save_scope_as = task_contract
task_contract_taker ?= {
change_influence = {
value = minor_influence_loss
multiply = governance_task_contract_tier_value
}
}
}
}
}
}

File diff suppressed because it is too large Load diff

View file

@ -0,0 +1,685 @@
#TODO_CD_TGP_AJ; merit needs to be added for all relevant options (positive and negative) for use in China
tgp_food_shortage = { #Food Shortage
group = admin_governance_group
icon = "gfx/interface/icons/situation_types/natural_disaster_generic.dds"
valid_to_create = {
valid_governor_contract_trigger = yes
}
valid_to_keep = {
task_contract_taker = { valid_governor_contract_trigger = yes }
valid_governor_contract_basic_trigger = yes
}
valid_to_accept = {
valid_governor_contract_trigger = yes
custom_tooltip = {
text = has_active_governance_issue
num_taken_task_contracts < 1
}
is_available = yes
}
valid_to_continue = {
task_contract_taker = {
valid_governor_contract_trigger = yes
}
}
on_accepted = {
task_contract_taker = { play_sound_effect = "event:/DLC/EP3/SFX/UI/Contracts/ep3_ui_contracts_accept_contract" }
save_scope_as = task_contract
task_contract_taker ?= {
root.task_contract_location.barony = {
save_scope_as = task_contract_location
}
trigger_event = tgp_natural_disaster_contract_event.0001
}
}
on_completed = {
}
on_invalidated = {
if = {
limit = { governor_contract_invalidated_message_trigger = yes }
governor_contract_invalidated_message_effect = yes
}
}
task_contract_reward = {
success = {
effect = {
task_contract_taker = { play_sound_effect = "event:/DLC/EP3/SFX/UI/Contracts/ep3_ui_contracts_success_on_contract" }
custom_tooltip = tgp_admin_contract_natural_disaster_tt_rewards
}
}
failure = {
positive = no
effect = {
task_contract_taker = { play_sound_effect = "event:/DLC/EP3/SFX/UI/Contracts/ep3_ui_contracts_failure_on_contract" }
custom_tooltip = tgp_admin_contract_natural_disaster_failure_tt
}
}
distribution_of_food = { # Good governance option
visible = no
effect = {
task_contract_taker = { play_sound_effect = "event:/DLC/EP3/SFX/UI/Contracts/ep3_ui_contracts_success_on_contract" }
save_scope_as = task_contract
task_contract_taker ?= {
increase_governance_effect = { VALUE = 10 }
add_diplomacy_lifestyle_xp = medium_lifestyle_xp
add_character_modifier = {
modifier = tgp_distribution_of_food_character_modifier
years = 10
}
change_influence = minor_influence_loss
every_vassal = {
limit = {
is_adult = yes
}
add_stress = minor_stress_impact_gain
remove_short_term_gold = minor_gold_value
}
}
scope:task_contract.task_contract_location.county = {
add_county_modifier = {
modifier = tgp_distribution_of_food_modifier
years = 10
}
}
}
}
pay_from_own_pocket = {
visible = no
effect = {
task_contract_taker = { play_sound_effect = "event:/DLC/EP3/SFX/UI/Contracts/ep3_ui_contracts_success_on_contract" }
save_scope_as = task_contract
task_contract_taker ?= {
add_learning_lifestyle_xp = minor_lifestyle_xp
add_piety = minor_piety_gain
add_character_modifier = {
modifier = tgp_pay_from_own_pocket_character_modifier
years = 10
}
remove_short_term_gold = medium_gold_value
}
scope:task_contract.task_contract_location.county = {
add_county_modifier = {
modifier = tgp_pay_from_own_pocket_modifier
years = 10
}
}
}
}
haggle_with_merchants = {
visible = no
effect = {
task_contract_taker = { play_sound_effect = "event:/DLC/EP3/SFX/UI/Contracts/ep3_ui_contracts_success_on_contract" }
save_scope_as = task_contract
task_contract_taker ?= {
send_interface_toast = {
title = tgp_natural_disaster_contract_event.0002.c.tt.success
left_icon = scope:task_contract.task_contract_taker
scope:task_contract.task_contract_location.county = {
add_county_modifier = {
modifier = tgp_haggle_with_merchants_modifier
years = 10
}
}
add_stewardship_lifestyle_xp = medium_lifestyle_xp
remove_short_term_gold = minor_gold_value
}
}
}
}
haggle_with_merchants_failure = {
visible = no
effect = {
task_contract_taker ?= {
send_interface_toast = {
title = tgp_natural_disaster_contract_event.0002.c.tt.failure
left_icon = scope:task_contract.task_contract_taker
add_prestige = minor_prestige_loss
}
}
}
}
demand_food_from_nobles = {
visible = no
effect = {
task_contract_taker = { play_sound_effect = "event:/DLC/EP3/SFX/UI/Contracts/ep3_ui_contracts_success_on_contract" }
save_scope_as = task_contract
task_contract_taker ?= {
change_influence = minor_influence_loss
add_diplomacy_lifestyle_xp = minor_lifestyle_xp
}
scope:task_contract.task_contract_location.county = {
add_county_modifier = {
modifier = tgp_demand_food_from_nobles_modifier
years = 10
}
}
}
}
failure_standard = {
visible = no
effect = {
task_contract_taker = { play_sound_effect = "event:/DLC/EP3/SFX/UI/Contracts/ep3_ui_contracts_failure_on_contract" }
save_scope_as = task_contract
task_contract_taker ?= {
change_influence = {
value = medium_influence_loss
multiply = governance_task_contract_tier_value
}
add_piety = {
value = minor_piety_loss
multiply = governance_task_contract_tier_value
}
}
}
}
}
}
tgp_ravaged_buildings = { #Destroyed by Nature
group = admin_governance_group
icon = "gfx/interface/icons/situation_types/natural_disaster_generic.dds"
valid_to_create = {
valid_governor_contract_trigger = yes
}
valid_to_keep = {
task_contract_taker = { valid_governor_contract_trigger = yes }
valid_governor_contract_basic_trigger = yes
}
valid_to_accept = {
valid_governor_contract_trigger = yes
custom_tooltip = {
text = has_active_governance_issue
num_taken_task_contracts < 1
}
is_available = yes
}
valid_to_continue = {
task_contract_taker = {
valid_governor_contract_trigger = yes
}
}
on_accepted = {
task_contract_taker = { play_sound_effect = "event:/DLC/EP3/SFX/UI/Contracts/ep3_ui_contracts_accept_contract" }
save_scope_as = task_contract
task_contract_taker ?= {
root.task_contract_location.barony = {
save_scope_as = task_contract_location
}
trigger_event = tgp_natural_disaster_contract_event.0005
}
}
on_completed = {
}
on_invalidated = {
if = {
limit = { governor_contract_invalidated_message_trigger = yes }
governor_contract_invalidated_message_effect = yes
}
}
task_contract_reward = {
success = {
effect = {
task_contract_taker = { play_sound_effect = "event:/DLC/EP3/SFX/UI/Contracts/ep3_ui_contracts_success_on_contract" }
custom_tooltip = tgp_admin_contract_natural_disaster_tt_rewards
}
}
failure = {
positive = no
effect = {
task_contract_taker = { play_sound_effect = "event:/DLC/EP3/SFX/UI/Contracts/ep3_ui_contracts_failure_on_contract" }
custom_tooltip = tgp_admin_contract_natural_disaster_failure_tt
}
}
rebuild_settlement = { # Good governance option
visible = no
effect = {
task_contract_taker = { play_sound_effect = "event:/DLC/EP3/SFX/UI/Contracts/ep3_ui_contracts_success_on_contract" }
save_scope_as = task_contract
task_contract_taker ?= {
increase_governance_effect = { VALUE = 10 }
add_stewardship_lifestyle_xp = medium_lifestyle_xp
add_character_modifier = {
modifier = tgp_rebuild_settlement_character_modifier
years = 10
}
}
scope:task_contract.task_contract_location.county = {
add_county_modifier = {
modifier = tgp_rebuild_settlement_modifier
years = 10
}
}
}
}
temporary_shelters = {
visible = no
effect = {
task_contract_taker = { play_sound_effect = "event:/DLC/EP3/SFX/UI/Contracts/ep3_ui_contracts_success_on_contract" }
save_scope_as = task_contract
task_contract_taker ?= {
add_diplomacy_lifestyle_xp = minor_lifestyle_xp
add_piety = minor_piety_gain
}
scope:task_contract.task_contract_location.county = {
add_county_modifier = {
modifier = tgp_temporary_shelters_modifier
years = 10
}
}
}
}
remove_debris = {
visible = no
effect = {
task_contract_taker = { play_sound_effect = "event:/DLC/EP3/SFX/UI/Contracts/ep3_ui_contracts_success_on_contract" }
save_scope_as = task_contract
task_contract_taker ?= {
send_interface_toast = {
title = tgp_natural_disaster_contract_event.0006.c.tt.success
left_icon = scope:task_contract.task_contract_taker
add_piety = minor_piety_gain
add_stewardship_lifestyle_xp = minor_lifestyle_xp
scope:task_contract.task_contract_location.county = {
add_county_modifier = {
modifier = tgp_remove_debris_modifier
years = 10
}
}
}
}
}
}
remove_debris_failure = {
visible = no
effect = {
task_contract_taker ?= {
send_interface_toast = {
title = tgp_natural_disaster_contract_event.0006.c.tt.failure
left_icon = root
change_influence = minor_influence_loss
}
}
}
}
labor_exchange = {
visible = no
effect = {
task_contract_taker = { play_sound_effect = "event:/DLC/EP3/SFX/UI/Contracts/ep3_ui_contracts_success_on_contract" }
save_scope_as = task_contract
task_contract_taker ?= {
add_character_modifier = {
modifier = tgp_labor_exchange_character_modifier
years = 10
}
}
}
}
failure_standard = {
visible = no
effect = {
task_contract_taker = { play_sound_effect = "event:/DLC/EP3/SFX/UI/Contracts/ep3_ui_contracts_failure_on_contract" }
save_scope_as = task_contract
task_contract_taker ?= {
change_influence = {
value = medium_influence_loss
multiply = governance_task_contract_tier_value
}
add_piety = {
value = minor_piety_loss
multiply = governance_task_contract_tier_value
}
}
}
}
}
}
tgp_medieval_medicine = { #Treating the Unfortunate
group = admin_governance_group
icon = "gfx/interface/icons/situation_types/natural_disaster_generic.dds"
valid_to_create = {
valid_governor_contract_trigger = yes
}
valid_to_keep = {
task_contract_taker = { valid_governor_contract_trigger = yes }
valid_governor_contract_basic_trigger = yes
}
valid_to_accept = {
valid_governor_contract_trigger = yes
custom_tooltip = {
text = has_active_governance_issue
num_taken_task_contracts < 1
}
is_available = yes
}
valid_to_continue = {
task_contract_taker = {
valid_governor_contract_trigger = yes
}
}
on_accepted = {
task_contract_taker = { play_sound_effect = "event:/DLC/EP3/SFX/UI/Contracts/ep3_ui_contracts_accept_contract" }
save_scope_as = task_contract
task_contract_taker ?= {
root.task_contract_location.barony = {
save_scope_as = task_contract_location
}
trigger_event = tgp_natural_disaster_contract_event.0010
}
}
on_completed = {
}
on_invalidated = {
if = {
limit = { governor_contract_invalidated_message_trigger = yes }
governor_contract_invalidated_message_effect = yes
}
}
task_contract_reward = {
success = {
effect = {
task_contract_taker = { play_sound_effect = "event:/DLC/EP3/SFX/UI/Contracts/ep3_ui_contracts_success_on_contract" }
custom_tooltip = tgp_admin_contract_natural_disaster_tt_rewards
}
}
failure = {
positive = no
effect = {
task_contract_taker = { play_sound_effect = "event:/DLC/EP3/SFX/UI/Contracts/ep3_ui_contracts_failure_on_contract" }
custom_tooltip = tgp_admin_contract_natural_disaster_failure_tt
}
}
assisting_physician = { # Good governance option
visible = no
effect = {
task_contract_taker = { play_sound_effect = "event:/DLC/EP3/SFX/UI/Contracts/ep3_ui_contracts_success_on_contract" }
save_scope_as = task_contract
task_contract_taker ?= {
increase_governance_effect = { VALUE = 10 }
if = {
limit = {
employs_court_position = court_physician_court_position
}
random = {
chance = 50
court_position:court_physician_court_position = {
add_learning_skill = 1
}
add_learning_lifestyle_xp = medium_lifestyle_xp
}
}
}
scope:task_contract.task_contract_location.county = {
add_county_modifier = {
modifier = tgp_assisting_physician_modifier
years = 10
}
}
}
}
medical_assistance = {
visible = no
effect = {
task_contract_taker = { play_sound_effect = "event:/DLC/EP3/SFX/UI/Contracts/ep3_ui_contracts_success_on_contract" }
save_scope_as = task_contract
task_contract_taker ?= {
send_interface_toast = {
title = tgp_natural_disaster_contract_event.0011.b.tt.success
left_icon = scope:task_contract.task_contract_taker
add_character_modifier = {
modifier = tgp_medical_assistance_character_modifier
years = 10
}
add_learning_lifestyle_xp = minor_lifestyle_xp
add_piety = minor_piety_gain
}
}
}
}
medical_assistance_failure = {
visible = no
effect = {
task_contract_taker ?= {
send_interface_toast = {
title = tgp_natural_disaster_contract_event.0011.b.tt.failure
left_icon = scope:task_contract.task_contract_taker
scope:task_contract.task_contract_location.county = {
add_county_modifier = {
modifier = tgp_medical_assistance_modifier
years = 10
}
}
}
}
}
}
prayers_to_the_people = {
visible = no
effect = {
task_contract_taker = { play_sound_effect = "event:/DLC/EP3/SFX/UI/Contracts/ep3_ui_contracts_success_on_contract" }
save_scope_as = task_contract
task_contract_taker ?= {
add_learning_lifestyle_xp = minor_lifestyle_xp
add_piety = minor_piety_gain
add_character_modifier = {
modifier = tgp_prayers_to_the_people_character_modifier
years = 10
}
}
}
}
better_pay_up = {
visible = no
effect = {
task_contract_taker = { play_sound_effect = "event:/DLC/EP3/SFX/UI/Contracts/ep3_ui_contracts_success_on_contract" }
save_scope_as = task_contract
task_contract_taker ?= {
add_gold = medium_gold_value
add_piety = medium_piety_loss
}
}
}
failure_standard = {
visible = no
effect = {
task_contract_taker = { play_sound_effect = "event:/DLC/EP3/SFX/UI/Contracts/ep3_ui_contracts_failure_on_contract" }
save_scope_as = task_contract
task_contract_taker ?= {
change_influence = {
value = medium_influence_loss
multiply = governance_task_contract_tier_value
}
add_piety = {
value = minor_piety_loss
multiply = governance_task_contract_tier_value
}
}
}
}
}
}
tgp_disaster_displacement = { #Provisional Relocation
group = admin_governance_group
icon = "gfx/interface/icons/situation_types/natural_disaster_generic.dds"
valid_to_create = {
valid_governor_contract_trigger = yes
}
valid_to_keep = {
task_contract_taker = { valid_governor_contract_trigger = yes }
valid_governor_contract_basic_trigger = yes
}
valid_to_accept = {
valid_governor_contract_trigger = yes
custom_tooltip = {
text = has_active_governance_issue
num_taken_task_contracts < 1
}
is_available = yes
}
valid_to_continue = {
task_contract_taker = {
valid_governor_contract_trigger = yes
}
}
on_accepted = {
task_contract_taker = { play_sound_effect = "event:/DLC/EP3/SFX/UI/Contracts/ep3_ui_contracts_accept_contract" }
save_scope_as = task_contract
task_contract_taker ?= {
root.task_contract_location.barony = {
save_scope_as = task_contract_location
}
trigger_event = tgp_natural_disaster_contract_event.0015
}
}
on_completed = {
}
on_invalidated = {
if = {
limit = { governor_contract_invalidated_message_trigger = yes }
governor_contract_invalidated_message_effect = yes
}
}
task_contract_reward = {
success = {
effect = {
task_contract_taker = { play_sound_effect = "event:/DLC/EP3/SFX/UI/Contracts/ep3_ui_contracts_success_on_contract" }
custom_tooltip = tgp_admin_contract_natural_disaster_tt_rewards
}
}
failure = {
positive = no
effect = {
task_contract_taker = { play_sound_effect = "event:/DLC/EP3/SFX/UI/Contracts/ep3_ui_contracts_failure_on_contract" }
custom_tooltip = tgp_admin_contract_natural_disaster_failure_tt
}
}
deployed_troops = { # Good governance option
visible = no
effect = {
task_contract_taker = { play_sound_effect = "event:/DLC/EP3/SFX/UI/Contracts/ep3_ui_contracts_success_on_contract" }
save_scope_as = task_contract
task_contract_taker ?= {
send_interface_toast = {
title = tgp_natural_disaster_contract_event.0016.a.tt.success
left_icon = scope:task_contract.task_contract_taker
increase_governance_effect = { VALUE = 10 }
add_martial_lifestyle_xp = medium_lifestyle_xp
add_character_modifier = {
modifier = tgp_deployed_troops_character_modifier
years = 10
}
}
}
}
}
deployed_troops_failure = {
visible = no
effect = {
save_scope_as = task_contract
task_contract_taker ?= {
send_interface_toast = {
title = tgp_natural_disaster_contract_event.0016.a.tt.failure
left_icon = scope:task_contract.task_contract_taker
scope:task_contract.task_contract_location.county = {
add_county_modifier = {
modifier = tgp_deployed_troops_modifier
years = 10
}
}
}
}
}
}
setting_an_example = {
visible = no
effect = {
task_contract_taker = { play_sound_effect = "event:/DLC/EP3/SFX/UI/Contracts/ep3_ui_contracts_success_on_contract" }
save_scope_as = task_contract
task_contract_taker ?= {
add_dread = medium_dread_gain
add_character_modifier = {
modifier = tgp_setting_an_example_character_modifier
years = 10
}
}
}
}
confiscate_for_personal_inspection = {
visible = no
effect = {
task_contract_taker = { play_sound_effect = "event:/DLC/EP3/SFX/UI/Contracts/ep3_ui_contracts_success_on_contract" }
save_scope_as = task_contract
task_contract_taker ?= {
add_gold = medium_gold_value
add_piety = medium_piety_loss
}
}
}
paying_off_the_looters = {
visible = no
effect = {
task_contract_taker = { play_sound_effect = "event:/DLC/EP3/SFX/UI/Contracts/ep3_ui_contracts_success_on_contract" }
save_scope_as = task_contract
task_contract_taker ?= {
remove_short_term_gold = medium_gold_value
scope:task_contract.task_contract_location.county = {
add_county_modifier = {
modifier = tgp_paying_off_the_looters_modifier
years = 10
}
}
}
}
}
failure_standard = {
visible = no
effect = {
task_contract_taker = { play_sound_effect = "event:/DLC/EP3/SFX/UI/Contracts/ep3_ui_contracts_failure_on_contract" }
save_scope_as = task_contract
task_contract_taker ?= {
change_influence = {
value = medium_influence_loss
multiply = governance_task_contract_tier_value
}
add_piety = {
value = minor_piety_loss
multiply = governance_task_contract_tier_value
}
}
}
}
}
}