From 2db14ca9bca353d30fac256581bbc3cb3e73fe37 Mon Sep 17 00:00:00 2001 From: trashmasteruni Date: Mon, 19 Oct 2026 22:40:16 +0200 Subject: [PATCH] task contracts nuked --- common/task_contracts/_task_contracts.info | 104 - common/task_contracts/admin_contracts.txt | 2971 ------ .../task_contracts/laamp_base_contracts.txt | 8394 ----------------- .../task_contracts/laamp_extra_contracts.txt | 5610 ----------- common/task_contracts/laamp_nm_contracts.txt | 986 -- .../laamp_transport_contracts.txt | 2090 ---- .../nomads_migration_contracts.txt | 468 - common/task_contracts/tgp_admin_contracts.txt | 3458 ------- .../tgp_admin_contracts_tova.txt | 651 -- .../tgp_admin_military_contracts.txt | 180 - .../task_contracts/tgp_mandala_contracts.txt | 3748 -------- .../tgp_natural_disaster_contracts.txt | 687 -- 12 files changed, 29347 deletions(-) delete mode 100644 common/task_contracts/_task_contracts.info delete mode 100644 common/task_contracts/admin_contracts.txt delete mode 100644 common/task_contracts/laamp_base_contracts.txt delete mode 100644 common/task_contracts/laamp_extra_contracts.txt delete mode 100644 common/task_contracts/laamp_nm_contracts.txt delete mode 100644 common/task_contracts/laamp_transport_contracts.txt delete mode 100644 common/task_contracts/nomads_migration_contracts.txt delete mode 100644 common/task_contracts/tgp_admin_contracts.txt delete mode 100644 common/task_contracts/tgp_admin_contracts_tova.txt delete mode 100644 common/task_contracts/tgp_admin_military_contracts.txt delete mode 100644 common/task_contracts/tgp_mandala_contracts.txt delete mode 100644 common/task_contracts/tgp_natural_disaster_contracts.txt diff --git a/common/task_contracts/_task_contracts.info b/common/task_contracts/_task_contracts.info deleted file mode 100644 index eda4e53ae..000000000 --- a/common/task_contracts/_task_contracts.info +++ /dev/null @@ -1,104 +0,0 @@ - = { - # 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 "_desc" - # root = task_contract_type - desc = "" - - # Description for request telling 'what to do' in order to complete the contract, defaults to "_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 = { - - } - - # Can contract be accepted? (if triggers are true) - # root - contract owner - # scope:employer - contract employer, can be empty - valid_to_accept = { - - } - - # Should contract invalidate? (if triggers are false) - # root - existing contract - valid_to_continue = { - - } - - # Should not taken contract invalidate? (if triggers are false) - # root - existing contract - valid_to_keep = { - - } - - # On-Action Effects - ## Effects called when contract is created (create_task_contract effect) - on_create = { - - } - - ## Effects called when contract is accepted (accept_task_contract effect) - on_accepted = { - - } - - # Effects called when contract is completed successfully, along with rewards (complete_task_contract effect) - on_completed = { - - } - - # Effects called when contract is invalidated (valid_to_continue is false, or invalidate_task_contract effect) - on_invalidated = { - - } - - # Default = no, showing completed contract toast animation - should_show_toast_on_complete = no - - # Contract Reward Effects - task_contract_reward = { - #reward name - = { - # Default = no, showing completed contract reward effect desription - should_print_on_complete = no - effect = { - - } - - # 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 - } -} diff --git a/common/task_contracts/admin_contracts.txt b/common/task_contracts/admin_contracts.txt deleted file mode 100644 index 8df492a0c..000000000 --- a/common/task_contracts/admin_contracts.txt +++ /dev/null @@ -1,2971 +0,0 @@ -################## -# ADMIN CONTRACTS -################## -# AKA Governance - -# Overdue Taxes: A village hasn't paid taxes -overdue_taxes = { - group = admin_governance_group - icon = "gfx/interface/icons/message_feed/money.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 - } - } - - 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 = governor_contract_event.1000 - } - } - - on_completed = { - } - - on_invalidated = { - if = { - limit = { governor_contract_invalidated_message_trigger = yes } - task_contract_taker ?= { - save_scope_as = task_contract_character - send_interface_message = { - type = event_generic_bad_with_text - title = admin_contract_invalidated_title - left_icon = scope:task_contract_character - desc = admin_contract_invalidated_desc - - current_travel_plan ?= { - if = { - limit = { - next_destination_province = root.task_contract_location - can_cancel = yes - } - cancel_travel_plan = 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 = admin_contract_success_tt_rewards - } - } - failure_standard = { - positive = no - effect = { - task_contract_taker = { play_sound_effect = "event:/DLC/EP3/SFX/UI/Contracts/ep3_ui_contracts_failure_on_contract" } - custom_tooltip = admin_contract_failure_tt - } - } - taxes_governor = { - 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 = 25 - multiply = governance_task_contract_tier_value - min = 5 - } - change_influence = { - value = medium_influence_gain - multiply = governance_task_contract_tier_value - } - } - scope:task_contract.task_contract_location.county = { - change_development_level = 1 - } - } - } - taxes_paid_in_full = { - 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 - min = 10 - } - } - } - } - taxes_paid_partially = { - 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 = 20 - min = 2 - } - add_prestige = minor_prestige_gain - } - } - } - taxes_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 = ep3_governance_stationed_troops - years = 10 - } - } - scope:task_contract.task_contract_location.county = { - if = { - limit = { county_control < 100 } - change_county_control = 10 - } - } - } - } - taxes_assign_administrator = { - 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 = 20 - min = 5 - } - change_influence = minor_influence_gain - } - } - } - taxes_lower_taxes = { - 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.county = { - add_county_modifier = { - modifier = ep3_governance_tax_relief - 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" } - 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 - } - } - } - } - } - } -} - -# Hoarding Mayor: A greedy mayor in your employ is hoarding all the gold -hoarding_mayor = { - group = admin_governance_group - icon = "gfx/interface/icons/character_interactions/request_funding_interaction.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 = hoarding_mayor - } - task_contract_taker ?= { - root.task_contract_location.barony = { - save_scope_as = task_contract_location - } - trigger_event = governor_contract_event.1010 - } - } - - 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 = admin_contract_success_tt_rewards - } - } - failure_standard = { - positive = no - effect = { - task_contract_taker = { play_sound_effect = "event:/DLC/EP3/SFX/UI/Contracts/ep3_ui_contracts_failure_on_contract" } - custom_tooltip = admin_contract_failure_tt - } - } - mayor_governor = { - 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 = medium_influence_gain - multiply = governance_task_contract_tier_value - } - } - task_contract_employer ?= { - pay_short_term_gold = { - target = scope:task_contract.task_contract_taker - gold = { - value = scope:task_contract.task_contract_employer.gold - multiply = 0.35 - round = yes - } - } - } - task_contract_location.county = { - add_county_modifier = { - modifier = ep3_governance_infrastructure - years = 10 - } - } - } - } - mayor_claim_gold = { - visible = no - effect = { - save_scope_as = task_contract - task_contract_taker = { - play_sound_effect = "event:/DLC/EP3/SFX/UI/Contracts/ep3_ui_contracts_success_on_contract" - 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 - } - } - } - task_contract_employer ?= { - pay_short_term_gold = { - target = scope:task_contract.task_contract_taker - gold = { - value = scope:task_contract.task_contract_employer.gold - multiply = 0.5 - round = yes - } - } - } - } - } - mayor_invest_in_buildings = { - 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_prestige = minor_prestige_gain - } - task_contract_location.county = { - add_county_modifier = { - modifier = ep3_governance_infrastructure - years = 10 - } - change_development_progress_with_overflow = 10 - } - } - } - mayor_hold_festivities = { - 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 = ep3_governance_festivities - years = 10 - } - } - } - } - mayor_reprimand = { - 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 ?= { - rightfully_imprison_character_less_verbose_effect = { - TARGET = scope:task_contract.task_contract_employer - IMPRISONER = scope:task_contract.task_contract_taker - } - add_prestige = medium_prestige_gain - } - task_contract_location.county = { - if = { - limit = { county_control < 100 } - change_county_control = 10 - } - } - } - } - mayor_hook = { - 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 ?= { - if = { - limit = { - can_add_hook = { - target = scope:task_contract.task_contract_employer - type = obligation_hook - } - } - add_hook = { - target = scope:task_contract.task_contract_employer - type = obligation_hook - } - } - change_influence = { - value = medium_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 - add_prestige = medium_prestige_loss - } - } - } - } -} - -# Bountiful Harvest: The harvest was greater than expected -bountiful_harvest = { - group = admin_governance_group - icon = "gfx/interface/icons/message_feed/a_catch_all_councillor_icon.dds" - - valid_to_create = { - valid_governor_contract_trigger = yes - sub_realm_size > 1 - } - - 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 = governor_contract_event.1020 - } - } - - on_completed = { - } - - on_invalidated = { - if = { - limit = { governor_contract_invalidated_message_trigger = yes } - task_contract_taker ?= { - save_scope_as = task_contract_character - send_interface_message = { - type = event_generic_bad_with_text - title = admin_contract_invalidated_title - left_icon = scope:task_contract_character - desc = admin_contract_invalidated_desc - } - } - } - } - - task_contract_reward = { - success = { - effect = { - custom_tooltip = admin_contract_success_tt_rewards - } - } - harvest_governor = { - 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 = medium_influence_gain - multiply = governance_task_contract_tier_value - } - every_sub_realm_county = { - add_county_modifier = { - modifier = ep3_governance_harvest - years = 10 - } - } - if = { # Gain some extra Governor trait exp - limit = { has_trait = governor } - increase_governance_effect = { VALUE = 6 } - } - add_merit_if_relevant_effect = { - MERIT = minor_merit_value - } - } - } - } - harvest_distribute = { - 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 ?= { - every_sub_realm_county = { - change_development_progress_with_overflow = 10 - } - if = { # Gain some extra Governor trait exp - limit = { has_trait = governor } - increase_governance_effect = { VALUE = 6 } - } - add_merit_if_relevant_effect = { - MERIT = minor_merit_value - } - } - } - } - harvest_capital = { - 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_prestige = { - value = minor_prestige_gain - multiply = governance_task_contract_tier_value - } - add_merit_if_relevant_effect = { - MERIT = minor_merit_value - } - } - task_contract_location.county = { - add_county_modifier = { - modifier = ep3_governance_great_harvest - years = 10 - } - change_development_progress_with_overflow = 10 - } - } - } - harvest_charity = { - 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 - } - } - } - } - harvest_sell_excess = { - 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 = 10 - multiply = governance_task_contract_tier_value - round = yes - min = 2 - } - increase_governance_effect = { VALUE = 2 } - add_merit_if_relevant_effect = { - MERIT = minor_merit_value - } - } - task_contract_location.county = { - change_development_progress_with_overflow = 5 - } - } - } - harvest_claim_it_yourself = { - 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 = 25 - multiply = governance_task_contract_tier_value - - if = { - limit = { - domicile ?= { has_domicile_building_or_higher = storage_granary_03 } - } - multiply = { - value = 1 - add = estate_granary_gold_bonus_value - } - } - round = yes - min = 5 - } - if = { - limit = { - domicile ?= { has_domicile_building_or_higher = storage_granary_03 } - } - custom_tooltip = harvest_claim_it_yourself_estate_tt - } - increase_governance_effect = { VALUE = -2 } - add_merit_if_relevant_effect = { - MERIT = minor_merit_loss - } - 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 - } - } - } - } - } - } -} - -# Ramping Bandits: A group of bandits have established themselves in a county -rampant_bandits = { - 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 - } - } - - 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 = governor_contract_event.1030 - } - } - - 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 = admin_contract_success_tt_rewards - } - } - failure_standard = { - positive = no - effect = { - task_contract_taker = { play_sound_effect = "event:/DLC/EP3/SFX/UI/Contracts/ep3_ui_contracts_failure_on_contract" } - custom_tooltip = admin_contract_failure_tt - } - } - bandit_governor = { - 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 = medium_influence_gain - multiply = governance_task_contract_tier_value - } - add_merit_if_relevant_effect = { - MERIT = minor_merit_value - } - } - task_contract_location.county = { - add_county_modifier = { - modifier = ep3_governance_workforce - years = 10 - } - } - } - } - bandit_pardon = { - 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 - } - } - } - } - bandit_recruit = { - 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 = ep3_governance_mercenary_troops - years = 10 - } - } - } - } - bandit_payment = { - 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 = minor_gold_value - multiply = governance_task_contract_tier_value - } - add_merit_if_relevant_effect = { - MERIT = miniscule_merit_value - } - add_stewardship_lifestyle_xp = { - value = medium_lifestyle_experience - multiply = governance_task_contract_tier_value - } - } - } - } - bandit_execute = { - 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 - } - add_merit_if_relevant_effect = { - MERIT = miniscule_merit_value - } - } - task_contract_location.county = { - if = { - limit = { county_control < 100 } - change_county_control = 10 - } - } - } - } - bandit_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 ?= { - add_gold = { - value = medium_gold_value - 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 - } - } - } - } -} - -# Discontent Soldiers: Discontentment is spreading throughout your troops. -discontent_soldiers = { - group = admin_governance_group - icon = "gfx/interface/icons/message_feed/soldier.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 - any_neighboring_and_across_water_realm_same_rank_owner = { - liege = root.liege - } - } - } - - 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 = 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 = admin_contract_success_tt_rewards - } - } - soldiers_land = { - 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_influence = { - value = medium_influence_gain - multiply = governance_task_contract_tier_value - } - } - task_contract_location = { - add_province_modifier = { - modifier = ep3_settled_troops_province_modifier - years = 10 - } - } - } - } - soldiers_rival = { - 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_influence = { - value = minor_influence_gain - multiply = governance_task_contract_tier_value - } - } - var:other_gov ?= { - add_opinion = { - target = scope:task_contract.task_contract_taker - modifier = annoyed_opinion - opinion = -25 - } - } - } - } - soldiers_break = { - 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_prestige = medium_prestige_gain - } - task_contract_location = { - add_province_modifier = { - modifier = ep3_longer_breaks_province_modifier - years = 10 - } - } - } - } - soldiers_punish = { - 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_gold = medium_gold_value - } - } - } - soldiers_pay = { - 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 - add_character_modifier = { - modifier = ep3_better_paid_soldiers_modifier - years = 10 - } - } - } - } - } -} - -# Inept Mayor: The mayor of a barony has proved to be rather inept, not being able to handle the city's administration -inept_mayor = { - group = admin_governance_group - icon = "gfx/interface/icons/message_feed/building.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 = inept_mayor - } - task_contract_taker ?= { - root.task_contract_location.barony = { - save_scope_as = task_contract_location - } - trigger_event = governor_contract_event.2010 - } - } - - 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 = admin_contract_success_tt_rewards - } - } - failure_standard = { - positive = no - effect = { - task_contract_taker = { play_sound_effect = "event:/DLC/EP3/SFX/UI/Contracts/ep3_ui_contracts_failure_on_contract" } - custom_tooltip = admin_contract_failure_tt - } - } - mayor_in_govt = { - 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_prestige = major_prestige_gain - } - task_contract_location.county = { remove_county_modifier = ep3_mismanaged_administration_modifier } - } - } - mayor_in_fire = { - 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 } - add_dread = minor_dread_gain - } - task_contract_employer = { # depose_effect unnecessary for AI mayor - if = { - limit = { is_ruler = yes } - depose = yes - } - } - task_contract_location.county = { remove_county_modifier = ep3_mismanaged_administration_modifier } - } - } - mayor_in_help = { - 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_influence = { - value = minor_influence_gain - multiply = governance_task_contract_tier_value - } - remove_short_term_gold = minor_gold_value - } - task_contract_location.county = { remove_county_modifier = ep3_mismanaged_administration_modifier } - } - } - mayor_in_punish = { - 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 - } - } - } - - 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 - } - } - } - } - } -} - -# Provincial Investment: An opportunity has presented itself for you to invest in the capital of your governorship. -prov_investment = { - group = admin_governance_group - icon = "gfx/interface/icons/message_feed/domain.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 = governor_contract_event.2020 - } - } - - 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 = admin_contract_success_tt_rewards - } - } - failure_standard = { - positive = no - effect = { - task_contract_taker = { play_sound_effect = "event:/DLC/EP3/SFX/UI/Contracts/ep3_ui_contracts_failure_on_contract" } - custom_tooltip = admin_contract_failure_tt - } - } - invest_infrastructure = { #Gov special - 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_influence = { - value = medium_influence_gain - multiply = governance_task_contract_tier_value - } - } - task_contract_location.county = { - add_county_modifier = { - modifier = ep3_contract_infrastructure_modifier - years = 10 - } - } - } - } - invest_monument = { - 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 } - add_prestige = { - value = medium_prestige_gain - multiply = governance_task_contract_tier_value - } - liege ?= { - add_opinion = { - target = scope:task_contract.task_contract_taker - modifier = flattered_opinion - opinion = 40 - } - } - } - } - } - invest_traders = { - 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 - increase_governance_effect = { VALUE = 6 } - } - } - } - invest_military = { - 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 } - } - task_contract_location = { - add_province_modifier = { - modifier = ep3_invested_military_modifier - years = 10 - } - } - } - } - invest_food = { - 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 = ep3_food_distribution_modifier - years = 10 - } - } - task_contract_taker ?= { - change_influence = { - value = minor_influence_gain - multiply = governance_task_contract_tier_value - } - } - } - } - invest_church = { - 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 = major_piety_gain - - faith ?= { - religious_head ?= { - add_opinion = { - target = scope:task_contract.task_contract_taker - modifier = pleased_opinion - opinion = 30 - } - } - } - } - } - } - 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 - } - } - } - } - } -} - -# Raiding Peasants: A self-organized band of peasants has been raiding across the border -raiding_peasants = { - group = admin_governance_group - icon = "gfx/interface/icons/message_feed/raid.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 - } - } - - 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 - } - save_scope_as = task_contract_character - trigger_event = governor_contract_event.2030 - } - } - - 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 = admin_contract_success_tt_rewards - } - } - failure_standard = { - positive = no - effect = { - task_contract_taker = { play_sound_effect = "event:/DLC/EP3/SFX/UI/Contracts/ep3_ui_contracts_failure_on_contract" } - custom_tooltip = admin_contract_failure_tt - } - } - peasant_enroll = { #Gov special - 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 } - } - } - } - peasant_punish = { - 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 } - change_influence = { - value = minor_influence_loss - multiply = governance_task_contract_tier_value - } - add_dread = minor_dread_gain - } - } - } - peasant_encourage = { - 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 = ep3_peasant_border_raids_modifier - years = 10 - } - } - } - } - peasant_work = { - 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 = ep3_peasant_workers_modifier - years = 10 - } - } - } - } - peasant_take = { - 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 - } - } - } - 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 - } - } - } - } - } -} - -# Wild Predators: Wild predators are eating all the animals of the local game preserve. -wild_predators = { - group = admin_governance_group - icon = "gfx/interface/icons/character_interactions/activity_hunt.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 - } - } - - 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 = governor_contract_event.2040 - } - } - - 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 = admin_contract_success_tt_rewards - } - } - failure_standard = { - positive = no - effect = { - task_contract_taker = { play_sound_effect = "event:/DLC/EP3/SFX/UI/Contracts/ep3_ui_contracts_failure_on_contract" } - custom_tooltip = admin_contract_failure_tt - } - } - predators_poisoners = { #Gov special - 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_learning_lifestyle_xp = major_lifestyle_xp - add_intrigue_lifestyle_xp = major_lifestyle_xp - } - task_contract_location.county = { - add_county_modifier = { - modifier = ep3_abundant_game_modifier - years = 10 - } - remove_county_modifier = ep3_wild_predators_modifier - } - } - } - predators_hunt = { - 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 = { - remove_county_modifier = ep3_wild_predators_modifier - } - task_contract_taker ?= { - increase_governance_effect = { VALUE = 2 } - change_influence = { - value = medium_influence_gain - multiply = governance_task_contract_tier_value - } - if = { - limit = { - has_trait = lifestyle_hunter - } - add_trait_xp = { - trait = lifestyle_hunter - track = hunter - value = 10 - } - } - else = { add_trait = lifestyle_hunter } - } - } - } - predators_hunters = { - 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 = { - remove_county_modifier = ep3_wild_predators_modifier - } - task_contract_taker ?= { - increase_governance_effect = { VALUE = 6 } - change_influence = { - value = minor_influence_gain - multiply = governance_task_contract_tier_value - } - remove_short_term_gold = minor_gold_value - } - } - } - predators_locals = { - 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 = { - remove_county_modifier = ep3_wild_predators_modifier - } - task_contract_taker ?= { - add_prestige = minor_prestige_gain - change_influence = { - value = minor_influence_gain - multiply = governance_task_contract_tier_value - } - } - } - } - predators_capture = { - 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 ?= { - remove_county_modifier = ep3_wild_predators_modifier - } - task_contract_taker ?= { - add_prestige = medium_prestige_gain - change_influence = { - value = medium_influence_gain - multiply = governance_task_contract_tier_value - } - add_character_modifier = { - modifier = ep3_ferocious_pets_modifier - years = 10 - } - } - } - } - predators_preys = { - 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 = ep3_abundant_game_modifier - years = 10 - } - } - task_contract_taker ?= { - remove_short_term_gold = minor_gold_value - } - } - } - 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 - } - } - } - } - } -} - -# Evil Presence: The locals are persecuted by a "devil" and terrified -evil_presence = { - group = admin_governance_group - icon = "gfx/interface/icons/message_feed/witchcraft.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 - } - } - - 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 = governor_contract_event.2050 - } - } - - 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 = admin_contract_success_tt_rewards - } - } - failure_standard = { - positive = no - effect = { - task_contract_taker = { play_sound_effect = "event:/DLC/EP3/SFX/UI/Contracts/ep3_ui_contracts_failure_on_contract" } - custom_tooltip = admin_contract_failure_tt - } - } - presence_official = { #Gov special - 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 = medium_piety_gain - add_learning_lifestyle_xp = major_lifestyle_xp - increase_governance_effect = { VALUE = 8 } - change_influence = { - value = minor_influence_gain - multiply = governance_task_contract_tier_value - } - } - } - } - presence_exorcize = { - 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 = minor_piety_gain - add_learning_lifestyle_xp = medium_lifestyle_xp - increase_governance_effect = { VALUE = 4 } - } - } - } - presence_sorcerer = { - 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 = ep3_church_investigation_modifier - years = 10 - } - } - task_contract_taker ?= { - add_prestige = major_prestige_gain - } - } - } - presence_local = { - 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 = ep3_local_practices_modifier - years = 10 - } - } - task_contract_taker ?= { - increase_governance_effect = { VALUE = 4 } - add_piety = medium_piety_loss - } - } - } - presence_rationalize = { - 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 = medium_lifestyle_xp - change_influence = { - value = minor_influence_gain - multiply = governance_task_contract_tier_value - } - add_character_modifier = { - modifier = ep3_rationalist_gov_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 = minor_influence_loss - multiply = governance_task_contract_tier_value - } - add_piety = minor_piety_loss - } - } - } - } -} - -# Miraculous Healing: A fake possessed/invalid keeps being "miraculously healed" every time they receive a relic or a valuable item -miraculous_healing = { - group = admin_governance_group - icon = "gfx/interface/icons/message_feed/religious.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 = governor_contract_event.2060 - } - } - - 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 = admin_contract_success_tt_rewards - } - } - failure_standard = { - positive = no - effect = { - task_contract_taker = { play_sound_effect = "event:/DLC/EP3/SFX/UI/Contracts/ep3_ui_contracts_failure_on_contract" } - custom_tooltip = admin_contract_failure_tt - } - } - healing_example = { #Gov special - 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_influence = { - value = medium_influence_gain - multiply = governance_task_contract_tier_value - } - add_prestige = medium_prestige_gain - add_piety = medium_piety_gain - } - } - } - healing_hire = { - 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 = minor_influence_gain - multiply = governance_task_contract_tier_value - } - add_dread = minor_dread_gain - } - } - } - healing_relic = { - 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 } - add_piety = medium_piety_gain - } - } - } - healing_fine = { - 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 } - add_gold = medium_gold_value - } - } - } - healing_imprison = { - 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 } - } - } - } - healing_faith = { - 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 = major_piety_gain - } - } - } - 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 - } - } - } - } - } -} - -# Buried Treasure: A peasant has found a hoard of buried gold -buried_treasure = { - group = admin_governance_group - icon = "gfx/interface/icons/message_feed/steward_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 - } - } - - 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 = governor_contract_event.2070 - } - } - - 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 = admin_contract_success_tt_rewards - } - } - failure_standard = { - positive = no - effect = { - task_contract_taker = { play_sound_effect = "event:/DLC/EP3/SFX/UI/Contracts/ep3_ui_contracts_failure_on_contract" } - custom_tooltip = admin_contract_failure_tt - } - } - treasure_invest = { #Gov special - 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_influence = { - value = medium_influence_gain - multiply = governance_task_contract_tier_value - } - } - task_contract_location.county = { - add_county_modifier = { - modifier = ep3_treasure_invest_modifier - years = 10 - } - } - } - } - treasure_tax = { - 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 } - add_prestige = minor_prestige_gain - } - } - } - treasure_commandeer = { - 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 - } - } - treasure_acknowledge = { - 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_influence = { - value = minor_influence_gain - multiply = governance_task_contract_tier_value - } - } - } - } - treasure_distribute = { - 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 } - } - task_contract_location.county = { - add_county_modifier = { - modifier = ep3_treasure_distributed_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 = minor_influence_loss - multiply = governance_task_contract_tier_value - } - } - } - } - } -} - -# Public Land: You get a chance to confiscate some lands -public_land = { - group = admin_governance_group - icon = "gfx/interface/icons/character_interactions/icon_scheme_expand_power_base.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_taker ?= { - root.task_contract_location.barony = { - save_scope_as = task_contract_location - } - trigger_event = governor_contract_event.2080 - } - } - - 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 = admin_contract_success_tt_rewards - } - } - failure_standard = { - positive = no - effect = { - task_contract_taker = { play_sound_effect = "event:/DLC/EP3/SFX/UI/Contracts/ep3_ui_contracts_failure_on_contract" } - custom_tooltip = admin_contract_failure_tt - } - } - land_reinstate = { #Gov special - 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_influence = { - value = medium_influence_gain - multiply = governance_task_contract_tier_value - } - } - task_contract_location.county = { - add_county_modifier = { - modifier = ep3_lands_reinstated_modifier - years = 15 - } - } - } - } - land_confiscate = { - 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 = ep3_land_confiscate_modifier - years = 15 - } - } - } - } - land_bribe = { - 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 - } - } - land_favor = { - 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 = miniscule_influence_gain - multiply = governance_task_contract_tier_value - } - } - } - } - land_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 ?= { - increase_governance_effect = { VALUE = 6 } - } - task_contract_location.county = { - 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" } - save_scope_as = task_contract - task_contract_taker ?= { - add_prestige = { - value = minor_prestige_loss - multiply = governance_task_contract_tier_value - } - } - } - } - } -} - -# The Mad Prophet: A prophet has been terrorizing a province -mad_prophet = { - group = admin_governance_group - icon = "gfx/interface/icons/message_feed/heresy.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 - } - } - - 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 = governor_contract_event.2090 - } - } - - 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 = admin_contract_success_tt_rewards - } - } - failure_standard = { - positive = no - effect = { - task_contract_taker = { play_sound_effect = "event:/DLC/EP3/SFX/UI/Contracts/ep3_ui_contracts_failure_on_contract" } - custom_tooltip = admin_contract_failure_tt - } - } - prophet_reassure = { #Gov special - 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_influence = { - value = minor_influence_gain - multiply = governance_task_contract_tier_value - } - } - task_contract_location.county = { - add_county_modifier = { - modifier = ep3_religiously_pacified_modifier - years = 10 - } - } - } - } - prophet_persecute = { - 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 } - } - task_contract_location.county = { - add_county_modifier = { - modifier = ep3_doom_repressed_modifier - years = 10 - } - } - } - } - prophet_arrest = { - 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 } - } - } - } - prophet_debate = { - 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 = miniscule_influence_gain - multiply = governance_task_contract_tier_value - } - add_character_modifier = { - modifier = ep3_religious_debate_modifier - years = 10 - } - } - } - } - prophet_ceremonies = { - 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 } - remove_short_term_gold = minor_gold_value - add_piety = { - value = minor_piety_gain - multiply = governance_task_contract_tier_value - } - add_prestige = { - value = minor_prestige_gain - multiply = governance_task_contract_tier_value - } - } - } - } - prophet_clergy = { - 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" } - save_scope_as = task_contract - task_contract_taker ?= { - add_piety = { - value = minor_prestige_loss - multiply = governance_task_contract_tier_value - } - change_influence = { - value = miniscule_influence_loss - multiply = governance_task_contract_tier_value - } - } - } - } - } -} - -# Titles for Sale: Someone has been unlegally selling religious titles/offices -titles_sale = { - group = admin_governance_group - icon = "gfx/interface/icons/character_interactions/purchase_land_interaction.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 = governor_contract_event.2100 - } - } - - 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 = admin_contract_success_tt_rewards - } - } - failure_standard = { - positive = no - effect = { - task_contract_taker = { play_sound_effect = "event:/DLC/EP3/SFX/UI/Contracts/ep3_ui_contracts_failure_on_contract" } - custom_tooltip = admin_contract_failure_tt - } - } - titles_repay = { #Gov special - 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 } - } - task_contract_location.county = { - add_county_modifier = { - modifier = ep3_repayed_church_titles_modifier - years = 10 - } - } - } - } - titles_commandeer = { - 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 = minor_gold_value - multiply = governance_task_contract_tier_value - } - add_piety = { - value = minor_piety_loss - multiply = governance_task_contract_tier_value - } - } - } - } - titles_back = { - 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 = 8 } - } - } - } - titles_bribe = { - 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 = medium_influence_gain - multiply = governance_task_contract_tier_value - } - add_piety = { - value = minor_piety_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" } - save_scope_as = task_contract - task_contract_taker ?= { - add_piety = { - value = minor_piety_loss - multiply = governance_task_contract_tier_value - } - change_influence = { - value = miniscule_influence_loss - multiply = governance_task_contract_tier_value - } - } - } - } - } -} - -# Hungry Times: A famine has forced some locals to eat "unclean" animals... Or dead humans... Or humans-that-weren't-so-dead-yet -hungry_times = { - group = admin_governance_group - icon = "gfx/interface/icons/message_feed/plague.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 - } - } - - 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 = governor_contract_event.2110 - } - } - - 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 = admin_contract_success_tt_rewards - } - } - failure_standard = { - positive = no - effect = { - task_contract_taker = { play_sound_effect = "event:/DLC/EP3/SFX/UI/Contracts/ep3_ui_contracts_failure_on_contract" } - custom_tooltip = admin_contract_failure_tt - } - } - hungry_support = { #Gov special - 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 } - } - task_contract_location.county = { - add_county_modifier = { - modifier = ep3_rebuild_effort_modifier - years = 15 - } - } - } - } - hungry_amnesty = { - 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 = medium_influence_gain - multiply = governance_task_contract_tier_value - } - } - } - } - hungry_punish = { - 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 } - } - } - } - hungry_persecute = { - 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 = minor_gold_value - multiply = governance_task_contract_tier_value - } - change_influence = { - value = miniscule_influence_loss - multiply = governance_task_contract_tier_value - } - } - task_contract_location.county = { - change_county_control = 20 - } - } - } - hungry_control = { - 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 } - remove_short_term_gold = { - value = minor_gold_value - multiply = governance_task_contract_tier_value - } - } - task_contract_location.county = { - add_county_modifier = { - modifier = ep3_tight_control_modifier - years = 15 - } - } - } - } - 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 ?= { - add_prestige = { - value = minor_prestige_loss - multiply = governance_task_contract_tier_value - } - change_influence = { - value = miniscule_influence_loss - multiply = governance_task_contract_tier_value - } - } - } - } - } -} - -# Wartime Measures: Your liege is at war and you are asked to contribute to the military effort -wartime_measures = { - group = admin_governance_group - icon = "gfx/interface/icons/message_feed/soldier.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 - } - } - - 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 = governor_contract_event.2120 - } - } - - 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 = admin_contract_success_tt_rewards - } - } - failure_standard = { - positive = no - effect = { - task_contract_taker = { play_sound_effect = "event:/DLC/EP3/SFX/UI/Contracts/ep3_ui_contracts_failure_on_contract" } - custom_tooltip = admin_contract_failure_tt - } - } - wartime_support = { #Gov special - 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 } - remove_short_term_gold = { - value = medium_gold_value - multiply = governance_task_contract_tier_value - } - } - task_contract_location.county.duchy = { - every_de_jure_county = { - limit = { - OR = { - holder = scope:task_contract.task_contract_taker - holder.liege = scope:task_contract.task_contract_taker - } - } - add_county_modifier = { - modifier = ep3_war_support_modifier - years = 10 - } - } - } - } - } - wartime_supplies = { - 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 = medium_influence_gain - multiply = governance_task_contract_tier_value - } - } - task_contract_location.county = { - add_county_modifier = { - modifier = ep3_war_supplies_modifier - years = 10 - } - } - } - } - wartime_lodgings = { - 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 } - } - task_contract_location.county = { - add_county_modifier = { - modifier = ep3_war_lodgings_modifier - years = 10 - } - } - } - } - wartime_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 ?= { - remove_short_term_gold = { - value = minor_gold_value - multiply = governance_task_contract_tier_value - } - change_influence = { - value = medium_influence_gain - multiply = governance_task_contract_tier_value - } - } - } - } - wartime_lookouts = { - 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 = 3 } - remove_short_term_gold = { - value = tiny_gold_value - multiply = governance_task_contract_tier_value - } - } - task_contract_location.county = { - add_county_modifier = { - modifier = ep3_war_lookout_modifier - years = 10 - } - } - } - } - wartime_compensations = { - 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 = 3 } - liege = { - add_opinion = { - target = scope:task_contract.task_contract_taker - modifier = disappointed_opinion - opinion = -15 - } - } - - } - task_contract_location.county = { - add_county_modifier = { - modifier = ep3_war_compensations_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 ?= { - add_prestige = { - value = minor_prestige_loss - multiply = governance_task_contract_tier_value - } - change_influence = { - value = miniscule_influence_loss - multiply = governance_task_contract_tier_value - } - } - } - } - } -} diff --git a/common/task_contracts/laamp_base_contracts.txt b/common/task_contracts/laamp_base_contracts.txt deleted file mode 100644 index 47b425f88..000000000 --- a/common/task_contracts/laamp_base_contracts.txt +++ /dev/null @@ -1,8394 +0,0 @@ -################################################## -# INFO -# For laamp contracts that are broadly applicable: that is, they should be able to trigger virtually anywhere and with a minimum of triggers. -# The idea is that any given laamp led by a character skilled in any one thing should always be viable — maybe through crime, maybe by demeaning themselves, but they should always have some contracts around to work with. -################################################## - - - -################################################## -# GROUPS (for populate_task_contracts_for_area) -# -# laamp_contracts_criminal_group -# laamp_contracts_diplomacy_group -# laamp_contracts_hireling_group -# laamp_contracts_hunting_group -# laamp_contracts_intrigue_group -# laamp_contracts_learning_group -# laamp_contracts_martial_group -# laamp_contracts_stewardship_group -# laamp_contracts_justicar_group -# - -################################################## -# #Diplo Contracts -# laamp_base_0001 Regale court with stories -# laamp_base_0011 Improve ruler's reputation -# laamp_base_0021 Hobnob with local ruler -# laamp_base_0031 Paid Mediator -# laamp_base_0041 Confidence trickster -# -# #Martial Contracts -# laamp_base_1001 Hunt criminals -# laamp_base_1011 Act as hired muscle -# laamp_base_1021 Help train local MaA -# laamp_base_1031 Garrison service -# laamp_base_1041 Ambush travellers -# -# #Stewardship Contracts -# laamp_base_2001 Collect taxes for a third party -# laamp_base_2011 Perform a census -# laamp_base_2021 Help construct a building -# laamp_base_2031 Settle an administrative boundary dispute -# laamp_base_2041 Collect fake taxes -# -# #Intrigue Contracts -# laamp_base_3001 Provide intelligence from your trips -# laamp_base_3011 Murder a character's rival -# laamp_base_3021 Abduct a character's rival -# laamp_base_3031 Attack the property of a character's rival -# laamp_base_3041 Heist from a ruler's treasury -# -# #Learning Contracts -# laamp_base_4001 Transcribe texts for a learned ruler -# laamp_base_4011 Help settle theological arguments -# laamp_base_4021 Create a work of learning for a ruler -# laamp_base_4031 Solicit Charity -# laamp_base_4041 Sell bogus relics -# laamp_base_4100 Act as a tutor for ruler's child -# -# #Prowess Contracts -# laamp_base_5001 Hunt in the wilds -# laamp_base_5011 Guard merchant properties -# laamp_base_5021 Guard a local ruler at a minor event -# laamp_base_5031 Go rustling -# laamp_base_5041 Go poaching -# -# #Justicar Contracts -# laamp_base_6001 Protect the innocent -# laamp_base_6011 Rescue a Fair Non-Combatant Gender -# laamp_base_6021 Participate in a Chivalry Play -# laamp_base_6031 Do a Pass d'Armes -################################################## - - - - - - - - - - -################################################## -# DIPLO CONTRACTS - -# Regale court with stories -laamp_base_0001 = { - group = laamp_contracts_diplomacy_group - icon = "gfx/interface/icons/scheme_types/diplomacy.dds" - - travel = yes - use_diplomatic_range = no - - weight = { - # Standard weights. - value = task_contract_weight_default_value - add = laamp_contracts_weight_up_diplomacy_value - add = laamp_contracts_weight_up_diplomacy_slight_value - # Employer weights. - scope:employer = { - add = { - # Weight up. - ## Traits that like to hear from strangers. - if = { - limit = { has_trait = gregarious } - add = task_contract_weight_bonus_employer_has_associated_traits_value - } - if = { - limit = { has_trait = trusting } - add = task_contract_weight_bonus_employer_has_associated_traits_value - } - if = { - limit = { has_trait = eccentric } - add = task_contract_weight_bonus_employer_has_associated_traits_value - } - # Weight down. - ## Traits that don't have time for riff-raff. - if = { - limit = { has_trait = arrogant } - add = task_contract_weight_malus_employer_has_associated_traits_value - } - if = { - limit = { has_trait = impatient } - add = task_contract_weight_malus_employer_has_associated_traits_value - } - # Restrictions. - min = task_contract_weight_employer_associated_traits_min_value - max = task_contract_weight_employer_associated_traits_max_value - } - multiply = task_contract_weight_by_tier_value - # This weight is an override, so make sure it's placed at the bottom. - add = task_contract_weight_employer_contact_list_value - } - } - - # Validity Triggers - 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 - rule_out_dramatic_laamp_employers_trigger = yes - # Specific flavour triggers. - laamp_task_contract_employer_not_antisocial_trigger = yes - } - valid_to_accept = { - # Standard triggers. - valid_laamp_basic_accept_only_trigger = yes - valid_laamp_basic_trigger = { - EMPLOYER = scope:employer - LAAMP = root - } - scope:employer = { is_landed = yes } - } - valid_to_continue = { - # Standard triggers. - valid_laamp_basic_trigger = { - EMPLOYER = root.task_contract_employer - LAAMP = root.task_contract_taker - } - task_contract_employer = { is_landed = yes } - } - valid_to_keep = { - # Standard triggers. - valid_laamp_basic_trigger = { - EMPLOYER = root.task_contract_employer - LAAMP = root.task_contract_taker - } - task_contract_employer = { is_landed = yes } - } - - # On_actions - on_accepted = { - task_contract_taker = { play_sound_effect = "event:/DLC/EP3/SFX/UI/Contracts/ep3_ui_contracts_accept_contract" } - # For the intro event. - save_scope_as = task_contract - # Then we start the scheme. - task_contract_taker ?= { - start_scheme = { - type = laamp_base_0001_contract_scheme - contract = root - target_character = root.task_contract_employer - } - # Make a note of what the scheme even is; we'll need this for the event too. - scope:task_contract.scheme = { save_scope_as = scheme } - trigger_event = laamp_base_contract_schemes.0001 - } - } - on_create = { - scope:contract = { - # 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_taker.task_contract_success_gold_gain_half_value - } - } - } - - # Rewards - task_contract_reward = { - success_standard = { - should_print_on_complete = yes - effect = { - task_contract_taker = { play_sound_effect = "event:/DLC/EP3/SFX/UI/Contracts/ep3_ui_contracts_success_on_contract" } - save_scope_as = task_contract - save_scope_value_as = { name = extra_reward value = flag:no } - # Standard Rewards. - laamp_rewards_disburse_ordinary_currency_effect = { - GOLD = 0 - PRESTIGE = task_contract_success_prestige_gain_full_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 = { task_successful_noncrim_contract_count_effect = yes } - } - } - success_critical = { - should_print_on_complete = yes - effect = { - task_contract_taker = { play_sound_effect = "event:/DLC/EP3/SFX/UI/Contracts/ep3_ui_contracts_success_on_contract" } - save_scope_as = task_contract - save_scope_value_as = { name = extra_reward value = flag:no } - # Critical Rewards. - laamp_rewards_disburse_ordinary_currency_effect = { - GOLD = scope:task_contract.var:gold_success_critical - PRESTIGE = task_contract_success_prestige_gain_critical_value - PIETY = 0 - PROVISIONS = task_contract_success_provisions_gain_minor_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 - } - task_contract_taker = { task_successful_noncrim_contract_count_effect = yes } - } - } - failure_standard = { - positive = no - should_print_on_complete = yes - effect = { - 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 - } - } - } - } -} - -# Improve ruler's reputation -laamp_base_0011 = { - group = laamp_contracts_diplomacy_group - icon = "gfx/interface/icons/scheme_types/diplomacy.dds" - - travel = yes - use_diplomatic_range = no - - weight = { - # Standard weights. - value = task_contract_weight_default_value - add = laamp_contracts_weight_up_diplomacy_value - add = laamp_contracts_weight_up_diplomacy_slight_value - # Employer weights. - scope:employer = { - add = { - # Weight up. - ## Traits most likely to suffer from reputational damage generally. - if = { - limit = { has_trait = shy } - add = task_contract_weight_bonus_employer_has_associated_traits_value - } - if = { - limit = { has_trait = callous } - add = task_contract_weight_bonus_employer_has_associated_traits_value - } - if = { - limit = { has_trait = sadistic } - add = task_contract_weight_bonus_employer_has_associated_traits_value - } - # Weight down. - ## Traits that don't acknowledge fault. - if = { - limit = { has_trait = arrogant } - add = task_contract_weight_malus_employer_has_associated_traits_value - } - # Restrictions. - min = task_contract_weight_employer_associated_traits_min_value - max = task_contract_weight_employer_associated_traits_max_value - } - multiply = task_contract_weight_by_tier_value - # This weight is an override, so make sure it's placed at the bottom. - add = task_contract_weight_employer_contact_list_value - } - } - - # Validity Triggers - 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 - rule_out_dramatic_laamp_employers_trigger = yes - # Specific flavour triggers. - scope:employer = { - # Doesn't feel right coming from anyone too famous, even if they're currently hated. - prestige_level <= high_prestige_level - OR = { - # Anyone who could use a little more political capital. - prestige <= 500 - # Or who's got a bit of a... reputation. - strife_opinion >= 1 - tyranny >= 1 - # And any important unlikeable characters in their realm that indicate they might be a bit of a prick. - any_relation = { - type = rival - liege ?= prev - } - } - } - } - valid_to_accept = { - # Standard triggers. - valid_laamp_basic_accept_only_trigger = yes - valid_laamp_basic_trigger = { - EMPLOYER = scope:employer - LAAMP = root - } - scope:employer = { is_landed = yes } - } - valid_to_continue = { - # Standard triggers. - valid_laamp_basic_trigger = { - EMPLOYER = root.task_contract_employer - LAAMP = root.task_contract_taker - } - task_contract_employer = { is_landed = yes } - } - valid_to_keep = { - # Standard triggers. - valid_laamp_basic_trigger = { - EMPLOYER = root.task_contract_employer - LAAMP = root.task_contract_taker - } - task_contract_employer = { is_landed = yes } - } - - # On_actions - on_accepted = { - task_contract_taker = { play_sound_effect = "event:/DLC/EP3/SFX/UI/Contracts/ep3_ui_contracts_accept_contract" } - # For the intro event. - save_scope_as = task_contract - # Then we start the scheme. - task_contract_taker ?= { - start_scheme = { - type = laamp_base_0011_contract_scheme - contract = root - target_character = root.task_contract_employer - } - # Make a note of what the scheme even is; we'll need this for the event too. - scope:task_contract.scheme = { save_scope_as = scheme } - trigger_event = laamp_base_contract_schemes.0011 - } - } - on_create = { - 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_taker.task_contract_success_gold_gain_full_value - } - # Make sure critical values are a bit higher. - save_scope_value_as = { name = gold_safety_margin value = flag:yes } - set_variable = { - name = gold_success_critical - value = task_contract_taker.task_contract_success_gold_gain_full_value - } - } - } - - # Rewards - task_contract_reward = { - success_standard = { - should_print_on_complete = yes - effect = { - task_contract_taker = { play_sound_effect = "event:/DLC/EP3/SFX/UI/Contracts/ep3_ui_contracts_success_on_contract" } - save_scope_as = task_contract - save_scope_value_as = { name = extra_reward value = flag:no } - # Standard Rewards. - 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 = { task_successful_noncrim_contract_count_effect = yes } - } - } - success_critical = { - should_print_on_complete = yes - effect = { - task_contract_taker = { play_sound_effect = "event:/DLC/EP3/SFX/UI/Contracts/ep3_ui_contracts_success_on_contract" } - save_scope_as = task_contract - save_scope_value_as = { name = extra_reward value = flag:no } - # Critical Rewards. - 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_medium_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 - } - task_contract_taker = { task_successful_noncrim_contract_count_effect = yes } - } - } - failure_standard = { - positive = no - should_print_on_complete = yes - effect = { - 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 - } - } - } - } -} - -# Hobnob with local ruler -laamp_base_0021 = { - group = laamp_contracts_diplomacy_group - icon = "gfx/interface/icons/scheme_types/diplomacy.dds" - - travel = yes - use_diplomatic_range = no - - weight = { - # Standard weights. - value = task_contract_weight_default_value - add = laamp_contracts_weight_up_diplomacy_value - add = laamp_contracts_weight_up_diplomacy_slight_value - # Employer weights. - scope:employer = { - add = { - # Weight up. - ## Actively sociable traits. - if = { - limit = { has_trait = gregarious } - add = task_contract_weight_bonus_employer_has_associated_traits_value - } - if = { - limit = { has_trait = trusting } - add = task_contract_weight_bonus_employer_has_associated_traits_value - } - if = { - limit = { has_trait = humble } - add = task_contract_weight_bonus_employer_has_associated_traits_value - } - # Weight down. - ## Traits that don't have time for riff-raff. - if = { - limit = { has_trait = arrogant } - add = task_contract_weight_malus_employer_has_associated_traits_value - } - if = { - limit = { has_trait = impatient } - add = task_contract_weight_malus_employer_has_associated_traits_value - } - # Restrictions. - min = task_contract_weight_employer_associated_traits_min_value - max = task_contract_weight_employer_associated_traits_max_value - } - multiply = task_contract_weight_by_tier_value - # This weight is an override, so make sure it's placed at the bottom. - add = task_contract_weight_employer_contact_list_value - } - } - - # Validity Triggers - 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 - rule_out_dramatic_laamp_employers_trigger = yes - # Specific flavour triggers. - laamp_task_contract_employer_not_antisocial_trigger = yes - scope:employer = { - NOR = { - any_relation = { type = friend } - any_relation = { type = lover } - } - } - } - valid_to_accept = { - # Standard triggers. - valid_laamp_basic_accept_only_trigger = yes - valid_laamp_basic_trigger = { - EMPLOYER = scope:employer - LAAMP = root - } - scope:employer = { is_landed = yes } - } - valid_to_continue = { - # Standard triggers. - valid_laamp_basic_trigger = { - EMPLOYER = root.task_contract_employer - LAAMP = root.task_contract_taker - } - task_contract_employer = { is_landed = yes } - } - valid_to_keep = { - # Standard triggers. - valid_laamp_basic_trigger = { - EMPLOYER = root.task_contract_employer - LAAMP = root.task_contract_taker - } - task_contract_employer = { is_landed = yes } - } - - # On_actions - on_accepted = { - task_contract_taker = { play_sound_effect = "event:/DLC/EP3/SFX/UI/Contracts/ep3_ui_contracts_accept_contract" } - # For the intro event. - save_scope_as = task_contract - # Then we start the scheme. - task_contract_taker ?= { - start_scheme = { - type = laamp_base_0021_contract_scheme - contract = root - target_character = root.task_contract_employer - } - # Make a note of what the scheme even is; we'll need this for the event too. - scope:task_contract.scheme = { save_scope_as = scheme } - trigger_event = laamp_base_contract_schemes.0021 - } - } - on_create = { - 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_taker.task_contract_success_gold_gain_half_value - } - # Make sure critical values are a bit higher. - save_scope_value_as = { name = gold_safety_margin value = flag:yes } - set_variable = { - name = gold_success_critical - value = task_contract_taker.task_contract_success_gold_gain_half_value - } - } - } - - # Rewards - task_contract_reward = { - success_standard = { - should_print_on_complete = yes - effect = { - task_contract_taker = { play_sound_effect = "event:/DLC/EP3/SFX/UI/Contracts/ep3_ui_contracts_success_on_contract" } - save_scope_as = task_contract - save_scope_value_as = { name = extra_reward value = flag:no } - # 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 = 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 = { task_successful_noncrim_contract_count_effect = yes } - } - } - success_critical = { - should_print_on_complete = yes - effect = { - task_contract_taker = { play_sound_effect = "event:/DLC/EP3/SFX/UI/Contracts/ep3_ui_contracts_success_on_contract" } - save_scope_as = task_contract - save_scope_value_as = { name = extra_reward value = flag:no } - # Critical Rewards. - laamp_rewards_disburse_ordinary_currency_effect = { - GOLD = scope:task_contract.var:gold_success_critical - PRESTIGE = task_contract_success_prestige_gain_critical_value - PIETY = 0 - PROVISIONS = task_contract_success_provisions_gain_medium_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 - } - task_contract_taker = { task_successful_noncrim_contract_count_effect = yes } - } - } - failure_standard = { - positive = no - should_print_on_complete = yes - effect = { - 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 - } - } - } - } -} - -# Paid Mediator -laamp_base_0031 = { - group = laamp_contracts_diplomacy_group - icon = "gfx/interface/icons/scheme_types/diplomacy.dds" - - travel = no - use_diplomatic_range = no - - weight = { - # Standard weights. - value = task_contract_weight_default_value - add = laamp_contracts_weight_up_diplomacy_value - add = laamp_contracts_weight_up_diplomacy_slight_value - # Employer weights. - scope:employer = { - add = { - # Weight up. - ## Traits that like to outsource. - if = { - limit = { has_trait = shy } - add = task_contract_weight_bonus_employer_has_associated_traits_value - } - if = { - limit = { has_trait = lazy } - add = task_contract_weight_bonus_employer_has_associated_traits_value - } - if = { - limit = { has_trait = arbitrary } - add = task_contract_weight_bonus_employer_has_associated_traits_value - } - if = { - limit = { has_trait = impatient } - add = task_contract_weight_bonus_employer_has_associated_traits_value - } - # Weight down. - ## Traits that prefer a hand-on approach. - if = { - limit = { has_trait = gregarious } - add = task_contract_weight_malus_employer_has_associated_traits_value - } - if = { - limit = { has_trait = diligent } - add = task_contract_weight_malus_employer_has_associated_traits_value - } - if = { - limit = { has_trait = just } - add = task_contract_weight_malus_employer_has_associated_traits_value - } - if = { - limit = { has_trait = patient } - add = task_contract_weight_malus_employer_has_associated_traits_value - } - if = { - limit = { has_trait = greedy } - add = task_contract_weight_malus_employer_has_associated_traits_value - } - # Restrictions. - min = task_contract_weight_employer_associated_traits_min_value - max = task_contract_weight_employer_associated_traits_max_value - } - multiply = task_contract_weight_by_tier_value - # This weight is an override, so make sure it's placed at the bottom. - add = task_contract_weight_employer_contact_list_value - } - } - - # Validity Triggers - 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 - NOT = { - scope:employer = { government_has_flag = government_is_tribal } - } - # Specific flavour triggers. - scope:employer = { - AND = { - highest_held_title_tier >= tier_county - sub_realm_size >= 3 - } - NOR = { - has_trait = arrogant - has_trait = arbitrary - } - } - } - valid_to_accept = { - # Standard triggers. - valid_laamp_basic_accept_only_trigger = yes - valid_laamp_basic_trigger = { - EMPLOYER = scope:employer - LAAMP = root - } - scope:employer = { is_landed = yes } - } - valid_to_continue = { - # Standard triggers. - valid_laamp_basic_trigger = { - EMPLOYER = root.task_contract_employer - LAAMP = root.task_contract_taker - } - task_contract_employer = { is_landed = yes } - } - valid_to_keep = { - # Standard triggers. - valid_laamp_basic_trigger = { - EMPLOYER = root.task_contract_employer - LAAMP = root.task_contract_taker - } - task_contract_employer = { is_landed = yes } - } - - # On_actions - on_accepted = { - task_contract_taker = { play_sound_effect = "event:/DLC/EP3/SFX/UI/Contracts/ep3_ui_contracts_accept_contract" } - # For the intro event. - save_scope_as = task_contract - task_contract_employer = { save_scope_as = employer } - # Then we start the travel. - task_contract_taker ?= { - trigger_event = laamp_base_contract_schemes.0034 - set_variable = { - name = laamp_base_0031_tally - value = 0 - } - } - } - on_completed = { - # Clean up our variables & such. - task_contract_taker = { - remove_variable ?= laamp_base_0031_tally - remove_character_flag = laamp_base_0031_contract_used_diplomacy - remove_character_flag = laamp_base_0031_contract_used_martial - remove_character_flag = laamp_base_0031_contract_used_stewardship - remove_character_flag = laamp_base_0031_contract_used_intrigue - remove_character_flag = laamp_base_0031_contract_used_learning - remove_character_flag = laamp_base_0031_contract_used_prowess - } - } - on_invalidated = { - # Clean up our variables & such. - task_contract_taker = { - remove_variable ?= laamp_base_0031_tally - remove_character_flag = laamp_base_0031_contract_used_diplomacy - remove_character_flag = laamp_base_0031_contract_used_martial - remove_character_flag = laamp_base_0031_contract_used_stewardship - remove_character_flag = laamp_base_0031_contract_used_intrigue - remove_character_flag = laamp_base_0031_contract_used_learning - remove_character_flag = laamp_base_0031_contract_used_prowess - } - } - on_create = { - 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_taker.task_contract_success_gold_gain_full_value - } - # Make sure critical values are a bit higher. - save_scope_value_as = { name = gold_safety_margin value = flag:yes } - set_variable = { - name = gold_success_critical - value = task_contract_taker.task_contract_success_gold_gain_critical_value - } - } - } - - # Rewards - task_contract_reward = { - success_standard = { - should_print_on_complete = yes - effect = { - task_contract_taker = { play_sound_effect = "event:/DLC/EP3/SFX/UI/Contracts/ep3_ui_contracts_success_on_contract" } - save_scope_as = task_contract - save_scope_value_as = { name = extra_reward value = flag:no } - # Standard Rewards. - 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_medium_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 = { task_successful_noncrim_contract_count_effect = yes } - } - } - success_critical = { - should_print_on_complete = yes - effect = { - task_contract_taker = { play_sound_effect = "event:/DLC/EP3/SFX/UI/Contracts/ep3_ui_contracts_success_on_contract" } - save_scope_as = task_contract - save_scope_value_as = { name = extra_reward value = flag:no } - # Critical Rewards. - 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 - } - task_contract_taker = { task_successful_noncrim_contract_count_effect = yes } - } - } - failure_standard = { - positive = no - should_print_on_complete = yes - effect = { - 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 - } - } - } - } -} - -# Confidence trickster -laamp_base_0041 = { - group = laamp_contracts_criminal_group - icon = "gfx/interface/icons/scheme_types/diplomacy.dds" - - travel = yes - is_criminal = yes - use_diplomatic_range = no - - weight = { - # Standard weights. - value = task_contract_weight_default_value - add = laamp_contracts_weight_up_diplomacy_value - add = laamp_contracts_weight_up_diplomacy_slight_value - add = laamp_contracts_weight_up_criminal_value - # Employer weights. - scope:employer = { - add = { - # Weight up. - ## Credulous traits. - if = { - limit = { has_trait = trusting } - add = task_contract_weight_bonus_employer_has_associated_traits_value - } - if = { - limit = { has_trait = honest } - add = task_contract_weight_bonus_employer_has_associated_traits_value - } - if = { - limit = { has_trait = eccentric } - add = task_contract_weight_bonus_employer_has_associated_traits_value - } - # Weight down. - ## Traits that are naturally suspicious. - if = { - limit = { has_trait = cynical } - add = task_contract_weight_malus_employer_has_associated_traits_value - } - if = { - limit = { has_trait = deceitful } - add = task_contract_weight_malus_employer_has_associated_traits_value - } - ## Paranoid is already excluded from even vaguely triggering this. - # Restrictions. - min = task_contract_weight_employer_associated_traits_min_value - max = task_contract_weight_employer_associated_traits_max_value - } - multiply = task_contract_weight_by_tier_value - } - } - - # Validity Triggers - valid_to_create = { - # Standard triggers. - valid_laamp_basic_trigger = { - EMPLOYER = scope:employer - LAAMP = root - } - valid_laamp_sensible_start_trigger = yes - rule_out_dramatic_laamp_employers_trigger = yes - # Specific flavour triggers. - scope:employer = { - NOT = { has_trait = paranoid } - } - } - valid_to_accept = { - # Standard triggers. - valid_laamp_basic_accept_only_trigger = yes - valid_laamp_basic_trigger = { - EMPLOYER = scope:employer - LAAMP = root - } - NOT = { - house = { - has_house_modifier = legacy_adventurer_house_modifier - } - } - scope:employer = { is_landed = yes } - } - valid_to_continue = { - # Standard triggers. - valid_laamp_basic_trigger = { - EMPLOYER = root.task_contract_employer - LAAMP = root.task_contract_taker - } - root.task_contract_taker = { - NOT = { - house = { - has_house_modifier = legacy_adventurer_house_modifier - } - } - } - task_contract_employer = { is_landed = yes } - } - valid_to_keep = { - # Standard triggers. - valid_laamp_basic_trigger = { - EMPLOYER = root.task_contract_employer - LAAMP = root.task_contract_taker - } - task_contract_employer = { is_landed = yes } - } - - # On_actions - on_accepted = { - task_contract_taker = { play_sound_effect = "event:/DLC/EP3/SFX/UI/Contracts/ep3_ui_contracts_accept_contract" } - # For the intro event. - save_scope_as = task_contract - # Then we start the scheme. - task_contract_taker ?= { - start_scheme = { - type = laamp_base_0041_contract_scheme - contract = root - target_character = root.task_contract_employer - } - # Make a note of what the scheme even is; we'll need this for the event too. - scope:task_contract.scheme = { save_scope_as = scheme } - trigger_event = laamp_base_contract_schemes.0041 - } - } - on_create = { - scope:contract = { - set_variable = { - name = animation - value = 0 - } - # 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_crime_value - } - } - } - - # Rewards - task_contract_reward = { - success_standard = { - should_print_on_complete = yes - effect = { - task_contract_taker = { play_sound_effect = "event:/DLC/EP3/SFX/UI/Contracts/ep3_ui_contracts_success_on_contract" } - save_scope_as = task_contract - # Camp building extra Criminal Rewards: +50%. - if = { - limit = { - task_contract_taker.domicile ?= { has_domicile_parameter = camp_improved_criminal_contract_rewards } - } - save_scope_value_as = { name = extra_reward value = flag:yes } - } - else = { - save_scope_value_as = { name = extra_reward value = flag:no } - } - # Standard Rewards. - laamp_rewards_disburse_ordinary_currency_effect = { - GOLD = scope:task_contract.var:gold_success_standard - PRESTIGE = 0 - PIETY = 0 - PROVISIONS = 0 - OPINION = task_contract_opinion_crime_success_value - OPINION_TYPE = succeeded_criminal_contract_against_me_opinion - CONTACT = no - CONTACT_HOOK = no - EXTRA_REWARD = scope:extra_reward - } - # Update gallowsbait score. - task_contract_taker = { - laamp_rewards_apply_criminal_xp_effect = { - TRACK = trickster - XP_MAX = gallowsbait_xp_medium_gain - XP_MIN = gallowsbait_xp_medium_gain - } - } - } - } - failure_standard = { - positive = no - should_print_on_complete = yes - effect = { - 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_crime_value - PIETY = 0 - PROVISIONS = 0 - OPINION = task_contract_opinion_crime_failure_value - OPINION_TYPE = attempted_criminal_contract_against_me_opinion - CONTACT = no - CONTACT_HOOK = no - EXTRA_REWARD = scope:extra_reward - } - # Update gallowsbait score. - task_contract_taker = { - laamp_rewards_apply_criminal_xp_effect = { - TRACK = trickster - XP_MAX = gallowsbait_xp_minor_gain - XP_MIN = gallowsbait_xp_minor_gain - } - } - } - } - } -} - - - - - - - - - - -################################################## -# MARTIAL & PROWESS CONTRACTS - -# Hunt criminals -laamp_base_1001 = { - group = laamp_contracts_justicar_group - icon = "gfx/interface/icons/scheme_types/war.dds" - - use_diplomatic_range = no - - weight = { - # Standard weights. - value = task_contract_weight_default_value - add = laamp_contracts_weight_up_martial_value - add = laamp_contracts_weight_up_martial_slight_value - # Employer weights. - scope:employer = { - add = { - # Weight up. - ## Traits that are happy to outsource or care largely for results. - if = { - limit = { has_trait = impatient } - add = task_contract_weight_bonus_employer_has_associated_traits_value - } - if = { - limit = { has_trait = lazy } - add = task_contract_weight_bonus_employer_has_associated_traits_value - } - if = { - limit = { has_trait = just } - add = task_contract_weight_bonus_employer_has_associated_traits_value - } - if = { - limit = { has_trait = callous } - add = task_contract_weight_bonus_employer_has_associated_traits_value - } - # Weight down. - ## Traits that prefer a personal touch. - if = { - limit = { has_trait = patient } - add = task_contract_weight_malus_employer_has_associated_traits_value - } - if = { - limit = { has_trait = diligent } - add = task_contract_weight_malus_employer_has_associated_traits_value - } - if = { - limit = { has_trait = sadistic } - add = task_contract_weight_malus_employer_has_associated_traits_value - } - # Restrictions. - min = task_contract_weight_employer_associated_traits_min_value - max = task_contract_weight_employer_associated_traits_max_value - } - multiply = task_contract_weight_by_tier_value - # This weight is an override, so make sure it's placed at the bottom. - add = task_contract_weight_employer_contact_list_value - } - } - - # Validity Triggers - 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 - rule_out_dramatic_laamp_employers_trigger = yes - # Specific flavour triggers. - ## Won't resort to this. - laamp_task_contract_employer_would_resort_to_violence_trigger = yes - ## Effects require a capital county. - scope:employer.capital_county ?= { - # Aaaand we need to have at least three duchies in our de jure kingdom. - kingdom = { - any_in_de_jure_hierarchy = { - continue = { tier >= tier_duchy } - tier = tier_duchy - count >= 3 - } - } - } - } - valid_to_accept = { - # Standard triggers. - valid_laamp_basic_accept_only_trigger = yes - valid_laamp_basic_trigger = { - EMPLOYER = scope:employer - LAAMP = root - } - scope:employer = { is_landed = yes } - } - valid_to_continue = { - # Standard triggers. - valid_laamp_basic_trigger = { - EMPLOYER = root.task_contract_employer - LAAMP = root.task_contract_taker - } - task_contract_employer = { is_landed = yes } - # Specific flavour triggers. - ## Effects require a capital county. - exists = root.task_contract_employer.capital_county - ## Make sure that if we've got our recidivist, then they've not died at any time other than when they're _specifically_ allowed to. - OR = { - NOT = { has_variable = recidivist } - var:recidivist ?= { - OR = { - is_alive = yes - root = { has_variable = duel_engaged } - } - is_imprisoned = no - } - } - } - valid_to_keep = { - # Standard triggers. - valid_laamp_basic_trigger = { - EMPLOYER = root.task_contract_employer - LAAMP = root.task_contract_taker - } - task_contract_employer = { is_landed = yes } - } - - # On_actions - on_accepted = { - task_contract_taker = { play_sound_effect = "event:/DLC/EP3/SFX/UI/Contracts/ep3_ui_contracts_accept_contract" } - # For the intro event. - save_scope_as = task_contract - task_contract_employer = { save_scope_as = employer } - # Then we start the travel. - task_contract_taker ?= { trigger_event = laamp_base_contract_schemes.1004 } - # Track our score/encounters. - increment_variable_effect = { - VAR = encounters_tally - VAL = 0 - } - # & numbers of chars checked for loc. - increment_variable_effect = { - VAR = wins_tally - VAL = 0 - } - } - on_create = { - 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_taker.task_contract_success_gold_gain_full_value - } - } - } - - # Rewards - task_contract_reward = { - success_standard = { - should_print_on_complete = yes - effect = { - task_contract_taker = { play_sound_effect = "event:/DLC/EP3/SFX/UI/Contracts/ep3_ui_contracts_success_on_contract" } - - save_scope_as = task_contract - save_scope_value_as = { name = extra_reward value = flag:no } - # Standard Rewards. - 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 = { task_successful_noncrim_contract_count_effect = yes } - # Update Knight-Errant score. - task_contract_taker = { - laamp_rewards_apply_knight_errant_xp_effect = { - XP_MAX = knight_errant_xp_major_gain - XP_MIN = knight_errant_xp_major_gain - } - task_contract_justicar_contract_tracker_effect = yes - } - } - } - failure_standard = { - positive = no - should_print_on_complete = yes - effect = { - 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 - } - } - } - failure_recruitment = { - positive = no - visible = no - should_print_on_complete = yes - effect = { - 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 = 0 - 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 - } - # Update gallowsbait score. - task_contract_taker = { - laamp_rewards_apply_criminal_xp_effect = { - TRACK = bandit - XP_MAX = gallowsbait_xp_medium_gain - XP_MIN = gallowsbait_xp_medium_gain - } - } - } - } - } -} - -# Act as hired muscle -laamp_base_1011 = { - group = laamp_contracts_hireling_group - icon = "gfx/interface/icons/scheme_types/war.dds" - - travel = yes - use_diplomatic_range = no - - weight = { - # Standard weights. - value = task_contract_weight_default_value - add = laamp_contracts_weight_up_martial_value - add = laamp_contracts_weight_up_martial_slight_value - # Employer weights. - scope:employer = { - add = { - # Weight up. - ## Traits that want to be effective but subtle. - if = { - limit = { has_trait = deceitful } - add = task_contract_weight_bonus_employer_has_associated_traits_value - } - if = { - limit = { has_trait = patient } - add = task_contract_weight_bonus_employer_has_associated_traits_value - } - if = { - limit = { has_trait = arbitrary } - add = task_contract_weight_bonus_employer_has_associated_traits_value - } - # Weight down. - ## Traits that feel this type of manipulation is beneath them - if = { - limit = { has_trait = impatient } - add = task_contract_weight_malus_employer_has_associated_traits_value - } - if = { - limit = { has_trait = just } - add = task_contract_weight_malus_employer_has_associated_traits_value - } - ## Plus just some where the narrative would feel weird. - if = { - limit = { has_trait = callous } - add = task_contract_weight_malus_employer_has_associated_traits_value - } - if = { - limit = { has_trait = sadistic } - add = task_contract_weight_malus_employer_has_associated_traits_value - } - # Restrictions. - min = task_contract_weight_employer_associated_traits_min_value - max = task_contract_weight_employer_associated_traits_max_value - } - multiply = task_contract_weight_by_tier_value - # This weight is an override, so make sure it's placed at the bottom. - add = task_contract_weight_employer_contact_list_value - } - } - - # Validity Triggers - 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 - rule_out_dramatic_laamp_employers_trigger = yes - # Specific flavour triggers. - ## Won't resort to this. - laamp_task_contract_employer_would_resort_to_violence_trigger = yes - laamp_task_contract_employer_would_resort_to_deceit_trigger = yes - } - valid_to_accept = { - # Standard triggers. - valid_laamp_basic_accept_only_trigger = yes - valid_laamp_basic_trigger = { - EMPLOYER = scope:employer - LAAMP = root - } - scope:employer = { is_landed = yes } - } - valid_to_continue = { - # Standard triggers. - valid_laamp_basic_trigger = { - EMPLOYER = root.task_contract_employer - LAAMP = root.task_contract_taker - } - task_contract_employer = { is_landed = yes } - } - valid_to_keep = { - # Standard triggers. - valid_laamp_basic_trigger = { - EMPLOYER = root.task_contract_employer - LAAMP = root.task_contract_taker - } - task_contract_employer = { is_landed = yes } - } - - # On_actions - on_accepted = { - task_contract_taker = { play_sound_effect = "event:/DLC/EP3/SFX/UI/Contracts/ep3_ui_contracts_accept_contract" } - # For the intro event. - save_scope_as = task_contract - # Then we start the scheme. - task_contract_taker ?= { - start_scheme = { - type = laamp_base_1011_contract_scheme - contract = root - target_character = root.task_contract_employer - } - # Make a note of what the scheme even is; we'll need this for the event too. - scope:task_contract.scheme = { save_scope_as = scheme } - trigger_event = laamp_base_contract_schemes.1011 - } - } - on_create = { - 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_taker.task_contract_success_gold_gain_full_value - } - # Make sure critical values are a bit higher. - save_scope_value_as = { name = gold_safety_margin value = flag:yes } - set_variable = { - name = gold_success_critical - value = var:gold_success_standard - } - } - } - - # Rewards - task_contract_reward = { - success_standard = { - should_print_on_complete = yes - effect = { - task_contract_taker = { play_sound_effect = "event:/DLC/EP3/SFX/UI/Contracts/ep3_ui_contracts_success_on_contract" } - save_scope_as = task_contract - save_scope_value_as = { name = extra_reward value = flag:no } - # Standard Rewards. - laamp_rewards_disburse_ordinary_currency_effect = { - GOLD = scope:task_contract.var:gold_success_standard - PRESTIGE = 0 - 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 = { task_successful_noncrim_contract_count_effect = yes } - # Update Knight-Errant score. - task_contract_taker = { - laamp_rewards_apply_knight_errant_xp_effect = { - XP_MAX = knight_errant_xp_medium_gain - XP_MIN = knight_errant_xp_medium_gain - } - task_contract_justicar_contract_tracker_effect = yes - } - } - } - success_critical = { - should_print_on_complete = yes - effect = { - task_contract_taker = { play_sound_effect = "event:/DLC/EP3/SFX/UI/Contracts/ep3_ui_contracts_success_on_contract" } - save_scope_as = task_contract - save_scope_value_as = { name = extra_reward value = flag:no } - # Critical Rewards. - laamp_rewards_disburse_ordinary_currency_effect = { - GOLD = scope:task_contract.var:gold_success_critical - PRESTIGE = task_contract_success_prestige_gain_half_value - PIETY = 0 - PROVISIONS = task_contract_success_provisions_gain_medium_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 - } - task_contract_taker = { task_successful_noncrim_contract_count_effect = yes } - # Update Knight-Errant score. - task_contract_taker = { - laamp_rewards_apply_knight_errant_xp_effect = { - XP_MAX = knight_errant_xp_major_gain - XP_MIN = knight_errant_xp_major_gain - } - task_contract_justicar_contract_tracker_effect = yes - } - } - } - failure_standard = { - positive = no - should_print_on_complete = yes - effect = { - 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 - } - } - } - } -} - -# Ambush travellers -laamp_base_1041 = { - group = laamp_contracts_criminal_group - icon = "gfx/interface/icons/scheme_types/war.dds" - - is_criminal = yes - use_diplomatic_range = no - - weight = { - # Standard weights. - value = task_contract_weight_default_value - add = laamp_contracts_weight_up_martial_value - add = laamp_contracts_weight_up_martial_slight_value - add = laamp_contracts_weight_up_criminal_value - # Employer weights. - scope:employer = { - add = { - # Weight up. - ## Traits that don't mind telegraphing weakness. - if = { - limit = { has_trait = trusting } - add = task_contract_weight_bonus_employer_has_associated_traits_value - } - if = { - limit = { has_trait = honest } - add = task_contract_weight_bonus_employer_has_associated_traits_value - } - # Weight down. - ## Traits that wouldn't just admit something was wrong. - if = { - limit = { has_trait = deceitful } - add = task_contract_weight_malus_employer_has_associated_traits_value - } - if = { - limit = { has_trait = arrogant } - add = task_contract_weight_malus_employer_has_associated_traits_value - } - # Restrictions. - min = task_contract_weight_employer_associated_traits_min_value - max = task_contract_weight_employer_associated_traits_max_value - } - multiply = task_contract_weight_by_tier_value - } - } - - # Validity Triggers - valid_to_create = { - # Standard triggers. - valid_laamp_basic_trigger = { - EMPLOYER = scope:employer - LAAMP = root - } - valid_laamp_sensible_start_trigger = yes - rule_out_dramatic_laamp_employers_trigger = yes - # Specific flavour triggers. - laamp_task_contract_employer_not_antisocial_trigger = yes - # Must be at least a count. - scope:employer.highest_held_title_tier >= tier_county - # Plus make sure we'd have a valid destination to even grab. - scope:employer.capital_county = { - # Counts travel two duchies over. - trigger_if = { - limit = { scope:employer.highest_held_title_tier = tier_county } - duchy = { - any_title_to_title_neighboring_duchy = { - any_title_to_title_neighboring_duchy = { - this != scope:employer.capital_county.duchy - } - } - } - } - # Dukes travel a kingdom over. - trigger_else_if = { - limit = { scope:employer.highest_held_title_tier = tier_duchy } - kingdom = { - any_title_to_title_neighboring_kingdom = { exists = this } - } - } - # Kings and emperors travel an empire over. - trigger_else = { - empire = { - any_title_to_title_neighboring_empire = { exists = this } - } - } - } - } - valid_to_accept = { - # Standard triggers. - valid_laamp_basic_accept_only_trigger = yes - valid_laamp_basic_trigger = { - EMPLOYER = scope:employer - LAAMP = root - } - NOT = { - house = { - has_house_modifier = legacy_adventurer_house_modifier - } - } - scope:employer = { is_landed = yes } - } - valid_to_continue = { - # Standard triggers. - valid_laamp_basic_trigger = { - EMPLOYER = root.task_contract_employer - LAAMP = root.task_contract_taker - } - root.task_contract_taker = { - NOT = { - house = { - has_house_modifier = legacy_adventurer_house_modifier - } - } - } - task_contract_employer = { is_landed = yes } - } - valid_to_keep = { - # Standard triggers. - valid_laamp_basic_trigger = { - EMPLOYER = root.task_contract_employer - LAAMP = root.task_contract_taker - } - task_contract_employer = { is_landed = yes } - } - - # On_actions - on_accepted = { - task_contract_taker = { play_sound_effect = "event:/DLC/EP3/SFX/UI/Contracts/ep3_ui_contracts_accept_contract" } - # For the intro event. - save_scope_as = task_contract - task_contract_employer = { save_scope_as = employer } - # Then we start the travel. - task_contract_taker ?= { trigger_event = laamp_base_contract_schemes.1044 } - # Plus, set up some variables for us. - ## Encounters list. - increment_variable_effect = { - VAR = encounters_tally - VAL = 0 - } - increment_variable_effect = { - VAR = encounters_max - VAL = 0 - } - ## Our actual haul. - increment_variable_effect = { - VAR = haul_actual - VAL = 0 - } - ## Path length + length:event ratio — we'll use these to determine how quickly we should get the events. - increment_variable_effect = { - VAR = path_length - VAL = 0 - } - increment_variable_effect = { - VAR = event_ratio - VAL = 0 - } - increment_variable_effect = { - VAR = event_ratio_tracker - VAL = 0 - } - } - on_create = { - scope:contract = { - set_variable = { - name = animation - value = 0 - } - } - } - - # Rewards - task_contract_reward = { - success_standard = { - should_print_on_complete = yes - effect = { - task_contract_taker = { play_sound_effect = "event:/DLC/EP3/SFX/UI/Contracts/ep3_ui_contracts_success_on_contract" } - save_scope_as = task_contract - # Camp building extra Criminal Rewards: +50%. - if = { - limit = { - task_contract_taker.domicile ?= { has_domicile_parameter = camp_improved_criminal_contract_rewards } - } - save_scope_value_as = { name = extra_reward value = flag:yes } - } - else = { - save_scope_value_as = { name = extra_reward value = flag:no } - } - if = { - limit = { - NOT = { exists = scope:suppress_gold_warning } - } - custom_tooltip = laamp_base_1041.tt.gold_rewards_depend_on_travellers - } - else = { custom_tooltip = laamp_base_1041.tt.haul_actual } - # Standard Rewards. - laamp_rewards_disburse_ordinary_currency_effect = { - GOLD = 0 - PRESTIGE = 0 - PIETY = 0 - PROVISIONS = 0 - OPINION = task_contract_opinion_crime_success_value - OPINION_TYPE = succeeded_criminal_contract_against_me_opinion - CONTACT = no - CONTACT_HOOK = no - EXTRA_REWARD = scope:extra_reward - } - # Update gallowsbait score. - task_contract_taker = { - laamp_rewards_apply_criminal_xp_effect = { - TRACK = bandit - XP_MAX = gallowsbait_xp_medium_gain - XP_MIN = gallowsbait_xp_medium_gain - } - } - } - } - failure_standard = { - positive = no - should_print_on_complete = yes - effect = { - 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_crime_value - PIETY = 0 - PROVISIONS = 0 - OPINION = task_contract_opinion_crime_failure_value - OPINION_TYPE = attempted_criminal_contract_against_me_opinion - CONTACT = no - CONTACT_HOOK = no - EXTRA_REWARD = scope:extra_reward - } - # Update gallowsbait score. - task_contract_taker = { - laamp_rewards_apply_criminal_xp_effect = { - TRACK = bandit - XP_MAX = gallowsbait_xp_minor_gain - XP_MIN = gallowsbait_xp_minor_gain - } - } - } - } - } -} - -# Go rustling -laamp_base_5031 = { - group = laamp_contracts_criminal_group - icon = "gfx/interface/icons/scheme_types/war.dds" - - is_criminal = yes - use_diplomatic_range = no - - weight = { - # Standard weights. - value = task_contract_weight_default_value - add = laamp_contracts_weight_up_prowess_value - add = laamp_contracts_weight_up_criminal_value - # Employer weights. - scope:employer = { - add = laamp_contract_would_signpost_own_prosperity_value - multiply = task_contract_weight_by_tier_value - } - } - - # Validity Triggers - valid_to_create = { - # Standard triggers. - valid_laamp_basic_trigger = { - EMPLOYER = scope:employer - LAAMP = root - } - valid_laamp_sensible_start_trigger = yes - rule_out_dramatic_laamp_employers_trigger = yes - # Specific flavour triggers. - scope:employer.sub_realm_size >= 2 - } - valid_to_accept = { - # Standard triggers. - valid_laamp_basic_accept_only_trigger = yes - valid_laamp_basic_trigger = { - EMPLOYER = scope:employer - LAAMP = root - } - NOT = { - house = { - has_house_modifier = legacy_adventurer_house_modifier - } - } - scope:employer = { is_landed = yes } - } - valid_to_continue = { - # Standard triggers. - valid_laamp_basic_trigger = { - EMPLOYER = root.task_contract_employer - LAAMP = root.task_contract_taker - } - task_contract_employer = { is_landed = yes } - # Specific flavour triggers. - root.task_contract_employer.sub_realm_size >= 2 - root.task_contract_taker = { - NOT = { - house = { - has_house_modifier = legacy_adventurer_house_modifier - } - } - } - } - valid_to_keep = { - # Standard triggers. - valid_laamp_basic_trigger = { - EMPLOYER = root.task_contract_employer - LAAMP = root.task_contract_taker - } - task_contract_employer = { is_landed = yes } - } - - # On_actions - on_accepted = { - task_contract_taker = { play_sound_effect = "event:/DLC/EP3/SFX/UI/Contracts/ep3_ui_contracts_accept_contract" } - # For the intro event. - save_scope_as = task_contract - task_contract_employer = { save_scope_as = employer } - # Then we start the travel. - task_contract_taker ?= { trigger_event = laamp_base_contract_schemes.5034 } - # Plus, set up some variables for us. - ## Progress tallies. - increment_variable_effect = { - VAR = encounter_tally - VAL = 0 - } - increment_variable_effect = { - VAR = encounter_max - VAL = 0 - } - increment_variable_effect = { - VAR = wins_tally - VAL = 0 - } - } - on_create = { - scope:contract = { - set_variable = { - name = animation - value = 0 - } - # 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_crime_value - } - set_variable = { - name = gold_success_critical - value = task_contract_taker.task_contract_success_gold_gain_critical_crime_value - } - } - } - - # Rewards - task_contract_reward = { - success_critical = { - should_print_on_complete = yes - effect = { - task_contract_taker = { play_sound_effect = "event:/DLC/EP3/SFX/UI/Contracts/ep3_ui_contracts_success_on_contract" } - save_scope_as = task_contract - # Camp building extra Criminal Rewards: +50%. - if = { - limit = { - task_contract_taker.domicile ?= { has_domicile_parameter = camp_improved_criminal_contract_rewards } - } - save_scope_value_as = { name = extra_reward value = flag:yes } - } - # Critical Reward. - else = { - save_scope_value_as = { name = extra_reward value = flag:no } - } - laamp_rewards_disburse_ordinary_currency_effect = { - GOLD = scope:task_contract.var:gold_success_critical - PRESTIGE = 0 - PIETY = 0 - PROVISIONS = task_contract_success_provisions_gain_major_value - OPINION = task_contract_opinion_crime_success_value - OPINION_TYPE = succeeded_criminal_contract_against_me_opinion - CONTACT = no - CONTACT_HOOK = no - EXTRA_REWARD = scope:extra_reward - } - # Update gallowsbait score. - task_contract_taker = { - laamp_rewards_apply_criminal_xp_effect = { - TRACK = poacher - XP_MAX = gallowsbait_xp_major_gain - XP_MIN = gallowsbait_xp_major_gain - } - } - } - } - success_standard = { - should_print_on_complete = yes - effect = { - task_contract_taker = { play_sound_effect = "event:/DLC/EP3/SFX/UI/Contracts/ep3_ui_contracts_success_on_contract" } - save_scope_as = task_contract - # Camp building extra Criminal Rewards: +50%. - if = { - limit = { - task_contract_taker.domicile ?= { has_domicile_parameter = camp_improved_criminal_contract_rewards } - } - save_scope_value_as = { name = extra_reward value = flag:yes } - } - else = { - save_scope_value_as = { name = extra_reward value = flag:no } - } - # Standard Rewards. - laamp_rewards_disburse_ordinary_currency_effect = { - GOLD = scope:task_contract.var:gold_success_standard - PRESTIGE = 0 - PIETY = 0 - PROVISIONS = task_contract_success_provisions_gain_medium_value - OPINION = task_contract_opinion_crime_success_value - OPINION_TYPE = succeeded_criminal_contract_against_me_opinion - CONTACT = no - CONTACT_HOOK = no - EXTRA_REWARD = scope:extra_reward - } - # Update gallowsbait score. - task_contract_taker = { - laamp_rewards_apply_criminal_xp_effect = { - TRACK = poacher - XP_MIN = gallowsbait_xp_medium_gain - XP_MAX = gallowsbait_xp_medium_gain - } - } - } - } - failure_standard = { - positive = no - should_print_on_complete = yes - effect = { - 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_crime_value - PIETY = 0 - PROVISIONS = task_contract_failure_provisions_gain_minor_value - OPINION = task_contract_opinion_crime_failure_value - OPINION_TYPE = attempted_criminal_contract_against_me_opinion - CONTACT = no - CONTACT_HOOK = no - EXTRA_REWARD = scope:extra_reward - } - # Update gallowsbait score. - task_contract_taker = { - laamp_rewards_apply_criminal_xp_effect = { - TRACK = poacher - XP_MIN = gallowsbait_xp_minor_gain - XP_MAX = gallowsbait_xp_minor_gain - } - } - } - } - } -} - -# Mug people. -laamp_base_5051 = { - group = laamp_contracts_criminal_group - icon = "gfx/interface/icons/scheme_types/war.dds" - - travel = yes - is_criminal = yes - use_diplomatic_range = no - - weight = { - # Standard weights. - value = task_contract_weight_default_value - add = laamp_contracts_weight_up_prowess_value - add = laamp_contracts_weight_up_criminal_value - # Employer weights. - scope:employer = { multiply = task_contract_weight_by_tier_value } - } - - # Validity Triggers - valid_to_create = { - # Standard triggers. - valid_laamp_basic_trigger = { - EMPLOYER = scope:employer - LAAMP = root - } - valid_laamp_sensible_start_trigger = yes - scope:employer.highest_held_title_tier >= tier_county - NOT = { scope:employer = { government_has_flag = government_is_herder } } - } - valid_to_accept = { - # Standard triggers. - valid_laamp_basic_accept_only_trigger = yes - valid_laamp_basic_trigger = { - EMPLOYER = scope:employer - LAAMP = root - } - NOT = { - house = { - has_house_modifier = legacy_adventurer_house_modifier - } - } - scope:employer = { is_landed = yes } - NOT = { scope:employer = { government_has_flag = government_is_herder } } - } - valid_to_continue = { - # Standard triggers. - valid_laamp_basic_trigger = { - EMPLOYER = root.task_contract_employer - LAAMP = root.task_contract_taker - } - root.task_contract_taker = { - NOT = { - house = { - has_house_modifier = legacy_adventurer_house_modifier - } - } - } - task_contract_employer = { - is_landed = yes - NOT = { government_has_flag = government_is_herder } - } - } - valid_to_keep = { - # Standard triggers. - valid_laamp_basic_trigger = { - EMPLOYER = root.task_contract_employer - LAAMP = root.task_contract_taker - } - task_contract_employer = { - is_landed = yes - NOT = { government_has_flag = government_is_herder } - } - } - - # On_actions - on_accepted = { - task_contract_taker = { play_sound_effect = "event:/DLC/EP3/SFX/UI/Contracts/ep3_ui_contracts_accept_contract" } - # For the intro event. - save_scope_as = task_contract - # Then we start the scheme. - task_contract_taker ?= { - start_scheme = { - type = laamp_base_5051_contract_scheme - contract = root - target_character = scope:task_contract.task_contract_employer - } - # Make a note of what the scheme even is; we'll need this for the event too. - scope:task_contract.scheme = { save_scope_as = scheme } - trigger_event = laamp_base_contract_schemes.5051 - } - } - on_create = { - 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_taker.task_contract_success_gold_gain_crime_value - } - } - } - - # Rewards - task_contract_reward = { - success_standard = { - should_print_on_complete = yes - effect = { - task_contract_taker = { play_sound_effect = "event:/DLC/EP3/SFX/UI/Contracts/ep3_ui_contracts_success_on_contract" } - save_scope_as = task_contract - save_scope_value_as = { name = extra_reward value = flag:no } - # Standard Rewards. - laamp_rewards_disburse_ordinary_currency_effect = { - GOLD = scope:task_contract.var:gold_success_standard - PRESTIGE = 0 - PIETY = 0 - PROVISIONS = task_contract_success_provisions_gain_minor_value - OPINION = task_contract_opinion_crime_success_value - OPINION_TYPE = succeeded_criminal_contract_against_me_opinion - CONTACT = no - CONTACT_HOOK = no - EXTRA_REWARD = scope:extra_reward - } - # Update gallowsbait score. - task_contract_taker = { - laamp_rewards_apply_criminal_xp_effect = { - TRACK = marauder - XP_MAX = gallowsbait_xp_medium_gain - XP_MIN = gallowsbait_xp_medium_gain - } - bandit_king_maa_spawn_effect = yes - } - } - } - failure_standard = { - positive = no - should_print_on_complete = yes - effect = { - 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_crime_value - PIETY = 0 - PROVISIONS = task_contract_failure_provisions_gain_minor_value - OPINION = task_contract_opinion_crime_failure_value - OPINION_TYPE = attempted_criminal_contract_against_me_opinion - CONTACT = no - CONTACT_HOOK = no - EXTRA_REWARD = scope:extra_reward - } - # Update gallowsbait score. - task_contract_taker = { - laamp_rewards_apply_criminal_xp_effect = { - TRACK = marauder - XP_MAX = gallowsbait_xp_minor_gain - XP_MIN = gallowsbait_xp_minor_gain - } - bandit_king_maa_spawn_effect = yes - } - } - } - } -} - - - - - - - - - - - - -################################################## -# STEWARDSHIP CONTRACTS - -# Collect taxes for a third party -laamp_base_2001 = { - group = laamp_contracts_hireling_group - icon = "gfx/interface/icons/scheme_types/stewardship.dds" - - travel = no - use_diplomatic_range = no - - weight = { - # Standard weights. - value = task_contract_weight_default_value - add = laamp_contracts_weight_up_stewardship_value - # Employer weights. - scope:employer = { - add = { - # Weight up. - ## Traits that want their money and think you can get it. - if = { - limit = { has_trait = greedy } - add = task_contract_weight_bonus_employer_has_associated_traits_value - } - if = { - limit = { has_trait = trusting } - add = task_contract_weight_bonus_employer_has_associated_traits_value - } - if = { - limit = { has_trait = impatient } - add = task_contract_weight_bonus_employer_has_associated_traits_value - } - if = { - limit = { has_trait = callous } - add = task_contract_weight_bonus_employer_has_associated_traits_value - } - if = { - limit = { has_trait = lazy } - add = task_contract_weight_bonus_employer_has_associated_traits_value - } - # Weight down. - ## Traits that either can wait or won't trust you. - if = { - limit = { has_trait = paranoid } - add = task_contract_weight_malus_employer_has_associated_traits_value - } - if = { - limit = { has_trait = impatient } - add = task_contract_weight_malus_employer_has_associated_traits_value - } - if = { - limit = { has_trait = diligent } - add = task_contract_weight_malus_employer_has_associated_traits_value - } - # Restrictions. - min = task_contract_weight_employer_associated_traits_min_value - max = task_contract_weight_employer_associated_traits_max_value - } - multiply = task_contract_weight_by_tier_value - # This weight is an override, so make sure it's placed at the bottom. - add = task_contract_weight_employer_contact_list_value - } - } - - # Validity Triggers - 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 - rule_out_dramatic_laamp_employers_trigger = yes - NOT = { - scope:employer = { government_has_flag = government_is_tribal } - } - # Specific flavour triggers. - laamp_task_contract_employer_would_chase_money_trigger = yes - # And we must have at least one mayor to act as the locus. - scope:employer = { - any_vassal = { laamp_base_2001_valid_mayor_trigger = yes } - } - } - valid_to_accept = { - # Standard triggers. - valid_laamp_basic_accept_only_trigger = yes - valid_laamp_basic_trigger = { - EMPLOYER = scope:employer - LAAMP = root - } - scope:employer = { is_landed = yes } - } - valid_to_continue = { - # Standard triggers. - valid_laamp_basic_trigger = { - EMPLOYER = root.task_contract_employer - LAAMP = root.task_contract_taker - } - task_contract_employer = { is_landed = yes } - # Make sure our baron hasn't died. - var:person_a = { is_alive = yes } - # And that, in MP, our secondaries haven't died either. - OR = { - NOT = { has_variable = person_b } - var:person_b = { is_alive = yes } - } - OR = { - NOT = { has_variable = person_c } - var:person_b = { is_alive = yes } - } - OR = { - NOT = { has_variable = person_d } - var:person_b = { is_alive = yes } - } - } - valid_to_keep = { - # Standard triggers. - valid_laamp_basic_trigger = { - EMPLOYER = root.task_contract_employer - LAAMP = root.task_contract_taker - } - task_contract_employer = { is_landed = yes } - } - - # On_actions - on_accepted = { - task_contract_taker = { play_sound_effect = "event:/DLC/EP3/SFX/UI/Contracts/ep3_ui_contracts_accept_contract" } - # For the intro event. - save_scope_as = task_contract - task_contract_employer = { save_scope_as = employer } - # Grab our best possible baron. - scope:employer = { - ordered_vassal = { - limit = { laamp_base_2001_valid_mayor_trigger = yes } - order_by = { - value = ai_greed - add = { - value = ai_honor - multiply = -0.5 - } - # Weight down the capital if we can, as it feels weird to not go a city over. - if = { - limit = { primary_title.county.holder = scope:employer } - add = -1000 - } - } - save_scope_as = person_a - } - } - # Track this as a variable so that we can invalidate if they die. - set_variable = { - name = person_a - value = scope:person_a - } - # Plus our score. - increment_variable_effect = { - VAR = clues_gathered - VAL = 0 - } - # & numbers of chars checked for loc. - increment_variable_effect = { - VAR = chars_checked - VAL = 0 - } - # Then we start the travel. - task_contract_taker ?= { trigger_event = laamp_base_contract_schemes.2004 } - } - on_create = { - 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_taker.task_contract_success_gold_gain_half_value - } - set_variable = { - name = gold_success_qualified_reduced_tax - value = task_contract_taker.task_contract_success_gold_gain_third_value - } - set_variable = { - name = gold_success_qualified_insufficient_evidence - value = task_contract_taker.task_contract_success_gold_gain_half_value - } - set_variable = { - name = gold_success_qualified_beaten_down - value = task_contract_taker.task_contract_success_gold_gain_third_value - } - # Make sure critical values are a bit higher. - save_scope_value_as = { name = gold_safety_margin value = flag:yes } - set_variable = { - name = gold_success_critical - value = task_contract_taker.task_contract_success_gold_gain_full_value - } - } - } - - # Rewards - task_contract_reward = { - success_standard = { - effect = { - task_contract_taker = { play_sound_effect = "event:/DLC/EP3/SFX/UI/Contracts/ep3_ui_contracts_success_on_contract" } - save_scope_as = task_contract - # Camp building extra Stewardship Rewards: +50%. - if = { - limit = { - task_contract_taker.domicile ?= { has_domicile_parameter = camp_improved_stewardship_contract_rewards } - } - save_scope_value_as = { name = extra_reward value = flag:yes } - } - # Standard Reward. - else = { - save_scope_value_as = { name = extra_reward value = flag:no } - } - laamp_rewards_disburse_ordinary_currency_effect = { - GOLD = scope:task_contract.var:gold_success_standard - PRESTIGE = 0 - PIETY = 0 - PROVISIONS = task_contract_success_provisions_gain_major_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 = { task_successful_noncrim_contract_count_effect = yes } - } - } - success_critical = { - effect = { - task_contract_taker = { play_sound_effect = "event:/DLC/EP3/SFX/UI/Contracts/ep3_ui_contracts_success_on_contract" } - save_scope_as = task_contract - # Camp building extra Stewardship Rewards: +50%. - if = { - limit = { - task_contract_taker.domicile ?= { has_domicile_parameter = camp_improved_stewardship_contract_rewards } - } - save_scope_value_as = { name = extra_reward value = flag:yes } - } - # Critical Reward. - else = { - save_scope_value_as = { name = extra_reward value = flag:no } - } - laamp_rewards_disburse_ordinary_currency_effect = { - GOLD = scope:task_contract.var:gold_success_critical - PRESTIGE = task_contract_success_prestige_gain_half_value - PIETY = 0 - PROVISIONS = task_contract_success_provisions_gain_massive_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 - } - task_contract_taker = { task_successful_noncrim_contract_count_effect = yes } - } - } - success_qualified_reduced_tax = { - 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 - # Camp building extra Stewardship Rewards: +50%. - if = { - limit = { - task_contract_taker.domicile ?= { has_domicile_parameter = camp_improved_stewardship_contract_rewards } - } - save_scope_value_as = { name = extra_reward value = flag:yes } - } - # Standard Reward. - else = { - save_scope_value_as = { name = extra_reward value = flag:no } - } - laamp_rewards_disburse_ordinary_currency_effect = { - GOLD = scope:task_contract.var:gold_success_qualified_reduced_tax - PRESTIGE = task_contract_success_prestige_gain_full_value - PIETY = 0 - PROVISIONS = task_contract_success_provisions_gain_major_value - OPINION = task_contract_opinion_reduced_reward_value - OPINION_TYPE = succeeded_task_contract_opinion - CONTACT = no - CONTACT_HOOK = no - EXTRA_REWARD = scope:extra_reward - } - } - } - success_qualified_insufficient_evidence = { - 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 - # Camp building extra Stewardship Rewards: +50%. - if = { - limit = { - task_contract_taker.domicile ?= { has_domicile_parameter = camp_improved_stewardship_contract_rewards } - } - save_scope_value_as = { name = extra_reward value = flag:yes } - } - # Standard Reward. - else = { - save_scope_value_as = { name = extra_reward value = flag:no } - } - laamp_rewards_disburse_ordinary_currency_effect = { - GOLD = scope:task_contract.var:gold_success_qualified_insufficient_evidence - PRESTIGE = -200 - PIETY = 0 - PROVISIONS = task_contract_success_provisions_gain_medium_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 = { task_successful_noncrim_contract_count_effect = yes } - } - } - success_qualified_beaten_down = { - 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 - # Camp building extra Stewardship Rewards: +50%. - if = { - limit = { - task_contract_taker.domicile ?= { has_domicile_parameter = camp_improved_stewardship_contract_rewards } - } - save_scope_value_as = { name = extra_reward value = flag:yes } - } - # Standard Reward. - else = { - save_scope_value_as = { name = extra_reward value = flag:no } - } - laamp_rewards_disburse_ordinary_currency_effect = { - GOLD = scope:task_contract.var:gold_success_qualified_beaten_down - PRESTIGE = -200 - PIETY = 0 - PROVISIONS = task_contract_success_provisions_gain_medium_value - OPINION = task_contract_opinion_reduced_reward_value - OPINION_TYPE = succeeded_task_contract_opinion - CONTACT = yes - CONTACT_HOOK = no - EXTRA_REWARD = scope:extra_reward - } - task_contract_taker = { task_successful_noncrim_contract_count_effect = yes } - } - } - failure_standard = { - positive = no - effect = { - 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 - } - } - } - failure_critical = { - positive = no - effect = { - 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 = -300 - 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 - } - # Update gallowsbait score. - task_contract_taker = { - laamp_rewards_apply_criminal_xp_effect = { - TRACK = marauder - XP_MAX = gallowsbait_xp_major_gain - XP_MIN = gallowsbait_xp_major_gain - } - } - } - } - failure_took_wrong_side = { - visible = no - positive = no - effect = { - 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:yes } - # Standard Penalties. - laamp_rewards_disburse_ordinary_currency_effect = { - GOLD = 0 - PRESTIGE = task_contract_success_prestige_gain_critical_value - PIETY = 0 - PROVISIONS = task_contract_success_provisions_gain_major_value - OPINION = task_contract_opinion_standard_failure_value - OPINION_TYPE = failed_task_contract_opinion - CONTACT = no - CONTACT_HOOK = no - EXTRA_REWARD = scope:extra_reward - } - } - } - } -} - -# Perform a census -laamp_base_2011 = { - group = laamp_contracts_stewardship_group - icon = "gfx/interface/icons/scheme_types/stewardship.dds" - - travel = no - use_diplomatic_range = no - - weight = { - # Standard weights. - value = task_contract_weight_default_value - add = laamp_contracts_weight_up_stewardship_value - # Employer weights. - scope:employer = { - add = { - # Weight up. - ## Traits that care especially for rules and documentation. - ### A.k.a: the good kind of designer. - if = { - limit = { has_trait = diligent } - add = task_contract_weight_bonus_employer_has_associated_traits_value - } - if = { - limit = { has_trait = just } - add = task_contract_weight_bonus_employer_has_associated_traits_value - } - if = { - limit = { has_trait = greedy } - add = task_contract_weight_bonus_employer_has_associated_traits_value - } - # Weight down. - ## Traits that don't much care for paperwork, preferring vibes. - ### A.k.a: the bad kind of designer. - if = { - limit = { has_trait = lazy } - add = task_contract_weight_malus_employer_has_associated_traits_value - } - if = { - limit = { has_trait = arbitrary } - add = task_contract_weight_malus_employer_has_associated_traits_value - } - # Restrictions. - min = task_contract_weight_employer_associated_traits_min_value - max = task_contract_weight_employer_associated_traits_max_value - } - multiply = task_contract_weight_by_tier_value - # This weight is an override, so make sure it's placed at the bottom. - add = task_contract_weight_employer_contact_list_value - } - } - - # Validity Triggers - 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 - NOT = { - scope:employer = { government_has_flag = government_is_tribal } - } - scope:employer = { - domain_size >= 2 - } - # Specific flavour triggers. - scope:employer.laamp_base_2011_actual_surveyable_holdings_per_tier_value >= scope:employer.laamp_base_2011_desired_surveyable_holdings_per_tier_value - ## A census isn't necessarily about money but given the expense involved... yeah most of the time it is. - laamp_task_contract_employer_would_chase_money_trigger = yes - } - valid_to_accept = { - # Standard triggers. - valid_laamp_basic_accept_only_trigger = yes - valid_laamp_basic_trigger = { - EMPLOYER = scope:employer - LAAMP = root - } - scope:employer = { is_landed = yes } - } - valid_to_continue = { - # Standard triggers. - valid_laamp_basic_trigger = { - EMPLOYER = root.task_contract_employer - LAAMP = root.task_contract_taker - } - task_contract_employer = { is_landed = yes } - } - valid_to_keep = { - # Standard triggers. - valid_laamp_basic_trigger = { - EMPLOYER = root.task_contract_employer - LAAMP = root.task_contract_taker - } - task_contract_employer = { is_landed = yes } - } - - # On_actions - on_accepted = { - task_contract_taker = { play_sound_effect = "event:/DLC/EP3/SFX/UI/Contracts/ep3_ui_contracts_accept_contract" } - # For the intro event. - save_scope_as = task_contract - task_contract_employer = { save_scope_as = employer } - # Then we start the travel. - task_contract_taker ?= { trigger_event = laamp_base_contract_schemes.2014 } - # Track our score. - increment_variable_effect = { - VAR = destinations_processed - VAL = 0 - } - # Plus our methods. - increment_variable_effect = { - VAR = destinations_processed_legit_success - VAL = 0 - } - increment_variable_effect = { - VAR = destinations_processed_quartermaster_success - VAL = 0 - } - increment_variable_effect = { - VAR = destinations_processed_lied_success - VAL = 0 - } - increment_variable_effect = { - VAR = destinations_processed_guessed_success - VAL = 0 - } - increment_variable_effect = { - VAR = destinations_processed_legit_failure - VAL = 0 - } - increment_variable_effect = { - VAR = destinations_processed_quartermaster_failure - VAL = 0 - } - increment_variable_effect = { - VAR = destinations_processed_lied_failure - VAL = 0 - } - increment_variable_effect = { - VAR = destinations_processed_guessed_failure - VAL = 0 - } - } - on_create = { - 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_taker.task_contract_success_gold_gain_full_value - } - # Make sure critical values are a bit higher. - save_scope_value_as = { name = gold_safety_margin value = flag:yes } - set_variable = { - name = gold_success_critical - value = task_contract_taker.task_contract_success_gold_gain_full_value - } - } - } - - # Rewards - task_contract_reward = { - success_standard = { - should_print_on_complete = yes - effect = { - task_contract_taker = { play_sound_effect = "event:/DLC/EP3/SFX/UI/Contracts/ep3_ui_contracts_success_on_contract" } - save_scope_as = task_contract - # Camp building extra Stewardship Rewards: +50%. - if = { - limit = { - task_contract_taker.domicile ?= { has_domicile_parameter = camp_improved_stewardship_contract_rewards } - } - save_scope_value_as = { name = extra_reward value = flag:yes } - } - # Standard Reward. - else = { - save_scope_value_as = { name = extra_reward value = flag:no } - } - laamp_rewards_disburse_ordinary_currency_effect = { - GOLD = scope:task_contract.var:gold_success_standard - PRESTIGE = 0 - 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 = { task_successful_noncrim_contract_count_effect = yes } - } - } - success_critical = { - should_print_on_complete = yes - effect = { - task_contract_taker = { play_sound_effect = "event:/DLC/EP3/SFX/UI/Contracts/ep3_ui_contracts_success_on_contract" } - save_scope_as = task_contract - # Camp building extra Stewardship Rewards: +50%. - if = { - limit = { - task_contract_taker.domicile ?= { has_domicile_parameter = camp_improved_stewardship_contract_rewards } - } - save_scope_value_as = { name = extra_reward value = flag:yes } - } - # Critical Reward. - else = { - save_scope_value_as = { name = extra_reward value = flag:no } - } - laamp_rewards_disburse_ordinary_currency_effect = { - GOLD = scope:task_contract.var:gold_success_critical - PRESTIGE = task_contract_success_prestige_gain_half_value - PIETY = 0 - PROVISIONS = task_contract_success_provisions_gain_medium_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 - } - task_contract_taker = { task_successful_noncrim_contract_count_effect = yes } - } - } - failure_standard = { - positive = no - should_print_on_complete = yes - effect = { - 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 - } - } - } - failure_critical = { - positive = no - effect = { - 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 = -300 - 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 - } - # Update gallowsbait score. - task_contract_taker = { - laamp_rewards_apply_criminal_xp_effect = { - TRACK = marauder - XP_MAX = gallowsbait_xp_major_gain - XP_MIN = gallowsbait_xp_major_gain - } - } - } - } - } -} - -# Help construct a building -laamp_base_2021 = { - group = laamp_contracts_stewardship_group - icon = "gfx/interface/icons/scheme_types/stewardship.dds" - - travel = yes - use_diplomatic_range = no - - weight = { - # Standard weights. - value = task_contract_weight_default_value - add = laamp_contracts_weight_up_stewardship_value - # Employer weights. - scope:employer = { - add = { - # Weight up. - ## Traits that want fresh buildings but aren't great at organising such. - if = { - limit = { has_trait = greedy } - add = task_contract_weight_bonus_employer_has_associated_traits_value - } - if = { - limit = { has_trait = fickle } - add = task_contract_weight_bonus_employer_has_associated_traits_value - } - if = { - limit = { has_trait = lazy } - add = task_contract_weight_bonus_employer_has_associated_traits_value - } - # Weight down. - ## Traits that do well at construction. - if = { - limit = { has_trait = generous } - add = task_contract_weight_malus_employer_has_associated_traits_value - } - if = { - limit = { has_trait = stubborn } - add = task_contract_weight_malus_employer_has_associated_traits_value - } - if = { - limit = { has_trait = diligent } - add = task_contract_weight_malus_employer_has_associated_traits_value - } - # Restrictions. - min = task_contract_weight_employer_associated_traits_min_value - max = task_contract_weight_employer_associated_traits_max_value - } - multiply = task_contract_weight_by_tier_value - # This weight is an override, so make sure it's placed at the bottom. - add = task_contract_weight_employer_contact_list_value - } - } - - # Validity Triggers - 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 - rule_out_dramatic_laamp_employers_trigger = yes - NOT = { - scope:employer = { government_has_flag = government_is_tribal } - } - # Specific flavour triggers. - scope:employer = { - NOR = { - has_trait = architect - stewardship >= high_skill_rating - } - } - } - valid_to_accept = { - # Standard triggers. - valid_laamp_basic_accept_only_trigger = yes - valid_laamp_basic_trigger = { - EMPLOYER = scope:employer - LAAMP = root - } - scope:employer = { is_landed = yes } - } - valid_to_continue = { - # Standard triggers. - valid_laamp_basic_trigger = { - EMPLOYER = root.task_contract_employer - LAAMP = root.task_contract_taker - } - task_contract_employer = { is_landed = yes } - } - valid_to_keep = { - # Standard triggers. - valid_laamp_basic_trigger = { - EMPLOYER = root.task_contract_employer - LAAMP = root.task_contract_taker - } - task_contract_employer = { is_landed = yes } - } - - # On_actions - on_accepted = { - task_contract_taker = { play_sound_effect = "event:/DLC/EP3/SFX/UI/Contracts/ep3_ui_contracts_accept_contract" } - # For the intro event. - save_scope_as = task_contract - # Then we start the scheme. - task_contract_taker ?= { - start_scheme = { - type = laamp_base_2021_contract_scheme - contract = root - target_character = root.task_contract_employer - } - # Make a note of what the scheme even is; we'll need this for the event too. - scope:task_contract.scheme = { save_scope_as = scheme } - trigger_event = laamp_base_contract_schemes.2021 - } - } - on_create = { - 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_taker.task_contract_success_gold_gain_full_value - } - # Make sure critical values are a bit higher. - save_scope_value_as = { name = gold_safety_margin value = flag:yes } - set_variable = { - name = gold_success_critical - value = task_contract_taker.task_contract_success_gold_gain_full_value - } - } - } - - # Rewards - task_contract_reward = { - success_standard = { - should_print_on_complete = yes - effect = { - task_contract_taker = { play_sound_effect = "event:/DLC/EP3/SFX/UI/Contracts/ep3_ui_contracts_success_on_contract" } - save_scope_as = task_contract - # Camp building extra Stewardship Rewards: +50%. - if = { - limit = { - task_contract_taker.domicile ?= { has_domicile_parameter = camp_improved_stewardship_contract_rewards } - } - save_scope_value_as = { name = extra_reward value = flag:yes } - } - # Standard Reward. - else = { - save_scope_value_as = { name = extra_reward value = flag:no } - } - 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_medium_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 = { task_successful_noncrim_contract_count_effect = yes } - } - } - success_critical = { - should_print_on_complete = yes - effect = { - task_contract_taker = { play_sound_effect = "event:/DLC/EP3/SFX/UI/Contracts/ep3_ui_contracts_success_on_contract" } - save_scope_as = task_contract - # Camp building extra Stewardship Rewards: +50%. - if = { - limit = { - task_contract_taker.domicile ?= { has_domicile_parameter = camp_improved_stewardship_contract_rewards } - } - save_scope_value_as = { name = extra_reward value = flag:yes } - } - # Critical Reward. - else = { - save_scope_value_as = { name = extra_reward value = flag:no } - } - laamp_rewards_disburse_ordinary_currency_effect = { - GOLD = scope:task_contract.var:gold_success_critical - PRESTIGE = task_contract_success_prestige_gain_critical_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 - } - task_contract_taker = { task_successful_noncrim_contract_count_effect = yes } - } - } - failure_standard = { - positive = no - should_print_on_complete = yes - effect = { - 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 - } - } - } - } -} - -# Settle a local dispute -laamp_base_2031 = { - group = laamp_contracts_stewardship_group - icon = "gfx/interface/icons/scheme_types/stewardship.dds" - - travel = yes - use_diplomatic_range = no - - weight = { - # Standard weights. - value = task_contract_weight_default_value - add = laamp_contracts_weight_up_stewardship_value - # Employer weights. - scope:employer = { - add = { - # Weight up. - ## Traits that are likely to run into these kinds of political troubles but not super able to deal with them. - if = { - limit = { has_trait = honest } - add = task_contract_weight_bonus_employer_has_associated_traits_value - } - if = { - limit = { has_trait = impatient } - add = task_contract_weight_bonus_employer_has_associated_traits_value - } - if = { - limit = { has_trait = arbitrary } - add = task_contract_weight_bonus_employer_has_associated_traits_value - } - if = { - limit = { has_trait = fickle } - add = task_contract_weight_bonus_employer_has_associated_traits_value - } - # Weight down. - ## Traits that would avoid or swiftly resolve the issue. - if = { - limit = { has_trait = deceitful } - add = task_contract_weight_malus_employer_has_associated_traits_value - } - if = { - limit = { has_trait = patient } - add = task_contract_weight_malus_employer_has_associated_traits_value - } - if = { - limit = { has_trait = just } - add = task_contract_weight_malus_employer_has_associated_traits_value - } - if = { - limit = { has_trait = stubborn } - add = task_contract_weight_malus_employer_has_associated_traits_value - } - # Restrictions. - min = task_contract_weight_employer_associated_traits_min_value - max = task_contract_weight_employer_associated_traits_max_value - } - # Don't weight down barons like we usually would, because we _only_ want barons here. - # This weight is an override, so make sure it's placed at the bottom. - add = task_contract_weight_employer_contact_list_value - } - } - - # Validity Triggers - 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 - # This time around we're dealing with minor disputes, so we only want barons. - scope:employer.highest_held_title_tier = tier_barony - } - valid_to_accept = { - # Standard triggers. - valid_laamp_basic_accept_only_trigger = yes - valid_laamp_basic_trigger = { - EMPLOYER = scope:employer - LAAMP = root - } - scope:employer = { is_landed = yes } - } - valid_to_continue = { - # Standard triggers. - valid_laamp_basic_trigger = { - EMPLOYER = root.task_contract_employer - LAAMP = root.task_contract_taker - } - task_contract_employer = { is_landed = yes } - } - valid_to_keep = { - # Standard triggers. - valid_laamp_basic_trigger = { - EMPLOYER = root.task_contract_employer - LAAMP = root.task_contract_taker - } - task_contract_employer = { is_landed = yes } - } - - # On_actions - on_accepted = { - task_contract_taker = { play_sound_effect = "event:/DLC/EP3/SFX/UI/Contracts/ep3_ui_contracts_accept_contract" } - # For the intro event. - save_scope_as = task_contract - task_contract_employer = { save_scope_as = employer } - # Then we roll our first event.. - task_contract_taker ?= { trigger_event = laamp_base_contract_schemes.2035 } - } - on_create = { - 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_taker.task_contract_success_gold_gain_half_value - } - set_variable = { - name = success_camp_purpose - value = task_contract_success_gold_gain_half_value - } - # Make sure critical values are a bit higher. - save_scope_value_as = { name = gold_safety_margin value = flag:yes } - set_variable = { - name = gold_success_critical - value = task_contract_taker.task_contract_success_gold_gain_full_value - } - set_variable = { - name = success_sacked_settlement - value = task_contract_success_gold_gain_critical_crime_value - } - } - } - - # Rewards - task_contract_reward = { - success_standard = { - should_print_on_complete = yes - effect = { - task_contract_taker = { play_sound_effect = "event:/DLC/EP3/SFX/UI/Contracts/ep3_ui_contracts_success_on_contract" } - save_scope_as = task_contract - # Camp building extra Stewardship Rewards: +50%. - if = { - limit = { - task_contract_taker.domicile ?= { has_domicile_parameter = camp_improved_stewardship_contract_rewards } - } - save_scope_value_as = { name = extra_reward value = flag:yes } - } - else = { - save_scope_value_as = { name = extra_reward value = flag:no } - } - 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 = { task_successful_noncrim_contract_count_effect = yes } - } - } - success_critical = { - should_print_on_complete = yes - effect = { - task_contract_taker = { play_sound_effect = "event:/DLC/EP3/SFX/UI/Contracts/ep3_ui_contracts_success_on_contract" } - save_scope_as = task_contract - # Camp building extra Stewardship Rewards: +50%. - if = { - limit = { - task_contract_taker.domicile ?= { has_domicile_parameter = camp_improved_stewardship_contract_rewards } - } - save_scope_value_as = { name = extra_reward value = flag:yes } - } - # Critical Reward. - else = { - save_scope_value_as = { name = extra_reward value = flag:no } - } - laamp_rewards_disburse_ordinary_currency_effect = { - GOLD = scope:task_contract.var:gold_success_critical - PRESTIGE = task_contract_success_prestige_gain_half_value - PIETY = 0 - PROVISIONS = task_contract_success_provisions_gain_medium_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 - } - task_contract_taker = { task_successful_noncrim_contract_count_effect = yes } - } - } - success_camp_purpose = { - should_print_on_complete = yes - 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 - # Camp building extra Stewardship Rewards: +50%. - if = { - limit = { - task_contract_taker.domicile ?= { has_domicile_parameter = camp_improved_stewardship_contract_rewards } - } - save_scope_value_as = { name = extra_reward value = flag:yes } - } - else = { - save_scope_value_as = { name = extra_reward value = flag:no } - } - laamp_rewards_disburse_ordinary_currency_effect = { - GOLD = scope:task_contract.var:success_camp_purpose - PRESTIGE = task_contract_success_prestige_gain_full_value - PIETY = 0 - PROVISIONS = task_contract_success_provisions_gain_medium_value - OPINION = task_contract_opinion_standard_reward_value - OPINION_TYPE = succeeded_task_contract_opinion - CONTACT = yes - CONTACT_HOOK = yes - EXTRA_REWARD = scope:extra_reward - } - task_contract_taker = { task_successful_noncrim_contract_count_effect = yes } - } - } - success_sacked_settlement = { - should_print_on_complete = yes - 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 - # Camp building extra Stewardship Rewards: +50%. - if = { - limit = { - task_contract_taker.domicile ?= { has_domicile_parameter = camp_improved_stewardship_contract_rewards } - } - save_scope_value_as = { name = extra_reward value = flag:yes } - } - else = { - save_scope_value_as = { name = extra_reward value = flag:no } - } - laamp_rewards_disburse_ordinary_currency_effect = { - GOLD = scope:task_contract.var:success_sacked_settlement - PRESTIGE = 0 - PIETY = 0 - PROVISIONS = task_contract_success_provisions_gain_major_value - OPINION = task_contract_opinion_crime_success_value - OPINION_TYPE = succeeded_criminal_contract_against_me_opinion - CONTACT = no - CONTACT_HOOK = no - EXTRA_REWARD = scope:extra_reward - } - # Update gallowsbait score. - task_contract_taker = { - laamp_rewards_apply_criminal_xp_effect = { - TRACK = marauder - XP_MAX = gallowsbait_xp_major_gain - XP_MIN = gallowsbait_xp_major_gain - } - bandit_king_maa_spawn_effect = yes - } - } - } - failure_standard = { - positive = no - should_print_on_complete = yes - effect = { - 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 - } - } - } - } -} - -# Collect fake taxes -laamp_base_2041 = { - group = laamp_contracts_criminal_group - icon = "gfx/interface/icons/scheme_types/stewardship.dds" - - travel = no - is_criminal = yes - use_diplomatic_range = no - - weight = { - # Standard weights. - value = task_contract_weight_default_value - add = laamp_contracts_weight_up_stewardship_value - add = laamp_contracts_weight_up_criminal_massive_value - # Employer weights. - scope:employer = { - add = laamp_contract_would_signpost_own_prosperity_value - multiply = task_contract_weight_by_tier_value - } - } - - # Validity Triggers - valid_to_create = { - # Standard triggers. - valid_laamp_basic_trigger = { - EMPLOYER = scope:employer - LAAMP = root - } - valid_laamp_sensible_start_trigger = yes - rule_out_dramatic_laamp_employers_trigger = yes - NOT = { - scope:employer = { government_has_flag = government_is_tribal } - } - scope:employer.sub_realm_size >= laamp_base_2041_num_counties_to_rob_value - } - valid_to_accept = { - # Standard triggers. - valid_laamp_basic_accept_only_trigger = yes - valid_laamp_basic_trigger = { - EMPLOYER = scope:employer - LAAMP = root - } - NOT = { - house = { - has_house_modifier = legacy_adventurer_house_modifier - } - } - scope:employer = { is_landed = yes } - } - valid_to_continue = { - # Standard triggers. - valid_laamp_basic_trigger = { - EMPLOYER = root.task_contract_employer - LAAMP = root.task_contract_taker - } - root.task_contract_taker = { - NOT = { - house = { - has_house_modifier = legacy_adventurer_house_modifier - } - } - } - task_contract_employer = { is_landed = yes } - } - valid_to_keep = { - # Standard triggers. - valid_laamp_basic_trigger = { - EMPLOYER = root.task_contract_employer - LAAMP = root.task_contract_taker - } - task_contract_employer = { is_landed = yes } - } - - # On_actions - on_accepted = { - task_contract_taker = { play_sound_effect = "event:/DLC/EP3/SFX/UI/Contracts/ep3_ui_contracts_accept_contract" } - # For the intro event. - save_scope_as = task_contract - task_contract_employer = { save_scope_as = employer } - # Then we start the travel. - task_contract_taker ?= { trigger_event = laamp_base_contract_schemes.2044 } - # Plus, set up some variables for us. - ## Progress tallies. - increment_variable_effect = { - VAR = wins_tally - VAL = 0 - } - increment_variable_effect = { - VAR = losses_tally - VAL = 0 - } - ## Victory tiers. - save_scope_value_as = { - name = win_t1_threshold - value = { - value = scope:employer.laamp_base_2041_num_counties_to_rob_sans_capital_value - divide = 3 - floor = yes - } - } - increment_variable_effect = { - VAR = win_t1_threshold - VAL = scope:win_t1_threshold - } - save_scope_value_as = { - name = win_t2_threshold - value = { - value = scope:employer.laamp_base_2041_num_counties_to_rob_sans_capital_value - divide = 3 - multiply = 2 - floor = yes - } - } - increment_variable_effect = { - VAR = win_t2_threshold - VAL = scope:win_t2_threshold - } - increment_variable_effect = { - VAR = win_t3_threshold - VAL = scope:employer.laamp_base_2041_num_counties_to_rob_sans_capital_value - } - ## Roll difficulties. - increment_variable_effect = { - VAR = stewardship_diff - VAL = 10 - } - increment_variable_effect = { - VAR = intrigue_diff - VAL = 10 - } - increment_variable_effect = { - VAR = bard_diff - VAL = 0 - } - increment_variable_effect = { - VAR = stress_charge - VAL = 20 - } - } - on_create = { - scope:contract = { - set_variable = { - name = animation - value = 0 - } - # 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_crime_value - } - set_variable = { - name = gold_success_qualified - value = task_contract_taker.task_contract_success_gold_gain_half_crime_value - } - # Make sure critical values are a bit higher. - save_scope_value_as = { name = gold_safety_margin value = flag:yes } - set_variable = { - name = gold_success_critical - value = task_contract_taker.task_contract_success_gold_gain_critical_crime_value - } - } - } - - # Rewards - task_contract_reward = { - success_standard = { - should_print_on_complete = yes - effect = { - task_contract_taker = { play_sound_effect = "event:/DLC/EP3/SFX/UI/Contracts/ep3_ui_contracts_success_on_contract" } - save_scope_as = task_contract - # Camp building extra Stewardship Rewards: +50%. - if = { - limit = { - task_contract_taker.domicile ?= { has_domicile_parameter = camp_improved_stewardship_contract_rewards } - } - save_scope_value_as = { name = extra_reward value = flag:yes } - } - # Standard Reward. - else = { - save_scope_value_as = { name = extra_reward value = flag:no } - } - laamp_rewards_disburse_ordinary_currency_effect = { - GOLD = scope:task_contract.var:gold_success_standard - PRESTIGE = 0 - PIETY = 0 - PROVISIONS = task_contract_success_provisions_gain_major_value - OPINION = task_contract_opinion_crime_success_value - OPINION_TYPE = succeeded_criminal_contract_against_me_opinion - CONTACT = no - CONTACT_HOOK = no - EXTRA_REWARD = scope:extra_reward - } - # Update gallowsbait score. - task_contract_taker = { - laamp_rewards_apply_criminal_xp_effect = { - TRACK = trickster - XP_MAX = gallowsbait_xp_medium_gain - XP_MIN = gallowsbait_xp_medium_gain - } - } - } - } - success_qualified = { - should_print_on_complete = yes - effect = { - task_contract_taker = { play_sound_effect = "event:/DLC/EP3/SFX/UI/Contracts/ep3_ui_contracts_success_on_contract" } - save_scope_as = task_contract - # Camp building extra Stewardship Rewards: +50%. - if = { - limit = { - task_contract_taker.domicile ?= { has_domicile_parameter = camp_improved_stewardship_contract_rewards } - } - save_scope_value_as = { name = extra_reward value = flag:yes } - } - # Standard Reward. - else = { - save_scope_value_as = { name = extra_reward value = flag:no } - } - laamp_rewards_disburse_ordinary_currency_effect = { - GOLD = scope:task_contract.var:gold_success_qualified - PRESTIGE = 0 - PIETY = 0 - PROVISIONS = task_contract_success_provisions_gain_medium_value - OPINION = task_contract_opinion_crime_success_value - OPINION_TYPE = succeeded_criminal_contract_against_me_opinion - CONTACT = no - CONTACT_HOOK = no - EXTRA_REWARD = scope:extra_reward - } - # Update gallowsbait score. - task_contract_taker = { - laamp_rewards_apply_criminal_xp_effect = { - TRACK = trickster - XP_MAX = gallowsbait_xp_minor_gain - XP_MIN = gallowsbait_xp_minor_gain - } - } - } - } - success_critical = { - should_print_on_complete = yes - effect = { - task_contract_taker = { play_sound_effect = "event:/DLC/EP3/SFX/UI/Contracts/ep3_ui_contracts_success_on_contract" } - save_scope_as = task_contract - # Camp building extra Stewardship Rewards: +50%. - if = { - limit = { - task_contract_taker.domicile ?= { has_domicile_parameter = camp_improved_stewardship_contract_rewards } - } - save_scope_value_as = { name = extra_reward value = flag:yes } - } - # Standard Reward. - else = { - save_scope_value_as = { name = extra_reward value = flag:no } - } - laamp_rewards_disburse_ordinary_currency_effect = { - GOLD = scope:task_contract.var:gold_success_critical - PRESTIGE = 0 - PIETY = 0 - PROVISIONS = task_contract_success_provisions_gain_major_value - OPINION = task_contract_opinion_crime_success_value - OPINION_TYPE = succeeded_criminal_contract_against_me_opinion - CONTACT = no - CONTACT_HOOK = no - EXTRA_REWARD = scope:extra_reward - } - # Update gallowsbait score. - task_contract_taker = { - laamp_rewards_apply_criminal_xp_effect = { - TRACK = trickster - XP_MAX = gallowsbait_xp_major_gain - XP_MIN = gallowsbait_xp_major_gain - } - } - } - } - failure_standard = { - positive = no - should_print_on_complete = yes - effect = { - 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_crime_value - PIETY = 0 - PROVISIONS = 0 - OPINION = task_contract_opinion_crime_failure_value - OPINION_TYPE = attempted_criminal_contract_against_me_opinion - CONTACT = no - CONTACT_HOOK = no - EXTRA_REWARD = scope:extra_reward - } - # Update gallowsbait score. - task_contract_taker = { - laamp_rewards_apply_criminal_xp_effect = { - TRACK = trickster - XP_MAX = gallowsbait_xp_minor_gain - XP_MIN = gallowsbait_xp_minor_gain - } - } - } - } - failure_qualified = { - positive = no - should_print_on_complete = yes - visible = no - effect = { - 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 = 0 - OPINION = task_contract_opinion_crime_backed_down_value - OPINION_TYPE = attempted_criminal_contract_against_me_opinion - CONTACT = no - CONTACT_HOOK = no - EXTRA_REWARD = scope:extra_reward - } - # Update gallowsbait score. - task_contract_taker = { - laamp_rewards_apply_criminal_xp_effect = { - TRACK = trickster - XP_MAX = gallowsbait_xp_minor_gain - XP_MIN = gallowsbait_xp_minor_gain - } - } - } - } - } -} - - - - - - - - - - - -################################################## -# INTRIGUE CONTRACTS - -# Provide intelligence from your trips -laamp_base_3001 = { - group = laamp_contracts_intrigue_group - icon = "gfx/interface/icons/scheme_types/intrigue.dds" - - use_diplomatic_range = no - - weight = { - # Standard weights. - value = task_contract_weight_default_value - add = laamp_contracts_weight_up_intrigue_value - # Employer weights. - scope:employer = { - add = { - # Weight up. - ## Traits that value foreign intelligence. - if = { - limit = { has_trait = deceitful } - add = task_contract_weight_bonus_employer_has_associated_traits_value - } - if = { - limit = { has_trait = arbitrary } - add = task_contract_weight_bonus_employer_has_associated_traits_value - } - if = { - limit = { has_trait = patient } - add = task_contract_weight_bonus_employer_has_associated_traits_value - } - # Weight down. - ## Traits that don't care for espionage. - if = { - limit = { has_trait = honest } - add = task_contract_weight_malus_employer_has_associated_traits_value - } - if = { - limit = { has_trait = just } - add = task_contract_weight_malus_employer_has_associated_traits_value - } - if = { - limit = { has_trait = impatient } - add = task_contract_weight_malus_employer_has_associated_traits_value - } - # Restrictions. - min = task_contract_weight_employer_associated_traits_min_value - max = task_contract_weight_employer_associated_traits_max_value - } - multiply = task_contract_weight_by_tier_value - # This weight is an override, so make sure it's placed at the bottom. - add = task_contract_weight_employer_contact_list_value - } - } - - # Validity Triggers - 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 - NOT = { - scope:employer = { government_has_flag = government_is_tribal } - } - scope:employer = { - highest_held_title_tier >= tier_county - OR = { - any_neighboring_and_across_water_realm_same_rank_owner = { - count >= 3 - laamp_base_3001_valid_neighbours_trigger = { EMPLOYER = scope:employer } - } - AND = { - highest_held_title_tier >= tier_empire - any_neighboring_and_across_water_top_liege_realm_owner = { - count >= 3 - highest_held_title_tier >= tier_kingdom - laamp_base_3001_valid_neighbours_trigger = { EMPLOYER = scope:employer } - } - } - } - } - # Specific flavour triggers. - laamp_task_contract_employer_not_antisocial_trigger = yes - } - valid_to_accept = { - # Standard triggers. - valid_laamp_basic_accept_only_trigger = yes - valid_laamp_basic_trigger = { - EMPLOYER = scope:employer - LAAMP = root - } - scope:employer = { is_landed = yes } - } - valid_to_continue = { - # Standard triggers. - valid_laamp_basic_trigger = { - EMPLOYER = root.task_contract_employer - LAAMP = root.task_contract_taker - } - task_contract_employer = { is_landed = yes } - } - valid_to_keep = { - # Standard triggers. - valid_laamp_basic_trigger = { - EMPLOYER = root.task_contract_employer - LAAMP = root.task_contract_taker - } - task_contract_employer = { is_landed = yes } - } - - # On_actions - on_accepted = { - task_contract_taker = { play_sound_effect = "event:/DLC/EP3/SFX/UI/Contracts/ep3_ui_contracts_accept_contract" } - # For the intro event. - save_scope_as = task_contract - # Then we start the travel. - task_contract_taker ?= { trigger_event = laamp_base_contract_schemes.3004 } - # Plus, set up a tracking variable for us. - increment_variable_effect = { - VAR = wins_tally - VAL = 0 - } - } - on_create = { - 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_taker.task_contract_success_gold_gain_full_value - } - set_variable = { - name = gold_success_qualified - value = task_contract_taker.task_contract_success_gold_gain_half_value - } - # Make sure critical values are a bit higher. - save_scope_value_as = { name = gold_safety_margin value = flag:yes } - set_variable = { - name = gold_success_critical - value = task_contract_taker.task_contract_success_gold_gain_full_value - } - } - } - - # Rewards - task_contract_reward = { - success_standard = { - should_print_on_complete = yes - effect = { - task_contract_taker = { play_sound_effect = "event:/DLC/EP3/SFX/UI/Contracts/ep3_ui_contracts_success_on_contract" } - save_scope_as = task_contract - save_scope_value_as = { name = extra_reward value = flag:no } - # Standard Rewards. - laamp_rewards_disburse_ordinary_currency_effect = { - GOLD = scope:task_contract.var:gold_success_standard - PRESTIGE = 0 - 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 = { task_successful_noncrim_contract_count_effect = yes } - } - } - success_critical = { - should_print_on_complete = yes - effect = { - task_contract_taker = { play_sound_effect = "event:/DLC/EP3/SFX/UI/Contracts/ep3_ui_contracts_success_on_contract" } - save_scope_as = task_contract - save_scope_value_as = { name = extra_reward value = flag:no } - # Critical Rewards. - laamp_rewards_disburse_ordinary_currency_effect = { - GOLD = scope:task_contract.var:gold_success_critical - PRESTIGE = 0 - PIETY = 0 - PROVISIONS = task_contract_success_provisions_gain_medium_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 - } - task_contract_taker = { task_successful_noncrim_contract_count_effect = yes } - } - } - success_qualified = { - should_print_on_complete = yes - effect = { - task_contract_taker = { play_sound_effect = "event:/DLC/EP3/SFX/UI/Contracts/ep3_ui_contracts_success_on_contract" } - save_scope_as = task_contract - save_scope_value_as = { name = extra_reward value = flag:no } - # Standard Rewards. - laamp_rewards_disburse_ordinary_currency_effect = { - GOLD = scope:task_contract.var:gold_success_qualified - PRESTIGE = 0 - 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 - should_print_on_complete = yes - effect = { - 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 - } - } - } - } -} - -# Murder a character's rival -laamp_base_3011 = { - group = laamp_contracts_criminal_group - icon = "gfx/interface/icons/scheme_types/intrigue.dds" - - travel = yes - is_criminal = yes - use_diplomatic_range = no - - weight = { - # Standard weights. - value = task_contract_weight_default_value - add = laamp_contracts_weight_up_intrigue_value - add = laamp_contracts_weight_up_criminal_value - # Employer weights. - scope:employer = { - add = { - # Weight up. - ## Traits that want someone killed and don't much care how. - if = { - limit = { has_trait = wrathful } - add = task_contract_weight_bonus_employer_has_associated_traits_value - } - if = { - limit = { has_trait = callous } - add = task_contract_weight_bonus_employer_has_associated_traits_value - } - if = { - limit = { has_trait = sadistic } - add = task_contract_weight_bonus_employer_has_associated_traits_value - } - if = { - limit = { has_trait = arbitrary } - add = task_contract_weight_bonus_employer_has_associated_traits_value - } - # Weight down. - ## Traits that won't hire thugs to solve their problems just on principle. - if = { - limit = { has_trait = calm } - add = task_contract_weight_malus_employer_has_associated_traits_value - } - if = { - limit = { has_trait = just } - add = task_contract_weight_malus_employer_has_associated_traits_value - } - # Restrictions. - min = task_contract_weight_employer_associated_traits_min_value - max = task_contract_weight_employer_associated_traits_max_value - } - multiply = task_contract_weight_by_tier_value - # This weight is an override, so make sure it's placed at the bottom. - add = task_contract_weight_employer_contact_list_value - } - } - - # Validity Triggers - 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 - # Specific flavour triggers. - laamp_task_contract_employer_would_resort_to_violence_trigger = yes - } - valid_to_accept = { - # Standard triggers. - valid_laamp_basic_accept_only_trigger = yes - valid_laamp_basic_trigger = { - EMPLOYER = scope:employer - LAAMP = root - } - NOT = { - house = { - has_house_modifier = legacy_adventurer_house_modifier - } - } - scope:employer = { is_landed = yes } - } - valid_to_continue = { - # Standard triggers. - valid_laamp_basic_trigger = { - EMPLOYER = root.task_contract_employer - LAAMP = root.task_contract_taker - } - root.task_contract_taker = { - NOT = { - house = { - has_house_modifier = legacy_adventurer_house_modifier - } - } - } - task_contract_employer = { is_landed = yes } - } - valid_to_keep = { - # Standard triggers. - valid_laamp_basic_trigger = { - EMPLOYER = root.task_contract_employer - LAAMP = root.task_contract_taker - } - task_contract_employer = { is_landed = yes } - } - - # On_actions - on_accepted = { - task_contract_taker = { play_sound_effect = "event:/DLC/EP3/SFX/UI/Contracts/ep3_ui_contracts_accept_contract" } - # For the intro event. - save_scope_as = task_contract - # Now, nab us a suitable target. - task_contract_employer = { laamp_contract_grab_suitable_rival_for_disposal_effect = yes } - # Then we start the scheme. - task_contract_taker ?= { - start_scheme = { - type = laamp_base_3011_contract_scheme - contract = root - target_character = root.var:target - } - # Make a note of what the scheme even is; we'll need this for the event too. - scope:task_contract.scheme = { save_scope_as = scheme } - trigger_event = laamp_base_contract_schemes.3011 - } - } - on_create = { - scope:contract = { - set_variable = { - name = animation - value = 1 - } - # 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_crime_value - } - } - } - - # Rewards - task_contract_reward = { - success_standard = { - should_print_on_complete = yes - effect = { - task_contract_taker = { play_sound_effect = "event:/DLC/EP3/SFX/UI/Contracts/ep3_ui_contracts_success_on_contract" } - save_scope_as = task_contract - save_scope_value_as = { name = extra_reward value = flag:no } - # Standard Rewards. - laamp_rewards_disburse_ordinary_currency_effect = { - GOLD = scope:task_contract.var:gold_success_standard - PRESTIGE = 0 - 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 = yes - EXTRA_REWARD = scope:extra_reward - } - task_contract_taker = { task_successful_noncrim_contract_count_effect = yes } - # Update gallowsbait score. - task_contract_taker = { - laamp_rewards_apply_criminal_xp_effect = { - TRACK = marauder - XP_MAX = gallowsbait_xp_medium_gain - XP_MIN = gallowsbait_xp_medium_gain - } - bandit_king_maa_spawn_effect = yes - } - } - } - failure_standard = { - positive = no - should_print_on_complete = yes - effect = { - 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_crime_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 - } - # Update gallowsbait score. - task_contract_taker = { - laamp_rewards_apply_criminal_xp_effect = { - TRACK = marauder - XP_MAX = gallowsbait_xp_minor_gain - XP_MIN = gallowsbait_xp_minor_gain - } - bandit_king_maa_spawn_effect = yes - } - } - } - } -} - -# Abduct a character's rival -laamp_base_3021 = { - group = laamp_contracts_criminal_group - icon = "gfx/interface/icons/scheme_types/intrigue.dds" - - travel = yes - is_criminal = yes - use_diplomatic_range = no - - weight = { - # Standard weights. - value = task_contract_weight_default_value - add = laamp_contracts_weight_up_intrigue_value - add = laamp_contracts_weight_up_criminal_value - # Employer weights. - scope:employer = { - add = { - # Weight up. - ## Traits that like a personal touch in the ol' donjon. - if = { - limit = { has_trait = sadistic } - add = task_contract_weight_bonus_employer_has_associated_traits_value - } - if = { - limit = { has_trait = wrathful } - add = task_contract_weight_bonus_employer_has_associated_traits_value - } - if = { - limit = { has_trait = arbitrary } - add = task_contract_weight_bonus_employer_has_associated_traits_value - } - # Weight down. - ## Traits that prefer efficiency. - if = { - limit = { has_trait = callous } - add = task_contract_weight_malus_employer_has_associated_traits_value - } - if = { - limit = { has_trait = diligent } - add = task_contract_weight_malus_employer_has_associated_traits_value - } - # Restrictions. - min = task_contract_weight_employer_associated_traits_min_value - max = task_contract_weight_employer_associated_traits_max_value - } - multiply = task_contract_weight_by_tier_value - # This weight is an override, so make sure it's placed at the bottom. - add = task_contract_weight_employer_contact_list_value - } - } - - # Validity Triggers - 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 - # Specific flavour triggers. - laamp_task_contract_employer_would_resort_to_violence_trigger = yes - } - valid_to_accept = { - # Standard triggers. - valid_laamp_basic_accept_only_trigger = yes - valid_laamp_basic_trigger = { - EMPLOYER = scope:employer - LAAMP = root - } - NOT = { - house = { - has_house_modifier = legacy_adventurer_house_modifier - } - } - scope:employer = { is_landed = yes } - } - valid_to_continue = { - # Standard triggers. - valid_laamp_basic_trigger = { - EMPLOYER = root.task_contract_employer - LAAMP = root.task_contract_taker - } - root.task_contract_taker = { - NOT = { - house = { - has_house_modifier = legacy_adventurer_house_modifier - } - } - } - task_contract_employer = { is_landed = yes } - trigger_if = { - limit = { has_variable = target } - var:target = { - is_alive = yes - is_imprisoned = no - } - } - } - valid_to_keep = { - # Standard triggers. - valid_laamp_basic_trigger = { - EMPLOYER = root.task_contract_employer - LAAMP = root.task_contract_taker - } - task_contract_employer = { is_landed = yes } - } - - # On_actions - on_accepted = { - task_contract_taker = { play_sound_effect = "event:/DLC/EP3/SFX/UI/Contracts/ep3_ui_contracts_accept_contract" } - # For the intro event. - save_scope_as = task_contract - # Now, nab us a suitable target. - task_contract_employer = { laamp_contract_grab_suitable_rival_for_disposal_effect = yes } - # Then we start the scheme. - task_contract_taker ?= { - start_scheme = { - type = laamp_base_3021_contract_scheme - contract = root - target_character = root.var:target - } - # Make a note of what the scheme even is; we'll need this for the event too. - scope:task_contract.scheme = { save_scope_as = scheme } - trigger_event = laamp_base_contract_schemes.3021 - } - } - on_create = { - scope:contract = { - set_variable = { - name = animation - value = 1 - } - # 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_crime_value - } - } - } - - # Rewards - task_contract_reward = { - success_standard = { - should_print_on_complete = yes - effect = { - task_contract_taker = { play_sound_effect = "event:/DLC/EP3/SFX/UI/Contracts/ep3_ui_contracts_success_on_contract" } - save_scope_as = task_contract - save_scope_value_as = { name = extra_reward value = flag:no } - # Standard Rewards. - laamp_rewards_disburse_ordinary_currency_effect = { - GOLD = scope:task_contract.var:gold_success_standard - PRESTIGE = 0 - 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 = yes - EXTRA_REWARD = scope:extra_reward - } - task_contract_taker = { task_successful_noncrim_contract_count_effect = yes } - # Update gallowsbait score. - task_contract_taker = { - laamp_rewards_apply_criminal_xp_effect = { - TRACK = marauder - XP_MAX = gallowsbait_xp_medium_gain - XP_MIN = gallowsbait_xp_medium_gain - } - bandit_king_maa_spawn_effect = yes - } - - } - } - failure_standard = { - positive = no - should_print_on_complete = yes - effect = { - 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_crime_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 - } - # Update gallowsbait score. - task_contract_taker = { - laamp_rewards_apply_criminal_xp_effect = { - TRACK = marauder - XP_MAX = gallowsbait_xp_minor_gain - XP_MIN = gallowsbait_xp_minor_gain - } - } - } - } - } -} - -# Attack the property of a character's rival -laamp_base_3031 = { - group = laamp_contracts_criminal_group - icon = "gfx/interface/icons/scheme_types/intrigue.dds" - - is_criminal = yes - use_diplomatic_range = no - - weight = { - # Standard weights. - value = task_contract_weight_default_value - add = laamp_contracts_weight_up_intrigue_value - add = laamp_contracts_weight_up_criminal_value - # Employer weights. - scope:employer = { - add = { - # Weight up. - ## Traits that like a subtle, yet violent, touch. - if = { - limit = { has_trait = deceitful } - add = task_contract_weight_bonus_employer_has_associated_traits_value - } - if = { - limit = { has_trait = patient } - add = task_contract_weight_bonus_employer_has_associated_traits_value - } - ### Ok emphasising "violent" over "subtle" here. - if = { - limit = { has_trait = wrathful } - add = task_contract_weight_bonus_employer_has_associated_traits_value - } - if = { - limit = { has_trait = arbitrary } - add = task_contract_weight_bonus_employer_has_associated_traits_value - } - # Weight down. - ## Traits that prefer bluntness or honesty. - if = { - limit = { has_trait = honest } - add = task_contract_weight_malus_employer_has_associated_traits_value - } - if = { - limit = { has_trait = impatient } - add = task_contract_weight_malus_employer_has_associated_traits_value - } - if = { - limit = { has_trait = calm } - add = task_contract_weight_malus_employer_has_associated_traits_value - } - if = { - limit = { has_trait = just } - add = task_contract_weight_malus_employer_has_associated_traits_value - } - # Restrictions. - min = task_contract_weight_employer_associated_traits_min_value - max = task_contract_weight_employer_associated_traits_max_value - } - multiply = task_contract_weight_by_tier_value - # This weight is an override, so make sure it's placed at the bottom. - add = task_contract_weight_employer_contact_list_value - } - } - - # Validity Triggers - 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 - rule_out_dramatic_laamp_employers_trigger = yes - NOT = { - scope:employer = { government_has_flag = government_is_tribal } - } - # Specific flavour triggers. - laamp_task_contract_employer_would_resort_to_violence_trigger = yes - } - valid_to_accept = { - # Standard triggers. - valid_laamp_basic_accept_only_trigger = yes - valid_laamp_basic_trigger = { - EMPLOYER = scope:employer - LAAMP = root - } - NOT = { - house = { - has_house_modifier = legacy_adventurer_house_modifier - } - } - scope:employer = { is_landed = yes } - } - valid_to_continue = { - # Standard triggers. - valid_laamp_basic_trigger = { - EMPLOYER = root.task_contract_employer - LAAMP = root.task_contract_taker - } - root.task_contract_taker = { - NOT = { - house = { - has_house_modifier = legacy_adventurer_house_modifier - } - } - } - task_contract_employer = { is_landed = yes } - } - valid_to_keep = { - # Standard triggers. - valid_laamp_basic_trigger = { - EMPLOYER = root.task_contract_employer - LAAMP = root.task_contract_taker - } - task_contract_employer = { is_landed = yes } - } - - # On_actions - on_accepted = { - task_contract_taker = { play_sound_effect = "event:/DLC/EP3/SFX/UI/Contracts/ep3_ui_contracts_accept_contract" } - # For the intro event. - save_scope_as = task_contract - # Now, nab us a suitable target. - task_contract_employer = { laamp_contract_grab_suitable_rival_for_disposal_effect = yes } - # Save a scope that stops us getting double gallowsbait XP later on. - save_scope_value_as = { - name = suppress_gallowsbait - value = yes - } - # Then we start the chainlet. - task_contract_taker ?= { trigger_event = laamp_base_contract_schemes.3034 } - } - on_create = { - scope:contract = { - set_variable = { - name = animation - value = 1 - } - # 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_crime_value - } - } - } - - # Rewards - task_contract_reward = { - success_standard = { - should_print_on_complete = yes - effect = { - task_contract_taker = { play_sound_effect = "event:/DLC/EP3/SFX/UI/Contracts/ep3_ui_contracts_success_on_contract" } - save_scope_as = task_contract - save_scope_value_as = { name = extra_reward value = flag:no } - # Standard Rewards. - laamp_rewards_disburse_ordinary_currency_effect = { - GOLD = scope:task_contract.var:gold_success_standard - PRESTIGE = 0 - 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 = yes - EXTRA_REWARD = scope:extra_reward - } - task_contract_taker = { task_successful_noncrim_contract_count_effect = yes } - # Update gallowsbait score. - task_contract_taker = { - if = { - limit = { - NOT = { exists = scope:suppress_gallowsbait } - } - # Wrapped like this because, even with the scope definitely present, it was somehow slipping the net & applying anyway. - show_as_tooltip = { - laamp_rewards_apply_criminal_xp_effect = { - TRACK = bandit - XP_MIN = gallowsbait_xp_medium_gain - XP_MAX = gallowsbait_xp_medium_gain - } - } - } - bandit_king_maa_spawn_effect = yes - } - - } - } - failure_standard = { - positive = no - should_print_on_complete = yes - effect = { - 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_crime_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 - } - # Update gallowsbait score. - task_contract_taker = { - if = { - limit = { - NOT = { exists = scope:suppress_gallowsbait } - } - # Wrapped like this because, even with the scope definitely present, it was somehow slipping the net & applying anyway. - show_as_tooltip = { - laamp_rewards_apply_criminal_xp_effect = { - TRACK = bandit - XP_MIN = gallowsbait_xp_minor_gain - XP_MAX = gallowsbait_xp_minor_gain - } - } - } - } - } - } - failure_qualified = { - positive = no - should_print_on_complete = yes - effect = { - 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_crime_half_value - PIETY = 0 - PROVISIONS = 0 - OPINION = task_contract_opinion_standard_failure_value - OPINION_TYPE = failed_task_contract_opinion - CONTACT = no - CONTACT_HOOK = no - EXTRA_REWARD = scope:extra_reward - } - } - } - } -} - -# Heist from a ruler's treasury -laamp_base_3041 = { - group = laamp_contracts_criminal_group - icon = "gfx/interface/icons/scheme_types/intrigue.dds" - - travel = yes - is_criminal = yes - use_diplomatic_range = no - - weight = { - # Standard weights. - value = task_contract_weight_default_value - add = laamp_contracts_weight_up_intrigue_value - add = laamp_contracts_weight_up_criminal_value - # Employer weights. - scope:employer = { - add = laamp_contract_would_signpost_own_prosperity_value - multiply = task_contract_weight_by_tier_value - } - } - - # Validity Triggers - valid_to_create = { - # Standard triggers. - valid_laamp_basic_trigger = { - EMPLOYER = scope:employer - LAAMP = root - } - valid_laamp_sensible_start_trigger = yes - NOT = { - scope:employer = { government_has_flag = government_is_tribal } - } - } - valid_to_accept = { - # Standard triggers. - valid_laamp_basic_accept_only_trigger = yes - valid_laamp_basic_trigger = { - EMPLOYER = scope:employer - LAAMP = root - } - NOT = { - house = { - has_house_modifier = legacy_adventurer_house_modifier - } - } - scope:employer = { is_landed = yes } - } - valid_to_continue = { - # Standard triggers. - valid_laamp_basic_trigger = { - EMPLOYER = root.task_contract_employer - LAAMP = root.task_contract_taker - } - root.task_contract_taker = { - NOT = { - house = { - has_house_modifier = legacy_adventurer_house_modifier - } - } - } - task_contract_employer = { is_landed = yes } - } - valid_to_keep = { - # Standard triggers. - valid_laamp_basic_trigger = { - EMPLOYER = root.task_contract_employer - LAAMP = root.task_contract_taker - } - task_contract_employer = { is_landed = yes } - } - - # On_actions - on_accepted = { - task_contract_taker = { play_sound_effect = "event:/DLC/EP3/SFX/UI/Contracts/ep3_ui_contracts_accept_contract" } - # For the intro event. - save_scope_as = task_contract - # Then we start the scheme. - task_contract_taker ?= { - start_scheme = { - type = laamp_base_3041_contract_scheme - contract = root - target_character = root.task_contract_employer - } - # Make a note of what the scheme even is; we'll need this for the event too. - scope:task_contract.scheme = { save_scope_as = scheme } - trigger_event = laamp_base_contract_schemes.3041 - } - } - on_create = { - scope:contract = { - set_variable = { - name = animation - value = 0 - } - # 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_crime_value - } - } - } - - # Rewards - task_contract_reward = { - success_standard = { - should_print_on_complete = yes - effect = { - task_contract_taker = { play_sound_effect = "event:/DLC/EP3/SFX/UI/Contracts/ep3_ui_contracts_success_on_contract" } - save_scope_as = task_contract - save_scope_value_as = { name = extra_reward value = flag:no } - # Standard Rewards. - laamp_rewards_disburse_ordinary_currency_effect = { - GOLD = scope:task_contract.var:gold_success_standard - PRESTIGE = 0 - PIETY = 0 - PROVISIONS = 0 - OPINION = task_contract_opinion_crime_success_value - OPINION_TYPE = succeeded_criminal_contract_against_me_opinion - CONTACT = no - CONTACT_HOOK = no - EXTRA_REWARD = scope:extra_reward - } - # Update gallowsbait score. - task_contract_taker = { - laamp_rewards_apply_criminal_xp_effect = { - TRACK = thief - XP_MIN = gallowsbait_xp_medium_gain - XP_MAX = gallowsbait_xp_medium_gain - } - bandit_king_maa_spawn_effect = yes - } - custom_tooltip = laamp_base_3041.tt.chance_for_more - } - } - failure_standard = { - positive = no - should_print_on_complete = yes - effect = { - 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_crime_value - PIETY = 0 - PROVISIONS = 0 - OPINION = task_contract_opinion_crime_failure_value - OPINION_TYPE = attempted_criminal_contract_against_me_opinion - CONTACT = no - CONTACT_HOOK = no - EXTRA_REWARD = scope:extra_reward - } - # Update gallowsbait score. - task_contract_taker = { - laamp_rewards_apply_criminal_xp_effect = { - TRACK = thief - XP_MIN = gallowsbait_xp_minor_gain - XP_MAX = gallowsbait_xp_minor_gain - } - } - } - } - } -} - - - - - - - - - - - -################################################## -# LEARNING CONTRACTS - -# Transcribe texts for a learned ruler -laamp_base_4001 = { - group = laamp_contracts_learning_group - icon = "gfx/interface/icons/scheme_types/learning.dds" - - travel = yes - use_diplomatic_range = no - - weight = { - # Standard weights. - value = task_contract_weight_default_value - add = laamp_contracts_weight_up_learning_value - # Employer weights. - scope:employer = { - add = { - # Weight up. - ## Traits that appreciate works of learning. - if = { - limit = { has_trait = erudite } - add = task_contract_weight_bonus_employer_has_associated_traits_value - } - if = { - limit = { has_trait = theologian } - add = task_contract_weight_bonus_employer_has_associated_traits_value - } - if = { - limit = { has_trait = eccentric } - add = task_contract_weight_bonus_employer_has_associated_traits_value - } - if = { - limit = { has_trait = patient } - add = task_contract_weight_bonus_employer_has_associated_traits_value - } - if = { - limit = { has_trait = shy } - add = task_contract_weight_bonus_employer_has_associated_traits_value - } - # Weight down. - ## Traits that don't support these gorramned NERDS. - if = { - limit = { has_trait = gregarious } - add = task_contract_weight_malus_employer_has_associated_traits_value - } - if = { - limit = { has_trait = impatient } - add = task_contract_weight_malus_employer_has_associated_traits_value - } - if = { - limit = { has_trait = athletic } - add = task_contract_weight_malus_employer_has_associated_traits_value - } - # Restrictions. - min = task_contract_weight_employer_associated_traits_min_value - max = task_contract_weight_employer_associated_traits_max_value - } - multiply = task_contract_weight_by_tier_value - # This weight is an override, so make sure it's placed at the bottom. - add = task_contract_weight_employer_contact_list_value - } - } - - # Validity Triggers - 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 - rule_out_dramatic_laamp_employers_trigger = yes - NOT = { - scope:employer = { government_has_flag = government_is_tribal } - } - } - valid_to_accept = { - # Standard triggers. - valid_laamp_basic_accept_only_trigger = yes - valid_laamp_basic_trigger = { - EMPLOYER = scope:employer - LAAMP = root - } - scope:employer = { is_landed = yes } - } - valid_to_continue = { - # Standard triggers. - valid_laamp_basic_trigger = { - EMPLOYER = root.task_contract_employer - LAAMP = root.task_contract_taker - } - task_contract_employer = { is_landed = yes } - } - valid_to_keep = { - # Standard triggers. - valid_laamp_basic_trigger = { - EMPLOYER = root.task_contract_employer - LAAMP = root.task_contract_taker - } - task_contract_employer = { is_landed = yes } - } - - on_create = { - scope:contract = { - save_scope_as = task_contract - set_variable = { - name = task_contract_employer - value = scope:task_contract.task_contract_employer - } - # Make our gold rewards static. - grab_gold_fuzz_number_effect = yes - set_variable = { - name = gold_success_qualified - value = task_contract_taker.task_contract_success_gold_gain_half_value - } - set_variable = { - name = gold_success_standard - value = task_contract_taker.task_contract_success_gold_gain_full_value - } - # Make sure critical values are a bit higher. - save_scope_value_as = { name = gold_safety_margin value = flag:yes } - set_variable = { - name = gold_success_critical - value = task_contract_taker.task_contract_success_gold_gain_critical_value - } - } - } - - # On_actions - on_accepted = { - task_contract_taker = { play_sound_effect = "event:/DLC/EP3/SFX/UI/Contracts/ep3_ui_contracts_accept_contract" } - # For easy access - save_scope_as = task_contract - task_contract_employer = { save_scope_as = employer } - # Trigger the first education event - task_contract_taker ?= { trigger_event = laamp_base_learning_contract_events.4001 } - # Plus, set up some variables for us. - ## Progress tallies. - increment_variable_effect = { - VAR = score_tally - VAL = 0 - } - increment_variable_effect = { - VAR = text_passages_left - VAL = 3 - } - ### Victory tiers. - increment_variable_effect = { - VAR = win_t1_threshold - VAL = 3 #You smooch by on the standard answer - } - increment_variable_effect = { - VAR = win_t2_threshold - VAL = 7 #You use your language/traits twice and also have a successful embellishment - } - increment_variable_effect = { - VAR = win_t3_threshold - VAL = 9 #All three embellishments are successful :yeslikethis: - } - } - - # Rewards - task_contract_reward = { - success_qualified = { - should_print_on_complete = yes - effect = { - save_scope_as = task_contract - # Camp building extra Stewardship Rewards: +50%. - if = { - limit = { - task_contract_taker.domicile ?= { has_domicile_parameter = camp_improved_stewardship_contract_rewards } - } - save_scope_value_as = { name = extra_reward value = flag:yes } - } - # Standard Reward. - else = { - save_scope_value_as = { name = extra_reward value = flag:no } - } - laamp_rewards_disburse_ordinary_currency_effect = { - GOLD = scope:task_contract.var:gold_success_qualified - PRESTIGE = 0 - PIETY = 0 - PROVISIONS = task_contract_success_provisions_gain_minor_value - OPINION = task_contract_opinion_reduced_reward_value - OPINION_TYPE = succeeded_task_contract_opinion - CONTACT = no - CONTACT_HOOK = no - EXTRA_REWARD = scope:extra_reward - } - } - } - success_standard = { - should_print_on_complete = yes - effect = { - task_contract_taker = { play_sound_effect = "event:/DLC/EP3/SFX/UI/Contracts/ep3_ui_contracts_success_on_contract" } - save_scope_as = task_contract - # Camp building extra Learning Rewards: +50%. - if = { - limit = { - task_contract_taker.domicile ?= { has_domicile_parameter = camp_improved_learning_contract_rewards } - } - save_scope_value_as = { name = extra_reward value = flag:yes } - } - else = { - save_scope_value_as = { name = extra_reward value = flag:no } - } - laamp_rewards_disburse_ordinary_currency_effect = { - GOLD = scope:task_contract.var:gold_success_standard - PRESTIGE = task_contract_success_prestige_gain_half_value - PIETY = task_contract_success_piety_gain_half_value - 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 = { task_successful_noncrim_contract_count_effect = yes } - } - } - success_critical = { - should_print_on_complete = yes - effect = { - task_contract_taker = { play_sound_effect = "event:/DLC/EP3/SFX/UI/Contracts/ep3_ui_contracts_success_on_contract" } - save_scope_as = task_contract - # Camp building extra Learning Rewards: +50%. - if = { - limit = { - task_contract_taker.domicile ?= { has_domicile_parameter = camp_improved_learning_contract_rewards } - } - save_scope_value_as = { name = extra_reward value = flag:yes } - } - else = { - save_scope_value_as = { name = extra_reward value = flag:no } - } - laamp_rewards_disburse_ordinary_currency_effect = { - GOLD = scope:task_contract.var:gold_success_critical - PRESTIGE = task_contract_success_prestige_gain_full_value - PIETY = task_contract_success_piety_gain_full_value - PROVISIONS = task_contract_success_provisions_gain_medium_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 - } - task_contract_taker = { task_successful_noncrim_contract_count_effect = yes } - } - } - failure_standard = { - positive = no - should_print_on_complete = yes - effect = { - 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 = 0 - 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 - } - } - } - } -} - -#Help settle theological arguments -laamp_base_4011 = { - group = laamp_contracts_learning_group - icon = "gfx/interface/icons/scheme_types/learning.dds" - - travel = no - use_diplomatic_range = no - - weight = { - # Standard weights. - value = task_contract_weight_default_value - add = laamp_contracts_weight_up_learning_value - # Employer weights. - scope:employer = { - add = { - # Weight up. - ## Traits that would happily delegate a debate. - if = { - limit = { has_trait = shy } - add = task_contract_weight_bonus_employer_has_associated_traits_value - } - if = { - limit = { has_trait = impatient } - add = task_contract_weight_bonus_employer_has_associated_traits_value - } - if = { - limit = { has_trait = fickle } - add = task_contract_weight_bonus_employer_has_associated_traits_value - } - if = { - limit = { has_trait = lazy } - add = task_contract_weight_bonus_employer_has_associated_traits_value - } - # Weight down. - ## Traits that would leap into a debate wholesale. - if = { - limit = { has_trait = gregarious } - add = task_contract_weight_malus_employer_has_associated_traits_value - } - if = { - limit = { has_trait = patient } - add = task_contract_weight_malus_employer_has_associated_traits_value - } - if = { - limit = { has_trait = stubborn } - add = task_contract_weight_malus_employer_has_associated_traits_value - } - if = { - limit = { has_trait = diligent } - add = task_contract_weight_malus_employer_has_associated_traits_value - } - # Restrictions. - min = task_contract_weight_employer_associated_traits_min_value - max = task_contract_weight_employer_associated_traits_max_value - } - multiply = task_contract_weight_by_tier_value - # This weight is an override, so make sure it's placed at the bottom. - add = task_contract_weight_employer_contact_list_value - } - } - - # Validity Triggers - 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 - rule_out_dramatic_laamp_employers_trigger = yes - scope:employer = { - NOR = { - government_has_flag = government_is_tribal - faith = { has_doctrine_parameter = unreformed } - has_trait = cynical - } - AND = { - highest_held_title_tier >= tier_duchy - any_sub_realm_barony = { - title_province = { has_holding = yes } - this != scope:employer.capital_barony - count >= 3 - } - } - } - } - valid_to_accept = { - # Standard triggers. - valid_laamp_basic_accept_only_trigger = yes - valid_laamp_basic_trigger = { - EMPLOYER = scope:employer - LAAMP = root - } - scope:employer = { is_landed = yes } - } - valid_to_continue = { - # Standard triggers. - valid_laamp_basic_trigger = { - EMPLOYER = root.task_contract_employer - LAAMP = root.task_contract_taker - } - task_contract_employer = { is_landed = yes } - } - valid_to_keep = { - # Standard triggers. - valid_laamp_basic_trigger = { - EMPLOYER = root.task_contract_employer - LAAMP = root.task_contract_taker - } - task_contract_employer = { is_landed = yes } - } - - # On_actions - on_accepted = { - task_contract_taker = { play_sound_effect = "event:/DLC/EP3/SFX/UI/Contracts/ep3_ui_contracts_accept_contract" } - # For easy access - save_scope_as = task_contract - task_contract_employer = { save_scope_as = employer } - #Set this up here to calculate win thresholds - scope:employer = { - add_character_flag = is_in_task_contract_event_chain - ordered_sub_realm_barony = { - limit = { - title_province = { has_holding = yes } - this != scope:employer.capital_barony - } - order_by = { - value = county_opinion - multiply = -1 - } - max = 5 - check_range_bounds = no - add_to_list = destination_baronies_list - } - scope:employer.capital_province = { save_scope_as = employer_location_destination } - ordered_in_list = { - list = destination_baronies_list - order_by = "squared_distance(scope:employer_location_destination)" - max = 5 - check_range_bounds = no - if = { - limit = { - NOT = { exists = scope:destination_1 } - } - save_scope_as = destination_1 - } - else_if = { - limit = { - NOT = { - this = scope:destination_1 - exists = scope:destination_2 - } - } - save_scope_as = destination_2 - } - else_if = { - limit = { - NOT = { - this = scope:destination_1 - this = scope:destination_2 - exists = scope:destination_3 - } - } - save_scope_as = destination_3 - } - else_if = { - limit = { - NOT = { - this = scope:destination_1 - this = scope:destination_2 - this = scope:destination_3 - exists = scope:destination_4 - } - } - save_scope_as = destination_4 - } - else_if = { - limit = { - NOT = { - this = scope:destination_1 - this = scope:destination_2 - this = scope:destination_3 - this = scope:destination_4 - exists = scope:destination_5 - } - } - save_scope_as = destination_5 - } - } - } - # Plus, set up some variables for us. - ## Progress tallies. - increment_variable_effect = { - VAR = wins_tally - VAL = 0 - } - increment_variable_effect = { - VAR = encounter_tally - VAL = 0 - } - ### Victory tiers. - if = { - limit = { exists = scope:destination_5 } - increment_variable_effect = { - VAR = win_t1_threshold - VAL = 2 - } - increment_variable_effect = { - VAR = win_t2_threshold - VAL = 4 - } - increment_variable_effect = { - VAR = win_t3_threshold - VAL = 5 - } - } - else_if = { - limit = { exists = scope:destination_4 } - increment_variable_effect = { - VAR = win_t1_threshold - VAL = 1 - } - increment_variable_effect = { - VAR = win_t2_threshold - VAL = 2 - } - increment_variable_effect = { - VAR = win_t3_threshold - VAL = 4 - } - } - else = { - increment_variable_effect = { - VAR = win_t1_threshold - VAL = 1 - } - increment_variable_effect = { - VAR = win_t2_threshold - VAL = 2 - } - increment_variable_effect = { - VAR = win_t3_threshold - VAL = 3 - } - } - increment_variable_effect = { - VAR = opportunities_left_tally - VAL = var:win_t3_threshold - } - # Then we start the travel. - task_contract_taker ?= { trigger_event = laamp_base_learning_contract_events.4011 } - } - on_invalidated = { - task_contract_employer = { remove_character_flag = is_in_task_contract_event_chain } - } - on_create = { - scope:contract = { - # Make our gold rewards static. - grab_gold_fuzz_number_effect = yes - save_scope_as = task_contract - set_variable = { - name = gold_success_qualified - value = task_contract_taker.task_contract_success_gold_gain_half_value - } - set_variable = { - name = gold_success_standard - value = task_contract_taker.task_contract_success_gold_gain_full_value - } - # Make sure critical values are a bit higher. - save_scope_value_as = { name = gold_safety_margin value = flag:yes } - set_variable = { - name = gold_success_critical - value = task_contract_taker.task_contract_success_gold_gain_critical_value - } - } - } - - # Rewards - task_contract_reward = { - success_qualified = { - should_print_on_complete = yes - effect = { - task_contract_taker = { play_sound_effect = "event:/DLC/EP3/SFX/UI/Contracts/ep3_ui_contracts_success_on_contract" } - save_scope_as = task_contract - # Camp building extra Learning Rewards: +50%. - if = { - limit = { - task_contract_taker.domicile ?= { has_domicile_parameter = camp_improved_learning_contract_rewards } - } - save_scope_value_as = { name = extra_reward value = flag:yes } - } - # Standard Reward. - else = { - save_scope_value_as = { name = extra_reward value = flag:no } - } - laamp_rewards_disburse_ordinary_currency_effect = { - GOLD = scope:task_contract.var:gold_success_qualified - PRESTIGE = task_contract_success_prestige_gain_half_value - PIETY = task_contract_success_piety_gain_half_value - PROVISIONS = task_contract_failure_provisions_gain_minor_value - OPINION = task_contract_opinion_reduced_reward_value - OPINION_TYPE = succeeded_task_contract_opinion - CONTACT = no - CONTACT_HOOK = no - EXTRA_REWARD = scope:extra_reward - } - task_contract_employer = { remove_character_flag = is_in_task_contract_event_chain } - } - } - success_standard = { - should_print_on_complete = yes - effect = { - save_scope_as = task_contract - # Camp building extra Learning Rewards: +50%. - if = { - limit = { - task_contract_taker.domicile ?= { has_domicile_parameter = camp_improved_learning_contract_rewards } - } - save_scope_value_as = { name = extra_reward value = flag:yes } - } - else = { - save_scope_value_as = { name = extra_reward value = flag:no } - } - laamp_rewards_disburse_ordinary_currency_effect = { - GOLD = scope:task_contract.var:gold_success_standard - PRESTIGE = task_contract_success_prestige_gain_full_value - PIETY = task_contract_success_piety_gain_full_value - PROVISIONS = task_contract_success_provisions_gain_medium_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 = { task_successful_noncrim_contract_count_effect = yes } - task_contract_employer = { remove_character_flag = is_in_task_contract_event_chain } - } - } - success_critical = { - should_print_on_complete = yes - effect = { - task_contract_taker = { play_sound_effect = "event:/DLC/EP3/SFX/UI/Contracts/ep3_ui_contracts_success_on_contract" } - save_scope_as = task_contract - # Camp building extra Learning Rewards: +50%. - if = { - limit = { - task_contract_taker.domicile ?= { has_domicile_parameter = camp_improved_learning_contract_rewards } - } - save_scope_value_as = { name = extra_reward value = flag:yes } - } - else = { - save_scope_value_as = { name = extra_reward value = flag:no } - } - laamp_rewards_disburse_ordinary_currency_effect = { - GOLD = scope:task_contract.var:gold_success_critical - PRESTIGE = task_contract_success_prestige_gain_critical_value - PIETY = task_contract_success_piety_gain_critical_value - PROVISIONS = task_contract_success_provisions_gain_medium_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 - } - task_contract_taker = { task_successful_noncrim_contract_count_effect = yes } - task_contract_employer = { remove_character_flag = is_in_task_contract_event_chain } - } - } - failure_standard = { - positive = no - should_print_on_complete = yes - effect = { - 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 = 0 - PIETY = task_contract_failure_piety_loss_full_value - 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 = { remove_character_flag = is_in_task_contract_event_chain } - } - } - } -} - -# Create a work of learning for a ruler -laamp_base_4021 = { - group = laamp_contracts_learning_group - icon = "gfx/interface/icons/scheme_types/learning.dds" - - travel = yes - use_diplomatic_range = no - - weight = { - # Standard weights. - value = task_contract_weight_default_value - add = laamp_contracts_weight_up_learning_value - # Employer weights. - scope:employer = { - add = { - # Weight up. - ## Traits that appreciate works of learning. - if = { - limit = { has_trait = erudite } - add = task_contract_weight_bonus_employer_has_associated_traits_value - } - if = { - limit = { has_trait = theologian } - add = task_contract_weight_bonus_employer_has_associated_traits_value - } - if = { - limit = { has_trait = eccentric } - add = task_contract_weight_bonus_employer_has_associated_traits_value - } - if = { - limit = { has_trait = patient } - add = task_contract_weight_bonus_employer_has_associated_traits_value - } - if = { - limit = { has_trait = shy } - add = task_contract_weight_bonus_employer_has_associated_traits_value - } - # Weight down. - ## Traits that don't support these gorramned NERDS. - if = { - limit = { has_trait = gregarious } - add = task_contract_weight_malus_employer_has_associated_traits_value - } - if = { - limit = { has_trait = impatient } - add = task_contract_weight_malus_employer_has_associated_traits_value - } - if = { - limit = { has_trait = athletic } - add = task_contract_weight_malus_employer_has_associated_traits_value - } - # Restrictions. - min = task_contract_weight_employer_associated_traits_min_value - max = task_contract_weight_employer_associated_traits_max_value - } - multiply = task_contract_weight_by_tier_value - # This weight is an override, so make sure it's placed at the bottom. - add = task_contract_weight_employer_contact_list_value - } - } - - # Validity Triggers - valid_to_create = { - #You really shouldn't have terrible Learning - root.learning >= average_skill_level - # Standard triggers. - valid_laamp_basic_trigger = { - EMPLOYER = scope:employer - LAAMP = root - } - scope:employer = { is_landed = yes } - employer_has_treasury_to_offer_job_trigger = yes - valid_laamp_sensible_start_trigger = yes - rule_out_dramatic_laamp_employers_trigger = yes - NOT = { - scope:employer = { government_has_flag = government_is_tribal } - } - } - valid_to_accept = { - # Standard triggers. - valid_laamp_basic_accept_only_trigger = yes - valid_laamp_basic_trigger = { - EMPLOYER = scope:employer - LAAMP = root - } - scope:employer = { is_landed = yes } - } - valid_to_continue = { - # Standard triggers. - valid_laamp_basic_trigger = { - EMPLOYER = root.task_contract_employer - LAAMP = root.task_contract_taker - } - task_contract_employer = { is_landed = yes } - } - valid_to_keep = { - # Standard triggers. - valid_laamp_basic_trigger = { - EMPLOYER = root.task_contract_employer - LAAMP = root.task_contract_taker - } - task_contract_employer = { is_landed = yes } - } - - # On_actions - on_accepted = { - task_contract_taker = { play_sound_effect = "event:/DLC/EP3/SFX/UI/Contracts/ep3_ui_contracts_accept_contract" } - # For easy access - save_scope_as = task_contract - task_contract_employer = { save_scope_as = employer } - # How many chapters do you want to write? - task_contract_taker ?= { trigger_event = laamp_base_learning_contract_events.4021 } - #We set up the variables in the intro event - } - on_create = { - scope:contract = { - # Make our gold rewards static. - grab_gold_fuzz_number_effect = yes - save_scope_as = task_contract - set_variable = { - name = gold_success_qualified - value = task_contract_taker.task_contract_success_gold_gain_half_value - } - set_variable = { - name = gold_success_standard - value = task_contract_taker.task_contract_success_gold_gain_full_value - } - # Make sure critical values are a bit higher. - save_scope_value_as = { name = gold_safety_margin value = flag:yes } - set_variable = { - name = gold_success_critical - value = task_contract_taker.task_contract_success_gold_gain_full_value - } - } - } - - # Rewards - task_contract_reward = { - success_qualified = { - should_print_on_complete = yes - effect = { - save_scope_as = task_contract - # Camp building extra Stewardship Rewards: +50%. - if = { - limit = { - task_contract_taker.domicile ?= { has_domicile_parameter = camp_improved_stewardship_contract_rewards } - } - save_scope_value_as = { name = extra_reward value = flag:yes } - } - # Standard Reward. - else = { - save_scope_value_as = { name = extra_reward value = flag:no } - } - laamp_rewards_disburse_ordinary_currency_effect = { - GOLD = scope:task_contract.var:gold_success_qualified - PRESTIGE = 0 - PIETY = 0 - PROVISIONS = task_contract_success_provisions_gain_minor_value - OPINION = task_contract_opinion_reduced_reward_value - OPINION_TYPE = succeeded_task_contract_opinion - CONTACT = no - CONTACT_HOOK = no - EXTRA_REWARD = scope:extra_reward - } - } - } - success_standard = { - should_print_on_complete = yes - effect = { - task_contract_taker = { play_sound_effect = "event:/DLC/EP3/SFX/UI/Contracts/ep3_ui_contracts_success_on_contract" } - save_scope_as = task_contract - # Camp building extra Learning Rewards: +50%. - if = { - limit = { - task_contract_taker.domicile ?= { has_domicile_parameter = camp_improved_learning_contract_rewards } - } - save_scope_value_as = { name = extra_reward value = flag:yes } - } - else = { - save_scope_value_as = { name = extra_reward value = flag:no } - } - laamp_rewards_disburse_ordinary_currency_effect = { - GOLD = scope:task_contract.var:gold_success_standard - PRESTIGE = task_contract_success_prestige_gain_half_value - PIETY = task_contract_success_piety_gain_half_value - 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 = { task_successful_noncrim_contract_count_effect = yes } - } - } - success_critical = { - should_print_on_complete = yes - effect = { - task_contract_taker = { play_sound_effect = "event:/DLC/EP3/SFX/UI/Contracts/ep3_ui_contracts_success_on_contract" } - save_scope_as = task_contract - # Camp building extra Learning Rewards: +50%. - if = { - limit = { - task_contract_taker.domicile ?= { has_domicile_parameter = camp_improved_learning_contract_rewards } - } - save_scope_value_as = { name = extra_reward value = flag:yes } - } - else = { - save_scope_value_as = { name = extra_reward value = flag:no } - } - laamp_rewards_disburse_ordinary_currency_effect = { - GOLD = scope:task_contract.var:gold_success_critical - PRESTIGE = task_contract_success_prestige_gain_full_value - PIETY = task_contract_success_piety_gain_half_value - PROVISIONS = task_contract_success_provisions_gain_medium_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 - } - task_contract_taker = { task_successful_noncrim_contract_count_effect = yes } - } - } - failure_standard = { - positive = no - should_print_on_complete = yes - effect = { - 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 = task_contract_failure_piety_loss_full_value - 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 - } - } - } - } -} - -# Solicit Charity -laamp_base_4031 = { - group = laamp_contracts_learning_group - icon = "gfx/interface/icons/scheme_types/learning.dds" - - travel = yes - use_diplomatic_range = no - - weight = { - # Standard weights. - value = task_contract_weight_default_value - add = laamp_contracts_weight_up_learning_value - # Employer weights. - scope:employer = { - add = { - # Weight up. - ## Traits that take pity on passers by. - if = { - limit = { has_trait = generous } - add = task_contract_weight_bonus_employer_has_associated_traits_value - } - if = { - limit = { has_trait = gregarious } - add = task_contract_weight_bonus_employer_has_associated_traits_value - } - if = { - limit = { has_trait = compassionate } - add = task_contract_weight_bonus_employer_has_associated_traits_value - } - if = { - limit = { has_trait = improvident } - add = task_contract_weight_bonus_employer_has_associated_traits_value - } - if = { - limit = { has_trait = profligate } - add = task_contract_weight_bonus_employer_has_associated_traits_value - } - # Weight down. - ## Traits that don't give a damn about wanderers (or who it would look a bit weird for). - if = { - limit = { has_trait = greedy } - add = task_contract_weight_malus_employer_has_associated_traits_value - } - if = { - limit = { has_trait = callous } - add = task_contract_weight_malus_employer_has_associated_traits_value - } - if = { - limit = { has_trait = sadistic } - add = task_contract_weight_malus_employer_has_associated_traits_value - } - # Restrictions. - min = task_contract_weight_employer_associated_traits_min_value - max = task_contract_weight_employer_associated_traits_max_value - } - multiply = task_contract_weight_by_tier_value - # This weight is an override, so make sure it's placed at the bottom. - add = task_contract_weight_employer_contact_list_value - } - } - - # Validity Triggers - 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 - NOT = { - scope:employer = { government_has_flag = government_is_tribal } - } - # Specific flavour triggers. - laamp_task_contract_employer_not_antisocial_trigger = yes - } - valid_to_accept = { - # Standard triggers. - valid_laamp_basic_accept_only_trigger = yes - valid_laamp_basic_trigger = { - EMPLOYER = scope:employer - LAAMP = root - } - scope:employer = { is_landed = yes } - } - valid_to_continue = { - # Standard triggers. - valid_laamp_basic_trigger = { - EMPLOYER = root.task_contract_employer - LAAMP = root.task_contract_taker - } - task_contract_employer = { is_landed = yes } - } - valid_to_keep = { - # Standard triggers. - valid_laamp_basic_trigger = { - EMPLOYER = root.task_contract_employer - LAAMP = root.task_contract_taker - } - task_contract_employer = { is_landed = yes } - } - - # On_actions - on_accepted = { - task_contract_taker = { play_sound_effect = "event:/DLC/EP3/SFX/UI/Contracts/ep3_ui_contracts_accept_contract" } - # For the intro event. - save_scope_as = task_contract - # Then we start the scheme. - task_contract_taker ?= { - start_scheme = { - type = laamp_base_4031_contract_scheme - contract = root - target_character = root.task_contract_employer - } - # Make a note of what the scheme even is; we'll need this for the event too. - scope:task_contract.scheme = { save_scope_as = scheme } - trigger_event = laamp_base_contract_schemes.4031 - } - } - on_create = { - 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_taker.task_contract_success_gold_gain_full_value - } - # Make sure critical values are a bit higher. - save_scope_value_as = { name = gold_safety_margin value = flag:yes } - set_variable = { - name = gold_success_critical - value = task_contract_taker.task_contract_success_gold_gain_full_value - } - } - } - - # Rewards - task_contract_reward = { - success_standard = { - should_print_on_complete = yes - effect = { - task_contract_taker = { play_sound_effect = "event:/DLC/EP3/SFX/UI/Contracts/ep3_ui_contracts_success_on_contract" } - save_scope_as = task_contract - # Camp building extra Learning Rewards: +50%. - if = { - limit = { - task_contract_taker.domicile ?= { has_domicile_parameter = camp_improved_learning_contract_rewards } - } - save_scope_value_as = { name = extra_reward value = flag:yes } - } - else = { - save_scope_value_as = { name = extra_reward value = flag:no } - } - laamp_rewards_disburse_ordinary_currency_effect = { - GOLD = scope:task_contract.var:gold_success_standard - PRESTIGE = 0 - PIETY = 0 - PROVISIONS = task_contract_success_provisions_gain_major_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 = { task_successful_noncrim_contract_count_effect = yes } - } - } - success_critical = { - should_print_on_complete = yes - effect = { - task_contract_taker = { play_sound_effect = "event:/DLC/EP3/SFX/UI/Contracts/ep3_ui_contracts_success_on_contract" } - save_scope_as = task_contract - # Camp building extra Learning Rewards: +50%. - if = { - limit = { - task_contract_taker.domicile ?= { has_domicile_parameter = camp_improved_learning_contract_rewards } - } - save_scope_value_as = { name = extra_reward value = flag:yes } - } - else = { - save_scope_value_as = { name = extra_reward value = flag:no } - } - laamp_rewards_disburse_ordinary_currency_effect = { - GOLD = scope:task_contract.var:gold_success_critical - PRESTIGE = 0 - PIETY = task_contract_success_piety_gain_half_value - PROVISIONS = task_contract_success_provisions_gain_massive_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 - } - task_contract_taker = { task_successful_noncrim_contract_count_effect = yes } - } - } - failure_standard = { - positive = no - should_print_on_complete = yes - effect = { - 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 = task_contract_failure_piety_loss_full_value - 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 - } - } - } - } -} - -# Sell bogus relics -laamp_base_4041 = { - group = laamp_contracts_criminal_group - icon = "gfx/interface/icons/scheme_types/learning.dds" - - travel = yes - is_criminal = yes - use_diplomatic_range = no - - weight = { - # Standard weights. - value = task_contract_weight_default_value - add = laamp_contracts_weight_up_learning_value - add = laamp_contracts_weight_up_criminal_value - # Employer weights. - scope:employer = { - add = { - # Weight up. - ## Traits that make you gullible, or at least more vulnerable to scam artistry. - if = { - limit = { has_trait = trusting } - add = task_contract_weight_bonus_employer_has_associated_traits_value - } - if = { - limit = { has_trait = fickle } - add = task_contract_weight_bonus_employer_has_associated_traits_value - } - if = { - limit = { has_trait = eccentric } - add = task_contract_weight_bonus_employer_has_associated_traits_value - } - # Weight down. - ## Traits that make you naturally suspicious. - if = { - limit = { has_trait = stubborn } - add = task_contract_weight_malus_employer_has_associated_traits_value - } - if = { - limit = { has_trait = deceitful } - add = task_contract_weight_malus_employer_has_associated_traits_value - } - # Restrictions. - min = task_contract_weight_employer_associated_traits_min_value - max = task_contract_weight_employer_associated_traits_max_value - } - multiply = task_contract_weight_by_tier_value - } - } - - # Validity Triggers - valid_to_create = { - # Standard triggers. - valid_laamp_basic_trigger = { - EMPLOYER = scope:employer - LAAMP = root - } - valid_laamp_sensible_start_trigger = yes - rule_out_dramatic_laamp_employers_trigger = yes - scope:employer = { - NOR = { - government_has_flag = government_is_tribal - faith = { has_doctrine_parameter = unreformed } - } - } - # Specific flavour triggers. - laamp_task_contract_employer_not_antisocial_trigger = yes - } - valid_to_accept = { - # Standard triggers. - valid_laamp_basic_accept_only_trigger = yes - valid_laamp_basic_trigger = { - EMPLOYER = scope:employer - LAAMP = root - } - NOT = { - house = { - has_house_modifier = legacy_adventurer_house_modifier - } - } - scope:employer = { is_landed = yes } - } - valid_to_continue = { - # Standard triggers. - valid_laamp_basic_trigger = { - EMPLOYER = root.task_contract_employer - LAAMP = root.task_contract_taker - } - root.task_contract_taker = { - NOT = { - house = { - has_house_modifier = legacy_adventurer_house_modifier - } - } - } - task_contract_employer = { is_landed = yes } - } - valid_to_keep = { - # Standard triggers. - valid_laamp_basic_trigger = { - EMPLOYER = root.task_contract_employer - LAAMP = root.task_contract_taker - } - task_contract_employer = { is_landed = yes } - } - - # On_actions - on_accepted = { - task_contract_taker = { play_sound_effect = "event:/DLC/EP3/SFX/UI/Contracts/ep3_ui_contracts_accept_contract" } - # For the intro event. - save_scope_as = task_contract - # Then we start the scheme. - task_contract_taker ?= { - start_scheme = { - type = laamp_base_4041_contract_scheme - contract = root - target_character = root.task_contract_employer - } - # Make a note of what the scheme even is; we'll need this for the event too. - scope:task_contract.scheme = { save_scope_as = scheme } - trigger_event = laamp_base_contract_schemes.4041 - } - } - on_create = { - scope:contract = { - set_variable = { - name = animation - value = 0 - } - # 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_crime_value - } - } - } - - # Rewards - task_contract_reward = { - success_standard = { - should_print_on_complete = yes - effect = { - task_contract_taker = { play_sound_effect = "event:/DLC/EP3/SFX/UI/Contracts/ep3_ui_contracts_success_on_contract" } - save_scope_as = task_contract - # Camp building extra Learning/Criminal Rewards: +50%. - if = { - limit = { - task_contract_taker.domicile ?= { - OR = { - has_domicile_parameter = camp_improved_learning_contract_rewards - has_domicile_parameter = camp_improved_criminal_contract_rewards - } - } - } - save_scope_value_as = { name = extra_reward value = flag:yes } - } - else = { - save_scope_value_as = { name = extra_reward value = flag:no } - } - laamp_rewards_disburse_ordinary_currency_effect = { - GOLD = scope:task_contract.var:gold_success_standard - PRESTIGE = 0 - PIETY = 0 - PROVISIONS = 0 - OPINION = task_contract_opinion_crime_success_value - OPINION_TYPE = succeeded_criminal_contract_against_me_opinion - CONTACT = no - CONTACT_HOOK = no - EXTRA_REWARD = scope:extra_reward - } - # Update gallowsbait score. - task_contract_taker = { - laamp_rewards_apply_criminal_xp_effect = { - TRACK = trickster - XP_MIN = gallowsbait_xp_medium_gain - XP_MAX = gallowsbait_xp_medium_gain - } - } - } - } - failure_standard = { - positive = no - should_print_on_complete = yes - effect = { - 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_crime_value - PIETY = task_contract_failure_piety_loss_full_value - PROVISIONS = 0 - OPINION = task_contract_opinion_crime_failure_value - OPINION_TYPE = attempted_criminal_contract_against_me_opinion - CONTACT = no - CONTACT_HOOK = no - EXTRA_REWARD = scope:extra_reward - } - # Update gallowsbait score. - task_contract_taker = { - laamp_rewards_apply_criminal_xp_effect = { - TRACK = trickster - XP_MIN = gallowsbait_xp_minor_gain - XP_MAX = gallowsbait_xp_minor_gain - } - } - } - } - } -} - -#Act as a tutor for ruler's child -laamp_base_4100 = { - group = laamp_contracts_learning_group - icon = "gfx/interface/icons/scheme_types/learning.dds" - - travel = yes - use_diplomatic_range = no - - weight = { - # Standard weights. - value = task_contract_weight_default_value - add = laamp_contracts_weight_up_learning_value - # Employer weights. - scope:employer = { - add = { - # Weight up. - ## Traits that appreciate works of learning. - if = { - limit = { has_trait = erudite } - add = task_contract_weight_bonus_employer_has_associated_traits_value - } - if = { - limit = { has_trait = theologian } - add = task_contract_weight_bonus_employer_has_associated_traits_value - } - if = { - limit = { has_trait = eccentric } - add = task_contract_weight_bonus_employer_has_associated_traits_value - } - if = { - limit = { has_trait = patient } - add = task_contract_weight_bonus_employer_has_associated_traits_value - } - if = { - limit = { has_trait = shy } - add = task_contract_weight_bonus_employer_has_associated_traits_value - } - # Weight down. - ## Traits that don't support these gorramned NERDS. - if = { - limit = { has_trait = gregarious } - add = task_contract_weight_malus_employer_has_associated_traits_value - } - if = { - limit = { has_trait = impatient } - add = task_contract_weight_malus_employer_has_associated_traits_value - } - if = { - limit = { has_trait = athletic } - add = task_contract_weight_malus_employer_has_associated_traits_value - } - # Restrictions. - min = task_contract_weight_employer_associated_traits_min_value - max = task_contract_weight_employer_associated_traits_max_value - } - multiply = task_contract_weight_by_tier_value - # This weight is an override, so make sure it's placed at the bottom. - add = task_contract_weight_employer_contact_list_value - } - } - - # Validity Triggers - 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 - # Specific flavour triggers. - scope:employer = { - any_courtier = { - age >= 6 - age < 15 #Give us a year to complete the contract - is_available = yes - location = scope:employer.location - } - } - } - - valid_to_accept = { - # Standard triggers. - valid_laamp_basic_accept_only_trigger = yes - valid_laamp_basic_trigger = { - EMPLOYER = scope:employer - LAAMP = root - } - scope:employer = { is_landed = yes } - } - - valid_to_continue = { - # Standard triggers. - valid_laamp_basic_trigger = { - EMPLOYER = root.task_contract_employer - LAAMP = root.task_contract_taker - } - task_contract_employer = { is_landed = yes } - root.var:task_contract_target = { age < 15 } - #Since the kid is saved as the target; we automatically invalidate if kid becomes unavailable, right? - } - valid_to_keep = { - # Standard triggers. - valid_laamp_basic_trigger = { - EMPLOYER = root.task_contract_employer - LAAMP = root.task_contract_taker - } - task_contract_employer = { is_landed = yes } - } - - on_create = { - scope:contract = { - save_scope_as = task_contract - task_contract_employer = { - random_courtier = { - limit = { - age >= 6 - age < 15 #Give us a year to complete the contract - is_available = yes - location = prev.location #The employer's location - } - weight = { - base = 1 - #Prioritize relevant children - modifier = { - add = 10 - is_primary_heir_of = scope:task_contract.task_contract_employer - } - modifier = { - add = 5 - trigger_if = { - limit = { - scope:task_contract.task_contract_employer = { has_realm_law = female_only_law } - } - is_female = yes - } - trigger_else = { always = no } - } - modifier = { - add = 5 - trigger_if = { - limit = { - scope:task_contract.task_contract_employer = { has_realm_law = male_only_law } - } - is_male = yes - } - trigger_else = { always = no } - } - } - save_scope_as = task_contract_target - } - } - set_variable = { - name = task_contract_employer - value = scope:task_contract.task_contract_employer - } - set_task_contract_target = scope:task_contract_target - set_variable = { - name = task_contract_target - value = scope:task_contract.task_contract_target - } - # Make our gold rewards static. - grab_gold_fuzz_number_effect = yes - set_variable = { - name = gold_success_standard - value = task_contract_taker.task_contract_success_gold_gain_full_value - } - # Make sure critical values are a bit higher. - save_scope_value_as = { name = gold_safety_margin value = flag:yes } - set_variable = { - name = gold_success_critical - value = task_contract_taker.task_contract_success_gold_gain_critical_value - } - } - } - - # On_actions - on_accepted = { - # For easy access - save_scope_as = task_contract - task_contract_employer = { save_scope_as = employer } - task_contract_target = { save_scope_as = child_to_educate } - # Trigger the first education event - task_contract_taker ?= { trigger_event = laamp_base_learning_contract_events.4100 } - # Plus, set up some variables for us. - ## Progress tallies. - increment_variable_effect = { - VAR = wins_tally - VAL = 0 - } - increment_variable_effect = { - VAR = educational_moments_left - VAL = 3 - } - ### Victory tiers. - increment_variable_effect = { - VAR = win_t1_threshold - VAL = 2 - } - increment_variable_effect = { - VAR = win_t2_threshold - VAL = 3 - } - ## Roll difficulties. - increment_variable_effect = { - VAR = learning_diff - VAL = 10 - } - increment_variable_effect = { - VAR = topic_diff - VAL = 10 - } - increment_variable_effect = { - VAR = support_person_diff - VAL = 5 - } - increment_variable_effect = { - VAR = stress_charge - VAL = 20 - } - } - - on_invalidated = { - task_contract_taker = { - remove_character_flag = is_in_task_contract_event_chain - } - if = { - limit = { - root.task_contract_taker = { - any_character_active_contract = { - this = root - } - } - } - task_contract_employer = { - save_scope_as = task_contract_employer - } - save_scope_value_as = { - name = task_contract_tier - value = root.task_contract_tier - } - var:task_contract_target = { - save_scope_as = task_contract_target - } - - task_contract_taker = { - set_variable = { - name = invalidated_task_contract_type - value = flag:laamp_base_4100 - } - } - if = { - limit = { - task_contract_employer = { - is_alive = no - } - } - task_contract_employer.primary_title.holder ?= { - save_scope_as = employer_heir - } - task_contract_taker = { - save_scope_value_as = { - name = task_contract_invalidation_reason - value = flag:employer_dead - } - trigger_event = ep3_contract_event.0012 - - } - } - else_if = { - limit = { - scope:task_contract_target = { - is_alive = no - } - } - task_contract_taker = { - save_scope_value_as = { - name = task_contract_invalidation_reason - value = flag:target_dead - } - trigger_event = ep3_contract_event.0012 - } - } - } - } - # Rewards - task_contract_reward = { - #Need at least 2 successful teaching moments - success_standard = { - should_print_on_complete = yes - effect = { - save_scope_as = task_contract - # Camp building extra Learning Rewards: +50%. - if = { - limit = { - task_contract_taker.domicile ?= { has_domicile_parameter = camp_improved_learning_contract_rewards } - } - save_scope_value_as = { name = extra_reward value = flag:yes } - } - else = { - save_scope_value_as = { name = extra_reward value = flag:no } - } - # 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 = task_contract_success_provisions_gain_medium_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 = { task_successful_noncrim_contract_count_effect = yes } - } - } - success_critical = { - should_print_on_complete = yes - effect = { - save_scope_as = task_contract - # Camp building extra Learning Rewards: +50%. - if = { - limit = { - task_contract_taker.domicile ?= { has_domicile_parameter = camp_improved_learning_contract_rewards } - } - save_scope_value_as = { name = extra_reward value = flag:yes } - } - else = { - save_scope_value_as = { name = extra_reward value = flag:no } - } - # Critical Rewards. - laamp_rewards_disburse_ordinary_currency_effect = { - GOLD = scope:task_contract.var:gold_success_critical - PRESTIGE = task_contract_success_prestige_gain_critical_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 - } - task_contract_taker = { task_successful_noncrim_contract_count_effect = yes } - } - } - failure_standard = { - positive = no - should_print_on_complete = yes - effect = { - save_scope_value_as = { name = extra_reward value = flag:no } - # Standard Penalties. - laamp_rewards_disburse_ordinary_currency_effect = { - GOLD = 0 - PRESTIGE = 0 - 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 - } - } - } - } -} - - - - - - - - - - - -################################################## -# JUSTICAR CONTRACTS - -# Protect the innocent -laamp_base_6001 = { - group = laamp_contracts_justicar_group - icon = "gfx/interface/icons/scheme_types/war.dds" - - travel = yes - use_diplomatic_range = no - - weight = { - # Standard weights. - value = task_contract_weight_default_value - add = laamp_contracts_weight_up_prowess_value - # Employer weights. - scope:employer = { - add = { - # Weight up. - ## Traits that value prosperity in their subjects. - if = { - limit = { has_trait = greedy } - add = task_contract_weight_bonus_employer_has_associated_traits_value - } - if = { - limit = { has_trait = generous } - add = task_contract_weight_bonus_employer_has_associated_traits_value - } - if = { - limit = { has_trait = humble } - add = task_contract_weight_bonus_employer_has_associated_traits_value - } - if = { - limit = { has_trait = avaricious } - add = task_contract_weight_bonus_employer_has_associated_traits_value - } - # Weight down. - ## Traits that won't do favours for some grubby merchant. - if = { - limit = { has_trait = arrogant } - add = task_contract_weight_malus_employer_has_associated_traits_value - } - if = { - limit = { has_trait = callous } - add = task_contract_weight_malus_employer_has_associated_traits_value - } - # Restrictions. - min = task_contract_weight_employer_associated_traits_min_value - max = task_contract_weight_employer_associated_traits_max_value - } - multiply = task_contract_weight_by_tier_value - # This weight is an override, so make sure it's placed at the bottom. - add = task_contract_weight_employer_contact_list_value - } - } - - # Validity Triggers - 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 - rule_out_dramatic_laamp_employers_trigger = yes - NOT = { - scope:employer = { government_has_flag = government_is_tribal } - } - } - valid_to_accept = { - # Standard triggers. - valid_laamp_basic_accept_only_trigger = yes - valid_laamp_basic_trigger = { - EMPLOYER = scope:employer - LAAMP = root - } - scope:employer = { is_landed = yes } - } - valid_to_continue = { - # Standard triggers. - valid_laamp_basic_trigger = { - EMPLOYER = root.task_contract_employer - LAAMP = root.task_contract_taker - } - task_contract_employer = { is_landed = yes } - } - valid_to_keep = { - # Standard triggers. - valid_laamp_basic_trigger = { - EMPLOYER = root.task_contract_employer - LAAMP = root.task_contract_taker - } - task_contract_employer = { is_landed = yes } - } - - # On_actions - on_accepted = { - task_contract_taker = { play_sound_effect = "event:/DLC/EP3/SFX/UI/Contracts/ep3_ui_contracts_accept_contract" } - # For the intro event. - save_scope_as = task_contract - task_contract_employer = { save_scope_as = employer } - # Then we start the scheme. - task_contract_taker ?= { - start_scheme = { - type = laamp_base_6001_contract_scheme - contract = root - target_character = root.task_contract_employer - } - # Make a note of what the scheme even is; we'll need this for the event too. - scope:task_contract.scheme = { save_scope_as = scheme } - trigger_event = laamp_base_contract_schemes.6001 - } - } - on_create = { - 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_taker.task_contract_success_gold_gain_full_value - } - # Make sure critical values are a bit higher. - save_scope_value_as = { name = gold_safety_margin value = flag:yes } - set_variable = { - name = gold_success_critical - value = task_contract_taker.task_contract_success_gold_gain_full_value - } - } - } - - # Rewards - task_contract_reward = { - success_standard = { - should_print_on_complete = yes - effect = { - task_contract_taker = { play_sound_effect = "event:/DLC/EP3/SFX/UI/Contracts/ep3_ui_contracts_success_on_contract" } - save_scope_as = task_contract - save_scope_value_as = { name = extra_reward value = flag:no } - # Standard Rewards. - laamp_rewards_disburse_ordinary_currency_effect = { - GOLD = scope:task_contract.var:gold_success_standard - PRESTIGE = 0 - PIETY = 0 - PROVISIONS = task_contract_success_provisions_gain_medium_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 = { task_successful_noncrim_contract_count_effect = yes } - task_contract_taker = { - # Update gallowsbait score. - lower_gallowsbait_xp_effect = { VALUE = -5 } - # Update Knight-Errant score. - laamp_rewards_apply_knight_errant_xp_effect = { - XP_MAX = knight_errant_xp_minor_gain - XP_MIN = knight_errant_xp_minor_gain - } - task_contract_justicar_contract_tracker_effect = yes - } - } - } - success_critical = { - should_print_on_complete = yes - effect = { - task_contract_taker = { play_sound_effect = "event:/DLC/EP3/SFX/UI/Contracts/ep3_ui_contracts_success_on_contract" } - save_scope_as = task_contract - save_scope_value_as = { name = extra_reward value = flag:no } - # Standard Rewards. - laamp_rewards_disburse_ordinary_currency_effect = { - GOLD = scope:task_contract.var:gold_success_critical - PRESTIGE = task_contract_success_prestige_gain_half_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 - } - task_contract_taker = { task_successful_noncrim_contract_count_effect = yes } - task_contract_taker = { - # Update gallowsbait score. - lower_gallowsbait_xp_effect = { VALUE = -10 } - # Update Knight-Errant score. - laamp_rewards_apply_knight_errant_xp_effect = { - XP_MAX = knight_errant_xp_medium_gain - XP_MIN = knight_errant_xp_medium_gain - } - task_contract_justicar_contract_tracker_effect = yes - } - } - } - failure_standard = { - positive = no - should_print_on_complete = yes - effect = { - 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 - } - } - } - } -} - -# Rescue a Fair Non-Combatant Gender -laamp_base_6011 = { - group = laamp_contracts_justicar_group - icon = "gfx/interface/icons/scheme_types/war.dds" - - travel = yes - use_diplomatic_range = no - - weight = { - # Standard weights. - value = task_contract_weight_default_value - add = laamp_contracts_weight_up_prowess_value - # Employer weights. - scope:employer = { - add = { - # Weight up. - if = { - limit = { has_trait = gallant } - add = task_contract_weight_bonus_employer_has_associated_traits_value - } - if = { - limit = { has_trait = gregarious } - add = task_contract_weight_bonus_employer_has_associated_traits_value - } - - # Weight down - if = { - limit = { has_trait = callous } - add = task_contract_weight_malus_employer_has_associated_traits_value - } - # Restrictions. - min = task_contract_weight_employer_associated_traits_min_value - max = task_contract_weight_employer_associated_traits_max_value - } - multiply = task_contract_weight_by_tier_value - # This weight is an override, so make sure it's placed at the bottom. - add = task_contract_weight_employer_contact_list_value - } - } - - # Validity Triggers - 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 - rule_out_dramatic_laamp_employers_trigger = yes - NOT = { - scope:employer = { government_has_flag = government_is_tribal } - scope:employer.capital_province = { is_wooded_trigger = yes } - } - } - valid_to_accept = { - # Standard triggers. - valid_laamp_basic_accept_only_trigger = yes - valid_laamp_basic_trigger = { - EMPLOYER = scope:employer - LAAMP = root - } - scope:employer = { is_landed = yes } - } - valid_to_continue = { - # Standard triggers. - valid_laamp_basic_trigger = { - EMPLOYER = root.task_contract_employer - LAAMP = root.task_contract_taker - } - task_contract_employer = { is_landed = yes } - } - valid_to_keep = { - # Standard triggers. - valid_laamp_basic_trigger = { - EMPLOYER = root.task_contract_employer - LAAMP = root.task_contract_taker - } - task_contract_employer = { is_landed = yes } - } - - # On_actions - on_accepted = { - task_contract_taker = { play_sound_effect = "event:/DLC/EP3/SFX/UI/Contracts/ep3_ui_contracts_accept_contract" } - # For the intro event. - save_scope_as = task_contract - task_contract_employer = { save_scope_as = employer } - # Then we start the scheme. - task_contract_taker ?= { - start_scheme = { - type = laamp_base_6011_contract_scheme - contract = root - target_character = root.task_contract_employer - } - # Make a note of what the scheme even is; we'll need this for the event too. - scope:task_contract.scheme = { save_scope_as = scheme } - trigger_event = laamp_base_contract_schemes.6011 - } - } - - # Rewards - task_contract_reward = { - success_standard = { - should_print_on_complete = yes - effect = { - task_contract_taker = { play_sound_effect = "event:/DLC/EP3/SFX/UI/Contracts/ep3_ui_contracts_success_on_contract" } - save_scope_as = task_contract - save_scope_value_as = { name = extra_reward value = flag:no } - # Standard Rewards. - laamp_rewards_disburse_ordinary_currency_effect = { - GOLD = 0 - PRESTIGE = task_contract_success_prestige_gain_half_value - PIETY = task_contract_success_provisions_gain_minor_value - 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 = { task_successful_noncrim_contract_count_effect = yes } - task_contract_taker = { - # Update gallowsbait score. - lower_gallowsbait_xp_effect = { VALUE = -5 } - # Update Knight-Errant score. - laamp_rewards_apply_knight_errant_xp_effect = { - XP_MAX = knight_errant_xp_minor_gain - XP_MIN = knight_errant_xp_minor_gain - } - task_contract_justicar_contract_tracker_effect = yes - } - } - } - failure_standard = { - positive = no - should_print_on_complete = yes - effect = { - 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 - } - } - } - } -} - -# Participate in a Chivalry Play -laamp_base_6021 = { - group = laamp_contracts_justicar_group - icon = "gfx/interface/icons/scheme_types/diplomacy.dds" - - travel = yes - use_diplomatic_range = no - - weight = { - # Standard weights. - value = task_contract_weight_default_value - add = laamp_contracts_weight_up_diplomacy_value - # Employer weights. - scope:employer = { - add = { - # Weight up. - if = { - limit = { has_trait = gallant } - add = task_contract_weight_bonus_employer_has_associated_traits_value - } - if = { - limit = { has_trait = gregarious } - add = task_contract_weight_bonus_employer_has_associated_traits_value - } - if = { - limit = { has_trait = lifestyle_reveler } - add = task_contract_weight_bonus_employer_has_associated_traits_value - } - - # Weight down - if = { - limit = { has_trait = callous } - add = task_contract_weight_malus_employer_has_associated_traits_value - } - # Restrictions. - min = task_contract_weight_employer_associated_traits_min_value - max = task_contract_weight_employer_associated_traits_max_value - } - multiply = task_contract_weight_by_tier_value - # This weight is an override, so make sure it's placed at the bottom. - add = task_contract_weight_employer_contact_list_value - } - } - - # Validity Triggers - 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 - rule_out_dramatic_laamp_employers_trigger = yes - NOT = { - scope:employer = { government_has_flag = government_is_tribal } - } - } - valid_to_accept = { - # Standard triggers. - valid_laamp_basic_accept_only_trigger = yes - valid_laamp_basic_trigger = { - EMPLOYER = scope:employer - LAAMP = root - } - scope:employer = { is_landed = yes } - } - valid_to_continue = { - # Standard triggers. - valid_laamp_basic_trigger = { - EMPLOYER = root.task_contract_employer - LAAMP = root.task_contract_taker - } - task_contract_employer = { is_landed = yes } - } - valid_to_keep = { - # Standard triggers. - valid_laamp_basic_trigger = { - EMPLOYER = root.task_contract_employer - LAAMP = root.task_contract_taker - } - task_contract_employer = { is_landed = yes } - } - - # On_actions - on_accepted = { - task_contract_taker = { play_sound_effect = "event:/DLC/EP3/SFX/UI/Contracts/ep3_ui_contracts_accept_contract" } - # For the intro event. - save_scope_as = task_contract - task_contract_employer = { save_scope_as = employer } - # Then we start the scheme. - task_contract_taker ?= { - start_scheme = { - type = laamp_base_6021_contract_scheme - contract = root - target_character = root.task_contract_employer - } - # Make a note of what the scheme even is; we'll need this for the event too. - scope:task_contract.scheme = { save_scope_as = scheme } - trigger_event = laamp_base_contract_schemes.6021 - } - } - - # Rewards - task_contract_reward = { - success_standard = { - should_print_on_complete = yes - effect = { - task_contract_taker = { play_sound_effect = "event:/DLC/EP3/SFX/UI/Contracts/ep3_ui_contracts_success_on_contract" } - save_scope_as = task_contract - save_scope_value_as = { name = extra_reward value = flag:no } - # Standard Rewards. - laamp_rewards_disburse_ordinary_currency_effect = { - GOLD = 0 - PRESTIGE = task_contract_success_prestige_gain_full_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 = { task_successful_noncrim_contract_count_effect = yes } - task_contract_taker = { - # Update Knight-Errant score. - laamp_rewards_apply_knight_errant_xp_effect = { - XP_MAX = knight_errant_xp_minor_gain - XP_MIN = knight_errant_xp_minor_gain - } - task_contract_justicar_contract_tracker_effect = yes - } - } - } - failure_standard = { - positive = no - should_print_on_complete = yes - effect = { - 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 - } - } - } - } -} - -# Do a Pass d'Armes -laamp_base_6031 = { - group = laamp_contracts_justicar_group - icon = "gfx/interface/icons/scheme_types/martial.dds" - - travel = yes - use_diplomatic_range = no - - weight = { - # Standard weights. - value = task_contract_weight_default_value - add = laamp_contracts_weight_up_prowess_value - # Employer weights. - scope:employer = { - add = { - # Weight up. - if = { - limit = { has_trait = gallant } - add = task_contract_weight_bonus_employer_has_associated_traits_value - } - if = { - limit = { has_trait = gregarious } - add = task_contract_weight_bonus_employer_has_associated_traits_value - } - # Weight down - if = { - limit = { has_trait = callous } - add = task_contract_weight_malus_employer_has_associated_traits_value - } - # Restrictions. - min = task_contract_weight_employer_associated_traits_min_value - max = task_contract_weight_employer_associated_traits_max_value - } - multiply = task_contract_weight_by_tier_value - # This weight is an override, so make sure it's placed at the bottom. - add = task_contract_weight_employer_contact_list_value - } - } - - # Validity Triggers - 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 - rule_out_dramatic_laamp_employers_trigger = yes - NOT = { - scope:employer = { government_has_flag = government_is_tribal } - } - } - valid_to_accept = { - # Standard triggers. - valid_laamp_basic_accept_only_trigger = yes - valid_laamp_basic_trigger = { - EMPLOYER = scope:employer - LAAMP = root - } - scope:employer = { is_landed = yes } - } - valid_to_continue = { - # Standard triggers. - valid_laamp_basic_trigger = { - EMPLOYER = root.task_contract_employer - LAAMP = root.task_contract_taker - } - task_contract_employer = { is_landed = yes } - } - valid_to_keep = { - # Standard triggers. - valid_laamp_basic_trigger = { - EMPLOYER = root.task_contract_employer - LAAMP = root.task_contract_taker - } - task_contract_employer = { is_landed = yes } - } - - # On_actions - on_accepted = { - task_contract_taker = { play_sound_effect = "event:/DLC/EP3/SFX/UI/Contracts/ep3_ui_contracts_accept_contract" } - # For the intro event. - save_scope_as = task_contract - task_contract_employer = { save_scope_as = employer } - # Then we start the scheme. - task_contract_taker ?= { - start_scheme = { - type = laamp_base_6031_contract_scheme - contract = root - target_character = root.task_contract_employer - } - # Make a note of what the scheme even is; we'll need this for the event too. - scope:task_contract.scheme = { save_scope_as = scheme } - trigger_event = laamp_base_contract_schemes.6031 - } - } - on_create = { - 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_taker.task_contract_success_gold_gain_full_value - } - } - } - - # Rewards - task_contract_reward = { - success_standard = { - should_print_on_complete = yes - effect = { - task_contract_taker = { play_sound_effect = "event:/DLC/EP3/SFX/UI/Contracts/ep3_ui_contracts_success_on_contract" } - save_scope_as = task_contract - save_scope_value_as = { name = extra_reward value = flag:no } - # Standard Rewards. - 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 = { task_successful_noncrim_contract_count_effect = yes } - task_contract_taker = { - # Update gallowsbait score. - lower_gallowsbait_xp_effect = { VALUE = -10 } - # Update Knight-Errant score. - laamp_rewards_apply_knight_errant_xp_effect = { - XP_MAX = knight_errant_xp_minor_gain - XP_MIN = knight_errant_xp_minor_gain - } - task_contract_justicar_contract_tracker_effect = yes - } - } - } - failure_standard = { - positive = no - should_print_on_complete = yes - effect = { - 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 - } - } - } - } -} - - - - - - - - - - - -################################################## -# DEPRECATED CONTRACTS - -# Help train local MaA -laamp_base_1021 = { - group = laamp_contracts_martial_group - icon = "gfx/interface/icons/scheme_types/martial.dds" - - travel = yes - use_diplomatic_range = no - - weight = { - # Standard weights. - value = task_contract_weight_default_value - add = laamp_contracts_weight_up_martial_value - add = laamp_contracts_weight_up_martial_slight_value - # Employer weights. - scope:employer = { - add = { - # Weight up. - ## Traits that believe in readiness for war. - if = { - limit = { has_trait = brave } - add = task_contract_weight_bonus_employer_has_associated_traits_value - } - if = { - limit = { has_trait = wrathful } - add = task_contract_weight_bonus_employer_has_associated_traits_value - } - if = { - limit = { has_trait = diligent } - add = task_contract_weight_bonus_employer_has_associated_traits_value - } - # Weight down. - ## Traits that don't think they gain anything from this. - if = { - limit = { has_trait = arrogant } - add = task_contract_weight_malus_employer_has_associated_traits_value - } - # Restrictions. - min = task_contract_weight_employer_associated_traits_min_value - max = task_contract_weight_employer_associated_traits_max_value - } - multiply = task_contract_weight_by_tier_value - # This weight is an override, so make sure it's placed at the bottom. - add = task_contract_weight_employer_contact_list_value - } - } - - # Validity Triggers - valid_to_create = { - always = no - # Standard triggers. - valid_laamp_basic_trigger = { - EMPLOYER = scope:employer - LAAMP = root - } - valid_laamp_sensible_start_trigger = yes - rule_out_dramatic_laamp_employers_trigger = yes - } - valid_to_accept = { - # Standard triggers. - valid_laamp_basic_accept_only_trigger = yes - valid_laamp_basic_trigger = { - EMPLOYER = scope:employer - LAAMP = root - } - scope:employer = { is_landed = yes } - } - valid_to_continue = { - # Standard triggers. - valid_laamp_basic_trigger = { - EMPLOYER = root.task_contract_employer - LAAMP = root.task_contract_taker - } - task_contract_employer = { is_landed = yes } - } - valid_to_keep = { - # Standard triggers. - valid_laamp_basic_trigger = { - EMPLOYER = root.task_contract_employer - LAAMP = root.task_contract_taker - } - task_contract_employer = { is_landed = yes } - } - - # On_actions - on_accepted = { - task_contract_taker = { play_sound_effect = "event:/DLC/EP3/SFX/UI/Contracts/ep3_ui_contracts_accept_contract" } - # For the intro event. - save_scope_as = task_contract - # Then we start the scheme. - task_contract_taker ?= { - #start_scheme = { - # type = laamp_base_1021_contract_scheme - # contract = root - # target_character = root.task_contract_employer - #} - # Make a note of what the scheme even is; we'll need this for the event too. - #scope:task_contract.scheme = { save_scope_as = scheme } - trigger_event = laamp_base_contract_schemes.1021 - } - } - - # Rewards - task_contract_reward = { - success_standard = { - should_print_on_complete = yes - effect = { - task_contract_taker = { play_sound_effect = "event:/DLC/EP3/SFX/UI/Contracts/ep3_ui_contracts_success_on_contract" } - save_scope_as = task_contract - save_scope_value_as = { name = extra_reward value = flag:no } - # Standard Rewards. - laamp_rewards_disburse_ordinary_currency_effect = { - GOLD = task_contract_success_gold_gain_full_value - PRESTIGE = task_contract_success_prestige_gain_half_value - PIETY = 0 - PROVISIONS = task_contract_success_provisions_gain_major_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 = { task_successful_noncrim_contract_count_effect = yes } - # Update Knight-Errant score. - task_contract_taker = { - laamp_rewards_apply_knight_errant_xp_effect = { - XP_MAX = knight_errant_xp_minor_gain - XP_MIN = knight_errant_xp_minor_gain - } - task_contract_justicar_contract_tracker_effect = yes - } - } - } - success_critical = { - should_print_on_complete = yes - effect = { - task_contract_taker = { play_sound_effect = "event:/DLC/EP3/SFX/UI/Contracts/ep3_ui_contracts_success_on_contract" } - save_scope_as = task_contract - save_scope_value_as = { name = extra_reward value = flag:no } - # Critical Rewards. - laamp_rewards_disburse_ordinary_currency_effect = { - GOLD = task_contract_success_gold_gain_full_value - PRESTIGE = task_contract_success_prestige_gain_full_value - PIETY = 0 - PROVISIONS = task_contract_success_provisions_gain_massive_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 - } - task_contract_taker = { task_successful_noncrim_contract_count_effect = yes } - # Update Knight-Errant score. - task_contract_taker = { - laamp_rewards_apply_knight_errant_xp_effect = { - XP_MAX = knight_errant_xp_medium_gain - XP_MIN = knight_errant_xp_medium_gain - } - task_contract_justicar_contract_tracker_effect = yes - } - } - } - failure_standard = { - positive = no - should_print_on_complete = yes - effect = { - 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 - } - } - } - } -} - -# Garrison service -laamp_base_1031 = { - group = laamp_contracts_hireling_group - icon = "gfx/interface/icons/scheme_types/martial.dds" - - travel = yes - use_diplomatic_range = no - - weight = { - # Standard weights. - value = task_contract_weight_default_value - add = laamp_contracts_weight_up_martial_value - add = laamp_contracts_weight_up_martial_slight_value - # Employer weights. - scope:employer = { - add = { - # Weight up. - ## Traits that care about defence. - ### We don't check paranoid because they're already filtered out due to this being relative strangers. - if = { - limit = { has_trait = stubborn } - add = task_contract_weight_bonus_employer_has_associated_traits_value - } - if = { - limit = { has_trait = greedy } - add = task_contract_weight_bonus_employer_has_associated_traits_value - } - # Weight down. - ## Traits that think their defences are definitely fiiiiiine. - if = { - limit = { has_trait = arrogant } - add = task_contract_weight_malus_employer_has_associated_traits_value - } - if = { - limit = { has_trait = trusting } - add = task_contract_weight_malus_employer_has_associated_traits_value - } - if = { - limit = { has_trait = fickle } - add = task_contract_weight_malus_employer_has_associated_traits_value - } - # Restrictions. - min = task_contract_weight_employer_associated_traits_min_value - max = task_contract_weight_employer_associated_traits_max_value - } - multiply = task_contract_weight_by_tier_value - # This weight is an override, so make sure it's placed at the bottom. - add = task_contract_weight_employer_contact_list_value - } - } - - # Validity Triggers - valid_to_create = { - always = no - # Standard triggers. - valid_laamp_basic_trigger = { - EMPLOYER = scope:employer - LAAMP = root - } - valid_laamp_sensible_start_trigger = yes - NOT = { - scope:employer = { government_has_flag = government_is_tribal } - } - # Specific flavour triggers. - laamp_task_contract_employer_not_antisocial_trigger = yes - } - valid_to_accept = { - # Standard triggers. - valid_laamp_basic_accept_only_trigger = yes - valid_laamp_basic_trigger = { - EMPLOYER = scope:employer - LAAMP = root - } - scope:employer = { is_landed = yes } - } - valid_to_continue = { - # Standard triggers. - valid_laamp_basic_trigger = { - EMPLOYER = root.task_contract_employer - LAAMP = root.task_contract_taker - } - task_contract_employer = { is_landed = yes } - } - valid_to_keep = { - # Standard triggers. - valid_laamp_basic_trigger = { - EMPLOYER = root.task_contract_employer - LAAMP = root.task_contract_taker - } - task_contract_employer = { is_landed = yes } - } - - # On_actions - on_accepted = { - task_contract_taker = { play_sound_effect = "event:/DLC/EP3/SFX/UI/Contracts/ep3_ui_contracts_accept_contract" } - # For the intro event. - save_scope_as = task_contract - # Then we start the scheme. - task_contract_taker ?= { - #start_scheme = { - # type = laamp_base_1031_contract_scheme - # contract = root - # target_character = root.task_contract_employer - #} - # Make a note of what the scheme even is; we'll need this for the event too. - #scope:task_contract.scheme = { save_scope_as = scheme } - trigger_event = laamp_base_contract_schemes.1031 - } - } - - # Rewards - task_contract_reward = { - success_standard = { - should_print_on_complete = yes - effect = { - task_contract_taker = { play_sound_effect = "event:/DLC/EP3/SFX/UI/Contracts/ep3_ui_contracts_success_on_contract" } - save_scope_as = task_contract - save_scope_value_as = { name = extra_reward value = flag:no } - # Standard Rewards. - laamp_rewards_disburse_ordinary_currency_effect = { - GOLD = task_contract_success_gold_gain_full_value - PRESTIGE = 0 - PIETY = 0 - PROVISIONS = task_contract_success_provisions_gain_major_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 = { task_successful_noncrim_contract_count_effect = yes } - # Update Knight-Errant score. - task_contract_taker = { - laamp_rewards_apply_knight_errant_xp_effect = { - XP_MAX = knight_errant_xp_minor_gain - XP_MIN = knight_errant_xp_minor_gain - } - task_contract_justicar_contract_tracker_effect = yes - } - } - } - success_critical = { - should_print_on_complete = yes - effect = { - task_contract_taker = { play_sound_effect = "event:/DLC/EP3/SFX/UI/Contracts/ep3_ui_contracts_success_on_contract" } - save_scope_as = task_contract - save_scope_value_as = { name = extra_reward value = flag:no } - # Critical Rewards. - laamp_rewards_disburse_ordinary_currency_effect = { - GOLD = task_contract_success_gold_gain_full_value - PRESTIGE = task_contract_success_prestige_gain_half_value - PIETY = 0 - PROVISIONS = task_contract_success_provisions_gain_massive_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 - } - task_contract_taker = { task_successful_noncrim_contract_count_effect = yes } - # Update Knight-Errant score. - task_contract_taker = { - laamp_rewards_apply_knight_errant_xp_effect = { - XP_MAX = knight_errant_xp_minor_gain - XP_MIN = knight_errant_xp_minor_gain - } - task_contract_justicar_contract_tracker_effect = yes - } - } - } - failure_standard = { - positive = no - should_print_on_complete = yes - effect = { - 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 - } - } - } - } -} - -# Hunt in the wilds -laamp_base_5001 = { - group = laamp_contracts_hunting_group - icon = "gfx/interface/icons/scheme_types/war.dds" - - travel = yes - use_diplomatic_range = no - - weight = { - # Standard weights. - value = task_contract_weight_default_value - add = laamp_contracts_weight_up_prowess_value - # Employer weights. - scope:employer = { - add = { - # Weight up. - ## Traits that hate being outdoors. - if = { - limit = { has_trait = shy } - add = task_contract_weight_bonus_employer_has_associated_traits_value - } - if = { - limit = { has_trait = lazy } - add = task_contract_weight_bonus_employer_has_associated_traits_value - } - if = { - limit = { has_trait = fickle } - add = task_contract_weight_bonus_employer_has_associated_traits_value - } - if = { - limit = { has_trait = craven } - add = task_contract_weight_bonus_employer_has_associated_traits_value - } - # Weight down. - ## Traits that love being outside. - if = { - limit = { has_trait = gregarious } - add = task_contract_weight_malus_employer_has_associated_traits_value - } - if = { - limit = { has_trait = diligent } - add = task_contract_weight_malus_employer_has_associated_traits_value - } - if = { - limit = { has_trait = stubborn } - add = task_contract_weight_malus_employer_has_associated_traits_value - } - # Restrictions. - min = task_contract_weight_employer_associated_traits_min_value - max = task_contract_weight_employer_associated_traits_max_value - } - multiply = task_contract_weight_by_tier_value - # This weight is an override, so make sure it's placed at the bottom. - add = task_contract_weight_employer_contact_list_value - } - } - - # Validity Triggers - valid_to_create = { - always = no - # Standard triggers. - valid_laamp_basic_trigger = { - EMPLOYER = scope:employer - LAAMP = root - } - valid_laamp_sensible_start_trigger = yes - rule_out_dramatic_laamp_employers_trigger = yes - # Specific flavour triggers. - scope:employer = { - NOR = { - has_trait = lifestyle_hunter - has_trait = athletic - has_trait = brave - } - } - } - valid_to_accept = { - # Standard triggers. - valid_laamp_basic_accept_only_trigger = yes - valid_laamp_basic_trigger = { - EMPLOYER = scope:employer - LAAMP = root - } - scope:employer = { is_landed = yes } - } - valid_to_continue = { - # Standard triggers. - valid_laamp_basic_trigger = { - EMPLOYER = root.task_contract_employer - LAAMP = root.task_contract_taker - } - task_contract_employer = { is_landed = yes } - } - valid_to_keep = { - # Standard triggers. - valid_laamp_basic_trigger = { - EMPLOYER = root.task_contract_employer - LAAMP = root.task_contract_taker - } - task_contract_employer = { is_landed = yes } - } - - # On_actions - on_accepted = { - task_contract_taker = { play_sound_effect = "event:/DLC/EP3/SFX/UI/Contracts/ep3_ui_contracts_accept_contract" } - # For the intro event. - save_scope_as = task_contract - # Then we start the scheme. - task_contract_taker ?= { - #start_scheme = { - # type = laamp_base_5001_contract_scheme - # contract = root - # target_character = root.task_contract_employer - #} - # Make a note of what the scheme even is; we'll need this for the event too. - #scope:task_contract.scheme = { save_scope_as = scheme } - trigger_event = laamp_base_contract_schemes.5001 - } - } - - # Rewards - task_contract_reward = { - success_standard = { - should_print_on_complete = yes - effect = { - task_contract_taker = { play_sound_effect = "event:/DLC/EP3/SFX/UI/Contracts/ep3_ui_contracts_success_on_contract" } - save_scope_as = task_contract - save_scope_value_as = { name = extra_reward value = flag:no } - # Standard Rewards. - laamp_rewards_disburse_ordinary_currency_effect = { - GOLD = task_contract_success_gold_gain_full_value - PRESTIGE = task_contract_success_prestige_gain_half_value - PIETY = 0 - PROVISIONS = task_contract_success_provisions_gain_major_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 = { task_successful_noncrim_contract_count_effect = yes } - # Counts towards Knight of the Swan - task_contract_taker = { - task_contract_justicar_contract_tracker_effect = yes - } - } - } - success_critical = { - should_print_on_complete = yes - effect = { - task_contract_taker = { play_sound_effect = "event:/DLC/EP3/SFX/UI/Contracts/ep3_ui_contracts_success_on_contract" } - save_scope_as = task_contract - save_scope_value_as = { name = extra_reward value = flag:no } - # Critical Rewards. - laamp_rewards_disburse_ordinary_currency_effect = { - GOLD = task_contract_success_gold_gain_full_value - PRESTIGE = task_contract_success_prestige_gain_full_value - PIETY = 0 - PROVISIONS = task_contract_success_provisions_gain_massive_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 - } - task_contract_taker = { task_successful_noncrim_contract_count_effect = yes } - # Counts towards Knight of the Swan - task_contract_taker = { - task_contract_justicar_contract_tracker_effect = yes - } - } - } - failure_standard = { - positive = no - should_print_on_complete = yes - effect = { - 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 - } - } - } - } -} - -# Guard merchant properties -laamp_base_5011 = { - group = laamp_contracts_hireling_group - icon = "gfx/interface/icons/scheme_types/war.dds" - - travel = yes - use_diplomatic_range = no - - weight = { - # Standard weights. - value = task_contract_weight_default_value - add = laamp_contracts_weight_up_prowess_value - # Employer weights. - scope:employer = { - add = { - # Weight up. - ## Traits that value prosperity in their subjects. - if = { - limit = { has_trait = greedy } - add = task_contract_weight_bonus_employer_has_associated_traits_value - } - if = { - limit = { has_trait = generous } - add = task_contract_weight_bonus_employer_has_associated_traits_value - } - if = { - limit = { has_trait = humble } - add = task_contract_weight_bonus_employer_has_associated_traits_value - } - if = { - limit = { has_trait = avaricious } - add = task_contract_weight_bonus_employer_has_associated_traits_value - } - # Weight down. - ## Traits that won't do favours for some grubby merchant. - if = { - limit = { has_trait = arrogant } - add = task_contract_weight_malus_employer_has_associated_traits_value - } - if = { - limit = { has_trait = callous } - add = task_contract_weight_malus_employer_has_associated_traits_value - } - # Restrictions. - min = task_contract_weight_employer_associated_traits_min_value - max = task_contract_weight_employer_associated_traits_max_value - } - multiply = task_contract_weight_by_tier_value - # This weight is an override, so make sure it's placed at the bottom. - add = task_contract_weight_employer_contact_list_value - } - } - - # Validity Triggers - valid_to_create = { - always = no - # Standard triggers. - valid_laamp_basic_trigger = { - EMPLOYER = scope:employer - LAAMP = root - } - valid_laamp_sensible_start_trigger = yes - rule_out_dramatic_laamp_employers_trigger = yes - NOT = { - scope:employer = { government_has_flag = government_is_tribal } - } - } - valid_to_accept = { - # Standard triggers. - valid_laamp_basic_accept_only_trigger = yes - valid_laamp_basic_trigger = { - EMPLOYER = scope:employer - LAAMP = root - } - scope:employer = { is_landed = yes } - } - valid_to_continue = { - # Standard triggers. - valid_laamp_basic_trigger = { - EMPLOYER = root.task_contract_employer - LAAMP = root.task_contract_taker - } - task_contract_employer = { is_landed = yes } - } - valid_to_keep = { - # Standard triggers. - valid_laamp_basic_trigger = { - EMPLOYER = root.task_contract_employer - LAAMP = root.task_contract_taker - } - task_contract_employer = { is_landed = yes } - } - - # On_actions - on_accepted = { - task_contract_taker = { play_sound_effect = "event:/DLC/EP3/SFX/UI/Contracts/ep3_ui_contracts_accept_contract" } - # For the intro event. - save_scope_as = task_contract - # Then we start the scheme. - task_contract_taker ?= { - #start_scheme = { - # type = laamp_base_5011_contract_scheme - # contract = root - # target_character = root.task_contract_employer - #} - # Make a note of what the scheme even is; we'll need this for the event too. - #scope:task_contract.scheme = { save_scope_as = scheme } - trigger_event = laamp_base_contract_schemes.5011 - } - } - - # Rewards - task_contract_reward = { - success_standard = { - should_print_on_complete = yes - effect = { - task_contract_taker = { play_sound_effect = "event:/DLC/EP3/SFX/UI/Contracts/ep3_ui_contracts_success_on_contract" } - save_scope_as = task_contract - save_scope_value_as = { name = extra_reward value = flag:no } - # Standard Rewards. - laamp_rewards_disburse_ordinary_currency_effect = { - GOLD = task_contract_success_gold_gain_full_value - PRESTIGE = 0 - PIETY = 0 - PROVISIONS = task_contract_success_provisions_gain_medium_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 = { task_successful_noncrim_contract_count_effect = yes } - # Update Knight-Errant score. - task_contract_taker = { - laamp_rewards_apply_knight_errant_xp_effect = { - XP_MAX = knight_errant_xp_minor_gain - XP_MIN = knight_errant_xp_minor_gain - } - task_contract_justicar_contract_tracker_effect = yes - } - } - } - success_critical = { - should_print_on_complete = yes - effect = { - task_contract_taker = { play_sound_effect = "event:/DLC/EP3/SFX/UI/Contracts/ep3_ui_contracts_success_on_contract" } - save_scope_as = task_contract - save_scope_value_as = { name = extra_reward value = flag:no } - # Critical Rewards. - laamp_rewards_disburse_ordinary_currency_effect = { - GOLD = task_contract_success_gold_gain_full_value - PRESTIGE = task_contract_success_prestige_gain_half_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 - } - task_contract_taker = { task_successful_noncrim_contract_count_effect = yes } - # Update Knight-Errant score. - task_contract_taker = { - laamp_rewards_apply_knight_errant_xp_effect = { - XP_MAX = knight_errant_xp_medium_gain - XP_MIN = knight_errant_xp_medium_gain - } - task_contract_justicar_contract_tracker_effect = yes - } - } - } - failure_standard = { - positive = no - should_print_on_complete = yes - effect = { - 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 - } - } - } - } -} - -# Guard a local ruler at a minor event -laamp_base_5021 = { - group = laamp_contracts_hireling_group - icon = "gfx/interface/icons/scheme_types/war.dds" - - travel = yes - use_diplomatic_range = no - - weight = { - # Standard weights. - value = task_contract_weight_default_value - add = laamp_contracts_weight_up_prowess_value - # Employer weights. - scope:employer = { - add = { - # Weight up. - ## Traits that suspect treason: either because they're paranoid or as a self-report. - if = { - limit = { has_trait = paranoid } - add = task_contract_weight_bonus_employer_has_associated_traits_value - } - if = { - limit = { has_trait = deceitful } - add = task_contract_weight_bonus_employer_has_associated_traits_value - } - if = { - limit = { has_trait = arbitrary } - add = task_contract_weight_bonus_employer_has_associated_traits_value - } - if = { - limit = { has_trait = fickle } - add = task_contract_weight_bonus_employer_has_associated_traits_value - } - if = { - limit = { has_trait = disloyal } - add = task_contract_weight_bonus_employer_has_associated_traits_value - } - # Weight down. - ## Traits that think loyalty is unshakeable. - if = { - limit = { has_trait = trusting } - add = task_contract_weight_malus_employer_has_associated_traits_value - } - if = { - limit = { has_trait = honest } - add = task_contract_weight_malus_employer_has_associated_traits_value - } - if = { - limit = { has_trait = just } - add = task_contract_weight_malus_employer_has_associated_traits_value - } - if = { - limit = { has_trait = stubborn } - add = task_contract_weight_malus_employer_has_associated_traits_value - } - if = { - limit = { has_trait = loyal } - add = task_contract_weight_malus_employer_has_associated_traits_value - } - # Restrictions. - min = task_contract_weight_employer_associated_traits_min_value - max = task_contract_weight_employer_associated_traits_max_value - } - multiply = task_contract_weight_by_tier_value - # This weight is an override, so make sure it's placed at the bottom. - add = task_contract_weight_employer_contact_list_value - } - } - - # Validity Triggers - valid_to_create = { - always = no - # Standard triggers. - valid_laamp_basic_trigger = { - EMPLOYER = scope:employer - LAAMP = root - } - valid_laamp_sensible_start_trigger = yes - rule_out_dramatic_laamp_employers_trigger = yes - NOT = { - scope:employer = { government_has_flag = government_is_tribal } - } - # Specific flavour triggers. - OR = { - laamp_task_contract_employer_not_antisocial_trigger = yes - # Grant an exception to the paranoid antisocialness here: narratively, it's presented like their paranoia of their guards overwhelms their paranoia of you. - has_trait = paranoid - } - } - valid_to_accept = { - # Standard triggers. - valid_laamp_basic_accept_only_trigger = yes - valid_laamp_basic_trigger = { - EMPLOYER = scope:employer - LAAMP = root - } - scope:employer = { is_landed = yes } - } - valid_to_continue = { - # Standard triggers. - valid_laamp_basic_trigger = { - EMPLOYER = root.task_contract_employer - LAAMP = root.task_contract_taker - } - task_contract_employer = { is_landed = yes } - } - valid_to_keep = { - # Standard triggers. - valid_laamp_basic_trigger = { - EMPLOYER = root.task_contract_employer - LAAMP = root.task_contract_taker - } - task_contract_employer = { is_landed = yes } - } - - # On_actions - on_accepted = { - task_contract_taker = { play_sound_effect = "event:/DLC/EP3/SFX/UI/Contracts/ep3_ui_contracts_accept_contract" } - # For the intro event. - save_scope_as = task_contract - # Then we start the scheme. - task_contract_taker ?= { - #start_scheme = { - # type = laamp_base_5021_contract_scheme - # contract = root - # target_character = root.task_contract_employer - #} - # Make a note of what the scheme even is; we'll need this for the event too. - #scope:task_contract.scheme = { save_scope_as = scheme } - trigger_event = laamp_base_contract_schemes.5021 - } - } - - # Rewards - task_contract_reward = { - success_standard = { - should_print_on_complete = yes - effect = { - task_contract_taker = { play_sound_effect = "event:/DLC/EP3/SFX/UI/Contracts/ep3_ui_contracts_success_on_contract" } - save_scope_as = task_contract - save_scope_value_as = { name = extra_reward value = flag:no } - # Standard Rewards. - laamp_rewards_disburse_ordinary_currency_effect = { - GOLD = task_contract_success_gold_gain_full_value - PRESTIGE = task_contract_success_prestige_gain_full_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 = yes - EXTRA_REWARD = scope:extra_reward - } - task_contract_taker = { task_successful_noncrim_contract_count_effect = yes } - # Update Knight-Errant score. - task_contract_taker = { - laamp_rewards_apply_knight_errant_xp_effect = { - XP_MAX = knight_errant_xp_medium_gain - XP_MIN = knight_errant_xp_medium_gain - } - task_contract_justicar_contract_tracker_effect = yes - } - } - } - failure_standard = { - positive = no - should_print_on_complete = yes - effect = { - 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 - } - } - } - } -} - -# Go poaching -laamp_base_5041 = { - group = laamp_contracts_criminal_group - icon = "gfx/interface/icons/scheme_types/war.dds" - - travel = yes - is_criminal = yes - use_diplomatic_range = no - - weight = { - # Standard weights. - value = task_contract_weight_default_value - add = laamp_contracts_weight_up_prowess_value - add = laamp_contracts_weight_up_criminal_value - # Employer weights. - scope:employer = { - add = laamp_contract_would_signpost_own_prosperity_value - multiply = task_contract_weight_by_tier_value - } - } - - # Validity Triggers - valid_to_create = { - always = no - # Standard triggers. - valid_laamp_basic_trigger = { - EMPLOYER = scope:employer - LAAMP = root - } - valid_laamp_sensible_start_trigger = yes - rule_out_dramatic_laamp_employers_trigger = yes - NOT = { - scope:employer = { government_has_flag = government_is_tribal } - } - } - valid_to_accept = { - # Standard triggers. - valid_laamp_basic_accept_only_trigger = yes - valid_laamp_basic_trigger = { - EMPLOYER = scope:employer - LAAMP = root - } - NOT = { - house = { - has_house_modifier = legacy_adventurer_house_modifier - } - } - scope:employer = { is_landed = yes } - } - valid_to_continue = { - # Standard triggers. - valid_laamp_basic_trigger = { - EMPLOYER = root.task_contract_employer - LAAMP = root.task_contract_taker - } - root.task_contract_taker = { - NOT = { - house = { - has_house_modifier = legacy_adventurer_house_modifier - } - } - } - task_contract_employer = { is_landed = yes } - } - valid_to_keep = { - # Standard triggers. - valid_laamp_basic_trigger = { - EMPLOYER = root.task_contract_employer - LAAMP = root.task_contract_taker - } - task_contract_employer = { is_landed = yes } - } - - # On_actions - on_accepted = { - task_contract_taker = { play_sound_effect = "event:/DLC/EP3/SFX/UI/Contracts/ep3_ui_contracts_accept_contract" } - # For the intro event. - save_scope_as = task_contract - # Then we start the scheme. - task_contract_taker ?= { - #start_scheme = { - # type = laamp_base_5041_contract_scheme - # contract = root - # target_character = root.task_contract_employer - #} - # Make a note of what the scheme even is; we'll need this for the event too. - #scope:task_contract.scheme = { save_scope_as = scheme } - trigger_event = laamp_base_contract_schemes.5041 - } - } - on_create = { - scope:contract = { - set_variable = { - name = animation - value = 0 - } - } - } - - # Rewards - task_contract_reward = { - success_standard = { - should_print_on_complete = yes - effect = { - task_contract_taker = { play_sound_effect = "event:/DLC/EP3/SFX/UI/Contracts/ep3_ui_contracts_success_on_contract" } - save_scope_as = task_contract - # Camp building extra Criminal Rewards: +50%. - if = { - limit = { - task_contract_taker.domicile ?= { has_domicile_parameter = camp_improved_criminal_contract_rewards } - } - save_scope_value_as = { name = extra_reward value = flag:yes } - } - else = { - save_scope_value_as = { name = extra_reward value = flag:no } - } - # Standard Rewards. - laamp_rewards_disburse_ordinary_currency_effect = { - GOLD = task_contract_success_gold_gain_crime_value - PRESTIGE = 0 - PIETY = 0 - PROVISIONS = task_contract_success_provisions_gain_major_value - OPINION = task_contract_opinion_crime_success_value - OPINION_TYPE = succeeded_criminal_contract_against_me_opinion - CONTACT = no - CONTACT_HOOK = no - EXTRA_REWARD = scope:extra_reward - } - # Update gallowsbait score. - task_contract_taker = { - laamp_rewards_apply_criminal_xp_effect = { - TRACK = poacher - XP_MIN = gallowsbait_xp_medium_gain - XP_MAX = gallowsbait_xp_medium_gain - } - } - } - } - failure_standard = { - positive = no - should_print_on_complete = yes - effect = { - 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_crime_value - PIETY = 0 - PROVISIONS = task_contract_failure_provisions_gain_minor_value - OPINION = task_contract_opinion_crime_failure_value - OPINION_TYPE = attempted_criminal_contract_against_me_opinion - CONTACT = no - CONTACT_HOOK = no - EXTRA_REWARD = scope:extra_reward - } - # Update gallowsbait score. - task_contract_taker = { - laamp_rewards_apply_criminal_xp_effect = { - TRACK = poacher - XP_MIN = gallowsbait_xp_minor_gain - XP_MAX = gallowsbait_xp_minor_gain - } - } - } - } - } -} diff --git a/common/task_contracts/laamp_extra_contracts.txt b/common/task_contracts/laamp_extra_contracts.txt deleted file mode 100644 index 443b1b479..000000000 --- a/common/task_contracts/laamp_extra_contracts.txt +++ /dev/null @@ -1,5610 +0,0 @@ -################################################## -# INFO -# Extra contracts for laamps. Various types of contracts with interesting things to get and do, like wars, travel, artifacts and more. -# -################################################## - - - -################################################## -# GROUPS (for populate_task_contracts_for_area) -# -# laamp_contracts_war_group -# laamp_contracts_criminal_group -# laamp_contracts_transport_group -# laamp_contracts_diplomacy_group -# laamp_contracts_intrigue_group -# -# -# NOTICEBOARD GROUPS (for Visit Settlement - ep3_laamp_decision_event.1025) -# laamp_contracts_noticeboard_group -# - - - -################################################## -# -# laamp_raid_contract - Raid for Captives -# laamp_join_war_contract - Stand with Us -# laamp_help_claimant_contract - Press My Claims -# laamp_steal_artifact_contract - Reclaim Artifact -# laamp_construction_contract - Construction Work -# laamp_treasure_hunting_contract - Treasure Hunting -# laamp_cultural_minority_contract - Protect Heritage -# laamp_religious_minority_contract - Reward the Faithful -# laamp_prison_break_contract - Prison Break -# laamp_treasure_map_contract - Treasure Map -# laamp_legitimist_support_contract -# laamp_join_faction_contract - Support Faction -# laamp_help_faith_conversion_contract - Missionary Duties -# laamp_fight_faith_conversion_contract - Protect the Adherents -# laamp_help_train_commanders_contract - Knight's Coach -# laamp_help_find_secrets_contract - Private Eye -# laamp_help_fabricate_claim_contract - Forgotten Claims -# laamp_help_increase_control_contract - Fight Corruption -# -################################################## - -## Raid for Captives -# scope:employer = ruler wanting to capture prisoners -# task_contract_target = character to declare war on -# task_contract_destination = capital of task_contract_target -laamp_raid_contract = { - group = laamp_contracts_war_group - icon = "gfx/interface/icons/casus_bellis/request_mercenary.dds" - travel = no - use_diplomatic_range = no - - # Validity Triggers - 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 - # Specific flavour triggers. - scope:employer = { - OR = { - any_relation = { - type = rival - is_ai = yes - is_adult = yes - is_landed = yes - highest_held_title_tier >= tier_county - capital_province.building_max_garrison < root.current_military_strength - is_within_diplo_range = { CHARACTER = scope:employer } - any_courtier_or_guest = { - count >= 3 - OR = { - dynasty ?= prev.dynasty - is_consort_of = prev - } - } - } - any_neighboring_top_liege_realm_owner = { - is_ai = yes - is_adult = yes - is_landed = yes - highest_held_title_tier >= tier_county - capital_province.building_max_garrison < root.current_military_strength - house_has_feud_relation_with_trigger = { TARGET = scope:employer } - any_courtier_or_guest = { - count >= 3 - OR = { - AND = { - has_dynasty = yes - dynasty = prev.dynasty - } - is_consort_of = prev - } - } - } - } - } - } - 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 - } - task_contract_target = { - is_alive = yes - is_landed = yes - highest_held_title_tier >= tier_county - } - } - - weight = { - # Standard weights. - value = task_contract_weight_interesting_somewhat_rare_value - add = laamp_contracts_weight_up_mercenary_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 - if = { - limit = { - NOT = { exists = scope:task_contract.task_contract_target } - } - if = { - limit = { - any_neighboring_top_liege_realm_owner = { - is_ai = yes - is_adult = yes - is_landed = yes - highest_held_title_tier >= tier_county - capital_province.building_max_garrison < root.current_military_strength - house_has_feud_relation_with_trigger = { TARGET = scope:task_contract_employer } - any_courtier_or_guest = { - count >= 3 - OR = { - dynasty ?= prev.dynasty - is_consort_of = prev - } - } - } - } - random_neighboring_top_liege_realm_owner = { - limit = { - is_ai = yes - is_adult = yes - is_landed = yes - highest_held_title_tier >= tier_county - capital_province.building_max_garrison < root.current_military_strength - house_has_feud_relation_with_trigger = { TARGET = scope:task_contract_employer } - any_courtier_or_guest = { - count >= 3 - OR = { - AND = { - has_dynasty = yes - dynasty = prev.dynasty - } - is_consort_of = prev - } - } - } - save_scope_as = task_contract_target - capital_province = { - save_scope_as = task_contract_destination - } - } - } - else = { - random_relation = { - type = rival - limit = { - is_ai = yes - is_adult = yes - is_landed = yes - highest_held_title_tier >= tier_county - capital_province.building_max_garrison < root.current_military_strength - is_within_diplo_range = { CHARACTER = scope:task_contract_employer } - any_courtier_or_guest = { - count >= 3 - OR = { - AND = { - has_dynasty = yes - dynasty = prev.dynasty - } - is_consort_of = prev - } - } - } - save_scope_as = task_contract_target - capital_province = { - save_scope_as = task_contract_destination - } - } - } - } - else_if = { - limit = { - NOT = { exists = scope:task_contract.task_contract_destination } - } - scope:task_contract_target = { - capital_province = { - save_scope_as = task_contract_destination - } - } - } - } - set_task_contract_target = scope:task_contract_target - set_variable = { - name = task_contract_employer - value = scope:task_contract_employer - } - set_variable = { - name = task_contract_target - value = scope:task_contract_target - } - set_variable = { - name = task_contract_destination - value = scope:task_contract_destination - } - } - } - # On_Actions - 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 = ep3_contract_event.0003 - } - } - - on_invalidated = { - if = { - limit = { - root.task_contract_taker = { - any_character_active_contract = { - this = root - } - } - } - task_contract_employer = { - save_scope_as = task_contract_employer - } - save_scope_value_as = { - name = task_contract_tier - value = root.task_contract_tier - } - var:task_contract_destination = { - save_scope_as = task_contract_destination - } - var:task_contract_target = { - save_scope_as = task_contract_target - } - task_contract_taker = { - set_variable = { - name = invalidated_task_contract_type - value = flag:laamp_raid_contract - } - } - if = { - limit = { - task_contract_employer = { - is_alive = no - } - } - task_contract_employer.primary_title.holder ?= { - save_scope_as = employer_heir - } - task_contract_taker = { - save_scope_value_as = { - name = task_contract_invalidation_reason - value = flag:employer_dead - } - trigger_event = ep3_contract_event.0012 - - } - } - else_if = { - limit = { - scope:task_contract_target = { - is_alive = no - } - } - task_contract_taker = { - save_scope_value_as = { - name = task_contract_invalidation_reason - value = flag:target_dead - } - trigger_event = ep3_contract_event.0012 - } - } - } - } - - # Rewards - task_contract_reward = { - success_standard = { - 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.var:task_contract_employer = { - save_scope_as = task_contract_employer - } - #saving scopes for custom tooltip - save_scope_as = attacker - scope:task_contract.var:task_contract_target = { - save_scope_as = defender - } - custom_tooltip = ep3_laamp_raid_contract_cb_prisoners.tt_attacker - custom_tooltip = ep3_laamp_raid_contract_cb_prisoners.tt_gold - trigger_event = ep3_contract_event.0004 - show_as_tooltip = { - if = { - limit = { - faith != scope:defender.faith - } - add_piety = minor_piety_gain - } - } - # Huck 'em into our contact list. - add_contact = scope:task_contract_employer - # Give hook as well as contact - add_hook_if_possible_default_length_effect = { - TARGET = scope:task_contract_employer - TYPE = contact_list_weak_hook - } - war_contracts_completed_tracker_effect = yes - } - } - } - failure_standard = { - positive = 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 = { - scope:task_contract.task_contract_employer = { - save_scope_as = task_contract_employer - } - save_scope_value_as = { - name = task_contract_outcome - value = flag:failure - } - save_scope_value_as = { - name = task_contract_tier - value = scope:task_contract.task_contract_tier - } - trigger_event = ep3_contract_event.0004 - } - show_as_tooltip = { - task_contract_taker = { - 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 - } - } - } - } - } - } -} - -## Stand with Us -# scope:employer = ruler needing help in a civil/religious/de_hure war -# scope:task_contract_war = civil/religious/de_hure war to join on the side of employer -laamp_join_war_contract = { - group = laamp_contracts_war_group - icon = "gfx/interface/icons/trait_level_tracks/mercenary.dds" - travel = no - use_diplomatic_range = no - - # Validity Triggers - valid_to_create = { - # Standard triggers. - valid_laamp_basic_trigger = { - EMPLOYER = scope:employer - LAAMP = root - } - employer_has_treasury_to_offer_job_trigger = yes - # Specific flavour triggers. - scope:employer = { - any_character_war = { - ep3_adventurer_mercenary_war_trigger = { - EMPLOYER = scope:employer - LAAMP = root - } - save_temporary_scope_as = temp_war - } - } - #don't spawn contracts for the same wars - NOR = { - any_character_task_contract = { - task_contract_type = laamp_join_war_contract - var:task_contract_war ?= scope:temp_war - } - any_character_task_contract = { - task_contract_type = laamp_help_claimant_contract - task_contract_employer = scope:employer - } - } - #or if you are already an ally in a war with someone in that war, to prevent being an ally and an enemy at the same time - scope:temp_war = { - any_war_participant = { - NOT = { - is_allied_in_war = root - } - } - } - } - valid_to_accept = { - # Standard triggers. - valid_laamp_basic_accept_only_trigger = yes - valid_laamp_basic_trigger = { - EMPLOYER = scope:employer - LAAMP = root - } - custom_tooltip = { - text = laamp_join_war_contract.valid_war - any_character_task_contract = { - task_contract_type = laamp_join_war_contract - exists = var:task_contract_war - task_contract_employer = scope:employer - } - } - } - valid_to_continue = { - # Standard triggers. - valid_laamp_basic_trigger = { - EMPLOYER = root.task_contract_employer - LAAMP = root.task_contract_taker - } - } - valid_to_keep = { - exists = root.var:task_contract_war - # Standard triggers. - valid_laamp_basic_trigger = { - EMPLOYER = root.task_contract_employer - LAAMP = root.task_contract_taker - } - } - - weight = { - # Standard weights. - value = task_contract_weight_interesting_very_rare_value - add = laamp_contracts_weight_up_mercenary_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 = { - random_character_war = { - limit = { - is_war_leader = prev - OR = { - using_civil_war_cb_trigger = yes - using_non_ghw_holy_war_cb_trigger = yes - using_de_jure_cb_trigger = yes - using_conquest_cb_trigger = yes - } - any_war_participant = { - this != scope:task_contract.task_contract_taker - } - } - save_scope_as = task_contract_war - } - save_scope_as = task_contract_employer - } - set_variable = { - name = task_contract_war - value = scope:task_contract_war - } - set_variable = { - name = task_contract_employer - value = scope:task_contract_employer - } - scope:task_contract_war = { - if = { - limit = { - is_attacker = scope:task_contract_employer - } - primary_defender = { - save_scope_as = task_contract_target - } - } - else = { - primary_attacker = { - save_scope_as = task_contract_target - } - } - } - set_task_contract_target = scope:task_contract_target - set_variable = { - name = task_contract_target - value = scope:task_contract_target - } - } - } - - # On_Actions - 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 = ep3_contract_event.0008 - } - set_variable = { - name = task_contract_grace_period - days = 90 - } - } - - on_invalidated = { - if = { - limit = { - root.task_contract_taker = { - any_character_active_contract = { - this = root - } - } - } - task_contract_employer = { - save_scope_as = task_contract_employer - } - save_scope_value_as = { - name = task_contract_tier - value = root.task_contract_tier - } - var:task_contract_target = { - save_scope_as = task_contract_target - } - task_contract_taker = { - set_variable = { - name = invalidated_task_contract_type - value = flag:laamp_join_war_contract - } - } - - if = { - limit = { - task_contract_employer = { - is_alive = no - } - } - task_contract_employer.primary_title.holder ?= { - save_scope_as = employer_heir - } - task_contract_taker = { - save_scope_value_as = { - name = task_contract_invalidation_reason - value = flag:employer_dead - } - trigger_event = ep3_contract_event.0012 - - } - } - else_if = { - limit = { - scope:task_contract_target = { - is_alive = no - } - } - task_contract_taker = { - save_scope_value_as = { - name = task_contract_invalidation_reason - value = flag:target_dead - } - trigger_event = ep3_contract_event.0012 - } - } - } - } - - task_contract_reward = { - success_standard = { - effect = { - task_contract_taker = { play_sound_effect = "event:/DLC/EP3/SFX/UI/Contracts/ep3_ui_contracts_success_on_contract" } - save_scope_as = task_contract - var:task_contract_war = { - save_scope_as = war - } - task_contract_employer = { - save_scope_as = task_contract_employer - save_scope_as = attacker - } - task_contract_taker = { - save_scope_as = task_contract_taker - save_scope_as = defender - custom_tooltip = laamp_join_war_contract.contribution_based_reward_gold - if = { - limit = { - faith != scope:task_contract.var:task_contract_target.faith - } - custom_tooltip = laamp_join_war_contract.contribution_based_reward_piety - } - save_scope_value_as = { - name = task_contract_reward - value = flag:success_standard - } - save_scope_value_as = { - name = war_contribution_value - value = "scope:war.war_contribution(scope:task_contract_taker)" - } - if = { - limit = { - exists = scope:task_contract_employer.var:valuable_prisoners - } - save_scope_value_as = { - name = war_valuable_prisoners - value = scope:task_contract_employer.var:valuable_prisoners - } - } - save_scope_value_as = { - name = task_contract_tier - value = scope:task_contract.task_contract_tier - } - trigger_event = ep3_contract_event.0013 - # Huck 'em into our contact list. - add_contact = scope:task_contract_employer - # Give hook as well as contact - add_hook_if_possible_default_length_effect = { - TARGET = scope:task_contract_employer - TYPE = contact_list_weak_hook - } - war_contracts_completed_tracker_effect = yes - } - } - } - failure_standard = { - positive = no - effect = { - task_contract_taker = { play_sound_effect = "event:/DLC/EP3/SFX/UI/Contracts/ep3_ui_contracts_failure_on_contract" } - if = { - limit = { - NOT = { has_variable = task_contract_grace_period } - } - save_scope_as = task_contract - var:task_contract_war = { - save_scope_as = war - } - task_contract_employer = { - save_scope_as = task_contract_employer - } - task_contract_taker = { - add_prestige = task_contract_failure_prestige_loss_full_value - save_scope_value_as = { - name = task_contract_reward - value = flag:failure_standard - } - save_scope_value_as = { - name = task_contract_tier - value = scope:task_contract.task_contract_tier - } - trigger_event = ep3_contract_event.0013 - } - } - } - } - } -} - -## Help Legitimate claim -# scope:employer = ruler with a valid claim -# task_contract_target = character to declare war on -# task_contract_destination = capital of task_contract_target -laamp_help_claimant_contract = { - group = laamp_contracts_war_group - icon = "gfx/interface/icons/casus_bellis/claim_cb.dds" - travel = no - use_diplomatic_range = no - - # Validity Triggers - 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 - # Specific flavour triggers. - scope:employer = { - is_at_war = no - NAND = { - government_has_mechanic = administrative - liege = { government_has_mechanic = administrative } - } - liege = { has_realm_law_flag = vassal_all_wars_banned } - NOT = { - vassal_contract_has_flag = vassal_contract_war_override - } - any_claim = { - holder ?= { - NOT = { is_allied_to = scope:employer } - NOT = { any_liege_or_above = { this = scope:employer } } - scope:employer = { - has_cb_on = { - target = prev - cb = claim_cb - } - } - } - } - } - } - 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_mercenary_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 - if = { - limit = { - NOT = { exists = scope:task_contract.task_contract_target } - } - random_claim = { - limit = { - holder ?= { - NOT = { is_allied_to = root } - NOT = { any_liege_or_above = { this = root } } - scope:task_contract_employer = { - has_cb_on = { - target = prev - cb = claim_cb - } - } - } - } - save_scope_as = task_contract_title - holder = { - save_scope_as = task_contract_target - } - } - } - } - set_task_contract_target = scope:task_contract_target - set_variable = { - name = task_contract_employer - value = scope:task_contract_employer - } - set_variable = { - name = task_contract_target - value = scope:task_contract_target - } - set_variable = { - name = task_contract_title - value = scope:task_contract_title - } - } - } - # On_Actions - 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 = ep3_contract_event.0060 - } - } - - on_invalidated = { - if = { - limit = { - root.task_contract_taker = { - any_character_active_contract = { - this = root - } - } - } - task_contract_employer = { - save_scope_as = task_contract_employer - } - save_scope_value_as = { - name = task_contract_tier - value = root.task_contract_tier - } - var:task_contract_target = { - save_scope_as = task_contract_target - } - - task_contract_taker = { - set_variable = { - name = invalidated_task_contract_type - value = flag:laamp_help_claimant_contract - } - } - if = { - limit = { - task_contract_employer = { - is_alive = no - } - } - task_contract_employer.primary_title.holder ?= { - save_scope_as = employer_heir - } - task_contract_taker = { - save_scope_value_as = { - name = task_contract_invalidation_reason - value = flag:employer_dead - } - trigger_event = ep3_contract_event.0012 - - } - } - else_if = { - limit = { - scope:task_contract_target = { - is_alive = no - } - } - task_contract_taker = { - save_scope_value_as = { - name = task_contract_invalidation_reason - value = flag:target_dead - } - trigger_event = ep3_contract_event.0012 - } - } - } - } - - task_contract_reward = { - success_standard = { - effect = { - task_contract_taker = { play_sound_effect = "event:/DLC/EP3/SFX/UI/Contracts/ep3_ui_contracts_success_on_contract" } - save_scope_as = task_contract - var:task_contract_title = { - save_scope_as = task_contract_title - } - task_contract_employer = { - save_scope_as = task_contract_employer - save_scope_as = attacker - show_as_tooltip = { - get_title = scope:task_contract_title - } - } - task_contract_taker = { - save_scope_as = task_contract_taker - save_scope_as = defender - custom_tooltip = laamp_join_war_contract.contribution_based_reward_gold - if = { - limit = { - faith != scope:task_contract.var:task_contract_target.faith - } - custom_tooltip = laamp_join_war_contract.contribution_based_reward_piety - } - save_scope_value_as = { - name = task_contract_reward - value = flag:success_standard - } - save_scope_value_as = { - name = task_contract_tier - value = scope:task_contract.task_contract_tier - } - trigger_event = ep3_contract_event.0013 - # Huck 'em into our contact list. - add_contact = scope:task_contract_employer - # Give hook as well as contact - add_hook_if_possible_default_length_effect = { - TARGET = scope:task_contract_employer - TYPE = contact_list_weak_hook - } - war_contracts_completed_tracker_effect = yes - } - } - } - failure_standard = { - positive = 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 - var:task_contract_title = { - save_scope_as = task_contract_title - } - task_contract_employer = { - save_scope_as = task_contract_employer - } - task_contract_taker = { - add_prestige = task_contract_failure_prestige_loss_full_value - save_scope_value_as = { - name = task_contract_reward - value = flag:failure_standard - } - save_scope_value_as = { - name = task_contract_tier - value = scope:task_contract.task_contract_tier - } - trigger_event = ep3_contract_event.0013 - } - } - } - } -} - -## Reclaim Artifact -# scope:employer = ruler wanting to steal an artifact -# task_contract_target = character to steal an artifact from -# task_contract_object = an artifact to steal -laamp_steal_artifact_contract = { - group = laamp_contracts_criminal_group - icon = "gfx/interface/icons/character_interactions/icon_scheme_steal_back_artifact.dds" - travel = yes - use_diplomatic_range = no - is_criminal = yes - - # Validity Triggers - 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 - # Specific flavour triggers. - scope:employer = { - OR = { - #target any artifact you have a claim on - any_claimed_artifact = { - artifact_owner = { - is_within_diplo_range = { CHARACTER = root } - } - } - #or if you are greedy target at least a masterwork artifact of someone that is up to 1 tier above you - AND = { - ai_greed >= 50 - any_neighboring_top_liege_realm_owner = { - highest_held_title_tier <= { - value = scope:employer.highest_held_title_tier - add = 1 - } - any_character_artifact = { - artifact_high_rarity_trigger = yes - } - } - } - } - } - } - - valid_to_keep = { - exists = root.var:task_contract_object - root.var:task_contract_object = { - artifact_owner != root.task_contract_employer - } - task_contract_target = { - NOT = { - has_opinion_modifier = { - target = root.task_contract_taker - modifier = stole_artifact_from_me - } - } - } - # Standard triggers. - valid_laamp_basic_trigger = { - EMPLOYER = root.task_contract_employer - LAAMP = root.task_contract_taker - } - } - - valid_to_accept = { - # Standard triggers. - valid_laamp_basic_accept_only_trigger = yes - valid_laamp_basic_trigger = { - EMPLOYER = scope:employer - LAAMP = root - } - } - valid_to_continue = { - exists = root.var:task_contract_object - root.var:task_contract_object = { - artifact_owner != root.task_contract_employer - } - task_contract_target = { - NOT = { - has_opinion_modifier = { - target = root.task_contract_taker - modifier = stole_artifact_from_me - } - } - } - # Standard triggers. - valid_laamp_basic_trigger = { - EMPLOYER = root.task_contract_employer - LAAMP = root.task_contract_taker - } - } - - weight = { - # Standard weights. - value = task_contract_weight_interesting_quite_rare_value - add = laamp_contracts_weight_up_intrigue_value - if = { - limit = { - employs_court_position = master_thief_camp_officer - } - add = 50 - } - add = task_contract_weight_employer_contact_list_value - scope:employer = { multiply = task_contract_weight_by_tier_value } - } - - # On_Actions - on_create = { - scope:contract = { - save_scope_as = task_contract - task_contract_employer = { - if = { - limit = { - any_claimed_artifact = { - artifact_owner = { - is_within_diplo_range = { CHARACTER = scope:task_contract.task_contract_taker } - } - save_temporary_scope_as = claimed_artifact - } - } - scope:claimed_artifact = { - save_scope_as = task_contract_object - artifact_owner = { - save_scope_as = task_contract_target - } - } - } - else = { - random_neighboring_top_liege_realm_owner = { - limit = { - highest_held_title_tier <= { - value = scope:task_contract.task_contract_employer.highest_held_title_tier - add = 1 - } - any_character_artifact = { - artifact_high_rarity_trigger = yes - save_temporary_scope_as = claimed_artifact - } - } - scope:claimed_artifact = { - save_scope_as = task_contract_object - } - save_scope_as = task_contract_target - } - } - } - set_task_contract_target = scope:task_contract_target - set_variable = { - name = task_contract_employer - value = scope:task_contract.task_contract_employer - } - set_variable = { - name = task_contract_target - value = scope:task_contract_target - } - set_variable = { - name = task_contract_object - value = scope:task_contract_object - } - # Make our gold rewards static. - grab_gold_fuzz_number_effect = yes - set_variable = { - name = gold_success_standard - value = task_contract_taker.task_contract_success_gold_gain_full_value - } - } - } - - 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 = ep3_contract_event.0009 - } - } - - on_invalidated = { - if = { - limit = { - root.task_contract_taker = { - any_character_active_contract = { - this = root - } - } - } - task_contract_employer = { - save_scope_as = task_contract_employer - } - save_scope_value_as = { - name = task_contract_tier - value = root.task_contract_tier - } - # This contract targets an artifact, not a place, so it never sets a destination - var:task_contract_destination ?= { - save_scope_as = task_contract_destination - } - var:task_contract_target = { - save_scope_as = task_contract_target - } - - task_contract_taker = { - set_variable = { - name = invalidated_task_contract_type - value = flag:laamp_steal_artifact_contract - } - } - if = { - limit = { - task_contract_employer = { - is_alive = no - } - } - task_contract_employer.primary_title.holder ?= { - save_scope_as = employer_heir - } - task_contract_taker = { - save_scope_value_as = { - name = task_contract_invalidation_reason - value = flag:employer_dead - } - trigger_event = ep3_contract_event.0012 - - } - } - else_if = { - limit = { - scope:task_contract_target = { - is_alive = no - } - } - task_contract_taker = { - save_scope_value_as = { - name = task_contract_invalidation_reason - value = flag:target_dead - } - trigger_event = ep3_contract_event.0012 - } - } - } - } - task_contract_reward = { - success_standard = { - effect = { - task_contract_taker = { play_sound_effect = "event:/DLC/EP3/SFX/UI/Contracts/ep3_ui_contracts_success_on_contract" } - save_scope_as = task_contract - var:task_contract_object = { - save_scope_as = task_contract_object - } - task_contract_taker = { - send_interface_toast = { - title = laamp_transport_contract.success - left_icon = scope:task_contract.task_contract_taker - right_icon = scope:task_contract.task_contract_employer - root = { - save_scope_value_as = { name = extra_reward value = flag:no } - # 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 = task_contract_success_provisions_gain_minor_value - OPINION = task_contract_opinion_standard_reward_value - OPINION_TYPE = succeeded_task_contract_opinion - CONTACT = yes - CONTACT_HOOK = yes - EXTRA_REWARD = scope:extra_reward - } - } - } - # Update gallowsbait score. - laamp_rewards_apply_criminal_xp_effect = { - TRACK = thief - XP_MIN = gallowsbait_xp_medium_gain - XP_MAX = gallowsbait_xp_medium_gain - } - } - hidden_effect = { - scope:task_contract_object = { - set_owner = scope:task_contract.task_contract_employer - } - } - } - } - failure_standard = { - positive = 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 - 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_taker = { - # Update gallowsbait score. - laamp_rewards_apply_criminal_xp_effect = { - TRACK = thief - XP_MIN = gallowsbait_xp_minor_gain - XP_MAX = gallowsbait_xp_minor_gain - } - } - } - } - } -} - -## Construction Work -# scope:employer = ruler wanting to build a holding -# task_contract_destination = province where the holding is being built -laamp_construction_contract = { - group = laamp_contracts_transport_group - icon = "gfx/interface/icons/vassal_stances/builder.dds" - travel = no - use_diplomatic_range = no - - # Validity Triggers - 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 - # Specific flavour triggers. - scope:employer = { - NOT = { government_has_flag = government_is_tribal } - any_held_title = { - county_has_empty_province_trigger = yes - } - short_term_gold > main_building_tier_1_cost - OR = { - has_trait = architect - AND = { - has_royal_court = yes - employs_court_position = royal_architect_court_position - any_court_position_holder = { - type = royal_architect_court_position - is_available_ai_adult = yes - } - } - ai_has_builder_or_pious_builder_personality = yes - } - } - } - valid_to_keep = { - var:task_contract_destination ?= { - has_ongoing_construction = yes - } - valid_laamp_basic_trigger = { - EMPLOYER = root.task_contract_employer - LAAMP = root.task_contract_taker - } - } - valid_to_accept = { - # Standard triggers. - valid_laamp_basic_accept_only_trigger = yes - valid_laamp_basic_trigger = { - EMPLOYER = scope:employer - LAAMP = root - } - } - valid_to_continue = { - #once you are there, you need to stay to complete the contract - trigger_if = { - limit = { - var:task_contract_destination.county = { - has_county_modifier = massive_construction_efforts_modifier - } - } - task_contract_taker.capital_county = var:task_contract_destination.county - } - NOT = { #start_city_construction_decision invalidation - var:task_contract_destination = { - has_variable = laamp_city_construction - } - } - valid_laamp_basic_trigger = { - EMPLOYER = root.task_contract_employer - LAAMP = root.task_contract_taker - } - } - - weight = { - # Standard weights. - value = task_contract_weight_default_value - add = laamp_contracts_weight_up_transport_value - add = task_contract_weight_employer_contact_list_value - scope:employer = { multiply = task_contract_weight_by_tier_value } - } - # On_Actions - on_create = { - scope:contract = { - save_scope_as = task_contract - if = { - limit = { - NOT = { has_variable = task_contract_destination } - } - task_contract_employer = { - ordered_held_title = { - limit = { county_has_empty_province_trigger = yes } - order_by = development_level - random_county_province = { - limit = { province_has_no_holding_trigger = yes } - save_scope_as = task_contract_destination - random_list = { - 1 = { - begin_create_holding = { - type = castle_holding - refund_cost = { gold = 0 } - } - } - 1 = { - modifier = { - add = 10 - county = { county_has_no_city_trigger = yes } - } - begin_create_holding = { - type = church_holding - refund_cost = { gold = 0 } - } - } - 1 = { - modifier = { - add = 10 - county = { county_has_no_church_trigger = yes } - } - begin_create_holding = { - type = city_holding - refund_cost = { gold = 0 } - } - } - } - } - } - remove_short_term_gold = main_building_tier_1_cost - } - set_variable = { - name = task_contract_destination - value = scope:task_contract_destination - } - } - else = { - var:task_contract_destination = { - save_scope_as = task_contract_destination - } - } - # Make our gold rewards static. - grab_gold_fuzz_number_effect = yes - set_variable = { - name = gold_success_standard - value = task_contract_taker.task_contract_success_gold_gain_full_value - } - # Make sure critical values are a bit higher. - save_scope_value_as = { name = gold_safety_margin value = flag:yes } - set_variable = { - name = gold_success_critical - value = task_contract_taker.task_contract_success_gold_gain_critical_value - } - } - } - - 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 = ep3_contract_event.0001 - } - } - - on_invalidated = { - if = { - limit = { - root.task_contract_taker = { - any_character_active_contract = { - this = root - } - } - } - task_contract_employer = { - save_scope_as = task_contract_employer - } - save_scope_value_as = { - name = task_contract_tier - value = root.task_contract_tier - } - var:task_contract_destination = { - save_scope_as = task_contract_destination - } - - task_contract_taker = { - set_variable = { - name = invalidated_task_contract_type - value = flag:laamp_construction_contract - } - } - if = { - limit = { - task_contract_employer = { - is_alive = no - } - } - task_contract_employer.primary_title.holder ?= { - save_scope_as = employer_heir - } - task_contract_taker = { - save_scope_value_as = { - name = task_contract_invalidation_reason - value = flag:employer_dead - } - trigger_event = ep3_contract_event.0012 - - } - } - var:task_contract_destination.county = { - remove_county_modifier = massive_construction_efforts_modifier - } - task_contract_taker = { - remove_character_modifier = ep3_construction_contract_modifier - } - } - } - - task_contract_reward = { - success_standard = { - 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 = laamp_transport_contract.success - left_icon = scope:task_contract.task_contract_taker - right_icon = scope:task_contract.task_contract_employer - scope:task_contract.var:task_contract_destination = { - switch = { - trigger = has_holding_type - castle_holding = { - scope:task_contract.task_contract_taker = { - add_prestige = task_contract_success_prestige_gain_critical_value - } - } - church_holding = { - scope:task_contract.task_contract_taker = { - add_piety = task_contract_success_piety_gain_critical_value - } - } - city_holding = { - scope:task_contract.task_contract_taker = { - add_gold = scope:task_contract.var:gold_success_standard - } - } - } - } - if = { - limit = { - is_ai = no - } - scope:task_contract.task_contract_employer = { - pay_short_term_gold = { - target = scope:task_contract.task_contract_taker - gold = scope:task_contract.var:gold_success_standard - } - } - } - else = { - add_gold = scope:task_contract.var:gold_success_standard - } - reverse_add_opinion = { - modifier = succeeded_task_contract_opinion - target = scope:task_contract.task_contract_employer - opinion = 20 - } - # Huck 'em into our contact list. - add_contact = scope:task_contract.task_contract_employer - } - } - } - } - success_critical = { - 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 = laamp_transport_contract.success - left_icon = scope:task_contract.task_contract_taker - right_icon = scope:task_contract.task_contract_employer - scope:task_contract.var:task_contract_destination = { - switch = { - trigger = has_holding_type - castle_holding = { - scope:task_contract.task_contract_taker = { - add_prestige = task_contract_success_prestige_gain_full_value - } - } - church_holding = { - scope:task_contract.task_contract_taker = { - add_piety = task_contract_success_piety_gain_full_value - } - } - city_holding = { - scope:task_contract.task_contract_taker = { - add_gold = scope:task_contract.var:gold_success_critical - } - } - } - } - if = { - limit = { - is_ai = no - } - scope:task_contract.task_contract_employer = { - pay_short_term_gold = { - target = scope:task_contract.task_contract_taker - gold = scope:task_contract.var:gold_success_critical - } - } - } - else = { - add_gold = scope:task_contract.var:gold_success_critical - } - reverse_add_opinion = { - modifier = critically_succeeded_task_contract_opinion - target = scope:task_contract.task_contract_employer - opinion = 50 - } - # Huck 'em into our contact list. - add_contact = scope:task_contract.task_contract_employer - # Give hook as well as contact - add_hook_if_possible_default_length_effect = { - TARGET = scope:task_contract.task_contract_employer - TYPE = contact_list_weak_hook - } - } - } - } - } - failure_standard = { - positive = 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 = { - 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 - } - } - var:task_contract_destination.county ?= { - remove_county_modifier = massive_construction_efforts_modifier - } - } - } - } -} - -## Treasure Hunting -# scope:employer = ruler wanting a treasure -# task_contract_destination = province where you go to find a treasure - set in the treasure_hunting_contract_decision decision -laamp_treasure_hunting_contract = { - group = laamp_contracts_transport_group - icon = "gfx/interface/icons/inspirations/adventure_inspiration.dds" - travel = no - use_diplomatic_range = no - - # Validity Triggers - 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 - # Specific flavour triggers. - #There can only be one contract of this type at a time, so that the decision is easier to manage - any_character_task_contract = { - NOT = { has_task_contract_type = laamp_treasure_hunting_contract } - } - scope:employer = { - highest_held_title_tier > tier_duchy - } - } - 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_transport_value - add = task_contract_weight_employer_contact_list_value - scope:employer = { multiply = task_contract_weight_by_tier_value } - } - - # On_Actions - 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 = { - save_scope_as = task_contract_taker - } - task_contract_employer = { - save_scope_as = task_contract_employer - } - scope:task_contract_taker = { - trigger_event = ep3_contract_event.0005 - } - } - - on_invalidated = { - if = { - limit = { - root.task_contract_taker = { - any_character_active_contract = { - this = root - } - } - } - task_contract_employer = { - save_scope_as = task_contract_employer - } - save_scope_value_as = { - name = task_contract_tier - value = root.task_contract_tier - } - var:task_contract_destination ?= { - save_scope_as = task_contract_destination - } - task_contract_taker = { - set_variable = { - name = invalidated_task_contract_type - value = flag:laamp_treasure_hunting_contract - } - } - if = { - limit = { - task_contract_employer = { - is_alive = no - } - } - task_contract_employer.primary_title.holder ?= { - save_scope_as = employer_heir - } - task_contract_taker = { - save_scope_value_as = { - name = task_contract_invalidation_reason - value = flag:employer_dead - } - trigger_event = ep3_contract_event.0012 - - } - } - } - } - - task_contract_reward = { - success_standard = { - 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 = laamp_transport_contract.success - left_icon = scope:task_contract.task_contract_taker - right_icon = scope:task_contract.task_contract_employer - add_prestige = task_contract_success_prestige_gain_full_value - if = { - limit = { - is_ai = no - } - scope:task_contract.task_contract_employer = { - pay_short_term_gold = { - target = scope:task_contract.task_contract_taker - gold = task_contract_success_gold_gain_full_value - } - } - } - else = { - add_short_term_gold = task_contract_success_gold_gain_full_value - } - reverse_add_opinion = { - modifier = succeeded_task_contract_opinion - target = scope:task_contract.task_contract_employer - opinion = 20 - } - # Huck 'em into our contact list. - add_contact = scope:task_contract.task_contract_employer - # Give hook as well as contact - add_hook_if_possible_default_length_effect = { - TARGET = scope:task_contract.task_contract_employer - TYPE = contact_list_weak_hook - } - } - } - } - } - failure_standard = { - positive = 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 = { - 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 - } - } - } - } - } -} - -## Protect Heritage -# scope:employer = a minority vassal of the same culture as root wanting to get title revocation rights vassal contract -# task_contract_target = liege of task_contract_employer -# task_contract_destination = capital of task_contract_employer -laamp_cultural_minority_contract = { - group = laamp_contracts_diplomacy_group - icon = "gfx/interface/icons/character_interactions/icon_culture.dds" - travel = yes - use_diplomatic_range = no - - # Validity Triggers - 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 - # Specific flavour triggers. - scope:employer = { - top_liege != this - has_vassal_stance = minority - liege ?= { - is_ai = yes - } - vassal_contract_obligation_level_can_be_increased = title_revocation_rights - culture = { - this != scope:employer.liege.culture - } - } - } - valid_to_accept = { - # Standard triggers. - valid_laamp_basic_accept_only_trigger = yes - valid_laamp_basic_trigger = { - EMPLOYER = scope:employer - LAAMP = root - } - } - valid_to_continue = { - save_temporary_scope_as = task_contract - var:task_contract_target = { - any_vassal = { - scope:task_contract.var:task_contract_employer = this - } - } - # 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_almost_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_Actions - on_create = { - scope:contract = { - save_scope_as = task_contract - task_contract_employer = { - liege = { - save_scope_as = task_contract_target - } - capital_province = { - save_scope_as = task_contract_destination - } - } - set_task_contract_target = scope:task_contract_target - set_variable = { - name = task_contract_employer - value = scope:task_contract.task_contract_employer - } - set_variable = { - name = task_contract_target - value = scope:task_contract_target - } - set_variable = { - name = task_contract_destination - value = scope:task_contract_destination - } - # Make our gold rewards static. - grab_gold_fuzz_number_effect = yes - set_variable = { - name = gold_success_standard - value = task_contract_taker.task_contract_success_gold_gain_full_value - } - } - } - - 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 = ep3_contract_event.0020 - } - } - - on_invalidated = { - if = { - limit = { - root.task_contract_taker = { - any_character_active_contract = { - this = root - } - } - } - task_contract_employer = { - save_scope_as = task_contract_employer - } - save_scope_value_as = { - name = task_contract_tier - value = root.task_contract_tier - } - var:task_contract_destination = { - save_scope_as = task_contract_destination - } - var:task_contract_target = { - save_scope_as = task_contract_target - } - task_contract_taker = { - set_variable = { - name = invalidated_task_contract_type - value = flag:laamp_cultural_minority_contract - } - } - if = { - limit = { - task_contract_employer = { - is_alive = no - } - } - task_contract_employer.primary_title.holder ?= { - save_scope_as = employer_heir - } - task_contract_taker = { - save_scope_value_as = { - name = task_contract_invalidation_reason - value = flag:employer_dead - } - trigger_event = ep3_contract_event.0012 - - } - } - else_if = { - limit = { - scope:task_contract_target = { - is_alive = no - } - } - task_contract_taker = { - save_scope_value_as = { - name = task_contract_invalidation_reason - value = flag:target_dead - } - trigger_event = ep3_contract_event.0012 - } - } - else_if = { - limit = { - scope:task_contract_target = { - any_vassal = { - count = all - scope:task_contract_employer != this - } - } - } - task_contract_taker = { - save_scope_value_as = { - name = task_contract_invalidation_reason - value = flag:not_vassal - } - trigger_event = ep3_contract_event.0012 - } - } - } - } - - # Rewards - task_contract_reward = { - success_standard = { - 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 = { - type = event_toast_effect_good - title = laamp_transport_contract.success - left_icon = scope:task_contract.task_contract_taker - right_icon = scope:task_contract.task_contract_employer - root = { - save_scope_value_as = { name = extra_reward value = flag:no } - # 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 = task_contract_success_provisions_gain_minor_value - OPINION = task_contract_opinion_standard_reward_value - OPINION_TYPE = succeeded_task_contract_opinion - CONTACT = yes - CONTACT_HOOK = yes - EXTRA_REWARD = scope:extra_reward - } - } - if = { - limit = { - scope:task_contract.task_contract_taker.culture != scope:task_contract.task_contract_employer.culture - } - scope:task_contract.task_contract_taker.culture = { - change_cultural_acceptance = { - target = scope:task_contract.task_contract_employer.culture - value = low_positive_culture_acceptance - desc = cultural_acceptance_laamp_cultural_minority_contract - } - } - } - show_as_tooltip = { - scope:task_contract.task_contract_employer = { - vassal_contract_set_obligation_level = { - type = title_revocation_rights - level = 1 - } - } - } - } - } - } - } - failure_standard = { - positive = 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 = { - send_interface_toast = { - type = event_toast_effect_bad - title = laamp_transport_contract.transport_failed - root = { - 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 - } - } - } - } - } - } - } -} - -## Reward the Faithful -# scope:employer = a minority vassal of the same faith as root wanting to get religious rights vassal contract -# task_contract_target = liege of task_contract_employer -# task_contract_destination = capital of task_contract_employer -laamp_religious_minority_contract = { - group = laamp_contracts_diplomacy_group - icon = "gfx/interface/icons/character_interactions/religious.dds" - travel = yes - use_diplomatic_range = no - - # Validity Triggers - 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 - # Specific flavour triggers. - scope:employer = { - top_liege != this - has_vassal_stance = minority - liege ?= { - is_ai = yes - } - vassal_contract_obligation_level_can_be_increased = religious_rights - faith != liege.faith - } - } - valid_to_accept = { - # Standard triggers. - valid_laamp_basic_accept_only_trigger = yes - valid_laamp_basic_trigger = { - EMPLOYER = scope:employer - LAAMP = root - } - } - valid_to_continue = { - save_temporary_scope_as = task_contract - var:task_contract_target = { - any_vassal = { - scope:task_contract.var:task_contract_employer = this - } - } - # 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_almost_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_Actions - on_create = { - scope:contract = { - save_scope_as = task_contract - task_contract_employer = { - liege = { - save_scope_as = task_contract_target - } - capital_province = { - save_scope_as = task_contract_destination - } - } - set_task_contract_target = scope:task_contract_target - set_variable = { - name = task_contract_employer - value = scope:task_contract.task_contract_employer - } - set_variable = { - name = task_contract_target - value = scope:task_contract_target - } - set_variable = { - name = task_contract_destination - value = scope:task_contract_destination - } - # Make our gold rewards static. - grab_gold_fuzz_number_effect = yes - set_variable = { - name = gold_success_standard - value = task_contract_taker.task_contract_success_gold_gain_full_value - } - } - } - 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 = ep3_contract_event.0021 - } - } - - on_invalidated = { - if = { - limit = { - root.task_contract_taker = { - any_character_active_contract = { - this = root - } - } - } - task_contract_employer = { - save_scope_as = task_contract_employer - } - save_scope_value_as = { - name = task_contract_tier - value = root.task_contract_tier - } - var:task_contract_destination = { - save_scope_as = task_contract_destination - } - var:task_contract_target = { - save_scope_as = task_contract_target - } - - task_contract_taker = { - set_variable = { - name = invalidated_task_contract_type - value = flag:laamp_religious_minority_contract - } - } - if = { - limit = { - task_contract_employer = { - is_alive = no - } - } - task_contract_employer.primary_title.holder ?= { - save_scope_as = employer_heir - } - task_contract_taker = { - save_scope_value_as = { - name = task_contract_invalidation_reason - value = flag:employer_dead - } - trigger_event = ep3_contract_event.0012 - - } - } - else_if = { - limit = { - scope:task_contract_target = { - is_alive = no - } - } - task_contract_taker = { - save_scope_value_as = { - name = task_contract_invalidation_reason - value = flag:target_dead - } - trigger_event = ep3_contract_event.0012 - } - } - else_if = { - limit = { - scope:task_contract_target = { - any_vassal = { - count = all - scope:task_contract_employer != this - } - } - } - task_contract_taker = { - save_scope_value_as = { - name = task_contract_invalidation_reason - value = flag:not_vassal - } - trigger_event = ep3_contract_event.0012 - } - } - } - } - - # Rewards - task_contract_reward = { - success_standard = { - 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 = { - type = event_toast_effect_good - title = laamp_transport_contract.success - left_icon = scope:task_contract.task_contract_taker - right_icon = scope:task_contract.task_contract_employer - save_scope_value_as = { name = extra_reward value = flag:no } - root = { - # Standard Rewards. - laamp_rewards_disburse_ordinary_currency_effect = { - GOLD = 0 - PRESTIGE = 0 - PIETY = task_contract_success_piety_gain_full_value - PROVISIONS = 0 - OPINION = task_contract_opinion_standard_reward_value - OPINION_TYPE = succeeded_task_contract_opinion - CONTACT = yes - CONTACT_HOOK = yes - EXTRA_REWARD = scope:extra_reward - } - } - show_as_tooltip = { - scope:task_contract.task_contract_employer = { - vassal_contract_set_obligation_level = { - type = religious_rights - level = 1 - } - } - } - } - } - } - } - failure_standard = { - positive = 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 = { - send_interface_toast = { - type = event_toast_effect_bad - title = laamp_transport_contract.transport_failed - save_scope_value_as = { name = extra_reward value = flag:no } - root = { - # Standard Penalties. - laamp_rewards_disburse_ordinary_currency_effect = { - GOLD = 0 - PRESTIGE = 0 - PIETY = task_contract_failure_piety_loss_full_value - 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 - } - } - } - } - } - } - } -} - -## Prison Break -# scope:employer = a character that has a spouse, family member, soulmate or best friend imprisoned by another character -# task_contract_target = imprisoner -# task_contract_destination = capital of task_contract_target -# task_contract_object = the imprisoned character to be rescued -laamp_prison_break_contract = { - group = laamp_contracts_intrigue_group - icon = "gfx/interface/icons/casus_bellis/fp3_free_house_member.dds" - travel = no - use_diplomatic_range = no - - # Validity Triggers - 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 - # Specific flavour triggers. - scope:employer = { - OR = { - any_spouse = { - is_imprisoned = yes - NOR = { - is_imprisoned_by = scope:employer - is_imprisoned_by = root - } - } - any_close_family_member = { - is_imprisoned = yes - NOR = { - is_imprisoned_by = scope:employer - is_imprisoned_by = root - } - } - any_relation = { - type = soulmate - is_imprisoned = yes - NOR = { - is_imprisoned_by = scope:employer - is_imprisoned_by = root - } - } - any_relation = { - type = best_friend - is_imprisoned = yes - NOR = { - is_imprisoned_by = scope:employer - is_imprisoned_by = root - } - } - } - } - } - valid_to_keep = { - exists = root.var:task_contract_object - root.var:task_contract_object = { - is_imprisoned = yes - } - # Standard triggers. - valid_laamp_basic_trigger = { - EMPLOYER = root.task_contract_employer - LAAMP = root.task_contract_taker - } - } - valid_to_accept = { - # Standard triggers. - valid_laamp_basic_accept_only_trigger = yes - valid_laamp_basic_trigger = { - EMPLOYER = scope:employer - LAAMP = root - } - } - valid_to_continue = { - var:task_contract_object ?= { - is_imprisoned = yes - is_alive = yes - } - # Standard triggers. - valid_laamp_basic_trigger = { - EMPLOYER = root.task_contract_employer - LAAMP = root.task_contract_taker - } - } - weight = { - # Standard weights. - value = task_contract_weight_interesting_very_rare_value - add = laamp_contracts_weight_up_intrigue_value - scope:employer = { - if = { - limit = { has_trait = compassionate } - add = task_contract_weight_bonus_employer_has_associated_traits_value - } - multiply = task_contract_weight_by_tier_value - } - add = task_contract_weight_employer_contact_list_value - } - - on_create = { - scope:contract = { - save_scope_as = task_contract - task_contract_employer = { - every_spouse = { - limit = { - is_imprisoned = yes - NOR = { - is_imprisoned_by = scope:task_contract.task_contract_employer - is_imprisoned_by = scope:task_contract.task_contract_taker - } - } - add_to_list = character_to_breakout - } - every_close_family_member = { - limit = { - is_imprisoned = yes - NOR = { - is_imprisoned_by = scope:task_contract.task_contract_employer - is_imprisoned_by = scope:task_contract.task_contract_taker - } - } - add_to_list = character_to_breakout - } - every_relation = { - type = soulmate - limit = { - is_imprisoned = yes - NOR = { - is_imprisoned_by = scope:task_contract.task_contract_employer - is_imprisoned_by = scope:task_contract.task_contract_taker - } - } - add_to_list = character_to_breakout - } - every_relation = { - type = best_friend - limit = { - is_imprisoned = yes - NOR = { - is_imprisoned_by = scope:task_contract.task_contract_employer - is_imprisoned_by = scope:task_contract.task_contract_taker - } - } - add_to_list = character_to_breakout - } - ordered_in_list = { - list = character_to_breakout - order_by = prison_break_value - save_scope_as = task_contract_object - } - } - set_variable = { - name = task_contract_employer - value = scope:task_contract.task_contract_employer - } - set_variable = { - name = task_contract_object - value = scope:task_contract_object - } - scope:task_contract_object = { - imprisoner = { - save_scope_as = task_contract_target - capital_province = { - save_scope_as = task_contract_destination - } - } - add_character_flag = being_prisonbroken_by_laamp - } - set_task_contract_target = scope:task_contract_target - set_variable = { - name = task_contract_target - value = scope:task_contract_target - } - set_variable = { - name = task_contract_destination - value = scope:task_contract_destination - } - # Make our gold rewards static. - grab_gold_fuzz_number_effect = yes - set_variable = { - name = gold_success_standard - value = task_contract_taker.task_contract_success_gold_gain_full_value - } - } - } - # On_Actions - 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 = ep3_contract_event.0030 - } - } - - on_invalidated = { - if = { - limit = { - root.task_contract_taker = { - any_character_active_contract = { - this = root - } - } - } - task_contract_employer = { - save_scope_as = task_contract_employer - } - save_scope_value_as = { - name = task_contract_tier - value = root.task_contract_tier - } - var:task_contract_destination = { - save_scope_as = task_contract_destination - } - var:task_contract_target = { - save_scope_as = task_contract_target - } - var:task_contract_object = { - save_scope_as = task_contract_object - } - task_contract_taker = { - set_variable = { - name = invalidated_task_contract_type - value = flag:laamp_prison_break_contract - } - } - if = { - limit = { - task_contract_employer = { - is_alive = no - } - } - task_contract_employer.primary_title.holder ?= { - save_scope_as = employer_heir - } - task_contract_taker = { - save_scope_value_as = { - name = task_contract_invalidation_reason - value = flag:employer_dead - } - trigger_event = ep3_contract_event.0012 - - } - } - else_if = { - limit = { - scope:task_contract_target = { - is_alive = no - } - } - task_contract_taker = { - save_scope_value_as = { - name = task_contract_invalidation_reason - value = flag:target_dead - } - trigger_event = ep3_contract_event.0012 - } - } - else_if = { - limit = { - scope:task_contract_object = { - is_alive = no - } - } - task_contract_taker = { - save_scope_value_as = { - name = task_contract_invalidation_reason - value = flag:escortee_dead - } - trigger_event = ep3_contract_event.0012 - } - } - else_if = { - limit = { - scope:task_contract_object = { - is_imprisoned = no - } - } - task_contract_taker = { - save_scope_value_as = { - name = task_contract_invalidation_reason - value = flag:prisoner_free - } - trigger_event = ep3_contract_event.0012 - } - } - } - } - - # Rewards - task_contract_reward = { - success_standard = { - 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 = { - type = event_toast_effect_good - title = laamp_transport_contract.success - left_icon = scope:task_contract.task_contract_taker - right_icon = scope:task_contract.task_contract_employer - save_scope_value_as = { name = extra_reward value = flag:no } - # Standard Rewards. - scope: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_minor_value - OPINION = task_contract_opinion_standard_reward_value - OPINION_TYPE = succeeded_task_contract_opinion - CONTACT = yes - CONTACT_HOOK = yes - EXTRA_REWARD = scope:extra_reward - } - } - scope:task_contract.var:task_contract_object = { - scope:task_contract.var:task_contract_target = { - save_scope_as = imprisoner - } - escape_from_prison_effect = yes - } - } - } - } - } - failure_standard = { - positive = 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 = { - send_interface_toast = { - type = event_toast_effect_bad - title = laamp_transport_contract.transport_failed - left_icon = scope:task_contract.task_contract_taker - right_icon = scope:task_contract.task_contract_employer - save_scope_value_as = { name = extra_reward value = flag:no } - # Standard Penalties. - scope: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 - } - } - } - } - } - } - } -} - -## Treasure Map -# scope:employer = root -# task_contract_target = root -# contract_treasure_location = ep3_laamp_decision_event.1025 -# contract_picked_up_in_location = ep3_laamp_decision_event.1025 -laamp_treasure_map_contract = { - group = laamp_contracts_noticeboard_group #These are created in the Visit Local Settlement-decision - icon = "gfx/interface/icons/character_interactions/icon_contract_escort.dds" - - # Validity Triggers - 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 - # Specific flavour triggers. - #There can only be one contract of this type at a time - any_task_contract = { - NOT = { has_task_contract_type = laamp_treasure_map_contract } - } - } - valid_to_accept = { - # Standard triggers. - valid_laamp_basic_accept_only_trigger = yes - valid_laamp_basic_trigger = { - EMPLOYER = scope:employer - LAAMP = root - } - #We're not already enrolled in a treasure map contract - NOT = { - any_character_artifact = { has_variable = 1025_treasure_map } - } - } - valid_to_continue = { - #We haven't already located the treasure - trigger_if = { - limit = { - NOT = { has_variable = 0045_used_map } - } - root.task_contract_taker = { - any_character_artifact = { has_variable = 1025_treasure_map } - } - } - #The employer is still alive and free - root.task_contract_employer = { - is_alive = yes - is_imprisoned = no - is_incapable = no - } - # 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_transport_value - add = task_contract_weight_employer_contact_list_value - scope:employer = { multiply = task_contract_weight_by_tier_value } - } - - # On_Actions - 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 = { save_scope_as = task_contract_taker } - task_contract_employer = { save_scope_as = task_contract_employer } - - #Create quest item Treasure Map - scope:task_contract_taker = { - create_artifact = { - name = treasure_map - description = treasure_map_desc - modifier = artifact_monthly_minor_prestige_1_modifier - type = miscellaneous - visuals = pocket_map - max_durability = 10 - history = { - type = given - actor = scope:task_contract_employer - recipient = scope:task_contract_taker - location = scope:task_contract.var:contract_picked_up_in_location - } - save_scope_as = newly_created_map - } - #Set variables - scope:newly_created_map ?= { - set_variable = 1025_treasure_map - set_variable = { - name = picked_up_in_location - value = scope:task_contract.var:contract_picked_up_in_location - } - set_variable = { - name = artifact_treasure_location - value = scope:task_contract.var:contract_treasure_location - } - if = { - limit = { - exists = var:picked_up_in_location - exists = var:artifact_treasure_location - } - set_artifact_description = treasure_map_desc - } - } - #Chuck the employer in there as well - add_courtier = scope:task_contract_employer - scope:task_contract_employer = { - add_character_flag = { - flag = blocked_from_leaving - years = 11 #The map should break first, and is set to 10 years - } - } - trigger_event = ep3_contract_event.0043 - } - } - - #Employer died? Map decayed? - on_invalidated = { - #Employer unavailable - if = { - limit = { - task_contract_employer = { - OR = { - is_alive = no - has_trait = incapable - is_imprisoned = yes - } - } - } - task_contract_employer = { save_scope_as = task_contract_employer } - #Save the location of the employer - var:contract_picked_up_in_location = { save_scope_as = original_contract_location } - #Save contract - save_scope_as = task_contract - #Save tier, realistically always 1 - save_scope_value_as = { - name = task_contract_tier - value = root.task_contract_tier - } - #Save the destination - var:contract_treasure_location ?= { save_scope_as = task_contract_destination } - #Destroy the historical artifact if the LAAMP is an AI - if = { - limit = { - has_variable = has_unique_historical_artifact - task_contract_taker = { is_ai = yes } - } - var:has_unique_historical_artifact = { save_scope_as = historical_artifact } - hidden_effect = { destroy_artifact = scope:historical_artifact } - } - #Send the appropriate event - task_contract_taker = { - set_variable = { - name = invalidated_task_contract_type - value = flag:laamp_treasure_map_contract - } - #Dead - if = { - limit = { - scope:task_contract_employer = { is_alive = no } - } - trigger_event = ep3_contract_event.0041 - } - #Incapable - if = { - limit = { - scope:task_contract_employer = { has_trait = incapable } - } - trigger_event = ep3_contract_event.0041 - } - #Imprisoned - if = { - limit = { - scope:task_contract_employer = { is_imprisoned = yes } - } - #Save the invalidation flag - save_scope_value_as = { - name = task_contract_invalidation_reason - value = flag:unlanded_employer_is_imprisoned - } - trigger_event = ep3_contract_event.0012 - } - } - #No longer excavating - remove_variable ?= ep3_laamp_decision_1000_is_excavating - } - #Decay-destroyed map is handled via on_artifact_broken_through_decay, leading to ep3_contract_event.0040 - } - - task_contract_reward = { - #Something to display in the Contract Reward window. Not actually used. - success_qualified = { - effect = { - save_scope_as = task_contract - if = { # Camp building extra Criminal Rewards: +50%. - limit = { - task_contract_taker.domicile ?= { has_domicile_parameter = camp_improved_criminal_contract_rewards } - } - save_scope_value_as = { name = extra_reward value = flag:yes } - } - else = { # Standard Reward. - save_scope_value_as = { name = extra_reward value = flag:no } - } - #Check for provision overflows - save_scope_value_as = { - name = provisions_to_add_value - value = { - value = task_contract_taker.domicile.max_provisions - max = old_adventurer_stashed_provisions_value - } - } - save_scope_value_as = { - name = total_provisions_after_reward_value - value = { - value = task_contract_taker.domicile.provisions - add = scope:provisions_to_add_value - } - } - #If there is an overflow - if = { - limit = { scope:total_provisions_after_reward_value > task_contract_taker.domicile.max_provisions } - save_scope_value_as = { - name = provisions_to_add_value - value = { - value = task_contract_taker.domicile.max_provisions - subtract = task_contract_taker.domicile.provisions - } - } - save_scope_value_as = { - name = provisions_overflow_value - value = { - value = scope:total_provisions_after_reward_value - subtract = task_contract_taker.domicile.max_provisions - } - } - save_scope_value_as = { - name = provisions_transformed_to_gold_value - value = { - value = scope:total_provisions_after_reward_value - subtract = task_contract_taker.domicile.max_provisions - multiply = 0.05 - } - } - } - task_contract_taker = { - scope:task_contract.task_contract_employer = { - pay_short_term_gold = { - target = scope:task_contract.task_contract_taker - gold = { - value = { - value = old_adventurer_stashed_gold_value - #Extra rewards - if = { - limit = { scope:extra_reward = flag:yes } - multiply = task_contract_extra_reward_multiplier_value - } - } - } - } - } - stress_and_fulfillment_impact = { - base = major_stress_impact_loss - honest = minor_stress_impact_loss - } - #1000 seems like a fine, round number for some old adventurer to have stashed somewhere - domicile ?= { - change_provisions = { - #We're capped - if = { - limit = { provisions >= max_provisions } - value = 0 #No provisions, you're full - } - #We're not capped and our max cap is less than 1000 - else_if = { - limit = { max_provisions < old_adventurer_stashed_provisions_value } - value = { - value = max_provisions - subtract = provisions - } - } - #We're not capped and our max cap is equal to -or more- than 1000 - else = { - value = { - value = max_provisions - subtract = provisions - max = old_adventurer_stashed_provisions_value - } - } - } - } - #Inform the player about the overflow - if = { - limit = { exists = scope:provisions_transformed_to_gold_value } - custom_tooltip = { - text = overflowing_provisions_to_gold.tt - add_gold = scope:provisions_transformed_to_gold_value - } - } - } - } - } - #Handled in ep3_contract_event.0050 - success_standard = { - 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 - if = { # Camp building extra Criminal Rewards: +50%. - limit = { - task_contract_taker.domicile ?= { has_domicile_parameter = camp_improved_criminal_contract_rewards } - } - save_scope_value_as = { name = extra_reward value = flag:yes } - } - else = { # Standard Reward. - save_scope_value_as = { name = extra_reward value = flag:no } - } - #Check for provision overflows - if = { - limit = { task_contract_taker.domicile.max_provisions < old_adventurer_stashed_provisions_value } - save_scope_value_as = { - name = provisions_to_add_value - value = task_contract_taker.domicile.max_provisions - } - } - else = { - save_scope_value_as = { - name = provisions_to_add_value - value = old_adventurer_stashed_provisions_value - } - } - save_scope_value_as = { - name = total_provisions_after_reward_value - value = { - value = task_contract_taker.domicile.provisions - add = scope:provisions_to_add_value - } - } - #If there is an overflow - if = { - limit = { scope:total_provisions_after_reward_value > task_contract_taker.domicile.max_provisions } - save_scope_value_as = { - name = provisions_to_add_value - value = { - value = task_contract_taker.domicile.max_provisions - subtract = task_contract_taker.domicile.provisions - } - } - save_scope_value_as = { - name = provisions_overflow_value - value = { - value = scope:total_provisions_after_reward_value - subtract = task_contract_taker.domicile.max_provisions - } - } - save_scope_value_as = { - name = provisions_transformed_to_gold_value - value = { - value = scope:total_provisions_after_reward_value - subtract = task_contract_taker.domicile.max_provisions - multiply = 0.05 - } - } - } - #The actual toast - task_contract_taker = { - send_interface_toast = { - title = laamp_transport_contract.success - left_icon = scope:task_contract.task_contract_taker - right_icon = scope:task_contract.task_contract_employer - #Historical Artifact 'transferred owner' - if = { - limit = { - scope:task_contract = { has_variable = has_unique_historical_artifact } - } - scope:task_contract = { - var:has_unique_historical_artifact = { save_scope_as = historical_artifact } - } - show_as_tooltip = { - scope:historical_artifact = { set_owner = scope:task_contract.task_contract_employer } - } - } - #Random Jewellry 'transferred owner' - if = { - limit = { - scope:task_contract = { has_variable = has_jewelry_artifact } - } - scope:task_contract = { - var:has_jewelry_artifact = { save_scope_as = jewelry_artifact } - } - show_as_tooltip = { - scope:jewelry_artifact = { set_owner = scope:task_contract.task_contract_employer } - } - } - #Gold reward - if = { - limit = { is_ai = no } - scope:task_contract.task_contract_employer = { - if = { - limit = { exists = scope:historical_artifact } - scope:task_contract.task_contract_employer = { - pay_short_term_gold = { - target = scope:task_contract.task_contract_taker - gold = { - value = { - value = old_adventurer_stashed_gold_value - multiply = 4 - #Extra rewards - if = { - limit = { scope:extra_reward = flag:yes } - multiply = task_contract_extra_reward_multiplier_value - } - } - } - } - } - } - else_if = { - limit = { exists = scope:jewelry_artifact } - pay_short_term_gold = { - target = scope:task_contract.task_contract_taker - gold = { - value = { - value = old_adventurer_stashed_gold_value - multiply = { - value = scope:task_contract.var:has_jewelry_artifact.artifact_rarity - subtract = 1 - } - #Extra rewards - if = { - limit = { scope:extra_reward = flag:yes } - multiply = task_contract_extra_reward_multiplier_value - } - } - } - } - } - else_if = { - limit = { - scope:task_contract = { has_variable = treasure_gold_great } - } - pay_short_term_gold = { - target = scope:task_contract.task_contract_taker - gold = { - value = { - value = old_adventurer_stashed_gold_value - multiply = 1.5 - #Extra rewards - if = { - limit = { scope:extra_reward = flag:yes } - multiply = task_contract_extra_reward_multiplier_value - } - } - } - } - } - else_if = { - limit = { - scope:task_contract = { - has_variable = { - name = treasure_gold_mediocre - name = treasure_gold_poor - } - } - } - pay_short_term_gold = { - target = scope:task_contract.task_contract_taker - gold = { - value = { - value = old_adventurer_stashed_gold_value - multiply = 1.25 - #Extra rewards - if = { - limit = { scope:extra_reward = flag:yes } - multiply = task_contract_extra_reward_multiplier_value - } - } - } - } - } - else_if = { - limit = { - scope:task_contract = { has_variable = treasure_pillaged } - } - pay_short_term_gold = { - target = scope:task_contract.task_contract_taker - gold = { - value = { - value = old_adventurer_stashed_gold_value - #Extra rewards - if = { - limit = { scope:extra_reward = flag:yes } - multiply = task_contract_extra_reward_multiplier_value - } - } - } - } - } - } - } - #For AI - else = { - add_short_term_gold = { - value = { - value = old_adventurer_stashed_gold_value - #Extra rewards - if = { - limit = { scope:extra_reward = flag:yes } - multiply = task_contract_extra_reward_multiplier_value - } - } - } - } - #Prestige reward - if = { - limit = { exists = scope:historical_artifact } - add_prestige = { - value = { - value = major_prestige_gain - #Extra rewards - if = { - limit = { scope:extra_reward = flag:yes } - multiply = task_contract_extra_reward_multiplier_value - } - } - } - } - #Stress loss -- less stress loss if you gained more gold and vice versa (for doing a good thing) - if = { - limit = { - NOT = { exists = scope:historical_artifact } - } - if = { - limit = { - OR = { - exists = scope:jewelry_artifact - scope:task_contract = { has_variable = treasure_gold_great } - } - } - stress_and_fulfillment_impact = { - base = minor_stress_impact_loss - honest = minor_stress_impact_loss - } - } - else_if = { - limit = { - scope:task_contract = { - has_variable = { - name = treasure_gold_mediocre - name = treasure_gold_poor - } - } - } - stress_and_fulfillment_impact = { - base = medium_stress_impact_loss - honest = minor_stress_impact_loss - } - } - else_if = { - limit = { - scope:task_contract = { has_variable = treasure_pillaged } - } - stress_and_fulfillment_impact = { - base = major_stress_impact_loss - honest = minor_stress_impact_loss - } - } - } - #Lose some Gallowsbait xp - if = { - limit = { - #... you can't steal a view - NOT = { - scope:task_contract = { has_variable = has_scenic_riches } - } - } - #Lose some Gallowsbait xp - if = { - limit = { - has_trait = gallowsbait - has_trait_xp = { - trait = gallowsbait - track = thief - value > 0 - } - } - laamp_rewards_apply_criminal_xp_effect = { - TRACK = thief - XP_MIN = negative_small_lifestyle_random_xp_low - XP_MAX = negative_small_lifestyle_random_xp_low - } - } - } - #Inform the player about the overflow - if = { - limit = { exists = scope:provisions_transformed_to_gold_value } - custom_tooltip = { - text = overflowing_provisions_to_gold.tt - add_gold = scope:provisions_transformed_to_gold_value - } - } - #Throw the historical artifact back in the pool - if = { - limit = { exists = scope:historical_artifact } - hidden_effect = { destroy_artifact = scope:historical_artifact } - } - } - #1000 seems like a fine, round number for some old adventurer to have stashed somewhere - domicile ?= { - change_provisions = { - #We're capped - if = { - limit = { provisions = max_provisions } - value = 0 #No provisions, you're full - } - #We're not capped and our max cap is less than 1000 - else_if = { - limit = { max_provisions < old_adventurer_stashed_provisions_value } - value = { - value = max_provisions - subtract = provisions - } - } - #We're not capped and our max cap is equal to -or more- than 1000 - else = { - value = { - value = max_provisions - subtract = provisions - max = old_adventurer_stashed_provisions_value - } - } - } - } - #Sweep, sweep. - hidden_effect = { - if = { - limit = { - any_character_artifact = { has_variable = 1025_treasure_map } - } - random_character_artifact = { - limit = { has_variable = 1025_treasure_map } - destroy_artifact = this - } - } - } - #No longer excavating - remove_variable ?= ep3_laamp_decision_1000_is_excavating - } - } - } - #Handled in ep3_contract_event.0045 - failure_standard = { - positive = 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 - scope:task_contract = { - if = { - limit = { has_variable = has_unique_historical_artifact } - task_contract_taker = { #Pretty inconsequential, since you couldn't really determine ahead of time - send_interface_toast = { - title = laamp_transport_contract.transport_failed - left_icon = scope:task_contract.task_contract_taker - right_icon = scope:task_contract.task_contract_employer - #And this adventurer doesn't want to see you again - progress_towards_rival_effect = { - REASON = rival_mia_contract - CHARACTER = scope:task_contract.task_contract_employer - OPINION = 0 - } - reverse_add_opinion = { - modifier = stole_artifact_from_me - target = scope:task_contract.task_contract_employer - opinion = -50 - } - add_prestige = medium_prestige_loss - } - } - } - else = { - task_contract_taker = { #Pretty inconsequential, since you couldn't really determine ahead of time - send_interface_toast = { - title = laamp_transport_contract.transport_failed - left_icon = scope:task_contract.task_contract_taker - right_icon = scope:task_contract.task_contract_employer - #And this adventurer doesn't want to see you again - hidden_effect = { #For narrative reasons. For mechanical reasons, this character won't get picked in Visit Settlement again - progress_towards_rival_effect = { - REASON = rival_mia_contract - CHARACTER = scope:task_contract.task_contract_employer - OPINION = 0 - } - } - reverse_add_opinion = { - modifier = disappointed_opinion - target = scope:task_contract.task_contract_employer - opinion = -30 - } - add_prestige = minor_prestige_loss - } - } - } - task_contract_taker = { - #Sweep, sweep. (Let the player know the map will be destroyed when failing) - if = { - limit = { - any_character_artifact = { has_variable = 1025_treasure_map } - } - random_character_artifact = { - limit = { has_variable = 1025_treasure_map } - destroy_artifact = this - } - } - #No longer excavating - remove_variable ?= ep3_laamp_decision_1000_is_excavating - } - } - } - } - } -} - - -laamp_legitimist_support_contract = { - group = laamp_contracts_legitimist_group - icon = "gfx/interface/icons/scheme_types/diplomacy.dds" - - travel = yes - use_diplomatic_range = yes - - weight = { - value = task_contract_weight_interesting_very_rare_value - add = task_contract_weight_employer_contact_list_value - } - - valid_to_create = { - # Standard triggers. - valid_laamp_basic_trigger = { - EMPLOYER = scope:employer - LAAMP = root - } - has_realm_law = camp_purpose_legitimists - scope:employer = { - opinion = { - target = root - value > 60 - } - } - scope:employer.primary_title.tier >= tier_kingdom - any_claim = { - exists = holder - tier >= tier_kingdom - holder != scope:employer - } - } - - 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 - } - } - - on_create = { - scope:contract = { - task_contract_employer = { - add_character_flag = legitimist_supporter - } - } - } - - 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 = petitioned_ruler - } - task_contract_taker = { - trigger_event = ep3_laamps.8101 - } - } - - task_contract_reward = { - success_standard = { - effect = { - task_contract_taker = { play_sound_effect = "event:/DLC/EP3/SFX/UI/Contracts/ep3_ui_contracts_success_on_contract" } - task_contract_employer = { - save_scope_as = recipient - } - task_contract_taker = { - custom_tooltip = laamp_legitimist_support_contract_success - } - } - } - failure_standard = { - positive = no - effect = { - task_contract_taker = { play_sound_effect = "event:/DLC/EP3/SFX/UI/Contracts/ep3_ui_contracts_failure_on_contract" } - task_contract_taker = { - custom_tooltip = laamp_legitimist_support_contract_failure - } - } - } - } -} - -## Support Faction -# scope:employer = ruler needing help in a faction -# scope:task_contract_faction = faction to join -laamp_join_faction_contract = { - group = laamp_contracts_war_group - icon = "gfx/interface/icons/character_interactions/faction.dds" - travel = no - use_diplomatic_range = no - - # Validity Triggers - valid_to_create = { - # Standard triggers. - valid_laamp_basic_trigger = { - EMPLOYER = scope:employer - LAAMP = root - } - employer_has_treasury_to_offer_job_trigger = yes - # Specific flavour triggers. - scope:employer = { - is_a_faction_member = yes - joined_faction = { - save_temporary_scope_as = temp_faction - } - } - is_a_faction_member = no - #don't spawn contracts for the same factions or faction targets - NOT = { - any_character_task_contract = { - task_contract_type = laamp_join_faction_contract - OR = { - var:task_contract_faction ?= scope:temp_faction - task_contract_employer = scope:temp_faction.faction_target - } - } - } - is_adult = yes - is_imprisoned = no - NOR = { - is_allied_to = scope:temp_faction.faction_target - scope:temp_faction.faction_target = { has_strong_hook = root } - has_trait = incapable - has_character_flag = joining_faction_block - has_relation_friend = scope:temp_faction.faction_target - has_relation_lover = scope:temp_faction.faction_target - has_secret_relation_lover = scope:temp_faction.faction_target - scope:temp_faction.faction_target = { is_contact_of = root } - } - } - valid_to_keep = { - exists = root.var:task_contract_faction - # Standard triggers. - valid_laamp_basic_trigger = { - EMPLOYER = root.task_contract_employer - LAAMP = root.task_contract_taker - } - } - valid_to_accept = { - # Standard triggers. - valid_laamp_basic_accept_only_trigger = yes - valid_laamp_basic_trigger = { - EMPLOYER = scope:employer - LAAMP = root - } - custom_tooltip = { - text = NOT_FACTION_JOIN_CREATE_CONDITION_NOT_FACTION_MEMBER - is_a_faction_member = no - } - #passes_faction_hard_block from 00_rules.txt - scope:employer ?= { - joined_faction ?= { - faction_target ?= { - save_temporary_scope_as = target - } - } - } - custom_description = { - text = "FACTION_CANT_JOIN_CREATE_ADULT" - is_adult = yes - } - custom_description = { - text = "FACTION_CANT_JOIN_CREATE_ALLIED" - trigger_if = { - limit = { exists = scope:target } - NOT = { is_allied_to = scope:target } - } - } - custom_description = { - text = "FACTION_CANT_JOIN_CREATE_HOOK" - trigger_if = { - limit = { exists = scope:target } - scope:target = { - NOT = { has_strong_hook = root } - } - } - } - custom_description = { - text = "FACTION_CANT_JOIN_CREATE_IMPRISONED" - trigger_if = { - limit = { - joined_faction ?= { - faction_is_at_war = yes - } - } - } - trigger_else = { - is_imprisoned = no - } - } - custom_description = { - text = "FACTION_CANT_JOIN_CREATE_INCAPABLE" - is_incapable = no - } - custom_description = { - text = "character_blocked_from_joining" - NOT = { has_character_flag = joining_faction_block } - } - custom_description = { - text = "faction_relation_blocks_joining_friend" - trigger_if = { - limit = { exists = scope:target } - NOT = { - root = { has_relation_friend = scope:target } - } - } - } - custom_description = { - text = "faction_relation_blocks_joining_lover" - trigger_if = { - limit = { exists = scope:target } - NOR = { - root = { has_relation_lover = scope:target } - root = { has_secret_relation_lover = scope:target } - } - } - } - } - valid_to_continue = { - exists = root.var:task_contract_faction - var:task_contract_faction = { - any_faction_member = { - this = root.task_contract_taker - } - } - # Standard triggers. - valid_laamp_basic_trigger = { - EMPLOYER = root.task_contract_employer - LAAMP = root.task_contract_taker - } - } - - weight = { - # Standard weights. - value = task_contract_weight_interesting_almost_rare_value - add = laamp_contracts_weight_up_mercenary_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 = { - joined_faction = { - save_scope_as = task_contract_faction - } - save_scope_as = task_contract_employer - } - set_variable = { - name = task_contract_faction - value = scope:task_contract_faction - } - set_variable = { - name = task_contract_employer - value = scope:task_contract_employer - } - scope:task_contract_faction = { - faction_target = { - save_scope_as = task_contract_target - } - } - set_task_contract_target = scope:task_contract_target - set_variable = { - name = task_contract_target - value = scope:task_contract_target - } - } - } - - # On_Actions - 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 = ep3_contract_event.0070 - } - } - - on_invalidated = { - if = { - limit = { - root.task_contract_taker = { - any_character_active_contract = { - this = root - } - } - } - task_contract_employer = { - save_scope_as = task_contract_employer - } - save_scope_value_as = { - name = task_contract_tier - value = root.task_contract_tier - } - var:task_contract_target = { - save_scope_as = task_contract_target - } - task_contract_taker = { - set_variable = { - name = invalidated_task_contract_type - value = flag:laamp_join_faction_contract - } - } - - if = { - limit = { - task_contract_employer = { - is_alive = no - } - } - task_contract_employer.primary_title.holder ?= { - save_scope_as = employer_heir - } - task_contract_taker = { - save_scope_value_as = { - name = task_contract_invalidation_reason - value = flag:employer_dead - } - trigger_event = ep3_contract_event.0012 - - } - } - else_if = { - limit = { - scope:task_contract_target = { - is_alive = no - } - } - task_contract_taker = { - save_scope_value_as = { - name = task_contract_invalidation_reason - value = flag:target_dead - } - trigger_event = ep3_contract_event.0012 - } - } - else_if = { - limit = { - NOT = { exists = scope:task_contract_faction } - NOT = { exists = var:suppress_invalidation_event } - } - task_contract_taker = { - save_scope_value_as = { - name = task_contract_invalidation_reason - value = flag:faction_disbanded - } - trigger_event = ep3_contract_event.0012 - } - } - } - task_contract_taker = { - if = { - limit = { has_variable = task_contract_faction } - remove_variable = task_contract_faction - } - } - } - - task_contract_reward = { - success_standard = { - effect = { - task_contract_taker = { play_sound_effect = "event:/DLC/EP3/SFX/UI/Contracts/ep3_ui_contracts_success_on_contract" } - save_scope_as = task_contract - var:task_contract_faction = { - save_scope_as = faction - } - task_contract_employer = { - save_scope_as = task_contract_employer - save_scope_as = attacker - } - task_contract_taker = { - save_scope_as = task_contract_taker - save_scope_as = defender - custom_tooltip = laamp_join_war_contract.contribution_based_reward_gold - if = { - limit = { - faith != scope:task_contract.var:task_contract_target.faith - } - custom_tooltip = laamp_join_war_contract.contribution_based_reward_piety - } - save_scope_value_as = { - name = task_contract_reward - value = flag:success_standard - } - save_scope_value_as = { - name = task_contract_tier - value = scope:task_contract.task_contract_tier - } - war_contracts_completed_tracker_effect = yes - send_interface_toast = { - title = laamp_transport_contract.success - left_icon = scope:task_contract.task_contract_taker - right_icon = scope:task_contract.task_contract_employer - # Huck 'em into our contact list. - add_contact = scope:task_contract.task_contract_employer - # Give hook as well as contact - add_hook_if_possible_default_length_effect = { - TARGET = scope:task_contract.task_contract_employer - TYPE = contact_list_weak_hook - } - if = { - limit = { - exists = scope:task_contract.var:task_contract_title - } - scope:attacker = { - save_scope_as = actor - } - save_scope_as = recipient - scope:task_contract.var:task_contract_title = { - add_to_list = offered_titles - } - negotiate_settlement_interaction_effect = yes - } - } - } - } - } - failure_standard = { - positive = 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 - var:task_contract_faction = { - save_scope_as = faction - } - task_contract_employer = { - save_scope_as = task_contract_employer - } - task_contract_taker = { - save_scope_value_as = { - name = task_contract_reward - value = flag:failure_standard - } - save_scope_value_as = { - name = task_contract_tier - value = scope:task_contract.task_contract_tier - } - send_interface_toast = { - title = laamp_transport_contract.transport_failed - left_icon = scope:task_contract.task_contract_taker - right_icon = scope:task_contract.task_contract_employer - add_prestige = task_contract_failure_prestige_loss_full_value - } - } - } - } - } -} - -## Missionary Duties -# scope:employer = ruler converting the county -# scope:task_contract_target = court chaplain doing the convert council task -# scope:task_contract_destination = county that has the council task active -# scope:task_contract_councillor = always the councillor performing the task -laamp_help_faith_conversion_contract = { - group = laamp_contracts_learning_group - icon = "/gfx/interface/icons/council_task_types/task_conversion.dds" - travel = yes - use_diplomatic_range = yes - - valid_to_create = { - any_task_contract = { - task_contract_type = laamp_help_faith_conversion_contract - NOT = { task_contract_location = scope:employer.location } - } - council_task_contract_valid_employer_trigger = { - COUNCILLOR_TYPE = councillor_court_chaplain - COUNCIL_TASK_TYPE = task_conversion - } - } - - valid_to_accept = { - valid_laamp_basic_accept_only_trigger = yes - council_task_contract_valid_employer_trigger = { - COUNCILLOR_TYPE = councillor_court_chaplain - COUNCIL_TASK_TYPE = task_conversion - } - } - - valid_to_keep = { - exists = root.var:task_contract_councillor_liege - exists = root.var:task_contract_councillor - # Standard triggers. - valid_laamp_basic_trigger = { - EMPLOYER = root.task_contract_employer - LAAMP = root.task_contract_taker - } - } - valid_to_continue = { - exists = root.var:task_contract_councillor_liege - exists = root.var:task_contract_councillor - # Standard triggers. - valid_laamp_basic_trigger = { - EMPLOYER = root.task_contract_employer - LAAMP = root.task_contract_taker - } - } - - weight = { - # Standard weights. - value = task_contract_weight_interesting_almost_rare_value - add = laamp_contracts_weight_up_learning_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 = { - scope:task_contract_employer.cp:councillor_court_chaplain ?= { is_performing_council_task = task_conversion } - } - set_task_contract_target = scope:task_contract_employer.cp:councillor_court_chaplain - scope:task_contract_employer.cp:councillor_court_chaplain = { save_scope_as = task_contract_councillor } - } - else = { - set_task_contract_target = scope:task_contract_employer.liege - scope:task_contract_employer = { save_scope_as = task_contract_councillor } - } - set_variable = { - name = task_contract_destination - value = root.task_contract_target.councillor_task_target - } - set_variable = { - name = task_contract_employer - value = scope:task_contract_employer - } - set_variable = { - name = task_contract_target - value = root.task_contract_target - } - set_variable = { - name = task_contract_councillor - value = scope:task_contract_councillor - } - # Make our gold rewards static. - grab_gold_fuzz_number_effect = yes - set_variable = { - name = gold_success_standard - value = task_contract_taker.task_contract_success_gold_gain_full_value - } - } - } - - # On_Actions - 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 = ep3_contract_event.0085 - } - } - - on_invalidated = { - if = { - limit = { - root.task_contract_taker = { - any_character_active_contract = { - this = root - } - } - } - task_contract_employer = { - save_scope_as = task_contract_employer - } - save_scope_value_as = { - name = task_contract_tier - value = root.task_contract_tier - } - var:task_contract_destination = { - save_scope_as = task_contract_destination - } - var:task_contract_target = { - save_scope_as = task_contract_target - } - task_contract_taker = { - set_variable = { - name = invalidated_task_contract_type - value = flag:laamp_help_faith_conversion_contract - } - } - if = { - limit = { - task_contract_employer = { - is_alive = no - } - } - task_contract_employer.primary_title.holder ?= { - save_scope_as = employer_heir - } - task_contract_taker = { - save_scope_value_as = { - name = task_contract_invalidation_reason - value = flag:employer_dead - } - trigger_event = ep3_contract_event.0012 - - } - } - else_if = { - limit = { - scope:task_contract_target = { - is_alive = no - } - } - task_contract_taker = { - save_scope_value_as = { - name = task_contract_invalidation_reason - value = flag:target_dead - } - trigger_event = ep3_contract_event.0012 - } - } - } - } - - # Rewards - task_contract_reward = { - success_standard = { - effect = { - 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 } - laamp_rewards_disburse_ordinary_currency_effect = { - GOLD = scope:task_contract.var:gold_success_standard - PRESTIGE = task_contract_success_prestige_gain_half_value - PIETY = task_contract_success_piety_gain_full_value - PROVISIONS = task_contract_failure_provisions_gain_minor_value - OPINION = task_contract_opinion_standard_reward_value - OPINION_TYPE = succeeded_task_contract_opinion - CONTACT = yes - CONTACT_HOOK = yes - EXTRA_REWARD = scope:extra_reward - } - gain_patron_and_hook_from_council_task_contract_effect = yes - } - } - failure_standard = { - positive = no - effect = { - 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 - } - } - } - } -} - -## Protect the Adherents -# scope:employer = pool character resisting county conversion -# scope:task_contract_target = court chaplain doing the convert council task -# scope:task_contract_destination = county that has the council task active -# scope:task_contract_object = task_contract_target's liege -laamp_fight_faith_conversion_contract = { - group = laamp_contracts_learning_group - icon = "/gfx/interface/icons/council_task_types/task_conversion.dds" - travel = no - use_diplomatic_range = yes - - valid_to_create = { - NOT = { - any_task_contract = { - task_contract_type = laamp_fight_faith_conversion_contract - task_contract_location = scope:employer.location - } - } - scope:employer = { - top_liege != this - any_liege_or_above = { - cp:councillor_court_chaplain ?= { - is_performing_council_task = task_conversion - councillor_task_target = scope:employer.location - } - faith != root.faith - faith != scope:employer.faith - } - } - 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 = { - exists = root.var:task_contract_councillor_liege - exists = root.var:task_contract_councillor - # Standard triggers. - valid_laamp_basic_trigger = { - EMPLOYER = root.task_contract_employer - LAAMP = root.task_contract_taker - } - } - - valid_to_accept = { - # Standard triggers. - valid_laamp_basic_accept_only_trigger = yes - valid_laamp_basic_trigger = { - EMPLOYER = scope:employer - LAAMP = root - } - } - - weight = { - # Standard weights. - value = task_contract_weight_interesting_almost_rare_value - add = laamp_contracts_weight_up_learning_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 = { - NOT = { exists = scope:task_contract.task_contract_destination } - } - random_liege_or_above = { - limit = { - cp:councillor_court_chaplain ?= { - is_performing_council_task = task_conversion - councillor_task_target = scope:task_contract_employer.location - save_temporary_scope_as = temp_councillor - } - faith != scope:task_contract.task_contract_taker.faith - faith != scope:task_contract_employer.faith - } - save_scope_as = task_contract_councillor_liege - scope:temp_councillor = { - save_scope_as = task_contract_councillor - } - } - scope:task_contract = { - #save how the contract was generated for easier debugging - set_variable = { - name = spawned_by - value = flag:populate_effect - } - } - } - else = { - scope:task_contract = { - task_contract_target = { - save_scope_as = task_contract_councillor - liege = { - save_scope_as = task_contract_councillor_liege - } - } - #save how the contract was generated for easier debugging - set_variable = { - name = spawned_by - value = flag:on_action - } - } - } - } - # Error suppression - if = { - limit = { exists = var:spawned_by - OR = { - var:spawned_by = flag:populate_effect - var:spawned_by = flag:on_action - } - } - } - set_variable = { - name = task_contract_councillor_liege - value = scope:task_contract_councillor_liege - } - set_variable = { - name = task_contract_councillor - value = scope:task_contract_councillor - } - if = { - limit = { - NOT = { exists = scope:task_contract.task_contract_target } - } - set_task_contract_target = scope:task_contract.var:task_contract_councillor - } - set_variable = { - name = task_contract_employer - value = scope:task_contract_employer - } - set_variable = { - name = task_contract_target - value = scope:task_contract.task_contract_target - } - if = { - limit = { - exists = scope:task_contract.task_contract_destination - } - set_variable = { - name = task_contract_destination - value = scope:task_contract.task_contract_destination - } - } - else = { - set_variable = { - name = task_contract_destination - value = scope:task_contract.var:task_contract_councillor.councillor_task_target - } - } - # Make our gold rewards static. - grab_gold_fuzz_number_effect = yes - set_variable = { - name = gold_success_standard - value = task_contract_taker.task_contract_success_gold_gain_full_value - } - } - } - - # On_Actions - 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 = ep3_contract_event.0082 - } - } - - on_invalidated = { - if = { - limit = { - root.task_contract_taker = { - any_character_active_contract = { - this = root - } - } - } - task_contract_employer = { - save_scope_as = task_contract_employer - } - save_scope_value_as = { - name = task_contract_tier - value = root.task_contract_tier - } - var:task_contract_destination = { - save_scope_as = task_contract_destination - } - var:task_contract_target = { - save_scope_as = task_contract_target - } - task_contract_taker = { - set_variable = { - name = invalidated_task_contract_type - value = flag:laamp_fight_faith_conversion_contract - } - } - if = { - limit = { - task_contract_employer = { - is_alive = no - } - } - task_contract_employer.primary_title.holder ?= { - save_scope_as = employer_heir - } - task_contract_taker = { - save_scope_value_as = { - name = task_contract_invalidation_reason - value = flag:employer_dead - } - trigger_event = ep3_contract_event.0012 - - } - } - else_if = { - limit = { - scope:task_contract_target = { - is_alive = no - } - } - task_contract_taker = { - save_scope_value_as = { - name = task_contract_invalidation_reason - value = flag:target_dead - } - trigger_event = ep3_contract_event.0012 - } - } - } - } - - # Rewards - task_contract_reward = { - success_standard = { - effect = { - 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 } - # Standard Rewards. - laamp_rewards_disburse_ordinary_currency_effect = { - GOLD = scope:task_contract.var:gold_success_standard - PRESTIGE = task_contract_success_prestige_gain_half_value - PIETY = task_contract_success_piety_gain_full_value - 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 = yes - EXTRA_REWARD = scope:extra_reward - } - } - } - failure_standard = { - positive = no - effect = { - 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 = 0 - PIETY = -25 - PROVISIONS = 0 - OPINION = task_contract_opinion_standard_failure_value - OPINION_TYPE = failed_task_contract_opinion - CONTACT = no - CONTACT_HOOK = no - EXTRA_REWARD = scope:extra_reward - } - } - } - } -} - -## Knight's Coach -# scope:employer = ruler or marshal needing help in train commanders council task -# scope:task_contract_target = marshal or ruler, depending on who's the employer -# var:knights_to_train = list of all knights you have to train -laamp_help_train_commanders_contract = { - group = laamp_contracts_martial_group - icon = "/gfx/interface/icons/council_task_types/task_train_commanders.dds" - travel = yes - use_diplomatic_range = yes - - valid_to_create = { - council_task_contract_valid_employer_trigger = { - COUNCILLOR_TYPE = councillor_marshal - COUNCIL_TASK_TYPE = task_train_commanders - } - trigger_if = { - limit = { - scope:employer.cp:councillor_marshal ?= { - is_performing_council_task = task_train_commanders - } - } - scope:employer = { - any_knight = { } - } - } - trigger_else = { - scope:employer.liege = { - any_knight = { } - } - } - } - - valid_to_accept = { - valid_laamp_basic_accept_only_trigger = yes - council_task_contract_valid_employer_trigger = { - COUNCILLOR_TYPE = councillor_marshal - COUNCIL_TASK_TYPE = task_train_commanders - } - } - valid_to_keep = { - exists = root.var:task_contract_councillor_liege - exists = root.var:task_contract_councillor - # Standard triggers. - valid_laamp_basic_trigger = { - EMPLOYER = root.task_contract_employer - LAAMP = root.task_contract_taker - } - } - - valid_to_continue = { - time_since_contract_taken <= 720 - has_variable_list = knights_to_train - any_in_list = { - variable = knights_to_train - is_alive = yes - is_knight = yes - } - # Standard triggers. - valid_laamp_basic_trigger = { - EMPLOYER = root.task_contract_employer - LAAMP = root.task_contract_taker - } - } - - weight = { - # Standard weights. - value = task_contract_weight_interesting_almost_rare_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 - } - set_variable = { - name = task_contract_employer - value = scope:task_contract_employer - } - - assign_council_task_scopes_in_contract_effect = { - COUNCILLOR_TYPE = councillor_marshal - COUNCIL_TASK_TYPE = task_train_commanders - } - #save all knights to train - scope:task_contract_councillor_liege = { - ordered_knight = { - order_by = { - value = prowess - multiply = -1 - } - max = 3 - add_to_list = knights_list - scope:task_contract = { - add_to_variable_list = { - name = knights_to_train - target = prev - } - } - } - } - #keep track of success and failure - set_variable = { - name = knights_trained - value = 0 - } - set_variable = { - name = knights_failed - value = 0 - } - set_variable = { - name = knights_limit - value = { - value = list_size:knights_list - subtract = 1 - } - } - #get a list of traits you can teach - task_contract_taker = { - every_character_trait = { - limit = { - has_trait_category = commander - } - scope:task_contract = { - add_to_variable_list = { - name = takers_commander_traits - target = prev - } - } - } - } - # Make our gold rewards static. - grab_gold_fuzz_number_effect = yes - set_variable = { - name = gold_success_standard - value = task_contract_taker.task_contract_success_gold_gain_full_value - } - # Make sure critical values are a bit higher. - save_scope_value_as = { name = gold_safety_margin value = flag:yes } - set_variable = { - name = gold_success_critical - value = task_contract_taker.task_contract_success_gold_gain_critical_value - } - } - } - - # On_Actions - 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 = ep3_contract_event.0090 - } - } - - on_invalidated = { - save_scope_as = task_contract - if = { - limit = { - root.task_contract_taker = { - any_character_active_contract = { - this = root - } - } - } - task_contract_employer = { - save_scope_as = task_contract_employer - } - save_scope_value_as = { - name = task_contract_tier - value = root.task_contract_tier - } - task_contract_target = { - save_scope_as = task_contract_target - } - task_contract_taker = { - set_variable = { - name = invalidated_task_contract_type - value = flag:laamp_help_train_commanders_contract - } - } - if = { - limit = { - task_contract_employer = { - is_alive = no - } - } - task_contract_employer.primary_title.holder ?= { - save_scope_as = employer_heir - } - task_contract_taker = { - save_scope_value_as = { - name = task_contract_invalidation_reason - value = flag:employer_dead - } - trigger_event = ep3_contract_event.0012 - - } - } - else_if = { - limit = { - scope:task_contract_target = { - is_alive = no - } - } - task_contract_taker = { - save_scope_value_as = { - name = task_contract_invalidation_reason - value = flag:target_dead - } - trigger_event = ep3_contract_event.0012 - } - } - else = { - scope:task_contract = { - if = { - limit = { - NAND = { - var:knights_trained = 0 - var:knights_failed = 0 - } - } - if = { - limit = { - var:knights_trained >= scope:task_contract.var:knights_failed - } - complete_task_contract = success_standard - } - else = { - complete_task_contract = failure_standard - } - } - } - } - } - } - - task_contract_reward = { - success_critical = { - effect = { - save_scope_value_as = { name = extra_reward value = flag:no } - save_scope_as = task_contract - task_contract_taker = { - play_sound_effect = "event:/DLC/EP3/SFX/UI/Contracts/ep3_ui_contracts_success_on_contract" - send_interface_toast = { - title = laamp_transport_contract.success - 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_critical - PRESTIGE = task_contract_success_prestige_gain_half_value - PIETY = 0 - PROVISIONS = task_contract_success_provisions_gain_minor_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 - } - gain_patron_and_hook_from_council_task_contract_effect = yes - } - } - } - } - } - success_standard = { - effect = { - save_scope_value_as = { name = extra_reward value = flag:no } - save_scope_as = task_contract - task_contract_taker = { - play_sound_effect = "event:/DLC/EP3/SFX/UI/Contracts/ep3_ui_contracts_success_on_contract" - send_interface_toast = { - title = laamp_transport_contract.success - 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_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 = 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 - task_contract_taker = { - play_sound_effect = "event:/DLC/EP3/SFX/UI/Contracts/ep3_ui_contracts_failure_on_contract" - send_interface_toast = { - title = laamp_transport_contract.transport_failed - left_icon = scope:task_contract.task_contract_taker - right_icon = scope:task_contract.task_contract_employer - scope:task_contract = { - # 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 - } - } - } - } - } - } - } -} - -## Private Eye -# scope:employer = spymaster or ruler finding secrets -# scope:task_contract_target = holder of the claimed title -# scope:task_contract_destination = county that has the council task active -# scope:task_contract_object = employer's liege or court chaplain, depending on who's the employer -laamp_help_find_secrets_contract = { - group = laamp_contracts_intrigue_group - icon = "/gfx/interface/icons/council_task_types/task_find_secrets.dds" - travel = yes - use_diplomatic_range = yes - - valid_to_create = { - council_task_contract_valid_employer_trigger = { - COUNCILLOR_TYPE = councillor_spymaster - COUNCIL_TASK_TYPE = task_find_secrets - } - } - - valid_to_keep = { - exists = root.var:task_contract_councillor_liege - exists = root.var:task_contract_councillor - # Standard triggers. - valid_laamp_basic_trigger = { - EMPLOYER = root.task_contract_employer - LAAMP = root.task_contract_taker - } - } - valid_to_accept = { - valid_laamp_basic_accept_only_trigger = yes - council_task_contract_valid_employer_trigger = { - COUNCILLOR_TYPE = councillor_spymaster - COUNCIL_TASK_TYPE = task_find_secrets - } - } - - valid_to_continue = { - time_since_contract_taken <= 720 - # Standard triggers. - valid_laamp_basic_trigger = { - EMPLOYER = root.task_contract_employer - LAAMP = root.task_contract_taker - } - } - - weight = { - # Standard weights. - value = task_contract_weight_interesting_almost_rare_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 - } - set_variable = { - name = task_contract_employer - value = scope:task_contract_employer - } - set_variable = { - name = task_contract_destination - value = scope:task_contract.task_contract_location - } - set_variable = { - name = secrets_found - value = 0 - } - assign_council_task_scopes_in_contract_effect = { - COUNCILLOR_TYPE = councillor_spymaster - COUNCIL_TASK_TYPE = task_find_secrets - } - # Make our gold rewards static. - grab_gold_fuzz_number_effect = yes - set_variable = { - name = gold_success_standard - value = task_contract_taker.task_contract_success_gold_gain_full_value - } - } - } - - # On_Actions - 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 = ep3_contract_event.0100 - } - } - - on_invalidated = { - save_scope_as = task_contract - if = { - limit = { - root.task_contract_taker = { - any_character_active_contract = { - this = root - } - } - } - task_contract_employer = { - save_scope_as = task_contract_employer - } - save_scope_value_as = { - name = task_contract_tier - value = root.task_contract_tier - } - task_contract_target = { - save_scope_as = task_contract_target - } - task_contract_taker = { - set_variable = { - name = invalidated_task_contract_type - value = flag:laamp_help_find_secrets_contract - } - } - if = { - limit = { - task_contract_employer = { - is_alive = no - } - } - task_contract_employer.primary_title.holder ?= { - save_scope_as = employer_heir - } - task_contract_taker = { - save_scope_value_as = { - name = task_contract_invalidation_reason - value = flag:employer_dead - } - trigger_event = ep3_contract_event.0012 - - } - } - else_if = { - limit = { - scope:task_contract_target = { - is_alive = no - } - } - task_contract_taker = { - save_scope_value_as = { - name = task_contract_invalidation_reason - value = flag:target_dead - } - trigger_event = ep3_contract_event.0012 - } - } - else = { - scope:task_contract = { - complete_task_contract = failure_standard - } - } - } - } - - task_contract_reward = { - success_standard = { - effect = { - 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 } - # Standard Rewards. - 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 = yes - EXTRA_REWARD = scope:extra_reward - } - gain_patron_and_hook_from_council_task_contract_effect = yes - } - } - failure_standard = { - positive = no - effect = { - 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 = -25 - PIETY = 0 - PROVISIONS = 0 - OPINION = task_contract_opinion_standard_failure_value - OPINION_TYPE = failed_task_contract_opinion - CONTACT = no - CONTACT_HOOK = no - EXTRA_REWARD = scope:extra_reward - } - } - } - } -} - -## Forgotten Claims -# scope:employer = court chaplain or ruler fabricating a claim -# scope:task_contract_target = holder of the claimed title -# scope:task_contract_destination = county that has the council task active -# scope:task_contract_councillor_liege = always liege of the councillor performing the task -# scope:task_contract_councillor = always the councillor performing the task -laamp_help_fabricate_claim_contract = { - group = laamp_contracts_intrigue_group - icon = "/gfx/interface/icons/council_task_types/task_fabricate_claim.dds" - travel = yes - use_diplomatic_range = yes - - valid_to_create = { - council_task_contract_valid_employer_trigger = { - COUNCILLOR_TYPE = councillor_court_chaplain - COUNCIL_TASK_TYPE = task_fabricate_claim - } - } - - valid_to_keep = { - exists = root.var:task_contract_councillor_liege - exists = root.var:task_contract_councillor - # Standard triggers. - valid_laamp_basic_trigger = { - EMPLOYER = root.task_contract_employer - LAAMP = root.task_contract_taker - } - } - valid_to_accept = { - valid_laamp_basic_accept_only_trigger = yes - council_task_contract_valid_employer_trigger = { - COUNCILLOR_TYPE = councillor_court_chaplain - COUNCIL_TASK_TYPE = task_fabricate_claim - } - } - valid_to_continue = { - # Standard triggers. - valid_laamp_basic_trigger = { - EMPLOYER = root.task_contract_employer - LAAMP = root.task_contract_taker - } - } - - weight = { - # Standard weights. - value = task_contract_weight_interesting_almost_rare_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 - assign_council_task_scopes_in_contract_effect = { - COUNCILLOR_TYPE = councillor_court_chaplain - COUNCIL_TASK_TYPE = task_fabricate_claim - } - if = { - limit = { - exists = scope:task_contract.task_contract_destination - } - set_variable = { - name = task_contract_destination - value = scope:task_contract.task_contract_destination - } - } - else = { - set_variable = { - name = task_contract_destination - value = scope:task_contract_councillor.councillor_task_target - } - } - set_variable = { - name = task_contract_employer - value = scope:task_contract.task_contract_employer - } - set_variable = { - name = task_contract_target - value = scope:task_contract.var:task_contract_destination.province_owner - } - set_task_contract_target = scope:task_contract.var:task_contract_target - # Make our gold rewards static. - grab_gold_fuzz_number_effect = yes - set_variable = { - name = gold_success_critical - value = task_contract_taker.task_contract_success_gold_gain_full_value - } - set_variable = { - name = gold_success_standard - value = task_contract_taker.task_contract_success_gold_gain_full_value - } - } - } - - # On_Actions - 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 = ep3_contract_event.0080 - } - } - - on_invalidated = { - if = { - limit = { - root.task_contract_taker = { - any_character_active_contract = { - this = root - } - } - } - task_contract_employer = { - save_scope_as = task_contract_employer - } - save_scope_value_as = { - name = task_contract_tier - value = root.task_contract_tier - } - var:task_contract_destination = { - save_scope_as = task_contract_destination - } - var:task_contract_target = { - save_scope_as = task_contract_target - } - task_contract_taker = { - set_variable = { - name = invalidated_task_contract_type - value = flag:laamp_help_fabricate_claim_contract - } - } - if = { - limit = { - task_contract_employer = { - is_alive = no - } - } - task_contract_employer.primary_title.holder ?= { - save_scope_as = employer_heir - } - task_contract_taker = { - save_scope_value_as = { - name = task_contract_invalidation_reason - value = flag:employer_dead - } - trigger_event = ep3_contract_event.0012 - - } - } - else_if = { - limit = { - scope:task_contract_target = { - is_alive = no - } - } - task_contract_taker = { - save_scope_value_as = { - name = task_contract_invalidation_reason - value = flag:target_dead - } - trigger_event = ep3_contract_event.0012 - } - } - } - } - - # Rewards - task_contract_reward = { - success_critical = { - effect = { - 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 } - # Standard Rewards. - laamp_rewards_disburse_ordinary_currency_effect = { - GOLD = scope:task_contract.var:gold_success_critical - PRESTIGE = task_contract_success_prestige_gain_half_value - PIETY = 0 - PROVISIONS = task_contract_success_provisions_gain_minor_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 - } - if = { - limit = { - exists = var:attached_scheme - } - var:attached_scheme = { - scheme_target_title = { - save_scope_as = claimed_title - } - } - } - else = { - scope:task_contract.var:task_contract_destination.county = { - save_scope_as = claimed_title - } - } - var:task_contract_councillor_liege = { - add_pressed_claim = scope:claimed_title - } - task_contract_taker = { - show_as_tooltip = { - add_pressed_claim = scope:claimed_title - } - } - gain_patron_and_hook_from_council_task_contract_effect = yes - } - } - success_standard = { - effect = { - 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 } - # Standard Rewards. - 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 - } - if = { - limit = { - exists = var:attached_scheme - } - var:attached_scheme = { - scheme_target_title = { - save_scope_as = claimed_title - } - } - } - else = { - scope:task_contract.var:task_contract_destination.county = { - save_scope_as = claimed_title - } - } - var:task_contract_councillor_liege = { - add_pressed_claim = scope:claimed_title - } - task_contract_taker = { - hidden_effect = { - remove_claim = scope:claimed_title - } - } - gain_patron_and_hook_from_council_task_contract_effect = yes - } - } - failure_standard = { - positive = no - effect = { - 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 - } - } - } - } -} - -## Fight Corruption -# scope:employer = marshal or ruler increasing control -# scope:task_contract_target = holder of the claimed title -# scope:task_contract_destination = county that has the council task active -# scope:task_contract_councillor_liege = always liege of the councillor performing the task -# scope:task_contract_councillor = always the councillor performing the task -laamp_help_increase_control_contract = { - group = laamp_contracts_intrigue_group - icon = "/gfx/interface/icons/council_task_types/task_increase_control.dds" - travel = no - use_diplomatic_range = yes - - valid_to_create = { - valid_laamp_basic_trigger = { - EMPLOYER = scope:employer - LAAMP = root - } - OR = { - scope:employer = { - NOT = { var:issued_help_increase_control_contract_recently ?= root } - top_liege = this - any_councillor = { - OR = { - has_council_position = councillor_marshal - AND = { - is_kurultai_trigger = yes - highest_skill = martial - } - } - } - any_sub_realm_county = { - OR = { - has_county_corruption_trigger = yes - county_control <= low_county_control - } - } - } - scope:employer = { - NOT = { var:issued_help_increase_control_contract_recently ?= root } - OR = { - has_council_position = councillor_marshal - AND = { - is_kurultai_trigger = yes - highest_skill = martial - } - } - is_councillor_of = top_liege - top_liege = { - NOT = { - has_any_bad_relationship_with_character_trigger = { CHARACTER = scope:employer } - } - any_sub_realm_county = { - OR = { - has_county_corruption_trigger = yes - county_control <= low_county_control - } - } - } - } - } - } - - valid_to_accept = { - # Standard triggers. - valid_laamp_basic_accept_only_trigger = yes - valid_laamp_basic_trigger = { - EMPLOYER = scope:employer - LAAMP = root - } - } - - valid_to_keep = { - var:task_contract_councillor_liege ?= { - any_sub_realm_county = { - OR = { - has_county_corruption_trigger = yes - county_control <= low_county_control - } - } - } - # Standard triggers. - valid_laamp_basic_trigger = { - EMPLOYER = root.task_contract_employer - LAAMP = root.task_contract_taker - } - } - - valid_to_continue = { - # Standard triggers. - valid_laamp_basic_trigger = { - EMPLOYER = root.task_contract_employer - LAAMP = root.task_contract_taker - } - } - - weight = { - # Standard weights. - value = task_contract_weight_interesting_almost_rare_value - add = laamp_contracts_weight_up_martial_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 = { - set_variable = { - name = issued_help_increase_control_contract_recently - value = scope:task_contract.task_contract_taker - years = 10 - } - save_scope_as = task_contract_employer - if = { - limit = { - top_liege = this - } - scope:task_contract_employer = { - save_scope_as = task_contract_councillor_liege - random_councillor = { - limit = { - OR = { - has_council_position = councillor_marshal - AND = { - is_kurultai_trigger = yes - highest_skill = martial - } - } - } - save_scope_as = task_contract_councillor - } - } - } - else = { - scope:task_contract_employer = { - save_scope_as = task_contract_councillor - top_liege = { - save_scope_as = task_contract_councillor_liege - } - } - } - } - set_variable = { - name = task_contract_councillor_liege - value = scope:task_contract_councillor_liege - } - set_variable = { - name = task_contract_councillor - value = scope:task_contract_councillor - } - set_variable = { - name = task_contract_employer - value = scope:task_contract.task_contract_employer - } - set_variable = { - name = support - value = 0 - } - set_variable = { - name = control - value = 0 - } - set_variable = { - name = num_of_corrupt_counties - value = 0 - } - #save the liege as the target - set_task_contract_target = scope:task_contract_councillor_liege - #save all counties with low control or corruption modifier in liege's realm - scope:task_contract_councillor_liege = { - ordered_sub_realm_county = { - order_by = { - value = county_opinion - multiply = -1 - } - max = 6 - check_range_bounds = no - limit = { - OR = { - has_county_corruption_trigger = yes - county_control <= low_county_control - } - } - scope:task_contract = { - add_to_variable_list = { - name = corrupt_counties - target = prev - } - } - } - } - # We do this a bit later on because otherwise it was having some slight issues if only one county was valid. - set_variable = { - name = num_of_corrupt_counties - value = { - every_in_list = { - variable = corrupt_counties - add = 1 - } - } - } - random_in_list = { - variable = corrupt_counties - title_province = { - save_scope_as = destination - } - } - set_variable = { - name = task_contract_destination - value = scope:destination - } - # Make our gold rewards static. - grab_gold_fuzz_number_effect = yes - set_variable = { - name = gold_success_critical - value = { - value = task_contract_taker.task_contract_success_gold_gain_full_value - multiply = scope:task_contract.var:num_of_corrupt_counties - multiply = 2 - } - } - set_variable = { - name = gold_success_standard - value = { - value = task_contract_taker.task_contract_success_gold_gain_full_value - multiply = scope:task_contract.var:num_of_corrupt_counties - } - } - } - } - - # On_Actions - on_accepted = { - save_scope_as = task_contract - task_contract_taker = { - trigger_event = ep3_contract_event.0092 - } - } - - on_invalidated = { - if = { - limit = { - root.task_contract_taker = { - any_character_active_contract = { - this = root - } - } - } - task_contract_employer = { - save_scope_as = task_contract_employer - } - save_scope_value_as = { - name = task_contract_tier - value = root.task_contract_tier - } - var:task_contract_destination = { - save_scope_as = task_contract_destination - } - var:task_contract_target = { - save_scope_as = task_contract_target - } - task_contract_taker = { - set_variable = { - name = invalidated_task_contract_type - value = flag:laamp_help_increase_control_contract - } - } - if = { - limit = { - task_contract_employer = { - is_alive = no - } - } - task_contract_employer.primary_title.holder ?= { - save_scope_as = employer_heir - } - task_contract_taker = { - save_scope_value_as = { - name = task_contract_invalidation_reason - value = flag:employer_dead - } - trigger_event = ep3_contract_event.0012 - - } - } - else_if = { - limit = { - scope:task_contract_target = { - is_alive = no - } - } - task_contract_taker = { - save_scope_value_as = { - name = task_contract_invalidation_reason - value = flag:target_dead - } - trigger_event = ep3_contract_event.0012 - } - } - } - } - - # Rewards - task_contract_reward = { - success_critical = { - effect = { - save_scope_value_as = { name = extra_reward value = flag:no } - save_scope_as = task_contract - set_variable = { - name = gold_success_critical - value = { - value = task_contract_taker.task_contract_success_gold_gain_full_value - multiply = var:control - } - } - set_variable = { - name = gold_success_standard - value = { - value = task_contract_taker.task_contract_success_gold_gain_full_value - multiply = var:control - multiply = 0.5 - } - } - # Standard Rewards. - laamp_rewards_disburse_ordinary_currency_effect = { - GOLD = scope:task_contract.var:gold_success_critical - PRESTIGE = task_contract_success_prestige_gain_half_value - PIETY = 0 - PROVISIONS = task_contract_success_provisions_gain_minor_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 - } - gain_patron_and_hook_from_council_task_contract_effect = yes - hidden_effect = { - scope:task_contract.task_contract_taker= { return_home = yes } - } - } - } - success_standard = { - effect = { - save_scope_value_as = { name = extra_reward value = flag:no } - save_scope_as = task_contract - set_variable = { - name = gold_success_critical - value = { - value = task_contract_taker.task_contract_success_gold_gain_full_value - multiply = var:control - } - } - set_variable = { - name = gold_success_standard - value = { - value = task_contract_taker.task_contract_success_gold_gain_full_value - multiply = var:control - multiply = 0.5 - } - } - # Standard Rewards. - 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 - } - gain_patron_and_hook_from_council_task_contract_effect = yes - hidden_effect = { - scope:task_contract.task_contract_taker = { - return_home = yes - } - } - } - } - failure_standard = { - positive = no - effect = { - save_scope_value_as = { name = extra_reward value = flag:no } - save_scope_as = task_contract - # 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 - } - hidden_effect = { - scope:task_contract.task_contract_taker = { - return_home = yes - } - } - } - } - } -} diff --git a/common/task_contracts/laamp_nm_contracts.txt b/common/task_contracts/laamp_nm_contracts.txt deleted file mode 100644 index 59ec2924a..000000000 --- a/common/task_contracts/laamp_nm_contracts.txt +++ /dev/null @@ -1,986 +0,0 @@ -################################################## -# 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 - 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_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_has_mechanic = 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_has_mechanic = administrative - } - } - } - - 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 = { - # 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_has_mechanic = 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 - } - } - } - } -} diff --git a/common/task_contracts/laamp_transport_contracts.txt b/common/task_contracts/laamp_transport_contracts.txt deleted file mode 100644 index d91bd9c79..000000000 --- a/common/task_contracts/laamp_transport_contracts.txt +++ /dev/null @@ -1,2090 +0,0 @@ -################################################## -# INFO -# Transport contracts for laamps. Any contract that require usage of the travel system to complete, i.e. fetch quests, escort quests, etc. -# -################################################## - - - -################################################## -# GROUPS (for populate_task_contracts_for_area) -# -# laamp_contracts_transport_group -# -# -# - - -################################################## -# -# laamp_transport_vip - Escort Emissary - Escort a character's Courtier to another character -# laamp_transport_artifact - Artifact Delivery - Transfer an artifact from one character to another -# laamp_transport_gold - A Golden Gift - Transfer gold from one character to another -# laamp_transport_ward - Ward Transfer - Escorting a Ward to a Guardian -# laamp_transport_explorer - Eager Explorer - Baron wants to visit a Point of Interest -# laamp_transport_animal - A Living Gift - Escorting a pet story cycle from one character to another character -# -################################################## - -# VIP escort -# scope:employer = ruler wanting to send a courtier to a foreign court -# var:task_contract_object = the courtier to be escorted -# task_contract_target = random neighbor of scope:employer -# task_contract_destination = capital of task_contract_target -laamp_transport_vip = { - group = laamp_contracts_transport_group - icon = "gfx/interface/icons/character_interactions/icon_contract_escort.dds" - travel = no - use_diplomatic_range = no - - # Validity Triggers - 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 - # Specific flavour triggers. - laamp_task_contract_employer_not_antisocial_trigger = yes - scope:employer = { - any_courtier = { - is_ai = yes - is_available = yes - is_adult = yes - is_lowborn = no - } - any_neighboring_and_across_water_top_liege_realm_owner = { - is_ai = yes - is_adult = yes - capital_province != root.domicile.domicile_location - } - } - } - valid_to_keep = { - exists = root.var:task_contract_object - var:task_contract_object = { - is_courtier_of = root.task_contract_employer - is_available = yes - } - valid_laamp_basic_trigger = { - EMPLOYER = scope:employer - LAAMP = root.task_contract_taker - } - } - valid_to_accept = { - # Standard triggers. - valid_laamp_basic_accept_only_trigger = yes - valid_laamp_basic_trigger = { - EMPLOYER = scope:employer - LAAMP = root - } - } - valid_to_continue = { - var:task_contract_object ?= { - is_alive = yes - } - var:task_contract_target ?= { - is_alive = yes - } - valid_laamp_basic_trigger = { - EMPLOYER = root.task_contract_employer - LAAMP = root.task_contract_taker - } - } - - weight = { - # Standard weights. - value = task_contract_weight_interesting_quite_rare_value - add = laamp_contracts_weight_up_transport_value - add = task_contract_weight_employer_contact_list_value - scope:employer = { multiply = task_contract_weight_by_tier_value } - } - # On_Actions - on_create = { - scope:contract = { - save_scope_as = task_contract - task_contract_employer = { - if = { - limit = { - NOT = { exists = scope:task_contract.var:task_contract_object } - } - random_courtier = { - limit = { - is_ai = yes - is_available = yes - is_adult = yes - is_lowborn = no - } - save_scope_as = task_contract_object - } - } - if = { - limit = { - NOT = { exists = scope:task_contract.task_contract_target } - } - random_neighboring_and_across_water_top_liege_realm_owner = { - limit = { - is_ai = yes - is_adult = yes - capital_province != scope:task_contract.task_contract_taker.domicile.domicile_location - } - save_scope_as = task_contract_target - if = { - limit = { - NOT = { exists = scope:task_contract.task_contract_destination } - } - capital_province = { - save_scope_as = task_contract_destination - } - } - } - } - else_if = { - limit = { - NOT = { exists = scope:task_contract.task_contract_destination } - } - scope:task_contract.task_contract_target = { - capital_province = { - save_scope_as = task_contract_destination - } - } - } - } - set_variable = { - name = task_contract_employer - value = scope:task_contract.task_contract_employer - } - if = { - limit = { - exists = scope:task_contract.task_contract_target - } - set_variable = { - name = task_contract_target - value = scope:task_contract.task_contract_target - } - } - else = { - set_variable = { - name = task_contract_target - value = scope:task_contract_target - } - set_task_contract_target = scope:task_contract_target - } - if = { - limit = { - exists = scope:task_contract.task_contract_destination - } - set_variable = { - name = task_contract_destination - value = scope:task_contract.task_contract_destination - } - } - else = { - set_variable = { - name = task_contract_destination - value = scope:task_contract_destination - } - } - set_variable = { - name = task_contract_object - value = scope:task_contract_object - } - # Make our gold rewards static. - grab_gold_fuzz_number_effect = yes - set_variable = { - name = gold_success_critical - value = task_contract_success_gold_gain_travel_value - } - set_variable = { - name = gold_success_standard - value = task_contract_success_gold_gain_half_travel_value - } - } - } - - 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 = ep3_contract_event.0001 - } - } - - on_invalidated = { - if = { - limit = { - root.task_contract_taker = { - any_character_active_contract = { - this = root - } - } - } - task_contract_employer = { - save_scope_as = task_contract_employer - } - save_scope_value_as = { - name = task_contract_tier - value = root.task_contract_tier - } - var:task_contract_destination = { - save_scope_as = task_contract_destination - } - var:task_contract_object = { - save_scope_as = task_contract_object - } - - if = { - limit = { - var:task_contract_object ?= { - is_alive = yes - } - } - var:task_contract_object = { - return_to_court = yes - } - } - task_contract_taker = { - set_variable = { - name = invalidated_task_contract_type - value = flag:laamp_transport_vip - } - } - if = { - limit = { - var:task_contract_object ?= { - is_alive = no - } - } - task_contract_taker = { - save_scope_value_as = { - name = task_contract_invalidation_reason - value = flag:escortee_dead - } - trigger_event = ep3_contract_event.0012 - } - } - else_if = { - limit = { - task_contract_employer = { - is_alive = no - } - } - task_contract_employer.primary_title.holder ?= { - save_scope_as = employer_heir - } - task_contract_taker = { - save_scope_value_as = { - name = task_contract_invalidation_reason - value = flag:employer_dead - } - trigger_event = ep3_contract_event.0012 - - } - } - else_if = { - limit = { - var:task_contract_target = { - is_alive = no - } - } - var:task_contract_target ?= { - save_scope_as = dead_target - } - task_contract_employer = { - save_scope_as = task_contract_employer - } - task_contract_taker = { - save_scope_value_as = { - name = task_contract_invalidation_reason - value = flag:target_dead - } - trigger_event = ep3_contract_event.0012 - } - } - } - } - - # Rewards - task_contract_reward = { - #reward name - success_critical = { - effect = { - 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 } - 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 = 0 - 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 = { - effect = { - 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 } - 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 = yes - CONTACT_HOOK = yes - EXTRA_REWARD = scope:extra_reward - } - } - } - failure_standard = { - positive = no - effect = { - 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 } - 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 - } - } - } - } -} - -# Artifact delivery -# scope:employer = ruler wanting to send an artifact to a foreign court -# var:escorted_artifact = the artifact to be escorted -# task_contract_target = random neighbor of scope:employer -# task_contract_destination = capital of task_contract_target -laamp_transport_artifact = { - group = laamp_contracts_transport_group - icon = "gfx/interface/icons/character_interactions/icon_contract_escort.dds" - travel = no - use_diplomatic_range = no - - # Validity Triggers - 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 - # Specific flavour triggers. - scope:employer = { - any_character_artifact = { - has_none_of_variables = { - name = artifact_succession_title - name = historical_unique_artifact - name = banner_house - name = banner_dynasty - } - } - any_neighboring_and_across_water_top_liege_realm_owner = { - is_ai = yes - is_adult = yes - capital_province != root.domicile.domicile_location - } - } - } - valid_to_keep = { - exists = root.var:escorted_artifact - valid_laamp_basic_trigger = { - EMPLOYER = root.task_contract_employer - LAAMP = root.task_contract_taker - } - } - valid_to_accept = { - # Standard triggers. - valid_laamp_basic_accept_only_trigger = yes - valid_laamp_basic_trigger = { - EMPLOYER = scope:employer - LAAMP = root - } - scope:employer = { - any_character_artifact = { - has_none_of_variables = { - name = artifact_succession_title - name = historical_unique_artifact - name = banner_house - name = banner_dynasty - } - } - } - } - valid_to_continue = { - var:escorted_artifact ?= { - artifact_owner = { - OR = { - root.task_contract_taker = this - root.task_contract_target = this - } - } - } - var:task_contract_target ?= { - is_alive = yes - } - valid_laamp_basic_trigger = { - EMPLOYER = root.task_contract_employer - LAAMP = root.task_contract_taker - } - } - - weight = { - # Standard weights. - value = task_contract_weight_interesting_quite_rare_value - add = laamp_contracts_weight_up_transport_value - add = task_contract_weight_employer_contact_list_value - scope:employer = { multiply = task_contract_weight_by_tier_value } - } - # On_Actions - on_create = { - scope:contract = { - save_scope_as = task_contract - task_contract_employer = { - if = { - limit = { - NOT = { exists = scope:task_contract.var:escorted_artifact } - } - random_character_artifact = { - limit = { - NOR = { - has_variable = historical_unique_artifact - } - artifact_can_be_gift_advance_trigger = yes - } - save_scope_as = escorted_artifact - } - } - if = { - limit = { - NOT = { exists = scope:task_contract.task_contract_target } - } - random_neighboring_and_across_water_top_liege_realm_owner = { - limit = { - is_ai = yes - is_adult = yes - capital_province != scope:task_contract.task_contract_taker.domicile.domicile_location - } - save_scope_as = task_contract_target - if = { - limit = { - NOT = { exists = scope:task_contract.task_contract_destination } - } - capital_province = { - save_scope_as = task_contract_destination - } - } - } - } - else_if = { - limit = { - NOT = { exists = scope:task_contract.task_contract_destination } - } - scope:task_contract.task_contract_target = { - capital_province = { - save_scope_as = task_contract_destination - } - } - } - } - set_variable = { - name = task_contract_employer - value = scope:task_contract.task_contract_employer - } - if = { - limit = { - exists = scope:task_contract.task_contract_target - } - set_variable = { - name = task_contract_target - value = scope:task_contract.task_contract_target - } - } - else = { - set_variable = { - name = task_contract_target - value = scope:task_contract_target - } - set_task_contract_target = scope:task_contract_target - } - if = { - limit = { - exists = scope:task_contract.task_contract_destination - } - set_variable = { - name = task_contract_destination - value = scope:task_contract.task_contract_destination - } - } - else = { - set_variable = { - name = task_contract_destination - value = scope:task_contract_destination - } - } - set_variable = { - name = escorted_artifact - value = scope:escorted_artifact - } - # Make our gold rewards static. - grab_gold_fuzz_number_effect = yes - set_variable = { - name = gold_success_critical - value = task_contract_success_gold_gain_travel_value - } - set_variable = { - name = gold_success_standard - value = task_contract_success_gold_gain_travel_value - } - } - } - - 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 = ep3_contract_event.0001 - } - } - - on_invalidated = { - if = { - limit = { - root.task_contract_taker = { - any_character_active_contract = { - this = root - } - } - } - task_contract_employer = { - save_scope_as = task_contract_employer - } - save_scope_value_as = { - name = task_contract_tier - value = root.task_contract_tier - } - var:task_contract_destination = { - save_scope_as = task_contract_destination - } - - if = { - limit = { - var:task_contract_object ?= { - is_alive = yes - } - } - var:task_contract_object = { - return_to_court = yes - } - } - task_contract_taker = { - set_variable = { - name = invalidated_task_contract_type - value = flag:laamp_transport_artifact - } - } - if = { - limit = { - var:task_contract_object ?= { - is_alive = no - } - } - task_contract_taker = { - save_scope_value_as = { - name = task_contract_invalidation_reason - value = flag:escortee_dead - } - trigger_event = ep3_contract_event.0012 - } - } - else_if = { - limit = { - task_contract_employer = { - is_alive = no - } - } - task_contract_employer.primary_title.holder ?= { - save_scope_as = employer_heir - } - task_contract_taker = { - save_scope_value_as = { - name = task_contract_invalidation_reason - value = flag:employer_dead - } - trigger_event = ep3_contract_event.0012 - - } - } - else_if = { - limit = { - var:task_contract_target = { - is_alive = no - } - } - var:task_contract_target ?= { - save_scope_as = dead_target - } - task_contract_employer = { - save_scope_as = task_contract_employer - } - task_contract_taker = { - save_scope_value_as = { - name = task_contract_invalidation_reason - value = flag:target_dead - } - trigger_event = ep3_contract_event.0012 - } - } - if = { - limit = { - var:escorted_artifact ?= { - owner = root.task_contract_taker - } - } - var:escorted_artifact = { - set_owner = root.task_contract_employer - } - } - } - } - - # Rewards - task_contract_reward = { - success_critical = { - effect = { - 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 } - 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 = 0 - 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 = { - effect = { - 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 } - 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 = yes - EXTRA_REWARD = scope:extra_reward - } - } - } - transport_destroyed = { - positive = no - 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 = { - send_interface_toast = { - type = event_toast_effect_bad - title = laamp_transport_contract.transport_failed - left_icon = root.task_contract_taker - right_icon = root.task_contract_employer - add_prestige = task_contract_failure_prestige_loss_full_value - reverse_add_opinion = { - modifier = failed_task_contract_opinion - target = root.task_contract_employer - opinion = -50 - } - } - } - } - } - transport_stolen = { - positive = no - 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 = { - send_interface_toast = { - type = event_toast_effect_bad - title = laamp_transport_contract.transport_failed - left_icon = root.task_contract_taker - right_icon = root.task_contract_employer - add_prestige = task_contract_failure_prestige_loss_full_value - reverse_add_opinion = { - modifier = failed_task_contract_opinion - target = root.task_contract_employer - opinion = -50 - } - } - } - } - } - failure_standard = { - positive = no - effect = { - 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 } - 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 - } - } - } - } -} - -# Large sum of gold -# scope:employer = ruler wanting to send a gift to a foreign court -# var:escorted_artifact = the artifact to be escorted -# task_contract_target = random neighbor of scope:employer -# task_contract_destination = capital of task_contract_target -laamp_transport_gold = { - group = laamp_contracts_transport_group - icon = "gfx/interface/icons/character_interactions/icon_contract_escort.dds" - travel = no - use_diplomatic_range = no - - # Validity Triggers - 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 = { - gold >= { - value = task_contract_escort_gold_value - multiply = 1.5 - } - any_neighboring_and_across_water_top_liege_realm_owner = { - is_ai = yes - is_adult = yes - gold <= 0 - likes_character_trigger = { CHARACTER = scope:employer } - capital_province != root.domicile.domicile_location - } - } - } - valid_to_accept = { - # Standard triggers. - valid_laamp_basic_accept_only_trigger = yes - valid_laamp_basic_trigger = { - EMPLOYER = scope:employer - LAAMP = root - } - } - valid_to_continue = { - var:task_contract_target ?= { - is_alive = yes - } - # 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_transport_value - add = task_contract_weight_employer_contact_list_value - scope:employer = { multiply = task_contract_weight_by_tier_value } - } - - # On_Actions - on_create = { - scope:contract = { - save_scope_as = task_contract - task_contract_employer = { - if = { - limit = { - NOT = { exists = scope:task_contract.task_contract_target } - } - random_neighboring_and_across_water_top_liege_realm_owner = { - limit = { - is_ai = yes - is_adult = yes - gold <= 0 - likes_character_trigger = { CHARACTER = scope:task_contract.task_contract_employer } - capital_province != scope:task_contract.task_contract_taker.domicile.domicile_location - } - save_scope_as = task_contract_target - capital_province = { - save_scope_as = task_contract_destination - } - } - } - else_if = { - limit = { - NOT = { exists = scope:task_contract.task_contract_destination } - } - scope:task_contract.task_contract_target = { - capital_province = { - save_scope_as = task_contract_destination - } - } - } - } - set_variable = { - name = task_contract_employer - value = scope:task_contract.task_contract_employer - } - if = { - limit = { - exists = scope:task_contract.task_contract_target - } - set_variable = { - name = task_contract_target - value = scope:task_contract.task_contract_target - } - } - else = { - set_variable = { - name = task_contract_target - value = scope:task_contract_target - } - set_task_contract_target = scope:task_contract_target - } - if = { - limit = { - exists = scope:task_contract.task_contract_destination - } - set_variable = { - name = task_contract_destination - value = scope:task_contract.task_contract_destination - } - } - else = { - set_variable = { - name = task_contract_destination - value = scope:task_contract_destination - } - } - set_variable = { - name = escorted_gold - value = scope:task_contract.task_contract_employer.task_contract_escort_gold_value - } - # Make our gold rewards static. - grab_gold_fuzz_number_effect = yes - set_variable = { - name = gold_success_standard - value = task_contract_success_gold_gain_travel_value - } - } - } - - 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 = ep3_contract_event.0001 - } - } - - on_invalidated = { - if = { - limit = { - root.task_contract_taker = { - any_character_active_contract = { - this = root - } - } - } - task_contract_employer = { - save_scope_as = task_contract_employer - } - save_scope_value_as = { - name = task_contract_tier - value = root.task_contract_tier - } - var:task_contract_destination = { - save_scope_as = task_contract_destination - } - - task_contract_taker = { - set_variable = { - name = invalidated_task_contract_type - value = flag:laamp_transport_gold - } - } - if = { - limit = { - task_contract_employer = { - is_alive = no - } - } - task_contract_employer.primary_title.holder ?= { - save_scope_as = employer_heir - } - task_contract_taker = { - save_scope_value_as = { - name = task_contract_invalidation_reason - value = flag:employer_dead - } - trigger_event = ep3_contract_event.0012 - - } - } - else_if = { - limit = { - var:task_contract_target = { - is_alive = no - } - } - var:task_contract_target ?= { - save_scope_as = dead_target - } - task_contract_employer = { - save_scope_as = task_contract_employer - } - task_contract_taker = { - save_scope_value_as = { - name = task_contract_invalidation_reason - value = flag:target_dead - } - trigger_event = ep3_contract_event.0012 - } - } - } - } - - # Rewards - task_contract_reward = { - success_standard = { - effect = { - 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 } - 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 = yes - EXTRA_REWARD = scope:extra_reward - } - } - } - failure_standard = { - positive = no - effect = { - 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 } - 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 - } - } - } - } -} - -# Child education -# scope:employer = ruler wanting to send a child to educate at a foreign court -# var:task_contract_object = the ward to be escorted -# task_contract_target = worthy educator neighboring scope:employer -# task_contract_destination = capital of task_contract_target -laamp_transport_ward = { - group = laamp_contracts_transport_group - icon = "gfx/interface/icons/character_interactions/icon_contract_escort.dds" - travel = no - use_diplomatic_range = no - - # Validity Triggers - 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 - # Specific flavour triggers. - scope:employer = { - any_child = { - is_ai = yes - is_available_child = yes - OR = { - num_of_relation_guardian = 0 - any_relation = { - type = guardian - is_landed = no - } - } - age = { 4 12 } - } - OR = { - any_neighboring_and_across_water_top_liege_realm_owner = { - is_ai = yes - num_of_relation_ward < 2 - is_adult = yes - OR = { - has_education_rank_4_trigger = yes - has_education_rank_5_trigger = yes - num_virtuous_traits > 0 - } - has_any_good_relationship_with_character_trigger = { CHARACTER = scope:employer } - capital_province != root.domicile.domicile_location - } - any_vassal = { - is_ai = yes - num_of_relation_ward < 2 - is_adult = yes - OR = { - has_education_rank_4_trigger = yes - has_education_rank_5_trigger = yes - num_virtuous_traits > 0 - } - has_any_good_relationship_with_character_trigger = { CHARACTER = scope:employer } - capital_province != root.domicile.domicile_location - } - } - } - } - valid_to_keep = { - root.var:task_contract_object ?= { - is_available_child = yes - } - valid_laamp_basic_trigger = { - EMPLOYER = root.task_contract_employer - LAAMP = root.task_contract_taker - } - } - valid_to_accept = { - # Standard triggers. - valid_laamp_basic_accept_only_trigger = yes - valid_laamp_basic_trigger = { - EMPLOYER = scope:employer - LAAMP = root - } - } - valid_to_continue = { - var:task_contract_object ?= { - is_alive = yes - } - var:task_contract_target ?= { - is_alive = yes - } - 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_transport_value - add = task_contract_weight_employer_contact_list_value - scope:employer = { multiply = task_contract_weight_by_tier_value } - } - - # On_Actions - on_create = { - scope:contract = { - save_scope_as = task_contract - task_contract_employer = { - if = { - limit = { - NOT = { exists = scope:task_contract.var:task_contract_object } - } - random_child = { - limit = { - is_available_child = yes - OR = { - num_of_relation_guardian = 0 - any_relation = { - type = guardian - is_landed = no - } - } - age = { 4 12 } - } - save_scope_as = task_contract_object - } - } - if = { - limit = { - NOT = { exists = scope:task_contract.task_contract_target } - } - random_neighboring_and_across_water_top_liege_realm_owner = { - limit = { - is_ai = yes - is_adult = yes - num_of_relation_ward < 2 - OR = { - has_education_rank_4_trigger = yes - has_education_rank_5_trigger = yes - num_virtuous_traits > num_sinful_traits - } - has_any_good_relationship_with_character_trigger = { CHARACTER = scope:task_contract.task_contract_employer } - capital_province != scope:task_contract.task_contract_taker.domicile.domicile_location - } - save_scope_as = task_contract_target - } - } - else = { - random_vassal = { - limit = { - is_ai = yes - num_of_relation_ward < 2 - is_adult = yes - OR = { - has_education_rank_4_trigger = yes - has_education_rank_5_trigger = yes - num_virtuous_traits > num_sinful_traits - } - has_any_good_relationship_with_character_trigger = { CHARACTER = scope:task_contract.task_contract_employer } - capital_province != scope:task_contract.task_contract_taker.domicile.domicile_location - } - save_scope_as = task_contract_target - } - } - if = { - limit = { - NOT = { exists = scope:task_contract.task_contract_destination } - } - scope:task_contract_target = { - capital_province = { - save_scope_as = task_contract_destination - } - } - } - } - set_variable = { - name = task_contract_employer - value = scope:task_contract.task_contract_employer - } - if = { - limit = { - exists = scope:task_contract.task_contract_target - } - set_variable = { - name = task_contract_target - value = scope:task_contract.task_contract_target - } - } - else = { - set_variable = { - name = task_contract_target - value = scope:task_contract_target - } - set_task_contract_target = scope:task_contract_target - } - if = { - limit = { - exists = scope:task_contract.task_contract_destination - } - set_variable = { - name = task_contract_destination - value = scope:task_contract.task_contract_destination - } - } - else = { - set_variable = { - name = task_contract_destination - value = scope:task_contract_destination - } - } - set_variable = { - name = task_contract_object - value = scope:task_contract_object - } - #set the ward/guardian variables same as in education interactions - var:task_contract_object = { - set_variable = { - name = character_requested_as_educator - value = scope:task_contract.task_contract_target - years = 10 - } - set_variable = { - name = character_making_education_request - value = scope:task_contract.task_contract_employer - years = 10 - } - set_variable = { - name = ward_travelling_to_guardian - value = scope:task_contract.task_contract_target - } - } - var:task_contract_target = { - set_variable = { - name = guardian_waiting_for_ward - value = scope:task_contract.task_contract_target - } - } - # Make our gold rewards static. - grab_gold_fuzz_number_effect = yes - set_variable = { - name = gold_success_standard - value = task_contract_success_gold_gain_travel_value - } - } - } - - 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 = ep3_contract_event.0001 - } - } - - on_invalidated = { - if = { - limit = { - root.task_contract_taker = { - any_character_active_contract = { - this = root - } - } - } - task_contract_employer = { - save_scope_as = task_contract_employer - } - save_scope_value_as = { - name = task_contract_tier - value = root.task_contract_tier - } - var:task_contract_destination = { - save_scope_as = task_contract_destination - } - var:task_contract_object = { - save_scope_as = task_contract_object - } - - task_contract_taker = { - set_variable = { - name = invalidated_task_contract_type - value = flag:laamp_transport_ward - } - } - if = { - limit = { - var:task_contract_object ?= { - is_alive = no - } - } - task_contract_taker = { - save_scope_value_as = { - name = task_contract_invalidation_reason - value = flag:escortee_dead - } - trigger_event = ep3_contract_event.0012 - } - } - else_if = { - limit = { - task_contract_employer = { - is_alive = no - } - } - task_contract_employer.primary_title.holder ?= { - save_scope_as = employer_heir - } - task_contract_taker = { - save_scope_value_as = { - name = task_contract_invalidation_reason - value = flag:employer_dead - } - trigger_event = ep3_contract_event.0012 - - } - } - else_if = { - limit = { - var:task_contract_target = { - is_alive = no - } - } - var:task_contract_target ?= { - save_scope_as = dead_target - } - task_contract_employer = { - save_scope_as = task_contract_employer - } - task_contract_taker = { - save_scope_value_as = { - name = task_contract_invalidation_reason - value = flag:target_dead - } - trigger_event = ep3_contract_event.0012 - } - } - #remove the ward/guardian variables - if = { - limit = { - var:task_contract_object ?= { - is_alive = yes - } - } - var:task_contract_object = { - remove_variable = character_requested_as_educator - remove_variable = character_making_education_request - remove_variable = ward_travelling_to_guardian - return_to_court = yes - } - } - if = { - limit = { - task_contract_target ?= { - is_alive = yes - } - } - task_contract_target = { - remove_variable = guardian_waiting_for_ward - } - } - } - } - - # Rewards - task_contract_reward = { - success_standard = { - effect = { - 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 } - 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 = yes - EXTRA_REWARD = scope:extra_reward - } - } - } - failure_standard = { - positive = no - effect = { - 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 } - 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 - } - } - } - } -} - -# Explorer of Points of Interests -# scope:employer = pool character wanting to visit a point of interest -# var:travel_reason = the reason poi is worth a visit -# task_contract_destination = capital of task_contract_target -laamp_transport_explorer = { - group = laamp_contracts_transport_group - icon = "gfx/interface/icons/character_interactions/icon_contract_escort.dds" - travel = no - use_diplomatic_range = no - - # Validity Triggers - 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 - # Specific flavour triggers. - scope:employer = { - is_ai = yes - is_available_allow_travelling = yes - is_adult = yes - highest_held_title_tier <= tier_barony - OR = { - ai_boldness >= 50 - ai_energy >= 50 - has_trait = lifestyle_traveler - } - any_neighboring_and_across_water_top_liege_realm_owner = { - is_within_diplo_range = { CHARACTER = root } - any_realm_province = { - this != root.domicile.domicile_location - has_any_travel_poi_trigger = yes - } - } - } - } - valid_to_accept = { - # Standard triggers. - valid_laamp_basic_accept_only_trigger = yes - valid_laamp_basic_trigger = { - EMPLOYER = scope:employer - LAAMP = root - } - } - valid_to_continue = { - var:task_contract_object ?= { - is_alive = yes - } - var:task_contract_target ?= { - is_alive = yes - } - valid_laamp_basic_trigger = { - EMPLOYER = root.task_contract_employer - LAAMP = root.task_contract_taker - } - } - valid_to_keep = { - var:task_contract_object ?= { - is_alive = yes - } - var:task_contract_target ?= { - is_alive = yes - } - # Standard triggers. - valid_laamp_basic_trigger = { - EMPLOYER = root.task_contract_employer - LAAMP = root.task_contract_taker - } - } - - weight = { - # Standard weights. - value = task_contract_weight_interesting_almost_rare_value - add = laamp_contracts_weight_up_transport_value - add = task_contract_weight_employer_contact_list_value - scope:employer = { multiply = task_contract_weight_by_tier_value } - } - - # On_Actions - on_create = { - scope:contract = { - save_scope_as = task_contract - task_contract_employer = { - random_neighboring_and_across_water_top_liege_realm_owner = { - limit = { - is_within_diplo_range = { CHARACTER = scope:task_contract.task_contract_taker } - any_realm_province = { - this != scope:task_contract.task_contract_taker.domicile.domicile_location - has_any_travel_poi_trigger = yes - save_temporary_scope_as = poi_province - } - } - } - } - scope:poi_province = { - save_scope_as = task_contract_destination - if = { - limit = { exists = province_owner } - province_owner = { - save_scope_as = task_contract_target - } - } - else = { - county.holder = { - save_scope_as = task_contract_target - } - } - } - set_variable = { - name = task_contract_employer - value = scope:task_contract.task_contract_employer - } - set_variable = { - name = task_contract_object - value = scope:task_contract.task_contract_employer - } - if = { - limit = { - exists = scope:task_contract.task_contract_target - } - set_variable = { - name = task_contract_target - value = scope:task_contract.task_contract_target - } - } - else = { - set_variable = { - name = task_contract_target - value = scope:task_contract_target - } - set_task_contract_target = scope:task_contract_target - } - if = { - limit = { - exists = scope:task_contract.task_contract_destination - } - set_variable = { - name = task_contract_destination - value = scope:task_contract.task_contract_destination - } - } - else = { - set_variable = { - name = task_contract_destination - value = scope:task_contract_destination - } - } - var:task_contract_destination = { - switch = { - trigger = has_travel_point_of_interest - poi_capitals = { - save_scope_value_as = { - name = travel_reason - value = flag:capitals - } - } - poi_special_buildings_martial = { - save_scope_value_as = { - name = travel_reason - value = flag:special_buildings_martial - } - } - poi_special_buildings_learning = { - save_scope_value_as = { - name = travel_reason - value = flag:special_buildings_learning - } - } - poi_special_buildings_religious = { - save_scope_value_as = { - name = travel_reason - value = flag:special_buildings_religious - } - } - poi_special_buildings_diplomatic = { - save_scope_value_as = { - name = travel_reason - value = flag:special_buildings_diplomatic - } - } - poi_grand_city = { - save_scope_value_as = { - name = travel_reason - value = flag:grand_city - } - } - poi_special_buildings_wonder = { - save_scope_value_as = { - name = travel_reason - value = flag:special_buildings_wonder - } - } - poi_special_buildings_economic = { - save_scope_value_as = { - name = travel_reason - value = flag:special_buildings_economic - } - } - poi_mausoleum_at_halicarnassus = { - save_scope_value_as = { - name = travel_reason - value = flag:mausoleum_at_halicarnassus - } - } - poi_lighthouse_of_alexandria = { - save_scope_value_as = { - name = travel_reason - value = flag:lighthouse_of_alexandria - } - } - poi_natural_feature = { - save_scope_value_as = { - name = travel_reason - value = flag:natural_feature - } - } - } - } - set_variable = { - name = travel_reason - value = scope:travel_reason - } - # Make our gold rewards static. - grab_gold_fuzz_number_effect = yes - set_variable = { - name = gold_success_critical - value = task_contract_success_gold_gain_travel_value - } - set_variable = { - name = gold_success_standard - value = task_contract_success_gold_gain_half_travel_value - } - } - } - - 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 = ep3_contract_event.0001 - } - } - on_invalidated = { - if = { - limit = { - root.task_contract_taker = { - any_character_active_contract = { - this = root - } - } - } - task_contract_employer = { - save_scope_as = task_contract_employer - } - save_scope_value_as = { - name = task_contract_tier - value = root.task_contract_tier - } - var:task_contract_destination = { - save_scope_as = task_contract_destination - } - - task_contract_taker = { - set_variable = { - name = invalidated_task_contract_type - value = flag:laamp_transport_explorer - } - } - if = { - limit = { - task_contract_employer = { - is_alive = no - } - } - task_contract_employer.primary_title.holder ?= { - save_scope_as = employer_heir - } - task_contract_taker = { - save_scope_value_as = { - name = task_contract_invalidation_reason - value = flag:employer_dead - } - trigger_event = ep3_contract_event.0012 - - } - } - task_contract_employer = { - if = { - limit = { - is_landed = no - } - move_to_pool = yes - } - } - } - } - - # Rewards - task_contract_reward = { - success_critical = { - effect = { - 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 } - 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 = 0 - 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 = { - effect = { - 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 } - 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 = yes - CONTACT_HOOK = yes - EXTRA_REWARD = scope:extra_reward - } - } - } - failure_standard = { - positive = no - effect = { - 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 } - 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 - } - } - } - } -} - -# Pet Story Cycle: dog or cat -# scope:employer = ruler with a pet wanting to give it away to a foreign court -# var:escorted_story = the story cycle with the pet -# task_contract_target = random ruler that doesn't have a pet story cycle -# task_contract_destination = capital of task_contract_target -laamp_transport_animal = { - group = laamp_contracts_transport_group - icon = "gfx/interface/icons/character_interactions/icon_contract_escort.dds" - travel = no - use_diplomatic_range = no - - # Validity Triggers - 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 - # Specific flavour triggers. - scope:employer = { - has_named_cat_or_dog_trigger = yes - any_owned_story = { - NOT = { exists = var:gifted_pet_story } - } - any_neighboring_and_across_water_top_liege_realm_owner = { - is_ai = yes - is_adult = yes - has_cat_or_dog_trigger = no - capital_province != root.domicile.domicile_location - } - } - } - valid_to_keep = { - exists = root.var:escorted_story - valid_laamp_basic_trigger = { - EMPLOYER = root.task_contract_employer - LAAMP = root.task_contract_taker - } - } - valid_to_accept = { - # Standard triggers. - valid_laamp_basic_accept_only_trigger = yes - valid_laamp_basic_trigger = { - EMPLOYER = scope:employer - LAAMP = root - } - scope:employer = { - has_named_cat_or_dog_trigger = yes - } - } - valid_to_continue = { - exists = var:escorted_story - var:task_contract_target ?= { - is_alive = yes - } - 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_transport_value - add = task_contract_weight_employer_contact_list_value - scope:employer = { multiply = task_contract_weight_by_tier_value } - } - - # On_Actions - on_create = { - scope:contract = { - save_scope_as = task_contract - task_contract_employer = { - random_owned_story = { - limit = { - NOT = { exists = var:gifted_pet_story } - OR = { - story_type = story_cycle_pet_dog - story_type = story_cycle_pet_cat - } - } - save_scope_as = escorted_story - } - if = { - limit = { - NOT = { exists = scope:task_contract.task_contract_target } - } - random_neighboring_and_across_water_top_liege_realm_owner = { - limit = { - is_ai = yes - is_adult = yes - has_cat_or_dog_trigger = no - capital_province != scope:task_contract.task_contract_taker.domicile.domicile_location - } - save_scope_as = task_contract_target - capital_province = { - save_scope_as = task_contract_destination - } - } - } - else_if = { - limit = { - NOT = { exists = scope:task_contract.task_contract_destination } - } - scope:task_contract.task_contract_target = { - capital_province = { - save_scope_as = task_contract_destination - } - } - } - } - set_variable = { - name = task_contract_employer - value = scope:task_contract.task_contract_employer - } - if = { - limit = { - exists = scope:task_contract.task_contract_target - } - set_variable = { - name = task_contract_target - value = scope:task_contract.task_contract_target - } - } - else = { - set_variable = { - name = task_contract_target - value = scope:task_contract_target - } - set_task_contract_target = scope:task_contract_target - } - if = { - limit = { - exists = scope:task_contract.task_contract_destination - } - set_variable = { - name = task_contract_destination - value = scope:task_contract.task_contract_destination - } - } - else = { - set_variable = { - name = task_contract_destination - value = scope:task_contract_destination - } - } - set_variable = { - name = escorted_story - value = scope:escorted_story - } - if = { - limit = { - exists = scope:escorted_story.var:story_cycle_dog_name - } - set_variable = { - name = story_cycle_dog_name - value = scope:escorted_story.var:story_cycle_dog_name - } - } - else = { - set_variable = { - name = story_cycle_cat_name - value = scope:escorted_story.var:story_cycle_cat_name - } - } - # Make our gold rewards static. - grab_gold_fuzz_number_effect = yes - set_variable = { - name = gold_success_standard - value = task_contract_success_gold_gain_travel_value - } - } - } - - 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 = ep3_contract_event.0001 - } - } - - on_invalidated = { - if = { - limit = { - root.task_contract_taker = { - any_character_active_contract = { - this = root - } - } - } - task_contract_employer = { - save_scope_as = task_contract_employer - } - save_scope_value_as = { - name = task_contract_tier - value = root.task_contract_tier - } - var:task_contract_destination = { - save_scope_as = task_contract_destination - } - - task_contract_taker = { - set_variable = { - name = invalidated_task_contract_type - value = flag:laamp_transport_animal - } - } - if = { - limit = { - NOT = { exists = var:escorted_story } - } - task_contract_taker = { - save_scope_value_as = { - name = task_contract_invalidation_reason - value = flag:pet_dead - } - #for the localization to show the pet's name in the follow up event - if = { - limit = { - exists = root.var:story_cycle_dog_name - } - set_variable = { - name = story_cycle_dog_name - value = root.var:story_cycle_dog_name - days = 1 - } - } - else = { - set_variable = { - name = story_cycle_cat_name - value = root.var:story_cycle_cat_name - days = 1 - } - } - trigger_event = ep3_contract_event.0012 - } - } - else_if = { - limit = { - var:task_contract_target = { - is_alive = no - } - } - var:task_contract_target ?= { - save_scope_as = dead_target - } - task_contract_employer = { - save_scope_as = task_contract_employer - } - task_contract_taker = { - save_scope_value_as = { - name = task_contract_invalidation_reason - value = flag:target_dead - } - trigger_event = ep3_contract_event.0012 - } - } - } - } - - # Rewards - task_contract_reward = { - success_standard = { - effect = { - 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 } - 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 = yes - EXTRA_REWARD = scope:extra_reward - } - } - } - failure_standard = { - positive = no - effect = { - 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 } - 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 - } - } - } - } -} diff --git a/common/task_contracts/nomads_migration_contracts.txt b/common/task_contracts/nomads_migration_contracts.txt deleted file mode 100644 index 59184bed1..000000000 --- a/common/task_contracts/nomads_migration_contracts.txt +++ /dev/null @@ -1,468 +0,0 @@ -############################# -# 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 } } - } -} diff --git a/common/task_contracts/tgp_admin_contracts.txt b/common/task_contracts/tgp_admin_contracts.txt deleted file mode 100644 index ded68e968..000000000 --- a/common/task_contracts/tgp_admin_contracts.txt +++ /dev/null @@ -1,3458 +0,0 @@ -jail_inspection = { - group = admin_governance_group - icon = "gfx/interface/icons/message_feed/control.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.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_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 - } - } - renovate_jail = { # 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_influence = { - value = medium_influence_gain - multiply = governance_task_contract_tier_value - } - } - scope:task_contract.task_contract_location.county = { - if = { - limit = { county_control < 100 } - change_county_control = 5 - } - } - } - } - improve_their_conditions = { - 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 = minor_gold_value - increase_governance_effect = { VALUE = 5 } - change_merit = { - value = medium_merit_value - multiply = governance_task_contract_tier_value - } - } - scope:task_contract.task_contract_location.county = { - if = { - limit = { county_control < 100 } - change_county_control = 5 - } - } - } - } - pardon_some_of_them = { - 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_merit = { - value = medium_merit_value - multiply = governance_task_contract_tier_value - } - } - scope:task_contract.task_contract_location.county = { - change_county_control = -5 - } - scope:task_contract.task_contract_location = { - add_province_modifier = { - modifier = tgp_pardoned_prisoners_modifier - years = 10 - } - } - } - } - beat_the_complainers = { - 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 = 5 } - add_martial_lifestyle_xp = minor_lifestyle_xp - add_dread = { - value = minor_dread_gain - multiply = governance_task_contract_tier_value - } - } - scope:task_contract.task_contract_location.county = { - change_county_control = 5 - } - } - } - convict_labor = { - 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 = 5 } - add_stewardship_lifestyle_xp = minor_lifestyle_xp - } - scope:task_contract.task_contract_location = { - add_province_modifier = { - modifier = tgp_convict_labor_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 = minor_influence_loss - multiply = governance_task_contract_tier_value - } - } - } - } - } -} - -potent_physick = { - group = admin_governance_group - icon = "gfx/interface/icons/message_feed/stewardship.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.0011 - } - } - - 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 - } - } - emergency_appropriation = { # 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_influence = { - value = medium_influence_gain - multiply = governance_task_contract_tier_value - } - } - } - } - licensing_issue = { - 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 = { - type = event_toast_effect_good - title = tgp_governor_contract_event.0002.b.toast_success - left_icon = scope:task_contract.task_contract_taker - increase_governance_effect = { VALUE = 5 } - add_gold = minor_gold_value - change_merit = { - value = minor_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 - } - } - } - } - } - begone_quack = { - 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 = 5 } - add_prestige = minor_prestige_gain - } - scope:task_contract.task_contract_location = { - add_province_modifier = { - modifier = tgp_expelled_popular_peddler_modifier - years = 10 - } - } - } - } - hire_the_quack = { - 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 = minor_gold_value - increase_governance_effect = { VALUE = 5 } - } - } - } - down_the_hatch = { - 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 = tiny_gold_value - add_character_modifier = { - modifier = tgp_potent_physick - years = 5 - } - } - } - } - failure_licensing_issue = { - 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 ?= { - send_interface_toast = { - type = event_toast_effect_bad - title = tgp_governor_contract_event.0002.b.toast_failure - left_icon = scope:task_contract.task_contract_taker - change_influence = { - value = minor_influence_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" } - save_scope_as = task_contract - task_contract_taker ?= { - change_influence = { - value = minor_influence_loss - multiply = governance_task_contract_tier_value - } - } - } - } - } -} - -irregular_accounting = { - group = admin_governance_group - icon = "gfx/interface/icons/message_feed/stewardship.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.0012 - } - } - - 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 - } - } - confiscation_and_incarceration = { # 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 - } - add_gold = minor_gold_value - } - scope:task_contract.task_contract_location.county = { - change_county_control = 5 - } - scope:task_contract.task_contract_location = { - add_province_modifier = { - modifier = tgp_enforced_justice_on_official_modifier - years = 10 - } - } - } - } - recruit_embezzler = { - 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_merit = { - value = minor_merit_loss - multiply = governance_task_contract_tier_value - } - } - } - } - cover_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 ?= { - increase_governance_effect = { VALUE = 5 } - add_intrigue_lifestyle_xp = minor_lifestyle_xp - change_influence = minor_influence_gain - } - scope:task_contract.task_contract_location.county = { - change_county_control = -5 - } - } - } - into_your_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_gold = medium_gold_value - add_stewardship_lifestyle_xp = minor_lifestyle_xp - change_merit = { - value = minor_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 - } - } - } - } - } - continue_the_charade = { - 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 = { - type = event_toast_effect_good - title = tgp_governor_contract_event.0003.e.toast_success - left_icon = scope:task_contract.task_contract_taker - add_gold = major_gold_value - add_intrigue_lifestyle_xp = minor_lifestyle_xp - } - add_secret = { - type = secret_siphoned_treasury - target = top_liege - } - } - } - } - failure_continue_the_charade = { - 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 ?= { - send_interface_toast = { - type = event_toast_effect_bad - title = tgp_governor_contract_event.0003.e.toast_failure - left_icon = scope:task_contract.task_contract_taker - change_influence = { - value = minor_influence_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" } - save_scope_as = task_contract - task_contract_taker ?= { - change_influence = { - value = minor_influence_loss - multiply = governance_task_contract_tier_value - } - } - } - } - } -} - -salt_smugglers = { - group = admin_governance_group - icon = "gfx/interface/icons/message_feed/control.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.0013 - } - } - - 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 - } - } - execute_smuggler = { # 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 - } - } - scope:task_contract.task_contract_location.county = { - change_county_control = 5 - } - } - } - cut_a_deal = { - 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 = 5 } - change_merit = { - value = minor_merit_loss - multiply = governance_task_contract_tier_value - } - add_intrigue_lifestyle_xp = minor_lifestyle_xp - } - scope:task_contract.task_contract_location.county = { - change_county_control = 5 - } - } - } - interrogate_smuggler = { - 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 = { - type = event_toast_effect_good - title = tgp_governor_contract_event.0004.c.toast_success - left_icon = scope:task_contract.task_contract_taker - increase_governance_effect = { VALUE = 5 } - change_influence = medium_influence_gain - } - } - scope:task_contract.task_contract_location.county = { - change_county_control = 5 - } - } - } - a_cut_of_the_take = { - 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 = { - type = event_toast_effect_good - title = tgp_governor_contract_event.0004.d.toast_success - left_icon = scope:task_contract.task_contract_taker - increase_governance_effect = { VALUE = 5 } - add_gold = medium_gold_value - add_intrigue_lifestyle_xp = minor_lifestyle_xp - } - 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 - } - } - } - } - } - recruit_smuggler = { - 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 = 5 } - change_merit = { - value = minor_merit_loss - multiply = governance_task_contract_tier_value - } - } - } - } - failure_interrogate_smuggler = { - 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 ?= { - send_interface_toast = { - type = event_toast_effect_bad - title = tgp_governor_contract_event.0004.c.toast_failure - left_icon = scope:task_contract.task_contract_taker - change_influence = { - value = minor_influence_loss - multiply = governance_task_contract_tier_value - } - } - } - } - } - failure_a_cut_of_the_take = { - 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 ?= { - send_interface_toast = { - type = event_toast_effect_bad - title = tgp_governor_contract_event.0004.d.toast_failure - left_icon = scope:task_contract.task_contract_taker - change_influence = { - value = minor_influence_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" } - save_scope_as = task_contract - task_contract_taker ?= { - change_influence = { - value = minor_influence_loss - multiply = governance_task_contract_tier_value - } - } - } - } - } -} - -hoarding_grain = { - group = admin_governance_group - icon = "gfx/interface/icons/message_feed/stewardship.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.0014 - } - } - - 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 - } - } - release_the_grain = { # 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 - } - } - scope:task_contract.task_contract_location.county = { - change_county_control = 5 - } - } - } - shame_them = { - 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 = { - type = event_toast_effect_good - title = tgp_governor_contract_event.0005.b.toast_success - left_icon = scope:task_contract.task_contract_taker - increase_governance_effect = { VALUE = 5 } - add_prestige = minor_prestige_gain - add_diplomacy_lifestyle_xp = minor_lifestyle_xp - } - } - } - } - intimidate_them = { - 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 = { - type = event_toast_effect_good - title = tgp_governor_contract_event.0005.c.toast_success - left_icon = scope:task_contract.task_contract_taker - increase_governance_effect = { VALUE = 5 } - add_dread = { - value = minor_dread_gain - multiply = governance_task_contract_tier_value - } - add_prestige = minor_prestige_gain - change_influence = { - value = medium_influence_gain - multiply = governance_task_contract_tier_value - } - } - } - } - } - purchase_grain_yourself = { - 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 = 5 } - remove_short_term_gold = minor_gold_value - add_prestige = minor_prestige_gain - change_influence = { - value = medium_influence_gain - multiply = governance_task_contract_tier_value - } - } - } - } - bribe_with_offices = { - 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 = 5 } - change_influence = { - value = medium_influence_gain - multiply = governance_task_contract_tier_value - } - add_intrigue_lifestyle_xp = minor_lifestyle_xp - } - } - } - failure_intimidate_them = { - 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 ?= { - send_interface_toast = { - type = event_toast_effect_bad - title = tgp_governor_contract_event.0005.c.toast_failure - left_icon = scope:task_contract.task_contract_taker - change_influence = { - value = minor_influence_loss - multiply = governance_task_contract_tier_value - } - } - } - } - } - failure_shame_them = { - 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 ?= { - send_interface_toast = { - type = event_toast_effect_bad - title = tgp_governor_contract_event.0005.b.toast_failure - left_icon = scope:task_contract.task_contract_taker - change_influence = { - value = minor_influence_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" } - save_scope_as = task_contract - task_contract_taker ?= { - change_influence = { - value = minor_influence_loss - multiply = governance_task_contract_tier_value - } - } - } - } - } -} - -doddering_magistrate = { - group = admin_governance_group - icon = "gfx/interface/icons/message_feed/diplomacy.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 - } - } - - 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.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_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 - } - } - appoint_substitute = { # 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 ?= { - change_merit = { - value = medium_merit_value - multiply = governance_task_contract_tier_value - } - } - scope:task_contract.task_contract_location.county = { - change_county_control = 5 - } - } - } - force_him_out = { - 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 = 5 } - change_merit = { - value = minor_merit_loss - multiply = governance_task_contract_tier_value - } - } - scope:task_contract.task_contract_location.county = { - change_county_control = 5 - } - } - } - promote_somewhere_harmless = { - 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 = 5 } - add_prestige = minor_prestige_gain - } - } - } - let_him_continue = { - 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 = 5 } - add_stewardship_lifestyle_xp = minor_lifestyle_xp - } - scope:task_contract.task_contract_location = { - add_province_modifier = { - modifier = tgp_doddering_magistrate_modifier - years = 10 - } - } - } - } - demote_him = { - 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 = 5 } - add_dread = { - value = minor_dread_gain - multiply = governance_task_contract_tier_value - } - add_character_modifier = { - modifier = tgp_disrespected_elderly_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 = minor_influence_loss - multiply = governance_task_contract_tier_value - } - } - } - } - } -} - -burdensome_taxes = { - group = admin_governance_group - icon = "gfx/interface/icons/message_feed/stewardship.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 - } - } - - 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.0007 - } - } - - 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 - } - } - revise_tax_assessment = { # 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 = { - type = event_toast_effect_good - title = tgp_governor_contract_event.0007.a.toast_success - left_icon = scope:task_contract.task_contract_taker - increase_governance_effect = { VALUE = 10 } - change_influence = { - value = medium_influence_gain - multiply = governance_task_contract_tier_value - } - add_stewardship_lifestyle_xp = minor_lifestyle_xp - } - } - scope:task_contract.task_contract_location.county = { - if = { - limit = { county_control < 100 } - change_county_control = 5 - } - } - } - } - waive_their_taxes = { - 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_merit = { - value = medium_merit_value - multiply = governance_task_contract_tier_value - } - } - scope:task_contract.task_contract_location.county = { - if = { - limit = { county_control < 100 } - change_county_control = 5 - } - } - scope:task_contract.task_contract_location = { - add_province_modifier = { - modifier = tgp_reduced_taxes_modifier - years = 10 - } - } - } - } - pay_it_yourself = { - 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 = 5 } - remove_short_term_gold = medium_gold_value - change_merit = { - value = medium_merit_value - multiply = governance_task_contract_tier_value - } - } - } - } - delayed_taxes = { - 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 = 5 } - change_merit = { - value = medium_merit_value - multiply = governance_task_contract_tier_value - } - } - scope:task_contract.task_contract_location = { - add_province_modifier = { - modifier = tgp_delayed_taxes_modifier - years = 10 - } - } - } - } - imprison_debtors = { - 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 = 5 } - add_dread = { - value = minor_dread_gain - multiply = governance_task_contract_tier_value - } - } - scope:task_contract.task_contract_location = { - add_province_modifier = { - modifier = tgp_imprisoned_poor_modifier - years = 10 - } - } - } - } - failure_revise_tax_assessment = { - 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 ?= { - send_interface_toast = { - type = event_toast_effect_bad - title = tgp_governor_contract_event.0007.a.toast_failure - left_icon = scope:task_contract.task_contract_taker - change_influence = { - value = minor_influence_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" } - save_scope_as = task_contract - task_contract_taker ?= { - change_influence = { - value = minor_influence_loss - multiply = governance_task_contract_tier_value - } - } - } - } - } -} - -unsafe_highways = { - group = admin_governance_group - icon = "gfx/interface/icons/message_feed/soldier.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 - } - } - - 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.0008 - } - } - - 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 - } - } - merchant_funded_government_escort = { # 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 ?= { - change_merit = { - value = medium_merit_value - multiply = governance_task_contract_tier_value - } - } - scope:task_contract.task_contract_location.county = { - if = { - limit = { county_control < 100 } - change_county_control = 5 - } - } - } - } - send_out_the_patrols = { - 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 = 5 } - add_prestige = minor_prestige_gain - add_martial_lifestyle_xp = minor_lifestyle_xp - } - scope:task_contract.task_contract_location.county = { - if = { - limit = { county_control < 100 } - change_county_control = 5 - } - } - } - } - talk_them_into_bodyguards = { - 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 = { - type = event_toast_effect_good - title = tgp_governor_contract_event.0008.c.toast_success - left_icon = scope:task_contract.task_contract_taker - increase_governance_effect = { VALUE = 5 } - add_prestige = minor_prestige_gain - add_diplomacy_lifestyle_xp = minor_lifestyle_xp - } - } - } - } - threaten_with_sanctions = { - 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 = { - type = event_toast_effect_good - title = tgp_governor_contract_event.0008.d.toast_success - left_icon = scope:task_contract.task_contract_taker - increase_governance_effect = { VALUE = 5 } - add_dread = { - value = minor_dread_gain - multiply = governance_task_contract_tier_value - } - } - } - } - } - entice_with_promises = { - 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 = { - type = event_toast_effect_good - title = tgp_governor_contract_event.0008.e.toast_success - left_icon = scope:task_contract.task_contract_taker - increase_governance_effect = { VALUE = 5 } - add_diplomacy_lifestyle_xp = minor_lifestyle_xp - remove_short_term_gold = minor_gold_value - } - } - } - } - failure_entice_with_promises = { - 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 ?= { - send_interface_toast = { - type = event_toast_effect_bad - title = tgp_governor_contract_event.0008.e.toast_failure - left_icon = scope:task_contract.task_contract_taker - change_influence = { - value = minor_influence_loss - multiply = governance_task_contract_tier_value - } - } - } - } - } - failure_threaten_with_sanctions = { - 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 ?= { - send_interface_toast = { - type = event_toast_effect_bad - title = tgp_governor_contract_event.0008.d.toast_failure - left_icon = scope:task_contract.task_contract_taker - change_influence = { - value = minor_influence_loss - multiply = governance_task_contract_tier_value - } - } - } - } - } - failure_talk_them_into_bodyguards = { - 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 ?= { - send_interface_toast = { - type = event_toast_effect_bad - title = tgp_governor_contract_event.0008.c.toast_failure - left_icon = scope:task_contract.task_contract_taker - change_influence = { - value = minor_influence_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" } - save_scope_as = task_contract - task_contract_taker ?= { - change_influence = { - value = minor_influence_loss - multiply = governance_task_contract_tier_value - } - } - } - } - } -} - -dam_in_disrepair = { - group = admin_governance_group - icon = "gfx/interface/icons/message_feed/stewardship.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.0009 - } - } - - 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 - } - } - conscientious_mobilization = { # 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 ?= { - change_merit = { - value = medium_merit_value - multiply = governance_task_contract_tier_value - } - } - } - } - forced_labor = { - 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 = 5 } - } - scope:task_contract.task_contract_location.county = { - if = { - limit = { county_control < 100 } - change_county_control = 15 - } - } - scope:task_contract.task_contract_location = { - add_province_modifier = { - modifier = tgp_compelled_labor_modifier - years = 10 - } - } - } - } - compel_the_wealthy = { - 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 = { - type = event_toast_effect_good - title = tgp_governor_contract_event.0009.c.toast_success - left_icon = scope:task_contract.task_contract_taker - increase_governance_effect = { VALUE = 5 } - add_stewardship_lifestyle_xp = medium_lifestyle_xp - } - } - } - } - personal_contribution = { - 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 - change_influence = { - value = medium_influence_gain - multiply = governance_task_contract_tier_value - } - } - scope:task_contract.task_contract_location = { - add_province_modifier = { - modifier = tgp_appreciative_populace_modifier - years = 10 - } - } - } - } - requisition_state_resources = { - 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 = { - type = event_toast_effect_good - title = tgp_governor_contract_event.0009.e.toast_success - left_icon = scope:task_contract.task_contract_taker - increase_governance_effect = { VALUE = 5 } - add_intrigue_lifestyle_xp = medium_lifestyle_xp - } - } - } - } - failure_compel_the_wealthy = { - 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 ?= { - send_interface_toast = { - type = event_toast_effect_bad - title = tgp_governor_contract_event.0009.c.toast_failure - left_icon = scope:task_contract.task_contract_taker - change_influence = { - value = minor_influence_loss - multiply = governance_task_contract_tier_value - } - } - } - } - } - failure_requisition_state_resources = { - 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 ?= { - send_interface_toast = { - type = event_toast_effect_bad - title = tgp_governor_contract_event.0009.e.toast_failure - left_icon = scope:task_contract.task_contract_taker - change_influence = { - value = minor_influence_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" } - save_scope_as = task_contract - task_contract_taker ?= { - change_influence = { - value = minor_influence_loss - multiply = governance_task_contract_tier_value - } - } - } - } - } -} - -lines_in_the_soil = { - group = admin_governance_group - icon = "gfx/interface/icons/message_feed/stewardship.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.0020 - } - } - - 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 - } - } - land_resurvey = { # 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 = minor_lifestyle_xp - change_merit = { - value = miniscule_merit_value - multiply = governance_task_contract_tier_value - } - } - scope:task_contract.task_contract_location.county = { - change_county_control = 5 - } - } - } - consult_archives = { - 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 = { - type = event_toast_effect_good - title = tgp_governor_contract_event.0021.b.toast_success - left_icon = scope:task_contract.task_contract_taker - increase_governance_effect = { VALUE = 5 } - add_learning_lifestyle_xp = minor_lifestyle_xp - change_merit = { - value = medium_merit_value - multiply = governance_task_contract_tier_value - } - } - } - } - } - failure_consult_archives = { - 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 ?= { - send_interface_toast = { - type = event_toast_effect_bad - title = tgp_governor_contract_event.0021.b.toast_failure - left_icon = scope:task_contract.task_contract_taker - change_influence = { - value = minor_influence_loss - multiply = governance_task_contract_tier_value - } - } - } - } - } - split_the_land = { - 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 = 5 } - add_dread = { - value = minor_dread_gain - multiply = governance_task_contract_tier_value - } - } - } - } - purchase_claims = { - 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 = { - type = event_toast_effect_good - title = tgp_governor_contract_event.0021.d.toast_success - left_icon = scope:task_contract.task_contract_taker - remove_short_term_gold = minor_gold_value - add_stewardship_lifestyle_xp = minor_lifestyle_xp - add_character_modifier = { - modifier = tgp_purchased_land - years = 10 - } - } - } - } - } - failure_purchase_claims = { - 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 ?= { - send_interface_toast = { - type = event_toast_effect_bad - title = tgp_governor_contract_event.0021.d.toast_failure - left_icon = scope:task_contract.task_contract_taker - change_influence = { - value = minor_influence_loss - multiply = governance_task_contract_tier_value - } - remove_short_term_gold = minor_gold_value - } - } - } - } - declare_state_property = { - 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 } - } - scope:task_contract.task_contract_location.county = { - change_county_control = 5 - } - scope:task_contract.task_contract_location = { - add_province_modifier = { - modifier = tgp_state_annexed_land - 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 = minor_influence_loss - multiply = governance_task_contract_tier_value - } - } - } - } - } -} - -fraud_in_broad_daylight = { - group = admin_governance_group - icon = "gfx/interface/icons/message_feed/stewardship.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.0022 - } - } - - 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 - } - } - goods_inspection = { # 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 - } - } - scope:task_contract.task_contract_location.county = { - change_county_control = 5 - } - } - } - reward_for_information = { - 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 = 5 } - remove_short_term_gold = minor_gold_value - add_intrigue_lifestyle_xp = minor_lifestyle_xp - } - } - } - undercover_clerks = { - 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 = { - type = event_toast_effect_good - title = tgp_governor_contract_event.0023.c.toast_success - left_icon = scope:task_contract.task_contract_taker - increase_governance_effect = { VALUE = 10 } - add_intrigue_lifestyle_xp = minor_lifestyle_xp - } - } - scope:task_contract.task_contract_location.county = { - change_county_control = 5 - } - } - } - failure_undercover_clerks = { - 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 ?= { - send_interface_toast = { - type = event_toast_effect_bad - title = tgp_governor_contract_event.0023.c.toast_failure - left_icon = scope:task_contract.task_contract_taker - change_influence = { - value = minor_influence_loss - multiply = governance_task_contract_tier_value - } - } - } - } - } - merchant_association = { - 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 = 5 } - remove_short_term_gold = minor_gold_value - add_stewardship_lifestyle_xp = minor_lifestyle_xp - } - scope:task_contract.task_contract_location = { - add_province_modifier = { - modifier = tgp_empowered_merchants_association - years = 10 - } - } - } - } - surprise_raid = { - 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 = { - type = event_toast_effect_good - title = tgp_governor_contract_event.0023.e.toast_success - left_icon = scope:task_contract.task_contract_taker - increase_governance_effect = { VALUE = 10 } - add_gold = { medium_gold_value major_gold_value } - add_martial_lifestyle_xp = minor_lifestyle_xp - add_dread = { - value = minor_dread_gain - 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 - } - } - } - } - } - failure_surprise_raid = { - 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 ?= { - send_interface_toast = { - type = event_toast_effect_bad - title = tgp_governor_contract_event.0023.e.toast_failure - left_icon = scope:task_contract.task_contract_taker - change_influence = { - value = minor_influence_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" } - save_scope_as = task_contract - task_contract_taker ?= { - change_influence = { - value = minor_influence_loss - multiply = governance_task_contract_tier_value - } - } - } - } - } -} - -crumbling_bridge = { - group = admin_governance_group - icon = "gfx/interface/icons/message_feed/stewardship.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.0024 - } - } - - 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 - } - } - army_assistance = { # 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 - } - } - scope:task_contract.task_contract_location = { - add_province_modifier = { - modifier = tgp_army_reconstruction - years = 10 - } - } - } - } - temporary_substitute = { - 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 = minor_gold_value - change_influence = medium_influence_gain - } - scope:task_contract.task_contract_location = { - add_province_modifier = { - modifier = tgp_hastily_rebuilt_bridge - years = 10 - } - } - } - } - ferry_crossing = { - 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 = 5 } - add_stewardship_lifestyle_xp = minor_lifestyle_xp - } - scope:task_contract.task_contract_location = { - add_province_modifier = { - modifier = tgp_ferry_crossing - years = 10 - } - } - } - } - slower_replacement = { - 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_learning_lifestyle_xp = minor_lifestyle_xp - } - scope:task_contract.task_contract_location = { - add_province_modifier = { - modifier = tgp_well_planned_bridge - years = 10 - } - } - } - } - settle_caravans = { - 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 = { - type = event_toast_effect_good - title = tgp_governor_contract_event.0025.e.toast_success - left_icon = scope:task_contract.task_contract_taker - increase_governance_effect = { VALUE = 10 } - add_stewardship_lifestyle_xp = minor_lifestyle_xp - } - } - scope:task_contract.task_contract_location.county = { - change_county_control = 5 - } - scope:task_contract.task_contract_location = { - add_province_modifier = { - modifier = tgp_settled_caravans - years = 10 - } - } - } - } - failure_settle_caravans = { - 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 ?= { - send_interface_toast = { - type = event_toast_effect_bad - title = tgp_governor_contract_event.0025.e.toast_failure - left_icon = scope:task_contract.task_contract_taker - change_influence = { - value = minor_influence_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" } - save_scope_as = task_contract - task_contract_taker ?= { - change_influence = { - value = minor_influence_loss - multiply = governance_task_contract_tier_value - } - } - } - } - } -} - -confusion_of_tongues = { - group = admin_governance_group - icon = "gfx/interface/icons/message_feed/stewardship.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.0026 - } - } - - 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 - } - } - temporary_housing = { # 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 = minor_lifestyle_xp - change_merit = { - value = medium_merit_value - multiply = governance_task_contract_tier_value - } - } - } - } - search_for_translator = { - 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 = 5 } - add_stewardship_lifestyle_xp = minor_lifestyle_xp - } - } - } - confiscate_their_goods = { - 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 major_gold_value } - change_merit = { - value = minor_merit_loss - multiply = governance_task_contract_tier_value - } - if = { - limit = { - rite = { - trait_is_sin_rite = greedy - } - } - add_piety = minor_piety_loss - } - 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 - } - } - } - scope:task_contract.var:foreign_merchant_culture = { - change_cultural_acceptance = { - target = scope:task_contract.task_contract_taker.culture - value = minor_cultural_acceptance_loss - desc = cultural_acceptance_loss_event - } - } - } - } - communicate_through_gestures = { - 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 = { - type = event_toast_effect_good - title = tgp_governor_contract_event.0027.d.toast_success - left_icon = scope:task_contract.task_contract_taker - increase_governance_effect = { VALUE = 10 } - add_diplomacy_lifestyle_xp = minor_lifestyle_xp - } - } - scope:task_contract.var:foreign_merchant_culture = { - change_cultural_acceptance = { - target = scope:task_contract.task_contract_taker.culture - value = minor_cultural_acceptance_loss - desc = cultural_acceptance_loss_event - } - } - } - } - failure_communicate_through_gestures = { - 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 ?= { - send_interface_toast = { - type = event_toast_effect_bad - title = tgp_governor_contract_event.0027.d.toast_failure - left_icon = scope:task_contract.task_contract_taker - change_influence = { - value = minor_influence_loss - multiply = governance_task_contract_tier_value - } - } - } - } - } - put_them_under_guard = { - 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 = 5 } - } - scope:task_contract.task_contract_location.county = { - change_county_control = 5 - } - scope:task_contract.var:foreign_merchant_culture = { - change_cultural_acceptance = { - target = scope:task_contract.task_contract_taker.culture - value = minor_cultural_acceptance_loss - desc = cultural_acceptance_loss_event - } - } - } - } - i_know_this_one = { - 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_dread = major_dread_gain - add_martial_lifestyle_xp = minor_lifestyle_xp - if = { - limit = { - NOT = { - has_character_modifier = feast_display_of_ruthlessness_modifier - } - } - add_character_modifier = { - modifier = feast_display_of_ruthlessness_modifier - years = 10 - } - } - } - scope:task_contract.var:foreign_merchant_culture = { - change_cultural_acceptance = { - target = scope:task_contract.task_contract_taker.culture - value = minor_cultural_acceptance_loss - desc = cultural_acceptance_loss_event - } - } - } - } - 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 - } - } - } - } - } -} - -seditious_storytelling = { - group = admin_governance_group - icon = "gfx/interface/icons/message_feed/stewardship.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.0028 - } - } - - 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 - } - } - censor_storyteller = { # 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 - } - } - scope:task_contract.task_contract_location = { - add_province_modifier = { - modifier = tgp_suppressed_popular_storyteller - years = 10 - } - } - } - } - arrest_storyteller = { - 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 = minor_dread_gain - multiply = governance_task_contract_tier_value - } - change_merit = { - value = minor_merit_loss - multiply = governance_task_contract_tier_value - } - } - scope:task_contract.task_contract_location = { - add_province_modifier = { - modifier = tgp_suppressed_popular_storyteller - years = 10 - } - } - } - } - encourage_rival_storytellers = { - 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 = 5 } - remove_short_term_gold = minor_gold_value - } - scope:task_contract.task_contract_location.county = { - change_county_control = 5 - } - scope:task_contract.task_contract_location = { - add_province_modifier = { - modifier = tgp_state_sponsored_storytellers - years = 10 - } - } - } - } - intimidate_audience = { - 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 = 5 } - add_dread = { - value = minor_dread_gain - multiply = governance_task_contract_tier_value - } - } - scope:task_contract.task_contract_location.county = { - change_county_control = 5 - } - } - } - persuade_storyteller = { - 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 = { - type = event_toast_effect_good - title = tgp_governor_contract_event.0029.e.toast_success - left_icon = scope:task_contract.task_contract_taker - increase_governance_effect = { VALUE = 10 } - add_diplomacy_lifestyle_xp = minor_lifestyle_xp - } - } - scope:task_contract.task_contract_location.county = { - change_county_control = 5 - } - scope:task_contract.task_contract_location = { - add_province_modifier = { - modifier = tgp_converted_storyteller - years = 10 - } - } - } - } - failure_persuade_storyteller = { - 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 ?= { - send_interface_toast = { - type = event_toast_effect_bad - title = tgp_governor_contract_event.0029.e.toast_failure - left_icon = scope:task_contract.task_contract_taker - change_influence = { - value = minor_influence_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" } - save_scope_as = task_contract - task_contract_taker ?= { - change_influence = { - value = minor_influence_loss - multiply = governance_task_contract_tier_value - } - } - } - } - } -} - -quaking_in_panic = { # TODO_CD_TGP: hook into Natural Disasters if and where appropriate when implemented (foreshocks, aftershocks?) - group = admin_governance_group - icon = "gfx/interface/icons/message_feed/stewardship.dds" - - valid_to_create = { - valid_governor_contract_trigger = yes - any_councillor = { # For the context of the event localization to work properly - count >= 2 - } - } - - 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.0030 - } - } - - 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 - } - } - convene_public_meeting = { # 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 = { - type = event_toast_effect_good - title = tgp_governor_contract_event.0031.a.toast_success - left_icon = scope:task_contract.task_contract_taker - increase_governance_effect = { VALUE = 10 } - add_diplomacy_lifestyle_xp = minor_lifestyle_xp - change_merit = { - value = medium_merit_value - multiply = governance_task_contract_tier_value - } - } - } - scope:task_contract.task_contract_location = { - add_province_modifier = { - modifier = tgp_reassured_populace - years = 10 - } - } - } - } - failure_convene_public_meeting = { - 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 ?= { - send_interface_toast = { - type = event_toast_effect_bad - title = tgp_governor_contract_event.0031.a.toast_failure - left_icon = scope:task_contract.task_contract_taker - change_influence = { - value = minor_influence_loss - multiply = governance_task_contract_tier_value - } - } - } - } - } - deploy_guards = { - 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 = 5 } - add_dread = { - value = minor_dread_gain - multiply = governance_task_contract_tier_value - } - } - scope:task_contract.task_contract_location.county = { - change_county_control = 5 - } - } - } - appeal_to_local_leadership = { - 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 = 5 } - add_diplomacy_lifestyle_xp = minor_lifestyle_xp - change_merit = { - value = medium_merit_value - multiply = governance_task_contract_tier_value - } - } - } - } - architectural_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 ?= { - send_interface_toast = { - type = event_toast_effect_good - title = tgp_governor_contract_event.0031.d.toast_success - left_icon = scope:task_contract.task_contract_taker - increase_governance_effect = { VALUE = 10 } - add_stewardship_lifestyle_xp = minor_lifestyle_xp - } - } - scope:task_contract.task_contract_location = { - add_province_modifier = { - modifier = tgp_reassured_populace - years = 10 - } - } - } - } - failure_architectural_inspection = { - 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 ?= { - send_interface_toast = { - type = event_toast_effect_bad - title = tgp_governor_contract_event.0031.d.toast_failure - left_icon = scope:task_contract.task_contract_taker - change_influence = { - value = minor_influence_loss - multiply = governance_task_contract_tier_value - } - } - } - } - } - population_transfer = { - 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 = 5 } - add_stewardship_lifestyle_xp = minor_lifestyle_xp - } - scope:task_contract.task_contract_location = { - add_province_modifier = { - modifier = tgp_consolidated_population - 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 = minor_influence_loss - multiply = governance_task_contract_tier_value - } - } - } - } - } -} - -monopoly_in_the_marketplace = { - group = admin_governance_group - icon = "gfx/interface/icons/message_feed/stewardship.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.0032 - } - } - - 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 - } - } - strict_regulations = { # 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 = minor_lifestyle_xp - change_merit = { - value = medium_merit_value - multiply = governance_task_contract_tier_value - } - } - scope:task_contract.task_contract_location = { - add_province_modifier = { - modifier = tgp_market_regulation - years = 10 - } - } - } - } - association_stalls_only = { - 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 = 5 } - } - scope:task_contract.task_contract_location = { - add_province_modifier = { - modifier = tgp_empowered_merchants_association - years = 10 - } - } - } - } - levy_special_tax = { - 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 = { minor_gold_value medium_gold_value } - change_merit = { - value = minor_merit_loss - multiply = governance_task_contract_tier_value - } - if = { - limit = { - rite = { - trait_is_sin_rite = greedy - } - } - add_piety = minor_piety_loss - } - 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 - } - } - } - } - } - back_competitors = { - 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 = { - type = event_toast_effect_good - title = tgp_governor_contract_event.0033.d.toast_success - left_icon = scope:task_contract.task_contract_taker - increase_governance_effect = { VALUE = 5 } - add_intrigue_lifestyle_xp = minor_lifestyle_xp - remove_short_term_gold = minor_gold_value - } - } - scope:task_contract.task_contract_location = { - add_province_modifier = { - modifier = tgp_empowered_merchants_association - years = 10 - } - } - } - } - failure_back_competitors = { - 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 ?= { - send_interface_toast = { - type = event_toast_effect_bad - title = tgp_governor_contract_event.0033.d.toast_failure - left_icon = scope:task_contract.task_contract_taker - change_influence = { - value = minor_influence_loss - multiply = governance_task_contract_tier_value - } - remove_short_term_gold = minor_gold_value - } - } - } - } - seize_merchant_goods = { - 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 major_gold_value } - add_dread = { - value = minor_dread_gain - multiply = governance_task_contract_tier_value - } - change_merit = { - value = minor_merit_loss - multiply = governance_task_contract_tier_value - } - if = { - limit = { - rite = { - trait_is_sin_rite = greedy - } - } - add_piety = minor_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 = minor_influence_loss - multiply = governance_task_contract_tier_value - } - } - } - } - } -} - -contested_inheritance = { - group = admin_governance_group - icon = "gfx/interface/icons/message_feed/stewardship.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.0034 - } - } - - 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 - } - } - declare_communal_property = { # 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 - } - } - } - } - award_according_to_seniority = { - 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 = 5 } - add_prestige = medium_prestige_gain - change_influence = { - value = minor_influence_gain - multiply = governance_task_contract_tier_value - } - } - } - } - award_to_highest_bidder = { - 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 = { - type = event_toast_effect_good - title = tgp_governor_contract_event.0035.c.toast_success - left_icon = scope:task_contract.task_contract_taker - add_gold = { medium_gold_value major_gold_value } - change_merit = { - value = minor_merit_loss - multiply = governance_task_contract_tier_value - } - } - if = { - limit = { - rite = { - trait_is_sin_rite = greedy - } - } - add_piety = minor_piety_loss - } - 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 - } - } - } - } - } - failure_award_to_highest_bidder = { - 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 ?= { - send_interface_toast = { - type = event_toast_effect_bad - title = tgp_governor_contract_event.0035.c.toast_failure - left_icon = scope:task_contract.task_contract_taker - change_influence = { - value = minor_influence_loss - multiply = governance_task_contract_tier_value - } - } - } - } - } - adhere_to_testament = { - 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 - change_merit = { - value = minor_merit_loss - multiply = governance_task_contract_tier_value - } - } - } - } - persuade_private_settlement = { - 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 = minor_lifestyle_xp - add_prestige = minor_prestige_gain - } - } - } - failure_persuade_private_settlement = { - 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 ?= { - send_interface_toast = { - type = event_toast_effect_bad - title = tgp_governor_contract_event.0035.e.toast_failure - left_icon = scope:task_contract.task_contract_taker - change_influence = { - value = minor_influence_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" } - save_scope_as = task_contract - task_contract_taker ?= { - change_influence = { - value = minor_influence_loss - multiply = governance_task_contract_tier_value - } - } - } - } - } -} - diff --git a/common/task_contracts/tgp_admin_contracts_tova.txt b/common/task_contracts/tgp_admin_contracts_tova.txt deleted file mode 100644 index 13c4b3050..000000000 --- a/common/task_contracts/tgp_admin_contracts_tova.txt +++ /dev/null @@ -1,651 +0,0 @@ -# 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 - } - } - } - } -} diff --git a/common/task_contracts/tgp_admin_military_contracts.txt b/common/task_contracts/tgp_admin_military_contracts.txt deleted file mode 100644 index 3a6f631d2..000000000 --- a/common/task_contracts/tgp_admin_military_contracts.txt +++ /dev/null @@ -1,180 +0,0 @@ -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 - } - } - } - } - } -} diff --git a/common/task_contracts/tgp_mandala_contracts.txt b/common/task_contracts/tgp_mandala_contracts.txt deleted file mode 100644 index 6d1a8a67d..000000000 --- a/common/task_contracts/tgp_mandala_contracts.txt +++ /dev/null @@ -1,3748 +0,0 @@ -############################# -# MANDALA REALM CONTRACTS -############################# -mandala_realm_contract_0001 = { # Visit a province in your realm - group = mandala_realm_group - icon = "gfx/interface/icons/government_types/mandala_government.dds" - use_diplomatic_range = no - travel = no - - valid_to_create = { mandala_task_contract_valid_to_create_trigger = yes } - - valid_to_accept = { - num_taken_task_contracts < 1 - government_has_flag = government_is_mandala - is_available = yes - } - - valid_to_continue = { - save_temporary_scope_as = task_contract - task_contract_taker = { - mandala_task_contract_valid_to_continue_trigger = yes - trigger_if = { - limit = { - any_character_active_contract = { this = scope:task_contract } - } - current_travel_plan ?= { - OR = { - any_future_path_location = { this = scope:task_contract.task_contract_location } - any_visited_location = { this = scope:task_contract.task_contract_location } - } - } - } - } - } - - valid_to_keep = { - save_temporary_scope_as = task_contract - task_contract_taker = { - mandala_task_contract_valid_to_keep_trigger = yes - trigger_if = { - limit = { - any_character_active_contract = { this = scope:task_contract } - } - current_travel_plan ?= { - OR = { - any_future_path_location = { this = scope:task_contract.task_contract_location } - any_visited_location = { this = scope:task_contract.task_contract_location } - } - } - } - } - } - - on_create = { - scope:contract = { - mandala_set_ritual_variables_effect = yes - choose_address_mandala_effect = yes - #Generate the loc for title + desc - random_list = { - 1 = { - set_variable = { - name = loc_desc - value = flag:mandala_provincial_ritual_desc_01 - } - } - 1 = { - set_variable = { - name = loc_desc - value = flag:mandala_provincial_ritual_desc_02 - } - } - } - } - } - - on_accepted = { - save_scope_as = task_contract - task_contract_taker = { - play_sound_effect = "event:/DLC/EP3/SFX/UI/Contracts/ep3_ui_contracts_accept_contract" - mandala_travel_to_contract_location_effect = { - DESTINATION = scope:task_contract.task_contract_location - ARRIVAL_EVENT = tgp_east_asia_mandala_task_contract_events.1000 - } - } - } - - on_completed = { - mandala_contract_clean_up_location_effect = yes - } - - on_invalidated = { - mandala_contract_clean_up_location_effect = yes - } - - task_contract_reward = { - common_mandala = { - effect = { - custom_tooltip = mandala_generic_reward_tt - } - } - failure_standard = { - visible = no - effect = { - task_contract_taker = { mandala_contract_failure_standard_reward_effect = yes } - } - } - } -} - -mandala_realm_contract_0002 = { # Barren Cattle - group = mandala_realm_group - icon = "gfx/interface/icons/government_types/mandala_government.dds" - use_diplomatic_range = no - travel = no - - valid_to_create = { mandala_task_contract_valid_to_create_trigger = yes } - - valid_to_accept = { - num_taken_task_contracts < 1 - government_has_flag = government_is_mandala - is_available = yes - } - - valid_to_continue = { - save_temporary_scope_as = task_contract - task_contract_taker = { - mandala_task_contract_valid_to_continue_trigger = yes - trigger_if = { - limit = { - any_character_active_contract = { this = scope:task_contract } - } - current_travel_plan ?= { - OR = { - any_future_path_location = { this = scope:task_contract.task_contract_location } - any_visited_location = { this = scope:task_contract.task_contract_location } - } - } - } - } - } - - valid_to_keep = { - save_temporary_scope_as = task_contract - task_contract_taker = { - mandala_task_contract_valid_to_keep_trigger = yes - trigger_if = { - limit = { - any_character_active_contract = { this = scope:task_contract } - } - current_travel_plan ?= { - OR = { - any_future_path_location = { this = scope:task_contract.task_contract_location } - any_visited_location = { this = scope:task_contract.task_contract_location } - } - } - } - } - } - - on_create = { - scope:contract = { - mandala_set_ritual_variables_effect = yes - choose_address_mandala_effect = yes - } - } - - on_accepted = { - save_scope_as = task_contract - task_contract_taker = { - play_sound_effect = "event:/DLC/EP3/SFX/UI/Contracts/ep3_ui_contracts_accept_contract" - mandala_travel_to_contract_location_effect = { - DESTINATION = scope:task_contract.task_contract_location - ARRIVAL_EVENT = tgp_east_asia_mandala_task_contract_events.1100 - } - } - } - - on_completed = { - mandala_contract_clean_up_location_effect = yes - } - - on_invalidated = { - mandala_contract_clean_up_location_effect = yes - } - - task_contract_reward = { - common_mandala = { - effect = { - custom_tooltip = mandala_generic_reward_tt - } - } - failure_standard = { - visible = no - effect = { - task_contract_taker = { mandala_contract_failure_standard_reward_effect = yes } - } - } - } -} - -mandala_realm_contract_0003 = { # The First Seed - group = mandala_realm_group - icon = "gfx/interface/icons/government_types/mandala_government.dds" - use_diplomatic_range = no - travel = no - - valid_to_create = { mandala_task_contract_valid_to_create_trigger = yes } - - valid_to_accept = { - num_taken_task_contracts < 1 - government_has_flag = government_is_mandala - is_available = yes - } - - valid_to_continue = { - save_temporary_scope_as = task_contract - task_contract_taker = { - mandala_task_contract_valid_to_continue_trigger = yes - trigger_if = { - limit = { - any_character_active_contract = { this = scope:task_contract } - } - current_travel_plan ?= { - OR = { - any_future_path_location = { this = scope:task_contract.task_contract_location } - any_visited_location = { this = scope:task_contract.task_contract_location } - } - } - } - } - } - - valid_to_keep = { - save_temporary_scope_as = task_contract - task_contract_taker = { - mandala_task_contract_valid_to_keep_trigger = yes - trigger_if = { - limit = { - any_character_active_contract = { this = scope:task_contract } - } - current_travel_plan ?= { - OR = { - any_future_path_location = { this = scope:task_contract.task_contract_location } - any_visited_location = { this = scope:task_contract.task_contract_location } - } - } - } - } - } - - on_create = { - scope:contract = { - mandala_set_ritual_variables_effect = yes - choose_address_mandala_effect = yes - } - } - - on_accepted = { - save_scope_as = task_contract - task_contract_taker = { - play_sound_effect = "event:/DLC/EP3/SFX/UI/Contracts/ep3_ui_contracts_accept_contract" - mandala_travel_to_contract_location_effect = { - DESTINATION = scope:task_contract.task_contract_location - ARRIVAL_EVENT = tgp_east_asia_mandala_task_contract_events.1200 - } - } - } - - on_completed = { - mandala_contract_clean_up_location_effect = yes - } - - on_invalidated = { - mandala_contract_clean_up_location_effect = yes - } - - task_contract_reward = { - common_mandala = { - effect = { - custom_tooltip = mandala_generic_reward_tt - } - } - failure_standard = { - visible = no - effect = { - task_contract_taker = { mandala_contract_failure_standard_reward_effect = yes } - } - } - } -} - -mandala_realm_contract_0004 = { # Sacred Heifer - group = mandala_realm_group - icon = "gfx/interface/icons/government_types/mandala_government.dds" - use_diplomatic_range = no - travel = no - - valid_to_create = { mandala_task_contract_valid_to_create_trigger = yes } - - valid_to_accept = { - num_taken_task_contracts < 1 - government_has_flag = government_is_mandala - is_available = yes - } - - valid_to_continue = { - save_temporary_scope_as = task_contract - task_contract_taker = { - mandala_task_contract_valid_to_continue_trigger = yes - trigger_if = { - limit = { - any_character_active_contract = { this = scope:task_contract } - } - current_travel_plan ?= { - OR = { - any_future_path_location = { this = scope:task_contract.task_contract_location } - any_visited_location = { this = scope:task_contract.task_contract_location } - } - } - } - } - } - - valid_to_keep = { - save_temporary_scope_as = task_contract - task_contract_taker = { - mandala_task_contract_valid_to_keep_trigger = yes - trigger_if = { - limit = { - any_character_active_contract = { this = scope:task_contract } - } - current_travel_plan ?= { - OR = { - any_future_path_location = { this = scope:task_contract.task_contract_location } - any_visited_location = { this = scope:task_contract.task_contract_location } - } - } - } - } - } - - on_create = { - scope:contract = { - mandala_set_ritual_variables_effect = yes - choose_address_mandala_effect = yes - } - } - - on_accepted = { - save_scope_as = task_contract - task_contract_taker = { - play_sound_effect = "event:/DLC/EP3/SFX/UI/Contracts/ep3_ui_contracts_accept_contract" - mandala_travel_to_contract_location_effect = { - DESTINATION = scope:task_contract.task_contract_location - ARRIVAL_EVENT = tgp_east_asia_mandala_task_contract_events.1300 - } - } - } - - on_completed = { - mandala_contract_clean_up_location_effect = yes - } - - on_invalidated = { - mandala_contract_clean_up_location_effect = yes - } - - task_contract_reward = { - common_mandala = { - effect = { - custom_tooltip = mandala_generic_reward_tt - } - } - failure_standard = { - visible = no - effect = { - task_contract_taker = { mandala_contract_failure_standard_reward_effect = yes } - } - } - } -} - -mandala_realm_contract_0005 = { # Divine Witness - group = mandala_realm_group - icon = "gfx/interface/icons/government_types/mandala_government.dds" - use_diplomatic_range = no - travel = no - - valid_to_create = { mandala_task_contract_valid_to_create_trigger = yes } - - valid_to_accept = { - num_taken_task_contracts < 1 - government_has_flag = government_is_mandala - is_available = yes - } - - valid_to_continue = { - save_temporary_scope_as = task_contract - task_contract_taker = { - mandala_task_contract_valid_to_continue_trigger = yes - trigger_if = { - limit = { - any_character_active_contract = { this = scope:task_contract } - } - current_travel_plan ?= { - OR = { - any_future_path_location = { this = scope:task_contract.task_contract_location } - any_visited_location = { this = scope:task_contract.task_contract_location } - } - } - } - } - } - - valid_to_keep = { - save_temporary_scope_as = task_contract - task_contract_taker = { - mandala_task_contract_valid_to_keep_trigger = yes - trigger_if = { - limit = { - any_character_active_contract = { this = scope:task_contract } - } - current_travel_plan ?= { - OR = { - any_future_path_location = { this = scope:task_contract.task_contract_location } - any_visited_location = { this = scope:task_contract.task_contract_location } - } - } - } - } - } - - on_create = { - scope:contract = { - mandala_set_ritual_variables_effect = yes - choose_address_mandala_effect = yes - } - } - - on_accepted = { - save_scope_as = task_contract - task_contract_taker = { - play_sound_effect = "event:/DLC/EP3/SFX/UI/Contracts/ep3_ui_contracts_accept_contract" - mandala_travel_to_contract_location_effect = { - DESTINATION = scope:task_contract.task_contract_location - ARRIVAL_EVENT = tgp_east_asia_mandala_task_contract_events.1400 - } - } - } - - on_completed = { - mandala_contract_clean_up_location_effect = yes - } - - on_invalidated = { - mandala_contract_clean_up_location_effect = yes - } - - task_contract_reward = { - common_mandala = { - effect = { - custom_tooltip = mandala_generic_reward_tt - } - } - failure_standard = { - visible = no - effect = { - task_contract_taker = { mandala_contract_failure_standard_reward_effect = yes } - } - } - } -} - -mandala_realm_contract_0006 = { # Midwives' Dream - group = mandala_realm_group - icon = "gfx/interface/icons/government_types/mandala_government.dds" - use_diplomatic_range = no - travel = no - - valid_to_create = { mandala_task_contract_valid_to_create_trigger = yes } - - valid_to_accept = { - num_taken_task_contracts < 1 - government_has_flag = government_is_mandala - is_available = yes - } - - valid_to_continue = { - save_temporary_scope_as = task_contract - task_contract_taker = { - mandala_task_contract_valid_to_continue_trigger = yes - trigger_if = { - limit = { - any_character_active_contract = { this = scope:task_contract } - } - current_travel_plan ?= { - OR = { - any_future_path_location = { this = scope:task_contract.task_contract_location } - any_visited_location = { this = scope:task_contract.task_contract_location } - } - } - } - } - } - - valid_to_keep = { - save_temporary_scope_as = task_contract - task_contract_taker = { - mandala_task_contract_valid_to_keep_trigger = yes - trigger_if = { - limit = { - any_character_active_contract = { this = scope:task_contract } - } - current_travel_plan ?= { - OR = { - any_future_path_location = { this = scope:task_contract.task_contract_location } - any_visited_location = { this = scope:task_contract.task_contract_location } - } - } - } - } - } - - on_create = { - scope:contract = { - mandala_set_ritual_variables_effect = yes - choose_address_mandala_effect = yes - } - } - - on_accepted = { - save_scope_as = task_contract - task_contract_taker = { - play_sound_effect = "event:/DLC/EP3/SFX/UI/Contracts/ep3_ui_contracts_accept_contract" - mandala_travel_to_contract_location_effect = { - DESTINATION = scope:task_contract.task_contract_location - ARRIVAL_EVENT = tgp_east_asia_mandala_task_contract_events.1500 - } - } - } - - on_completed = { - mandala_contract_clean_up_location_effect = yes - } - - on_invalidated = { - mandala_contract_clean_up_location_effect = yes - } - - task_contract_reward = { - common_mandala = { - effect = { - custom_tooltip = mandala_generic_reward_tt - } - } - failure_standard = { - visible = no - effect = { - task_contract_taker = { mandala_contract_failure_standard_reward_effect = yes } - } - } - } -} - -mandala_realm_contract_0007 = { # Weeping Statue - group = mandala_realm_group - icon = "gfx/interface/icons/government_types/mandala_government.dds" - use_diplomatic_range = no - travel = no - - valid_to_create = { mandala_task_contract_valid_to_create_trigger = yes } - - valid_to_accept = { - num_taken_task_contracts < 1 - government_has_flag = government_is_mandala - is_available = yes - } - - valid_to_continue = { - save_temporary_scope_as = task_contract - task_contract_taker = { - mandala_task_contract_valid_to_continue_trigger = yes - trigger_if = { - limit = { - any_character_active_contract = { this = scope:task_contract } - } - current_travel_plan ?= { - OR = { - any_future_path_location = { this = scope:task_contract.task_contract_location } - any_visited_location = { this = scope:task_contract.task_contract_location } - } - } - } - } - } - - valid_to_keep = { - save_temporary_scope_as = task_contract - task_contract_taker = { - mandala_task_contract_valid_to_keep_trigger = yes - trigger_if = { - limit = { - any_character_active_contract = { this = scope:task_contract } - } - current_travel_plan ?= { - OR = { - any_future_path_location = { this = scope:task_contract.task_contract_location } - any_visited_location = { this = scope:task_contract.task_contract_location } - } - } - } - } - } - - on_create = { - scope:contract = { - mandala_set_ritual_variables_effect = yes - choose_address_mandala_effect = yes - } - } - - on_accepted = { - save_scope_as = task_contract - task_contract_taker = { - play_sound_effect = "event:/DLC/EP3/SFX/UI/Contracts/ep3_ui_contracts_accept_contract" - mandala_travel_to_contract_location_effect = { - DESTINATION = scope:task_contract.task_contract_location - ARRIVAL_EVENT = tgp_east_asia_mandala_task_contract_events.1600 - } - } - } - - on_completed = { - mandala_contract_clean_up_location_effect = yes - } - - on_invalidated = { - mandala_contract_clean_up_location_effect = yes - } - - task_contract_reward = { - common_mandala = { - effect = { - custom_tooltip = mandala_generic_reward_tt - } - } - failure_standard = { - visible = no - effect = { - task_contract_taker = { mandala_contract_failure_standard_reward_effect = yes } - } - } - } -} - -mandala_realm_contract_0008 = { # Sprouting Flowers - group = mandala_realm_group - icon = "gfx/interface/icons/government_types/mandala_government.dds" - use_diplomatic_range = no - travel = no - - valid_to_create = { mandala_task_contract_valid_to_create_trigger = yes } - - valid_to_accept = { - num_taken_task_contracts < 1 - government_has_flag = government_is_mandala - is_available = yes - } - - valid_to_continue = { - save_temporary_scope_as = task_contract - task_contract_taker = { - mandala_task_contract_valid_to_continue_trigger = yes - trigger_if = { - limit = { - any_character_active_contract = { this = scope:task_contract } - } - current_travel_plan ?= { - OR = { - any_future_path_location = { this = scope:task_contract.task_contract_location } - any_visited_location = { this = scope:task_contract.task_contract_location } - } - } - } - } - } - - valid_to_keep = { - save_temporary_scope_as = task_contract - task_contract_taker = { - mandala_task_contract_valid_to_keep_trigger = yes - trigger_if = { - limit = { - any_character_active_contract = { this = scope:task_contract } - } - current_travel_plan ?= { - OR = { - any_future_path_location = { this = scope:task_contract.task_contract_location } - any_visited_location = { this = scope:task_contract.task_contract_location } - } - } - } - } - } - - on_create = { - scope:contract = { - mandala_set_ritual_variables_effect = yes - choose_address_mandala_effect = yes - } - } - - on_accepted = { - save_scope_as = task_contract - task_contract_taker = { - play_sound_effect = "event:/DLC/EP3/SFX/UI/Contracts/ep3_ui_contracts_accept_contract" - mandala_travel_to_contract_location_effect = { - DESTINATION = scope:task_contract.task_contract_location - ARRIVAL_EVENT = tgp_east_asia_mandala_task_contract_events.1700 - } - } - } - - on_completed = { - mandala_contract_clean_up_location_effect = yes - } - - on_invalidated = { - mandala_contract_clean_up_location_effect = yes - } - - task_contract_reward = { - common_mandala = { - effect = { - custom_tooltip = mandala_generic_reward_tt - } - } - failure_standard = { - visible = no - effect = { - task_contract_taker = { mandala_contract_failure_standard_reward_effect = yes } - } - } - } -} - -mandala_realm_contract_0009 = { # River Ritual - group = mandala_realm_group - icon = "gfx/interface/icons/government_types/mandala_government.dds" - use_diplomatic_range = no - travel = no - - valid_to_create = { mandala_task_contract_valid_to_create_trigger = yes } - - valid_to_accept = { - num_taken_task_contracts < 1 - government_has_flag = government_is_mandala - is_available = yes - } - - valid_to_continue = { - save_temporary_scope_as = task_contract - task_contract_taker = { - mandala_task_contract_valid_to_continue_trigger = yes - trigger_if = { - limit = { - any_character_active_contract = { this = scope:task_contract } - } - current_travel_plan ?= { - OR = { - any_future_path_location = { this = scope:task_contract.task_contract_location } - any_visited_location = { this = scope:task_contract.task_contract_location } - } - } - } - } - } - - valid_to_keep = { - save_temporary_scope_as = task_contract - task_contract_taker = { - mandala_task_contract_valid_to_keep_trigger = yes - trigger_if = { - limit = { - any_character_active_contract = { this = scope:task_contract } - } - current_travel_plan ?= { - OR = { - any_future_path_location = { this = scope:task_contract.task_contract_location } - any_visited_location = { this = scope:task_contract.task_contract_location } - } - } - } - } - } - - on_create = { - scope:contract = { - mandala_set_ritual_variables_effect = yes - choose_address_mandala_effect = yes - } - } - - on_accepted = { - save_scope_as = task_contract - task_contract_taker = { - play_sound_effect = "event:/DLC/EP3/SFX/UI/Contracts/ep3_ui_contracts_accept_contract" - mandala_travel_to_contract_location_effect = { - DESTINATION = scope:task_contract.task_contract_location - ARRIVAL_EVENT = tgp_east_asia_mandala_task_contract_events.1800 - } - } - } - - on_completed = { - mandala_contract_clean_up_location_effect = yes - } - - on_invalidated = { - mandala_contract_clean_up_location_effect = yes - } - - task_contract_reward = { - common_mandala = { - effect = { - custom_tooltip = mandala_generic_reward_tt - } - } - failure_standard = { - visible = no - effect = { - task_contract_taker = { mandala_contract_failure_standard_reward_effect = yes } - } - } - } -} - -mandala_realm_contract_0010 = { # Cursed Fields - group = mandala_realm_group - icon = "gfx/interface/icons/government_types/mandala_government.dds" - use_diplomatic_range = no - travel = no - - valid_to_create = { mandala_task_contract_valid_to_create_trigger = yes } - - valid_to_accept = { - num_taken_task_contracts < 1 - government_has_flag = government_is_mandala - is_available = yes - } - - valid_to_continue = { - save_temporary_scope_as = task_contract - task_contract_taker = { - mandala_task_contract_valid_to_continue_trigger = yes - trigger_if = { - limit = { - any_character_active_contract = { this = scope:task_contract } - } - current_travel_plan ?= { - OR = { - any_future_path_location = { this = scope:task_contract.task_contract_location } - any_visited_location = { this = scope:task_contract.task_contract_location } - } - } - } - } - } - - valid_to_keep = { - save_temporary_scope_as = task_contract - task_contract_taker = { - mandala_task_contract_valid_to_keep_trigger = yes - trigger_if = { - limit = { - any_character_active_contract = { this = scope:task_contract } - } - current_travel_plan ?= { - OR = { - any_future_path_location = { this = scope:task_contract.task_contract_location } - any_visited_location = { this = scope:task_contract.task_contract_location } - } - } - } - } - } - - on_create = { - scope:contract = { - mandala_set_ritual_variables_effect = yes - choose_address_mandala_effect = yes - } - } - - on_accepted = { - save_scope_as = task_contract - task_contract_taker = { - play_sound_effect = "event:/DLC/EP3/SFX/UI/Contracts/ep3_ui_contracts_accept_contract" - mandala_travel_to_contract_location_effect = { - DESTINATION = scope:task_contract.task_contract_location - ARRIVAL_EVENT = tgp_east_asia_mandala_task_contract_events.1900 - } - } - } - - on_completed = { - mandala_contract_clean_up_location_effect = yes - } - - on_invalidated = { - mandala_contract_clean_up_location_effect = yes - } - - task_contract_reward = { - common_mandala = { - effect = { - custom_tooltip = mandala_generic_reward_tt - } - } - failure_standard = { - visible = no - effect = { - task_contract_taker = { mandala_contract_failure_standard_reward_effect = yes } - } - } - } -} - -mandala_realm_contract_0011 = { # Withered Grove - group = mandala_realm_group - icon = "gfx/interface/icons/government_types/mandala_government.dds" - use_diplomatic_range = no - travel = no - - valid_to_create = { mandala_task_contract_valid_to_create_trigger = yes } - - valid_to_accept = { - num_taken_task_contracts < 1 - government_has_flag = government_is_mandala - is_available = yes - } - - valid_to_continue = { - save_temporary_scope_as = task_contract - task_contract_taker = { - mandala_task_contract_valid_to_continue_trigger = yes - trigger_if = { - limit = { - any_character_active_contract = { this = scope:task_contract } - } - current_travel_plan ?= { - OR = { - any_future_path_location = { this = scope:task_contract.task_contract_location } - any_visited_location = { this = scope:task_contract.task_contract_location } - } - } - } - } - } - - valid_to_keep = { - save_temporary_scope_as = task_contract - task_contract_taker = { - mandala_task_contract_valid_to_keep_trigger = yes - trigger_if = { - limit = { - any_character_active_contract = { this = scope:task_contract } - } - current_travel_plan ?= { - OR = { - any_future_path_location = { this = scope:task_contract.task_contract_location } - any_visited_location = { this = scope:task_contract.task_contract_location } - } - } - } - } - } - - on_create = { - scope:contract = { - mandala_set_ritual_variables_effect = yes - choose_address_mandala_effect = yes - } - } - - on_accepted = { - save_scope_as = task_contract - task_contract_taker = { - play_sound_effect = "event:/DLC/EP3/SFX/UI/Contracts/ep3_ui_contracts_accept_contract" - mandala_travel_to_contract_location_effect = { - DESTINATION = scope:task_contract.task_contract_location - ARRIVAL_EVENT = tgp_east_asia_mandala_task_contract_events.2000 - } - } - } - - on_completed = { - mandala_contract_clean_up_location_effect = yes - } - - on_invalidated = { - mandala_contract_clean_up_location_effect = yes - } - - task_contract_reward = { - common_mandala = { - effect = { - custom_tooltip = mandala_generic_reward_tt - } - } - failure_standard = { - visible = no - effect = { - task_contract_taker = { mandala_contract_failure_standard_reward_effect = yes } - } - } - } -} - -mandala_realm_contract_0012 = { # Pig Slaughter Oath - group = mandala_realm_group - icon = "gfx/interface/icons/government_types/mandala_government.dds" - use_diplomatic_range = no - travel = no - - valid_to_create = { mandala_task_contract_valid_to_create_trigger = yes } - - valid_to_accept = { - num_taken_task_contracts < 1 - government_has_flag = government_is_mandala - is_available = yes - } - - valid_to_continue = { - save_temporary_scope_as = task_contract - task_contract_taker = { - mandala_task_contract_valid_to_continue_trigger = yes - trigger_if = { - limit = { - any_character_active_contract = { this = scope:task_contract } - } - current_travel_plan ?= { - OR = { - any_future_path_location = { this = scope:task_contract.task_contract_location } - any_visited_location = { this = scope:task_contract.task_contract_location } - } - } - } - } - } - - valid_to_keep = { - save_temporary_scope_as = task_contract - task_contract_taker = { - mandala_task_contract_valid_to_keep_trigger = yes - trigger_if = { - limit = { - any_character_active_contract = { this = scope:task_contract } - } - current_travel_plan ?= { - OR = { - any_future_path_location = { this = scope:task_contract.task_contract_location } - any_visited_location = { this = scope:task_contract.task_contract_location } - } - } - } - } - } - - on_create = { - scope:contract = { - mandala_set_ritual_variables_effect = yes - choose_address_mandala_effect = yes - } - } - - on_accepted = { - save_scope_as = task_contract - task_contract_taker = { - play_sound_effect = "event:/DLC/EP3/SFX/UI/Contracts/ep3_ui_contracts_accept_contract" - mandala_travel_to_contract_location_effect = { - DESTINATION = scope:task_contract.task_contract_location - ARRIVAL_EVENT = tgp_east_asia_mandala_task_contract_events.2100 - } - } - } - - on_completed = { - mandala_contract_clean_up_location_effect = yes - } - - on_invalidated = { - mandala_contract_clean_up_location_effect = yes - } - - task_contract_reward = { - common_mandala = { - effect = { - custom_tooltip = mandala_generic_reward_tt - } - } - failure_standard = { - visible = no - effect = { - task_contract_taker = { mandala_contract_failure_standard_reward_effect = yes } - } - } - } -} - -mandala_realm_contract_0013 = { # Ritual Wrath - group = mandala_realm_group - icon = "gfx/interface/icons/government_types/mandala_government.dds" - use_diplomatic_range = no - travel = no - - valid_to_create = { mandala_task_contract_valid_to_create_trigger = yes } - - valid_to_accept = { - num_taken_task_contracts < 1 - government_has_flag = government_is_mandala - is_available = yes - } - - valid_to_continue = { - save_temporary_scope_as = task_contract - task_contract_taker = { - mandala_task_contract_valid_to_continue_trigger = yes - trigger_if = { - limit = { - any_character_active_contract = { this = scope:task_contract } - } - current_travel_plan ?= { - OR = { - any_future_path_location = { this = scope:task_contract.task_contract_location } - any_visited_location = { this = scope:task_contract.task_contract_location } - } - } - } - } - } - - valid_to_keep = { - save_temporary_scope_as = task_contract - task_contract_taker = { - mandala_task_contract_valid_to_keep_trigger = yes - trigger_if = { - limit = { - any_character_active_contract = { this = scope:task_contract } - } - current_travel_plan ?= { - OR = { - any_future_path_location = { this = scope:task_contract.task_contract_location } - any_visited_location = { this = scope:task_contract.task_contract_location } - } - } - } - } - } - - on_create = { - scope:contract = { - mandala_set_ritual_variables_effect = yes - choose_address_mandala_effect = yes - } - } - - on_accepted = { - save_scope_as = task_contract - task_contract_taker = { - play_sound_effect = "event:/DLC/EP3/SFX/UI/Contracts/ep3_ui_contracts_accept_contract" - mandala_travel_to_contract_location_effect = { - DESTINATION = scope:task_contract.task_contract_location - ARRIVAL_EVENT = tgp_east_asia_mandala_task_contract_events.2200 - } - } - } - - on_completed = { - mandala_contract_clean_up_location_effect = yes - } - - on_invalidated = { - mandala_contract_clean_up_location_effect = yes - } - - task_contract_reward = { - common_mandala = { - effect = { - custom_tooltip = mandala_generic_reward_tt - } - } - failure_standard = { - visible = no - effect = { - task_contract_taker = { mandala_contract_failure_standard_reward_effect = yes } - } - } - } -} - -mandala_realm_contract_0014 = { # Collective Punishment - group = mandala_realm_group - icon = "gfx/interface/icons/government_types/mandala_government.dds" - use_diplomatic_range = no - travel = no - - valid_to_create = { mandala_task_contract_valid_to_create_trigger = yes } - - valid_to_accept = { - num_taken_task_contracts < 1 - government_has_flag = government_is_mandala - is_available = yes - } - - valid_to_continue = { - save_temporary_scope_as = task_contract - task_contract_taker = { - mandala_task_contract_valid_to_continue_trigger = yes - trigger_if = { - limit = { - any_character_active_contract = { this = scope:task_contract } - } - current_travel_plan ?= { - OR = { - any_future_path_location = { this = scope:task_contract.task_contract_location } - any_visited_location = { this = scope:task_contract.task_contract_location } - } - } - } - } - } - - valid_to_keep = { - save_temporary_scope_as = task_contract - task_contract_taker = { - mandala_task_contract_valid_to_keep_trigger = yes - trigger_if = { - limit = { - any_character_active_contract = { this = scope:task_contract } - } - current_travel_plan ?= { - OR = { - any_future_path_location = { this = scope:task_contract.task_contract_location } - any_visited_location = { this = scope:task_contract.task_contract_location } - } - } - } - } - } - - on_create = { - scope:contract = { - mandala_set_ritual_variables_effect = yes - choose_address_mandala_effect = yes - } - } - - on_accepted = { - save_scope_as = task_contract - task_contract_taker = { - play_sound_effect = "event:/DLC/EP3/SFX/UI/Contracts/ep3_ui_contracts_accept_contract" - mandala_travel_to_contract_location_effect = { - DESTINATION = scope:task_contract.task_contract_location - ARRIVAL_EVENT = tgp_east_asia_mandala_task_contract_events.2300 - } - } - } - - on_completed = { - mandala_contract_clean_up_location_effect = yes - } - - on_invalidated = { - mandala_contract_clean_up_location_effect = yes - } - - task_contract_reward = { - common_mandala = { - effect = { - custom_tooltip = mandala_generic_reward_tt - } - } - failure_standard = { - visible = no - effect = { - task_contract_taker = { mandala_contract_failure_standard_reward_effect = yes } - } - } - } -} - -mandala_realm_contract_0015 = { # Diseased Spirits - group = mandala_realm_group - icon = "gfx/interface/icons/government_types/mandala_government.dds" - use_diplomatic_range = no - travel = no - - valid_to_create = { mandala_task_contract_valid_to_create_trigger = yes } - - valid_to_accept = { - num_taken_task_contracts < 1 - government_has_flag = government_is_mandala - is_available = yes - } - - valid_to_continue = { - save_temporary_scope_as = task_contract - task_contract_taker = { - mandala_task_contract_valid_to_continue_trigger = yes - trigger_if = { - limit = { - any_character_active_contract = { this = scope:task_contract } - } - current_travel_plan ?= { - OR = { - any_future_path_location = { this = scope:task_contract.task_contract_location } - any_visited_location = { this = scope:task_contract.task_contract_location } - } - } - } - } - } - - valid_to_keep = { - save_temporary_scope_as = task_contract - task_contract_taker = { - mandala_task_contract_valid_to_keep_trigger = yes - trigger_if = { - limit = { - any_character_active_contract = { this = scope:task_contract } - } - current_travel_plan ?= { - OR = { - any_future_path_location = { this = scope:task_contract.task_contract_location } - any_visited_location = { this = scope:task_contract.task_contract_location } - } - } - } - } - } - - on_create = { - scope:contract = { - mandala_set_ritual_variables_effect = yes - choose_address_mandala_effect = yes - } - } - - on_accepted = { - save_scope_as = task_contract - task_contract_taker = { - play_sound_effect = "event:/DLC/EP3/SFX/UI/Contracts/ep3_ui_contracts_accept_contract" - mandala_travel_to_contract_location_effect = { - DESTINATION = scope:task_contract.task_contract_location - ARRIVAL_EVENT = tgp_east_asia_mandala_task_contract_events.2400 - } - } - } - - on_completed = { - mandala_contract_clean_up_location_effect = yes - } - - on_invalidated = { - mandala_contract_clean_up_location_effect = yes - } - - task_contract_reward = { - common_mandala = { - effect = { - custom_tooltip = mandala_generic_reward_tt - } - } - failure_standard = { - visible = no - effect = { - task_contract_taker = { mandala_contract_failure_standard_reward_effect = yes } - } - } - } -} - -mandala_realm_contract_0016 = { # Dull Spears - group = mandala_realm_group - icon = "gfx/interface/icons/government_types/mandala_government.dds" - use_diplomatic_range = no - travel = no - - valid_to_create = { mandala_task_contract_valid_to_create_trigger = yes } - - valid_to_accept = { - num_taken_task_contracts < 1 - government_has_flag = government_is_mandala - is_available = yes - } - - valid_to_continue = { - save_temporary_scope_as = task_contract - task_contract_taker = { - mandala_task_contract_valid_to_continue_trigger = yes - trigger_if = { - limit = { - any_character_active_contract = { this = scope:task_contract } - } - current_travel_plan ?= { - OR = { - any_future_path_location = { this = scope:task_contract.task_contract_location } - any_visited_location = { this = scope:task_contract.task_contract_location } - } - } - } - } - } - - valid_to_keep = { - save_temporary_scope_as = task_contract - task_contract_taker = { - mandala_task_contract_valid_to_keep_trigger = yes - trigger_if = { - limit = { - any_character_active_contract = { this = scope:task_contract } - } - current_travel_plan ?= { - OR = { - any_future_path_location = { this = scope:task_contract.task_contract_location } - any_visited_location = { this = scope:task_contract.task_contract_location } - } - } - } - } - } - - on_create = { - scope:contract = { - mandala_set_ritual_variables_effect = yes - choose_address_mandala_effect = yes - } - } - - on_accepted = { - save_scope_as = task_contract - task_contract_taker = { - play_sound_effect = "event:/DLC/EP3/SFX/UI/Contracts/ep3_ui_contracts_accept_contract" - mandala_travel_to_contract_location_effect = { - DESTINATION = scope:task_contract.task_contract_location - ARRIVAL_EVENT = tgp_east_asia_mandala_task_contract_events.2500 - } - } - } - - on_completed = { - mandala_contract_clean_up_location_effect = yes - } - - on_invalidated = { - mandala_contract_clean_up_location_effect = yes - } - - task_contract_reward = { - common_mandala = { - effect = { - custom_tooltip = mandala_generic_reward_tt - } - } - failure_standard = { - visible = no - effect = { - task_contract_taker = { mandala_contract_failure_standard_reward_effect = yes } - } - } - } -} - -mandala_realm_contract_0017 = { # Defiant Village - group = mandala_realm_group - icon = "gfx/interface/icons/government_types/mandala_government.dds" - use_diplomatic_range = no - travel = no - - valid_to_create = { mandala_task_contract_valid_to_create_trigger = yes } - - valid_to_accept = { - num_taken_task_contracts < 1 - government_has_flag = government_is_mandala - is_available = yes - } - - valid_to_continue = { - save_temporary_scope_as = task_contract - task_contract_taker = { - mandala_task_contract_valid_to_continue_trigger = yes - trigger_if = { - limit = { - any_character_active_contract = { this = scope:task_contract } - } - current_travel_plan ?= { - OR = { - any_future_path_location = { this = scope:task_contract.task_contract_location } - any_visited_location = { this = scope:task_contract.task_contract_location } - } - } - } - } - } - - valid_to_keep = { - save_temporary_scope_as = task_contract - task_contract_taker = { - mandala_task_contract_valid_to_keep_trigger = yes - trigger_if = { - limit = { - any_character_active_contract = { this = scope:task_contract } - } - current_travel_plan ?= { - OR = { - any_future_path_location = { this = scope:task_contract.task_contract_location } - any_visited_location = { this = scope:task_contract.task_contract_location } - } - } - } - } - } - - on_create = { - scope:contract = { - mandala_set_ritual_variables_effect = yes - choose_address_mandala_effect = yes - } - } - - on_accepted = { - save_scope_as = task_contract - task_contract_taker = { - play_sound_effect = "event:/DLC/EP3/SFX/UI/Contracts/ep3_ui_contracts_accept_contract" - mandala_travel_to_contract_location_effect = { - DESTINATION = scope:task_contract.task_contract_location - ARRIVAL_EVENT = tgp_east_asia_mandala_task_contract_events.2600 - } - } - } - - on_completed = { - mandala_contract_clean_up_location_effect = yes - } - - on_invalidated = { - mandala_contract_clean_up_location_effect = yes - } - - task_contract_reward = { - common_mandala = { - effect = { - custom_tooltip = mandala_generic_reward_tt - } - } - failure_standard = { - visible = no - effect = { - task_contract_taker = { mandala_contract_failure_standard_reward_effect = yes } - } - } - } -} - -mandala_realm_contract_0018 = { # Blood Tax - group = mandala_realm_group - icon = "gfx/interface/icons/government_types/mandala_government.dds" - use_diplomatic_range = no - travel = no - - valid_to_create = { mandala_task_contract_valid_to_create_trigger = yes } - - valid_to_accept = { - num_taken_task_contracts < 1 - government_has_flag = government_is_mandala - is_available = yes - } - - valid_to_continue = { - save_temporary_scope_as = task_contract - task_contract_taker = { - mandala_task_contract_valid_to_continue_trigger = yes - trigger_if = { - limit = { - any_character_active_contract = { this = scope:task_contract } - } - current_travel_plan ?= { - OR = { - any_future_path_location = { this = scope:task_contract.task_contract_location } - any_visited_location = { this = scope:task_contract.task_contract_location } - } - } - } - } - } - - valid_to_keep = { - save_temporary_scope_as = task_contract - task_contract_taker = { - mandala_task_contract_valid_to_keep_trigger = yes - trigger_if = { - limit = { - any_character_active_contract = { this = scope:task_contract } - } - current_travel_plan ?= { - OR = { - any_future_path_location = { this = scope:task_contract.task_contract_location } - any_visited_location = { this = scope:task_contract.task_contract_location } - } - } - } - } - } - - on_create = { - scope:contract = { - mandala_set_ritual_variables_effect = yes - choose_address_mandala_effect = yes - } - } - - on_accepted = { - save_scope_as = task_contract - task_contract_taker = { - play_sound_effect = "event:/DLC/EP3/SFX/UI/Contracts/ep3_ui_contracts_accept_contract" - mandala_travel_to_contract_location_effect = { - DESTINATION = scope:task_contract.task_contract_location - ARRIVAL_EVENT = tgp_east_asia_mandala_task_contract_events.2700 - } - } - } - - on_completed = { - mandala_contract_clean_up_location_effect = yes - } - - on_invalidated = { - mandala_contract_clean_up_location_effect = yes - } - - task_contract_reward = { - common_mandala = { - effect = { - custom_tooltip = mandala_generic_reward_tt - } - } - failure_standard = { - visible = no - effect = { - task_contract_taker = { mandala_contract_failure_standard_reward_effect = yes } - } - } - } -} - -mandala_realm_contract_0019 = { # Bamboo Rebels - group = mandala_realm_group - icon = "gfx/interface/icons/government_types/mandala_government.dds" - use_diplomatic_range = no - travel = no - - valid_to_create = { mandala_task_contract_valid_to_create_trigger = yes } - - valid_to_accept = { - num_taken_task_contracts < 1 - government_has_flag = government_is_mandala - is_available = yes - } - - valid_to_continue = { - save_temporary_scope_as = task_contract - task_contract_taker = { - mandala_task_contract_valid_to_continue_trigger = yes - trigger_if = { - limit = { - any_character_active_contract = { this = scope:task_contract } - } - current_travel_plan ?= { - OR = { - any_future_path_location = { this = scope:task_contract.task_contract_location } - any_visited_location = { this = scope:task_contract.task_contract_location } - } - } - } - } - } - - valid_to_keep = { - save_temporary_scope_as = task_contract - task_contract_taker = { - mandala_task_contract_valid_to_keep_trigger = yes - trigger_if = { - limit = { - any_character_active_contract = { this = scope:task_contract } - } - current_travel_plan ?= { - OR = { - any_future_path_location = { this = scope:task_contract.task_contract_location } - any_visited_location = { this = scope:task_contract.task_contract_location } - } - } - } - } - } - - on_create = { - scope:contract = { - mandala_set_ritual_variables_effect = yes - choose_address_mandala_effect = yes - } - } - - on_accepted = { - save_scope_as = task_contract - task_contract_taker = { - play_sound_effect = "event:/DLC/EP3/SFX/UI/Contracts/ep3_ui_contracts_accept_contract" - mandala_travel_to_contract_location_effect = { - DESTINATION = scope:task_contract.task_contract_location - ARRIVAL_EVENT = tgp_east_asia_mandala_task_contract_events.2800 - } - } - } - - on_completed = { - mandala_contract_clean_up_location_effect = yes - } - - on_invalidated = { - mandala_contract_clean_up_location_effect = yes - } - - task_contract_reward = { - common_mandala = { - effect = { - custom_tooltip = mandala_generic_reward_tt - } - } - failure_standard = { - visible = no - effect = { - task_contract_taker = { mandala_contract_failure_standard_reward_effect = yes } - } - } - } -} - -mandala_realm_contract_0020 = { # Road Sacrifice - group = mandala_realm_group - icon = "gfx/interface/icons/government_types/mandala_government.dds" - use_diplomatic_range = no - travel = no - - valid_to_create = { mandala_task_contract_valid_to_create_trigger = yes } - - valid_to_accept = { - num_taken_task_contracts < 1 - government_has_flag = government_is_mandala - is_available = yes - } - - valid_to_continue = { - save_temporary_scope_as = task_contract - task_contract_taker = { - mandala_task_contract_valid_to_continue_trigger = yes - trigger_if = { - limit = { - any_character_active_contract = { this = scope:task_contract } - } - current_travel_plan ?= { - OR = { - any_future_path_location = { this = scope:task_contract.task_contract_location } - any_visited_location = { this = scope:task_contract.task_contract_location } - } - } - } - } - } - - valid_to_keep = { - save_temporary_scope_as = task_contract - task_contract_taker = { - mandala_task_contract_valid_to_keep_trigger = yes - trigger_if = { - limit = { - any_character_active_contract = { this = scope:task_contract } - } - current_travel_plan ?= { - OR = { - any_future_path_location = { this = scope:task_contract.task_contract_location } - any_visited_location = { this = scope:task_contract.task_contract_location } - } - } - } - } - } - - on_create = { - scope:contract = { - mandala_set_ritual_variables_effect = yes - choose_address_mandala_effect = yes - } - } - - on_accepted = { - save_scope_as = task_contract - task_contract_taker = { - play_sound_effect = "event:/DLC/EP3/SFX/UI/Contracts/ep3_ui_contracts_accept_contract" - mandala_travel_to_contract_location_effect = { - DESTINATION = scope:task_contract.task_contract_location - ARRIVAL_EVENT = tgp_east_asia_mandala_task_contract_events.2900 - } - } - } - - on_completed = { - mandala_contract_clean_up_location_effect = yes - } - - on_invalidated = { - mandala_contract_clean_up_location_effect = yes - } - - task_contract_reward = { - common_mandala = { - effect = { - custom_tooltip = mandala_generic_reward_tt - } - } - failure_standard = { - visible = no - effect = { - task_contract_taker = { mandala_contract_failure_standard_reward_effect = yes } - } - } - } -} - -mandala_realm_contract_0021 = { # War God Festival - group = mandala_realm_group - icon = "gfx/interface/icons/government_types/mandala_government.dds" - use_diplomatic_range = no - travel = no - - valid_to_create = { mandala_task_contract_valid_to_create_trigger = yes } - - valid_to_accept = { - num_taken_task_contracts < 1 - government_has_flag = government_is_mandala - is_available = yes - } - - valid_to_continue = { - save_temporary_scope_as = task_contract - task_contract_taker = { - mandala_task_contract_valid_to_continue_trigger = yes - trigger_if = { - limit = { - any_character_active_contract = { this = scope:task_contract } - } - current_travel_plan ?= { - OR = { - any_future_path_location = { this = scope:task_contract.task_contract_location } - any_visited_location = { this = scope:task_contract.task_contract_location } - } - } - } - } - } - - valid_to_keep = { - save_temporary_scope_as = task_contract - task_contract_taker = { - mandala_task_contract_valid_to_keep_trigger = yes - trigger_if = { - limit = { - any_character_active_contract = { this = scope:task_contract } - } - current_travel_plan ?= { - OR = { - any_future_path_location = { this = scope:task_contract.task_contract_location } - any_visited_location = { this = scope:task_contract.task_contract_location } - } - } - } - } - } - - on_create = { - scope:contract = { - mandala_set_ritual_variables_effect = yes - choose_address_mandala_effect = yes - } - } - - on_accepted = { - save_scope_as = task_contract - task_contract_taker = { - play_sound_effect = "event:/DLC/EP3/SFX/UI/Contracts/ep3_ui_contracts_accept_contract" - mandala_travel_to_contract_location_effect = { - DESTINATION = scope:task_contract.task_contract_location - ARRIVAL_EVENT = tgp_east_asia_mandala_task_contract_events.3000 - } - } - } - - on_completed = { - mandala_contract_clean_up_location_effect = yes - } - - on_invalidated = { - mandala_contract_clean_up_location_effect = yes - } - - task_contract_reward = { - common_mandala = { - effect = { - custom_tooltip = mandala_generic_reward_tt - } - } - failure_standard = { - visible = no - effect = { - task_contract_taker = { mandala_contract_failure_standard_reward_effect = yes } - } - } - } -} - -mandala_realm_contract_0022 = { # Quarreling Monks - group = mandala_realm_group - icon = "gfx/interface/icons/government_types/mandala_government.dds" - use_diplomatic_range = no - travel = no - - valid_to_create = { mandala_task_contract_valid_to_create_trigger = yes } - - valid_to_accept = { - num_taken_task_contracts < 1 - government_has_flag = government_is_mandala - is_available = yes - } - - valid_to_continue = { - save_temporary_scope_as = task_contract - task_contract_taker = { - mandala_task_contract_valid_to_continue_trigger = yes - trigger_if = { - limit = { - any_character_active_contract = { this = scope:task_contract } - } - current_travel_plan ?= { - OR = { - any_future_path_location = { this = scope:task_contract.task_contract_location } - any_visited_location = { this = scope:task_contract.task_contract_location } - } - } - } - } - } - - valid_to_keep = { - save_temporary_scope_as = task_contract - task_contract_taker = { - mandala_task_contract_valid_to_keep_trigger = yes - trigger_if = { - limit = { - any_character_active_contract = { this = scope:task_contract } - } - current_travel_plan ?= { - OR = { - any_future_path_location = { this = scope:task_contract.task_contract_location } - any_visited_location = { this = scope:task_contract.task_contract_location } - } - } - } - } - } - - on_create = { - scope:contract = { - mandala_set_ritual_variables_effect = yes - choose_address_mandala_effect = yes - } - } - - on_accepted = { - save_scope_as = task_contract - task_contract_taker = { - play_sound_effect = "event:/DLC/EP3/SFX/UI/Contracts/ep3_ui_contracts_accept_contract" - mandala_travel_to_contract_location_effect = { - DESTINATION = scope:task_contract.task_contract_location - ARRIVAL_EVENT = tgp_east_asia_mandala_task_contract_events.3100 - } - } - } - - on_completed = { - mandala_contract_clean_up_location_effect = yes - } - - on_invalidated = { - mandala_contract_clean_up_location_effect = yes - } - - task_contract_reward = { - common_mandala = { - effect = { - custom_tooltip = mandala_generic_reward_tt - } - } - failure_standard = { - visible = no - effect = { - task_contract_taker = { mandala_contract_failure_standard_reward_effect = yes } - } - } - } -} - -mandala_realm_contract_0023 = { # Purify Battlefield - group = mandala_realm_group - icon = "gfx/interface/icons/government_types/mandala_government.dds" - use_diplomatic_range = no - travel = no - - valid_to_create = { mandala_task_contract_valid_to_create_trigger = yes } - - valid_to_accept = { - num_taken_task_contracts < 1 - government_has_flag = government_is_mandala - is_available = yes - } - - valid_to_continue = { - save_temporary_scope_as = task_contract - task_contract_taker = { - mandala_task_contract_valid_to_continue_trigger = yes - trigger_if = { - limit = { - any_character_active_contract = { this = scope:task_contract } - } - current_travel_plan ?= { - OR = { - any_future_path_location = { this = scope:task_contract.task_contract_location } - any_visited_location = { this = scope:task_contract.task_contract_location } - } - } - } - } - } - - valid_to_keep = { - save_temporary_scope_as = task_contract - task_contract_taker = { - mandala_task_contract_valid_to_keep_trigger = yes - trigger_if = { - limit = { - any_character_active_contract = { this = scope:task_contract } - } - current_travel_plan ?= { - OR = { - any_future_path_location = { this = scope:task_contract.task_contract_location } - any_visited_location = { this = scope:task_contract.task_contract_location } - } - } - } - } - } - - on_create = { - scope:contract = { - mandala_set_ritual_variables_effect = yes - choose_address_mandala_effect = yes - } - } - - on_accepted = { - save_scope_as = task_contract - task_contract_taker = { - play_sound_effect = "event:/DLC/EP3/SFX/UI/Contracts/ep3_ui_contracts_accept_contract" - mandala_travel_to_contract_location_effect = { - DESTINATION = scope:task_contract.task_contract_location - ARRIVAL_EVENT = tgp_east_asia_mandala_task_contract_events.3200 - } - } - } - - on_completed = { - mandala_contract_clean_up_location_effect = yes - } - - on_invalidated = { - mandala_contract_clean_up_location_effect = yes - } - - task_contract_reward = { - common_mandala = { - effect = { - custom_tooltip = mandala_generic_reward_tt - } - } - failure_standard = { - visible = no - effect = { - task_contract_taker = { mandala_contract_failure_standard_reward_effect = yes } - } - } - } -} - -mandala_realm_contract_0024 = { # Bless the Weavers - group = mandala_realm_group - icon = "gfx/interface/icons/government_types/mandala_government.dds" - use_diplomatic_range = no - travel = no - - valid_to_create = { mandala_task_contract_valid_to_create_trigger = yes } - - valid_to_accept = { - num_taken_task_contracts < 1 - government_has_flag = government_is_mandala - is_available = yes - } - - valid_to_continue = { - save_temporary_scope_as = task_contract - task_contract_taker = { - mandala_task_contract_valid_to_continue_trigger = yes - trigger_if = { - limit = { - any_character_active_contract = { this = scope:task_contract } - } - current_travel_plan ?= { - OR = { - any_future_path_location = { this = scope:task_contract.task_contract_location } - any_visited_location = { this = scope:task_contract.task_contract_location } - } - } - } - } - } - - valid_to_keep = { - save_temporary_scope_as = task_contract - task_contract_taker = { - mandala_task_contract_valid_to_keep_trigger = yes - trigger_if = { - limit = { - any_character_active_contract = { this = scope:task_contract } - } - current_travel_plan ?= { - OR = { - any_future_path_location = { this = scope:task_contract.task_contract_location } - any_visited_location = { this = scope:task_contract.task_contract_location } - } - } - } - } - } - - on_create = { - scope:contract = { - mandala_set_ritual_variables_effect = yes - choose_address_mandala_effect = yes - } - } - - on_accepted = { - save_scope_as = task_contract - task_contract_taker = { - play_sound_effect = "event:/DLC/EP3/SFX/UI/Contracts/ep3_ui_contracts_accept_contract" - mandala_travel_to_contract_location_effect = { - DESTINATION = scope:task_contract.task_contract_location - ARRIVAL_EVENT = tgp_east_asia_mandala_task_contract_events.3300 - } - } - } - - on_completed = { - mandala_contract_clean_up_location_effect = yes - } - - on_invalidated = { - mandala_contract_clean_up_location_effect = yes - } - - task_contract_reward = { - common_mandala = { - effect = { - custom_tooltip = mandala_generic_reward_tt - } - } - failure_standard = { - visible = no - effect = { - task_contract_taker = { mandala_contract_failure_standard_reward_effect = yes } - } - } - } -} - -mandala_realm_contract_0025 = { # Breaking of Spears - group = mandala_realm_group - icon = "gfx/interface/icons/government_types/mandala_government.dds" - use_diplomatic_range = no - travel = no - - valid_to_create = { mandala_task_contract_valid_to_create_trigger = yes } - - valid_to_accept = { - num_taken_task_contracts < 1 - government_has_flag = government_is_mandala - is_available = yes - } - - valid_to_continue = { - save_temporary_scope_as = task_contract - task_contract_taker = { - mandala_task_contract_valid_to_continue_trigger = yes - trigger_if = { - limit = { - any_character_active_contract = { this = scope:task_contract } - } - current_travel_plan ?= { - OR = { - any_future_path_location = { this = scope:task_contract.task_contract_location } - any_visited_location = { this = scope:task_contract.task_contract_location } - } - } - } - } - } - - valid_to_keep = { - save_temporary_scope_as = task_contract - task_contract_taker = { - mandala_task_contract_valid_to_keep_trigger = yes - trigger_if = { - limit = { - any_character_active_contract = { this = scope:task_contract } - } - current_travel_plan ?= { - OR = { - any_future_path_location = { this = scope:task_contract.task_contract_location } - any_visited_location = { this = scope:task_contract.task_contract_location } - } - } - } - } - } - - on_create = { - scope:contract = { - mandala_set_ritual_variables_effect = yes - choose_address_mandala_effect = yes - } - } - - on_accepted = { - save_scope_as = task_contract - task_contract_taker = { - play_sound_effect = "event:/DLC/EP3/SFX/UI/Contracts/ep3_ui_contracts_accept_contract" - mandala_travel_to_contract_location_effect = { - DESTINATION = scope:task_contract.task_contract_location - ARRIVAL_EVENT = tgp_east_asia_mandala_task_contract_events.3400 - } - } - } - - on_completed = { - mandala_contract_clean_up_location_effect = yes - } - - on_invalidated = { - mandala_contract_clean_up_location_effect = yes - } - - task_contract_reward = { - common_mandala = { - effect = { - custom_tooltip = mandala_generic_reward_tt - } - } - failure_standard = { - visible = no - effect = { - task_contract_taker = { mandala_contract_failure_standard_reward_effect = yes } - } - } - } -} - -mandala_realm_contract_0026 = { # Guru's Peace - group = mandala_realm_group - icon = "gfx/interface/icons/government_types/mandala_government.dds" - use_diplomatic_range = no - travel = no - - valid_to_create = { mandala_task_contract_valid_to_create_trigger = yes } - - valid_to_accept = { - num_taken_task_contracts < 1 - government_has_flag = government_is_mandala - is_available = yes - } - - valid_to_continue = { - save_temporary_scope_as = task_contract - task_contract_taker = { - mandala_task_contract_valid_to_continue_trigger = yes - trigger_if = { - limit = { - any_character_active_contract = { this = scope:task_contract } - } - current_travel_plan ?= { - OR = { - any_future_path_location = { this = scope:task_contract.task_contract_location } - any_visited_location = { this = scope:task_contract.task_contract_location } - } - } - } - } - } - - valid_to_keep = { - save_temporary_scope_as = task_contract - task_contract_taker = { - mandala_task_contract_valid_to_keep_trigger = yes - trigger_if = { - limit = { - any_character_active_contract = { this = scope:task_contract } - } - current_travel_plan ?= { - OR = { - any_future_path_location = { this = scope:task_contract.task_contract_location } - any_visited_location = { this = scope:task_contract.task_contract_location } - } - } - } - } - } - - on_create = { - scope:contract = { - mandala_set_ritual_variables_effect = yes - choose_address_mandala_effect = yes - } - } - - on_accepted = { - save_scope_as = task_contract - task_contract_taker = { - play_sound_effect = "event:/DLC/EP3/SFX/UI/Contracts/ep3_ui_contracts_accept_contract" - mandala_travel_to_contract_location_effect = { - DESTINATION = scope:task_contract.task_contract_location - ARRIVAL_EVENT = tgp_east_asia_mandala_task_contract_events.3500 - } - } - } - - on_completed = { - mandala_contract_clean_up_location_effect = yes - } - - on_invalidated = { - mandala_contract_clean_up_location_effect = yes - } - - task_contract_reward = { - common_mandala = { - effect = { - custom_tooltip = mandala_generic_reward_tt - } - } - failure_standard = { - visible = no - effect = { - task_contract_taker = { mandala_contract_failure_standard_reward_effect = yes } - } - } - } -} - -mandala_realm_contract_0027 = { # Reconciliation Edict - group = mandala_realm_group - icon = "gfx/interface/icons/government_types/mandala_government.dds" - use_diplomatic_range = no - travel = no - - valid_to_create = { mandala_task_contract_valid_to_create_trigger = yes } - - valid_to_accept = { - num_taken_task_contracts < 1 - government_has_flag = government_is_mandala - is_available = yes - } - - valid_to_continue = { - save_temporary_scope_as = task_contract - task_contract_taker = { - mandala_task_contract_valid_to_continue_trigger = yes - trigger_if = { - limit = { - any_character_active_contract = { this = scope:task_contract } - } - current_travel_plan ?= { - OR = { - any_future_path_location = { this = scope:task_contract.task_contract_location } - any_visited_location = { this = scope:task_contract.task_contract_location } - } - } - } - } - } - - valid_to_keep = { - save_temporary_scope_as = task_contract - task_contract_taker = { - mandala_task_contract_valid_to_keep_trigger = yes - trigger_if = { - limit = { - any_character_active_contract = { this = scope:task_contract } - } - current_travel_plan ?= { - OR = { - any_future_path_location = { this = scope:task_contract.task_contract_location } - any_visited_location = { this = scope:task_contract.task_contract_location } - } - } - } - } - } - - on_create = { - scope:contract = { - mandala_set_ritual_variables_effect = yes - choose_address_mandala_effect = yes - } - } - - on_accepted = { - save_scope_as = task_contract - task_contract_taker = { - play_sound_effect = "event:/DLC/EP3/SFX/UI/Contracts/ep3_ui_contracts_accept_contract" - mandala_travel_to_contract_location_effect = { - DESTINATION = scope:task_contract.task_contract_location - ARRIVAL_EVENT = tgp_east_asia_mandala_task_contract_events.3600 - } - } - } - - on_completed = { - mandala_contract_clean_up_location_effect = yes - } - - on_invalidated = { - mandala_contract_clean_up_location_effect = yes - } - - task_contract_reward = { - common_mandala = { - effect = { - custom_tooltip = mandala_generic_reward_tt - } - } - failure_standard = { - visible = no - effect = { - task_contract_taker = { mandala_contract_failure_standard_reward_effect = yes } - } - } - } -} - -mandala_realm_contract_0028 = { # Eightfold Path - group = mandala_realm_group - icon = "gfx/interface/icons/government_types/mandala_government.dds" - use_diplomatic_range = no - travel = no - - valid_to_create = { mandala_task_contract_valid_to_create_trigger = yes } - - valid_to_accept = { - num_taken_task_contracts < 1 - government_has_flag = government_is_mandala - is_available = yes - } - - valid_to_continue = { - save_temporary_scope_as = task_contract - task_contract_taker = { - mandala_task_contract_valid_to_continue_trigger = yes - trigger_if = { - limit = { - any_character_active_contract = { this = scope:task_contract } - } - current_travel_plan ?= { - OR = { - any_future_path_location = { this = scope:task_contract.task_contract_location } - any_visited_location = { this = scope:task_contract.task_contract_location } - } - } - } - } - } - - valid_to_keep = { - save_temporary_scope_as = task_contract - task_contract_taker = { - mandala_task_contract_valid_to_keep_trigger = yes - trigger_if = { - limit = { - any_character_active_contract = { this = scope:task_contract } - } - current_travel_plan ?= { - OR = { - any_future_path_location = { this = scope:task_contract.task_contract_location } - any_visited_location = { this = scope:task_contract.task_contract_location } - } - } - } - } - } - - on_create = { - scope:contract = { - mandala_set_ritual_variables_effect = yes - choose_address_mandala_effect = yes - } - } - - on_accepted = { - save_scope_as = task_contract - task_contract_taker = { - play_sound_effect = "event:/DLC/EP3/SFX/UI/Contracts/ep3_ui_contracts_accept_contract" - mandala_travel_to_contract_location_effect = { - DESTINATION = scope:task_contract.task_contract_location - ARRIVAL_EVENT = tgp_east_asia_mandala_task_contract_events.3700 - } - } - } - - on_completed = { - mandala_contract_clean_up_location_effect = yes - } - - on_invalidated = { - mandala_contract_clean_up_location_effect = yes - } - - task_contract_reward = { - common_mandala = { - effect = { - custom_tooltip = mandala_generic_reward_tt - } - } - failure_standard = { - visible = no - effect = { - task_contract_taker = { mandala_contract_failure_standard_reward_effect = yes } - } - } - } -} - -mandala_realm_contract_0029 = { # Grove Guardians - group = mandala_realm_group - icon = "gfx/interface/icons/government_types/mandala_government.dds" - use_diplomatic_range = no - travel = no - - valid_to_create = { mandala_task_contract_valid_to_create_trigger = yes } - - valid_to_accept = { - num_taken_task_contracts < 1 - government_has_flag = government_is_mandala - is_available = yes - } - - valid_to_continue = { - save_temporary_scope_as = task_contract - task_contract_taker = { - mandala_task_contract_valid_to_continue_trigger = yes - trigger_if = { - limit = { - any_character_active_contract = { this = scope:task_contract } - } - current_travel_plan ?= { - OR = { - any_future_path_location = { this = scope:task_contract.task_contract_location } - any_visited_location = { this = scope:task_contract.task_contract_location } - } - } - } - } - } - - valid_to_keep = { - save_temporary_scope_as = task_contract - task_contract_taker = { - mandala_task_contract_valid_to_keep_trigger = yes - trigger_if = { - limit = { - any_character_active_contract = { this = scope:task_contract } - } - current_travel_plan ?= { - OR = { - any_future_path_location = { this = scope:task_contract.task_contract_location } - any_visited_location = { this = scope:task_contract.task_contract_location } - } - } - } - } - } - - on_create = { - scope:contract = { - mandala_set_ritual_variables_effect = yes - choose_address_mandala_effect = yes - } - } - - on_accepted = { - save_scope_as = task_contract - task_contract_taker = { - play_sound_effect = "event:/DLC/EP3/SFX/UI/Contracts/ep3_ui_contracts_accept_contract" - mandala_travel_to_contract_location_effect = { - DESTINATION = scope:task_contract.task_contract_location - ARRIVAL_EVENT = tgp_east_asia_mandala_task_contract_events.3800 - } - } - } - - on_completed = { - mandala_contract_clean_up_location_effect = yes - } - - on_invalidated = { - mandala_contract_clean_up_location_effect = yes - } - - task_contract_reward = { - common_mandala = { - effect = { - custom_tooltip = mandala_generic_reward_tt - } - } - failure_standard = { - visible = no - effect = { - task_contract_taker = { mandala_contract_failure_standard_reward_effect = yes } - } - } - } -} - -mandala_realm_contract_0030 = { # Vow of Stillness - group = mandala_realm_group - icon = "gfx/interface/icons/government_types/mandala_government.dds" - use_diplomatic_range = no - travel = no - - valid_to_create = { mandala_task_contract_valid_to_create_trigger = yes } - - valid_to_accept = { - num_taken_task_contracts < 1 - government_has_flag = government_is_mandala - is_available = yes - } - - valid_to_continue = { - save_temporary_scope_as = task_contract - task_contract_taker = { - mandala_task_contract_valid_to_continue_trigger = yes - trigger_if = { - limit = { - any_character_active_contract = { this = scope:task_contract } - } - current_travel_plan ?= { - OR = { - any_future_path_location = { this = scope:task_contract.task_contract_location } - any_visited_location = { this = scope:task_contract.task_contract_location } - } - } - } - } - } - - valid_to_keep = { - save_temporary_scope_as = task_contract - task_contract_taker = { - mandala_task_contract_valid_to_keep_trigger = yes - trigger_if = { - limit = { - any_character_active_contract = { this = scope:task_contract } - } - current_travel_plan ?= { - OR = { - any_future_path_location = { this = scope:task_contract.task_contract_location } - any_visited_location = { this = scope:task_contract.task_contract_location } - } - } - } - } - } - - on_create = { - scope:contract = { - mandala_set_ritual_variables_effect = yes - choose_address_mandala_effect = yes - } - } - - on_accepted = { - save_scope_as = task_contract - task_contract_taker = { - play_sound_effect = "event:/DLC/EP3/SFX/UI/Contracts/ep3_ui_contracts_accept_contract" - mandala_travel_to_contract_location_effect = { - DESTINATION = scope:task_contract.task_contract_location - ARRIVAL_EVENT = tgp_east_asia_mandala_task_contract_events.3900 - } - } - } - - on_completed = { - mandala_contract_clean_up_location_effect = yes - } - - on_invalidated = { - mandala_contract_clean_up_location_effect = yes - } - - task_contract_reward = { - common_mandala = { - effect = { - custom_tooltip = mandala_generic_reward_tt - } - } - failure_standard = { - visible = no - effect = { - task_contract_taker = { mandala_contract_failure_standard_reward_effect = yes } - } - } - } -} - -mandala_realm_contract_0031 = { # Stone-laying - group = mandala_realm_group - icon = "gfx/interface/icons/government_types/mandala_government.dds" - use_diplomatic_range = no - travel = no - - valid_to_create = { mandala_task_contract_valid_to_create_trigger = yes } - - valid_to_accept = { - num_taken_task_contracts < 1 - government_has_flag = government_is_mandala - is_available = yes - } - - valid_to_continue = { - save_temporary_scope_as = task_contract - task_contract_taker = { - mandala_task_contract_valid_to_continue_trigger = yes - trigger_if = { - limit = { - any_character_active_contract = { this = scope:task_contract } - } - current_travel_plan ?= { - OR = { - any_future_path_location = { this = scope:task_contract.task_contract_location } - any_visited_location = { this = scope:task_contract.task_contract_location } - } - } - } - } - } - - valid_to_keep = { - save_temporary_scope_as = task_contract - task_contract_taker = { - mandala_task_contract_valid_to_keep_trigger = yes - trigger_if = { - limit = { - any_character_active_contract = { this = scope:task_contract } - } - current_travel_plan ?= { - OR = { - any_future_path_location = { this = scope:task_contract.task_contract_location } - any_visited_location = { this = scope:task_contract.task_contract_location } - } - } - } - } - } - - on_create = { - scope:contract = { - mandala_set_ritual_variables_effect = yes - choose_address_mandala_effect = yes - } - } - - on_accepted = { - save_scope_as = task_contract - task_contract_taker = { - play_sound_effect = "event:/DLC/EP3/SFX/UI/Contracts/ep3_ui_contracts_accept_contract" - mandala_travel_to_contract_location_effect = { - DESTINATION = scope:task_contract.task_contract_location - ARRIVAL_EVENT = tgp_east_asia_mandala_task_contract_events.4000 - } - } - } - - on_completed = { - mandala_contract_clean_up_location_effect = yes - } - - on_invalidated = { - mandala_contract_clean_up_location_effect = yes - } - - task_contract_reward = { - common_mandala = { - effect = { - custom_tooltip = mandala_generic_reward_tt - } - } - failure_standard = { - visible = no - effect = { - task_contract_taker = { mandala_contract_failure_standard_reward_effect = yes } - } - } - } -} - -mandala_realm_contract_0032 = { # Laughing Ascetic - group = mandala_realm_group - icon = "gfx/interface/icons/government_types/mandala_government.dds" - use_diplomatic_range = no - travel = no - - valid_to_create = { mandala_task_contract_valid_to_create_trigger = yes } - - valid_to_accept = { - num_taken_task_contracts < 1 - government_has_flag = government_is_mandala - is_available = yes - } - - valid_to_continue = { - save_temporary_scope_as = task_contract - task_contract_taker = { - mandala_task_contract_valid_to_continue_trigger = yes - trigger_if = { - limit = { - any_character_active_contract = { this = scope:task_contract } - } - current_travel_plan ?= { - OR = { - any_future_path_location = { this = scope:task_contract.task_contract_location } - any_visited_location = { this = scope:task_contract.task_contract_location } - } - } - } - } - } - - valid_to_keep = { - save_temporary_scope_as = task_contract - task_contract_taker = { - mandala_task_contract_valid_to_keep_trigger = yes - trigger_if = { - limit = { - any_character_active_contract = { this = scope:task_contract } - } - current_travel_plan ?= { - OR = { - any_future_path_location = { this = scope:task_contract.task_contract_location } - any_visited_location = { this = scope:task_contract.task_contract_location } - } - } - } - } - } - - on_create = { - scope:contract = { - mandala_set_ritual_variables_effect = yes - choose_address_mandala_effect = yes - } - } - - on_accepted = { - save_scope_as = task_contract - task_contract_taker = { - play_sound_effect = "event:/DLC/EP3/SFX/UI/Contracts/ep3_ui_contracts_accept_contract" - mandala_travel_to_contract_location_effect = { - DESTINATION = scope:task_contract.task_contract_location - ARRIVAL_EVENT = tgp_east_asia_mandala_task_contract_events.4100 - } - } - } - - on_completed = { - mandala_contract_clean_up_location_effect = yes - } - - on_invalidated = { - mandala_contract_clean_up_location_effect = yes - } - - task_contract_reward = { - common_mandala = { - effect = { - custom_tooltip = mandala_generic_reward_tt - } - } - failure_standard = { - visible = no - effect = { - task_contract_taker = { mandala_contract_failure_standard_reward_effect = yes } - } - } - } -} - -mandala_realm_contract_0033 = { # Spirit Decoy - group = mandala_realm_group - icon = "gfx/interface/icons/government_types/mandala_government.dds" - use_diplomatic_range = no - travel = no - - valid_to_create = { mandala_task_contract_valid_to_create_trigger = yes } - - valid_to_accept = { - num_taken_task_contracts < 1 - government_has_flag = government_is_mandala - is_available = yes - } - - valid_to_continue = { - save_temporary_scope_as = task_contract - task_contract_taker = { - mandala_task_contract_valid_to_continue_trigger = yes - trigger_if = { - limit = { - any_character_active_contract = { this = scope:task_contract } - } - current_travel_plan ?= { - OR = { - any_future_path_location = { this = scope:task_contract.task_contract_location } - any_visited_location = { this = scope:task_contract.task_contract_location } - } - } - } - } - } - - valid_to_keep = { - save_temporary_scope_as = task_contract - task_contract_taker = { - mandala_task_contract_valid_to_keep_trigger = yes - trigger_if = { - limit = { - any_character_active_contract = { this = scope:task_contract } - } - current_travel_plan ?= { - OR = { - any_future_path_location = { this = scope:task_contract.task_contract_location } - any_visited_location = { this = scope:task_contract.task_contract_location } - } - } - } - } - } - - on_create = { - scope:contract = { - mandala_set_ritual_variables_effect = yes - choose_address_mandala_effect = yes - } - } - - on_accepted = { - save_scope_as = task_contract - task_contract_taker = { - play_sound_effect = "event:/DLC/EP3/SFX/UI/Contracts/ep3_ui_contracts_accept_contract" - mandala_travel_to_contract_location_effect = { - DESTINATION = scope:task_contract.task_contract_location - ARRIVAL_EVENT = tgp_east_asia_mandala_task_contract_events.4200 - } - } - } - - on_completed = { - mandala_contract_clean_up_location_effect = yes - } - - on_invalidated = { - mandala_contract_clean_up_location_effect = yes - } - - task_contract_reward = { - common_mandala = { - effect = { - custom_tooltip = mandala_generic_reward_tt - } - } - failure_standard = { - visible = no - effect = { - task_contract_taker = { mandala_contract_failure_standard_reward_effect = yes } - } - } - } -} - -mandala_realm_contract_0034 = { # Game of Wit - group = mandala_realm_group - icon = "gfx/interface/icons/government_types/mandala_government.dds" - use_diplomatic_range = no - travel = no - - valid_to_create = { mandala_task_contract_valid_to_create_trigger = yes } - - valid_to_accept = { - num_taken_task_contracts < 1 - government_has_flag = government_is_mandala - is_available = yes - } - - valid_to_continue = { - save_temporary_scope_as = task_contract - task_contract_taker = { - mandala_task_contract_valid_to_continue_trigger = yes - trigger_if = { - limit = { - any_character_active_contract = { this = scope:task_contract } - } - current_travel_plan ?= { - OR = { - any_future_path_location = { this = scope:task_contract.task_contract_location } - any_visited_location = { this = scope:task_contract.task_contract_location } - } - } - } - } - } - - valid_to_keep = { - save_temporary_scope_as = task_contract - task_contract_taker = { - mandala_task_contract_valid_to_keep_trigger = yes - trigger_if = { - limit = { - any_character_active_contract = { this = scope:task_contract } - } - current_travel_plan ?= { - OR = { - any_future_path_location = { this = scope:task_contract.task_contract_location } - any_visited_location = { this = scope:task_contract.task_contract_location } - } - } - } - } - } - - on_create = { - scope:contract = { - mandala_set_ritual_variables_effect = yes - choose_address_mandala_effect = yes - } - } - - on_accepted = { - save_scope_as = task_contract - task_contract_taker = { - play_sound_effect = "event:/DLC/EP3/SFX/UI/Contracts/ep3_ui_contracts_accept_contract" - mandala_travel_to_contract_location_effect = { - DESTINATION = scope:task_contract.task_contract_location - ARRIVAL_EVENT = tgp_east_asia_mandala_task_contract_events.4300 - } - } - } - - on_completed = { - mandala_contract_clean_up_location_effect = yes - } - - on_invalidated = { - mandala_contract_clean_up_location_effect = yes - } - - task_contract_reward = { - common_mandala = { - effect = { - custom_tooltip = mandala_generic_reward_tt - } - } - failure_standard = { - visible = no - effect = { - task_contract_taker = { mandala_contract_failure_standard_reward_effect = yes } - } - } - } -} - -mandala_realm_contract_0035 = { # Divine Thief - group = mandala_realm_group - icon = "gfx/interface/icons/government_types/mandala_government.dds" - use_diplomatic_range = no - travel = no - - valid_to_create = { mandala_task_contract_valid_to_create_trigger = yes } - - valid_to_accept = { - num_taken_task_contracts < 1 - government_has_flag = government_is_mandala - is_available = yes - } - - valid_to_continue = { - save_temporary_scope_as = task_contract - task_contract_taker = { - mandala_task_contract_valid_to_continue_trigger = yes - trigger_if = { - limit = { - any_character_active_contract = { this = scope:task_contract } - } - current_travel_plan ?= { - OR = { - any_future_path_location = { this = scope:task_contract.task_contract_location } - any_visited_location = { this = scope:task_contract.task_contract_location } - } - } - } - } - } - - valid_to_keep = { - save_temporary_scope_as = task_contract - task_contract_taker = { - mandala_task_contract_valid_to_keep_trigger = yes - trigger_if = { - limit = { - any_character_active_contract = { this = scope:task_contract } - } - current_travel_plan ?= { - OR = { - any_future_path_location = { this = scope:task_contract.task_contract_location } - any_visited_location = { this = scope:task_contract.task_contract_location } - } - } - } - } - } - - on_create = { - scope:contract = { - mandala_set_ritual_variables_effect = yes - choose_address_mandala_effect = yes - } - } - - on_accepted = { - save_scope_as = task_contract - task_contract_taker = { - play_sound_effect = "event:/DLC/EP3/SFX/UI/Contracts/ep3_ui_contracts_accept_contract" - mandala_travel_to_contract_location_effect = { - DESTINATION = scope:task_contract.task_contract_location - ARRIVAL_EVENT = tgp_east_asia_mandala_task_contract_events.4400 - } - } - } - - on_completed = { - mandala_contract_clean_up_location_effect = yes - } - - on_invalidated = { - mandala_contract_clean_up_location_effect = yes - } - - task_contract_reward = { - common_mandala = { - effect = { - custom_tooltip = mandala_generic_reward_tt - } - } - failure_standard = { - visible = no - effect = { - task_contract_taker = { mandala_contract_failure_standard_reward_effect = yes } - } - } - } -} - -mandala_realm_contract_0036 = { # Trickster's Trial - group = mandala_realm_group - icon = "gfx/interface/icons/government_types/mandala_government.dds" - use_diplomatic_range = no - travel = no - - valid_to_create = { mandala_task_contract_valid_to_create_trigger = yes } - - valid_to_accept = { - num_taken_task_contracts < 1 - government_has_flag = government_is_mandala - is_available = yes - } - - valid_to_continue = { - save_temporary_scope_as = task_contract - task_contract_taker = { - mandala_task_contract_valid_to_continue_trigger = yes - trigger_if = { - limit = { - any_character_active_contract = { this = scope:task_contract } - } - current_travel_plan ?= { - OR = { - any_future_path_location = { this = scope:task_contract.task_contract_location } - any_visited_location = { this = scope:task_contract.task_contract_location } - } - } - } - } - } - - valid_to_keep = { - save_temporary_scope_as = task_contract - task_contract_taker = { - mandala_task_contract_valid_to_keep_trigger = yes - trigger_if = { - limit = { - any_character_active_contract = { this = scope:task_contract } - } - current_travel_plan ?= { - OR = { - any_future_path_location = { this = scope:task_contract.task_contract_location } - any_visited_location = { this = scope:task_contract.task_contract_location } - } - } - } - } - } - - on_create = { - scope:contract = { - mandala_set_ritual_variables_effect = yes - choose_address_mandala_effect = yes - } - } - - on_accepted = { - save_scope_as = task_contract - task_contract_taker = { - play_sound_effect = "event:/DLC/EP3/SFX/UI/Contracts/ep3_ui_contracts_accept_contract" - mandala_travel_to_contract_location_effect = { - DESTINATION = scope:task_contract.task_contract_location - ARRIVAL_EVENT = tgp_east_asia_mandala_task_contract_events.4500 - } - } - } - - on_completed = { - mandala_contract_clean_up_location_effect = yes - } - - on_invalidated = { - mandala_contract_clean_up_location_effect = yes - } - - task_contract_reward = { - common_mandala = { - effect = { - custom_tooltip = mandala_generic_reward_tt - } - } - failure_standard = { - visible = no - effect = { - task_contract_taker = { mandala_contract_failure_standard_reward_effect = yes } - } - } - } -} - -mandala_realm_contract_0037 = { # Festival of Reversal - group = mandala_realm_group - icon = "gfx/interface/icons/government_types/mandala_government.dds" - use_diplomatic_range = no - travel = no - - valid_to_create = { mandala_task_contract_valid_to_create_trigger = yes } - - valid_to_accept = { - num_taken_task_contracts < 1 - government_has_flag = government_is_mandala - is_available = yes - } - - valid_to_continue = { - save_temporary_scope_as = task_contract - task_contract_taker = { - mandala_task_contract_valid_to_continue_trigger = yes - trigger_if = { - limit = { - any_character_active_contract = { this = scope:task_contract } - } - current_travel_plan ?= { - OR = { - any_future_path_location = { this = scope:task_contract.task_contract_location } - any_visited_location = { this = scope:task_contract.task_contract_location } - } - } - } - } - } - - valid_to_keep = { - save_temporary_scope_as = task_contract - task_contract_taker = { - mandala_task_contract_valid_to_keep_trigger = yes - trigger_if = { - limit = { - any_character_active_contract = { this = scope:task_contract } - } - current_travel_plan ?= { - OR = { - any_future_path_location = { this = scope:task_contract.task_contract_location } - any_visited_location = { this = scope:task_contract.task_contract_location } - } - } - } - } - } - - on_create = { - scope:contract = { - mandala_set_ritual_variables_effect = yes - choose_address_mandala_effect = yes - } - } - - on_accepted = { - save_scope_as = task_contract - task_contract_taker = { - play_sound_effect = "event:/DLC/EP3/SFX/UI/Contracts/ep3_ui_contracts_accept_contract" - mandala_travel_to_contract_location_effect = { - DESTINATION = scope:task_contract.task_contract_location - ARRIVAL_EVENT = tgp_east_asia_mandala_task_contract_events.4600 - } - } - } - - on_completed = { - mandala_contract_clean_up_location_effect = yes - } - - on_invalidated = { - mandala_contract_clean_up_location_effect = yes - } - - task_contract_reward = { - common_mandala = { - effect = { - custom_tooltip = mandala_generic_reward_tt - } - } - failure_standard = { - visible = no - effect = { - task_contract_taker = { mandala_contract_failure_standard_reward_effect = yes } - } - } - } -} - -mandala_realm_contract_0038 = { # Goat Oracle - group = mandala_realm_group - icon = "gfx/interface/icons/government_types/mandala_government.dds" - use_diplomatic_range = no - travel = no - - valid_to_create = { mandala_task_contract_valid_to_create_trigger = yes } - - valid_to_accept = { - num_taken_task_contracts < 1 - government_has_flag = government_is_mandala - is_available = yes - } - - valid_to_continue = { - save_temporary_scope_as = task_contract - task_contract_taker = { - mandala_task_contract_valid_to_continue_trigger = yes - trigger_if = { - limit = { - any_character_active_contract = { this = scope:task_contract } - } - current_travel_plan ?= { - OR = { - any_future_path_location = { this = scope:task_contract.task_contract_location } - any_visited_location = { this = scope:task_contract.task_contract_location } - } - } - } - } - } - - valid_to_keep = { - save_temporary_scope_as = task_contract - task_contract_taker = { - mandala_task_contract_valid_to_keep_trigger = yes - trigger_if = { - limit = { - any_character_active_contract = { this = scope:task_contract } - } - current_travel_plan ?= { - OR = { - any_future_path_location = { this = scope:task_contract.task_contract_location } - any_visited_location = { this = scope:task_contract.task_contract_location } - } - } - } - } - } - - on_create = { - scope:contract = { - mandala_set_ritual_variables_effect = yes - choose_address_mandala_effect = yes - } - } - - on_accepted = { - save_scope_as = task_contract - task_contract_taker = { - play_sound_effect = "event:/DLC/EP3/SFX/UI/Contracts/ep3_ui_contracts_accept_contract" - mandala_travel_to_contract_location_effect = { - DESTINATION = scope:task_contract.task_contract_location - ARRIVAL_EVENT = tgp_east_asia_mandala_task_contract_events.4700 - } - } - } - - on_completed = { - mandala_contract_clean_up_location_effect = yes - } - - on_invalidated = { - mandala_contract_clean_up_location_effect = yes - } - - task_contract_reward = { - common_mandala = { - effect = { - custom_tooltip = mandala_generic_reward_tt - } - } - failure_standard = { - visible = no - effect = { - task_contract_taker = { mandala_contract_failure_standard_reward_effect = yes } - } - } - } -} - -mandala_realm_contract_0039 = { # Beasts in the Jungle - group = mandala_realm_group - icon = "gfx/interface/icons/government_types/mandala_government.dds" - use_diplomatic_range = no - travel = no - - valid_to_create = { mandala_task_contract_valid_to_create_trigger = yes } - - valid_to_accept = { - num_taken_task_contracts < 1 - government_has_flag = government_is_mandala - is_available = yes - } - - valid_to_continue = { - save_temporary_scope_as = task_contract - task_contract_taker = { - mandala_task_contract_valid_to_continue_trigger = yes - trigger_if = { - limit = { - any_character_active_contract = { this = scope:task_contract } - } - current_travel_plan ?= { - OR = { - any_future_path_location = { this = scope:task_contract.task_contract_location } - any_visited_location = { this = scope:task_contract.task_contract_location } - } - } - } - } - } - - valid_to_keep = { - save_temporary_scope_as = task_contract - task_contract_taker = { - mandala_task_contract_valid_to_keep_trigger = yes - trigger_if = { - limit = { - any_character_active_contract = { this = scope:task_contract } - } - current_travel_plan ?= { - OR = { - any_future_path_location = { this = scope:task_contract.task_contract_location } - any_visited_location = { this = scope:task_contract.task_contract_location } - } - } - } - } - } - - on_create = { - scope:contract = { - mandala_set_ritual_variables_effect = yes - choose_address_mandala_effect = yes - } - } - - on_accepted = { - save_scope_as = task_contract - task_contract_taker = { - play_sound_effect = "event:/DLC/EP3/SFX/UI/Contracts/ep3_ui_contracts_accept_contract" - mandala_travel_to_contract_location_effect = { - DESTINATION = scope:task_contract.task_contract_location - ARRIVAL_EVENT = tgp_east_asia_mandala_task_contract_events.4800 - } - } - } - - on_completed = { - mandala_contract_clean_up_location_effect = yes - } - - on_invalidated = { - mandala_contract_clean_up_location_effect = yes - } - - task_contract_reward = { - common_mandala = { - effect = { - custom_tooltip = mandala_generic_reward_tt - } - } - failure_standard = { - visible = no - effect = { - task_contract_taker = { mandala_contract_failure_standard_reward_effect = yes } - } - } - } -} - -mandala_realm_contract_0040 = { # River Naga - group = mandala_realm_group - icon = "gfx/interface/icons/government_types/mandala_government.dds" - use_diplomatic_range = no - travel = no - - valid_to_create = { mandala_task_contract_valid_to_create_trigger = yes } - - valid_to_accept = { - num_taken_task_contracts < 1 - government_has_flag = government_is_mandala - is_available = yes - } - - valid_to_continue = { - save_temporary_scope_as = task_contract - task_contract_taker = { - mandala_task_contract_valid_to_continue_trigger = yes - trigger_if = { - limit = { - any_character_active_contract = { this = scope:task_contract } - } - current_travel_plan ?= { - OR = { - any_future_path_location = { this = scope:task_contract.task_contract_location } - any_visited_location = { this = scope:task_contract.task_contract_location } - } - } - } - } - } - - valid_to_keep = { - save_temporary_scope_as = task_contract - task_contract_taker = { - mandala_task_contract_valid_to_keep_trigger = yes - trigger_if = { - limit = { - any_character_active_contract = { this = scope:task_contract } - } - current_travel_plan ?= { - OR = { - any_future_path_location = { this = scope:task_contract.task_contract_location } - any_visited_location = { this = scope:task_contract.task_contract_location } - } - } - } - } - } - - on_create = { - scope:contract = { - mandala_set_ritual_variables_effect = yes - choose_address_mandala_effect = yes - } - } - - on_accepted = { - save_scope_as = task_contract - task_contract_taker = { - play_sound_effect = "event:/DLC/EP3/SFX/UI/Contracts/ep3_ui_contracts_accept_contract" - mandala_travel_to_contract_location_effect = { - DESTINATION = scope:task_contract.task_contract_location - ARRIVAL_EVENT = tgp_east_asia_mandala_task_contract_events.4900 - } - } - } - - on_completed = { - mandala_contract_clean_up_location_effect = yes - } - - on_invalidated = { - mandala_contract_clean_up_location_effect = yes - } - - task_contract_reward = { - common_mandala = { - effect = { - custom_tooltip = mandala_generic_reward_tt - } - } - failure_standard = { - visible = no - effect = { - task_contract_taker = { mandala_contract_failure_standard_reward_effect = yes } - } - } - } -} - -mandala_realm_contract_0041 = { # Promised Land - group = mandala_realm_group - icon = "gfx/interface/icons/government_types/mandala_government.dds" - use_diplomatic_range = no - travel = no - - valid_to_create = { mandala_task_contract_valid_to_create_trigger = yes } - - valid_to_accept = { - num_taken_task_contracts < 1 - government_has_flag = government_is_mandala - is_available = yes - } - - valid_to_continue = { - save_temporary_scope_as = task_contract - task_contract_taker = { - mandala_task_contract_valid_to_continue_trigger = yes - trigger_if = { - limit = { - any_character_active_contract = { this = scope:task_contract } - } - current_travel_plan ?= { - OR = { - any_future_path_location = { this = scope:task_contract.task_contract_location } - any_visited_location = { this = scope:task_contract.task_contract_location } - } - } - } - } - } - - valid_to_keep = { - save_temporary_scope_as = task_contract - task_contract_taker = { - mandala_task_contract_valid_to_keep_trigger = yes - trigger_if = { - limit = { - any_character_active_contract = { this = scope:task_contract } - } - current_travel_plan ?= { - OR = { - any_future_path_location = { this = scope:task_contract.task_contract_location } - any_visited_location = { this = scope:task_contract.task_contract_location } - } - } - } - } - } - - on_create = { - scope:contract = { - mandala_set_ritual_variables_effect = yes - choose_address_mandala_effect = yes - } - } - - on_accepted = { - save_scope_as = task_contract - task_contract_taker = { - play_sound_effect = "event:/DLC/EP3/SFX/UI/Contracts/ep3_ui_contracts_accept_contract" - mandala_travel_to_contract_location_effect = { - DESTINATION = scope:task_contract.task_contract_location - ARRIVAL_EVENT = tgp_east_asia_mandala_task_contract_events.5000 - } - } - } - - on_completed = { - mandala_contract_clean_up_location_effect = yes - } - - on_invalidated = { - mandala_contract_clean_up_location_effect = yes - } - - task_contract_reward = { - common_mandala = { - effect = { - custom_tooltip = mandala_generic_reward_tt - } - } - failure_standard = { - visible = no - effect = { - task_contract_taker = { mandala_contract_failure_standard_reward_effect = yes } - } - } - } -} diff --git a/common/task_contracts/tgp_natural_disaster_contracts.txt b/common/task_contracts/tgp_natural_disaster_contracts.txt deleted file mode 100644 index a7e3abfe0..000000000 --- a/common/task_contracts/tgp_natural_disaster_contracts.txt +++ /dev/null @@ -1,687 +0,0 @@ -#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 = { play_sound_effect = "event:/DLC/EP3/SFX/UI/Contracts/ep3_ui_contracts_failure_on_contract" } - save_scope_as = task_contract - 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 - } - } - } - } - } -}