969 lines
24 KiB
Text
969 lines
24 KiB
Text
##################################################
|
|
# 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
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|